:root{--mc-green:#00a887;--mc-green-2:#15e6b4;--mc-green-d:#00735c;--mc-purple:#8b54e6;--mc-purple-2:#a974ff;--mc-orange:#ff9a4d;--mc-red:#ff5a5f;--mc-blue:#5bb6f0;--bg:#070b10;--bg-2:#0b1118;--ink:#eaf1f5;--ink-2:#b3c0cb;--muted:#7e8c98;--line:#ffffff17;--line-2:#ffffff24;--glass:#ffffff0b;--glass-2:#ffffff12;--glass-hi:#ffffff1a;--mc-green-l:#00a88729;--mc-purple-l:#8b54e62e;--mc-orange-l:#ff8a3d29;--mc-red-l:#ff5a5f29;--mc-blue-l:#5bb6f029;--mc-gray1:#ffffff29;--mc-gray7:#7e8c98;--card:#ffffff0b;--glow-green:0 0 0 1px #00a88759, 0 8px 30px #00a88747;--glow-soft:0 1px 0 #ffffff0f inset, 0 10px 30px #00000073;--shadow:0 1px 0 #ffffff0d inset, 0 8px 28px #0006;--shadow-lg:0 20px 60px #0000008c;--radius:16px;--radius-sm:11px;--maxw:1180px;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}h1,h2,h3,h4{letter-spacing:-.02em;margin:0;font-weight:700}input,select,textarea{font-family:inherit;font-size:15px}::selection{background:#15e6b447}.beams{z-index:-2;pointer-events:none;background:radial-gradient(1100px 720px at 80% -12%,#00a88729,#0000 60%),radial-gradient(950px 680px at 8% -4%,#8b54e621,#0000 58%),linear-gradient(#070b10 0%,#060a0f 60%,#04070a 100%);position:fixed;inset:0}.grid-overlay{z-index:-1;pointer-events:none;background-image:linear-gradient(#ffffff07 1px,#0000 1px),linear-gradient(90deg,#ffffff07 1px,#0000 1px);background-size:46px 46px,46px 46px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(120% 90% at 50% 0,#000 30%,#0000 80%);mask-image:radial-gradient(120% 90% at 50% 0,#000 30%,#0000 80%)}.app{flex-direction:column;min-height:100%;display:flex}.content{width:100%;max-width:var(--maxw);flex:1;margin:0 auto;padding:22px 18px 96px}@media (width>=920px){.content{padding:30px 30px 50px}}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-head h1{background:linear-gradient(#fff,#bfe9df);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:26px}.page-head p{color:var(--ink-2);max-width:64ch;margin:6px 0 0;font-size:14px}.topbar{z-index:40;-webkit-backdrop-filter:blur(14px)saturate(140%);border-bottom:1px solid var(--line);background:linear-gradient(100deg,#00735c8c,#081118a6 55%);position:sticky;top:0;overflow:hidden}.topbar-inner{max-width:var(--maxw);align-items:center;gap:14px;margin:0 auto;padding:12px 18px;display:flex;position:relative}.brand-mark{letter-spacing:-.02em;color:#fff;align-items:center;gap:11px;font-size:18px;font-weight:800;display:flex}.brand-mark .tri{border-left:9px solid #0000;border-right:9px solid #0000;border-top:15px solid var(--mc-green-2);filter:drop-shadow(0 0 8px #15e6b4d9);width:0;height:0}.brand-sub{color:var(--mc-green-2);letter-spacing:.1em;text-transform:uppercase;font-size:10.5px;font-weight:600}.topbar .spacer{flex:1}.role-select{background:var(--glass-2);border:1px solid var(--line-2);border-radius:999px;align-items:center;gap:8px;padding:5px 10px 5px 13px;display:flex}.role-select label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);font-size:10px}.role-select select{color:#fff;background:0 0;border:none;outline:none;font-size:13px;font-weight:700}.role-select select option{color:#0b1118}.net-badge{border:1px solid #0000;border-radius:999px;align-items:center;gap:7px;padding:6px 13px;font-size:12px;font-weight:800;transition:transform .15s,box-shadow .2s;display:inline-flex}.net-badge:hover{transform:translateY(-1px)}.net-online{color:#7df3d4;background:#00a88729;border-color:#15e6b466;box-shadow:0 0 18px #00a88759}.net-offline{color:#ffc090;background:#ff8a3d2e;border-color:#ff9a4d80;box-shadow:0 0 18px #ff8a3d59}.net-dot{background:currentColor;border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px}.botnav{z-index:40;-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:7px 4px calc(7px + env(safe-area-inset-bottom));background:#080d13d1;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.botnav a{color:var(--muted);border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:6px 2px;font-size:10.5px;font-weight:600;transition:color .15s;display:flex}.botnav a svg{transition:transform .15s,filter .2s}.botnav a.active{color:var(--mc-green-2)}.botnav a.active svg{stroke:var(--mc-green-2);filter:drop-shadow(0 0 7px #15e6b4cc);transform:translateY(-1px)}@media (width>=920px){.botnav{border-top:none;border-right:1px solid var(--line);background:#080d1373;flex-direction:column;justify-content:flex-start;gap:4px;width:234px;min-height:calc(100vh - 57px);padding:18px 12px;position:sticky;top:57px;bottom:auto}.botnav a{flex-direction:row;justify-content:flex-start;gap:13px;padding:12px 14px;font-size:14px}.botnav a:hover{color:var(--ink);background:var(--glass)}.botnav a.active{background:linear-gradient(90deg,#00a8872e,#00a88705);box-shadow:inset 0 0 0 1px #15e6b42e}.with-side{max-width:var(--maxw);align-items:flex-start;margin:0 auto;display:flex}}.card{background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);animation:.5s cubic-bezier(.2,.7,.3,1) both fadeUp;position:relative}.card:before{content:"";border-radius:inherit;pointer-events:none;-webkit-mask-composite:xor;opacity:.7;background:linear-gradient(#ffffff29,#0000 40%);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.card.pad{padding:18px}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.grid{gap:16px;display:grid}.kpis{grid-template-columns:repeat(2,1fr)}@media (width>=720px){.kpis{grid-template-columns:repeat(4,1fr)}}.cols-2{grid-template-columns:1fr}@media (width>=920px){.cols-2{grid-template-columns:1.4fr 1fr}}.grid>:first-child{animation-delay:20ms}.grid>:nth-child(2){animation-delay:80ms}.grid>:nth-child(3){animation-delay:.14s}.grid>:nth-child(4){animation-delay:.2s}.kpi{border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(180deg, var(--glass-2), var(--glass));box-shadow:var(--shadow);padding:17px;transition:transform .18s,box-shadow .25s;animation:.5s cubic-bezier(.2,.7,.3,1) both fadeUp;position:relative;overflow:hidden}.kpi:hover{box-shadow:var(--shadow-lg);border-color:var(--line-2);transform:translateY(-3px)}.kpi:after{content:"";background:linear-gradient(90deg, transparent, var(--mc-green-2), transparent);opacity:.6;height:2px;position:absolute;top:0;left:0;right:0}.kpi .lab{color:var(--ink-2);font-size:12px;font-weight:600}.kpi .val{letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums;margin-top:6px;font-size:32px;font-weight:800}.kpi .sub{color:var(--muted);margin-top:4px;font-size:12px}.kpi .accent{opacity:.95;filter:drop-shadow(0 6px 16px #0006);border-radius:15px;place-items:center;width:54px;height:54px;display:grid;position:absolute;top:-8px;right:-8px}.section-title{justify-content:space-between;align-items:center;margin:2px 2px 14px;display:flex}.section-title h2{color:#fff;font-size:16px}.section-title .link{color:var(--mc-green-2);font-size:13px;font-weight:700}.chip{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:12px;font-weight:700;display:inline-flex}.chip .d{background:currentColor;border-radius:50%;width:7px;height:7px;box-shadow:0 0 7px}.chip.green{color:#5fe7c4;background:#00a88726;border-color:#15e6b44d}.chip.orange{color:#ffb780;background:#ff8a3d26;border-color:#ff9a4d4d}.chip.red{color:#ff9296;background:#ff5a5f26;border-color:#ff5a5f52}.chip.blue{color:#9bd2f6;background:#5bb6f026;border-color:#5bb6f04d}.chip.gray{color:var(--ink-2);border-color:var(--line);background:#ffffff0f}.sev{font-weight:800}.sev.high{color:var(--mc-red)}.sev.medium{color:var(--mc-orange)}.sev.low{color:var(--mc-green-2)}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);padding:11px 12px;font-size:11px;font-weight:700}.table td{border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink);padding:12px}.table tr:last-child td{border-bottom:none}.table tbody tr{transition:background .15s}.table tbody tr:hover{background:linear-gradient(90deg,#00a88712,#0000)}.t-strong{color:#fff;font-weight:700}.t-sub{color:var(--muted);font-size:12px}.form{gap:17px;max-width:640px;display:grid}.field{gap:7px;display:grid}.field label{color:var(--ink-2);font-size:13px;font-weight:700}.field .hint{color:var(--muted);font-size:12px}.field input[type=text],.field input[type=number],.field textarea,.field select{border:1px solid var(--line-2);border-radius:var(--radius-sm);color:var(--ink);background:#00000040;outline:none;width:100%;padding:12px 13px;transition:border-color .15s,box-shadow .2s}.field input::placeholder,.field textarea::placeholder{color:var(--muted)}.field textarea{resize:vertical;min-height:94px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--mc-green-2);box-shadow:0 0 0 3px #00a88738,0 0 22px #00a8872e}.field select option{background:#0b1118}.seg{flex-wrap:wrap;gap:8px;display:flex}.seg button{border:1px solid var(--line-2);color:var(--ink-2);background:#ffffff0a;border-radius:999px;padding:9px 15px;font-size:13px;font-weight:700;transition:all .15s}.seg button:hover{color:#fff;border-color:var(--line-2)}.seg button.on{background:var(--mc-green);border-color:var(--mc-green-2);color:#04130f;box-shadow:var(--glow-green)}.seg.sev button.on.high{background:var(--mc-red);border-color:var(--mc-red);color:#1a0608;box-shadow:0 0 0 1px #ff5a5f66,0 8px 26px #ff5a5f4d}.seg.sev button.on.medium{background:var(--mc-orange);border-color:var(--mc-orange);color:#180c02;box-shadow:0 0 0 1px #ff9a4d66,0 8px 26px #ff8a3d4d}.seg.sev button.on.low{background:var(--mc-green);border-color:var(--mc-green-2);color:#04130f;box-shadow:var(--glow-green)}.btn{border-radius:var(--radius-sm);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:15px;font-weight:800;transition:transform .15s,box-shadow .25s,background .2s;display:inline-flex}.btn:active{transform:scale(.98)}.btn.primary{background:linear-gradient(180deg, var(--mc-green-2), var(--mc-green));color:#04130f;box-shadow:var(--glow-green)}.btn.primary:hover{transform:translateY(-2px);box-shadow:0 0 0 1px #15e6b480,0 12px 40px #00a88773}.btn.ghost{background:var(--glass-2);border:1px solid var(--line-2);color:var(--ink)}.btn.ghost:hover{background:var(--glass-hi);border-color:var(--mc-green-2);color:#fff}.btn.purple{background:linear-gradient(180deg, var(--mc-purple-2), var(--mc-purple));color:#fff;box-shadow:0 8px 30px #8b54e666}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.block{width:100%}.photo-drop{border:1.5px dashed var(--line-2);border-radius:var(--radius-sm);text-align:center;color:var(--ink-2);background:#0003;padding:20px;transition:border-color .2s,background .2s}.photo-drop:hover{border-color:var(--mc-green-2);background:#00a8870f}.photo-grid{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.photo-thumb{border:1px solid var(--line-2);width:96px;height:96px;box-shadow:var(--shadow);border-radius:12px;position:relative;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%}.photo-thumb .geo{color:#7df3d4;background:linear-gradient(#0000,#000000d9);align-items:center;gap:3px;padding:9px 5px 4px;font-size:9px;font-weight:700;display:flex;position:absolute;bottom:0;left:0;right:0}.banner{border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #0000;align-items:flex-start;gap:12px;padding:13px 15px;font-size:14px;display:flex}.banner.offline{color:#ffcfa6;background:#ff8a3d1f;border-color:#ff9a4d59}.banner.success{color:#8defcf;background:#00a8871f;border-color:#15e6b459}.banner.info{color:#aedcf8;background:#5bb6f01f;border-color:#5bb6f052}.banner strong{color:#fff}.sync-pill{background:var(--glass-2);border:1px solid var(--line-2);color:var(--ink);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:8px;padding:8px 15px;font-size:13px;font-weight:700;display:inline-flex}.matrix-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--glass);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow-x:auto}.matrix{border-collapse:separate;border-spacing:0;min-width:720px;font-size:13px}.matrix th,.matrix td{padding:0}.matrix thead th{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2;color:var(--ink-2);border-bottom:1px solid var(--line);text-align:center;white-space:nowrap;background:#0b1118eb;padding:11px 8px;font-size:11px;position:sticky;top:0}.matrix thead th.name-h,.matrix tbody th.name-c{text-align:left}.matrix tbody th.name-c{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1;border-bottom:1px solid var(--line);border-right:1px solid var(--line);color:#fff;white-space:nowrap;background:#0b1118eb;padding:9px 13px;font-weight:700;position:sticky;left:0}.matrix tbody td{border-bottom:1px solid var(--line);text-align:center;border-right:1px solid #ffffff0a}.cell{place-items:center;width:100%;height:40px;font-size:12px;font-weight:800;transition:transform .12s;display:grid}.cell:hover{transform:scale(1.12)}.cell.valid{color:#5fe7c4;background:#00a8872e}.cell.expiring{color:#ffc090;background:#ff8a3d33}.cell.expired{color:#ff9296;background:#ff5a5f33}.cell.missing{color:#ff7a9a;outline-offset:-4px;background:#ff5a5f12;outline:1px dashed #ff5a9680}.cell.na{color:#ffffff24;background:0 0}.legend{color:var(--ink-2);flex-wrap:wrap;gap:14px;margin-top:14px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:4px;width:12px;height:12px;display:inline-block}.cbar{background:#ffffff14;border-radius:6px;height:10px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a}.cbar i{height:100%;display:block}.cbar i:first-child{box-shadow:0 0 12px #00a88799}.list-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:13px 4px;display:flex}.list-row:last-child{border-bottom:none}.list-ic{border:1px solid var(--line);border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.muted{color:var(--muted)}.small{font-size:12px}.right{margin-left:auto}.stack{gap:6px;display:grid}.row{align-items:center;gap:10px;display:flex}.wrap-gap{flex-wrap:wrap;gap:10px;display:flex}.install-toast{z-index:60;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#fff;border:1px solid var(--line-2);box-shadow:var(--shadow-lg);background:#0b1118e6;border-radius:999px;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex;position:fixed;bottom:84px;left:50%;transform:translate(-50%)}.install-toast button{background:linear-gradient(180deg,var(--mc-green-2),var(--mc-green));color:#04130f;box-shadow:var(--glow-green);border:none;border-radius:999px;padding:7px 14px;font-weight:800}@media (width>=920px){.install-toast{bottom:24px}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}@media (prefers-reduced-motion:reduce){.beam,.streak,.topbar:after,.brand-mark .tri,.card,.kpi{animation:none!important}*{scroll-behavior:auto!important}}
