*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:#f4f7fb;color:#172033}a{color:inherit;text-decoration:none}header{height:66px;background:#101827;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20}.brand{font-size:20px;font-weight:800}.brand span{color:#57d4ff}nav{display:flex;gap:10px;align-items:center}nav a,header>a{padding:9px 13px;border-radius:9px;color:#d7deea}nav a.active,nav a:hover{background:#25324a;color:#fff}main{max-width:1500px;margin:0 auto;padding:26px}.title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.title-row h1,h1{margin:0 0 5px}.title-row p,p{color:#667085}.panel{background:#fff;border:1px solid #e5eaf1;border-radius:16px;padding:20px;margin:18px 0;box-shadow:0 8px 26px rgba(16,24,39,.05)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stats div{background:#fff;border:1px solid #e5eaf1;border-radius:14px;padding:18px}.stats b{display:block;font-size:27px}.stats span{color:#667085;font-size:13px}.tabs{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}.tabs button{border:1px solid #dfe5ee;background:#fff;color:#344054}.tabs button.active{background:#101827;color:#fff}.tab{display:none}.grid-form{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px;align-items:end}label{font-size:13px;font-weight:650;color:#475467;display:block}input,select,textarea{width:100%;border:1px solid #d0d5dd;background:#fff;border-radius:9px;padding:10px 11px;margin-top:6px;font:inherit;color:#172033}textarea{resize:vertical}button{border:0;background:#1473e6;color:#fff;padding:10px 15px;border-radius:9px;font-weight:700;cursor:pointer}button:hover{filter:brightness(.96)}button.danger{background:#d92d20}.secondary{background:#667085}.big{width:100%;padding:15px;font-size:16px;margin:7px 0}.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:800px}th,td{text-align:left;border-bottom:1px solid #eef1f5;padding:10px;font-size:13px;vertical-align:middle}th{color:#475467;background:#f9fafb}td small{display:block;color:#98a2b3;margin-top:3px}.inline{display:inline-flex;gap:5px;align-items:center;margin:2px}.inline input,.inline select{min-width:120px;margin:0;padding:7px}.inline button{padding:7px 9px}.badge{display:inline-block;border-radius:99px;padding:4px 9px;font-size:12px;font-weight:700}.badge.on{background:#dcfae6;color:#067647}.badge.off{background:#fee4e2;color:#b42318}.ok{padding:12px;border-radius:10px;background:#dcfae6;color:#067647;margin:12px 0}.alert{padding:12px;border-radius:10px;background:#fee4e2;color:#b42318;margin:12px 0}.warning-box{background:#fff8e8;padding:14px;border-radius:12px;border:1px solid #f4d38c}.bulk-controls{display:grid;grid-template-columns:1.3fr 1fr 1.2fr auto;gap:10px;align-items:end;margin-bottom:12px}.auth{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#101827,#20345a)}.login-card{width:min(420px,92vw);background:#fff;border-radius:20px;padding:30px;box-shadow:0 25px 70px rgba(0,0,0,.25)}.login-card form{display:grid;gap:12px}.login-card button{margin-top:8px;padding:13px}.status-dot{display:flex;gap:7px;align-items:center;color:#067647;font-weight:700}.status-dot span{width:10px;height:10px;border-radius:50%;background:#12b76a;box-shadow:0 0 0 5px #dcfae6}#map{height:58vh;min-height:430px;border-radius:16px;overflow:hidden;border:1px solid #dfe5ee}.live-grid{display:grid;gap:7px}.live-row{display:grid;grid-template-columns:1fr auto 110px;gap:12px;align-items:center;padding:10px;border-bottom:1px solid #eef1f5}.live-row small{display:block;color:#98a2b3}.track-main{max-width:560px}.tracker-card{text-align:center}.track-status{padding:14px;border-radius:12px;font-weight:800;margin:20px 0}.track-status.on{background:#dcfae6;color:#067647}.track-status.off{background:#fee4e2;color:#b42318}.gps-meta{margin:15px 0;color:#475467}.notice{font-size:12px;text-align:left;background:#f2f4f7;padding:12px;border-radius:9px;color:#667085}
@media(max-width:900px){header{padding:0 14px}.brand{font-size:17px}main{padding:15px}.stats{grid-template-columns:1fr 1fr}.grid-form{grid-template-columns:1fr}.bulk-controls{grid-template-columns:1fr}.title-row{align-items:flex-start;gap:10px}.table-wrap table{min-width:900px}#map{height:55vh;min-height:360px}nav{gap:2px}nav a{font-size:12px;padding:8px}}
