@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap");.admin-app,.admin-app[data-theme=dark]{--font-sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--pri:#2563EB;--pri-2:#3B82F6;--pri-3:#60A5FA;--pri-glow:rgba(60,130,255,0.18);--good:#22c55e;--good-bg:rgba(34,197,94,0.10);--warn:#f59e0b;--warn-bg:rgba(245,158,11,0.10);--bad:#ef4444;--bad-bg:rgba(239,68,68,0.10);--info:#06b6d4;--info-bg:rgba(6,182,212,0.10);--iris:#818cf8;--iris-bg:rgba(129,140,248,0.10);--violet:#a78bfa;--violet-bg:rgba(167,139,250,0.10);--risk-low:#22c55e;--risk-med:#f59e0b;--risk-high:#ef4444;--risk-crit:#b91c1c;--r-xs:2px;--r-sm:3px;--r-md:4px;--r-lg:6px;--r-pill:100px;--d-pad:16px;--d-gap:12px;--d-row:36px;--d-fz:13px;--d-fz-sm:11.5px;--d-fz-xs:10.5px;--d-cell-pad-x:12px;--d-cell-pad-y:8px;--topbar-h:48px;--wire-h:28px;--sidebar-w:232px;--audit-w:320px;--tweak-w:308px}.admin-app[data-density=compact]{--d-pad:10px;--d-gap:8px;--d-row:28px;--d-fz:12px;--d-fz-sm:10.5px;--d-fz-xs:9.5px;--d-cell-pad-x:8px;--d-cell-pad-y:5px;--topbar-h:42px;--wire-h:24px}.admin-app[data-density=comfy]{--d-pad:22px;--d-gap:18px;--d-row:48px;--d-fz:14px;--d-fz-sm:12.5px;--d-fz-xs:11.5px;--d-cell-pad-x:16px;--d-cell-pad-y:12px;--topbar-h:56px;--wire-h:32px}.admin-app,.admin-app[data-theme=dark]{--bg:#07080A;--bg-2:#0B0D12;--surface:#10131A;--surface-2:#161A23;--surface-3:#1C212C;--surface-hi:#232936;--tx-1:#F4F6FA;--tx-2:#C3C9D5;--tx-3:#8A93A4;--tx-4:#5D6678;--tx-5:#3A4253;--line:rgba(255,255,255,0.06);--line-2:rgba(255,255,255,0.10);--line-strong:rgba(255,255,255,0.16);--line-pri:rgba(60,130,255,0.32);--grid-line:rgba(255,255,255,0.025);--hover:rgba(255,255,255,0.035);--hover-2:rgba(255,255,255,0.06);--shadow-pop:0 12px 36px rgba(0,0,0,0.55),0 2px 8px rgba(0,0,0,0.4);--shadow-sm:0 1px 0 rgba(255,255,255,0.04);--kbd-bg:rgba(255,255,255,0.07);--kbd-border:rgba(255,255,255,0.12)}.admin-app[data-theme=light]{--bg:#F6F7FA;--bg-2:#ECEEF3;--surface:#FFFFFF;--surface-2:#FAFBFC;--surface-3:#F2F4F7;--surface-hi:#E6E9EF;--tx-1:#0F1115;--tx-2:#2A2F3A;--tx-3:#5D6678;--tx-4:#8A93A4;--tx-5:#B5BAC5;--line:rgba(15,17,21,0.08);--line-2:rgba(15,17,21,0.12);--line-strong:rgba(15,17,21,0.20);--line-pri:rgba(37,99,235,0.30);--grid-line:rgba(15,17,21,0.04);--hover:rgba(15,17,21,0.03);--hover-2:rgba(15,17,21,0.05);--shadow-pop:0 8px 24px rgba(15,17,21,0.10),0 2px 6px rgba(15,17,21,0.06);--shadow-sm:0 1px 0 rgba(15,17,21,0.04);--kbd-bg:rgba(15,17,21,0.05);--kbd-border:rgba(15,17,21,0.12);--good-bg:rgba(34,197,94,0.13);--warn-bg:rgba(245,158,11,0.13);--bad-bg:rgba(239,68,68,0.13);--info-bg:rgba(6,182,212,0.13);--iris-bg:rgba(129,140,248,0.13);--violet-bg:rgba(167,139,250,0.13);--pri-glow:rgba(60,130,255,0.10)}.admin-app[data-theme=hc]{--bg:#000000;--bg-2:#000000;--surface:#0B0B0B;--surface-2:#161616;--surface-3:#1F1F1F;--surface-hi:#2A2A2A;--tx-1:#FFFFFF;--tx-2:#F0F0F0;--tx-3:#C8C8C8;--tx-4:#999999;--tx-5:#666666;--line:rgba(255,255,255,0.30);--line-2:rgba(255,255,255,0.45);--line-strong:rgba(255,255,255,0.70);--line-pri:#60A5FA;--grid-line:rgba(255,255,255,0.06);--hover:rgba(255,255,255,0.10);--hover-2:rgba(255,255,255,0.15);--pri:#60A5FA;--good:#4ADE80;--warn:#FBBF24;--bad:#FB7185;--info:#22D3EE}.admin-app *,.admin-app :after,.admin-app :before{box-sizing:border-box}.admin-app{margin:0;padding:0;min-height:100vh;background:var(--bg);font-family:var(--font-sans);color:var(--tx-1);font-size:var(--d-fz);line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01","ss03";overflow-x:hidden}.admin-app button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}.admin-app button:disabled{cursor:not-allowed;opacity:.45}.admin-app input,.admin-app select,.admin-app textarea{font:inherit;color:inherit;outline:none}.admin-app a{color:inherit;text-decoration:none}.admin-app ::-moz-selection{background:var(--pri-glow)}.admin-app ::selection{background:var(--pri-glow)}.mono{font-family:var(--font-mono);font-feature-settings:"zero","ss01"}.tabular{font-variant-numeric:tabular-nums}.lbl{color:var(--tx-4);font-weight:500}.lbl,.lbl-strong{font-size:var(--d-fz-xs);letter-spacing:.08em;text-transform:uppercase}.lbl-strong{font-weight:600}.lbl-strong,.muted{color:var(--tx-3)}.muted-2{color:var(--tx-4)}.dim{color:var(--tx-5)}.admin-app ::-webkit-scrollbar{width:10px;height:10px}.admin-app ::-webkit-scrollbar-track{background:transparent}.admin-app ::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:0;border:2px solid var(--bg)}.admin-app ::-webkit-scrollbar-thumb:hover{background:var(--line-strong)}.admin-app ::-webkit-scrollbar-corner{background:var(--bg)}.bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:32px 32px}.admin-app[data-bgmode=plain] .bg-grid{display:none}.admin-app[data-bgmode=glow] .bg-grid{background-image:radial-gradient(ellipse at 20% 0,var(--pri-glow) 0,transparent 50%),linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:100% 100%,32px 32px,32px 32px}.app-shell{position:relative;z-index:1;display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.app-shell.audit-on{grid-template-columns:var(--sidebar-w) 1fr var(--audit-w)}.app-shell.tweaks-on{grid-template-columns:var(--sidebar-w) 1fr var(--tweak-w)}.app-shell.audit-on.tweaks-on{grid-template-columns:var(--sidebar-w) 1fr var(--audit-w) var(--tweak-w)}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;z-index:5}.sb-brand{display:flex;align-items:center;gap:10px;padding:14px 14px 10px;border-bottom:1px solid var(--line)}.sb-brand img{height:16px;opacity:.95;filter:brightness(1.1)}[data-theme=light] .sb-brand img{filter:invert(1) brightness(.4)}.sb-brand .role-tag{margin-left:auto;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--pri-2);background:var(--pri-glow);padding:2px 6px;border-radius:var(--r-xs);font-family:var(--font-mono)}.sb-op{padding:10px 12px;border-bottom:1px solid var(--line);gap:10px}.sb-op,.sb-op .av{display:flex;align-items:center}.sb-op .av{width:28px;height:28px;border-radius:var(--r-xs);background:linear-gradient(135deg,var(--pri-2),var(--pri));color:#fff;font-size:11px;font-weight:700;font-family:var(--font-mono);justify-content:center;letter-spacing:.04em;flex-shrink:0}.sb-op .meta{min-width:0;flex:1}.sb-op .nm{font-size:12px;font-weight:600;line-height:1.2}.sb-op .role{font-size:9.5px;color:var(--tx-4);font-family:var(--font-mono);letter-spacing:.05em;display:flex;align-items:center;gap:5px}.sb-op .role .dot{width:5px;height:5px;border-radius:50%;background:var(--good);box-shadow:0 0 6px var(--good)}.sb-op .switch{font-size:10px;color:var(--tx-3);padding:4px 6px;border:1px solid var(--line-2);border-radius:var(--r-sm);font-family:var(--font-mono)}.sb-op .switch:hover{color:var(--tx-1);border-color:var(--line-strong);background:var(--hover)}.sb-search{margin:10px 12px;display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--tx-3);font-size:12px;cursor:pointer}.sb-search:hover{border-color:var(--line-2);color:var(--tx-2)}.sb-search .kbd{margin-left:auto;font-family:var(--font-mono);font-size:10px;padding:1px 5px;background:var(--kbd-bg);border:1px solid var(--kbd-border);border-radius:var(--r-xs);color:var(--tx-3)}.sb-nav{flex:1;overflow-y:auto;padding:8px 10px 16px}.sb-group{margin-top:18px}.sb-group:first-child{margin-top:6px}.sb-group-lbl{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-4);font-weight:600;padding:0 10px 9px;font-family:var(--font-mono)}.sb-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:var(--r-sm);color:var(--tx-2);font-size:12.5px;font-weight:450;position:relative;transition:background .12s,color .12s;margin-bottom:1px}.sb-item:hover{background:var(--hover);color:var(--tx-1)}.sb-item.active{background:var(--surface-2);color:var(--tx-1);font-weight:500}.sb-item.active:before{content:"";position:absolute;left:-8px;top:5px;bottom:5px;width:2px;background:var(--pri-2)}.sb-item .icon{width:14px;height:14px;flex-shrink:0;opacity:.85}.sb-item.active .icon{opacity:1;color:var(--pri-2)}.sb-item .badge{margin-left:auto;font-family:var(--font-mono);font-size:9.5px;font-weight:600;padding:1px 5px;border-radius:var(--r-xs);background:var(--surface-3);color:var(--tx-3);letter-spacing:.04em}.sb-item .badge.warn{background:var(--warn-bg);color:var(--warn)}.sb-item .badge.bad{background:var(--bad-bg);color:var(--bad)}.sb-item .badge.pri{background:var(--pri-glow);color:var(--pri-2)}.sb-foot{border-top:1px solid var(--line);padding:8px;display:flex;flex-direction:column;gap:2px}.topbar{position:sticky;top:0;z-index:4;gap:10px;height:var(--topbar-h);padding:0 16px;border-bottom:1px solid var(--line);background:var(--surface)}.crumb,.topbar{display:flex;align-items:center}.crumb{gap:8px;font-size:12px;font-family:var(--font-mono);letter-spacing:.02em}.crumb .seg.dim{color:var(--tx-4)}.crumb .seg.now{color:var(--tx-1);font-weight:500}.crumb .sep{color:var(--tx-5)}.tb-spacer{flex:1}.tb-clock{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;color:var(--tx-3);padding:4px 8px;border:1px solid var(--line);border-radius:var(--r-sm);letter-spacing:.04em}.tb-clock .live{width:5px;height:5px;border-radius:50%;background:var(--good);box-shadow:0 0 6px var(--good);animation:pulse 2s infinite}.tb-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--r-sm);color:var(--tx-3);font-size:12px;border:1px solid transparent}.tb-btn:hover{color:var(--tx-1);background:var(--hover);border-color:var(--line)}.tb-btn.active{color:var(--pri-2);border-color:var(--line-pri);background:var(--pri-glow)}.tb-btn .icon{width:14px;height:14px}.tb-lang{display:inline-flex;align-items:stretch;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em}.tb-lang-opt{padding:3px 9px;color:var(--tx-4);background:transparent;border:none;cursor:pointer;transition:background .12s,color .12s;line-height:1.4}.tb-lang-opt:hover{color:var(--tx-1);background:var(--hover)}.tb-lang-opt.active{color:var(--pri-2);background:var(--pri-glow);font-weight:600}.tb-lang-opt+.tb-lang-opt{border-left:1px solid var(--line)}.tb-session{display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--line);border-radius:var(--r-sm);font-family:var(--font-mono);font-size:10.5px;color:var(--tx-3);letter-spacing:.04em}.tb-session .k{color:var(--tx-4)}.tb-session .v{color:var(--tx-2)}.tb-session .v.warn{color:var(--warn)}.wire{position:sticky;top:var(--topbar-h);z-index:3;height:var(--wire-h);display:flex;align-items:center;border-bottom:1px solid var(--line);background:var(--surface-2);overflow:hidden}.wire.hidden{display:none}.wire-lbl{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-4);font-weight:600;padding:0 12px;border-right:1px solid var(--line);height:100%;display:flex;align-items:center;gap:6px;flex-shrink:0}.wire-lbl .live{width:5px;height:5px;border-radius:50%;background:var(--good);box-shadow:0 0 6px var(--good);animation:pulse 1.6s infinite}.wire-lane{flex:1;position:relative;height:100%;overflow:hidden}.wire-lane:after,.wire-lane:before{content:"";position:absolute;top:0;bottom:0;width:40px;z-index:2;pointer-events:none}.wire-lane:before{left:0;background:linear-gradient(90deg,var(--surface-2),transparent)}.wire-lane:after{right:0;background:linear-gradient(-90deg,var(--surface-2),transparent)}.wire-track{position:absolute;top:0;bottom:0;left:0;display:flex;align-items:center;gap:22px;white-space:nowrap;animation:wire-flow 70s linear infinite;will-change:transform}.wire-item{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10.5px;color:var(--tx-2);letter-spacing:.02em}.wire-item .ts{color:var(--tx-5);font-size:10px}.wire-item .ev{font-weight:600;letter-spacing:.05em}.wire-item .ev.good{color:var(--good)}.wire-item .ev.warn{color:var(--warn)}.wire-item .ev.bad{color:var(--bad)}.wire-item .ev.info{color:var(--info)}.wire-item .ev.pri{color:var(--pri-2)}.wire-item .arrow{color:var(--tx-5)}.wire-foot{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-4);padding:0 12px;border-left:1px solid var(--line);height:100%;display:flex;align-items:center;gap:8px;flex-shrink:0}@keyframes wire-flow{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.main{flex-direction:column;min-width:0;min-height:100vh;position:relative}.main,.page{display:flex}.page{flex:1;padding:var(--d-pad) var(--d-pad) 48px;flex-direction:column;gap:var(--d-gap);max-width:100%}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:4px}.page-head .l{min-width:0}.page-head h1{font-size:18px;font-weight:600;letter-spacing:-.01em;margin:0;display:flex;align-items:center;gap:10px}.page-head h1 .meta{font-family:var(--font-mono);font-size:11px;color:var(--tx-4);font-weight:400;padding:2px 6px;border:1px solid var(--line);border-radius:var(--r-xs);letter-spacing:.04em}.page-head .sub{margin-top:4px;font-size:12px;color:var(--tx-3);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-head .sub .dot{width:3px;height:3px;border-radius:50%;background:var(--tx-5)}.page-head .r{display:flex;align-items:center;gap:8px;flex-shrink:0}.grid{display:grid;gap:var(--d-gap)}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(5,1fr)}.g6{grid-template-columns:repeat(6,1fr)}.g8{grid-template-columns:repeat(8,1fr)}.g-7-5{grid-template-columns:7fr 5fr}.g-8-4{grid-template-columns:8fr 4fr}.g-5-7{grid-template-columns:5fr 7fr}.g-9-3{grid-template-columns:9fr 3fr}.g-3-9{grid-template-columns:3fr 9fr}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.row.tight{gap:6px}.row.loose{gap:16px}.col{gap:var(--d-gap)}.col,.stack{display:flex;flex-direction:column}.stack{gap:4px}.stack.sm{gap:2px}.stack.md{gap:8px}.stack.lg{gap:14px}@media (max-width:1280px){.g4{grid-template-columns:repeat(2,1fr)}.g5,.g6{grid-template-columns:repeat(3,1fr)}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);display:flex;flex-direction:column;min-width:0}.panel-h{justify-content:space-between;gap:10px;padding:10px var(--d-pad);border-bottom:1px solid var(--line);min-height:40px}.panel-h,.panel-h h3{display:flex;align-items:center}.panel-h h3{margin:0;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tx-2);font-family:var(--font-mono);gap:8px}.panel-h h3 .count{font-family:var(--font-mono);font-size:10.5px;color:var(--tx-4);font-weight:500;padding:1px 5px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-xs);letter-spacing:.04em}.panel-h .r{display:flex;align-items:center;gap:6px}.panel-b{padding:var(--d-pad);flex:1;min-width:0}.panel-b.flush{padding:0}.panel-b.tight{padding:10px var(--d-pad)}.panel-foot{padding:8px var(--d-pad);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:var(--tx-4)}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;position:relative;min-width:0;display:flex;flex-direction:column;gap:4px}.kpi:hover{border-color:var(--line-2)}.kpi .top{display:flex;align-items:center;justify-content:space-between;gap:8px}.kpi .k-lbl{letter-spacing:.12em;text-transform:uppercase;color:var(--tx-4);font-weight:600}.kpi .k-lbl,.kpi .k-trend{font-size:10px;font-family:var(--font-mono)}.kpi .k-trend{font-weight:500;padding:1px 5px;border-radius:var(--r-xs);letter-spacing:.04em}.kpi .k-trend.up{color:var(--good);background:var(--good-bg)}.kpi .k-trend.down{color:var(--bad);background:var(--bad-bg)}.kpi .k-trend.flat{color:var(--tx-4);background:var(--surface-3)}.kpi .k-val{font-family:var(--font-mono);font-feature-settings:"tnum","zero";font-size:22px;font-weight:500;letter-spacing:-.01em;color:var(--tx-1);line-height:1.1;display:flex;align-items:baseline;gap:4px}.kpi .k-val .ccy,.kpi .k-val .unit{color:var(--tx-4);font-size:11px;font-weight:500}.kpi .k-val .unit{margin-left:2px}.kpi .k-sub{font-size:11px;color:var(--tx-4);font-family:var(--font-mono);display:flex;align-items:center;gap:6px}.kpi .k-spark{position:absolute;right:8px;bottom:8px;width:60px;height:20px;opacity:.5}.tag{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;font-weight:600;padding:2px 6px;border-radius:var(--r-xs);background:var(--surface-2);color:var(--tx-2);border:1px solid var(--line);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.tag.solid{padding:2px 7px}.tag.good{background:var(--good-bg);color:var(--good);border-color:var(--good);border-color:rgba(34,197,94,.3)}.tag.warn{background:var(--warn-bg);color:var(--warn);border-color:rgba(245,158,11,.3)}.tag.bad{background:var(--bad-bg);color:var(--bad);border-color:rgba(239,68,68,.3)}.tag.info{background:var(--info-bg);color:var(--info);border-color:rgba(6,182,212,.3)}.tag.pri{background:var(--pri-glow);color:var(--pri-2);border-color:rgba(60,130,255,.3)}.tag.iris{background:var(--iris-bg);color:var(--iris);border-color:rgba(129,140,248,.3)}.tag.violet{background:var(--violet-bg);color:var(--violet);border-color:rgba(167,139,250,.3)}.tag .dot,.tag .live{width:5px;height:5px;border-radius:50%;background:currentColor}.tag .live{animation:pulse 2s infinite}.tag.lg{font-size:11px;padding:3px 8px}.tag.xs{font-size:9px;padding:1px 4px;letter-spacing:.04em}.dot-status{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--tx-4)}.dot-status.good{background:var(--good);box-shadow:0 0 6px var(--good)}.dot-status.warn{background:var(--warn);box-shadow:0 0 6px var(--warn)}.dot-status.bad{background:var(--bad);box-shadow:0 0 6px var(--bad)}.risk{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;font-weight:700;padding:1px 5px;border-radius:var(--r-xs);letter-spacing:.08em}.risk.low{color:var(--risk-low);background:rgba(34,197,94,.1)}.risk.med{color:var(--risk-med);background:rgba(245,158,11,.1)}.risk.high{color:var(--risk-high);background:rgba(239,68,68,.1)}.risk.crit{color:#fff;background:var(--risk-crit)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:5px 10px;border-radius:var(--r-sm);font-size:12px;font-weight:500;letter-spacing:.01em;border:1px solid var(--line);color:var(--tx-2);background:var(--surface);transition:.12s;height:28px;white-space:nowrap}.btn:hover{color:var(--tx-1);border-color:var(--line-strong);background:var(--surface-2)}.btn .icon{width:13px;height:13px}.btn.sm{padding:3px 7px;font-size:11px;height:24px}.btn.lg{padding:8px 14px;font-size:13px;height:36px}.btn.pri{background:var(--pri);color:#fff;border-color:var(--pri);font-weight:600}.btn.pri:hover{background:var(--pri-2);border-color:var(--pri-2)}.btn.good{color:var(--good);border-color:rgba(34,197,94,.3);background:var(--good-bg)}.btn.good:hover{background:rgba(34,197,94,.18);border-color:rgba(34,197,94,.5)}.btn.bad{color:var(--bad);border-color:rgba(239,68,68,.3);background:var(--bad-bg)}.btn.bad:hover{background:rgba(239,68,68,.18);border-color:rgba(239,68,68,.5)}.btn.warn{color:var(--warn);border-color:rgba(245,158,11,.3);background:var(--warn-bg)}.btn.warn:hover{background:rgba(245,158,11,.18);border-color:rgba(245,158,11,.5)}.btn.ghost{background:transparent;border-color:transparent;color:var(--tx-3)}.btn.ghost:hover{background:var(--hover);color:var(--tx-1)}.btn.icon-only{padding:0;width:28px;height:28px}.btn.icon-only.sm{width:24px;height:24px}.btn .kbd-hint{margin-left:4px;font-family:var(--font-mono);font-size:9.5px;color:var(--tx-4);padding:0 4px;background:var(--kbd-bg);border-radius:var(--r-xs);border:1px solid var(--kbd-border)}.btn-group{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}.btn-group .btn{border:0;border-right:1px solid var(--line);border-radius:0;background:var(--surface)}.btn-group .btn:last-child{border-right:0}.btn-group .btn.active{background:var(--surface-3);color:var(--tx-1);font-weight:600}.input,.select,.textarea{width:100%;padding:6px 10px;height:30px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--tx-1);font-size:12.5px;transition:.12s}.textarea{height:auto;padding:8px 10px;min-height:60px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--line-pri);background:var(--surface);box-shadow:0 0 0 2px var(--pri-glow)}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--tx-5)}.input::placeholder,.textarea::placeholder{color:var(--tx-5)}.input.mono{font-family:var(--font-mono)}.input.sm{height:26px;padding:4px 8px;font-size:11.5px}.field{display:flex;flex-direction:column;gap:5px}.field-lbl{font-size:10.5px;color:var(--tx-3);letter-spacing:.06em;text-transform:uppercase;font-weight:600;font-family:var(--font-mono)}.field-help{font-size:11px;color:var(--tx-4)}.search-input{position:relative;display:flex;align-items:center}.search-input .icon-l{position:absolute;left:8px;color:var(--tx-4);pointer-events:none}.search-input .input{padding-left:28px}.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);font-size:11px;color:var(--tx-2);font-family:var(--font-mono);letter-spacing:.02em}.chip:hover{border-color:var(--line-2)}.chip .k,.chip .x{color:var(--tx-4)}.chip .x{cursor:pointer}.chip .x:hover{color:var(--tx-1)}.chip.active{background:var(--pri-glow);border-color:var(--line-pri);color:var(--pri-2)}.dt-wrap{position:relative;overflow:auto;background:var(--surface);max-height:70vh}.dt{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--d-fz);table-layout:auto}.dt thead th{position:sticky;top:0;z-index:2;background:var(--surface-2);text-align:left;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-3);padding:var(--d-cell-pad-y) var(--d-cell-pad-x);border-bottom:1px solid var(--line-2);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.dt thead th .sort{margin-left:4px;color:var(--tx-5);font-size:8px}.dt thead th.sorted .sort{color:var(--pri-2)}.dt thead th.num,.dt thead th.right{text-align:right}.dt thead th.center{text-align:center}.dt thead th.sticky-l{left:0;z-index:3}.dt thead th.sticky-r{right:0;z-index:3}.dt thead th.sticky-l,.dt thead th.sticky-r{background:var(--surface-3)}.dt tbody td{padding:var(--d-cell-pad-y) var(--d-cell-pad-x);border-bottom:1px solid var(--line);color:var(--tx-2);vertical-align:middle;white-space:nowrap;height:var(--d-row)}.dt tbody td.num{text-align:right}.dt tbody td.mono,.dt tbody td.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dt tbody td.dim{color:var(--tx-4)}.dt tbody td.strong{color:var(--tx-1);font-weight:500}.dt tbody td.sticky-l{left:0}.dt tbody td.sticky-l,.dt tbody td.sticky-r{position:sticky;background:var(--surface);z-index:1}.dt tbody td.sticky-r{right:0}.dt tbody tr{transition:background .1s}.dt tbody tr:hover{background:var(--hover)}.dt tbody tr:hover td.sticky-l,.dt tbody tr:hover td.sticky-r{background:var(--surface-2)}.dt tbody tr.selected,.dt tbody tr.selected td.sticky-l,.dt tbody tr.selected td.sticky-r{background:var(--pri-glow)}.dt tbody tr.expanded,.dt tbody tr.row-detail td{background:var(--surface-2)}.dt tbody tr.row-detail td{padding:0;border-bottom:1px solid var(--line-2)}.dt .row-detail-inner{padding:12px 18px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;font-size:11.5px}.dt-toolbar{display:flex;align-items:center;gap:8px;padding:8px var(--d-pad);border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap}.dt-toolbar .grow{flex:1}.dt-foot{justify-content:space-between;padding:6px var(--d-pad);border-top:1px solid var(--line);background:var(--surface);font-family:var(--font-mono);font-size:10.5px;color:var(--tx-3);letter-spacing:.04em}.dt-foot,.dt-foot .pager{display:flex;align-items:center}.dt-foot .pager{gap:4px}.dt-foot .pager .btn{font-family:var(--font-mono);padding:2px 6px;height:22px;font-size:10.5px}.cell-stack{display:flex;flex-direction:column;gap:1px;line-height:1.2}.cell-stack .sub{font-size:10.5px;color:var(--tx-4);font-family:var(--font-mono)}.cell-bar,.cell-row{display:flex;align-items:center;gap:6px}.cell-bar .bar{flex:1;height:4px;min-width:40px;background:var(--surface-3);border-radius:var(--r-xs);overflow:hidden}.cell-bar .bar .fill{height:100%;background:var(--pri-2);transition:width .4s cubic-bezier(.16,1,.3,1)}.cell-bar .bar.warn .fill{background:var(--warn)}.cell-bar .bar.bad .fill{background:var(--bad)}.cell-bar .pct{font-size:10px;color:var(--tx-3);min-width:30px;text-align:right}.cell-bar .pct,.masked{font-family:var(--font-mono)}.masked{font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-bottom:1px dotted var(--line-2);padding-bottom:1px;color:var(--tx-2)}.masked:hover{color:var(--tx-1);border-bottom-color:var(--line-strong)}.masked .eye{opacity:.4;color:var(--tx-4)}.masked.revealed .eye{opacity:.8;color:var(--warn)}.masked.revealed{color:var(--warn);border-bottom-color:var(--warn)}.av{width:24px;height:24px;border-radius:var(--r-xs);font-family:var(--font-mono);font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;color:#fff;letter-spacing:.04em;flex-shrink:0}.av.sm{width:20px;height:20px;font-size:9px}.av.lg{width:36px;height:36px;font-size:13px;border-radius:var(--r-sm)}.audit-drawer{position:sticky;top:0;height:100vh;border-left:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;overflow:hidden;z-index:4}.audit-h{padding:10px 14px;border-bottom:1px solid var(--line);justify-content:space-between;gap:8px}.audit-h,.audit-h h3{display:flex;align-items:center}.audit-h h3{margin:0;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-2);font-family:var(--font-mono);gap:6px}.audit-h h3 .live{width:5px;height:5px;border-radius:50%;background:var(--good);box-shadow:0 0 6px var(--good);animation:pulse 1.8s infinite}.audit-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);background:var(--surface-2)}.audit-tab{flex:1;padding:6px 8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-4);font-weight:600;border-right:1px solid var(--line);border-bottom:2px solid transparent}.audit-tab:last-child{border-right:0}.audit-tab.active{color:var(--pri-2);border-bottom-color:var(--pri-2);background:var(--surface)}.audit-tab .count{margin-left:4px;font-size:9.5px;color:var(--tx-3);font-weight:500}.audit-body{flex:1;overflow-y:auto;padding:8px 0}.audit-entry{padding:8px 14px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px;font-size:11.5px;position:relative}.audit-entry:hover{background:var(--hover)}.audit-entry .ts{font-family:var(--font-mono);font-size:10px;color:var(--tx-4);letter-spacing:.04em;display:flex;align-items:center;gap:6px}.audit-entry .who{display:inline-flex;align-items:center;gap:4px;color:var(--tx-2);font-weight:500}.audit-entry .action{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:1px 4px;border-radius:var(--r-xs);background:var(--surface-3);color:var(--tx-2);white-space:nowrap}.audit-entry .action.write{background:var(--pri-glow);color:var(--pri-2)}.audit-entry .action.danger{background:var(--bad-bg);color:var(--bad)}.audit-entry .action.warn{background:var(--warn-bg);color:var(--warn)}.audit-entry .action.read{background:var(--surface-3);color:var(--tx-3)}.audit-entry .target{font-family:var(--font-mono);font-size:11px;color:var(--tx-1);font-weight:500}.audit-entry .why{font-size:10.5px;color:var(--tx-4);font-style:italic;padding-left:12px;border-left:1px solid var(--line-2)}.audit-entry.pending:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--warn)}.signoff{border:1px solid var(--warn);background:var(--warn-bg);border-radius:var(--r-md);padding:12px;gap:10px;font-size:12px}.signoff,.signoff .icon-wrap{display:flex;align-items:center}.signoff .icon-wrap{width:28px;height:28px;border-radius:var(--r-sm);background:var(--warn);color:#000;justify-content:center;flex-shrink:0}.signoff .meta{flex:1;min-width:0}.signoff .meta .t{font-weight:600;color:var(--tx-1)}.signoff .meta .s{font-size:11px;color:var(--tx-3);margin-top:2px}.overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fade-in .16s ease-out}.modal{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-md);box-shadow:var(--shadow-pop);min-width:420px;max-width:720px;max-height:88vh;display:flex;flex-direction:column;animation:pop-in .2s cubic-bezier(.16,1,.3,1) both}.modal.lg{min-width:720px;max-width:1000px}.modal.xl{min-width:980px;max-width:1280px}.modal-h{padding:14px 18px;border-bottom:1px solid var(--line);justify-content:space-between;gap:10px}.modal-h,.modal-h h2{display:flex;align-items:center}.modal-h h2{margin:0;font-size:14px;font-weight:600;letter-spacing:-.005em;gap:8px}.modal-h h2 .meta{font-family:var(--font-mono);font-size:10.5px;color:var(--tx-4);font-weight:500;padding:1px 5px;border:1px solid var(--line);border-radius:var(--r-xs);letter-spacing:.04em}.modal-b{padding:16px 18px;overflow-y:auto;flex:1}.modal-b.flush{padding:0;overflow:auto}.modal-foot{padding:12px 18px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-foot .l{color:var(--tx-4);font-size:11px}.modal-foot .l,.modal-foot .r{display:flex;align-items:center;gap:8px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}.palette{position:fixed;top:80px;left:50%;transform:translateX(-50%);width:640px;max-width:92vw;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-md);box-shadow:var(--shadow-pop);z-index:110;display:flex;flex-direction:column;overflow:hidden;animation:pop-in .2s cubic-bezier(.16,1,.3,1) both}.palette-input{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.palette-input input{flex:1;background:transparent;border:0;outline:none;font-size:15px;color:var(--tx-1)}.palette-input input::-moz-placeholder{color:var(--tx-5)}.palette-input input::placeholder{color:var(--tx-5)}.palette-results{flex:1;overflow-y:auto;max-height:60vh}.palette-group{padding:4px 0}.palette-group .grp-lbl{padding:8px 18px 4px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-4);font-weight:600}.palette-row{display:flex;align-items:center;gap:10px;padding:8px 18px;font-size:13px;color:var(--tx-2)}.palette-row .icon{width:14px;height:14px;color:var(--tx-4)}.palette-row.active{background:var(--pri-glow);color:var(--pri-2)}.palette-row.active .icon{color:var(--pri-2)}.palette-row .meta{margin-left:auto;color:var(--tx-5)}.palette-foot,.palette-row .meta{font-family:var(--font-mono);font-size:10px}.palette-foot{display:flex;align-items:center;justify-content:space-between;padding:8px 18px;background:var(--surface-2);border-top:1px solid var(--line);color:var(--tx-4);letter-spacing:.04em}.palette-foot .keys{display:flex;align-items:center;gap:12px}.kbd{font-family:var(--font-mono);font-size:10px;padding:1px 5px;background:var(--kbd-bg);border:1px solid var(--kbd-border);border-radius:var(--r-xs);color:var(--tx-3)}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:200;padding:10px 16px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-md);box-shadow:var(--shadow-pop);font-size:12.5px;display:flex;align-items:center;gap:10px;animation:pop-in .2s cubic-bezier(.16,1,.3,1) both}.toast.good{border-color:var(--good)}.toast.warn{border-color:var(--warn)}.toast.bad{border-color:var(--bad)}.admin-app .push-optin{position:fixed;right:16px;bottom:16px;z-index:2147483000;width:min(360px,calc(100vw - 32px));padding:15px 16px;border-radius:var(--r-lg,12px);background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);border:1px solid color-mix(in srgb,var(--pri) 55%,var(--line));box-shadow:0 0 0 1px rgba(0,0,0,.35),0 18px 44px -10px rgba(0,0,0,.65),0 0 26px -6px var(--pri-glow,transparent);animation:push-optin-in .32s cubic-bezier(.16,1,.3,1) both}.admin-app .push-optin:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--pri-2,var(--pri)),transparent)}@keyframes push-optin-in{0%{opacity:0;transform:translate3d(24px,16px,0) scale(.96)}to{opacity:1;transform:translateZ(0) scale(1)}}@media (max-width:767px){.admin-app .push-optin{left:12px;right:12px;width:auto;bottom:calc(76px + env(safe-area-inset-bottom, 0px))}}@media (prefers-reduced-motion:reduce){.admin-app .push-optin{animation:none}}.toast .ind{width:5px;height:5px;border-radius:50%;background:var(--pri-2);box-shadow:0 0 6px var(--pri-2)}.toast.good .ind{background:var(--good);box-shadow:0 0 6px var(--good)}.toast.warn .ind{background:var(--warn);box-shadow:0 0 6px var(--warn)}.toast.bad .ind{background:var(--bad);box-shadow:0 0 6px var(--bad)}.divider{height:1px;background:var(--line);margin:10px 0}.divider.v{height:auto;width:1px;align-self:stretch;margin:0 8px}.fade-in{animation:fade-up .28s cubic-bezier(.16,1,.3,1) both}@keyframes fade-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.fz-10{font-size:10px}.fz-11{font-size:11px}.fz-12{font-size:12px}.fz-13{font-size:13px}.fz-14{font-size:14px}.fz-16{font-size:16px}.fz-18{font-size:18px}.fz-22{font-size:22px}.fz-28{font-size:28px}.fw-500{font-weight:500}.fw-600{font-weight:600}.fw-700{font-weight:700}.tx-1{color:var(--tx-1)}.tx-2{color:var(--tx-2)}.tx-3{color:var(--tx-3)}.tx-4{color:var(--tx-4)}.text-pri{color:var(--pri-2)}.text-good{color:var(--good)}.text-bad{color:var(--bad)}.text-warn{color:var(--warn)}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.fl-1{flex:1;min-width:0}.nowrap,.text-ellipsis{white-space:nowrap}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;min-width:0}.grow{flex:1}.spark{display:block;height:24px;width:80px}.spark path.line{fill:none;stroke:var(--pri-2);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.spark path.area{fill:var(--pri-2);opacity:.12}.spark.good path.line{stroke:var(--good)}.spark.good path.area{fill:var(--good)}.spark.bad path.line{stroke:var(--bad)}.spark.bad path.area{fill:var(--bad)}.spark.warn path.line{stroke:var(--warn)}.spark.warn path.area{fill:var(--warn)}.diff{font-family:var(--font-mono);font-size:11.5px;display:flex;align-items:center;gap:8px}.diff .from{color:var(--bad);text-decoration:line-through}.diff .to{color:var(--good)}.diff .arr{color:var(--tx-5)}.kbd-row{display:inline-flex;align-items:center;gap:3px}.risk-page{padding:24px 28px 60px;gap:20px}.risk-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:4px}.risk-row{display:grid;gap:16px}.risk-row.gauges{grid-template-columns:repeat(4,1fr)}.risk-row.split-8-4{grid-template-columns:8fr 4fr}.risk-row.split-7-5{grid-template-columns:7fr 5fr}.risk-row.split-5-7{grid-template-columns:5fr 7fr}.risk-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);display:flex;flex-direction:column;min-width:0;overflow:hidden;transition:border-color .16s}.risk-panel:hover{border-color:var(--line-2)}.risk-panel.big{min-height:280px}.rp-h{display:flex;align-items:flex-start;justify-content:space-between;padding:14px 18px 10px;gap:12px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--surface-2) 0,var(--surface) 100%)}.rp-t{min-width:0;flex:1}.rp-t h3{margin:0;font-size:13px;font-weight:600;color:var(--tx-1);letterspacing:-.005em}.rp-t .rp-s{margin-top:3px;font-size:10.5px;color:var(--tx-4);font-family:var(--font-mono);letter-spacing:.02em;text-transform:none}.rp-api{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.rp-api-tag{font-family:var(--font-mono);font-size:9.5px;color:var(--tx-4);padding:1px 5px;background:var(--surface-3);border:1px solid var(--line);border-radius:2px;letter-spacing:.02em;white-space:nowrap}.rp-b{padding:18px;flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.rp-watchlist-row{display:grid;grid-template-columns:44px 1fr auto 90px 110px;gap:12px;padding:8px 10px;align-items:center;border-bottom:1px solid var(--line);border-radius:2px;cursor:pointer}.rp-watchlist-row:hover{background:var(--hover)}.rp-watchlist-row:last-child{border-bottom:0}.rp-score{font-family:var(--font-mono);font-size:22px;font-weight:500;text-align:center;letter-spacing:-.02em}.rp-customer{display:flex;flex-direction:column;gap:2px;min-width:0}.rp-alert{padding:8px 12px;background:var(--surface-2);border:1px solid var(--line);border-left-width:2px;border-radius:2px}.rp-b>svg{align-self:center}@media (max-width:1380px){.risk-row.gauges{grid-template-columns:repeat(2,1fr)}.risk-row.split-5-7,.risk-row.split-7-5,.risk-row.split-8-4{grid-template-columns:1fr}}.profit-engine .rp-h{align-items:center;background:linear-gradient(180deg,var(--good-bg) 0,var(--surface) 100%)}.pe-total{text-align:right;flex-shrink:0;position:relative}.pe-total-val{font-size:32px;font-weight:600;line-height:1;letter-spacing:-.01em;color:var(--good);text-shadow:0 0 18px rgba(34,197,94,.3);display:inline-flex;align-items:baseline;gap:6px}.pe-unit{font-size:12px;font-weight:600}.pe-total-lbl,.pe-unit{color:var(--tx-4);letter-spacing:.04em}.pe-total-lbl{margin-top:4px;font-size:10.5px;font-family:var(--font-mono);display:flex;align-items:center;justify-content:flex-end;gap:8px}.pe-total-delta{color:var(--good);font-weight:600;animation:pe-pop 1.4s ease-out both}.pe-total-flash{position:absolute;inset:-10px -14px;border-radius:var(--r-md);background:radial-gradient(ellipse at center,rgba(34,197,94,.22),transparent 70%);pointer-events:none;animation:pe-flash 1.1s ease-out forwards}.pe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width:1100px){.pe-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:680px){.pe-grid{grid-template-columns:1fr}}.pe-card{position:relative;overflow:hidden;padding:14px;border-radius:var(--r-sm,6px);background:var(--surface-2);border:1px solid var(--line);transition:border-color .2s,transform .2s}.pe-card:hover{border-color:var(--line-2)}.pe-card.grew{border-color:rgba(34,197,94,.55)}.pe-glow{inset:0;background:radial-gradient(ellipse at 80% 0,rgba(34,197,94,.2),transparent 65%);animation:pe-flash 1.2s ease-out forwards}.pe-float,.pe-glow{position:absolute;pointer-events:none}.pe-float{top:12px;right:14px;font-size:12px;font-weight:600;color:var(--good);text-shadow:0 0 10px rgba(34,197,94,.4);animation:pe-float 1.6s ease-out forwards}.pe-card-h{display:flex;align-items:center;gap:9px;margin-bottom:10px}.pe-ico{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;flex-shrink:0;background:var(--good-bg);color:var(--good)}.pe-card-t{display:flex;flex-direction:column;gap:1px;min-width:0}.pe-name{font-size:12.5px;font-weight:600;color:var(--tx-1)}.pe-hint{font-size:10px;color:var(--tx-4);font-family:var(--font-mono);letter-spacing:.02em}.pe-val{font-size:23px;font-weight:600;line-height:1;letter-spacing:-.01em;color:var(--tx-1);display:flex;align-items:baseline;gap:5px}.pe-val .pe-unit{font-size:10.5px}.pe-ccys{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.pe-chip{display:inline-flex;align-items:baseline;gap:4px;padding:3px 8px;border-radius:5px;background:var(--surface-3);border:1px solid var(--line);font-size:11px}.pe-chip-amt{color:var(--tx-1);font-weight:600}.pe-chip-ccy{color:var(--tx-4);font-size:9.5px;letter-spacing:.03em}.pe-chart{position:relative;width:100%;margin-top:14px;border-top:1px solid var(--line);padding-top:10px}.pe-chart canvas{cursor:crosshair}@media (max-width:680px){.profit-engine{margin-top:4px}.profit-engine .rp-h{flex-direction:column;align-items:flex-start;gap:10px;padding:12px 14px 10px}.pe-total{text-align:left;align-self:stretch}.pe-total-val{font-size:26px}.pe-total-lbl{justify-content:flex-start}.pe-grid{grid-template-columns:1fr;gap:10px}.pe-card{padding:13px}.pe-val{font-size:21px}.pe-chart{margin-top:12px}}.m-body .profit-engine{margin-top:4px}.m-body .profit-engine .rp-h{flex-direction:column;align-items:flex-start;gap:10px;padding:12px 14px 10px}.m-body .pe-total{text-align:left;align-self:stretch}.m-body .pe-total-val{font-size:26px}.m-body .pe-total-lbl{justify-content:flex-start}.m-body .pe-grid{grid-template-columns:1fr;gap:10px}.m-body .pe-card{padding:13px}.m-body .pe-val{font-size:21px}@keyframes pe-flash{0%{opacity:0}18%{opacity:1}to{opacity:0}}@keyframes pe-float{0%{opacity:0;transform:translateY(6px)}20%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-22px)}}@keyframes pe-pop{0%{opacity:0;transform:scale(.6)}30%{opacity:1;transform:scale(1.12)}60%{transform:scale(1)}to{opacity:0}}.mobile-shell{display:none;position:relative;z-index:1;min-height:100vh;flex-direction:column}@media (max-width:980px){.app-shell{display:none}.mobile-shell,.mobile-top{display:flex}.mobile-top{position:sticky;top:0;z-index:4;height:48px;padding:0 14px;align-items:center;gap:10px;background:var(--surface);border-bottom:1px solid var(--line)}.mobile-top .role-tag{margin-left:auto;font-family:var(--font-mono);font-size:9.5px;font-weight:700;padding:2px 5px;border:1px solid var(--line-pri);color:var(--pri-2);border-radius:var(--r-xs);letter-spacing:.08em}.mobile-page{padding:12px 12px 80px}.mobile-tabs{position:fixed;bottom:0;left:0;right:0;z-index:6;display:grid;grid-template-columns:repeat(5,1fr);height:60px;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0)}.mobile-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--tx-4);font-size:10px}.mobile-tab .icon{width:18px;height:18px}.mobile-tab.active{color:var(--pri-2)}.mobile-drawer-back{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.6);display:flex;align-items:flex-end}.mobile-drawer{width:100%;max-height:75vh;overflow-y:auto;background:var(--surface);border-top:1px solid var(--line);border-radius:var(--r-md) var(--r-md) 0 0;padding:14px 12px 24px}.mobile-drawer .grip{width:32px;height:3px;background:var(--line-2);border-radius:2px;margin:0 auto 12px}.dt-wrap{max-height:60vh}.row-detail-inner{grid-template-columns:1fr 1fr}.modal{width:100%;max-height:90vh}.modal,.modal.lg,.modal.xl{min-width:0}}.admin-app .api-tag{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;color:var(--tx-4);padding:1px 5px;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--surface-2);cursor:help}.admin-app .api-tag svg{opacity:.7}.admin-app .panel-loading{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--tx-4);font-size:12px}.admin-app .panel-error{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px dashed var(--bad);border-radius:var(--r-md);background:var(--bad-bg);color:var(--tx-2)}.admin-app .panel-error .t{font-size:12px;font-weight:600;color:var(--bad)}.admin-app .panel-error .s{font-size:11px;margin-top:2px;opacity:.8}.admin-app .spinner{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--line-2);border-top-color:var(--pri-2);animation:admin-spin .8s linear infinite}@keyframes admin-spin{to{transform:rotate(1turn)}}.admin-app .pg{display:grid;gap:var(--d-gap)}.admin-app .pg.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-app .pg.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-app .pg.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-app .pg.cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.admin-app .pg.split-8-4{grid-template-columns:2fr 1fr}.admin-app .pg.split-7-5{grid-template-columns:7fr 5fr}.admin-app .pg.split-5-7{grid-template-columns:5fr 7fr}.admin-app .pg.split-9-3{grid-template-columns:3fr 1fr}.admin-app .pg.split-3-9{grid-template-columns:1fr 3fr}@media (max-width:1100px){.admin-app .pg.cols-3,.admin-app .pg.cols-4,.admin-app .pg.cols-6,.admin-app .pg.split-3-9,.admin-app .pg.split-5-7,.admin-app .pg.split-7-5,.admin-app .pg.split-8-4,.admin-app .pg.split-9-3{grid-template-columns:1fr}}.admin-app .page{padding:var(--d-pad);display:flex;flex-direction:column;gap:var(--d-gap)}.admin-app .page-h{display:flex;align-items:center;justify-content:space-between;gap:var(--d-gap)}.admin-app .page-h h1{margin:0;font-size:18px;font-weight:600;color:var(--tx-1)}.admin-app .page-h .sub{font-size:12px;color:var(--tx-3);margin-top:2px}.admin-app .mobile-shell{display:none}@media (max-width:980px){.admin-app .app-shell{display:none!important}.admin-app .mobile-shell{display:flex!important;flex-direction:column;min-height:100vh}}.admin-app .risk-page{padding:var(--d-pad);display:flex;flex-direction:column;gap:16px}.admin-app .risk-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:4px}.admin-app .risk-row{display:grid;gap:14px}.admin-app .risk-row.gauges{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-app .risk-row.split-8-4{grid-template-columns:2fr 1fr}.admin-app .risk-row.split-7-5{grid-template-columns:7fr 5fr}@media (max-width:1280px){.admin-app .risk-row.gauges{grid-template-columns:repeat(2,1fr)}.admin-app .risk-row.split-7-5,.admin-app .risk-row.split-8-4{grid-template-columns:1fr}}.admin-app .risk-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);display:flex;flex-direction:column;overflow:hidden}.admin-app .risk-panel.big{min-height:280px}.admin-app .rp-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 10px;border-bottom:1px solid var(--line)}.admin-app .rp-t h3{margin:0;font-size:13px;font-weight:600;color:var(--tx-1);letter-spacing:-.005em}.admin-app .rp-s{margin-top:4px;font-size:11px;color:var(--tx-4);letter-spacing:.01em}.admin-app .rp-api{display:flex;flex-direction:column;gap:3px;align-items:flex-end;max-width:50%}.admin-app .rp-api-tag{font-family:var(--font-mono);font-size:9.5px;color:var(--tx-4);background:var(--surface-2);border:1px solid var(--line);border-radius:2px;padding:1px 5px;letter-spacing:.02em;white-space:nowrap}.admin-app .rp-b{padding:14px 16px;flex:1;min-width:0}.admin-app .btn-group{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.admin-app .btn-group .btn{border-radius:0;border:0;border-right:1px solid var(--line)}.admin-app .btn-group .btn:last-child{border-right:0}.admin-app .btn-group .btn.active{background:var(--pri-glow);color:var(--pri-3)}.admin-app .row.between{justify-content:space-between;display:flex;align-items:center;gap:8px}.admin-app .rp-watchlist-row{display:grid;grid-template-columns:36px 1fr auto 96px 80px;gap:10px;align-items:center;padding:8px 10px;border-radius:var(--r-sm);border:1px solid transparent;cursor:pointer}.admin-app .rp-watchlist-row:hover{background:var(--hover);border-color:var(--line)}.admin-app .rp-score{font-family:var(--font-mono);font-weight:700;font-size:16px;text-align:center}.admin-app .rp-customer{display:flex;flex-direction:column;gap:2px;min-width:0}.admin-app .rp-tags{gap:4px}.admin-app .rp-alert{border-left:3px solid var(--line);padding:6px 10px;background:var(--surface-2);border-radius:0 var(--r-sm) var(--r-sm) 0}.admin-app .fade-in{animation:admin-fade-in .22s ease-out}@keyframes admin-fade-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.admin-app .grid.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-app .grid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-app .grid.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-app .grid.g6{grid-template-columns:repeat(6,minmax(0,1fr))}.admin-app .grid.g-8-4{grid-template-columns:2fr 1fr}.admin-app .grid.g-5-7{grid-template-columns:5fr 7fr}.admin-app .grid.g-3-9{grid-template-columns:1fr 3fr}.admin-app .grid.g-9-3{grid-template-columns:3fr 1fr}@media (max-width:1280px){.admin-app .grid.g-3-9,.admin-app .grid.g-5-7,.admin-app .grid.g-8-4,.admin-app .grid.g-9-3,.admin-app .grid.g3,.admin-app .grid.g4,.admin-app .grid.g6{grid-template-columns:1fr}}.admin-app .grid.g6{grid-template-columns:repeat(3,minmax(0,1fr))}@media (min-width:1400px){.admin-app .grid.g6{grid-template-columns:repeat(6,minmax(0,1fr))}}.admin-app .action{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:1px 5px;border-radius:2px;background:var(--surface-3);color:var(--tx-3);text-align:center;display:inline-block}.admin-app .action.danger{background:var(--bad-bg);color:var(--bad)}.admin-app .action.warn{background:var(--warn-bg);color:var(--warn)}.admin-app .action.write{background:var(--pri-glow);color:var(--pri-2)}.admin-app .action.read{background:var(--info-bg);color:var(--info)}.admin-app .chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);font-size:11px;color:var(--tx-2);cursor:pointer;font-family:var(--font-mono)}.admin-app .chip:hover{border-color:var(--line-2);background:var(--hover)}.admin-app .chip.active{background:var(--pri-glow);color:var(--pri-3);border-color:var(--line-pri)}.admin-app .chip .k{color:var(--tx-4)}.admin-app .grow{flex:1}.admin-app .cell-stack{display:flex;flex-direction:column;gap:2px;min-width:0}.admin-app .text-bad{color:var(--bad)}.admin-app .col{display:flex;flex-direction:column;gap:var(--d-gap);min-width:0}.admin-app .grid.g-7-5{grid-template-columns:7fr 5fr}@media (max-width:1280px){.admin-app .grid.g-7-5{grid-template-columns:1fr}}.admin-app .m-app{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--bg)}.admin-app .m-app .bg-grid{position:fixed}.admin-app .m-head{position:sticky;top:0;z-index:12;flex-shrink:0;padding-top:env(safe-area-inset-top,0);background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.admin-app .m-head-row{height:52px;display:flex;align-items:center;gap:10px;padding:0 14px}.admin-app .m-head .ttl{display:flex;flex-direction:column;min-width:0;flex:1}.admin-app .m-head .ttl .crumb{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-4);font-weight:600}.admin-app .m-head .ttl h1{margin:0;font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--tx-1);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-app .m-head .brandmark{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.admin-app .m-head .brandmark .bm-txt{font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--tx-1)}.admin-app .m-head .role-tag{font-family:var(--font-mono);font-size:9px;font-weight:700;padding:2px 6px;border:1px solid var(--line-pri);color:var(--pri-2);border-radius:var(--r-xs);letter-spacing:.08em;white-space:nowrap}.admin-app .m-ibtn{width:34px;height:34px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);color:var(--tx-2);border:1px solid transparent;position:relative;transition:background .12s,color .12s,border-color .12s}.admin-app .m-ibtn:hover{background:var(--hover)}.admin-app .m-ibtn:active{background:var(--hover-2);transform:scale(.94)}.admin-app .m-ibtn.bordered{border-color:var(--line);background:var(--surface-2)}.admin-app .m-ibtn .ndot{position:absolute;top:5px;right:5px;min-width:14px;height:14px;padding:0 3px;border-radius:8px;background:var(--bad);color:#fff;font-family:var(--font-mono);font-size:8.5px;font-weight:700;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--surface)}.admin-app .m-wire{height:24px;overflow:hidden;border-bottom:1px solid var(--line);background:var(--surface-2)}.admin-app .m-wire,.admin-app .m-wire .lbl{display:flex;align-items:center;flex-shrink:0}.admin-app .m-wire .lbl{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-4);font-weight:700;padding:0 10px;height:100%;gap:5px;border-right:1px solid var(--line)}.admin-app .m-wire .lbl .live{width:5px;height:5px;border-radius:50%;background:var(--good);box-shadow:0 0 6px var(--good);animation:pulse 1.6s infinite}.admin-app .m-wire .lane{flex:1;position:relative;height:100%;overflow:hidden}.admin-app .m-wire .lane:after{content:"";position:absolute;right:0;top:0;bottom:0;width:28px;background:linear-gradient(-90deg,var(--surface-2),transparent);z-index:2}.admin-app .m-wire .track{position:absolute;top:0;bottom:0;left:0;display:flex;align-items:center;gap:20px;white-space:nowrap;animation:wire-flow 60s linear infinite;will-change:transform}.admin-app .m-wire .it{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;color:var(--tx-3)}.admin-app .m-wire .it .ts{color:var(--tx-5)}.admin-app .m-wire .it .ev{font-weight:700;letter-spacing:.04em}.admin-app .m-wire .it .ev.good{color:var(--good)}.admin-app .m-wire .it .ev.warn{color:var(--warn)}.admin-app .m-wire .it .ev.bad{color:var(--bad)}.admin-app .m-wire .it .ev.info{color:var(--info)}.admin-app .m-wire .it .ev.pri{color:var(--pri-2)}.admin-app .m-wire .it .ev.iris{color:var(--iris)}.admin-app .m-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;position:relative;z-index:2;padding-bottom:calc(78px + env(safe-area-inset-bottom, 0))}.admin-app .m-scroll::-webkit-scrollbar{width:0;height:0}.admin-app .m-body{padding:14px;display:flex;flex-direction:column;gap:14px}.admin-app .m-body.flush{padding:0}.admin-app .m-substat{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--tx-3)}.admin-app .m-substat .dot{width:3px;height:3px;border-radius:50%;background:var(--tx-5)}.admin-app .m-substat .mono{font-family:var(--font-mono)}.admin-app .m-sec{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}.admin-app .m-sec .t{display:flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-3)}.admin-app .m-sec .t .count{font-size:9.5px;color:var(--tx-4);font-weight:600;padding:1px 5px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-xs)}.admin-app .m-sec .more{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--pri-2);font-weight:500}.admin-app .m-sec .more:active{opacity:.6}.admin-app .m-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.admin-app .m-panel-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line)}.admin-app .m-panel-h h3{margin:0;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-2);display:flex;align-items:center;gap:7px}.admin-app .m-panel-b{padding:14px}.admin-app .m-panel-b.flush{padding:0}.admin-app .m-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-app .m-kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:6px;min-width:0}.admin-app .m-kpi:active{border-color:var(--line-2);background:var(--surface-2)}.admin-app .m-kpi .top{display:flex;align-items:center;justify-content:space-between;gap:6px}.admin-app .m-kpi .k-lbl{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-4);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-app .m-kpi .k-trend{font-family:var(--font-mono);font-size:9.5px;font-weight:600;flex-shrink:0;padding:1px 5px;border-radius:var(--r-xs)}.admin-app .m-kpi .k-trend.up{color:var(--good);background:var(--good-bg)}.admin-app .m-kpi .k-trend.down{color:var(--bad);background:var(--bad-bg)}.admin-app .m-kpi .k-trend.flat{color:var(--tx-4);background:var(--surface-3)}.admin-app .m-kpi .k-val{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:22px;font-weight:500;letter-spacing:-.02em;color:var(--tx-1);line-height:1.05;display:flex;align-items:baseline;gap:3px}.admin-app .m-kpi .k-val .ccy,.admin-app .m-kpi .k-val .unit{font-size:10px;color:var(--tx-4);font-weight:500}.admin-app .m-kpi .k-sub{font-family:var(--font-mono);font-size:9.5px;color:var(--tx-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-app .m-kpi .k-spark{position:absolute;right:8px;bottom:8px;width:48px;height:16px;opacity:.5}.admin-app .m-chiprow{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-ms-overflow-style:none}.admin-app .m-chiprow::-webkit-scrollbar{display:none}.admin-app .m-stat{flex:none;min-width:96px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:9px 11px;display:flex;flex-direction:column;gap:3px}.admin-app .m-stat .v{font-size:16px;color:var(--tx-1);letter-spacing:-.01em}.admin-app .m-stat .l,.admin-app .m-stat .v{font-family:var(--font-mono);font-weight:600}.admin-app .m-stat .l{font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-4)}.admin-app .m-list{display:flex;flex-direction:column}.admin-app .m-list.bordered{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}.admin-app .m-row{display:flex;align-items:center;gap:11px;padding:11px 14px;border-bottom:1px solid var(--line);background:var(--surface);width:100%;text-align:left;transition:background .1s}.admin-app .m-row:last-child{border-bottom:0}.admin-app .m-row:active{background:var(--hover-2)}.admin-app .m-row .lead{width:34px;height:34px;border-radius:var(--r-sm);flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--surface-3);color:var(--tx-3)}.admin-app .m-row .lead.pri{background:var(--pri-glow);color:var(--pri-2)}.admin-app .m-row .lead.good{background:var(--good-bg);color:var(--good)}.admin-app .m-row .lead.warn{background:var(--warn-bg);color:var(--warn)}.admin-app .m-row .lead.bad{background:var(--bad-bg);color:var(--bad)}.admin-app .m-row .lead.iris{background:var(--iris-bg);color:var(--iris)}.admin-app .m-row .mid{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.admin-app .m-row .mid .t1{font-size:13.5px;color:var(--tx-1);font-weight:500;display:flex;align-items:center;gap:6px}.admin-app .m-row .mid .t1,.admin-app .m-row .mid .t1 .nm,.admin-app .m-row .mid .t2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-app .m-row .mid .t2{font-size:11px;color:var(--tx-4);font-family:var(--font-mono);display:flex;align-items:center;gap:6px}.admin-app .m-row .mid .t2 .dot{width:3px;height:3px;border-radius:50%;background:var(--tx-5);flex-shrink:0}.admin-app .m-row .trail{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.admin-app .m-row .trail .amt{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px;color:var(--tx-1);font-weight:500}.admin-app .m-row .trail .amt.good{color:var(--good)}.admin-app .m-row .trail .amt.bad{color:var(--bad)}.admin-app .m-row .trail .sub{font-family:var(--font-mono);font-size:9.5px;color:var(--tx-4)}.admin-app .m-row .chev{color:var(--tx-5);flex-shrink:0}.admin-app .m-kv{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.admin-app .m-kv:last-child{border-bottom:0}.admin-app .m-kv .k{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-4);font-weight:600}.admin-app .m-kv .v{font-size:12.5px;color:var(--tx-1);text-align:right}.admin-app .m-kv .v.mono{font-family:var(--font-mono)}.admin-app .m-pcard{position:relative;border-radius:var(--r-lg);overflow:hidden;padding:16px;min-height:168px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line-2);background:radial-gradient(circle at 100% 0,rgba(255,255,255,.06),transparent 50%),linear-gradient(150deg,var(--surface-hi),var(--surface) 80%);color:var(--tx-1)}.admin-app .m-pcard.frozen{opacity:.92}.admin-app .m-pcard .pc-top{display:flex;align-items:flex-start;justify-content:space-between}.admin-app .m-pcard .pc-vendor{font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:.04em}.admin-app .m-pcard .pc-chip{width:34px;height:24px;border-radius:4px;background:linear-gradient(135deg,#d9b25a,#b78a2e);opacity:.85}.admin-app .m-pcard .pc-pan{font-family:var(--font-mono);font-size:17px;letter-spacing:.08em;color:var(--tx-1)}.admin-app .m-pcard .pc-foot{display:flex;align-items:flex-end;justify-content:space-between}.admin-app .m-pcard .pc-foot .l{display:flex;flex-direction:column;gap:2px}.admin-app .m-pcard .pc-foot .cap{font-family:var(--font-mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-4)}.admin-app .m-pcard .pc-foot .val{font-family:var(--font-mono);font-size:12px;color:var(--tx-2)}.admin-app .m-seg{display:flex;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:2px;gap:2px}.admin-app .m-seg button{flex:1;padding:6px 4px;border-radius:var(--r-xs);font-size:11.5px;font-weight:500;color:var(--tx-3);white-space:nowrap;transition:.12s;display:inline-flex;align-items:center;justify-content:center;gap:5px}.admin-app .m-seg button.active{background:var(--surface-hi);color:var(--tx-1);font-weight:600;box-shadow:var(--shadow-sm)}.admin-app .m-seg button .badge{font-family:var(--font-mono);font-size:9px;padding:0 4px;border-radius:6px;background:var(--bad);color:#fff}.admin-app .m-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none;padding:0 10px}.admin-app .m-tabs::-webkit-scrollbar{display:none}.admin-app .m-tabs button{flex:none;padding:10px 8px;font-size:12.5px;color:var(--tx-3);border-bottom:2px solid transparent;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.admin-app .m-tabs button.active{color:var(--tx-1);font-weight:600;border-bottom-color:var(--pri-2)}.admin-app .m-chips{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.admin-app .m-chips::-webkit-scrollbar{display:none}.admin-app .m-chips .chip{flex:none}.admin-app .m-searchbar{display:flex;align-items:center;gap:9px;padding:9px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--tx-4);font-size:13px;width:100%}.admin-app .m-searchbar .kbd{margin-left:auto}.admin-app .m-tabbar{position:fixed;bottom:0;left:0;right:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);height:calc(62px + env(safe-area-inset-bottom, 0));padding-bottom:env(safe-area-inset-bottom,0);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line)}.admin-app .m-tabbar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--tx-4);font-size:9.5px;font-weight:500;position:relative;letter-spacing:.01em}.admin-app .m-tabbar button .ic{width:38px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-pill);transition:.14s}.admin-app .m-tabbar button.active{color:var(--pri-2)}.admin-app .m-tabbar button.active .ic{background:var(--pri-glow)}.admin-app .m-tabbar button:active .ic{transform:scale(.9)}.admin-app .m-tabbar button .tbadge{position:absolute;top:4px;left:calc(50% + 6px);min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:var(--bad);font-family:var(--font-mono);font-size:8.5px;font-weight:700;border:1.5px solid var(--surface)}.admin-app .m-fab,.admin-app .m-tabbar button .tbadge{color:#fff;display:flex;align-items:center;justify-content:center}.admin-app .m-fab{position:fixed;right:16px;bottom:calc(82px + env(safe-area-inset-bottom, 0));z-index:41;width:52px;height:52px;border-radius:var(--r-lg);background:var(--pri);box-shadow:0 8px 24px -4px var(--pri-glow),0 4px 12px rgba(0,0,0,.4);border:1px solid var(--pri-2)}.admin-app .m-fab:active{transform:scale(.92);background:var(--pri-2)}.admin-app .m-sheet-back{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-end}.admin-app .m-sheet{width:100%;max-height:88vh;background:var(--surface);border-top:1px solid var(--line-2);border-radius:20px 20px 0 0;display:flex;flex-direction:column;min-height:0;box-shadow:0 -20px 50px rgba(0,0,0,.5);animation:sheet-up .28s cubic-bezier(.16,1,.3,1)}@keyframes sheet-up{0%{transform:translateY(14px)}to{transform:none}}.admin-app .m-sheet .grip{width:36px;height:4px;border-radius:3px;background:var(--line-strong);margin:9px auto 4px;flex-shrink:0}.admin-app .m-sheet-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 16px 12px;border-bottom:1px solid var(--line);flex-shrink:0}.admin-app .m-sheet-h h2{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.admin-app .m-sheet-h .meta{font-family:var(--font-mono);font-size:10px;color:var(--tx-4);padding:1px 5px;border:1px solid var(--line);border-radius:var(--r-xs)}.admin-app .m-sheet-b{padding:16px;overflow-y:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:14px}.admin-app .m-sheet-b::-webkit-scrollbar{width:0}.admin-app .m-sheet-foot{padding:12px 16px calc(16px + env(safe-area-inset-bottom, 0));border-top:1px solid var(--line);display:flex;gap:10px;flex-shrink:0;background:var(--surface)}.admin-app .m-sheet-foot .btn{flex:1}.admin-app .btn.block{width:100%;height:44px;font-size:14px;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;gap:6px}.admin-app .btn.block.sm{height:38px;font-size:13px}.admin-app .m-opt{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--tx-2);font-size:13.5px;text-align:left}.admin-app .m-opt .ck{margin-left:auto;color:var(--pri-2);opacity:0}.admin-app .m-opt.on{border-color:var(--line-pri);background:var(--pri-glow);color:var(--tx-1)}.admin-app .m-opt.on .ck{opacity:1}.admin-app .m-optgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-app .m-sheet-b .input,.admin-app .m-sheet-b .select,.admin-app .m-sheet-b .textarea{height:42px;font-size:14px}.admin-app .m-sheet-b .textarea{height:auto}.admin-app .m-sheet-b .field-lbl{font-size:10px}.admin-app .m-revealnote{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--warn);background:var(--warn-bg);border:1px solid rgba(245,158,11,.3);padding:8px 10px;border-radius:var(--r-sm);font-family:var(--font-mono)}.admin-app .m-search-screen{position:fixed;inset:0;z-index:210;background:var(--bg);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0)}.admin-app .m-search-top{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--line);background:var(--surface)}.admin-app .m-search-top .field{flex:1;display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:0 10px;height:40px}.admin-app .m-search-top .field input{flex:1;background:transparent;border:0;outline:none;color:var(--tx-1);font-size:15px}.admin-app .m-search-top .cancel{font-size:13px;color:var(--pri-2);padding:4px 6px}.admin-app .m-search-results{flex:1;overflow-y:auto}.admin-app .m-search-results .grp-lbl{padding:12px 16px 6px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-4);font-weight:700}.admin-app .m-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-app .m-tile{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);text-align:left;position:relative;min-height:92px}.admin-app .m-tile:active{background:var(--surface-2);border-color:var(--line-2)}.admin-app .m-tile .ic{width:36px;height:36px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;background:var(--surface-3);color:var(--tx-2)}.admin-app .m-tile .nm{font-size:13.5px;font-weight:600;color:var(--tx-1)}.admin-app .m-tile .ds{font-size:10.5px;color:var(--tx-4);margin-top:-6px;line-height:1.35}.admin-app .m-tile .tbadge{position:absolute;top:12px;right:12px;font-family:var(--font-mono);font-size:9.5px;font-weight:700;padding:1px 6px;border-radius:var(--r-xs);background:var(--warn-bg);color:var(--warn)}.admin-app .m-tile .tbadge.pri{background:var(--pri-glow);color:var(--pri-2)}.admin-app .m-tile .tbadge.bad{background:var(--bad-bg);color:var(--bad)}.admin-app .m-opcard{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.admin-app .m-opcard .meta{flex:1;min-width:0}.admin-app .m-opcard .meta .nm{font-size:15px;font-weight:600;color:var(--tx-1)}.admin-app .m-opcard .meta .rl{font-family:var(--font-mono);font-size:10.5px;color:var(--tx-4);display:flex;align-items:center;gap:6px;margin-top:2px}.admin-app .m-opcard .meta .rl .live{width:5px;height:5px;border-radius:50%;background:var(--good);box-shadow:0 0 6px var(--good)}.admin-app .m-empty{text-align:center;padding:40px 20px;color:var(--tx-4)}.admin-app .m-empty .ic{margin-bottom:10px;opacity:.6}.admin-app .m-empty .t{font-size:13px;color:var(--tx-3)}.admin-app .m-thread{display:flex;flex-direction:column;gap:12px;padding:14px}.admin-app .m-msg{display:flex;gap:9px}.admin-app .m-msg .bub{flex:1;min-width:0;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 12px}.admin-app .m-msg.me{flex-direction:row-reverse}.admin-app .m-msg.me .bub{background:var(--pri-glow);border-color:var(--line-pri)}.admin-app .m-msg .bub .who{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--tx-3);margin-bottom:4px}.admin-app .m-msg .bub .who .tm{margin-left:auto;font-family:var(--font-mono);font-size:9.5px;color:var(--tx-5)}.admin-app .m-msg .bub .tx{font-size:13px;color:var(--tx-1);line-height:1.5}.admin-app .m-composer{display:flex;align-items:center;gap:8px;padding:10px 12px calc(12px + env(safe-area-inset-bottom,0));border-top:1px solid var(--line);background:var(--surface)}.admin-app .m-composer input{flex:1;height:40px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:0 14px;color:var(--tx-1);font-size:14px}.admin-app .m-bars{display:flex;align-items:flex-end;gap:3px;height:48px}.admin-app .m-bars .bar{flex:1;background:var(--pri-2);opacity:.85;border-radius:1px 1px 0 0;min-height:2px}.admin-app .m-toast{position:fixed;bottom:calc(92px + env(safe-area-inset-bottom, 0));left:50%;transform:translateX(-50%);z-index:220;width:-moz-max-content;width:max-content;max-width:88%}.admin-app .m-fade{animation:m-fade .26s cubic-bezier(.16,1,.3,1)}@keyframes m-fade{0%{transform:translateY(8px)}to{transform:none}}.skel{display:inline-block;height:11px;border-radius:4px;background:linear-gradient(90deg,var(--tx-5) 25%,var(--tx-4) 50%,var(--tx-5) 75%);background-size:200% 100%;opacity:.35;animation:skel-shimmer 1.2s ease-in-out infinite}.skel-row td{padding-top:10px;padding-bottom:10px}@keyframes skel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.admin-app .m-scroll .page{padding:14px;gap:12px}.admin-app .m-scroll .page .page-head{flex-direction:column;align-items:stretch;gap:10px}.admin-app .m-scroll .page .page-head h1{font-size:16px}.admin-app .m-scroll .page .page-head .sub{flex-wrap:wrap;row-gap:4px}.admin-app .m-scroll .page .page-head .r{flex-wrap:wrap;gap:6px}.admin-app .m-scroll .page .page-head .r>*{flex-shrink:0}.admin-app .m-scroll .page .grid{grid-template-columns:1fr!important}.admin-app .m-scroll .page .grid.g2,.admin-app .m-scroll .page .grid.g4,.admin-app .m-scroll .page .grid.g6{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-app .m-scroll .page .dt-wrap{max-height:58vh;-webkit-overflow-scrolling:touch}.admin-app .m-scroll .page .panel-b{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-app .m-scroll .page .row{flex-wrap:wrap}.admin-app .m-scroll .page .btn.sm,.admin-app .m-scroll .page .input.sm,.admin-app .m-scroll .page select.input{min-height:34px}.admin-app .m-scroll .page .btn.icon-only.sm{min-width:34px}