:root{--bg:#eef2f5;--surface:#fff;--surface-soft:#f7f9fb;--border:#d8e0e7;--border-strong:#b8c5cf;--text:#202a38;--muted:#637381;--brand-navy:#202a38;--brand-green:#2ecc71;--teal:#2ecc71;--teal-dark:#1fa95a;--blue:#2563eb;--green:#15803d;--amber:#b45309;--rose:#be123c;--slate:#475569;--violet:#6d28d9;--shadow:0 18px 60px #0f172a1f}.shared-trip-page{direction:rtl;background:radial-gradient(circle at 15% 10%,#47d79733,#0000 35%),linear-gradient(145deg,#071522,#10273a);place-items:center;min-height:100dvh;padding:24px;display:grid}.shared-trip-card{color:#101d2d;background:#fffffff5;border-radius:30px;width:min(100%,540px);padding:clamp(24px,6vw,42px);box-shadow:0 28px 80px #00000047}.shared-trip-loading{text-align:center}.shared-trip-brand{color:#087949;justify-content:space-between;align-items:center;font-size:1.4rem;font-weight:800;display:flex}.shared-trip-card h1{margin:8px 0 22px;font-size:clamp(1.7rem,7vw,2.5rem);line-height:1.25}.shared-trip-spinner{border:4px solid #d8e5df;border-top-color:#087949;border-radius:50%;width:34px;height:34px;animation:.9s linear infinite shared-trip-spin;display:inline-block}@keyframes shared-trip-spin{to{transform:rotate(360deg)}}.shared-trip-eta{color:#087949;background:#e7f8ef;border-radius:18px;grid-template-columns:auto 1fr;gap:2px 10px;padding:18px;display:grid}.shared-trip-eta svg{grid-row:1/3;align-self:center}.shared-trip-eta strong{font-size:1.35rem}.shared-trip-eta span{color:#426555}.shared-trip-driver{border:1px solid #dce4e0;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:16px 0;padding:14px;display:grid}.shared-trip-driver div:nth-child(2){display:grid}.shared-trip-driver small,.shared-trip-route small{color:#687781}.shared-trip-avatar{color:#fff;background:linear-gradient(135deg,#0b8150,#48d796);border-radius:50%;place-items:center;width:48px;height:48px;font-weight:800;display:grid}.shared-trip-avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.shared-trip-plate{color:#fff;direction:ltr;background:#a81e2f;border:2px solid #f7f7f2;border-radius:7px;padding:7px 10px;font-weight:700}.shared-trip-route{gap:15px;margin:22px 0;display:grid}.shared-trip-route>div{align-items:flex-start;gap:11px;display:flex}.shared-trip-route>div>span{gap:2px;display:grid}.shared-trip-map{justify-content:center;text-decoration:none;display:flex}.shared-trip-footnote{color:#687781;text-align:center;margin:18px 0 0;font-size:.83rem}@font-face{font-family:IBM Plex Sans Arabic;src:url(/fonts/IBMPlexSansArabic-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Sans Arabic;src:url(/fonts/IBMPlexSansArabic-Medium.ttf)format("truetype");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:IBM Plex Sans Arabic;src:url(/fonts/IBMPlexSansArabic-SemiBold.ttf)format("truetype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:IBM Plex Sans Arabic;src:url(/fonts/IBMPlexSansArabic-Bold.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}*{box-sizing:border-box}html,body{scroll-behavior:smooth;width:100%;max-width:100vw;min-height:100%;overflow-x:clip}body{background:var(--bg);color:var(--text);margin:0;font-family:Noto Sans Arabic,IBM Plex Sans Arabic,Segoe UI,system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.login-page{background:linear-gradient(135deg, #2ecc7124, transparent 42%), radial-gradient(circle at 20% 20%, #202a381a, transparent 30%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel,.session-panel{border:1px solid var(--border);width:min(100%,430px);box-shadow:var(--shadow);background:#fffffff0;border-radius:8px;padding:28px}.session-panel{justify-items:start;gap:12px;display:grid}.session-panel h1,.session-panel p{margin:0}.brand-lockup,.sidebar-brand{align-items:center;gap:12px;display:flex}.brand-mark{border-radius:8px;flex:0 0 42px;width:42px;height:42px;box-shadow:0 8px 22px #202a3829}.eyebrow{color:var(--muted);text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:700}.brand-lockup h1,.topbar h1,.section-head h2{margin:0;line-height:1.2}.brand-lockup h1{font-size:28px}.login-form{gap:16px;margin-top:28px;display:grid}.field{color:var(--text);gap:8px;font-size:14px;font-weight:700;display:grid}.input-wrap{border:1px solid var(--border);background:var(--surface-soft);min-height:46px;color:var(--muted);border-radius:8px;align-items:center;gap:10px;padding:0 12px;display:flex}.input-wrap:focus-within{border-color:var(--teal);background:#fff;box-shadow:0 0 0 3px #2ecc7124}.input-wrap input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-weight:600}.form-error,.inline-alert,.inline-success{border-radius:8px;margin:0}.form-error,.inline-alert{color:#9f1239;background:#be123c14;border:1px solid #be123c40}.form-error{padding:10px 12px;font-size:13px}.primary-button,.demo-button,.ghost-button,.icon-button,.nav-item{border:0;border-radius:8px}.primary-button,.demo-button,.ghost-button{justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:800;display:inline-flex}.primary-button{background:var(--teal);color:#fff}.primary-button:hover:not(:disabled){background:var(--teal-dark)}.primary-button:disabled{opacity:.72}.demo-button{color:var(--brand-navy);background:#202a380f;border:1px dashed #202a3859}.demo-button:hover:not(:disabled){border-color:var(--teal);background:#2ecc711f}.demo-button:disabled{opacity:.72}.ghost-button{color:var(--teal);background:0 0}.ghost-button:hover:not(:disabled){background:#2ecc711a}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.boot-screen{place-items:center;min-height:100vh;display:grid}.pulse-dot{background:var(--teal);border-radius:50%;width:14px;height:14px;animation:1.1s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.45;transform:scale(1.9)}}.admin-frame{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{border-left:1px solid var(--border);background:#fbfcfd;padding:20px 16px}.sidebar-brand strong{font-size:16px;display:block}.nav-list{gap:6px;margin-top:28px;display:grid}.nav-item{width:100%;min-height:42px;color:var(--muted);text-align:right;background:0 0;align-items:center;gap:10px;padding:0 12px;display:flex}.nav-item.active{color:var(--brand-navy);background:#2ecc7124;font-weight:800}.nav-item:disabled:not(.active){opacity:.62}.admin-main{min-width:0}.topbar{border-bottom:1px solid var(--border);background:#ffffffe0;justify-content:space-between;align-items:center;gap:16px;min-height:82px;padding:16px 24px;display:flex}.topbar h1{font-size:24px}.topbar-actions{align-items:center;gap:10px;display:flex}.profile-pill{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:2px;min-width:160px;padding:8px 12px;display:grid}.profile-pill span,.profile-pill small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-pill span{font-size:14px;font-weight:800}.profile-pill small,.muted{color:var(--muted)}.icon-button{border:1px solid var(--border);background:var(--surface);width:42px;height:42px;color:var(--text);place-items:center;display:grid}.icon-button:hover{border-color:var(--border-strong);background:var(--surface-soft)}.content-area{padding:24px}.overview-grid,.page-stack{gap:18px;display:grid}.section-head,.panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-head h2{font-size:22px}.section-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;display:flex}.status-chip{min-height:30px;color:var(--teal-dark);background:#2ecc711a;border:1px solid #2ecc7138;border-radius:8px;align-items:center;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.inline-alert{align-items:center;gap:8px;padding:10px 12px;display:flex}.inline-success{width:fit-content;color:var(--green);background:#15803d14;border:1px solid #15803d40;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:800;display:flex}.metric-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.metric-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-content:space-between;min-height:126px;padding:14px;display:grid}.metric-icon{color:#fff;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.metric-card span{color:var(--muted);font-size:13px;font-weight:700;display:block}.metric-card strong{margin-top:5px;font-size:clamp(22px,3vw,30px);line-height:1.1;display:block}.tone-blue .metric-icon{background:var(--blue)}.tone-green .metric-icon{background:var(--green)}.tone-amber .metric-icon{background:var(--amber)}.tone-rose .metric-icon{background:var(--rose)}.tone-slate .metric-icon{background:var(--slate)}.tone-violet .metric-icon{background:var(--violet)}.overview-panels{grid-template-columns:minmax(0,1.6fr) minmax(280px,.9fr);gap:12px;display:grid}.live-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.small-stat{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:4px 10px;min-height:76px;padding:12px;display:grid}.small-stat svg{color:var(--teal);grid-row:span 2}.small-stat span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.small-stat strong{text-overflow:ellipsis;white-space:nowrap;font-size:19px;line-height:1.1;overflow:hidden}.map-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,.65fr);gap:12px;display:grid}.panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:0;padding:16px}.panel-head{margin-bottom:14px}.panel-head h3{margin:0;font-size:16px}.panel-head span{color:var(--muted);font-size:13px;font-weight:700}.chart-wrap{width:100%;min-height:260px}.map-panel{min-height:560px;padding:0;position:relative;overflow:hidden}.live-map-canvas{width:100%;min-height:560px}.map-loading{color:var(--muted);background:#f7f9fbd1;place-items:center;font-size:14px;font-weight:800;display:grid;position:absolute;inset:0}.map-route-loading{z-index:1;border:1px solid var(--border);color:var(--text);background:#fffffff0;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:900;position:absolute;top:14px;left:14px;box-shadow:0 8px 24px #0f172a1f}.map-legend{border:1px solid var(--border);background:#ffffffeb;border-radius:8px;gap:8px;padding:8px 10px;display:flex;position:absolute;bottom:14px;right:14px;box-shadow:0 8px 24px #0f172a1f}.map-legend span{color:var(--text);align-items:center;gap:6px;font-size:12px;font-weight:900;display:inline-flex}.legend-dot{border:2px solid #fff;border-radius:50%;width:13px;height:13px;display:inline-block;box-shadow:0 2px 8px #0f172a33}.legend-line{background:var(--brand-navy);border-radius:999px;width:24px;height:4px;display:inline-block;box-shadow:0 0 0 2px #fff,0 2px 8px #0f172a33}.legend-vehicle{background:var(--teal)}.legend-zone{background:var(--brand-navy)}.legend-zone-nearest{background:var(--amber)}.map-marker{color:#fff;border:2px solid #fff;place-items:center;font-weight:900;display:grid;position:relative;box-shadow:0 8px 22px #0f172a3d}.vehicle-map-marker{background:var(--teal);border-radius:8px;width:34px;height:34px}.vehicle-map-marker:after{content:"";border-left:5px solid #0000;border-right:5px solid #0000;border-bottom:8px solid var(--teal);width:0;height:0;transform:rotate(var(--heading));transform-origin:50% 22px;position:absolute;top:-8px}.passenger-zone-marker{background:var(--amber);border-radius:50%;width:32px;height:32px;font-size:13px}.map-side-panel{align-self:stretch}.map-side-panel>.panel-head:first-child{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.map-side-panel>.panel-head:first-child small{color:var(--muted);margin-top:4px;font-size:11px;font-weight:700;display:block}.map-route-search{border:1px solid var(--border);background:var(--surface-soft);min-height:42px;color:var(--muted);border-radius:8px;align-items:center;gap:8px;margin-bottom:10px;padding:0 11px;display:flex}.map-route-search:focus-within{border-color:var(--teal);background:#fff;box-shadow:0 0 0 3px #2ecc711f}.map-route-search input{width:100%;min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;font-size:13px;font-weight:700}.map-route-search button{width:28px;height:28px;color:var(--muted);background:0 0;border:0;border-radius:6px;flex:0 0 28px;place-items:center;display:grid}.map-route-search button:hover{color:var(--text);background:#0f172a0f}.route-map-list{scrollbar-width:thin;gap:8px;max-height:430px;padding-left:3px;display:grid;overflow-y:auto}.map-list-empty{border:1px dashed var(--border);color:var(--muted);text-align:center;border-radius:8px;margin:0;padding:22px 12px;font-size:12px;font-weight:800}.route-map-row{border:1px solid var(--border);width:100%;min-height:62px;color:inherit;text-align:right;background:#fff;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;display:grid}.route-map-row:hover{border-color:var(--teal);background:#1b5e8b12}.route-map-row div{min-width:0}.route-map-row strong,.route-map-row span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.route-map-row strong{font-size:14px}.route-map-row span{color:var(--muted);font-size:12px;font-weight:800}.route-color-line{border-radius:999px;width:34px;height:5px;display:block;position:relative;box-shadow:0 0 0 3px #fff,0 2px 8px #0f172a29}.route-color-line:after{content:"";border-top:5px solid #0000;border-bottom:5px solid #0000;border-right:8px solid;width:0;height:0;position:absolute;top:50%;left:-1px;transform:translateY(-50%)}.vehicle-list{gap:8px;display:grid}.vehicle-row{border:1px solid var(--border);background:var(--surface-soft);width:100%;min-height:62px;color:inherit;text-align:right;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.vehicle-row:hover{border-color:var(--teal);background:#2ecc7117}.vehicle-row div{flex:1;min-width:0}.vehicle-row strong,.vehicle-row span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.vehicle-row strong{font-size:14px}.vehicle-row span,.vehicle-row small{color:var(--muted);font-size:12px;font-weight:800}.zone-head{margin-top:18px}.zone-row small{color:var(--amber)}.wait-dot{background:var(--brand-navy);color:#fff;border:3px solid #fff;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:14px;font-weight:900;display:grid;box-shadow:0 4px 12px #0f172a38}.wait-dot.nearest{background:#ff5722;box-shadow:0 0 0 6px #ff572224}.routes-toolbar{padding:14px}.route-builder-panel{gap:14px;display:grid}.route-builder-panel .panel-head{align-items:flex-start;margin:0}.route-builder-panel .panel-head h3,.route-builder-panel .panel-head span{margin:0}.route-builder-panel .panel-head span{color:var(--muted);font-size:12px;font-weight:800}.route-builder-grid{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);align-items:stretch;gap:14px;display:grid}.route-builder-form{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px;display:grid}.route-builder-form .field:first-child,.route-builder-form .field:nth-child(2),.builder-actions{grid-column:1/-1}.builder-actions{flex-wrap:wrap;gap:8px;display:flex}.route-endpoint-box{border:1px solid var(--border);background:var(--surface-soft);border-radius:8px;grid-column:1/-1;gap:10px;padding:12px;display:grid}.endpoint-toggle{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.endpoint-toggle button{border:1px solid var(--border);min-height:40px;color:var(--text);background:#fff;border-radius:8px;font-weight:900}.endpoint-toggle button.active{border-color:var(--teal);color:var(--teal-dark);background:#2ecc711f}.endpoint-status{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.endpoint-status span{min-height:34px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:800;overflow:hidden}.route-options-list{grid-column:1/-1;gap:8px;max-height:220px;display:grid;overflow:auto}.route-option-row{border:1px solid var(--border);width:100%;min-height:58px;color:inherit;text-align:right;background:#fff;border-radius:8px;gap:4px;padding:10px 12px;display:grid}.route-option-row:hover,.route-option-row.active{border-color:var(--teal);background:#1b5e8b12}.route-option-row strong,.route-option-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.route-option-row strong{font-size:13px}.route-option-row span{color:var(--muted);font-size:12px;font-weight:800}.route-map-editor{border:1px solid var(--border);background:var(--surface-soft);border-radius:8px;min-height:520px;position:relative;overflow:hidden}.route-builder-map{width:100%;min-height:520px}.route-editor-toolbar{border:1px solid var(--border);background:#fffffff0;border-radius:8px;align-items:center;gap:6px;padding:7px;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 8px 24px #0f172a24}.route-editor-toolbar span,.route-editor-toolbar button{border-radius:8px;justify-content:center;align-items:center;gap:5px;min-height:32px;font-size:12px;font-weight:900;display:inline-flex}.route-editor-toolbar span{color:var(--teal-dark);padding:0 8px}.route-editor-toolbar button{color:var(--teal-dark);background:#2ecc711a;border:0;padding:0 10px}.route-editor-toolbar button:hover:not(:disabled){background:#2ecc712e}.route-editor-toolbar button:disabled{opacity:.45}.routes-filter-form{grid-template-columns:minmax(220px,1fr) minmax(150px,.35fr) minmax(150px,.35fr) auto;align-items:end;gap:12px;display:grid}.compact-field{gap:6px}.compact-field input,.compact-field select{border:1px solid var(--border);background:var(--surface-soft);width:100%;min-height:46px;color:var(--text);border-radius:8px;outline:0;padding:0 12px}.compact-field input:focus,.compact-field select:focus{border-color:var(--teal);background:#fff;box-shadow:0 0 0 3px #2ecc7124}.toolbar-actions{gap:8px;display:flex}.compact-button{white-space:nowrap;min-height:46px}.routes-table-panel{padding:0}.routes-table-panel .panel-head{border-bottom:1px solid var(--border);margin:0;padding:16px}.table-scroll{overflow-x:auto}.table-pagination{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;font-size:13px;font-weight:800;display:flex}.pagination-actions{align-items:center;gap:10px;display:flex}.pagination-actions strong{min-width:92px;color:var(--text);text-align:center}.pagination-actions button:disabled{cursor:not-allowed;opacity:.45}.admin-table{border-collapse:collapse;width:100%;min-width:940px}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);text-align:right;vertical-align:middle;padding:14px 16px}.admin-table th{background:var(--surface-soft);color:var(--muted);font-size:12px;font-weight:900}.admin-table td{font-size:14px}.admin-table tr:last-child td{border-bottom:0}.route-name-cell{gap:3px;max-width:280px;display:grid}.route-name-cell strong,.route-name-cell span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.route-name-cell span{color:var(--muted);text-align:right;direction:ltr;font-size:12px}.status-badge{border-radius:8px;align-items:center;min-height:28px;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.status-active{color:var(--green);background:#15803d1a}.status-inactive{color:var(--slate);background:#4755691f}.status-unverified{color:var(--amber);background:#b453091f}.confidence-cell{gap:6px;min-width:96px;display:grid}.confidence-cell span{color:var(--text);font-size:12px;font-weight:900}.confidence-track{background:#e2e8f0;border-radius:999px;height:7px;overflow:hidden}.confidence-track span{border-radius:inherit;background:var(--teal);height:100%;display:block}.route-rank-list{gap:8px;display:grid}.route-rank-row{border:1px solid var(--border);background:var(--surface-soft);border-radius:8px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:42px;padding:0 10px;display:grid}.rank-number{width:26px;height:26px;color:var(--teal-dark);background:#2ecc711f;border-radius:8px;place-items:center;font-size:12px;font-weight:900;display:grid}.rank-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}@media (max-width:1180px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.live-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-layout,.route-builder-grid,.routes-filter-form{grid-template-columns:1fr}.toolbar-actions{justify-content:flex-start}}@media (max-width:900px){.admin-frame{grid-template-columns:1fr}.sidebar{z-index:2;border-bottom:1px solid var(--border);border-left:0;padding:12px;position:sticky;top:0}.sidebar-brand{display:none}.nav-list{gap:8px;margin-top:0;padding-bottom:2px;display:flex;overflow-x:auto}.nav-item{white-space:nowrap;flex:none;width:auto}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{width:100%}.profile-pill{flex:1;min-width:0}.overview-panels{grid-template-columns:1fr}.map-panel,.live-map-canvas,.route-map-editor,.route-builder-map{min-height:460px}}@media (max-width:680px){.content-area{padding:16px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.live-summary-grid{grid-template-columns:1fr}.login-panel,.session-panel{padding:20px}.route-builder-form,.endpoint-status{grid-template-columns:1fr}.route-editor-toolbar{flex-wrap:wrap;justify-content:center;left:8px;right:8px}.brand-lockup h1{font-size:24px}}@media (max-width:460px){.metric-grid{grid-template-columns:1fr}.section-head{flex-direction:column;align-items:flex-start}}.filter-tabs{flex-wrap:wrap;gap:8px;display:flex}.tab-chip{border:1px solid var(--border);background:var(--surface);min-height:34px;color:var(--muted);border-radius:999px;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:800;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.tab-chip:hover{border-color:var(--border-strong);color:var(--text)}.tab-chip.active{color:var(--teal-dark);background:#2ecc711f;border-color:#2ecc7166}.tab-count{background:var(--rose);color:#fff;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:900;display:grid}.empty-state{border:1px dashed var(--border-strong);background:var(--surface-soft);color:var(--muted);text-align:center;border-radius:8px;margin:0;padding:26px 16px;font-size:14px;font-weight:700}.report-description{max-width:320px;color:var(--text);white-space:normal;font-size:13px;line-height:1.6}.report-status-pending{color:var(--amber);background:#b453091f}.report-status-approved{color:var(--green);background:#15803d1a}.report-status-rejected{color:var(--rose);background:#be123c1a}.row-actions{gap:6px;display:flex}.approve-button,.reject-button{border-radius:8px;align-items:center;gap:5px;min-height:32px;padding:0 10px;font-size:12px;font-weight:900;transition:filter .15s;display:inline-flex}.approve-button{color:var(--green);background:#15803d1a;border:1px solid #15803d4d}.reject-button{color:var(--rose);background:#be123c14;border:1px solid #be123c47}.approve-button:hover:not(:disabled),.reject-button:hover:not(:disabled){filter:brightness(.94)}.approve-button:disabled,.reject-button:disabled{opacity:.55}.online-dot{background:var(--brand-green);border-radius:999px;width:8px;height:8px;margin-inline-end:6px;box-shadow:0 0 0 3px #2ecc7138}.drivers-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.private-booking-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.private-bookings-layout{grid-template-columns:minmax(0,1.7fr) minmax(320px,.62fr);align-items:start;gap:12px;display:grid}.private-bookings-table{min-width:1080px}.private-trip-cell span{direction:rtl}.selected-row td{background:#2ecc710e}.row-open-button{min-height:32px;padding:0 11px;font-size:12px}.booking-status-requested,.booking-status-quoted{color:var(--amber);background:#b453091f}.booking-status-confirmed,.booking-status-assigned{color:var(--blue);background:#2563eb1a}.booking-status-in_progress{color:var(--violet);background:#6d28d91a}.booking-status-completed{color:var(--green);background:#15803d1a}.booking-status-cancelled,.booking-status-no_show{color:var(--rose);background:#be123c1a}.booking-status-expired{color:var(--slate);background:#4755691f}.booking-operations{gap:14px;max-height:calc(100vh - 116px);display:grid;position:sticky;top:92px;overflow-y:auto}.booking-operations-empty{min-height:240px;color:var(--muted);text-align:center;align-content:center;justify-items:center}.booking-operations-empty h3,.booking-operations-empty p{margin:0}.booking-operations-empty p{max-width:260px;font-size:13px;line-height:1.7}.booking-operations-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.booking-operations-head h3{margin:0;font-size:18px}.booking-summary-card{background:#2ecc7112;border:1px solid #2ecc7138;border-radius:8px;gap:5px;padding:13px;display:grid}.booking-summary-card span,.booking-summary-card small{color:var(--muted);font-size:12px;font-weight:700}.booking-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.booking-facts div{border:1px solid var(--border);background:var(--surface-soft);border-radius:8px;gap:4px;padding:10px;display:grid}.booking-facts dt{color:var(--muted);font-size:11px;font-weight:800}.booking-facts dd{margin:0;font-size:13px;font-weight:900}.booking-action-form{border-top:1px solid var(--border);gap:10px;padding-top:14px;display:grid}.booking-action-form h4,.booking-action-form p{margin:0}.booking-action-form h4{font-size:14px}.booking-action-form p{color:var(--muted);font-size:12px;line-height:1.6}.booking-action-form .primary-button{min-height:42px}.pricing-preview-card{background:linear-gradient(145deg, #2ecc711c, var(--surface-soft));border:1px solid #2ecc714d;border-radius:10px;gap:10px;padding:13px;display:grid}.pricing-preview-loading{color:var(--muted);grid-template-columns:auto 1fr;align-items:center;font-size:12px;font-weight:800}.pricing-preview-loading svg{animation:1s linear infinite spin}.pricing-preview-head,.pricing-net-row,.pricing-breakdown div{justify-content:space-between;align-items:center;gap:10px;display:flex}.pricing-preview-head>div{gap:3px;display:grid}.pricing-preview-head span,.pricing-route-summary,.pricing-preview-card small,.pricing-breakdown dt{color:var(--muted);font-size:11px;font-weight:750}.pricing-preview-head strong{color:var(--green);font-size:22px}.pricing-route-summary{margin:0}.pricing-breakdown{border-block:1px solid var(--border);gap:6px;margin:0;padding-block:9px;display:grid}.pricing-breakdown dd{margin:0;font-size:11px;font-weight:850}.pricing-net-row{font-size:11px}.pricing-net-row strong{color:var(--text)}.pricing-settings-panel{border-color:#2ecc7142;gap:16px;display:grid}.pricing-settings-panel .section-head h3,.pricing-settings-panel .section-head p{margin:0}.pricing-settings-panel .section-head p:last-child{color:var(--muted);margin-top:5px;font-size:12px}.pricing-name-field{max-width:420px}.pricing-auto-toggle{border:1px solid var(--border);background:var(--surface-soft);cursor:pointer;border-radius:9px;align-items:flex-start;gap:10px;width:fit-content;padding:11px 13px;display:flex}.pricing-auto-toggle input{width:18px;height:18px;accent-color:var(--green)}.pricing-auto-toggle span{gap:3px;display:grid}.pricing-auto-toggle small{max-width:620px;color:var(--muted);line-height:1.6}.pricing-settings-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}@media (max-width:1100px){.pricing-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.pricing-settings-grid{grid-template-columns:1fr}}.booking-wide-action{justify-content:center;width:100%;min-height:40px}.danger-zone{background:#be123c09;border:1px solid #be123c2e;border-radius:8px;padding:12px}@media (max-width:1240px){.private-bookings-layout{grid-template-columns:1fr}.booking-operations{max-height:none;position:static}}@media (max-width:900px){.private-booking-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.private-booking-metrics,.booking-facts{grid-template-columns:1fr}}.role-admin{color:var(--blue);background:#2563eb1a}.role-owner{color:var(--violet);background:#6d28d91a}.role-select{border:1px solid var(--border);background:var(--surface-soft);min-height:36px;color:var(--text);border-radius:8px;padding:0 10px;font-size:13px;font-weight:700}.role-select:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #2ecc7124}.analytics-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.analytics-stats .small-stat{grid-template-columns:minmax(0,1fr)}@media (max-width:1180px){.analytics-stats,.drivers-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:700px){.analytics-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.drivers-metrics{grid-template-columns:1fr}.report-description{max-width:220px}}.map-legend img{object-fit:contain;width:18px;height:18px}.ops-alerts{flex-wrap:wrap;gap:8px;display:flex}.ops-alert{border-radius:999px;align-items:center;gap:7px;min-height:34px;padding:0 13px;font-size:13px;font-weight:800;transition:filter .15s;display:inline-flex}.ops-alert:hover{filter:brightness(.95)}.ops-alert-gap{color:var(--rose);background:#be123c1a;border:1px solid #be123c4d}.ops-alert-crowd{color:var(--amber);background:#b453091a;border:1px solid #b4530952}.ops-alert-stale{color:var(--slate);background:#4755691a;border:1px solid #4755694d}.map-toolbar{gap:8px;display:flex;position:absolute;top:14px;right:14px}.map-view-switch{border:1px solid var(--border);background:#fffffff0;border-radius:10px;gap:4px;padding:3px;display:flex;box-shadow:0 8px 24px #0f172a1f}.map-view-switch .map-tool-button{min-height:32px;box-shadow:none;border:0}.selected-route-card{background:#fffffff5;border:1px solid #2ecc715c;border-radius:10px;gap:2px;max-width:min(360px,100% - 28px);padding:10px 12px;display:grid;position:absolute;top:66px;right:14px;box-shadow:0 10px 28px #0f172a24}.selected-route-card span{color:var(--teal-dark);font-size:10px;font-weight:900}.selected-route-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.selected-route-card small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.selected-route-card.network-card{border-color:var(--border-strong)}.selected-route-card.network-route-selected{border-color:#2ecc7170}.selected-route-card button{color:var(--teal-dark);background:#2ecc7124;border:0;border-radius:6px;justify-self:start;margin-top:6px;padding:5px 9px;font-size:11px;font-weight:900}.selected-route-card button:hover{background:#2ecc7138}.map-tool-button{border:1px solid var(--border);min-height:36px;color:var(--text);background:#fffffff2;border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex;box-shadow:0 8px 24px #0f172a1f}.map-tool-button:hover{border-color:var(--border-strong)}.map-tool-active{color:var(--teal-dark);background:#2ecc7124;border-color:#2ecc7173}.map-info-window{text-align:right;gap:4px;min-width:160px;padding:4px 2px;font-family:inherit;display:grid}.map-info-window strong{color:var(--text);font-size:14px}.map-info-window span{color:var(--muted);font-size:12px;font-weight:700}.route-map-row-active{background:#2ecc711a;border-color:#2ecc7180}.route-path-hint{color:var(--amber);background:#b453091a;border:1px solid #b453094d;border-radius:999px;flex:none;padding:2px 8px;font-size:10px;font-weight:900}.route-map-row{grid-template-columns:34px minmax(0,1fr) auto}.command-trigger{border:1px solid var(--border);background:var(--surface-soft);min-height:38px;color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:700;transition:border-color .15s,color .15s;display:inline-flex}.command-trigger:hover{border-color:var(--border-strong);color:var(--text)}.command-kbd{border:1px solid var(--border-strong);background:var(--surface);min-height:20px;color:var(--muted);border-radius:5px;align-items:center;padding:0 6px;font-family:inherit;font-size:11px;font-weight:800;display:inline-flex}.command-overlay{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a6b;place-items:start center;padding-top:12vh;display:grid;position:fixed;inset:0}.command-panel{border:1px solid var(--border);background:var(--surface);width:min(100%,620px);max-height:70vh;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.command-input-row{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;gap:10px;padding:14px 16px;display:flex}.command-input-row input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:15px;font-weight:600}.command-results{padding:8px;overflow-y:auto}.command-group+.command-group{margin-top:6px}.command-group-title{color:var(--muted);text-transform:uppercase;margin:6px 8px;font-size:11px;font-weight:800}.command-item{width:100%;min-height:42px;color:var(--text);text-align:right;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 10px;font-size:14px;font-weight:600;display:flex}.command-item svg{color:var(--muted);flex:none}.command-item-active{color:var(--teal-dark);background:#2ecc711f}.command-item-active svg{color:var(--teal-dark)}.command-item-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.command-item-hint{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:45%;margin-inline-start:auto;font-size:12px;font-weight:700;overflow:hidden}.command-empty{color:var(--muted);text-align:center;margin:0;padding:26px 16px;font-weight:700}.command-footer{border-top:1px solid var(--border);background:var(--surface-soft);color:var(--muted);gap:16px;padding:8px 16px;font-size:12px;font-weight:700;display:flex}.command-footer span{align-items:center;gap:5px;display:inline-flex}.notif-wrapper,.notif-button{position:relative}.notif-badge{top:-4px;background:var(--rose);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:900;display:grid;position:absolute;inset-inline-end:-4px}.notif-dropdown{top:calc(100% + 8px);z-index:55;border:1px solid var(--border);background:var(--surface);width:min(360px,88vw);max-height:60vh;box-shadow:var(--shadow);border-radius:10px;flex-direction:column;display:flex;position:absolute;inset-inline-end:0;overflow:hidden}.notif-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px;display:flex}.notif-head span{color:var(--muted);font-size:12px;font-weight:800}.notif-empty{color:var(--muted);text-align:center;margin:0;padding:26px 16px;font-weight:700}.notif-list{padding:6px;overflow-y:auto}.notif-item{width:100%;min-height:44px;color:var(--text);text-align:right;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:6px 10px;font-size:13px;font-weight:700;line-height:1.4;display:flex}.notif-item:hover{background:var(--surface-soft)}.notif-item svg{flex:none}.note-report svg{color:var(--blue)}.note-booking svg{color:var(--violet)}.note-gap svg{color:var(--rose)}.note-crowd svg{color:var(--amber)}.note-stale svg{color:var(--slate)}@media (max-width:860px){.command-trigger span{display:none}}
