:root{--p-50:#f9fafb;--p-100:#f3f4f7;--p-200:#e5e7ed;--p-300:#d0d3dc;--p-400:#878c9f;--p-500:#6d7182;--p-600:#4f5361;--p-700:#3b3f4d;--p-800:#252834;--p-900:#151624;--p-950:#070712;--bg:var(--p-100);--surface:#fff;--surface-2:var(--p-50);--surface-3:#fff;--surface-glass:#ffffffb8;--sidebar-bg:color-mix(in srgb, var(--surface) 86%, transparent);--hover:var(--p-100);--border:var(--p-200);--border-strong:var(--p-300);--track:var(--p-200);--text:var(--p-900);--text-2:var(--p-700);--muted:#5f6375;--primary:#4f46e5;--primary-hover:#4338ca;--on-primary:#fff;--accent-ink:#4f46e5;--accent-soft:#4f46e517;--accent-soft-2:#4f46e529;--accent-line:#4f46e538;--accent-line-strong:#4f46e58c;--secondary:#0e7490;--glow:#4f46e52e;--focus:#4f46e5;--hero-grad:linear-gradient(135deg, #4f46e5 0%, #4338ca 45%, #1e1b4b 100%);--hero-text:#fff;--hero-ink:#312e81;--hero-good:#a7f3d0;--hero-bad:#fecaca;--hero-shadow:0 28px 56px -28px #4338ca8c;--tint-bg:color-mix(in srgb, var(--primary) 6%, var(--surface));--tint-text:var(--text);--good:#2f7a55;--good-soft:#e4f2ea;--warn:#8f560b;--warn-soft:#fbf1de;--bad:#b4363c;--bad-soft:#fbe9ea;--series-1:#5856d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--hatch-line:#ffffff8c;--orb-1:#6366f133;--orb-2:#a855f71f;--orb-3:#22d3ee24;--ambient-top:#4f46e512;--grid-line:#1516240b;--aur-1:#6366f124;--aur-2:#a855f71a;--aur-3:#22d3ee1a;--beam:#4f46e55c;--star:#4f46e54d;--vignette:#1516240d;--spot:color-mix(in srgb, var(--primary) 7%, transparent);--spot-hero:#ffffff29;--skel:var(--p-200);--skel-hi:var(--p-50);--shadow:0 1px 2px #1516240a, 0 4px 16px -6px #15162414;--shadow-hover:0 1px 2px #1516240d, 0 16px 36px -16px #312e8147;--shadow-pop:0 24px 60px -16px #07071259;--font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--mono:ui-monospace, "Cascadia Mono", Consolas, monospace;--fs-display:clamp(36px, 4.2vw, 54px);--fs-h1:30px;--fs-metric:26px;--fs-title:20px;--fs-h2:16px;--fs-body:14px;--fs-sm:13px;--fs-xs:12px;--fs-2xs:11px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-pill:999px;--radius:var(--r-lg);--radius-sm:var(--r-sm);--dur-1:.12s;--dur-2:.2s;--dur-3:.32s;--dur-4:.6s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-inout:cubic-bezier(.45, 0, .55, 1);--sidebar-w:252px;--sidebar-rail:76px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:var(--p-950);--surface:#12131f;--surface-2:#181a29;--surface-3:#262940;--surface-glass:#12131fb8;--sidebar-bg:#0d0e19d1;--hover:#1c1e2e;--border:#ffffff12;--border-strong:#ffffff1f;--track:#23253a;--text:#ecedf3;--text-2:#b4b7c6;--muted:#878c9f;--primary:#5b58eb;--primary-hover:#6d6af5;--accent-ink:#9b99ff;--accent-soft:#7c7aff21;--accent-soft-2:#7c7aff38;--accent-line:#9b99ff3d;--accent-line-strong:#9b99ff99;--secondary:#22d3ee;--glow:#7c7aff59;--focus:#9b99ff;--hero-shadow:0 30px 70px -30px #5b58eb99;--tint-bg:color-mix(in srgb, #7c7aff 7%, var(--surface));--good:#6bc79a;--good-soft:#15291f;--warn:#e8b05a;--warn-soft:#2e2312;--bad:#ef8186;--bad-soft:#321a1d;--series-1:#8583f0;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--hatch-line:#12131f73;--orb-1:#5b58eb57;--orb-2:#8b5cf638;--orb-3:#22d3ee21;--ambient-top:#5b58eb24;--grid-line:#ffffff09;--aur-1:#6366f142;--aur-2:#a855f72e;--aur-3:#22d3ee24;--beam:#9b99ff9e;--star:#e2e4ffd9;--vignette:#00000080;--spot:#9b99ff17;--spot-hero:#ffffff1a;--skel:#1b1d2c;--skel-hi:#262938;--shadow:inset 0 1px 0 #ffffff0a;--shadow-hover:inset 0 1px 0 #ffffff0d, 0 0 0 1px #9b99ff2e, 0 18px 40px -20px #5b58eb73;--shadow-pop:0 30px 80px -20px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root.theme-switching,:root.theme-switching *{transition:background-color .25s,border-color .25s,color .25s,fill .25s,stroke .25s!important}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:var(--fs-body)/1.5 var(--font);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased}a{color:inherit;font-weight:var(--fw-medium);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}h1,h2,h3{letter-spacing:-.015em;margin:0;line-height:1.2}h1{font-size:var(--fs-h1);font-weight:var(--fw-semibold);letter-spacing:-.025em}h2{font-size:var(--fs-h2);font-weight:var(--fw-semibold)}h3.sub{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:18px 0 8px}input,select,textarea,button{font:inherit;color:inherit}input:not([type=checkbox]),select,textarea{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);width:100%;min-height:40px;transition:border-color var(--dur-2), box-shadow var(--dur-2);outline:none;padding:8px 12px}input:not([type=checkbox]):hover,select:hover,textarea:hover{border-color:color-mix(in srgb, var(--accent-ink) 35%, var(--border-strong))}input:focus,select:focus,textarea:focus{border-color:var(--accent-ink);box-shadow:0 0 0 3px var(--accent-soft-2)}textarea{resize:vertical}input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}::selection{background:var(--accent-soft-2)}.muted{color:var(--muted)}.small{font-size:var(--fs-sm)}.strong{font-weight:var(--fw-semibold)}.mono{font-family:var(--mono);font-size:var(--fs-sm)}.nowrap{white-space:nowrap}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text-bad{color:var(--bad)}.center{text-align:center}.spacer,.grow{flex:1}.min0{min-width:0}.block{display:block}.eyebrow{color:var(--muted);font-size:var(--fs-sm);text-transform:capitalize;margin:0 0 6px}.row-between{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.ok-text{color:var(--good);font-size:var(--fs-sm);margin:0}.count{font-variant-numeric:tabular-nums}.inline-icon{vertical-align:-2px}.check-mark{color:var(--good)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}kbd{font:600 var(--fs-2xs)/1 var(--mono);border-radius:var(--r-xs);border:1px solid var(--border);background:var(--surface-2);color:var(--muted);white-space:nowrap;border-bottom-width:2px;padding:3px 6px;display:inline-block}.ambient{z-index:-1;pointer-events:none;contain:strict;background:radial-gradient(1200px 620px at 50% -12%, var(--ambient-top), transparent 70%);position:fixed;inset:0;overflow:hidden}.orb{aspect-ratio:1;will-change:transform;width:62vmax;animation:orb-a 64s var(--ease-inout) infinite alternate;border-radius:50%;position:absolute}.orb-1{background:radial-gradient(closest-side, var(--orb-1), transparent);top:-30vmax;left:-16vmax}.orb-2{background:radial-gradient(closest-side, var(--orb-2), transparent);animation-name:orb-b;animation-duration:78s;top:6vmax;right:-26vmax}.orb-3{background:radial-gradient(closest-side, var(--orb-3), transparent);animation-name:orb-c;animation-duration:58s;bottom:-36vmax;left:18vw}.ambient-grid{background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(85% 65% at 55% 0,#000 0%,#0000 78%);mask-image:radial-gradient(85% 65% at 55% 0,#000 0%,#0000 78%)}.aurora-band{background:conic-gradient(from 0deg, transparent 0deg, var(--aur-1) 45deg, transparent 100deg, var(--aur-2) 165deg, transparent 225deg, var(--aur-3) 290deg, transparent 345deg);will-change:transform;width:150vmax;height:150vmax;margin-left:-75vmax;animation:140s linear infinite aurora-spin;position:absolute;top:-62vmax;left:50%;-webkit-mask-image:radial-gradient(closest-side,#0000 20%,#000 48%,#0000 100%);mask-image:radial-gradient(closest-side,#0000 20%,#000 48%,#0000 100%)}.grid-glow{position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 1px,#0000 1px),linear-gradient(90deg,#000 1px,#0000 1px);mask-image:linear-gradient(#000 1px,#0000 1px),linear-gradient(90deg,#000 1px,#0000 1px);-webkit-mask-size:48px 48px;mask-size:48px 48px}.grid-glow-fade{-webkit-mask-composite:source-in;position:absolute;inset:0;-webkit-mask-image:radial-gradient(85% 65% at 55% 0,#000 0%,#0000 78%),linear-gradient(#0000 0,#000 180px);mask-image:radial-gradient(85% 65% at 55% 0,#000 0%,#0000 78%),linear-gradient(#0000 0,#000 180px);-webkit-mask-composite:source-in;mask-composite:intersect}.grid-beam{background:radial-gradient(50% 55% at 50% 72%, var(--beam), transparent 75%);will-change:transform;height:240px;animation:grid-beam 12s var(--ease-inout) 1.5s infinite;position:absolute;top:0;left:0;right:0;transform:translateY(-320px)}.stars{will-change:transform, opacity;background:0 0;border-radius:50%;width:2px;height:2px;position:absolute;top:0;left:0}.stars-far{opacity:.5;animation:7s ease-in-out infinite alternate twinkle,110s linear infinite alternate star-drift}.stars-near{animation:4.5s ease-in-out 1.2s infinite alternate twinkle,70s linear infinite alternate-reverse star-drift}.ambient-vignette{background:radial-gradient(ellipse 120% 90% at 50% 30%, transparent 55%, var(--vignette) 100%);position:absolute;inset:0}:root[data-fx=lite] .ambient *{will-change:auto;animation:none!important}:root[data-fx=lite] .grid-glow{display:none}@keyframes orb-a{to{transform:translate(14vmax,9vmax)scale(1.12)}}@keyframes orb-b{to{transform:translate(-12vmax,14vmax)scale(.92)}}@keyframes orb-c{to{transform:translate(10vmax,-10vmax)scale(1.08)}}@keyframes aurora-spin{to{transform:rotate(360deg)}}@keyframes grid-beam{0%{transform:translateY(-320px)}60%,to{transform:translateY(105vh)}}@keyframes twinkle{0%{opacity:.25}to{opacity:1}}@keyframes star-drift{0%{transform:translate(0,0)}to{transform:translate(-2vw,-4vh)}}.layout{min-height:100dvh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);border-right:1px solid var(--border);z-index:30;flex-direction:column;flex-shrink:0;height:100vh;padding:18px 14px 14px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;padding:2px 6px 18px;display:flex}.logo{border-radius:var(--r-sm);color:#fff;width:36px;height:36px;font-weight:var(--fw-bold);box-shadow:0 8px 18px -8px var(--glow), inset 0 1px 0 #ffffff40;background:linear-gradient(135deg,#6366f1,#4338ca);flex-shrink:0;place-items:center;font-size:17px;display:grid;position:relative}.logo-live{background:var(--secondary);width:10px;height:10px;box-shadow:0 0 0 2px var(--surface), 0 0 10px var(--secondary);border-radius:50%;display:none;position:absolute;top:-3px;right:-3px}.brand-name{font-weight:var(--fw-bold);letter-spacing:.02em;font-size:15px}.brand-sub{color:var(--muted);font-size:var(--fs-xs);flex-wrap:wrap;align-items:center;display:flex}.live-pill{color:var(--secondary);font-weight:var(--fw-semibold);font-size:var(--fs-2xs);align-items:center;gap:5px;margin-left:8px;display:inline-flex}.live-pill .live-dot{width:6px;height:6px}.live-dot{background:currentColor;border-radius:50%;width:8px;height:8px;position:relative}.live-dot:after{content:"";animation:ping 2.4s var(--ease-out) infinite;background:currentColor;border-radius:50%;position:absolute;inset:0}.search-btn{border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--muted);font-size:var(--fs-sm);cursor:pointer;text-align:left;transition:border-color var(--dur-2), color var(--dur-2), box-shadow var(--dur-3);align-items:center;gap:8px;margin:0 0 8px;padding:8px 10px;display:flex}.search-btn:hover{color:var(--text);border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}.brand .mobile-search{display:none}.notif{flex-shrink:0;position:relative}.notif-btn{position:relative}.notif-btn.has-unread{color:var(--text)}.notif-count{background:var(--bad);color:#fff;min-width:16px;height:16px;font-size:10px;font-weight:var(--fw-bold);text-align:center;box-shadow:0 0 0 2px var(--surface);animation:pop .35s var(--ease-spring);border-radius:999px;padding:0 4px;line-height:16px;position:absolute;top:1px;right:0}.notif-panel{z-index:45;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border-strong);width:min(380px,100vw - 32px);max-height:min(560px,100dvh - 120px);box-shadow:var(--shadow-pop);transform-origin:0 0;animation:menu-in .22s var(--ease-out);flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);left:-8px}.notif-head,.notif-foot{align-items:center;gap:8px;padding:10px 12px;display:flex}.notif-head{border-bottom:1px solid var(--border)}.notif-foot{border-top:1px solid var(--border);justify-content:center}.notif-list{scrollbar-width:thin;margin:0;padding:6px;list-style:none;overflow-y:auto}.notif-item{border-radius:var(--r-sm);width:100%;color:var(--text-2);text-align:left;cursor:pointer;transition:background var(--dur-1);background:0 0;border:0;align-items:flex-start;gap:10px;padding:10px;display:flex}.notif-item:hover{background:var(--hover)}.notif-item.unread{background:var(--accent-soft);color:var(--text)}.notif-item.unread:hover{background:var(--accent-line)}.notif-icon{background:var(--surface-2);width:28px;height:28px;color:var(--accent-ink);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.notif-icon.tone-good{background:var(--good-soft);color:var(--good)}.notif-icon.tone-bad{background:var(--bad-soft);color:var(--bad)}.notif-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notif-title{font-weight:var(--fw-semibold);font-size:var(--fs-sm);overflow-wrap:anywhere}.notif-body{font-size:var(--fs-xs);color:var(--muted);overflow-wrap:anywhere}.notif-time{font-size:var(--fs-2xs);color:var(--muted)}.notif-dot{background:var(--accent-ink);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.notif-empty{color:var(--muted);text-align:center;justify-items:center;gap:4px;padding:28px 16px;display:grid}.audit-filter{margin-bottom:12px}.audit-more{margin-top:12px}.sidebar nav{scrollbar-width:thin;flex-direction:column;flex:1;gap:2px;display:flex;position:relative;overflow-y:auto}.nav-group{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:14px 12px 6px}.sidebar nav a{z-index:1;border-radius:var(--r-md);color:var(--text-2);font-weight:var(--fw-medium);transition:background var(--dur-1), color var(--dur-2);align-items:center;gap:11px;padding:9px 12px;text-decoration:none;display:flex;position:relative}@media (hover:hover){.sidebar nav a:hover{background:var(--hover);color:var(--text)}.sidebar nav a:hover svg{color:var(--text-2);transform:translate(2px)}}.sidebar nav a svg{color:var(--muted);transition:transform .3s var(--ease-spring), color var(--dur-2);flex-shrink:0}.sidebar nav a:focus-visible{outline-offset:-2px}.sidebar nav a.active,.sidebar nav a.active:hover{color:var(--text);font-weight:var(--fw-semibold);background:0 0}.sidebar nav a.active svg{color:var(--accent-ink);animation:pop .45s var(--ease-spring)}.nav-indicator{border-radius:var(--r-md);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}.nav-indicator:before{content:"";background:var(--primary);width:3px;height:18px;box-shadow:0 0 12px var(--glow), 0 0 4px var(--primary);border-radius:0 3px 3px 0;margin-top:-9px;position:absolute;top:50%;left:0}.userbox{border-top:1px solid var(--border);flex-direction:column;gap:4px;margin-top:8px;padding-top:10px;display:flex;position:relative}.rail-toggle{border-radius:var(--r-sm);width:100%;color:var(--muted);font-size:var(--fs-sm);cursor:pointer;transition:background var(--dur-1), color var(--dur-2);background:0 0;border:0;align-items:center;gap:10px;padding:7px 12px;display:flex}.rail-toggle:hover{background:var(--hover);color:var(--text)}.rail-toggle svg{transition:transform var(--dur-3) var(--ease-out)}.user-row{border-radius:var(--r-md);cursor:pointer;text-align:left;width:100%;transition:background var(--dur-1), border-color var(--dur-2);background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:8px;display:flex}.user-row:hover,.user-row[aria-expanded=true]{background:var(--hover);border-color:var(--border)}.user-meta{flex:1;min-width:0}.user-name{font-weight:var(--fw-semibold)}.user-role{font-size:var(--fs-xs);color:var(--muted)}.user-more{color:var(--muted);flex-shrink:0}.user-menu{z-index:40;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-pop);transform-origin:0 100%;animation:menu-in .22s var(--ease-out);flex-direction:column;gap:2px;padding:8px;display:flex;position:absolute;bottom:calc(100% + 8px);left:0;right:0}.user-menu-head{border-bottom:1px solid var(--border);margin-bottom:4px;padding:6px 8px 10px}.user-menu .theme-toggle{margin:4px 0 6px}.user-menu .install-btn{margin-bottom:4px}.menu-item{border-radius:var(--r-sm);width:100%;color:var(--text-2);font-weight:var(--fw-medium);text-align:left;cursor:pointer;transition:background var(--dur-1), color var(--dur-1);background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;display:flex}.menu-item:hover{background:var(--hover);color:var(--text)}.menu-item.danger:hover{background:var(--bad-soft);color:var(--bad)}.install-btn{width:100%}@media (width>=861px){.layout.rail{--sidebar-w:var(--sidebar-rail)}.rail .sidebar{padding-inline:12px}.rail .brand{flex-direction:column;justify-content:center;gap:8px;padding-inline:0}.rail .notif-panel{top:0;left:calc(100% + 10px)}.rail .brand-text,.rail .search-btn .label,.rail .search-btn kbd,.rail .nav-label,.rail .user-meta,.rail .user-more,.rail .rail-toggle .label{display:none}.rail .logo-live{display:block}.rail .search-btn{justify-content:center;padding:9px 0}.rail .sidebar nav a{justify-content:center;padding:10px 0}.rail .nav-group{padding:10px 6px 6px;font-size:0}.rail .nav-group:before{content:"";background:var(--border);height:1px;display:block}.rail .rail-toggle{justify-content:center;padding-inline:0}.rail .rail-toggle svg{transform:rotate(180deg)}.rail .user-row{justify-content:center;padding-inline:0}.rail .user-menu{transform-origin:0 100%;width:260px;bottom:0;left:calc(100% + 10px);right:auto}}.content{flex:1;width:100%;min-width:0;max-width:1400px;margin-inline:auto;padding:32px 36px 64px}.content>*+*,.page>*+*{margin-top:20px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-header p{margin:6px 0 0}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.splash{min-height:100dvh;color:var(--muted);place-items:center;display:grid}.splash-logo{border-radius:16px;width:52px;height:52px;font-size:24px;animation:1.6s ease-in-out infinite breathe}.config-missing{text-align:center;justify-items:center;gap:12px;max-width:440px;padding:24px;display:grid}.config-missing h1{color:var(--text);margin:0;font-size:20px}.config-missing code{font-size:12px}.tabbar,.menu-scrim{display:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);min-width:0;padding:20px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.card-warn{background:color-mix(in srgb, var(--warn-soft) 55%, var(--surface));border-color:color-mix(in srgb, var(--warn) 25%, var(--border))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.grid-2+*{margin-top:20px}.link-more{color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:color var(--dur-2);align-items:center;gap:4px;display:inline-flex}.link-more svg{transition:transform var(--dur-3) var(--ease-out)}.link-more:hover{color:var(--accent-ink);text-decoration:none}.link-more:hover svg{transform:translate(3px)}.pill{background:var(--hover);border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;padding:3px 10px}.pill-bad{background:var(--bad-soft);color:var(--bad)}.stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;display:grid}.metric{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);flex-direction:column;gap:2px;min-width:0;padding:18px 20px;display:flex}.metric-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:12px;display:flex}.metric-icon{border-radius:var(--r-sm);background:linear-gradient(135deg, var(--accent-soft-2), var(--accent-soft));width:36px;height:36px;color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent-line);flex-shrink:0;place-items:center;display:grid}.metric-label{color:var(--muted);font-size:var(--fs-sm)}.metric-value{font-size:var(--fs-metric);font-weight:var(--fw-semibold);letter-spacing:-.025em;font-variant-numeric:tabular-nums;margin-top:2px;line-height:1.25}.metric-hint{color:var(--muted);font-size:var(--fs-xs)}.metric-chip{border-radius:var(--r-pill);background:var(--hover);color:var(--muted);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:4px;padding:3px 9px;display:inline-flex}.metric-chip svg{flex-shrink:0}.metric-chip.tone-good{background:var(--good-soft);color:var(--good)}.metric-chip.tone-warn{background:var(--warn-soft);color:var(--warn)}.metric-good .metric-value{color:var(--good)}.metric-warn .metric-value{color:var(--warn)}.metric-bad .metric-value{color:var(--bad)}.metric-good .metric-icon{background:var(--good-soft);color:var(--good);box-shadow:none}.metric-bad .metric-icon{background:var(--bad-soft);color:var(--bad);box-shadow:none}.metric-bad{box-shadow:inset 3px 0 0 var(--bad), var(--shadow)}.metric-accent{background:var(--hero-grad);color:var(--hero-text);box-shadow:var(--hero-shadow);border-color:#0000}.metric-accent .metric-label,.metric-accent .metric-hint{color:inherit;opacity:.8}.hero-card{isolation:isolate;background:var(--hero-grad);color:var(--hero-text);border-radius:var(--r-xl);box-shadow:var(--hero-shadow), inset 0 1px 0 #ffffff2e;flex-direction:column;justify-content:space-between;gap:18px;min-height:260px;padding:26px;display:flex;position:relative;overflow:hidden}.hero-label{font-weight:var(--fw-medium);opacity:.92;align-items:center;gap:8px;display:flex;position:relative}.hero-value{font-size:var(--fs-display);font-weight:var(--fw-semibold);letter-spacing:-.04em;font-variant-numeric:tabular-nums;text-shadow:0 2px 24px #1e1b4b59;line-height:1;position:relative}.hero-split{grid-template-columns:1fr 1fr;gap:12px;display:grid;position:relative}.hero-split div{border-radius:var(--r-md);transition:transform var(--dur-3) var(--ease-out), background var(--dur-3);background:#ffffff17;border:1px solid #ffffff1f;flex-direction:column;padding:10px 14px;display:flex}.hero-split div:hover{background:#ffffff24;transform:translateY(-2px)}.hero-split span{font-size:var(--fs-sm);opacity:.82}.hero-split b{font-size:17px;font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.hero-delta{border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;background:#ffffff1f;border:1px solid #ffffff24;align-self:flex-start;align-items:center;gap:6px;margin-top:-6px;padding:4px 10px 4px 8px;display:inline-flex;position:relative}.hero-delta span{font-weight:var(--fw-medium);opacity:.78}.hero-delta.up svg{color:var(--hero-good)}.hero-delta.down svg{color:var(--hero-bad)}.hero-btn{color:var(--hero-ink);background:#fff;border-color:#0000;box-shadow:0 10px 24px -12px #07071299}.hero-btn:hover:not(:disabled){background:#eef0ff}.aurora{z-index:-1;border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.aurora span{aspect-ratio:1;border-radius:50%;width:70%;position:absolute}.aurora span:first-child{background:radial-gradient(closest-side,#22d3ee42,#0000);top:-40%;right:-18%}.aurora span:last-child{background:radial-gradient(closest-side,#0f0c328c,#0000);bottom:-50%;right:10%}.rings{pointer-events:none;opacity:.16;color:currentColor;position:absolute;inset:0;container-type:size}.ring{--s:calc(max(100cqw, 100cqh) / 300);aspect-ratio:1;width:calc(var(--s) * var(--r) * 2);left:calc(100cqw - var(--s) * (40 + var(--r)));top:calc(100cqh - var(--s) * (20 + var(--r)));border-radius:50%;position:absolute}span.ring{border:max(1px, var(--s)) solid currentColor;will-change:transform, opacity;animation:ring-breathe 8s ease-in-out var(--d,0s) infinite}.ring-orbit{opacity:.9;will-change:transform;animation:70s linear infinite ring-spin;overflow:visible}@supports not (width:1cqw){.rings{display:none}}:root[data-fx=lite] .ring{will-change:auto;animation:none}.tint-card{isolation:isolate;background:linear-gradient(160deg, var(--tint-bg), var(--surface) 72%);color:var(--tint-text);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);flex-direction:column;gap:14px;padding:20px;display:flex;position:relative;overflow:hidden}.tint-card>*{position:relative}.tint-card .rings{color:var(--accent-ink);opacity:.12;position:absolute}.kv{grid-template-columns:1fr auto;gap:8px 0;margin:0;display:grid}.kv dt{padding-right:16px}.kv dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.kv .total{border-top:1px solid var(--border);font-weight:var(--fw-semibold);padding-top:8px}.btn{border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);min-height:38px;font-weight:var(--fw-semibold);cursor:pointer;white-space:nowrap;transition:background var(--dur-1), border-color var(--dur-1), color var(--dur-1), box-shadow var(--dur-3), transform var(--dur-1) var(--ease-out);justify-content:center;align-items:center;gap:7px;padding:0 16px;display:inline-flex}.btn:hover:not(:disabled){background:var(--hover)}.btn:active:not(:disabled){transform:scale(.96)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--primary);color:var(--on-primary);box-shadow:inset 0 1px 0 #ffffff29, 0 8px 20px -10px var(--glow);background-image:linear-gradient(#ffffff29,#0000 60%);border-color:#0000}.btn.primary:hover:not(:disabled){background-color:var(--primary-hover);box-shadow:inset 0 1px 0 #fff3, 0 12px 26px -10px var(--glow)}.btn.danger-solid{background:var(--bad);border-color:var(--bad);color:#fff}.btn.danger-solid:hover:not(:disabled){background:color-mix(in srgb, var(--bad) 85%, #000)}:where([data-theme=dark]) .btn.danger-solid{color:var(--p-950)}.btn.danger{color:var(--bad)}.btn.danger:hover:not(:disabled){background:var(--bad-soft);border-color:#0000}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--hover);color:var(--text)}.btn.sm{min-height:30px;font-size:var(--fs-sm);border-radius:9px;gap:5px;padding:0 10px}.btn.lg{border-radius:13px;min-height:46px;font-size:15px}.icon-btn{cursor:pointer;width:32px;height:32px;color:var(--muted);transition:background var(--dur-1), color var(--dur-1), transform var(--dur-1) var(--ease-out);background:0 0;border:0;border-radius:9px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--hover);color:var(--text)}.icon-btn:active{transform:scale(.88)}.icon-btn.sm{border-radius:var(--r-xs);width:26px;height:26px}td.row-actions .actions{flex-wrap:nowrap;justify-content:flex-end;gap:2px}.segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:13px;padding:3px;display:inline-flex;position:relative}.segmented button{z-index:1;border-radius:var(--r-sm);cursor:pointer;font-weight:var(--fw-medium);color:var(--muted);transition:color var(--dur-3);background:0 0;border:0;padding:6px 14px;position:relative}.segmented button:hover{color:var(--text)}.segmented button.active{color:var(--text);font-weight:var(--fw-semibold)}.segmented .slide-ind{border-radius:var(--r-sm);background:var(--surface-3);box-shadow:0 1px 2px #0707121f, inset 0 0 0 1px var(--border)}.slide-ind{z-index:0;pointer-events:none;width:var(--w,0px);height:var(--h,0px);transform:translate3d(var(--x,0px), var(--y,0px), 0);position:absolute;top:0;left:0}.slide-ind[data-ready]{transition:transform .5s var(--ease-spring), width .4s var(--ease-out), height .4s var(--ease-out)}.badge{border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-semibold);background:var(--hover);color:var(--text-2);white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:3px 10px;display:inline-flex}.badge-good{background:var(--good-soft);color:var(--good)}.badge-bad{background:var(--bad-soft);color:var(--bad)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-accent{background:var(--accent-soft-2);color:var(--accent-ink)}.badge.compact{font-size:var(--fs-2xs);padding:2px 8px}.role-admin{background:var(--primary);color:var(--on-primary)}.role-treasurer{background:var(--accent-soft-2);color:var(--accent-ink)}.role-viewer{background:var(--hover);color:var(--text-2)}.status-toggle{vertical-align:middle;border-radius:var(--r-pill);min-height:30px;font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;white-space:nowrap;transition:background-color .35s var(--ease-out), color .35s var(--ease-out), border-color var(--dur-2), transform var(--dur-1) var(--ease-out), opacity var(--dur-2);border:1px solid #0000;align-items:center;gap:7px;padding:3px 12px 3px 4px;line-height:1.2;display:inline-flex}.status-toggle.status-good{background:var(--good-soft);color:var(--good)}.status-toggle.status-bad{background:var(--bad-soft);color:var(--bad)}.status-toggle:hover{border-color:color-mix(in srgb, currentColor 45%, transparent)}.status-toggle:active{transform:scale(.94)}.status-toggle:focus-visible{outline-offset:2px;outline:2px solid}.status-toggle.busy{opacity:.6;pointer-events:none}.status-dot{width:22px;height:22px;animation:pop .45s var(--ease-spring);background:currentColor;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.status-dot svg{color:var(--surface)}.status-toggle.compact{min-height:26px;font-size:var(--fs-xs);gap:6px;padding:2px 10px 2px 3px}.status-toggle.compact .status-dot{width:19px;height:19px}.inline-status{align-items:center;gap:6px;display:inline-flex}.rank{border-radius:var(--r-xs);background:var(--hover);min-width:30px;font-weight:var(--fw-semibold);font-size:var(--fs-xs);text-align:center;padding:1px 7px;display:inline-block}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--r-pill);cursor:pointer;font-weight:var(--fw-medium);transition:background var(--dur-2), border-color var(--dur-2), color var(--dur-2), transform var(--dur-1) var(--ease-out);padding:6px 13px}.chip:hover{background:var(--hover)}.chip:active{transform:scale(.94)}.chip.on{background:var(--primary);color:var(--on-primary);animation:pop .35s var(--ease-spring);border-color:#0000}.chip.ghost{color:var(--muted);border-style:dashed}.avatar{background:var(--accent-soft-2);width:34px;height:34px;color:var(--accent-ink);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.avatar.sm{width:28px;height:28px;font-size:var(--fs-2xs)}.person{align-items:center;gap:10px;display:inline-flex}.progress{background:var(--track);border-radius:99px;height:6px;margin-top:6px;overflow:hidden}.progress>div{background:var(--series-1);transform-origin:0;height:100%;animation:grow-x 1s var(--ease-out) .1s backwards;transition:width .6s var(--ease-out);border-radius:99px}.progress-bad>div{background:var(--bad)}.progress-good>div{background:var(--good)}.progress-warn>div{background:var(--warn)}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar select,.toolbar input{width:auto}.toolbar .search{flex:220px;min-width:160px}.toolbar .btn.primary{margin-left:auto}.w-year{max-width:100px}.order-select{align-items:center;display:inline-flex;position:relative}.order-select>svg{color:var(--muted);pointer-events:none;position:absolute;left:11px}.order-select select{width:auto;min-height:38px;padding-left:32px}.order-select.on select{border-color:var(--accent-line-strong);background-color:var(--accent-soft);color:var(--accent-ink);font-weight:var(--fw-medium)}.order-select.on>svg{color:var(--accent-ink)}.crud>*+*{margin-top:14px}.table-wrap{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);overflow-x:auto}.table-wrap.flush{background:0 0;border:0;border-radius:0;margin:0 -20px -20px}.table-wrap.flush th:first-child,.table-wrap.flush td:first-child{padding-left:20px}.table-wrap.flush th:last-child,.table-wrap.flush td:last-child{padding-right:20px}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap;padding:11px 14px}th{background:var(--surface-2);font-weight:var(--fw-semibold);font-size:var(--fs-2xs);color:var(--muted);z-index:1;text-transform:uppercase;letter-spacing:.06em;position:sticky;top:0}tbody tr td{transition:background var(--dur-1)}tbody tr:hover td{background:var(--surface-2)}tbody tr:last-child td{border-bottom:0}tfoot td{border-top:1px solid var(--border-strong);font-weight:var(--fw-semibold);background:var(--surface-2);border-bottom:0}td.num,th.num{text-align:right}td.wrap{white-space:normal;min-width:180px;max-width:420px}td.row-actions{text-align:right;width:1%;padding:6px 10px}td.bar-cell{min-width:150px}td.bar-cell .progress{height:5px;margin-top:4px}tr.row-off td{opacity:.55}table.matrix th,table.matrix td{padding:8px 10px}table.matrix .sticky{background:var(--surface);z-index:2;font-weight:var(--fw-medium);position:sticky;left:0}table.matrix th.sticky,table.matrix tfoot .sticky,table.matrix tbody tr:hover .sticky{background:var(--surface-2)}th.sel-cell,td.sel-cell{width:1%;padding-right:2px}tr.selected td{background:color-mix(in srgb, var(--primary) 8%, var(--surface))}tbody tr.selected:hover td{background:color-mix(in srgb, var(--primary) 13%, var(--surface))}.month-head{align-items:center;gap:2px;display:inline-flex}.month-pay{color:var(--good);opacity:.65;width:22px;height:22px}.month-pay:hover{opacity:1;background:var(--good-soft);color:var(--good)}.debtors,.history{margin:0;padding:0;list-style:none}.debtors li,.history li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.debtors li:last-child,.history li:last-child{border-bottom:0}.debtors strong{color:var(--bad);font-variant-numeric:tabular-nums}.history li{flex-wrap:wrap;row-gap:6px}.history li>span:first-child{overflow-wrap:anywhere;flex:auto;min-width:0}.history li.stack{justify-content:flex-start;column-gap:16px}.history li.stack>span:first-child{flex-basis:100%}.history li>span:empty{display:none}.history li>span:not(:first-child){font-variant-numeric:tabular-nums;white-space:nowrap}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:10px;padding:32px 16px;display:flex}.empty-icon{border-radius:var(--r-md);background:var(--accent-soft);width:44px;height:44px;color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent-line);place-items:center;display:grid}.all-clear{color:var(--good);align-items:center;gap:8px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.form-row{flex-direction:column;gap:6px;display:flex}.form-row>span{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--muted)}.form-row.full{grid-column:1/-1}.input-row{align-items:center;gap:6px;display:flex}.input-row .btn{flex-shrink:0}.input-icon{align-items:center;display:flex;position:relative}.input-icon>svg{color:var(--muted);pointer-events:none;position:absolute;left:13px}.input-icon input{padding-left:38px}.input-action{color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px 8px;position:absolute;right:6px}.input-action:hover{background:var(--hover);color:var(--text)}.inline-edit{align-items:center;gap:6px;display:inline-flex}.inline-edit input{text-align:right;width:130px}.error-text{background:var(--bad-soft);color:var(--bad);border-radius:var(--r-sm);font-size:var(--fs-sm);margin-top:10px;padding:9px 13px}.modal-backdrop{z-index:50;background:color-mix(in srgb, var(--p-950) 50%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;padding:16px;animation:.2s fade-in;display:grid;position:fixed;inset:0;margin:0!important}.modal{background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--border-strong);width:min(640px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-pop);animation:modal-in .32s var(--ease-spring);flex-direction:column;display:flex}.modal-head{justify-content:space-between;align-items:center;padding:18px 22px 12px;display:flex}.modal-body{padding:8px 22px 18px;overflow-y:auto}.modal-foot{border-top:1px solid var(--border);align-items:center;gap:8px;padding:14px 22px;display:flex}.confirm-text{margin:0 0 4px}.theme-toggle{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;padding:3px;display:grid;position:relative}.theme-toggle button{z-index:1;color:var(--muted);cursor:pointer;font-size:var(--fs-xs);font-weight:var(--fw-medium);white-space:nowrap;transition:color var(--dur-3);background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:5px;padding:5px 6px;display:inline-flex;position:relative}.theme-toggle button:hover,.theme-toggle button.on{color:var(--text)}.theme-toggle button.on svg{animation:spin-in .5s var(--ease-spring)}.theme-toggle .slide-ind{background:var(--surface-3);box-shadow:0 1px 3px #07071224, inset 0 0 0 1px var(--border);border-radius:9px}.theme-toggle.compact{background:var(--surface);display:inline-grid}.theme-toggle.compact button{width:32px;height:28px;padding:0}.theme-toggle.compact .slide-ind{background:var(--hover);box-shadow:none}.bulk-bar{z-index:45;background:var(--p-900);max-width:calc(100vw - 24px);color:var(--p-50);animation:bulk-in .45s var(--ease-spring);border:1px solid #ffffff14;border-radius:16px;align-items:center;gap:8px;padding:8px 8px 8px 16px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 20px 44px -18px #07071299}:where([data-theme=dark]) .bulk-bar{background:var(--surface-3);color:var(--text);border-color:var(--border-strong)}.bulk-count{font-size:var(--fs-sm);white-space:nowrap;font-variant-numeric:tabular-nums;margin-right:4px}.bulk-bar .btn{color:inherit;border-color:color-mix(in srgb, currentColor 28%, transparent);background:0 0}.bulk-bar .btn:hover:not(:disabled){background:color-mix(in srgb, currentColor 12%, transparent)}.bulk-bar .btn.bulk-good{background:var(--good);border-color:var(--good);color:#fff}:where([data-theme=dark]) .bulk-bar .btn.bulk-good{color:var(--p-950)}.bulk-bar .btn.bulk-good:hover:not(:disabled){background:color-mix(in srgb, var(--good) 85%, #000)}.bulk-bar .icon-btn{color:inherit;opacity:.7}.bulk-bar .icon-btn:hover{background:color-mix(in srgb, currentColor 12%, transparent);color:inherit;opacity:1}.toasts{z-index:80;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{pointer-events:auto;border-radius:var(--r-md);background:var(--p-900);min-width:260px;max-width:min(420px,100vw - 32px);color:var(--p-50);animation:toast-in .45s var(--ease-spring);border:1px solid #ffffff14;align-items:center;gap:10px;padding:8px 8px 8px 12px;font-size:13.5px;display:flex;box-shadow:0 18px 40px -16px #0707128c}:where([data-theme=dark]) .toast{background:var(--surface-3);color:var(--text);border-color:var(--border-strong)}.toast.leaving{animation:.22s forwards toast-out}.toast b{font-weight:var(--fw-semibold)}.toast-icon{background:color-mix(in srgb, currentColor 14%, transparent);border-radius:8px;flex-shrink:0;place-items:center;width:24px;height:24px;display:grid}.toast-good .toast-icon{color:#6bc79a;background:#6bc79a2e}.toast-bad .toast-icon{color:#ef8186;background:#ef81862e}.toast .btn.ghost{color:inherit;opacity:.85}.toast .btn.ghost:hover:not(:disabled){background:color-mix(in srgb, currentColor 12%, transparent);color:inherit;opacity:1}.toast .icon-btn{color:inherit;opacity:.6}.toast .icon-btn:hover{background:color-mix(in srgb, currentColor 12%, transparent);color:inherit;opacity:1}.skel{border-radius:var(--r-xs);background:linear-gradient(90deg, var(--skel) 0%, var(--skel-hi) 50%, var(--skel) 100%);background-size:200% 100%;animation:1.4s linear infinite shimmer;display:block}.skel-stack{flex-direction:column;gap:10px;display:flex}.skel-card{border-radius:var(--r-lg);width:100%}.skel-hero{border-radius:var(--r-xl);min-height:260px}.skeleton-page>*+*{margin-top:20px}.skel-rows{flex-direction:column;display:flex}.skel-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 0;display:flex}.skel-row:last-child{border-bottom:0}.palette-backdrop{z-index:70;background:color-mix(in srgb, var(--p-950) 45%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:flex-start;padding:12vh 16px 16px;animation:.15s fade-in;display:flex;position:fixed;inset:0}.palette{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);width:min(620px,100%);max-height:min(560px,76vh);box-shadow:var(--shadow-pop), 0 0 0 1px var(--accent-line);animation:modal-in .3s var(--ease-spring);flex-direction:column;display:flex;overflow:hidden}.palette-input{border-bottom:1px solid var(--border);color:var(--accent-ink);align-items:center;gap:10px;padding:12px 16px;display:flex}.palette-input input,.palette-input input:focus,.palette-input input:hover{box-shadow:none;background:0 0;border:0;min-height:32px;padding:0;font-size:16px}.palette-list{overscroll-behavior:contain;padding:6px;overflow-y:auto}.palette-group-title{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 10px 4px}.palette-item{width:100%;color:var(--text);font-size:var(--fs-body);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.palette-item.on{background:var(--accent-soft)}.palette-icon{background:var(--hover);width:28px;height:28px;color:var(--text-2);transition:background var(--dur-2), color var(--dur-2);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.palette-item.on .palette-icon{background:var(--primary);color:var(--on-primary)}.palette-hint{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.palette-go{opacity:0;transition:opacity var(--dur-2), transform var(--dur-3) var(--ease-out);color:var(--accent-ink);flex-shrink:0;transform:translate(-4px)}.palette-item.on .palette-go{opacity:1;transform:none}.palette-empty{text-align:center;color:var(--muted);padding:28px 16px}.palette-foot{border-top:1px solid var(--border);background:var(--surface-2);font-size:var(--fs-2xs);color:var(--muted);gap:16px;padding:9px 14px;display:flex}.palette-foot kbd+kbd{margin-left:3px}.palette-foot kbd{margin-right:4px}.pay{flex-wrap:wrap;justify-content:center;align-items:center;gap:22px;display:flex}.pay-side{flex:240px;min-width:0}.qr-tile{box-sizing:content-box;box-shadow:0 0 0 1px var(--border), 0 18px 40px -18px #07071259;animation:modal-in .45s var(--ease-spring);background:#fff;border-radius:18px;flex-shrink:0;padding:10px;position:relative;overflow:hidden}.qr-tile svg{display:block}.qr-scan{pointer-events:none;background:linear-gradient(#0000,#4f46e51f 85%,#4f46e573 100%);border-bottom:2px solid #4f46e58c;height:34%;animation:2.6s ease-in-out infinite qr-scan;position:absolute;top:0;left:6px;right:6px}.pay-info{flex-direction:column;margin:0;display:flex}.pay-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.pay-row:last-child{border-bottom:0}.pay-row dt{color:var(--muted);font-size:var(--fs-sm);flex-shrink:0}.pay-row dd{text-align:right;align-items:center;gap:4px;min-width:0;margin:0;display:flex}.pay-value{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.pay-hint{margin:10px 0 0}.pay-warn{background:var(--warn-soft);color:var(--warn);border-radius:var(--r-sm);margin:10px 0 0;padding:8px 11px}.pay-warn svg{vertical-align:-2px}.mfa-setup{text-align:center;justify-items:center;gap:6px;display:grid}.mfa-setup img{border-radius:var(--r-sm);background:#fff;padding:8px}.break{word-break:break-all}.pay-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;display:flex}.pay-empty p{margin:0}.pay-settings{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.pay-preview{border-radius:var(--r-md);background:var(--surface-2);border:1px dashed var(--border-strong);flex-direction:column;gap:10px;padding:16px;display:flex}.pay-preview .pay{flex-direction:column}.pay-preview .pay-side{width:100%}.dash{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:"h h h h h h a a a b b b""h h h h h h c c c d d d""x x x x x x x x y y y y""i i i i e e e e l l l l";gap:16px;display:grid}.dash>*{min-width:0;margin:0}.dash>.card,.dash>.tint-card{flex-direction:column;display:flex}.ga-h{grid-area:h}.ga-a{grid-area:a}.ga-b{grid-area:b}.ga-c{grid-area:c}.ga-d{grid-area:d}.ga-x{grid-area:x}.ga-y{grid-area:y}.ga-i{grid-area:i}.ga-e{grid-area:e}.ga-l{grid-area:l}.dash>.card>.bars,.dash>.card>.area,.dash>.card>.donut{flex:1}.dash>.card>.empty{flex:1;justify-content:center}.people{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.people li{align-items:center;gap:12px;display:flex}.people b{font-variant-numeric:tabular-nums}.people li .icon-btn{flex-shrink:0}.list-more{align-self:stretch;margin-top:12px}.note{margin:16px 0 0}.debt-mix{flex-direction:column;gap:8px;margin-top:18px;display:flex}.debt-bar{background:var(--track);border-radius:99px;gap:2px;height:8px;display:flex;overflow:hidden}.debt-bar span{transform-origin:0;min-width:3px;animation:grow-x .9s var(--ease-out) .2s backwards}.debt-mix-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.debt-mix-list li{font-size:var(--fs-sm);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:6px 0;display:flex}.debt-mix-list li:last-child{border-bottom:0}.debt-mix-list b{text-align:right;min-width:84px;font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.debt-foot{flex-direction:column;align-items:flex-start;gap:8px;margin-top:auto;padding-top:16px;display:flex}.debt-foot p{margin:0}.tint-head{margin-bottom:0}.leaders{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.leaders li{background:color-mix(in srgb, var(--surface) 72%, transparent);border:1px solid var(--border);border-radius:var(--r-md);align-items:center;gap:12px;padding:10px 12px;display:flex}.leaders b{font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold)}.leader-icon{border-radius:var(--r-sm);color:#fff;width:32px;height:32px;box-shadow:0 6px 14px -8px var(--glow);background:linear-gradient(135deg,#6366f1,#4338ca);flex-shrink:0;place-items:center;display:grid}.leader-label{font-size:var(--fs-xs);color:var(--muted)}.leader-name{font-weight:var(--fw-semibold);font-size:15px}.tint-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto;display:grid}.tint-stats div{flex-direction:column;display:flex}.tint-stats b{font-size:22px;font-weight:var(--fw-semibold);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.tint-stats span{font-size:var(--fs-xs);color:var(--muted)}.board-toggle{display:none}.session-list{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;display:grid}.session-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);color:var(--text);flex-direction:column;align-items:flex-start;gap:10px;padding:18px 20px;display:flex}.session-card:hover{text-decoration:none}.session-top{justify-content:space-between;align-items:baseline;gap:8px;width:100%;font-size:15px;display:flex}.session-meta{color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-regular);flex-wrap:wrap;gap:4px 12px;display:flex}.preview{background:var(--tint-bg);color:var(--tint-text);border:1px solid var(--accent-line);border-radius:var(--r-md);flex-wrap:wrap;gap:8px 28px;margin-top:16px;padding:12px 16px;display:flex}.preview div{flex-direction:column;display:flex}.preview b{font-variant-numeric:tabular-nums;font-size:17px}.role-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.role-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:16px 18px}.role-card p{margin:8px 0}.role-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.role-picker button{text-align:left;border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;transition:border-color var(--dur-2), background var(--dur-2);border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.role-picker button span{font-size:var(--fs-xs);color:var(--muted);line-height:1.35}.role-picker button.on{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:var(--accent-soft)}.role-picker button:disabled{cursor:not-allowed;opacity:.6}.credential{background:var(--surface-2);border:1px dashed var(--border-strong);white-space:pre-wrap;font-family:var(--mono);font-size:var(--fs-sm);border-radius:12px;margin:12px 0 0;padding:14px 16px}.me-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:16px;display:grid}.me-grid>*{margin:0}.me-hero{min-height:260px}.me-hero.is-clear .hero-label svg{color:var(--hero-good)}.me-hero-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex;position:relative}.debt-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.debt-list li{border-bottom:1px solid var(--border);animation:rise .5s var(--ease-out) backwards;align-items:center;gap:12px;padding:9px 0;display:flex}.debt-list li:last-child{border-bottom:0}.debt-list li:nth-child(2){animation-delay:40ms}.debt-list li:nth-child(3){animation-delay:80ms}.debt-list li:nth-child(n+4){animation-delay:.12s}.debt-list b{font-variant-numeric:tabular-nums;white-space:nowrap}.debt-kind{border-radius:var(--r-sm);background:var(--accent-soft);width:30px;height:30px;color:var(--accent-ink);flex-shrink:0;place-items:center;display:grid}.debt-kind.k-fine{background:var(--bad-soft);color:var(--bad)}.auth{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100dvh;display:grid}.auth-art{isolation:isolate;border-radius:var(--r-xl);background:var(--hero-grad);color:var(--hero-text);box-shadow:var(--hero-shadow);flex-direction:column;justify-content:space-between;margin:16px;padding:36px;display:flex;position:relative;overflow:hidden}.auth-art .rings{opacity:.22}.auth-art .brand{padding:0;position:relative}.auth-art .logo{color:var(--hero-ink);background:#fff}.auth-quote{position:relative}.auth-quote h2{font-size:clamp(34px,4vw,52px);font-weight:var(--fw-semibold);letter-spacing:-.035em;line-height:1.05}.auth-quote p{opacity:.82;max-width:380px;font-size:15px}.auth-form{place-items:center;padding:32px 20px;display:grid;position:relative}.auth-theme{position:absolute;top:20px;right:20px}.auth-card{border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--border);width:min(400px,100%);box-shadow:var(--shadow-hover);flex-direction:column;gap:6px;padding:28px;display:flex}.auth-card h1{font-size:28px}.auth-card>p{margin:0 0 18px}.auth-fields{flex-direction:column;gap:14px;display:flex}.auth-fields input{border-radius:13px;min-height:46px}.auth-fields .btn.primary{margin-top:6px}.auth-card>.btn.ghost{align-self:center;margin-top:12px}.bars-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.bars-total{font-size:28px;font-weight:var(--fw-semibold);letter-spacing:-.025em;font-variant-numeric:tabular-nums}.legend{font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;list-style:none;display:flex}.legend li{transition:opacity var(--dur-2);align-items:center;gap:6px;display:flex}.legend li.dim{opacity:.4}.legend li.on{color:var(--text)}.legend b{color:var(--text);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.legend b.text-bad{color:var(--bad)}.legend-btn{border-radius:var(--r-xs);color:inherit;font-size:inherit;cursor:default;background:0 0;border:0;align-items:center;gap:6px;margin:-2px -6px;padding:2px 6px;display:inline-flex}.legend-btn:hover{color:var(--text)}.dot{border-radius:3px;flex-shrink:0;width:10px;height:10px;display:inline-block}.hatch{background-image:repeating-linear-gradient(135deg, var(--hatch-line) 0 2px, transparent 2px 6px)}.bars{flex-direction:column;padding-bottom:26px;display:flex}.bars-plot{border-bottom:1px solid var(--border-strong);flex:1;margin-left:40px;position:relative}.chart-grid{border-top:1px dashed var(--border);pointer-events:none;height:0;position:absolute;left:0;right:0}.chart-grid span{font-size:var(--fs-2xs);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:10px;position:absolute;top:-8px;right:100%}.bars-cols{gap:10px;display:flex;position:absolute;inset:0}.bar-col{--h:0%;z-index:0;border-radius:var(--r-sm);cursor:default;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:0;height:100%;display:flex;position:relative}.bar-col:before{content:"";z-index:-1;border-radius:var(--r-sm);background:var(--accent-soft);opacity:0;transition:opacity var(--dur-2);position:absolute;inset:-6px -3px 0}.bar-col.hov:before{opacity:1}.bar-col:focus-visible{outline-offset:3px}.bar-stack{width:min(38px,66%);height:var(--h);transform-origin:bottom;animation:grow-y .9s var(--ease-out) backwards;transition:opacity var(--dur-2), height .6s var(--ease-out);border-radius:4px 4px 0 0;flex-direction:column-reverse;gap:2px;display:flex;overflow:hidden}.bars-plot.has-hover .bar-col:not(.hov) .bar-stack{opacity:.45}.bar-seg{min-height:3px;transition:opacity .25s}.bar-seg.dim{opacity:.2}.bar-value{bottom:calc(var(--h) + 6px);font-size:var(--fs-2xs);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;opacity:0;transition:opacity var(--dur-2), transform var(--dur-3) var(--ease-out);position:absolute;transform:translateY(4px)}.bar-col.on .bar-value{opacity:1;color:var(--text);font-weight:var(--fw-semibold);transform:none}.bar-label{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;position:absolute;top:calc(100% + 7px)}.bar-col.on .bar-label{color:var(--text);font-weight:var(--fw-semibold)}.chart-tip{z-index:5;pointer-events:none;border-radius:var(--r-md);background:var(--surface-3);border:1px solid var(--border-strong);min-width:168px;font-size:var(--fs-sm);animation:tip-in .18s var(--ease-out);padding:10px 12px;position:absolute;top:0;box-shadow:0 16px 36px -14px #07071266}:where([data-theme=light]) .chart-tip{background:#fff}.chart-tip.right{transform:translate(14px)}.chart-tip.left{transform:translate(calc(-100% - 14px))}.chart-tip-title{font-weight:var(--fw-semibold);margin-bottom:6px}.chart-tip-row{color:var(--text-2);align-items:center;gap:8px;padding:2px 0;display:flex}.chart-tip-row b{color:var(--text);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;margin-left:auto}.chart-tip-total{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.donut{flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.donut-ring{position:relative}.donut-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute}.donut-value{font-weight:var(--fw-semibold);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}.donut-label{animation:.3s fade-in}.donut-sweep{animation:sweep 1.2s var(--ease-out) .15s backwards}.donut-seg{cursor:default;transition:opacity .25s}.donut-seg.dim{opacity:.25}.donut-legend{width:100%;margin:0;padding:0;list-style:none}.donut-legend li{border-bottom:1px solid var(--border)}.donut-legend li:last-child{border-bottom:0}.donut-legend button{border-radius:var(--r-xs);text-align:left;cursor:default;width:100%;transition:opacity var(--dur-2), background var(--dur-2), padding var(--dur-3) var(--ease-out);background:0 0;border:0;align-items:center;gap:10px;padding:9px 0;font-size:13.5px;display:flex}.donut-legend button:focus-visible{outline-offset:-2px}.donut-legend li.dim button{opacity:.45}.donut-legend li.on button{background:var(--hover);padding-inline:8px}.donut-legend b{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;text-align:right;min-width:92px}.area{flex-direction:column;flex:1;display:flex}.area-detail{animation:.3s fade-in}.area-plot{margin:6px 0 0 40px;position:relative}.area-svg{width:100%;height:100%;animation:reveal-x 1.3s var(--ease-out) backwards;position:absolute;inset:0;overflow:visible}.area-line{fill:none;stroke:var(--series-1);stroke-width:2.2px;stroke-linejoin:round;stroke-linecap:round}.area-grid{border-top:1px dashed var(--border);position:absolute;left:0;right:0}.area-grid.zero{border-top:1px solid var(--border-strong)}.area-grid span{font-size:var(--fs-2xs);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:10px;position:absolute;top:-8px;right:100%}.area-cursor{background:color-mix(in srgb, var(--series-1) 40%, transparent);width:1px;transition:left .3s var(--ease-out);pointer-events:none;position:absolute;top:0;bottom:0}.area-dot{background:var(--surface);border:3px solid var(--series-1);width:12px;height:12px;box-shadow:0 0 0 5px color-mix(in srgb, var(--series-1) 18%, transparent), 0 0 16px var(--glow);transition:left .3s var(--ease-out), top .3s var(--ease-out);pointer-events:none;border-radius:50%;margin:-6px 0 0 -6px;position:absolute}.area-hit{border-radius:var(--r-xs);position:absolute;top:0;bottom:0}.area-hit:focus-visible{outline-offset:-2px}.area-labels{height:22px;margin:8px 0 0 40px;position:relative}.area-labels span{font-size:var(--fs-xs);color:var(--muted);transition:color var(--dur-2);position:absolute;transform:translate(-50%)}.area-labels span.on{color:var(--text);font-weight:var(--fw-semibold)}.chart-more{align-self:flex-end;margin-top:14px}.spark{color:currentColor;opacity:.8;clip-path:inset(0);animation:reveal-x 1.4s var(--ease-out) .2s backwards;margin:-4px -4px 0;position:relative}.spark svg{width:100%;height:100%;display:block;overflow:visible}.spark-dot{width:9px;height:9px;animation:pop .5s var(--ease-spring) 1.4s backwards;background:currentColor;border-radius:50%;margin:-4.5px 0 0 -4.5px;position:absolute;box-shadow:0 0 0 4px #fff3,0 0 14px #fff9}.card,.metric,.session-card,.role-card{isolation:isolate;position:relative}.card:before,.metric:before,.session-card:before,.role-card:before,.tint-card:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(360px circle at var(--mx,50%) var(--my,0%), var(--spot), transparent 65%);opacity:0;transition:opacity .35s var(--ease-out);position:absolute;inset:0}.card:hover:before,.metric:hover:before,.session-card:hover:before,.role-card:hover:before,.tint-card:hover:before{opacity:1}.metric-accent:before{background:radial-gradient(320px circle at var(--mx,50%) var(--my,0%), var(--spot-hero), transparent 65%)}.metric:after,.session-card:after,.role-card:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg, var(--accent-line-strong), transparent 38%, transparent 62%, color-mix(in srgb, var(--secondary) 55%, transparent));-webkit-mask-composite:xor;opacity:0;transition:opacity var(--dur-3) var(--ease-out);padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.metric-accent:after{display:none}.metric:hover:after,.session-card:hover:after,.role-card:hover:after{opacity:1}.card,.tint-card{transition:border-color .3s, box-shadow .35s var(--ease-out)}.metric,.session-card,.role-card{transition:border-color .3s, box-shadow .35s var(--ease-out), transform .35s var(--ease-out)}.card:hover,.tint-card:hover{border-color:color-mix(in srgb, var(--accent-ink) 22%, var(--border))}.metric:hover,.session-card:hover,.role-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.metric-bad:hover{box-shadow:inset 3px 0 0 var(--bad), var(--shadow-hover)}.metric-accent:hover{box-shadow:var(--hero-shadow)}.metric-icon{transition:transform .4s var(--ease-spring)}.metric:hover .metric-icon{transform:translateY(-2px)rotate(-6deg)scale(1.05)}.hero-card:before{content:"";z-index:0;border-radius:inherit;pointer-events:none;background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%), var(--spot-hero), transparent 65%);opacity:0;transition:opacity .35s;position:absolute;inset:0}.hero-card:hover:before{opacity:1}.hero-card:after,.auth-art:after{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(105deg,#0000 38%,#ffffff29 50%,#0000 62%);animation:1.8s ease-in-out .9s both sheen;position:absolute;inset:0;transform:translate(-100%)}.page>*,.stats>*,.session-list>*,.role-cards>*,.grid-2>*,.me-grid>*{animation:rise .6s var(--ease-out) backwards}.page>:nth-child(2),.stats>:nth-child(2),.session-list>:nth-child(2),.role-cards>:nth-child(2),.grid-2>:nth-child(2),.me-grid>:nth-child(2){animation-delay:60ms}.page>:nth-child(3),.stats>:nth-child(3),.session-list>:nth-child(3),.role-cards>:nth-child(3),.grid-2>:nth-child(3){animation-delay:.12s}.page>:nth-child(4),.stats>:nth-child(4),.session-list>:nth-child(4),.grid-2>:nth-child(4){animation-delay:.18s}.page>:nth-child(5),.session-list>:nth-child(5){animation-delay:.24s}.page>:nth-child(n+6),.session-list>:nth-child(n+6){animation-delay:.3s}.dash>*{animation:rise .6s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 50ms)}tbody tr{animation:fade-in .45s var(--ease-out) backwards}.auth-card{animation:rise .7s var(--ease-out) .1s backwards}.auth-quote{animation:rise .8s var(--ease-out) .25s backwards}.hero-delta{animation:rise .6s var(--ease-out) .5s backwards}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@keyframes fade-in{0%{opacity:0}}@keyframes grow-y{0%{transform:scaleY(0)}}@keyframes grow-x{0%{transform:scaleX(0)}}@keyframes sweep{0%{stroke-dashoffset:100px}}@keyframes reveal-x{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes spin-in{0%{transform:rotate(-90deg)scale(.6)}}@keyframes ring-breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.05)}}@keyframes ring-spin{to{transform:rotate(360deg)}}@keyframes breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.92)}}@keyframes ping{0%{opacity:.7;transform:scale(1)}80%,to{opacity:0;transform:scale(2.8)}}@keyframes sheen{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.96)}}@keyframes menu-in{0%{opacity:0;transform:translateY(6px)scale(.97)}}@keyframes tip-in{0%{opacity:0}}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)scale(.96)}}@keyframes toast-out{to{opacity:0;transform:translate(24px)}}@keyframes bulk-in{0%{opacity:0;transform:translate(-50%,18px)scale(.96)}}@keyframes qr-scan{0%{opacity:0;transform:translateY(-100%)}15%{opacity:1}85%{opacity:1}to{opacity:0;transform:translateY(300%)}}:root.vt .content{view-transition-name:page-content}::view-transition-old(page-content){animation:.16s ease-in both vt-out}::view-transition-new(page-content){animation:vt-in .28s var(--ease-out) both}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}@keyframes vt-out{to{opacity:0;transform:translateY(-4px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(6px)}}@media (width<=1180px){.dash{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"h h h h""a b c d""x x x x""y y i i""e e l l"}.dash .hero-card{min-height:0}.content{padding:28px 28px 56px}}@media (width<=1023px){.dash{grid-template-areas:"h h h h""a a b b""c c d d""x x x x""y y i i""e e l l"}}@media (width<=900px){.grid-2,.role-cards,.me-grid,.pay-settings,.auth{grid-template-columns:minmax(0,1fr)}.auth-art{min-height:220px;padding:24px}.auth-quote h2{font-size:30px}.auth-quote p{display:none}.auth-card{padding:22px}}@media (width<=860px){.layout{flex-direction:column}.sidebar{z-index:20;border-right:0;border-bottom:1px solid var(--border);width:100%;height:auto;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;background:color-mix(in srgb, var(--surface) 97%, transparent);-webkit-backdrop-filter:none;backdrop-filter:none;position:sticky;top:0}.brand{padding:0}.sidebar nav,.sidebar .userbox,.search-btn,.rail-toggle{display:none}.brand .mobile-search{display:inline-grid}.notif-panel{top:calc(62px + env(safe-area-inset-top));width:auto;max-height:calc(100vh - 170px);max-height:calc(100dvh - 170px - env(safe-area-inset-top) - env(safe-area-inset-bottom));transform-origin:100% 0;position:fixed;left:12px;right:12px}.notif-list{overscroll-behavior:contain}.menu-open .sidebar{max-height:calc(100vh - 90px - env(safe-area-inset-bottom));max-height:calc(100dvh - 90px - env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--surface);overflow-y:auto}:root.menu-lock{overflow:hidden}.menu-open .sidebar nav{animation:rise .35s var(--ease-out);flex:none;padding-top:8px;display:flex;overflow:visible}.menu-open .sidebar .userbox{margin-top:10px;padding-bottom:6px;display:flex}.user-menu{box-shadow:none;animation:rise .25s var(--ease-out);position:static}.content{padding:18px 16px calc(100px + env(safe-area-inset-bottom))}.content>*+*,.page>*+*,.skeleton-page>*+*{margin-top:16px}h1{font-size:24px}.dash{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"h h""y y""a b""c d""x x""i i""e e""l l";gap:10px}.dash.no-debt{grid-template-areas:"h h""a b""c d""x x""i i""e e""l l""y y"}.hero-card{border-radius:var(--r-lg);padding:20px}.skel-hero{min-height:200px}.card{padding:16px}.metric{padding:14px}.metric-icon{width:30px;height:30px}.metric-head{margin-bottom:8px}.metric-value{font-size:19px}.metric-chip{white-space:normal;max-width:100%}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats>.metric-accent:first-child{grid-column:1/-1}.table-wrap.flush{margin:0 -16px -16px}.table-wrap.flush th:first-child,.table-wrap.flush td:first-child{padding-left:16px}.bars-cols{gap:6px}.bars-plot,.area-plot,.area-labels{margin-left:34px}.metric:hover,.role-card:hover,.session-card:hover{transform:none}.form-grid,.role-picker{grid-template-columns:minmax(0,1fr)}.toolbar .btn.primary{margin-left:0}.toasts{align-items:stretch;left:16px;right:16px}.toast{min-width:0;max-width:none}.toasts,.bulk-bar{bottom:calc(86px + env(safe-area-inset-bottom))}.bulk-bar{max-width:none;animation:rise .4s var(--ease-spring);gap:6px;padding-left:12px;left:12px;right:12px;transform:none}.bulk-count{font-size:var(--fs-xs);text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.bulk-sum{display:none}.tabbar{z-index:40;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--border-strong);height:64px;animation:rise .6s var(--ease-out) .2s backwards;border-radius:22px;padding:6px;display:flex;position:fixed;box-shadow:0 14px 34px -14px #07071266}.tab{z-index:1;cursor:pointer;min-width:0;color:var(--muted);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);transition:color var(--dur-3);-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:16px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;text-decoration:none;display:flex;position:relative}.tab:hover{text-decoration:none}.tab{touch-action:manipulation}.tab:active svg{transform:scale(.88)}.tab svg{transition:transform var(--dur-2) var(--ease-out)}.tab.active{color:var(--accent-ink)}.tab.active svg{animation:pop .45s var(--ease-spring)}.tab span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.tab-indicator{background:var(--accent-soft-2);box-shadow:inset 0 0 0 1px var(--accent-line);border-radius:16px}.menu-scrim{z-index:15;background:color-mix(in srgb, var(--p-950) 45%, transparent);animation:.2s fade-in;display:block;position:fixed;inset:0}.palette-backdrop{padding-top:10px}.palette{max-height:calc(100dvh - 110px)}.aurora-band,.grid-glow,.palette-foot{display:none}}@media (hover:none){a,button,select,label,summary,[role=button],[role=tab]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:hover{text-decoration:none}.tab:active,.sidebar nav a:active,.menu-item:active,.notif-item:active{background:var(--hover)}}@media (width<=640px){.table-wrap:has(>table.responsive){background:0 0;border:0;border-radius:0;overflow:visible}.table-wrap.flush:has(>table.responsive){margin:0}table.responsive,table.responsive tbody,table.responsive tfoot{width:100%;display:block}table.responsive thead{display:none}table.responsive tr{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);flex-wrap:wrap;align-items:center;margin-bottom:10px;padding:8px 14px;display:flex}table.responsive td{white-space:normal;text-align:right;border:0;flex:100%;justify-content:space-between;align-items:center;gap:12px;min-width:0;max-width:none;padding:5px 0;display:flex}table.responsive td:before{content:attr(data-label);color:var(--muted);font-size:var(--fs-xs);text-align:left;flex-shrink:0}table.responsive td:not([data-label]):not(.sel-cell):not(.row-actions),table.responsive td[data-label=""]{text-align:left;font-weight:var(--fw-semibold);border-bottom:1px solid var(--border);justify-content:flex-start;margin-bottom:4px;padding:4px 0 8px}table.responsive td:not([data-label]):before,table.responsive td[data-label=""]:before{content:none}table.responsive td.wrap{text-align:left;display:block}table.responsive td.wrap:before{margin-bottom:2px;display:block}table.responsive td.bar-cell{flex-wrap:wrap}table.responsive td.bar-cell .progress{flex-basis:100%}table.responsive td.foot-empty{display:none}table.responsive td.sel-cell,table.responsive td.row-actions{border-top:1px dashed var(--border);flex:none;order:99;width:auto;margin-top:4px;padding:8px 0 2px}table.responsive td.sel-cell{flex:auto;justify-content:flex-start;gap:8px}table.responsive td.sel-cell:before{content:none}table.responsive td.sel-cell:after{content:"Chọn";color:var(--muted);font-size:var(--fs-xs)}table.responsive td.row-actions .actions{justify-content:flex-end}table.responsive tbody tr:hover td,table.responsive tr.selected td{background:0 0}table.responsive tr.selected{border-color:var(--accent-line-strong);background:var(--accent-soft)}table.responsive tfoot tr{background:var(--surface-2)}table.responsive tfoot td{border-top:0}.board:not(.board-all) table.responsive td.lo{display:none}.board-toggle{display:inline-flex}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.orb{animation:none!important}.hero-card:after,.auth-art:after{display:none}}
