:root{--primary-color: #2563eb;--secondary-color: #64748b;--success-color: #10b981;--warning-color: #f59e0b;--danger-color: #ef4444;--bg-color: #f8fafc;--card-bg: #ffffff;--border-color: #e2e8f0;--text-primary: #1e293b;--text-secondary: #64748b}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased}#root{height:100vh}main h1{font-size:20px}main h2{font-size:17px}main h3{font-size:15px}.btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;font-weight:500;display:inline-flex;align-items:center;gap:6px}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:#1d4ed8}.btn-secondary{background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-color)}.btn-danger{background:var(--danger-color);color:#fff}.btn-danger:hover{background:#dc2626}.btn-sm{padding:4px 8px;font-size:12px}.input-field{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;background:var(--card-bg);width:100%}.input-field:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.select-input{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;background:var(--card-bg);min-width:120px}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.confirmed,.status-badge.approved{background:#d1fae5;color:#065f46}.status-badge.rejected{background:#fee2e2;color:#991b1b}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:8px}.gap-4{gap:16px}.gap-6{gap:24px}.w-full{width:100%}.h-full{height:100%}.text-center{text-align:center}.text-sm{font-size:14px}.text-lg{font-size:18px}.font-medium{font-weight:500}.font-bold{font-weight:700}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--card-bg);border-radius:12px;box-shadow:0 20px 40px #00000026;max-width:90vw;max-height:90vh;overflow:auto}.modal-header{padding:20px 24px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:18px;font-weight:600}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);padding:0;line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:24px}.modal-footer{padding:16px 24px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px}.data-table{width:100%;border-collapse:collapse;background:var(--card-bg)}.data-table th,.data-table td{padding:12px 16px;border-bottom:1px solid var(--border-color);text-align:left;font-size:14px}.data-table th{background:#f8fafc;font-weight:600;color:var(--text-secondary)}.data-table tbody tr:hover{background:#f8fafc}.card{background:var(--card-bg);border-radius:8px;border:1px solid var(--border-color);padding:20px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary)}.empty-state .icon{font-size:48px;margin-bottom:16px}.loading{display:flex;align-items:center;justify-content:center;padding:40px}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{background:#fee2e2;color:#991b1b;padding:12px 16px;border-radius:6px;margin-bottom:16px;font-size:14px}.success-message{background:#d1fae5;color:#065f46;padding:12px 16px;border-radius:6px;margin-bottom:16px;font-size:14px}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:16px 0;border-top:1px solid var(--border-color);margin-top:16px}.pagination-info{font-size:13px;color:var(--text-secondary);margin-right:16px}.pagination-btn{min-width:36px;height:32px;padding:0 12px;border:1px solid var(--border-color);border-radius:4px;background:var(--card-bg);color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.pagination-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-ellipsis{color:var(--text-secondary);padding:0 4px}.schedule-table-wrapper{flex:1;display:flex;flex-direction:column;padding:24px;background:var(--bg-color);overflow:hidden}.schedule-table-container{flex:1;overflow:auto;position:relative}.schedule-table{width:100%;border-collapse:collapse;background:var(--card-bg);box-shadow:0 1px 3px #0000001a;position:relative}.schedule-table th,.schedule-table td{border:1px solid var(--border-color);padding:8px;text-align:center;font-size:13px}.schedule-table thead th{background:#f8fafc;font-weight:600;position:sticky;z-index:10}.schedule-table .time-header th{background:#e0e7ff;color:var(--primary-color);font-size:14px;top:0}.schedule-table .order-volume-row th{background:#fef3c7;color:#92400e;font-size:11px;font-weight:500;top:32px}.schedule-table .time-subheader th{background:#f1f5f9;color:var(--text-secondary);font-size:12px;font-weight:500;top:63px}.schedule-table .fixed-col{position:sticky!important;background:#f8fafc!important;z-index:15!important;font-weight:600}.schedule-table thead .fixed-col{z-index:20!important}.schedule-table .time-header .fixed-col{background:#e0e7ff!important}.schedule-table .order-volume-row .fixed-col{background:#fef3c7!important}.schedule-table .time-subheader .fixed-col{background:#f1f5f9!important}.schedule-table .fixed-col-1{left:0!important}.schedule-table .fixed-col-2{left:100px!important}.schedule-table .fixed-col-3{left:250px!important}.schedule-table .fixed-col-action{right:0!important;position:sticky!important}.schedule-table tbody tr:nth-child(2n){background:#fafafa}.schedule-table tbody tr:hover{background:#f0f9ff}.schedule-table .time-cell{width:30px;min-width:30px;height:36px;padding:0;cursor:pointer;transition:background .1s;-webkit-user-select:none;user-select:none}.schedule-table .time-cell:hover{opacity:.8}.schedule-table-footer{background:var(--card-bg);box-shadow:0 -1px 3px #0000001a;position:sticky;bottom:0;z-index:10}.schedule-table-footer table{width:100%;border-collapse:collapse}.schedule-table-footer td{border:1px solid var(--border-color);padding:8px;text-align:center;font-size:13px;background:#f8fafc;font-weight:600}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}
