:root{--brand:#1d9e75;--brand-dark:#085041;--brand-light:#e8f5f0;--bg:#fafaf9;--surface:#fff;--border:#e5e7eb;--text:#111;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--success:#1d9e75;--success-bg:#e8f5f0;--warning:#b45309;--warning-bg:#fef3c7;--danger:#dc2626;--danger-bg:#fee2e2;--info:#185fa5;--info-bg:#e6f1fb;--shadow:0 1px 2px #0000000a, 0 4px 12px #0000000a;--radius:10px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}*{box-sizing:border-box}body{margin:0}#root{width:100%;min-height:100svh}.loading-screen{flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100svh;display:flex}.loading-logo{color:var(--text);letter-spacing:-.5px;font-size:28px;font-weight:700}.loading-logo span{color:var(--brand)}.loading-dot{background:var(--brand);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.login-screen{justify-content:center;align-items:center;height:100svh;padding:24px;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:360px;box-shadow:var(--shadow);padding:32px}.login-logo{color:var(--text);text-align:center;margin-bottom:4px;font-size:22px;font-weight:700}.login-logo span{color:var(--brand)}.login-sub{color:var(--text-secondary);text-align:center;margin-bottom:24px;font-size:13px}.login-input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:8px;margin-bottom:12px;padding:10px 12px;font-family:inherit;font-size:14px}.login-input:focus{border-color:var(--brand);outline:none}.login-btn{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:4px;padding:11px 0;font-size:14px;font-weight:600}.login-btn:hover{background:var(--brand-dark)}.login-error{color:var(--danger);margin-bottom:12px;font-size:13px}.dashboard{align-items:stretch;width:100%;min-height:100svh;display:flex}.main{flex-direction:column;flex:1;min-width:0;min-height:100svh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:20px;width:240px;min-height:100svh;padding:24px 16px;display:flex}.sidebar-header{flex-direction:column;gap:6px;padding:0 8px;display:flex}.logo{color:var(--text);letter-spacing:-.3px;font-size:18px;font-weight:700}.logo span{color:var(--brand)}.loc-pill{color:var(--text-tertiary);font-size:12px}.nav-tabs{flex-wrap:wrap;gap:4px;padding:0 8px;display:flex}.nav-tab{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:7px 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,color .15s,border-color .15s}.nav-tab:hover{border-color:var(--brand);color:var(--brand)}.nav-tab.active{background:var(--brand);border-color:var(--brand);color:#fff}.section-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;padding:0 8px;font-size:11px;font-weight:600}.driver-list{flex-direction:column;gap:4px;display:flex}.empty-drivers{color:var(--text-tertiary);margin:0;padding:0 8px;font-size:12px}.driver-card{cursor:pointer;border-radius:8px;padding:8px;transition:background .15s}.driver-card:hover{background:var(--bg)}.driver-card.selected{background:var(--brand-light)}.driver-card.selected .driver-name{color:var(--brand-dark);font-weight:600}.driver-top{align-items:center;gap:10px;display:flex}.driver-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:flex}.driver-info{flex:1;min-width:0}.driver-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dot-active{background:var(--brand)}.top-bar{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:24px 32px;display:flex}.top-left{flex-direction:column;gap:6px;display:flex}.page-title{color:var(--text);letter-spacing:-.3px;font-size:22px;font-weight:700}.top-stats{gap:16px;display:flex}.top-stat{color:var(--text-secondary);font-size:13px}.top-stat strong{color:var(--text);font-weight:700}.top-actions{gap:8px;display:flex}.btn{background:var(--brand);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:600}.btn:hover{background:var(--brand-dark)}.btn-danger-outline{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border)}.btn-danger-outline:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-bg)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:600}.btn-secondary:hover{border-color:var(--text-secondary)}.content{flex:1;padding:28px 32px}.lower{grid-template-columns:1fr 320px;align-items:start;gap:20px;margin-top:20px;display:grid}.metric-strip{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;display:grid}.metric{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.metric-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:12px;font-weight:600}.metric-value{color:var(--text);letter-spacing:-.5px;font-size:28px;font-weight:700}.metric-value.brand{color:var(--brand)}.metric-sub{color:var(--text-tertiary);margin-top:4px;font-size:12px}.metric-sub.good{color:var(--success)}.metric-sub.warn{color:var(--warning)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:12px;font-weight:600}.stat-value{color:var(--text);letter-spacing:-.5px;font-size:28px;font-weight:700}.stat-value.brand{color:var(--brand)}.stat-sub{color:var(--text-tertiary);margin-top:4px;font-size:12px}.orders-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.panel-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:16px 20px;display:flex}.panel-title{color:var(--text);font-size:14px;font-weight:600}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.activity-feed{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px}.activity-feed .panel-title,.activity-title{color:var(--text);margin-bottom:12px;font-size:14px;font-weight:600}.activity-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:10px 0;font-size:13px;display:flex}.activity-item:last-child{border-bottom:none}.activity-dot{background:var(--brand);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}.activity-dot.danger,.activity-dot.failed{background:var(--danger)}.activity-text{color:var(--text);flex:1}.activity-time{color:var(--text-tertiary);white-space:nowrap;font-size:12px}.activity-empty{color:var(--text-tertiary);text-align:center;padding:16px 0;font-size:13px}.filter-row{flex-wrap:wrap;gap:8px;display:flex}.filter-chip{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:100px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,color .15s,border-color .15s}.filter-chip:hover{border-color:var(--brand);color:var(--brand)}.filter-chip.active{background:var(--brand);border-color:var(--brand);color:#fff}.order-list{background:var(--surface)}.order-header-row,.order-row{grid-template-columns:90px 1fr 140px 110px 90px 110px;align-items:center;gap:12px;padding:12px 20px;display:grid}.order-header-row{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;background:var(--bg);border-bottom:1px solid var(--border);font-size:11px;font-weight:600}.order-row{border-bottom:1px solid var(--border);font-size:13px}.order-row:last-child{border-bottom:none}.order-row:hover{background:var(--bg)}.order-id{color:var(--text-tertiary);font-family:ui-monospace,Consolas,monospace;font-size:12px}.order-addr{min-width:0}.order-street{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.order-city{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.order-driver{color:var(--text-secondary)}.order-eta{color:var(--text-secondary);font-size:12px}.col-action{justify-content:flex-end;gap:6px;display:flex}.empty-orders{text-align:center;color:var(--text-tertiary);padding:32px 20px;font-size:13px}.badge{border-radius:100px;align-items:center;width:fit-content;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-delivered{background:var(--success-bg);color:var(--success)}.badge-transit{background:var(--info-bg);color:var(--info)}.badge-pending{color:var(--text-secondary);background:#f0f0f0}.badge-failed{background:var(--danger-bg);color:var(--danger)}.row-action{color:var(--brand);border:1px solid var(--border);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:5px 10px;font-family:inherit;font-size:12px;font-weight:600;text-decoration:none}.row-action:hover{border-color:var(--brand);background:var(--brand-light)}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border-radius:16px;width:100%;max-width:520px;max-height:90vh;padding:24px;overflow-y:auto;box-shadow:0 24px 64px #0003}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-title{color:var(--text);font-size:16px;font-weight:700}.modal-close{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1}.modal-close:hover{color:var(--text)}.modal-form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:8px;padding:9px 12px;font-family:inherit;font-size:14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);outline:none}.modal-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.btn-primary{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:9px 18px;font-family:inherit;font-size:13px;font-weight:600}.btn-primary:hover{background:var(--brand-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.modal-actions .btn{background:var(--surface);color:var(--text);border:1px solid var(--border)}.modal-actions .btn:hover{border-color:var(--text-secondary);background:var(--bg)}.modal-actions .btn.btn-primary{background:var(--brand);color:#fff;border:none}.modal-actions .btn.btn-primary:hover{background:var(--brand-dark)}.form-group{margin-bottom:14px}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.form-input,.form-select,.form-textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:8px;padding:9px 12px;font-family:inherit;font-size:14px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--brand);outline:none}.map-container{border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.pay-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.pay-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.pay-name{color:var(--text);margin-bottom:8px;font-size:14px;font-weight:600}.pay-amount{color:var(--brand);letter-spacing:-.5px;font-size:24px;font-weight:700}.pay-detail{color:var(--text-secondary);margin-top:4px;font-size:12px}@media (width<=1024px){.lower{grid-template-columns:1fr}}@media (width<=900px){.dashboard{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%}.top-bar,.content{padding:20px}.order-header-row,.order-row{grid-template-columns:1fr;gap:4px}.order-header-row{display:none}.order-row{padding:14px 16px}.col-action{justify-content:flex-start;margin-top:6px}}
