:root{--navy-950:#070f1e;--navy-900:#0c1a2e;--navy-800:#122540;--navy-700:#1a3355;--ice-300:#a8e6ff;--ice-400:#6dd3ff;--ice-500:#3ab6ee;--signal-red:#ff3b30;--signal-red-dim:#ff3b3033;--success:#34d399;--warning:#fbbf24;--text-primary:#eaf4fb;--text-muted:#8ba3bc;--text-faint:#5b7186;--border:#a8e6ff1f;--border-strong:#a8e6ff3d;--font-display:"Space Grotesk", sans-serif;--font-mono:"IBM Plex Mono", monospace;--font-body:"Inter", sans-serif;--radius:10px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--navy-950);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 15% 0,#3ab6ee14,#0000 45%);margin:0}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:600}code,.mono{font-family:var(--font-mono)}a{color:inherit}button{font-family:inherit}::selection{background:var(--signal-red-dim)}:focus-visible{outline:2px solid var(--ice-400);outline-offset:2px}.card{background:linear-gradient(180deg, var(--navy-800), var(--navy-900));border:1px solid var(--border);border-radius:var(--radius)}.btn{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:9px 16px;font-size:14px;font-weight:500;transition:transform .12s,border-color .12s,background .12s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--ice-400);color:var(--navy-950)}.btn-primary:hover{background:var(--ice-300)}.btn-ghost{border-color:var(--border-strong);color:var(--text-primary);background:0 0}.btn-ghost:hover{border-color:var(--ice-400)}.btn-danger{border-color:var(--signal-red);color:var(--signal-red);background:0 0}.btn-danger:hover{background:var(--signal-red-dim)}input,select,textarea{background:var(--navy-950);border:1px solid var(--border);color:var(--text-primary);font-size:14px;font-family:var(--font-body);border-radius:8px;width:100%;padding:9px 12px}input:focus,select:focus,textarea:focus{border-color:var(--ice-400)}table{border-collapse:collapse;width:100%;font-size:13.5px}th{text-align:left;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border);padding:10px 14px;font-size:11px}td{border-bottom:1px solid var(--border);color:var(--text-primary);padding:12px 14px}tbody tr:hover{background:#a8e6ff08}.badge{font-family:var(--font-mono);letter-spacing:.03em;border:1px solid var(--border-strong);text-transform:uppercase;border-radius:100px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;display:inline-flex}.dashboard-shell{min-height:100vh;display:flex}.dashboard-sidebar{border-right:1px solid var(--border);background:var(--navy-900);flex-direction:column;flex-shrink:0;width:232px;padding:22px 14px;display:flex}.dashboard-main{flex:1;min-width:0;max-width:1240px;padding:28px 36px}.mobile-topbar,.sidebar-overlay{display:none}.hamburger-btn{cursor:pointer;color:var(--text-primary);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:34px;padding:6px;font-size:16px;display:flex}.hamburger-btn span{background:var(--text-primary);border-radius:2px;width:18px;height:2px;display:block}.sidebar-close-btn{display:none}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}@media (width<=900px){.dashboard-shell{display:block}.mobile-topbar{z-index:20;background:var(--navy-900);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 14px;display:flex;position:sticky;top:0}.sidebar-overlay{z-index:30;background:#070f1e99;display:block;position:fixed;inset:0}.dashboard-sidebar{z-index:40;max-width:82vw;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:8px 0 24px #00000059}.dashboard-sidebar.open{transform:translate(0)}.sidebar-close-btn{display:inline-flex}.dashboard-main{max-width:100%;padding:16px 14px 32px}.report-chart-grid{grid-template-columns:1fr!important}}@media (width<=640px){.stat-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}body{font-size:14px}input,select,textarea{min-height:44px;font-size:16px}.btn{justify-content:center;min-height:42px}.technician-header{padding:12px 14px!important}.technician-main{padding:14px 12px!important}.technician-order .card{margin-bottom:12px!important;padding:14px!important}.technician-order h3{font-size:15px}.photo-grid,.mobile-form-grid{grid-template-columns:1fr!important}.card{overflow-x:auto}table{white-space:nowrap}th,td{padding:10px}}
