:root{--bg:#0f172a;--surface:#1e293b;--surface-2:#273449;--border:#334155;--text:#e2e8f0;--muted:#94a3b8;--primary:#2563eb;--primary-hover:#1d4ed8;--green:#22c55e;--orange:#f59e0b;--red:#ef4444;--radius:12px;font-family:Segoe UI,Tahoma,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);direction:rtl}a{color:var(--primary);text-decoration:none}button{cursor:pointer;font-family:inherit}.app{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;gap:6px;width:230px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.brand{color:#fff;padding:10px 12px 18px;font-size:18px;font-weight:800}.brand small{color:var(--muted);margin-top:4px;font-size:12px;font-weight:400;display:block}.nav-link{color:var(--muted);border-radius:10px;align-items:center;gap:10px;padding:11px 14px;font-size:15px;font-weight:600;display:flex}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.active{background:var(--primary);color:#fff}.sidebar .spacer{flex:1}.content{flex:1;padding:26px 30px;overflow-x:auto}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.page-head h1{margin:0;font-size:24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.btn{background:var(--primary);color:#fff;border:none;border-radius:10px;padding:11px 18px;font-size:15px;font-weight:700;transition:all .15s}.btn:hover{background:var(--primary-hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{background:var(--surface-2);border:1px solid var(--border)}.btn.danger{background:var(--red)}.btn.ghost{border:1px solid var(--border);color:var(--text);background:0 0}.btn.sm{border-radius:8px;padding:7px 12px;font-size:13px}.form-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--muted);font-size:13px;font-weight:600}.field input,.field select,.field textarea{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:10px;width:100%;padding:11px 12px;font-family:inherit;font-size:15px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--primary);border-color:#0000}.field .hint{color:var(--muted);font-size:12px}.table-wrap{overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:14px}table.data th,table.data td{text-align:right;border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 10px}table.data th{color:var(--muted);background:var(--surface-2);font-size:13px;font-weight:700;position:sticky;top:0}table.data tr:hover td{background:#ffffff05}.badge{color:#fff;border-radius:999px;padding:4px 11px;font-size:12px;font-weight:700;display:inline-block}.chip{background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.combo{position:relative}.combo-list{z-index:30;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;max-height:240px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 30px #0006}.combo-item{cursor:pointer;justify-content:space-between;gap:8px;padding:10px 12px;display:flex}.combo-item:hover,.combo-item.hl{background:var(--primary);color:#fff}.combo-item .region{color:var(--muted);font-size:12px}.combo-add{color:var(--green);font-weight:700}.login-wrap{place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{width:100%;max-width:380px}.login-card h1{text-align:center;margin:0 0 4px}.app-hero{object-fit:cover;border-radius:12px;width:100%;height:160px;margin-bottom:16px;box-shadow:0 6px 18px #00000059}.login-card p.sub{text-align:center;color:var(--muted);margin:0 0 22px}.apk-cta{text-align:center;width:100%;max-width:380px;margin-top:18px}.apk-btn{color:#fff;box-sizing:border-box;background:#16a34a;justify-content:center;align-items:center;gap:8px;width:100%;text-decoration:none;display:flex}.apk-btn:hover{background:#15803d}.apk-hint{margin:10px 2px 0;font-size:12px;line-height:1.7}.map-shell{border-radius:var(--radius);border:1px solid var(--border);height:calc(100vh - 160px);min-height:420px;overflow:hidden}.leaflet-container{width:100%;height:100%}.driver-list{gap:10px;display:grid}.driver-row{background:var(--surface-2);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:12px;display:flex}.dot{background:var(--green);border-radius:50%;width:10px;height:10px;display:inline-block}.dot.stale{background:var(--muted)}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.muted{color:var(--muted)}.error{border:1px solid var(--red);color:#fecaca;background:#ef44441f;border-radius:10px;padding:12px 14px;font-size:14px}.success{border:1px solid var(--green);color:#bbf7d0;background:#22c55e1f;border-radius:10px;padding:12px 14px;font-size:14px}.warn-banner{border:1px solid var(--orange);color:#fde68a;background:#f59e0b1f;border-radius:10px;margin-bottom:18px;padding:14px 16px;font-size:14px;line-height:1.7}.empty{text-align:center;color:var(--muted);padding:60px 20px}.modal-back{z-index:100;background:#0009;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:100%;max-width:460px;max-height:90vh;overflow-y:auto}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-bottom:22px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.stat .n{font-size:26px;font-weight:800}.stat .l{color:var(--muted);margin-top:4px;font-size:13px}@media (width<=980px){.content{padding:20px}}@media (width<=760px){.app{flex-direction:column}.sidebar{z-index:40;-webkit-overflow-scrolling:touch;border-left:none;border-bottom:1px solid var(--border);flex-flow:row;align-items:center;gap:4px;width:100%;height:auto;padding:8px 10px;position:sticky;top:0;overflow-x:auto}.sidebar::-webkit-scrollbar{height:0}.brand{white-space:nowrap;padding:6px 10px;font-size:16px}.brand small{display:none}.nav-link{white-space:nowrap;flex-shrink:0;padding:9px 13px;font-size:14px}.sidebar .spacer{display:none}.sidebar .btn{white-space:nowrap;flex-shrink:0}.content{padding:16px 14px}.page-head h1{font-size:20px}table.data{font-size:13px}table.data th,table.data td{padding:10px 8px}}@media (width<=420px){.content{padding:12px 10px}.card{padding:14px}.page-head h1{font-size:18px}.stat .n{font-size:22px}}
