@import"https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=JetBrains+Mono:wght@400;500;600&display=swap";.gooey-nav-container{--color-1: #7c89c9;--color-2: #5d9ca0;--color-3: #c0a766;--color-4: #9aa4b8;position:relative;display:inline-block;background:linear-gradient(180deg,var(--rail-bg-2),var(--rail-bg));border:1px solid var(--rail-border);border-radius:999px;padding:5px;box-shadow:var(--shadow-sm),inset 0 1px #ffffff0a}.gooey-nav-container nav{display:flex;position:relative;transform:translateZ(.01px)}.gooey-nav-container nav ul{display:flex;gap:.4em;list-style:none;padding:0;margin:0;position:relative;z-index:3;color:#fff}.gooey-nav-container nav ul li{border-radius:999px;position:relative;cursor:pointer;transition:color .3s ease;color:var(--rail-text);font-weight:600;font-size:.85rem}.gooey-nav-container nav ul li a{display:inline-block;padding:.52em 1.25em;color:inherit;letter-spacing:-.005em}.gooey-nav-container nav ul li:not(.active):hover{color:#e7eaf1}.gooey-nav-container nav ul li:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:#fff;opacity:0;transform:scale(0);transition:all .3s ease;z-index:-1}.gooey-nav-container nav ul li.active{color:#11151f}.gooey-nav-container nav ul li.active:after{opacity:1;transform:scale(1)}.gooey-nav-container .effect{position:absolute;left:0;top:0;width:0;height:0;opacity:1;pointer-events:none;display:grid;place-items:center;z-index:1}.gooey-nav-container .effect.text{color:#fff;transition:color .3s ease;font-weight:600;font-size:.85rem}.gooey-nav-container .effect.text.active{color:#11151f}.gooey-nav-container .effect.filter{filter:blur(7px) contrast(100) blur(0);mix-blend-mode:lighten}.gooey-nav-container .effect.filter:before{content:"";position:absolute;top:-75px;right:-75px;bottom:-75px;left:-75px;z-index:-2;background:var(--rail-bg)}.gooey-nav-container .effect.filter:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;transform:scale(0);opacity:0;z-index:-1;border-radius:999px}.gooey-nav-container .effect.active:after{animation:pill .3s ease both}@keyframes pill{to{transform:scale(1);opacity:1}}.particle,.point{display:block;opacity:0;width:18px;height:18px;border-radius:100%;transform-origin:center}.particle{--time: 5s;position:absolute;top:calc(50% - 8px);left:calc(50% - 8px);animation:particle calc(var(--time)) ease 1 -.35s}.point{background:var(--color);opacity:1;animation:point calc(var(--time)) ease 1 -.35s}@keyframes particle{0%{transform:rotate(0) translate(calc(var(--start-x)),calc(var(--start-y)));opacity:1;animation-timing-function:cubic-bezier(.55,0,1,.45)}70%{transform:rotate(calc(var(--rotate) * .5)) translate(calc(var(--end-x) * 1.2),calc(var(--end-y) * 1.2));opacity:1;animation-timing-function:ease}85%{transform:rotate(calc(var(--rotate) * .66)) translate(calc(var(--end-x)),calc(var(--end-y)));opacity:1}to{transform:rotate(calc(var(--rotate) * 1.2)) translate(calc(var(--end-x) * .5),calc(var(--end-y) * .5));opacity:1}}@keyframes point{0%{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.55,0,1,.45)}25%{transform:scale(calc(var(--scale) * .25))}38%{opacity:1}65%{transform:scale(var(--scale));opacity:1;animation-timing-function:ease}85%{transform:scale(var(--scale));opacity:1}to{transform:scale(0);opacity:0}}.gooey-menu{--color-1: #7c89c9;--color-2: #5d9ca0;--color-3: #c0a766;--color-4: #9aa4b8;position:relative;width:100%}.gooey-menu nav{position:relative;transform:translateZ(.01px)}.gooey-menu nav ul{display:flex;flex-direction:column;gap:.18rem;list-style:none;padding:0;margin:0;position:relative;z-index:3}.gooey-menu nav ul li{position:relative;border-radius:10px;color:#c7cee0;font-weight:500;font-size:.875rem;transition:color .3s ease}.gooey-menu nav ul li a{display:flex;align-items:center;gap:.6rem;padding:.64rem .9rem;color:inherit;text-decoration:none}.gooey-menu nav ul li:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;background:#fff;opacity:0;transform:scale(0);transition:all .3s ease;z-index:-1;box-shadow:0 3px 10px #00000038}.gooey-menu nav ul li.active{color:#11151f;font-weight:600}.gooey-menu nav ul li.active:after{opacity:1;transform:scale(1)}.gooey-menu nav ul li:not(.active):hover{color:#eef1f8}.gooey-menu nav ul li:not(.active):hover:after{opacity:.09;transform:scale(1);box-shadow:none}.gooey-menu .effect{position:absolute;left:0;top:0;width:0;height:0;opacity:1;pointer-events:none;display:grid;place-items:center;z-index:1}.gooey-menu .effect.text{display:flex;align-items:center;justify-content:flex-start;padding-left:.85rem;white-space:nowrap;color:#fff;font-weight:600;font-size:.875rem;transition:color .3s ease}.gooey-menu .effect.text.active{color:#11151f}.gooey-menu .effect.filter{filter:blur(7px) contrast(100) blur(0);mix-blend-mode:lighten}.gooey-menu .effect.filter:before{content:"";position:absolute;top:-75px;right:-75px;bottom:-75px;left:-75px;z-index:-2;background:var(--rail-bg)}.gooey-menu .effect.filter:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;transform:scale(0);opacity:0;z-index:-1;border-radius:10px}.gooey-menu .effect.active:after{animation:pill .3s ease both}.gridscan{position:relative;width:100%;height:100%;overflow:hidden}.gridscan canvas{display:block}.star-border-container,.star-border-container:hover,.star-border-container:active,.star-border-container:disabled{display:inline-block;position:relative;border-radius:12px;overflow:hidden;background:transparent;border:none;padding:0;cursor:pointer;box-shadow:none;transform:none}.star-border-container.block{display:block}.border-gradient-bottom{position:absolute;width:300%;height:50%;opacity:.5;bottom:-11px;right:-250%;border-radius:50%;animation:star-movement-bottom linear infinite alternate;z-index:0}.border-gradient-top{position:absolute;opacity:.5;width:300%;height:50%;top:-11px;left:-250%;border-radius:50%;animation:star-movement-top linear infinite alternate;z-index:0}.inner-content{position:relative;border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text);font-family:var(--font);font-weight:600;font-size:.95rem;text-align:center;padding:.7rem 1.4rem;border-radius:11px;z-index:1}.star-border-container.primary .inner-content{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff;border:1px solid var(--accent-strong)}.star-border-container.block{display:block;width:100%}.star-border-container.block .inner-content{width:100%}@keyframes star-movement-bottom{0%{transform:translate(0);opacity:.7}to{transform:translate(-100%);opacity:0}}@keyframes star-movement-top{0%{transform:translate(0);opacity:.7}to{transform:translate(100%);opacity:0}}.icon-btns{display:flex;flex-wrap:wrap;gap:2.3em 2.4em;padding:1.2em .4em .4em;overflow:visible}.icon-btn{background-color:transparent;outline:none;position:relative;width:4em;height:4em;margin-bottom:2.6em;perspective:24em;transform-style:preserve-3d;-webkit-tap-highlight-color:transparent;border:none;cursor:pointer}.icon-btn__back,.icon-btn__front,.icon-btn__label{transition:opacity .3s cubic-bezier(.83,0,.17,1),transform .3s cubic-bezier(.83,0,.17,1)}.icon-btn__back,.icon-btn__front{border-radius:1.1em;position:absolute;top:0;left:0;width:100%;height:100%}.icon-btn__back{box-shadow:.4em -.4em .7em #17181c1f;display:block;transform:rotate(15deg);transform-origin:100% 100%;will-change:transform}.icon-btn__front{background-color:#ffffff1f;box-shadow:0 0 0 .1em #ffffff47 inset;backdrop-filter:blur(.6em);-webkit-backdrop-filter:blur(.6em);display:flex;transform-origin:80% 50%;will-change:transform}.icon-btn__icon{margin:auto;width:1.4em;height:1.4em;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1em}.icon-btn__label{font-family:var(--font);font-size:.78em;font-weight:600;color:var(--text-muted);white-space:normal;text-align:center;line-height:1.3;opacity:1;position:absolute;top:100%;left:50%;width:6.5em;transform:translate(-50%,.45em)}.icon-btn:focus-visible .icon-btn__back,.icon-btn:hover .icon-btn__back{transform:rotate(25deg) translate3d(-.4em,-.4em,.4em)}.icon-btn:focus-visible .icon-btn__front,.icon-btn:hover .icon-btn__front{transform:translateZ(2em)}.icon-btn:focus-visible .icon-btn__label,.icon-btn:hover .icon-btn__label{opacity:1;transform:translate(-50%,20%)}@media (max-width: 760px){.icon-btns{gap:1.6em 1.6em;justify-content:center}.icon-btn{width:3.6em;height:3.6em;margin-bottom:2.4em}.icon-btn__label{width:5em;font-size:.74em}}:root,:root[data-theme=light]{--bg-page: #f4f6fb;--bg-panel: #ffffff;--bg-elevated: #fafbfe;--bg-subtle: #eef2f9;--bg-hover: #f4f7fc;--border: #e6eaf2;--border-strong: #d6dce8;--text: #18202e;--text-muted: #677084;--text-faint: #98a1b3;--rail-bg: #161b28;--rail-bg-2: #1d2434;--rail-text: #9aa4b8;--rail-text-active: #ffffff;--rail-border: #2a3446;--accent: #5664a6;--accent-strong: #46538c;--accent-soft: #ebeefa;--accent-contrast: #ffffff;--teal: #3f8f93;--profit: #2e9e74;--profit-soft: #e4f3ec;--profit-ink: #1f7a58;--loss: #d06370;--loss-strong: #c2545f;--loss-soft: #fbe9eb;--loss-ink: #b04652;--warn: #c0913f;--warn-soft: #faf3e3;--warn-ink: #8a6a2a;--radius-lg: 18px;--radius: 14px;--radius-sm: 10px;--pill: 999px;--shadow-sm: 0 1px 2px rgba(20, 28, 46, .04), 0 1px 3px rgba(20, 28, 46, .06);--shadow-md: 0 4px 16px rgba(20, 28, 46, .07);--shadow-lg: 0 16px 48px rgba(20, 28, 46, .12);--ring: 0 0 0 3px var(--accent-soft);--font: "DM Sans", system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;color-scheme:light}:root[data-theme=dark]{--bg-page: #0d1119;--bg-panel: #161b27;--bg-elevated: #1b2230;--bg-subtle: #1e2636;--bg-hover: #1f2839;--border: #283142;--border-strong: #38435a;--text: #e8ebf3;--text-muted: var(--text);--text-faint: #6c7589;--rail-bg: #10141d;--rail-bg-2: #151b26;--rail-text: #8d97ab;--rail-text-active: #ffffff;--rail-border: #232b3b;--accent: #7c89c9;--accent-strong: #8e9ad4;--accent-soft: rgba(124, 137, 201, .16);--accent-contrast: #0d1119;--teal: #57a3a7;--profit: #34b88a;--profit-soft: rgba(46, 158, 116, .16);--profit-ink: #58d3a4;--loss: #e07581;--loss-strong: #e88a95;--loss-soft: rgba(208, 99, 112, .18);--loss-ink: #f0939d;--warn: #d6a956;--warn-soft: rgba(192, 145, 63, .16);--warn-ink: #e6c079;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 6px 22px rgba(0, 0, 0, .42);--shadow-lg: 0 18px 52px rgba(0, 0, 0, .58);--ring: 0 0 0 3px var(--accent-soft);color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font);background:var(--bg-page);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;letter-spacing:-.006em;transition:background-color .25s ease,color .25s ease}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-strong)}h1{font-size:1.55rem;font-weight:700;letter-spacing:-.022em;margin:0 0 .25rem}h2{font-size:1.02rem;font-weight:600;letter-spacing:-.01em;color:var(--text);display:flex;align-items:center;gap:.5rem;margin:0 0 1.1rem}h3{font-size:.92rem;font-weight:600;color:var(--text);margin:1.3rem 0 .55rem;letter-spacing:-.005em}::selection{background:var(--accent-soft);color:var(--text)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px;border:3px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--text-faint);background-clip:content-box}.topbar{position:sticky;top:0;z-index:30;height:3px;background:linear-gradient(90deg,var(--accent),var(--teal))}.shell{display:flex;min-height:100vh}.sidebar{width:256px;flex-shrink:0;background:radial-gradient(480px 360px at 12% 8%,rgba(58,216,255,.16),transparent 60%),radial-gradient(420px 340px at 95% 92%,rgba(58,216,255,.1),transparent 65%),linear-gradient(185deg,var(--rail-bg),var(--rail-bg-2));border-right:1px solid var(--rail-border);box-shadow:inset -1px 0 color-mix(in srgb,white 5%,transparent);padding:1.4rem .85rem 1.1rem;height:100vh;position:sticky;top:0;overflow-y:auto}.gridscan.sidebar-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.55}.sidebar-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:.1rem;height:100%}.sidebar .brand{font-weight:700;font-size:1.04rem;color:#fff;letter-spacing:-.02em;padding:.1rem .65rem 1.3rem;display:flex;align-items:center;gap:.6rem}.sidebar .brand .brand-mark{width:34px;height:34px;border-radius:10px}.sidebar .brand .brand-mark svg{width:19px;height:19px}.sidebar .brand .brand-text{display:flex;flex-direction:column;line-height:1.05}.sidebar .brand .brand-text small{font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rail-text);margin-top:2px}.sidebar .nav-section{font-size:.62rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--rail-text);opacity:.7;padding:.9rem .85rem .4rem}.sidebar .spacer{flex:1;min-height:.5rem}.sidebar .who{font-size:.74rem;color:var(--rail-text);line-height:1.55;padding:.8rem .7rem .65rem;border-top:1px solid var(--rail-border);margin-top:.5rem;flex-shrink:0}.sidebar .who b{color:#d4dae8;text-transform:capitalize;font-weight:600}.sidebar-content>button.ghost{flex-shrink:0;margin-top:.4rem;width:100%;display:flex;align-items:center;justify-content:center;gap:.45rem;background:#ffffff0d;color:#e7eaf1;border:1px solid var(--rail-border)}.sidebar-content>button.ghost:hover{background:#ffffff1a;color:#fff;border-color:var(--accent)}.main-col{flex:1;min-width:0;display:flex;flex-direction:column}.appbar{position:sticky;top:3px;z-index:20;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 2.4rem;gap:1rem;background:color-mix(in srgb,var(--bg-page) 78%,transparent);backdrop-filter:saturate(150%) blur(14px);-webkit-backdrop-filter:saturate(150%) blur(14px);border-bottom:1px solid var(--border);box-shadow:inset 0 -1px color-mix(in srgb,white 6%,transparent)}.appbar .crumb{display:flex;align-items:center;gap:.55rem;font-size:.9rem;color:var(--text-muted);min-width:0}.appbar .crumb b{color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appbar .crumb .dot{color:var(--text-faint);flex-shrink:0}.appbar .crumb span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appbar .appbar-right{display:flex;align-items:center;gap:.7rem;flex-shrink:0}.menu-toggle{display:none;width:36px;height:36px;padding:0;flex-shrink:0;margin-right:.2rem;border-radius:var(--radius-sm);align-items:center;justify-content:center;background:transparent;color:var(--text);border:1px solid var(--border-strong)}.sidebar-close{display:none;margin-left:auto;width:30px;height:30px;padding:0;flex-shrink:0;align-items:center;justify-content:center;border-radius:var(--pill);background:#ffffff0f;color:#e7eaf1;border:1px solid var(--rail-border)}.nav-backdrop{display:none}.theme-toggle{width:38px;height:38px;padding:0;border-radius:var(--pill);display:inline-grid;place-items:center;cursor:pointer;background:var(--bg-panel);color:var(--text-muted);border:1px solid var(--border-strong);box-shadow:var(--shadow-sm);font-size:1.02rem;transition:all .18s ease}.theme-toggle:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-1px)}.theme-toggle:active{transform:translateY(0)}.user-chip{display:flex;align-items:center;gap:.55rem}.avatar{width:34px;height:34px;border-radius:var(--pill);flex-shrink:0;display:grid;place-items:center;font-size:.78rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent),var(--teal));box-shadow:var(--shadow-sm);letter-spacing:.02em}.user-chip .u-meta{display:flex;flex-direction:column;line-height:1.15}.user-chip .u-meta .u-name{font-size:.82rem;font-weight:600;color:var(--text)}.user-chip .u-meta .u-role{font-size:.68rem;color:var(--text-muted);text-transform:capitalize}.content{flex:1;padding:1.9rem 2.4rem 3rem;max-width:1220px;width:100%}.content>h1{animation:rise .3s ease both}.muted{color:var(--text-muted);font-size:.85rem}.page-sub{color:var(--text-muted);font-size:.92rem;margin:-.05rem 0 1.5rem;max-width:60ch}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.4rem 1.5rem;margin-bottom:1.4rem;transition:background-color .25s ease,border-color .25s ease,box-shadow .18s ease}.card>h2:first-child{margin-top:0}.card.live-panel{background:color-mix(in srgb,var(--bg-panel) 80%,transparent);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border-color:color-mix(in srgb,var(--accent) 30%,var(--border));box-shadow:var(--shadow-sm),inset 0 1px color-mix(in srgb,white 10%,transparent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0c1466;z-index:100;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;align-items:flex-start;justify-content:center;padding:6vh 1rem;overflow-y:auto;animation:fade-in .15s ease both}.modal-panel{width:100%;max-width:760px;margin:0;animation:rise .2s ease both;background:color-mix(in srgb,var(--bg-panel) 82%,transparent);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid color-mix(in srgb,var(--border-strong) 65%,transparent);box-shadow:var(--shadow-lg),inset 0 1px color-mix(in srgb,white 16%,transparent)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.1rem}.card-head h2{margin:0;border:none}label{display:block;font-size:.76rem;font-weight:600;color:var(--text-muted);margin:.75rem 0 .32rem}input,select,textarea{width:100%;padding:.62rem .78rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:var(--font);font-size:.9rem;background:var(--bg-elevated);color:var(--text);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}input::placeholder,textarea::placeholder{color:var(--text-faint)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring);background:var(--bg-panel)}select{cursor:pointer}textarea{font-family:var(--mono);line-height:1.5;resize:vertical}input[type=file]{padding:.5rem;cursor:pointer}input[type=file]::file-selector-button{font-family:var(--font);font-weight:600;font-size:.82rem;cursor:pointer;background:var(--accent-soft);color:var(--accent);border:none;padding:.42rem .8rem;border-radius:7px;margin-right:.8rem;transition:background .15s ease}input[type=file]::file-selector-button:hover{background:color-mix(in srgb,var(--accent-soft) 70%,var(--accent) 30%)}button{background:var(--accent);color:var(--accent-contrast);border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font);font-weight:600;font-size:.85rem;padding:.56rem 1.05rem;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;transition:background .15s ease,box-shadow .15s ease,transform .1s ease,border-color .15s ease,color .15s ease;box-shadow:var(--shadow-sm)}:root[data-theme=dark] button:not(.ghost):not(.danger){color:#fff}button svg{width:1em;height:1em}button:hover{background:var(--accent-strong);box-shadow:var(--shadow-md)}button:active{transform:translateY(.5px)}button:focus-visible{outline:none;box-shadow:var(--ring)}button.ghost{background:transparent;color:var(--text);border:1px solid var(--border-strong);box-shadow:none}button.ghost:hover{background:var(--bg-subtle);border-color:var(--accent);color:var(--accent)}button.subtle{background:var(--accent-soft);color:var(--accent);box-shadow:none}button.subtle:hover{background:color-mix(in srgb,var(--accent-soft) 65%,var(--accent) 35%);color:var(--accent-contrast)}button.danger{background:var(--loss);color:#fff}button.danger:hover{background:var(--loss-strong)}button.sm{padding:.38rem .7rem;font-size:.78rem}button.icon-only{padding:.45rem;width:34px;height:34px}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}button:disabled:hover{background:var(--accent)}button.step{background:var(--bg-subtle);color:var(--text);border:1px solid var(--border-strong);box-shadow:none;padding:.34rem .6rem;font-size:.82rem;min-width:30px}button.step:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.875rem}th,td{text-align:left;padding:.7rem .85rem;border-bottom:1px solid var(--border)}thead th{color:var(--text-muted);font-weight:600;text-transform:uppercase;font-size:.66rem;letter-spacing:.07em;background:var(--bg-subtle);position:sticky;top:0;white-space:nowrap}tbody tr{transition:background-color .12s ease}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--bg-hover)}td .mono,.mono{font-family:var(--mono)}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .62rem;border-radius:var(--pill);font-size:.7rem;font-weight:600;border:1px solid transparent;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.9}.badge.active,.badge.ok{background:var(--profit-soft);color:var(--profit-ink)}.badge.disabled,.badge.failed{background:var(--loss-soft);color:var(--loss-ink)}.badge.untested{background:var(--warn-soft);color:var(--warn-ink)}.badge.neutral{background:var(--bg-subtle);color:var(--text-muted)}.badge.no-dot:before{display:none}.error{color:var(--loss-ink);font-size:.85rem;margin:.6rem 0;padding:.6rem .8rem;background:color-mix(in srgb,var(--loss-soft) 85%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--loss) 35%,transparent);box-shadow:inset 0 1px color-mix(in srgb,white 12%,transparent);border-radius:var(--radius-sm);display:flex;align-items:flex-start;gap:.5rem}.notice{color:var(--warn-ink);font-size:.85rem;margin:.4rem 0;padding:.55rem .8rem;background:color-mix(in srgb,var(--warn-soft) 85%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--warn) 38%,transparent);box-shadow:inset 0 1px color-mix(in srgb,white 12%,transparent);border-radius:var(--radius-sm)}.notice-hint{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.3rem;height:1.3rem;font-size:.72rem;border-radius:50%;color:var(--warn-ink);background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 38%,transparent);cursor:help;flex-shrink:0;vertical-align:middle}.notice-hint .notice-hint-text{position:absolute;z-index:20;top:calc(100% + .5em);left:0;width:max-content;max-width:22em;font-size:.8rem;font-weight:400;line-height:1.45;color:var(--warn-ink);background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 38%,transparent);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:.6rem .8rem;opacity:0;visibility:hidden;transform:translateY(-3px);transition:opacity .15s ease,transform .15s ease,visibility .15s}.notice-hint:hover .notice-hint-text,.notice-hint:focus-visible .notice-hint-text{opacity:1;visibility:visible;transform:translateY(0)}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:1.15em;height:1.15em;flex-shrink:0;margin:0;border-radius:5px;border:1.5px solid var(--border-strong);background:var(--bg-panel);cursor:pointer;display:inline-grid;place-content:center;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}input[type=checkbox]:before{content:"";width:.68em;height:.68em;transform:scale(0);transition:transform .12s ease;clip-path:polygon(14% 44%,0 63%,39% 100%,100% 20%,82% 4%,38% 65%);background-color:var(--accent-contrast)}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:hover{border-color:var(--accent)}input[type=checkbox]:focus-visible{box-shadow:var(--ring)}.row{display:flex;gap:.9rem;align-items:flex-end;flex-wrap:wrap}.row>div{flex:1;min-width:170px}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem;background:radial-gradient(1200px 600px at 50% -10%,#eef1fb 0%,var(--bg-page) 55%)}.login-hero{position:relative;overflow:hidden;background:radial-gradient(1000px 700px at 50% 30%,#122a4d,#060911 70%)}.gridscan.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0}.login-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(440px 380px at 50% 48%,transparent 38%,rgba(6,9,17,.55) 100%);pointer-events:none}.login-card{width:396px;max-width:100%;position:relative;z-index:1;animation:rise .4s ease both;background:color-mix(in srgb,var(--bg-panel) 70%,transparent);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border:1px solid color-mix(in srgb,var(--border-strong) 55%,transparent);box-shadow:0 28px 70px #00000080,inset 0 1px color-mix(in srgb,white 22%,transparent),inset 0 0 0 1px color-mix(in srgb,white 6%,transparent)}.login-card .login-foot{margin-top:1.3rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.78rem;color:var(--text-faint);text-align:center}.brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;background:linear-gradient(135deg,var(--accent),var(--teal));color:#fff;box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 40%,transparent)}.brand-mark svg{width:22px;height:22px}.tabbar{display:flex;gap:.4rem;margin-bottom:1.2rem;flex-wrap:wrap}.report-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.decision{color:#fff;padding:.34rem .85rem;border-radius:var(--pill);font-size:.76rem;font-weight:700;box-shadow:var(--shadow-sm);letter-spacing:.01em}.flags{margin:.3rem 0;padding:0;list-style:none}.flags li{margin:.4rem 0;font-size:.875rem;display:flex;align-items:flex-start;gap:.5rem;padding:.55rem .75rem;background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent);border-radius:var(--radius-sm);color:var(--text)}.flags li svg{color:var(--warn);flex-shrink:0;margin-top:1px}.report-text{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem 1.1rem;font-family:var(--mono);font-size:.78rem;white-space:pre-wrap;overflow-x:auto;line-height:1.6;color:var(--text)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:1rem;margin-bottom:1.4rem}.stat-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.05rem 1.15rem;display:flex;align-items:flex-start;gap:.85rem;position:relative;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}a .stat-card,.stat-card.clickable{cursor:pointer}a:hover .stat-card,.stat-card.clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.stat-card .stat-icon{width:40px;height:40px;border-radius:11px;flex-shrink:0;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:1.1rem}.stat-card.good .stat-icon{background:var(--profit-soft);color:var(--profit-ink)}.stat-card.bad .stat-icon{background:var(--loss-soft);color:var(--loss-ink)}.stat-card .stat-body{min-width:0}.stat-card .stat-label{font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-card .stat-value{font-family:var(--mono);font-weight:600;font-size:1.45rem;margin-top:.2rem;color:var(--text);line-height:1.1}.stat-card.good .stat-value{color:var(--profit-ink)}.stat-card.bad .stat-value{color:var(--loss-ink)}.metric-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:.7rem}.metric{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.72rem .85rem;transition:border-color .15s ease,background-color .15s ease}.metric:hover{border-color:var(--border-strong)}.metric .m-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:600}.metric .m-value{font-family:var(--mono);font-weight:600;font-size:1.05rem;margin-top:.28rem;color:var(--text)}.ip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:.75rem}.ip-tile{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.8rem .9rem;background:var(--bg-elevated);transition:border-color .15s ease,box-shadow .15s ease}.ip-tile:hover{box-shadow:var(--shadow-sm)}.ip-tile.hosting{border-color:color-mix(in srgb,var(--loss) 45%,transparent);background:var(--loss-soft)}.ip-addr{font-family:var(--mono);font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:.4rem}.ip-addr .role{font-size:.6rem;font-weight:600;color:var(--accent);background:var(--accent-soft);padding:.14rem .5rem;border-radius:var(--pill);white-space:nowrap}.ip-loc{font-size:.85rem;margin-top:.3rem}.ip-meta{font-size:.72rem;color:var(--text-muted);margin-top:.2rem;word-break:break-word}.ip-class{margin-top:.5rem;font-size:.72rem;font-weight:600;padding:.18rem .55rem;border-radius:7px;display:inline-block}.ip-class.bad{background:var(--loss-soft);color:var(--loss-ink)}.ip-class.good{background:var(--profit-soft);color:var(--profit-ink)}.last-login{border:1px solid var(--accent);border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:var(--radius-sm);padding:.85rem 1rem;margin-bottom:1rem}.last-login.hosting{border-color:var(--loss);border-left-color:var(--loss);background:var(--loss-soft)}.last-login .ll-title{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-weight:600;display:flex;align-items:center;gap:.35rem}.last-login .ll-ip{font-family:var(--mono);font-weight:700;font-size:1.1rem;margin-top:.2rem}.last-login .ll-meta{font-size:.82rem;color:var(--text-muted);margin:.2rem 0 .45rem}.recharts-text,.recharts-cartesian-axis-tick text{fill:var(--text-muted)}.recharts-cartesian-axis-line,.recharts-cartesian-axis-tick-line{stroke:var(--border)}.recharts-default-tooltip{background:var(--bg-panel)!important;border:1px solid var(--border-strong)!important;border-radius:10px!important;box-shadow:var(--shadow-md);padding:.5rem .75rem!important}.recharts-default-tooltip .recharts-tooltip-label{color:var(--text)!important;font-weight:600}.recharts-default-tooltip .recharts-tooltip-item{color:var(--text-muted)!important}.recharts-pie-label-text{fill:var(--text)}.empty{text-align:center;padding:2.4rem 1rem;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:.5rem}.empty .empty-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--bg-subtle);color:var(--text-faint);font-size:1.4rem;margin-bottom:.2rem}.empty b{color:var(--text);font-weight:600;font-size:.95rem}.skeleton{background:linear-gradient(90deg,var(--bg-subtle) 25%,var(--bg-hover) 37%,var(--bg-subtle) 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (max-width: 980px){.sidebar{width:210px;padding:1.3rem .65rem 1rem}.appbar{padding:0 1.3rem}.content{padding:1.5rem 1.3rem 2.6rem}.user-chip .u-meta{display:none}.appbar .crumb{font-size:.82rem}}@media (max-width: 680px){.stat-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (max-width: 760px){.shell{position:relative;overflow-x:clip}.sidebar{position:fixed;inset:0 auto 0 0;z-index:70;width:264px;max-width:82vw;height:100vh;transform:translate(-100%);transition:transform .22s ease;box-shadow:var(--shadow-lg)}.sidebar.open{transform:translate(0)}.sidebar-close,.menu-toggle{display:inline-flex}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;background:#06091180;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .2s ease}.nav-backdrop.open{opacity:1;pointer-events:auto}.main-col{width:100%;min-width:0}.content{padding:1.1rem 1rem 2.2rem}.card{padding:1.1rem}.row>div{min-width:100%}.appbar{padding:0 .9rem;gap:.5rem}.appbar .crumb{font-size:.8rem;gap:.4rem}h1{font-size:1.28rem}.modal-panel{max-width:100%}.modal-backdrop{padding:0;align-items:stretch}.modal-panel.card{border-radius:0;min-height:100vh;background:var(--bg-panel);backdrop-filter:none;-webkit-backdrop-filter:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
