:root{--bg:#071117;--panel:#111e27;--panel2:#172935;--text:#e8f2f7;--muted:#9db1bd;--blue:#1976d2;--red:#d32f2f;--green:#2e7d32;--yellow:#f9a825;--line:#284150}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#071117,#0b1820);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;background:#0b151c;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{font-weight:800;letter-spacing:.4px}.pulse{display:inline-block;width:10px;height:10px;background:var(--red);border-radius:50%;box-shadow:0 0 0 6px rgba(211,47,47,.16);margin-right:10px}.topbar a{color:var(--text);text-decoration:none;margin:0 8px;font-size:14px}.container{max-width:1280px;margin:0 auto;padding:26px}h1{font-size:28px;margin:0 0 20px}h2{margin-top:0}.auth-card,.panel,.card{background:rgba(17,30,39,.96);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 14px 30px rgba(0,0,0,.25)}.auth-card{max-width:560px;margin:60px auto}.cards{display:grid;gap:16px;margin-bottom:20px}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.four{grid-template-columns:repeat(4,1fr)}.card b{font-size:32px;display:block}.card span{color:var(--muted)}.alert-card{border-color:rgba(211,47,47,.6)}.panel{margin-bottom:20px}.grid-form{display:grid;gap:12px}.grid-form.wide{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}label{display:grid;gap:6px;color:var(--muted)}input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#09151c;color:var(--text)}textarea{resize:vertical}.btn,button{border:0;border-radius:10px;padding:10px 14px;background:#263b4a;color:#fff;cursor:pointer;text-decoration:none;display:inline-block}.btn.primary{background:var(--blue)}.btn.small{font-size:12px;padding:6px 10px}.alert{border-radius:10px;padding:12px 14px;margin-bottom:16px}.alert.ok{background:rgba(46,125,50,.22);border:1px solid rgba(46,125,50,.5)}.alert.warn{background:rgba(249,168,37,.16);border:1px solid rgba(249,168,37,.45)}.alert.danger{background:rgba(211,47,47,.18);border:1px solid rgba(211,47,47,.55)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);text-align:left;padding:10px;vertical-align:top}th{color:#b9cad3}.badge{display:inline-block;border-radius:999px;padding:3px 9px;background:#2a4151;font-size:12px}.badge.active,.badge.connected{background:rgba(46,125,50,.5)}.badge.error,.badge.ended,.danger-row{background:rgba(211,47,47,.22)}.badge.ringing,.badge.provisioning{background:rgba(249,168,37,.35)}.inline{display:inline}.news-item{padding:14px;border-bottom:1px solid var(--line)}.map{height:72vh;border-radius:16px;border:1px solid var(--line);overflow:hidden}.call-row,.vehicle-row{display:flex;justify-content:space-between;gap:12px;padding:9px;border-bottom:1px solid var(--line)}pre{background:#071117;padding:14px;border-radius:10px;overflow:auto}.check{display:flex;align-items:center;gap:10px}.check input{width:auto}@media(max-width:800px){.topbar{display:block}.topbar nav{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}.cards.three,.cards.four{grid-template-columns:1fr}.container{padding:16px}.grid-form.wide{grid-template-columns:1fr}}@media print{.topbar,.btn,button{display:none}.container{max-width:none}.panel,.auth-card,.card{box-shadow:none;border:1px solid #999;color:#000;background:#fff}body{background:#fff;color:#000}}
