:root,:root[data-theme=light]{--bg:#f4f5f2;--panel:#fff;--panel-border:#dedede;--panel-hover:#f2f4ef;--text:#212121;--muted:#605f60;--faint:#9e9e9e;--pass:#5da20a;--fail:#e72234;--warn:#e08600;--accent-grad:linear-gradient(135deg, #78be20 0%, #5da20a 100%);--accent-fg:#fff;--header-bg:#ffffffe0;--pop-bg:#fff;--input-bg:#f7f7f7;--glow-1:#78be2014;--glow-2:#5da20a0d;--glow-3:#e722340a;--shadow:#21212129;--mono:"JetBrains Mono", ui-monospace, monospace;--radius:14px;--header-h:60px}:root[data-theme=dark]{--bg:#121511;--panel:#1a1e19;--panel-border:#2c322a;--panel-hover:#222721;--text:#eef1ea;--muted:#a4ab9e;--faint:#6f766a;--pass:#8fd534;--fail:#ff6b61;--warn:#ffb02e;--accent-grad:linear-gradient(135deg, #8fd534 0%, #5da20a 100%);--accent-fg:#10230a;--header-bg:#121511db;--pop-bg:#1e231d;--input-bg:#20241f;--glow-1:#78be2012;--glow-2:#5da20a0d;--glow-3:#e722340a;--shadow:#0000008c}body{background:var(--bg);background-image:radial-gradient(900px 500px at 8% -10%, var(--glow-1), transparent 60%), radial-gradient(800px 500px at 95% 0%, var(--glow-2), transparent 55%), radial-gradient(700px 600px at 50% 120%, var(--glow-3), transparent 60%);color:var(--text);background-attachment:fixed;margin:0;font-family:Gabarito,Proxima Vara,Proxima Nova,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.45;transition:background-color .2s,color .2s}*{box-sizing:border-box}#root{flex-direction:column;min-height:100vh;display:flex}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.dim{color:var(--muted)}.mono{font-family:var(--mono);font-size:12.5px}.nowrap{white-space:nowrap}.ellip{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.header{z-index:30;height:var(--header-h);background:var(--header-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--panel-border);align-items:center;gap:18px;padding:0 26px;display:flex;position:sticky;top:0}.logo{-webkit-user-select:none;user-select:none;align-items:center;gap:11px;display:flex}.logo img{flex-shrink:0}.logo .name{letter-spacing:.4px;white-space:nowrap;font-size:16px;font-weight:800}.logo .name em{background:var(--accent-grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.logo .lockup{flex-direction:column;align-items:flex-start;gap:1px;display:flex}.logo .by{align-items:center;gap:6px;margin-top:2px;line-height:1;display:inline-flex}.logo .by-word{letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:600}.logo .by img{width:auto;height:18px;display:block}.logo.big .lockup{align-items:center}.logo.big .by{margin:6px 0 8px}.logo.big .by img{height:24px}.logo .sub{color:var(--faint);letter-spacing:2.2px;text-transform:uppercase;font-size:10.5px}.user-zone{align-items:center;gap:14px;margin-left:auto;display:flex}.live{letter-spacing:1.6px;color:var(--muted);align-items:center;gap:7px;font-size:11px;font-weight:600;display:flex}.live .dot{background:var(--pass);border-radius:50%;width:8px;height:8px;animation:2.2s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #78be2073}70%{box-shadow:0 0 0 9px #78be2000}to{box-shadow:0 0 #78be2000}}.lang-switch{border:1px solid var(--panel-border);background:#605f6012;border-radius:9px;gap:2px;padding:2px;display:flex}.lang-switch button{color:var(--muted);font:inherit;letter-spacing:.6px;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:5px 9px;font-size:11.5px;font-weight:700}.lang-switch button:hover{color:var(--text)}.lang-switch button.on{background:var(--accent-grad);color:var(--accent-fg)}.theme-toggle{background:var(--input-bg);border:1px solid var(--panel-border);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:9px;place-items:center;padding:0;display:grid}.theme-toggle:hover{color:var(--text);background:var(--panel-hover)}.login-lang{z-index:10;align-items:center;gap:8px;display:flex;position:fixed;top:18px;right:22px}.menu{position:relative}.menu-btn{border:1px solid var(--panel-border);color:var(--text);font:inherit;cursor:pointer;background:#605f6012;border-radius:10px;align-items:center;gap:8px;padding:7px 12px;font-weight:600;display:flex}.menu-btn:hover{background:var(--panel-hover)}.avatar{background:var(--accent-grad);width:22px;height:22px;color:var(--accent-fg);border-radius:7px;place-items:center;font-size:11px;font-weight:800;display:grid}.menu-pop{background:var(--pop-bg);border:1px solid var(--panel-border);min-width:190px;box-shadow:0 18px 50px var(--shadow);z-index:40;border-radius:12px;padding:6px;position:absolute;top:calc(100% + 8px);right:0}.menu-pop button{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:9px 12px;display:block}.menu-pop button:hover{background:#605f6017}.menu-pop button.danger{color:var(--fail)}.shell-body{flex:1;align-items:stretch;min-height:0;display:flex}.shell-content{flex-direction:column;flex:1;min-width:0;display:flex}.chat-toggle{background:var(--input-bg);border:1px solid var(--panel-border);color:var(--muted);font:inherit;cursor:pointer;border-radius:9px;align-items:center;gap:7px;height:32px;padding:0 12px;font-size:12.5px;font-weight:600;display:flex}.chat-toggle:hover{color:var(--text);background:var(--panel-hover)}.chat-toggle.on{background:var(--accent-grad);color:var(--accent-fg);border-color:#0000}.chat-panel{width:430px;top:var(--header-h);height:calc(100vh - var(--header-h));background:var(--panel);border-left:1px solid var(--panel-border);flex-direction:column;flex-shrink:0;display:flex;position:sticky}.chat-head{border-bottom:1px solid var(--panel-border);letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;font-weight:700;display:flex}.chat-close{color:var(--faint);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:2px 6px;font-size:14px}.chat-close:hover{color:var(--text);background:var(--panel-hover)}.chat-soon{text-align:center;color:var(--faint);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.chat-soon-title{color:var(--muted);margin:0;font-size:15px;font-weight:700}.chat-soon-sub{max-width:260px;margin:0;font-size:12.5px;line-height:1.5}@media (width<=1100px){.chat-panel{z-index:45;width:min(430px,100vw);box-shadow:-12px 0 40px var(--shadow);position:fixed;right:0}}.master{width:100%;max-width:1340px;margin:0 auto;padding:22px 26px 0}.master-search{align-items:center;display:flex;position:relative}.master-search .icon{color:var(--faint);pointer-events:none;position:absolute;left:16px}.master-search input{border:1px solid var(--panel-border);width:100%;color:var(--text);font:inherit;background:#605f6012;border-radius:13px;outline:none;padding:14px 120px 14px 46px;font-size:15px;transition:border-color .15s,box-shadow .15s}.master-search input:focus{border-color:#78be2073;box-shadow:0 0 0 3px #78be201f}.master-search .go,.master-search .clear{font:inherit;cursor:pointer;border:0;border-radius:9px;padding:8px 16px;font-weight:700;position:absolute;right:8px}.master-search .go{background:var(--accent-grad);color:var(--accent-fg)}.master-search .clear{color:var(--muted);background:#605f601f}.tabstrip{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;width:100%;max-width:1340px;margin:0 auto;padding:16px 26px 0;display:flex}.tabs{gap:4px;display:flex}.tabs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;padding:9px 16px;font-size:14px;font-weight:600}.tabs button:hover{color:var(--text);background:#605f600d}.tabs button.on{color:var(--text);border-bottom-color:var(--pass)}.pills{border:1px solid var(--panel-border);background:#605f6012;border-radius:10px;gap:4px;padding:3px;display:flex}.pills button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:5px 13px;font-size:12.5px;font-weight:600}.pills button.on{background:var(--accent-grad);color:var(--accent-fg)}.filterbar{flex-wrap:wrap;align-items:center;gap:10px;width:100%;max-width:1340px;margin:0 auto;padding:12px 26px 0;display:flex}.timefilter{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.pick{position:relative}.pick-btn{border:1px solid var(--panel-border);max-width:320px;color:var(--text);font:inherit;cursor:pointer;background:#605f6012;border-radius:10px;outline:none;align-items:center;gap:8px;padding:7px 11px 7px 13px;font-size:13px;font-weight:600;transition:border-color .15s,box-shadow .15s,background .15s;display:inline-flex}.pick:not(.range) .pick-btn{min-width:210px}.pick-btn:hover{background:var(--panel-hover)}.pick.open .pick-btn,.pick-btn:focus-visible{border-color:#78be208c;box-shadow:0 0 0 3px #78be201f}.pick.set .pick-btn{border-color:#78be208c}.pick-val{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.pick .chev{color:var(--muted);flex:none;transition:transform .15s}.pick .chev.up{transform:rotate(180deg)}.pick-x{color:var(--faint);border-radius:5px;padding:1px 4px;font-size:11px;line-height:1}.pick-x:hover{color:var(--text);background:var(--panel-hover)}.pick-pop{z-index:40;background:var(--pop-bg);border:1px solid var(--panel-border);min-width:100%;box-shadow:0 18px 50px var(--shadow);border-radius:12px;padding:6px;position:absolute;top:calc(100% + 6px);left:0}.pick-search{background:var(--input-bg);border:1px solid var(--panel-border);width:100%;color:var(--text);font:inherit;border-radius:8px;outline:none;margin:0 0 6px;padding:7px 10px;font-size:13px;display:block}.pick-search:focus{border-color:#78be2073}.pick-list{flex-direction:column;gap:1px;max-height:300px;display:flex;overflow-y:auto}.pick-opt{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:8px;flex:none;padding:8px 11px;font-size:13px;display:block;overflow:hidden}.pick-opt.hi{background:#605f6017}.pick-opt.sel{color:var(--pass);font-weight:700}.pick-opt.all{color:var(--muted);font-weight:600}.pick-opt.all.sel{color:var(--pass)}.pick-opt.all+.pick-opt{margin-top:3px;position:relative}.pick-opt.all+.pick-opt:before{content:"";background:var(--panel-border);height:1px;position:absolute;top:-2px;left:8px;right:8px}.pick-none{color:var(--faint);padding:8px 11px;font-size:12.5px}.pick.range .pick-val{font-family:var(--mono);font-size:12.5px}.pick.range:not(.set) .pick-val{color:var(--muted);font-family:inherit;font-size:13px}.pick.range .cal-ic{color:var(--muted);flex:none}.pick.range .pick-pop{width:272px;padding:10px 12px 8px;left:auto;right:0}.cal-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.cal-title{text-transform:capitalize;font-size:13px;font-weight:700}.cal-nav{border:1px solid var(--panel-border);background:var(--input-bg);width:26px;height:26px;color:var(--muted);font:inherit;cursor:pointer;border-radius:7px;font-size:15px;line-height:1}.cal-nav:hover:not(:disabled){color:var(--text);background:var(--panel-hover)}.cal-nav:disabled{opacity:.3;cursor:default}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px 0;display:grid}.cal-dow{text-align:center;letter-spacing:.6px;text-transform:uppercase;color:var(--faint);padding:4px 0 6px;font-size:10.5px;font-weight:700}.cal-d{height:30px;color:var(--text);font:inherit;font-size:12.5px;font-family:var(--mono);cursor:pointer;background:0 0;border:0;border-radius:0;padding:0}.cal-d:hover:not(:disabled){background:#605f601a}.cal-d:disabled{color:var(--faint);opacity:.45;cursor:default}.cal-d.today{text-underline-offset:3px;text-decoration:underline}.cal-d.in{background:#78be2024}.cal-d.lo{border-radius:8px 0 0 8px}.cal-d.hi{border-radius:0 8px 8px 0}.cal-d.lo.hi{border-radius:8px}.cal-d.lo,.cal-d.hi,.cal-d.lo:hover,.cal-d.hi:hover{background:var(--accent-grad);color:var(--accent-fg);font-weight:700}.cal-foot{color:var(--faint);text-align:center;margin-top:8px;font-size:11.5px}.main{flex:1;width:100%;max-width:1340px;margin:0 auto;padding:18px 26px 36px}.tab{flex-direction:column;display:flex}.row{gap:16px;margin-bottom:16px;display:grid}.row-2{grid-template-columns:1fr 1fr}.row-3{grid-template-columns:repeat(3,1fr)}.row-4{grid-template-columns:repeat(4,1fr)}@media (width<=1080px){.row-3,.row-4{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.row-2,.row-3,.row-4{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:18px 20px;position:relative;overflow:hidden}.card h3{letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin:0 0 14px;font-size:12px;font-weight:700}.card .note{color:var(--faint);border-top:1px solid #605f6012;margin:14px 0 0;padding-top:11px;font-size:12px;line-height:1.5}.card-body{min-height:0}.kpi{padding:16px 18px}.kpi:before{content:"";background:var(--accent-grad);opacity:0;width:100%;height:2px;transition:opacity .2s;position:absolute;inset:0 auto auto 0}.kpi:hover:before{opacity:1}.kpi-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.kpi-value{margin:8px 0 3px;font-size:30px;font-weight:700;line-height:1.05}.kpi-value.grad{background:var(--accent-grad);color:#0000;-webkit-background-clip:text;background-clip:text}.kpi-value.bad{color:var(--fail)}.kpi-value .kpi-sub{color:var(--muted);letter-spacing:0;margin-left:8px;font-size:14px;font-weight:600}.kpi-value.bad .kpi-sub{color:var(--fail);opacity:.8}.kpi-hint{color:var(--faint);font-size:12px}.donut-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:absolute;inset:0}.donut-center .v{font-size:23px;font-weight:700;line-height:1.1}.donut-center .l{color:var(--faint);letter-spacing:1.2px;text-transform:uppercase;text-align:center;font-size:10.5px;line-height:1.1}.legend{flex-wrap:wrap;justify-content:center;gap:7px 14px;margin-top:8px;display:flex}.legend .it{color:var(--muted);align-items:center;gap:6px;font-size:11.5px;display:flex}.legend .sw{border-radius:3px;width:9px;height:9px}.card.ratio-card h3{margin-bottom:8px}.card.ratio-card .note{margin-top:8px;padding-top:8px}.card.ratio-card .legend{margin-top:4px}.card.ratio-card .donut-center .v{font-size:19px}.card.ratio-card .donut-center .l{font-size:9.5px}.card.ratio-card.big{flex-direction:column;display:flex}.card.ratio-card.big .card-body{flex-direction:column;flex:1;justify-content:center;gap:6px;display:flex}.card.ratio-card.big .donut-center .v{font-size:26px}.card.ratio-card.big .donut-center .l{font-size:10.5px}.card.ratio-card.big .ratio .pct{font-size:26px}.ratio{justify-content:center;align-items:center;gap:14px;margin-top:6px;display:flex}.ratio .frac{color:var(--muted);flex-direction:column;align-items:center;display:flex}.ratio .frac .bar{background:var(--panel-border);width:70px;height:1px;margin:2px 0}.ratio .frac .num{font-size:13px;line-height:1.2}.ratio .frac .den{color:var(--faint)}.ratio .eq{color:var(--faint);font-size:16px}.ratio .pct{font-size:22px;font-weight:800}.ratio .pct.good{color:var(--pass)}.ratio .pct.bad{color:var(--fail)}.mini-search{border:1px solid var(--panel-border);width:100%;color:var(--text);font:inherit;background:#605f6012;border-radius:9px;outline:none;margin:12px 0 6px;padding:8px 12px;font-size:13px}.mini-search:focus{border-color:#78be2066}.wide-search{margin-bottom:12px}table{border-collapse:collapse;width:100%}table.bk td{border-bottom:1px solid #605f600f;padding:7px 8px;font-size:13px}table.bk tr:last-child td{border-bottom:0}table.bk .lbl{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.ip-link{color:inherit;border-bottom:1px dotted var(--faint);text-decoration:none}.ip-link:hover{color:var(--pass);border-bottom:1px solid var(--pass)}td.r,th.r{text-align:right}td.c,th.c,table.data th.c{text-align:center}table.data th{text-align:left;letter-spacing:1.2px;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--panel-border);padding:0 10px 9px;font-size:10.5px;font-weight:700}table.data td{border-bottom:1px solid #605f600f;padding:9px 10px}table.data tbody tr{transition:background .12s}table.data tbody tr:hover{background:#605f600d}.table-scroll{overflow-x:auto}table.cases{min-width:860px}.table-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.pct-pill{flex-direction:column;align-items:center;gap:5px;display:inline-flex}.pct-pill .pct-val{font-size:12.5px;line-height:1}.pct-bar{background:#605f6026;border-radius:3px;width:80px;height:5px;overflow:hidden}.pct-bar i{background:var(--accent-grad);height:100%;display:block}.pct-bar.low i{background:var(--fail)}.badge{font-family:var(--mono);border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.pager{justify-content:center;gap:5px;margin-top:12px;display:flex}.pager button{border:1px solid var(--panel-border);width:28px;height:28px;color:var(--muted);font:inherit;cursor:pointer;background:#605f600d;border-radius:8px;font-size:12.5px}.pager button:hover:not(:disabled){background:var(--panel-hover);color:var(--text)}.pager button.on{background:var(--accent-grad);color:var(--accent-fg);border-color:#0000;font-weight:700}.pager button:disabled{opacity:.3;cursor:default}.map-wrap{width:100%;position:relative}.map-wrap svg{width:100%;height:auto}.map-wrap path{transition:fill-opacity .12s}.map-tt{z-index:60;pointer-events:none;background:var(--pop-bg);box-shadow:0 10px 30px var(--shadow);border:1px solid #605f6033;border-radius:10px;padding:8px 11px;font-size:12.5px;position:absolute}.map-tt .k{color:var(--text);margin-bottom:4px;font-weight:700}.map-tt .row{justify-content:space-between;gap:18px;display:flex}.map-tt b{font-family:var(--mono)}.chart-tt{background:var(--pop-bg);box-shadow:0 10px 30px var(--shadow);border:1px solid #605f6033;border-radius:10px;padding:9px 12px;font-size:12.5px}.chart-tt .k{color:var(--muted);margin-bottom:6px;font-weight:600}.chart-tt .row{justify-content:space-between;gap:16px;display:flex}.chart-tt b{font-family:var(--mono)}.trend-head{flex-wrap:wrap;align-items:flex-start;gap:14px;margin-bottom:10px;display:flex}.trend-head .hint{color:var(--faint);max-width:520px;margin-top:2px;font-size:12px;line-height:1.5}.trend-chips{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.chip-src{cursor:pointer;border:1px solid var(--panel-border);background:var(--panel);color:var(--text);-webkit-user-select:none;user-select:none;border-radius:20px;align-items:center;gap:7px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.chip-src .dot{border-radius:3px;flex:none;width:9px;height:9px}.chip-src .cnt{font-family:var(--mono);color:var(--faint);font-size:10.5px}.chip-src.off{background:var(--input-bg);color:var(--faint);opacity:.65}.chip-src.disabled{opacity:.45;cursor:not-allowed}.trend-legend{flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 10px;display:flex}.trend-legend .sep{background:var(--panel-border);width:1px;height:16px;margin:0 4px}.curve-pill{color:var(--text);background:var(--input-bg);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;gap:7px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.curve-pill:hover{border-color:var(--panel-border)}.curve-pill.off{opacity:.42}.curve-sw{border-radius:2px;flex:none;width:18px;height:3px}.trend-wrap{width:100%;position:relative}.trend-empty{color:var(--faint);font-size:13px}.trend-zoom{background:var(--input-bg);border:1px solid var(--panel-border);border-radius:9px;align-items:center;gap:2px;margin-left:auto;padding:2px;display:inline-flex}.trend-zoom .lbl{letter-spacing:.6px;color:var(--muted);white-space:nowrap;padding:0 8px 0 6px;font-size:11px;font-weight:700}.trend-zoom button{color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:4px 9px;font-size:11.5px;font-weight:600}.trend-zoom button.on{background:var(--panel);color:var(--text);box-shadow:0 1px 3px var(--shadow)}.linklike{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.linklike:hover:not(:disabled){color:var(--text)}.linklike:disabled{opacity:.4;cursor:default;text-decoration:none}.search-head{align-items:center;gap:12px;margin-bottom:16px;display:flex}.search-head h2{margin:0;font-size:18px}.search-head .chip{font-family:var(--mono);color:var(--pass);background:#78be201f;border:1px solid #78be204d;border-radius:8px;padding:3px 10px;font-size:12.5px}.linkish{color:var(--pass);cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.linkish:hover{text-decoration:underline}.denied-text{color:var(--muted);text-align:center;margin:0 0 14px;font-size:13px;line-height:1.5}.denied-text code{background:#605f6017;border-radius:6px;padding:1px 6px;font-size:12px}.denied-user{color:var(--faint);text-align:center;margin:0 0 18px;font-size:12px}.denied-actions{justify-content:center;display:flex}auth-account-button{--auth-accent:var(--pass);--auth-text:var(--text)}.login-wrap{flex:1;place-items:center;padding:30px;display:grid}.login-card{background:var(--pop-bg);border:1px solid var(--panel-border);width:380px;max-width:100%;box-shadow:0 30px 80px var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;padding:38px 34px}.login-card .logo{text-align:center;flex-direction:column;justify-content:center;margin-bottom:8px}.login-card p.tag{text-align:center;color:var(--muted);margin:0 0 26px;font-size:13px}.field{margin-bottom:14px}.field label{letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.field input{border:1px solid var(--panel-border);width:100%;color:var(--text);font:inherit;background:#605f6012;border-radius:10px;outline:none;padding:10px 13px;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:#78be2080;box-shadow:0 0 0 3px #78be201f}.btn{background:var(--accent-grad);width:100%;color:var(--accent-fg);font:inherit;cursor:pointer;border:0;border-radius:10px;padding:11px;font-weight:800;transition:filter .15s,transform 50ms}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(1px)}.btn:disabled{filter:grayscale(.6)brightness(.7);cursor:default}.btn.ghost{color:var(--text);background:#605f601a;font-weight:600}.form-err{color:var(--fail);min-height:17px;margin:10px 0 0;font-size:12.5px}.form-ok{color:var(--pass);margin:10px 0 0;font-size:12.5px}.overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#04070db3;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--pop-bg);border:1px solid var(--panel-border);width:400px;max-width:calc(100vw - 40px);box-shadow:0 30px 80px var(--shadow);border-radius:16px;padding:26px 26px 22px}.modal h2{margin:0 0 4px;font-size:17px}.modal p.sub{color:var(--muted);margin:0 0 20px;font-size:12.5px}.modal .actions{gap:10px;margin-top:18px;display:flex}.banner{color:#fda4af;background:#e722341a;border:1px solid #e722344d;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.banner button{color:#fda4af;cursor:pointer;font:inherit;background:0 0;border:1px solid #e7223466;border-radius:7px;padding:4px 10px;font-size:12px}.loading{place-items:center;padding:80px 0;display:grid}.spinner{border:3px solid #605f6026;border-top-color:var(--pass);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{rotate:360deg}}.empty{color:var(--faint);text-align:center;padding:26px 0;font-size:13px}.footer{text-align:center;color:var(--faint);border-top:1px solid #605f6012;padding:18px;font-size:11.5px}.footer .mono{font-size:11px}
