:root{--bg: #0a0a0a;--panel: #111318;--panel-soft: #151923;--border: #232936;--text: #f5f7fb;--muted: #b2bccf;--shadow: rgba(0,0,0,.24)}:root[data-theme=light]{--bg: #f3f5f8;--panel: #ffffff;--panel-soft: #f7f8fb;--border: #dde3ec;--text: #0f1728;--muted: #5e6b80;--shadow: rgba(16,24,40,.08)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top left,rgba(16,185,129,.12),transparent 30%),radial-gradient(circle at bottom right,rgba(59,130,246,.12),transparent 32%),var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{width:100%;min-width:0;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:16px;padding:14px 16px;line-height:1.35}textarea{resize:vertical;min-height:144px}input::placeholder,textarea::placeholder{color:var(--muted)}.app-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--border);padding:16px}.main-area{min-width:0}.topbar{position:sticky;top:0;z-index:10;display:flex;gap:16px;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--border)}.content-area{padding:24px}.panel{background:color-mix(in srgb,var(--panel) 88%,transparent)}.panel,.panel-soft,.card{border-radius:24px}.card{border:1px solid var(--border);box-shadow:0 14px 36px var(--shadow)}.panel-soft{border:1px solid var(--border);background:var(--panel-soft);padding:16px}.brand-card{display:flex;align-items:center;gap:12px;margin-bottom:20px}.brand-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:16px;background:#10b98126;color:#6ee7b7}.brand-title{font-size:1.2rem;font-weight:700}.nav-list{display:grid;gap:8px}.nav-button{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;color:var(--text);padding:14px 16px;border-radius:18px}.nav-button:hover{background:color-mix(in srgb,var(--panel-soft) 88%,transparent)}.nav-button-active{background:#10b98129;outline:1px solid rgba(16,185,129,.3);color:#6ee7b7}.nav-chevron{margin-left:auto}.live-card{margin-top:22px}.stats-mini{display:grid;gap:10px;margin-top:14px}.topbar-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.search-wrap{display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--panel);border-radius:16px;padding:0 12px;min-width:320px;flex:1 1 320px;max-width:520px}.search-wrap input{border:0;padding-left:0;padding-right:0;background:transparent;min-height:46px}.search-wrap input:focus{outline:none}.user-chip{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:999px;background:#10b98126;color:#6ee7b7;font-weight:700}.btn{border:1px solid var(--border);background:var(--panel);color:var(--text);padding:11px 14px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px}.btn-full{width:100%}.btn-secondary:hover{background:var(--panel-soft)}.btn-primary{background:#10b981;color:#04210f;border-color:#10b981;font-weight:700}.btn-primary:hover{filter:brightness(1.05)}.badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.78rem;border:1px solid transparent}.success{background:#10b98124;color:#6ee7b7;border-color:#10b98147}.warning{background:#f59e0b24;color:#fbbf24;border-color:#f59e0b47}.danger{background:#ef444424;color:#fca5a5;border-color:#ef444447}.info{background:#3b82f624;color:#93c5fd;border-color:#3b82f647}.neutral{background:#94a3b824;color:#cbd5e1;border-color:#94a3b847}.muted{color:var(--muted)}.small{font-size:.88rem}.tiny{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em}.strong{font-weight:700}.space-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.align-start{align-items:flex-start}.inline-gap{display:inline-flex;align-items:center;gap:8px}.wrap-gap{flex-wrap:wrap}.stack-md{display:grid;gap:12px}.stack-lg{display:grid;gap:20px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.section-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.grid-kpi{display:grid;gap:16px;grid-template-columns:repeat(5,minmax(0,1fr))}.grid-main{display:grid;gap:20px;grid-template-columns:1.2fr .8fr}.grid-fleet{display:grid;gap:20px;grid-template-columns:260px 1fr 340px}.grid-crew{display:grid;gap:20px;grid-template-columns:1fr 320px}.grid-defects{display:grid;gap:20px;grid-template-columns:1fr 340px}.grid-2{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{display:grid;gap:20px;grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-value{font-size:2rem;font-weight:800;margin-top:10px}.icon-box{width:38px;height:38px;display:grid;place-items:center;border-radius:14px;background:var(--panel-soft)}.tile p{margin:8px 0 0}.feed-item,.tile{min-height:96px}.feed-message{margin:8px 0 6px;font-weight:600}.table-card{overflow:hidden}.table-wrap{overflow:auto;border-radius:18px;border:1px solid var(--border)}table{width:100%;border-collapse:collapse}thead{background:color-mix(in srgb,var(--panel-soft) 88%,transparent)}th,td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}tr:hover td{background:color-mix(in srgb,var(--panel-soft) 50%,transparent)}.row-active td{background:color-mix(in srgb,var(--panel-soft) 74%,transparent)}.field{display:grid;gap:8px;min-width:0}.field span{font-weight:600}.detail-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.notice{padding:14px 16px;border-radius:18px;border:1px solid var(--border)}.notice.error{background:#ef44441f;color:#fca5a5;border-color:#ef44443d}.notice.success{background:#10b9811f;color:#6ee7b7;border-color:#10b9813d}.loading-card{display:inline-flex;align-items:center;gap:10px}.spin{animation:spin 1s linear infinite}.tabs-lite{display:inline-flex;gap:8px;background:var(--panel-soft);padding:6px;border-radius:16px;border:1px solid var(--border)}.tab-button{border:0;background:transparent;color:var(--muted);padding:8px 12px;border-radius:12px}.tab-button-active{background:var(--panel);color:var(--text)}.control-inline{width:min(100%,220px);min-width:180px}.account-card{display:grid;gap:10px}.admin-banner{display:flex;align-items:center;justify-content:space-between;gap:16px}.form-actions{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}.auth-shell{position:relative;min-height:100vh;overflow:hidden;padding:24px}.auth-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(16,185,129,.18),transparent 24%),radial-gradient(circle at 85% 10%,rgba(59,130,246,.18),transparent 22%),radial-gradient(circle at 70% 85%,rgba(245,158,11,.12),transparent 26%);pointer-events:none}.auth-topbar,.auth-content{position:relative;z-index:1}.auth-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.auth-brand{margin-bottom:0;width:fit-content}.auth-content{display:grid;align-items:center;min-height:calc(100vh - 120px)}.auth-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;width:min(1180px,100%);margin:0 auto}.auth-grid-wide{grid-template-columns:1.1fr .9fr}.auth-panel,.auth-hero{padding:28px}.auth-panel h2,.auth-hero h1,.auth-hero h2{margin-top:12px;margin-bottom:10px}.auth-header{align-items:flex-start}.auth-feature-list{display:grid;gap:14px;margin-top:24px}.auth-feature-list p{margin-top:8px}.auth-footer{display:grid;gap:12px;margin-top:16px}h1,h2,h3,h4,p{margin:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 1280px){.grid-kpi,.grid-4,.grid-3,.grid-2,.grid-main,.grid-fleet,.grid-crew,.grid-defects,.auth-grid,.auth-grid-wide{grid-template-columns:1fr}}@media (max-width: 980px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border)}.topbar,.content-area,.auth-shell{padding:16px}.auth-topbar,.admin-banner,.form-actions{flex-direction:column;align-items:stretch}.search-wrap{min-width:100%;max-width:none}}
