:root{--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--teal:#20d6a2;--blue:#246bfd;--navy:#071b2b;--paper:#fff}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;background:#f3f6f9}a{text-decoration:none}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 3vw;gap:3vw;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:800;letter-spacing:.04em;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;color:#031b26;background:linear-gradient(135deg,var(--teal),#90f6d9);box-shadow:0 7px 22px #20d6a24d}.brand small,.userbox small,.table small{display:block;font-size:9px;color:var(--muted);letter-spacing:.12em;font-weight:600}.topbar nav{display:flex;gap:4px;flex:1}.topbar nav a{padding:12px 13px;color:#475569;font-size:14px;border-radius:10px}.topbar nav a:hover{background:#eefbf7;color:#08785b}.userbox{display:flex;align-items:center;gap:10px;font-size:12px}.status-dot,.live-pill span{width:8px;height:8px;background:#23d6a2;border-radius:50%;box-shadow:0 0 0 5px #23d6a21d}.logout{color:#64748b;border-left:1px solid var(--line);padding-left:12px}.shell{max-width:1520px;margin:0 auto;padding:34px 3vw 60px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.page-head h1{font-size:30px;margin:5px 0 7px;letter-spacing:-.03em}.page-head p{color:var(--muted);margin:0}.eyebrow{font-size:10px;letter-spacing:.18em;color:#0a8b6b;font-weight:800}.live-pill{background:#e9fbf5;color:#057858;font-size:10px;font-weight:800;letter-spacing:.1em;padding:11px 14px;border-radius:30px;display:flex;align-items:center;gap:10px}.filterbar{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr)) auto;gap:10px;background:#fff;border:1px solid var(--line);padding:14px;border-radius:16px;margin-bottom:18px;box-shadow:0 8px 35px #0f172a0b}.filterbar label,.form-grid label,.login-card label,.verify-card label{font-size:11px;color:var(--muted);font-weight:700;display:block}.filterbar input,.filterbar select{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;padding:6px 1px;color:#334155;font-size:12px;outline:none}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.kpi-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;position:relative;overflow:hidden}.kpi-grid article:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:#20d6a20c;right:-30px;top:-30px}.kpi-grid span{font-size:12px;color:var(--muted)}.kpi-grid strong{font-size:34px;display:block;letter-spacing:-.04em;margin:8px 0}.kpi-grid small{color:#94a3b8}.kpi-grid .alert-kpi strong{color:#e2516d}.dashboard-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:16px}.soc-panel,.card-panel{border:1px solid var(--line);border-radius:20px;background:#fff;padding:20px;box-shadow:0 12px 45px #0f172a0a}.soc-panel{background:radial-gradient(circle at 45% 50%,#123a49,#071c2c 65%);color:#e2fef7;min-height:470px;position:relative;overflow:hidden}.soc-panel:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#38efbd0b 1px,transparent 1px),linear-gradient(90deg,#38efbd0b 1px,transparent 1px);background-size:28px 28px}.panel-head{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2}.panel-head h2,.card-panel h2{font-size:17px;margin:4px 0 15px}.legend{font-size:10px;color:#a6c5c8}.legend i{display:inline-block;width:60px;height:6px;border-radius:10px;background:linear-gradient(90deg,#123e4d,#20d6a2)}.dr-map{height:370px;position:relative;z-index:2}.dr-map svg{width:100%;height:100%;filter:drop-shadow(0 15px 28px #0008)}.dr-map path{stroke:#8af4d3;stroke-width:.35;cursor:pointer;transition:fill .25s,transform .25s,filter .25s;transform-origin:center}.dr-map path:hover,.dr-map path.selected{filter:brightness(1.8) drop-shadow(0 0 5px #67ffd1);stroke-width:1}.map-loader{display:grid;place-items:center;height:100%;color:#8ab8b6}.map-tooltip{display:none;position:absolute;z-index:5;background:#fff;color:#0f172a;padding:9px 12px;border-radius:9px;font-size:11px;box-shadow:0 8px 28px #0008;pointer-events:none}.map-tooltip b{display:block}.wide{min-height:300px}.card-panel canvas{max-height:320px}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.form-grid .span-2{grid-column:span 2}.form-grid label{color:#475569}.form-grid input,.form-grid select,.form-grid textarea{margin-top:5px}.table-card{padding:0;overflow:hidden}.table-card .table{margin:0}.table th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;background:#f8fafc;padding:14px}.table td{font-size:12px;padding:14px}.badge-dot{font-size:11px;white-space:nowrap}.badge-dot:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--c);margin-right:6px}.actions{display:flex;gap:8px}.actions button{border:0;background:none;color:#dc5b72;padding:0}.admin-grid{display:grid;grid-template-columns:220px 1fr;gap:16px}.side-menu{background:#fff;padding:10px;border:1px solid var(--line);border-radius:16px;height:max-content}.side-menu a{display:block;padding:11px 13px;color:#475569;border-radius:9px;font-size:13px}.side-menu a.active{background:#eafbf5;color:#087c5e;font-weight:700}.inline-form{display:flex;gap:10px;max-width:500px}.login-shell{min-height:100vh}.login-grid{display:grid;grid-template-columns:1.35fr .65fr;min-height:100vh}.login-visual{background:radial-gradient(circle at 50% 45%,#174a55,#061a2a 60%);position:relative;display:grid;place-items:center;overflow:hidden;color:white}.login-visual:after{content:"";position:absolute;inset:0;background-image:linear-gradient(#5cf5ca0a 1px,transparent 1px),linear-gradient(90deg,#5cf5ca0a 1px,transparent 1px);background-size:34px 34px}.radar{width:370px;height:370px;border:1px solid #59f4c84d;border-radius:50%;position:relative;box-shadow:0 0 80px #1ed9a42b}.radar i{position:absolute;border:1px solid #59f4c82c;border-radius:50%;inset:15%}.radar i:nth-child(2){inset:30%}.radar i:nth-child(3){inset:45%}.radar span{position:absolute;width:50%;height:50%;left:50%;top:0;border-left:1px solid #4dffca;background:linear-gradient(105deg,#4dffca24,transparent);transform-origin:bottom left;animation:sweep 4s linear infinite}@keyframes sweep{to{transform:rotate(360deg)}}.login-copy{position:absolute;z-index:3;bottom:8%;left:8%;max-width:620px}.login-copy h1{font-size:40px;line-height:1.05;letter-spacing:-.04em}.login-copy p{color:#a8c8c7}.login-card{background:#fff;padding:10vh 8%;display:flex;flex-direction:column;justify-content:center}.login-card h2{margin:50px 0 5px}.login-card>p{color:var(--muted);margin-bottom:30px}.login-card label{margin-bottom:18px}.login-card input{margin-top:6px;padding:12px}.login-card .btn{padding:12px}.demo-note{margin:22px 0 12px;padding:12px;border-radius:10px;background:#f1f5f9;font-size:11px;color:#475569}.verify-wrap{min-height:100vh;background:#071c2c;padding:7vh 5%;display:grid;place-items:center}.verify-wrap>.brand{position:absolute;top:35px;left:5%;color:white}.verify-card{background:#fff;width:min(640px,94vw);border-radius:22px;padding:40px}.verify-card h1{margin:8px 0}.verify-card>p{color:var(--muted)}.verify-card form{display:flex;gap:10px;align-items:end;margin:28px 0}.verify-card label{flex:1}.verify-result{margin:20px 0;padding:20px;border-radius:14px;word-break:break-all}.verify-result.good{background:#eafbf5;border:1px solid #8ae7cc}.verify-result.bad{background:#fff0f2;border:1px solid #ffc3cc}.verify-result dl{display:grid;grid-template-columns:90px 1fr;margin:14px 0 0;font-size:12px}.verify-result dt,.verify-result dd{padding:5px;margin:0}.alert{max-width:800px;margin:0 auto 20px}.btn-primary{background:#0b8063;border-color:#0b8063}.btn-primary:hover{background:#086a53;border-color:#086a53}@media(max-width:1000px){.topbar nav{display:none}.filterbar{grid-template-columns:repeat(3,1fr)}.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,1fr)}.login-grid{grid-template-columns:1fr}.login-visual{display:none}}@media(max-width:600px){.userbox div{display:none}.shell{padding:20px 12px}.page-head{align-items:flex-start;gap:15px}.filterbar,.kpi-grid,.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.admin-grid{grid-template-columns:1fr}.verify-card form{display:block}.verify-card .btn{margin-top:10px;width:100%}}
