.lgn-page{--lgn-ink: #07090d;--lgn-panelbg: #0c0f15;--lgn-text: #e8ecf1;--lgn-muted: #99a2b1;--lgn-faint: #8f9aab;--lgn-line: rgba(255, 255, 255, .08);--lgn-accent: #45c4f5;--lgn-accent-soft: rgba(69, 196, 245, .16);--lgn-accent-glow: rgba(69, 196, 245, .38);--lgn-on-accent: #052430;--lgn-err: #ff8a87;--lgn-paper: #f2f5f9;--lgn-sans: "Geist", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--lgn-mono: "Geist Mono", ui-monospace, "JetBrains Mono", "Cascadia Mono", Consolas, monospace;--lgn-energy: .5;--lgn-veil: 0;display:flex;width:100%;min-height:100vh;min-height:100dvh;background:var(--lgn-ink);color:var(--lgn-text);font-family:var(--lgn-sans);-webkit-font-smoothing:antialiased}@supports (color: oklch(.5 .1 200)){.lgn-page{--lgn-ink: oklch(.15 .012 240);--lgn-panelbg: oklch(.19 .015 240);--lgn-text: oklch(.93 .008 240);--lgn-muted: oklch(.71 .02 240);--lgn-faint: oklch(.68 .025 240);--lgn-accent: oklch(.78 .13 220)}}@supports (background: color-mix(in oklch,red,blue)){.lgn-page{--lgn-accent-soft: color-mix(in oklch, var(--lgn-accent), transparent 84%);--lgn-accent-glow: color-mix(in oklch, var(--lgn-accent), transparent 62%)}}.lgn-page *,.lgn-page *:before,.lgn-page *:after{box-sizing:border-box;margin:0;padding:0}.lgn-page :focus-visible{outline:2px solid var(--lgn-accent);outline-offset:2px}.lgn-stage{position:relative;flex:1 1 55%;min-width:0;overflow:hidden;background:var(--lgn-ink)}.lgn-atmo{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(900px 620px at 32% 18%,rgba(69,196,245,.17),transparent 62%),radial-gradient(760px 540px at 74% 82%,rgba(96,140,190,.15),transparent 60%),radial-gradient(1100px 320px at 62% 30%,rgba(120,205,250,.11),transparent 70%),var(--lgn-ink)}.lgn-orb{position:absolute;width:640px;height:640px;left:-4%;top:-8%;border-radius:50%;background:radial-gradient(circle at 40% 40%,rgba(69,196,245,.2),transparent 66%);animation:lgn-orbdrift 36s ease-in-out infinite alternate;pointer-events:none}.lgn-orb--b{width:720px;height:720px;left:auto;top:auto;right:-8%;bottom:-14%;background:radial-gradient(circle at 55% 55%,rgba(88,150,205,.16),transparent 66%);animation-duration:44s;animation-delay:-12s}.lgn-scenewrap{position:absolute;top:0;right:0;bottom:0;left:0;perspective:1300px;perspective-origin:62% 30%}.lgn-tilt{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;will-change:transform}.lgn-world{position:absolute;left:50%;top:56%;width:0;height:0;transform:rotateX(56deg) rotate(-38deg)}.lgn-world,.lgn-world *{transform-style:preserve-3d}.lgn-floor{position:absolute;left:-580px;top:-470px;width:1160px;height:900px;background:radial-gradient(660px 400px at 50% 46%,rgba(69,196,245,.2),transparent 70%),repeating-linear-gradient(0deg,rgba(69,196,245,.16) 0 1px,transparent 1px 224px),repeating-linear-gradient(90deg,rgba(69,196,245,.16) 0 1px,transparent 1px 224px),repeating-linear-gradient(0deg,rgba(255,255,255,.085) 0 1px,transparent 1px 56px),repeating-linear-gradient(90deg,rgba(255,255,255,.085) 0 1px,transparent 1px 56px),#1a222e;-webkit-mask-image:radial-gradient(closest-side,#000 52%,transparent 98%);mask-image:radial-gradient(closest-side,#000 52%,transparent 98%)}.lgn-beltbase{position:absolute;left:-508px;top:-66px;width:1016px;height:132px;border-radius:14px;background:#0b0f16}.lgn-belt{position:absolute;left:-504px;top:-60px;width:1008px;height:120px;transform:translateZ(12px);border-radius:10px;border:1px solid rgba(255,255,255,.2);background:linear-gradient(180deg,#33404f,#232d3b 55%,#2a3543);box-shadow:inset 0 1px #ffffff29;overflow:hidden}.lgn-belt:before,.lgn-belt:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--lgn-accent);box-shadow:0 0 10px 1px var(--lgn-accent-glow);opacity:calc(.1 + var(--lgn-energy) * .4);transition:opacity .4s ease;pointer-events:none}.lgn-belt:before{top:0}.lgn-belt:after{bottom:0}.lgn-tread{position:absolute;top:0;left:0;width:calc(100% + 96px);height:100%;background:repeating-linear-gradient(90deg,rgba(255,255,255,.085) 0 2px,transparent 2px 48px);will-change:transform}.lgn-beltline{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--lgn-accent);opacity:calc(.16 + var(--lgn-energy) * .3);transition:opacity .4s ease}.lgn-beltglow{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent,var(--lgn-accent-soft) 45%,transparent);opacity:0;transition:opacity .4s ease}.lgn-gate{position:absolute;left:0;top:0}.lgn-gateframe{position:absolute;left:-85px;top:-88px;width:170px;height:88px;transform-origin:50% 100%;transform:rotate(90deg) rotateX(-90deg)}.lgn-gpost{position:absolute;top:0;bottom:0;width:12px;display:block;background:linear-gradient(180deg,#465364,#303a48);border:1px solid rgba(255,255,255,.09)}.lgn-gpost--l{left:0}.lgn-gpost--r{right:0}.lgn-gbeam{position:absolute;left:0;right:0;top:0;height:16px;display:block;background:linear-gradient(180deg,#4a5665,#39434f);border:1px solid rgba(255,255,255,.1)}.lgn-gatelight{position:absolute;left:14px;right:14px;top:6px;height:3px;border-radius:2px;background:var(--lgn-accent);box-shadow:0 0 14px 2px var(--lgn-accent-glow);opacity:calc(.3 + var(--lgn-energy) * .7);transition:opacity .35s ease}.lgn-gatecap{position:absolute;left:-6px;top:-85px;width:12px;height:170px;display:block;transform:translateZ(88px);background:#4d5968;border:1px solid rgba(255,255,255,.1)}.lgn-gantry{position:absolute;left:0;top:0}.lgn-grail{position:absolute;left:-370px;top:-6px;width:720px;height:12px;display:block;transform:translateZ(150px);background:linear-gradient(90deg,#38434f,#465364 50%,#38434f);border:1px solid rgba(255,255,255,.1)}.lgn-lamp{position:absolute;left:0;top:0}.lgn-lampup{position:absolute;left:-55px;top:-150px;width:110px;height:150px;transform-origin:50% 100%;transform:rotate(38deg) rotateX(-90deg)}.lgn-lamprod{position:absolute;left:calc(50% - 1px);top:0;width:2px;height:22px;display:block;background:#5b6879}.lgn-lamphead{position:absolute;left:calc(50% - 10px);top:20px;width:20px;height:10px;display:block;border-radius:3px;background:linear-gradient(180deg,#4e5b6d,#333d4a);border:1px solid rgba(255,255,255,.14);box-shadow:0 2px 10px var(--lgn-accent-glow),inset 0 -1px #96e1ffa6}.lgn-lampcone{position:absolute;left:0;top:29px;bottom:0;width:100%;display:block;clip-path:polygon(50% 0,93% 100%,7% 100%);background:linear-gradient(to bottom,#96e1ff80,#45c4f52e 55%,#45c4f505 96%);opacity:calc(.3 + var(--lgn-energy) * .55);transition:opacity .4s ease}.lgn-lamppool{position:absolute;left:-50px;top:-20px;width:100px;height:40px;display:block;transform:translateZ(13px);border-radius:50%;background:radial-gradient(closest-side,rgba(150,225,255,.34),rgba(69,196,245,.14) 55%,transparent 78%);opacity:calc(.35 + var(--lgn-energy) * .55);transition:opacity .4s ease;animation:lgn-poolbreathe 5.5s ease-in-out infinite}.lgn-docpos{position:absolute;left:0;top:0;will-change:transform}.lgn-docshadow{position:absolute;left:-34px;top:-13px;width:68px;height:26px;transform:translateZ(14px);border-radius:50%;opacity:var(--lgn-fade, 1);background:radial-gradient(closest-side,rgba(0,0,0,.5),transparent 72%)}.lgn-doclift{transform:translateZ(26px);transition:transform .55s cubic-bezier(.4,.1,.2,1)}.lgn-docup{position:absolute;left:-38px;top:-98px;width:76px;height:98px;transform-origin:50% 100%;transform:rotate(38deg) rotateX(-90deg)}.lgn-flip{position:absolute;top:0;right:0;bottom:0;left:0;transition:transform .55s cubic-bezier(.22,1.2,.36,1)}.lgn-flip--1{transition-delay:55ms}.lgn-flip--2{transition-delay:.11s}.lgn-flip--3{transition-delay:165ms}.lgn-flip--4{transition-delay:.22s}.lgn-docface,.lgn-docback{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:7px;opacity:var(--lgn-fade, 1);backface-visibility:hidden;-webkit-backface-visibility:hidden}.lgn-docface{background:var(--lgn-paper);border:1px solid rgba(255,255,255,.55);border-left:4px solid #8c96a5;box-shadow:0 0 12px -3px #45c4f54d;padding:7px 7px 6px 8px;display:flex;flex-direction:column;gap:5px;color:#1d2530;transition:box-shadow .3s ease,border-color .3s ease}.lgn-doctag{align-self:flex-start;font-family:var(--lgn-mono);font-size:8px;font-weight:600;letter-spacing:.08em;padding:2px 4px;border-radius:3px;background:#232b36;color:#eef2f7;transition:background .3s ease,color .3s ease}.lgn-doccode{font-family:var(--lgn-mono);font-size:8.5px;font-weight:600;color:#1d2530}.lgn-doclabel{font-family:var(--lgn-mono);font-size:6.5px;letter-spacing:.1em;color:#6b7686}.lgn-docline{height:3px;border-radius:2px;background:#cdd5df}.lgn-docline--1{width:84%}.lgn-docline--2{width:66%}.lgn-docline--3{width:74%}.lgn-docbar{margin-top:auto;height:8px;background:repeating-linear-gradient(90deg,#2a3340 0 2px,transparent 2px 5px);opacity:.75}.lgn-docback{transform:rotateY(180deg);background:repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 4px,transparent 4px 9px),#161c26;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#93a0b2}.lgn-docbacktxt{font-family:var(--lgn-mono);font-size:7px;letter-spacing:.22em}.lgn-cube{position:absolute;left:0;top:0;width:36px;height:36px}.lgn-cubebody{position:absolute;top:0;right:0;bottom:0;left:0}.lgn-cubebody--drop{animation:lgn-cubedrop 8s ease-in-out infinite;animation-delay:var(--lgn-drop-delay, 0s);will-change:transform}.lgn-cubebody--drop .lgn-cf{animation:lgn-cubefade 8s ease-in-out infinite;animation-delay:var(--lgn-drop-delay, 0s)}.lgn-cf{position:absolute;top:0;right:0;bottom:0;left:0;display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid rgba(255,255,255,.09)}.lgn-cf--top{transform:translateZ(36px);background:linear-gradient(135deg,rgba(69,196,245,.18),transparent 60%),linear-gradient(135deg,#6e7f93,#55647680);background-color:#61707f;border-color:#ffffff38}.lgn-cf--n{transform:rotateX(90deg);transform-origin:50% 0%;background:#3a4757}.lgn-cf--s{transform:rotateX(-90deg);transform-origin:50% 100%;background:#4b5a6c}.lgn-cf--e{transform:rotateY(90deg);transform-origin:100% 50%;background:#313d4b}.lgn-cf--w{transform:rotateY(-90deg);transform-origin:0% 50%;background:#43505f}.lgn-chart{position:absolute;left:0;top:0;transform:translate3d(292px,168px,0)}.lgn-chartup{position:absolute;left:-66px;top:-84px;width:132px;height:84px;transform-origin:50% 100%;transform:rotate(38deg) rotateX(-90deg);display:flex;align-items:flex-end;gap:9px;padding:0 10px;border-bottom:1px solid rgba(255,255,255,.18)}.lgn-bar{flex:1 1 0;border-radius:2px 2px 0 0;background:linear-gradient(to top,#45c4f54d,#45c4f5d9);transform-origin:50% 100%;transform:scaleY(.18);animation:lgn-bargrow 9s ease-in-out infinite;transition:filter .3s ease;will-change:transform}.lgn-rack{position:absolute;left:0;top:0;transform:translate3d(-96px,-186px,0)}.lgn-rackup{position:absolute;left:-75px;top:-112px;width:150px;height:112px;transform-origin:50% 100%;transform:rotate(38deg) rotateX(-90deg);display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:12px 9px;padding:10px;border:1px solid rgba(255,255,255,.16);border-radius:4px;background:linear-gradient(180deg,transparent calc(50% - 1px),rgba(255,255,255,.14) calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(180deg,#262f3deb,#181e28eb)}.lgn-bin{display:block;border-radius:3px;background:linear-gradient(180deg,#303b4a,#232c38);border:1px solid rgba(255,255,255,.09)}.lgn-bin--lit{background:linear-gradient(180deg,#45c4f58c,#45c4f529);border-color:#45c4f58c;box-shadow:0 0 12px -2px var(--lgn-accent-glow);opacity:calc(.55 + var(--lgn-energy) * .45);transition:opacity .4s ease;animation:lgn-binblink 4.5s ease-in-out infinite}.lgn-dispatch{position:absolute;left:0;top:0;transform:translate3d(500px,0,0)}.lgn-dispatchup{position:absolute;left:-60px;top:-120px;width:120px;height:120px;transform-origin:50% 100%;transform:rotate(38deg) rotateX(-90deg)}.lgn-chutebody{position:absolute;left:12px;bottom:28px;width:50px;height:10px;display:block;transform:rotate(-13deg);border-radius:3px;background:linear-gradient(180deg,#465364,#333d4a);border:1px solid rgba(255,255,255,.12);opacity:calc(.6 + var(--lgn-energy) * .4);transition:opacity .4s ease}.lgn-chutebody:after{content:"";position:absolute;left:6px;top:9px;width:2px;height:26px;background:#333d4a}.lgn-envfly{position:absolute;left:26px;bottom:40px;width:20px;height:14px;display:block;border-radius:2px;background:var(--lgn-paper);box-shadow:0 0 10px -2px var(--lgn-accent-glow);animation:lgn-dispatchfly 6.5s cubic-bezier(.3,0,.55,1) infinite;transition:filter .4s ease;will-change:transform,opacity}.lgn-envfly:before{content:"";position:absolute;left:0;top:0;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:7px solid #ccd5e0}.lgn-haze{position:absolute;left:0;right:0;top:0;height:42%;background:linear-gradient(to bottom,rgba(7,9,13,.16),rgba(7,9,13,.05) 55%,transparent);pointer-events:none}.lgn-stagedim{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(130% 110% at 46% 42%,transparent 64%,rgba(4,6,10,.2));pointer-events:none}.lgn-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:#05070b;opacity:var(--lgn-veil);transition:opacity .45s ease;pointer-events:none}.lgn-grain{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");opacity:.04;pointer-events:none}.lgn-kpis{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;font-family:var(--lgn-mono)}.lgn-kpi{position:absolute;display:flex;flex-direction:column;gap:3px;padding:9px 13px;border-radius:10px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,#151b25b8,#0d111899);box-shadow:inset 0 1px #ffffff14,0 10px 26px -14px #000c;transition:opacity .45s ease,filter .3s ease;animation:lgn-kpifloat 8s ease-in-out infinite alternate;will-change:transform}.lgn-kpilabel{font-size:8.5px;letter-spacing:.18em;color:var(--lgn-muted)}.lgn-kpival{font-size:17px;font-weight:600;letter-spacing:.04em;color:var(--lgn-text)}.lgn-kpi--a{left:7%;top:15%}.lgn-kpi--a .lgn-kpival{color:var(--lgn-accent);text-shadow:0 0 14px var(--lgn-accent-glow)}.lgn-kpi--c{left:7%;top:60%;opacity:.86;animation-duration:9s;animation-delay:-5s}.lgn-kpi--c .lgn-kpival{font-size:15px}.lgn-kpi--d{right:9%;top:14%;opacity:.82;animation-duration:11s;animation-delay:-7s}.lgn-kpi--d .lgn-kpival{font-size:15px}.lgn-kpi--b{right:9%;top:31%;opacity:.92;animation-duration:10s;animation-delay:-3s}.lgn-kpi--b .lgn-kpival{font-size:15px}.lgn-steps{position:absolute;left:6%;top:25%;width:178px;padding:13px 14px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,#151b25b8,#0d111899);box-shadow:inset 0 1px #ffffff14,0 12px 30px -16px #000000d9;font-family:var(--lgn-mono);pointer-events:none}.lgn-stepshead{display:block;font-size:8.5px;letter-spacing:.2em;color:var(--lgn-muted);margin-bottom:10px}.lgn-steplist{position:relative;display:flex;flex-direction:column;gap:8px}.lgn-steprail{position:absolute;left:4px;top:7px;bottom:7px;width:1px;background:#ffffff1f}.lgn-steppulse{position:absolute;left:1px;top:3.5px;width:7px;height:7px;border-radius:50%;background:var(--lgn-accent);box-shadow:0 0 10px 2px var(--lgn-accent-glow);animation:lgn-steptravel 6.5s cubic-bezier(.5,0,.5,1) infinite;will-change:transform}.lgn-step{position:relative;display:flex;align-items:center;gap:10px;min-height:14px}.lgn-stepnode{flex:none;box-sizing:border-box;width:9px;height:9px;border-radius:50%;background:#3b4655;border:1px solid rgba(255,255,255,.16)}.lgn-steptxt{font-size:9.5px;letter-spacing:.05em;color:var(--lgn-faint);white-space:nowrap}.lgn-spark{position:absolute;right:8%;bottom:13%;width:176px;padding:12px 14px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,#151b25b8,#0d111899);box-shadow:inset 0 1px #ffffff14,0 12px 30px -16px #000000d9;font-family:var(--lgn-mono);pointer-events:none}.lgn-sparkhead{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.lgn-sparklabel{font-size:8.5px;letter-spacing:.16em;color:var(--lgn-muted)}.lgn-sparkdelta{font-size:10px;font-weight:600;color:var(--lgn-accent)}.lgn-sparksvg{display:block;width:100%;height:34px;margin-top:9px;overflow:visible}.lgn-sparkline{fill:none;stroke:var(--lgn-accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px var(--lgn-accent-glow))}.lgn-sparkdot{fill:var(--lgn-accent);transform-origin:center;transform-box:fill-box;animation:lgn-sparkping 2.6s ease-in-out infinite}.lgn-livechip{position:absolute;top:22px;left:26px;display:inline-flex;align-items:center;gap:8px;font-family:var(--lgn-mono);font-size:10px;letter-spacing:.16em;color:var(--lgn-muted)}.lgn-livedot{width:6px;height:6px;border-radius:50%;background:var(--lgn-accent);box-shadow:0 0 8px 1px var(--lgn-accent-glow);animation:lgn-livepulse 2.2s ease-in-out infinite}.lgn-privacychip{position:absolute;left:50%;bottom:12%;transform:translate(-50%,8px);display:inline-flex;align-items:center;gap:9px;padding:9px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#0a0d13eb;font-family:var(--lgn-mono);font-size:10px;letter-spacing:.14em;color:var(--lgn-text);opacity:0;transition:opacity .4s ease,transform .4s ease;pointer-events:none}.lgn-mode-email{--lgn-energy: 1}.lgn-mode-email .lgn-doc--so{border-left-color:var(--lgn-accent);box-shadow:0 0 22px 3px var(--lgn-accent-glow)}.lgn-mode-email .lgn-doc--so .lgn-doctag{background:var(--lgn-accent);color:var(--lgn-on-accent)}.lgn-typing .lgn-doc--so{animation:lgn-sopulse .8s ease-in-out infinite}.lgn-typing .lgn-lampcone{animation:lgn-conepulse .8s ease-in-out infinite}.lgn-typing .lgn-lamppool{animation-duration:1.6s}.lgn-typing .lgn-kpi--a .lgn-kpival{animation:lgn-sopulse .8s ease-in-out infinite}.lgn-mode-password{--lgn-energy: .12;--lgn-veil: .42}.lgn-mode-password .lgn-flip{transform:rotateY(180deg);transition-duration:.24s;transition-timing-function:cubic-bezier(.6,.04,.35,1)}.lgn-mode-password.lgn-peek .lgn-flip{transform:rotateY(118deg);transition-duration:.35s}.lgn-mode-password .lgn-doclift{transform:translateZ(10px)}.lgn-mode-password .lgn-privacychip{opacity:1;transform:translate(-50%)}.lgn-mode-password .lgn-envfly{animation-play-state:paused;filter:brightness(.45) grayscale(.4)}.lgn-mode-password .lgn-bin--lit,.lgn-mode-password .lgn-lamppool,.lgn-mode-password .lgn-cubebody--drop,.lgn-mode-password .lgn-cubebody--drop .lgn-cf,.lgn-mode-password .lgn-steppulse,.lgn-mode-password .lgn-sparkdot{animation-play-state:paused}.lgn-mode-password .lgn-kpi{animation-play-state:paused;opacity:.25}.lgn-loading{--lgn-energy: 1;--lgn-veil: 0}.lgn-loading .lgn-flip{transform:rotateY(0)}.lgn-loading .lgn-beltglow{opacity:1;animation:lgn-beltpulse .9s ease-in-out infinite}.lgn-loading .lgn-gatelight,.lgn-loading .lgn-lampcone{animation:lgn-strobe .5s ease-in-out infinite}.lgn-loading .lgn-lamppool{animation:lgn-beltpulse .9s ease-in-out infinite}.lgn-loading .lgn-bin--lit{animation-duration:1.2s}.lgn-loading .lgn-envfly{animation-duration:2.4s;filter:none}.lgn-loading .lgn-kpi{filter:brightness(1.3)}.lgn-loading .lgn-bar{filter:brightness(1.5)}.lgn-loading .lgn-docface{box-shadow:0 0 18px 2px var(--lgn-accent-glow)}.lgn-loading .lgn-envfly,.lgn-loading .lgn-bin--lit,.lgn-loading .lgn-lamppool,.lgn-loading .lgn-cubebody--drop,.lgn-loading .lgn-cubebody--drop .lgn-cf,.lgn-loading .lgn-steppulse,.lgn-loading .lgn-sparkdot,.lgn-loading .lgn-kpi{animation-play-state:running}.lgn-loading .lgn-steppulse{animation-duration:1.5s}.lgn-loading .lgn-stepnode{background:var(--lgn-accent);border-color:var(--lgn-accent)}.lgn-panel{position:relative;z-index:2;flex:0 0 clamp(380px,40vw,520px);display:flex;align-items:center;justify-content:center;padding:48px 52px;background:var(--lgn-panelbg);border-left:1px solid var(--lgn-line)}.lgn-panel:before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,var(--lgn-accent-soft) 35%,transparent 80%);pointer-events:none}.lgn-panelbox{width:100%;max-width:356px;animation:lgn-enter .5s cubic-bezier(.16,1,.3,1) both}.lgn-brandrow{display:flex;align-items:center;gap:10px;margin-bottom:26px}.lgn-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;color:var(--lgn-accent);border:1px solid var(--lgn-line);background:linear-gradient(180deg,rgba(255,255,255,.05),transparent);box-shadow:inset 0 1px #ffffff12}.lgn-brandname{font-family:var(--lgn-mono);font-size:12px;font-weight:600;letter-spacing:.24em;color:var(--lgn-text)}.lgn-envchip{margin-left:auto;font-family:var(--lgn-mono);font-size:9.5px;letter-spacing:.14em;color:var(--lgn-muted);padding:4px 8px;border:1px solid var(--lgn-line);border-radius:999px}.lgn-title{font-size:clamp(22px,2vw,27px);font-weight:600;letter-spacing:-.022em;line-height:1.16;color:var(--lgn-text)}.lgn-sub{margin-top:10px;font-size:14px;line-height:1.5;color:var(--lgn-muted)}.lgn-form{margin-top:30px}.lgn-field{margin-bottom:18px}.lgn-label{display:block;margin-bottom:8px;font-family:var(--lgn-mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--lgn-muted)}.lgn-control{position:relative}.lgn-input{width:100%;height:48px;padding:0 14px;font-family:var(--lgn-sans);font-size:16px;color:var(--lgn-text);background:#ffffff0a;border:1px solid var(--lgn-line);border-radius:10px;caret-color:var(--lgn-accent);box-shadow:inset 0 1px #ffffff0a}.lgn-input--pw{padding-right:48px}.lgn-input:focus{outline:2px solid transparent;outline-offset:2px}.lgn-input:autofill,.lgn-input:autofill:hover,.lgn-input:autofill:focus{-webkit-text-fill-color:var(--lgn-text);color:var(--lgn-text);box-shadow:inset 0 0 0 1000px #11161f;caret-color:var(--lgn-accent)}.lgn-input:-webkit-autofill,.lgn-input:-webkit-autofill:hover,.lgn-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--lgn-text);-webkit-box-shadow:0 0 0 1000px #11161f inset;caret-color:var(--lgn-accent);transition:background-color 9999999s ease-out}.lgn-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;border:1.5px solid var(--lgn-accent);box-shadow:0 0 0 3px var(--lgn-accent-soft);opacity:0;transition:opacity .18s ease;pointer-events:none}.lgn-control:focus-within .lgn-ring{opacity:1}.lgn-eye{position:absolute;right:7px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:8px;background:transparent;color:var(--lgn-muted);cursor:pointer;transition:color .15s ease}.lgn-eye:hover{color:var(--lgn-text)}.lgn-submit{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;height:48px;margin-top:26px;border:none;border-radius:10px;background:var(--lgn-accent);color:var(--lgn-on-accent);font-family:var(--lgn-sans);font-size:15px;font-weight:600;letter-spacing:.01em;cursor:pointer;box-shadow:inset 0 1px #ffffff59,0 0 24px -6px var(--lgn-accent-glow);transition:transform .15s ease,filter .2s ease}.lgn-submit:hover:not(:disabled){filter:brightness(1.08)}.lgn-submit:active:not(:disabled){transform:scale(.98)}.lgn-submit:disabled{cursor:default;filter:saturate(.85) brightness(.94)}.lgn-spin{width:16px;height:16px;flex:none;border-radius:50%;border:2px solid rgba(5,36,48,.28);border-top-color:var(--lgn-on-accent);animation:lgn-rotate .7s linear infinite}.lgn-foot{margin-top:30px;padding-top:18px;border-top:1px solid var(--lgn-line)}.lgn-slot{display:grid;align-items:center;min-height:42px}.lgn-slot>*{grid-area:1 / 1}.lgn-modules{display:flex;flex-wrap:wrap;gap:6px 14px;font-family:var(--lgn-mono);font-size:11px;letter-spacing:.06em;color:var(--lgn-faint);transition:opacity .25s ease}.lgn-modules--off{opacity:0;pointer-events:none}.lgn-mod{display:inline-flex;align-items:center}.lgn-mod+.lgn-mod:before{content:"·";margin-right:14px;color:var(--lgn-faint);opacity:.6}.lgn-mod--on{color:var(--lgn-accent)}.lgn-mod--on:after{content:"";width:4px;height:4px;margin-left:6px;border-radius:50%;background:var(--lgn-accent);box-shadow:0 0 6px 1px var(--lgn-accent-glow)}.lgn-alert{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border-radius:9px;border:1px solid rgba(255,138,135,.32);background:#0c0f15f0;color:var(--lgn-err);font-size:13px;line-height:1.4;animation:lgn-alertin .25s ease both}.lgn-alert svg{flex:none;margin-top:1px}.lgn-fineprint{margin-top:14px;font-family:var(--lgn-mono);font-size:10.5px;letter-spacing:.05em;color:var(--lgn-faint)}.lgn-flink{color:var(--lgn-muted);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.18);transition:color .2s ease,border-color .2s ease}.lgn-flink:hover{color:var(--lgn-text);border-bottom-color:var(--lgn-accent)}.lgn-flink:focus-visible{outline:2px solid var(--lgn-accent);outline-offset:3px;border-radius:3px;color:var(--lgn-text)}@keyframes lgn-enter{0%{opacity:0;transform:translateY(10px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes lgn-rotate{to{transform:rotate(360deg)}}@keyframes lgn-alertin{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes lgn-livepulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes lgn-sopulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.22)}}@keyframes lgn-beltpulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes lgn-strobe{0%,to{opacity:.35}50%{opacity:1}}@keyframes lgn-cubedrop{0%,62%{transform:translateZ(150px)}82%,to{transform:translateZ(0)}}@keyframes lgn-cubefade{0%,62%{opacity:0}70%,95%{opacity:1}to{opacity:0}}@keyframes lgn-steptravel{0%{transform:translateY(0);opacity:0}8%{opacity:1}92%{opacity:1}to{transform:translateY(110px);opacity:0}}@keyframes lgn-sparkping{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.55}}@keyframes lgn-bargrow{0%{transform:scaleY(.18)}42%,80%{transform:scaleY(1)}to{transform:scaleY(.18)}}@keyframes lgn-orbdrift{0%{transform:translateZ(0)}to{transform:translate3d(60px,40px,0)}}@keyframes lgn-poolbreathe{0%,to{filter:brightness(1)}50%{filter:brightness(1.35)}}@keyframes lgn-conepulse{0%,to{opacity:calc(.3 + var(--lgn-energy) * .55)}50%{opacity:.92}}@keyframes lgn-binblink{0%,to{filter:brightness(.85)}50%{filter:brightness(1.45)}}@keyframes lgn-dispatchfly{0%,55%{transform:translateZ(0) rotate(0);opacity:1}68%{transform:translate3d(44px,-56px,0) rotate(14deg);opacity:1}78%{transform:translate3d(86px,-104px,0) rotate(26deg);opacity:0}78.1%{transform:translateZ(0) rotate(0);opacity:0}90%,to{transform:translateZ(0) rotate(0);opacity:1}}@keyframes lgn-kpifloat{0%{transform:translateY(0)}to{transform:translateY(-8px)}}@media(max-width:1180px){.lgn-world{transform:scale(.84) rotateX(56deg) rotate(-38deg)}}@media(max-width:940px){.lgn-page{display:block;position:relative}.lgn-stage{position:absolute;top:0;right:0;bottom:0;left:0;flex:none}.lgn-world{transform:scale(.7) rotateX(56deg) rotate(-38deg)}.lgn-stagedim{background:radial-gradient(130% 110% at 50% 36%,#04060a33 30%,#04060ab8)}.lgn-kpis,.lgn-steps,.lgn-spark{display:none}.lgn-privacychip{bottom:auto;top:8%}.lgn-panel{position:relative;flex:none;min-height:100vh;min-height:100dvh;padding:24px 18px;background:transparent;border-left:none}.lgn-panel:before{display:none}.lgn-panelbox{max-width:420px;padding:32px 28px;border-radius:18px;border:1px solid var(--lgn-line);background:#0b0e14ed;box-shadow:inset 0 1px #ffffff12,0 18px 48px -18px #000000b3}}@media(max-width:400px){.lgn-panel{padding:16px 12px}.lgn-panelbox{padding:26px 20px}.lgn-title{font-size:21px}.lgn-envchip{display:none}.lgn-world{transform:scale(.56) rotateX(56deg) rotate(-38deg)}}@media(max-height:720px){.lgn-panel{padding-top:20px;padding-bottom:20px}.lgn-brandrow{margin-bottom:16px}.lgn-form{margin-top:20px}.lgn-field{margin-bottom:12px}.lgn-submit{margin-top:18px}.lgn-foot{margin-top:18px;padding-top:14px}.lgn-fineprint{display:none}.lgn-scenewrap{perspective-origin:62% 38%}}@media(prefers-reduced-motion:reduce){.lgn-orb,.lgn-livedot,.lgn-docface,.lgn-beltglow,.lgn-gatelight,.lgn-lampcone,.lgn-lamppool,.lgn-bin--lit,.lgn-envfly,.lgn-kpi,.lgn-kpival,.lgn-steppulse,.lgn-sparkdot,.lgn-cubebody--drop,.lgn-cubebody--drop .lgn-cf,.lgn-bar,.lgn-panelbox,.lgn-alert,.lgn-spin{animation:none!important}.lgn-cubebody--drop{transform:translateZ(0)}.lgn-cubebody--drop .lgn-cf{opacity:1}.lgn-steppulse{transform:translateY(0);opacity:1}.lgn-sparkdot{transform:none;opacity:1}.lgn-bar{transform:scaleY(1)}.lgn-envfly{transform:none;opacity:1}.lgn-panelbox{opacity:1;transform:none;filter:none}.lgn-spin{border-top-color:transparent;opacity:.7}.lgn-flip,.lgn-doclift,.lgn-shade,.lgn-beltline,.lgn-belt:before,.lgn-belt:after,.lgn-beltglow,.lgn-gatelight,.lgn-lampcone,.lgn-lamppool,.lgn-bin--lit,.lgn-chutebody,.lgn-envfly,.lgn-kpi,.lgn-privacychip,.lgn-docface,.lgn-doctag,.lgn-modules{transition:none!important}}@media(forced-colors:active){.lgn-input:focus{outline-color:Highlight}.lgn-ring{display:none}.lgn-submit{border:1px solid ButtonText}}thead th.tf-th{padding:0;position:relative}.tf-th-btn{display:flex;align-items:center;gap:.4rem;width:100%;padding:.7rem 1rem;background:none;border:none;cursor:pointer;font-family:var(--mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);white-space:nowrap;transition:background .16s ease,color .16s ease}.tf-th-btn:hover{background:var(--bg-raise);color:var(--text)}.tf-th-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tf-th-label{flex:1 1 auto;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis}.tf-th-sort{flex:none;font-size:.7rem;color:var(--accent)}.tf-th-funnel{position:relative;flex:none;display:inline-flex;align-items:center;color:var(--faint);transition:color .16s ease}.tf-th-btn:hover .tf-th-funnel{color:var(--muted)}.tf-th-funnel.is-active{color:var(--accent)}.tf-th-funnel.is-active:after{content:"";position:absolute;top:-3px;right:-3px;width:4px;height:4px;border-radius:999px;background:var(--accent)}[popover].tf-menu{position:fixed;inset:auto;left:-9999px;top:0;margin:0;padding:0;width:var(--tf-menu-w);max-height:min(60vh,440px);overflow:hidden;background:var(--bg-card);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card),0 18px 40px -18px #000000d9;font-family:var(--sans);font-size:.82rem;font-weight:400;font-style:normal;line-height:1.5;letter-spacing:normal;text-transform:none;text-align:left;white-space:normal}.tf-menu{opacity:0;transform:scale(.97) translateY(-6px);transition-property:opacity,transform,display,overlay;transition-duration:.16s;transition-timing-function:cubic-bezier(.23,1,.32,1);transition-behavior:allow-discrete}.tf-menu:popover-open{display:flex;flex-direction:column;opacity:1;transform:none}@starting-style{.tf-menu:popover-open{opacity:0;transform:scale(.97) translateY(-6px)}}.tf-menu-sort{display:flex;flex-direction:column;gap:2px;padding:.35rem}.tf-sort-btn{display:flex;align-items:center;gap:.5rem;height:32px;padding:0 .55rem;background:none;border:none;border-radius:var(--radius-sm);text-align:left;cursor:pointer;color:var(--muted);font-family:var(--sans);font-size:.82rem;font-weight:500;transition:background .12s ease,color .12s ease}.tf-sort-btn:hover{background:var(--bg-raise);color:var(--text)}.tf-sort-btn:active{transform:translateY(1px)}.tf-sort-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tf-sort-ico{flex:none;width:14px;text-align:center;color:var(--faint)}.tf-sort-check{margin-left:auto;display:inline-flex}.tf-sort-btn.is-active{background:var(--accent-soft);color:var(--accent)}.tf-sort-btn.is-active .tf-sort-ico,.tf-sort-btn.is-active .tf-sort-check{color:var(--accent)}.tf-menu-sep{height:1px;background:var(--line);margin:.25rem .35rem}.tf-search{position:relative;padding:.4rem .5rem}.tf-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);display:inline-flex;color:var(--faint);pointer-events:none}.tf-search-input{width:100%;height:32px;padding:0 .6rem 0 2rem;background:var(--bg-sunken);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text);font-family:var(--sans);font-size:.8rem;outline:none;transition:border-color .16s ease}.tf-search-input::placeholder{color:var(--faint)}.tf-search-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tf-selectall{display:flex;align-items:center;gap:.55rem;height:34px;padding:0 .55rem;margin:0 .5rem;border-bottom:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none}.tf-selectall:hover{background:var(--bg-raise)}.tf-selectall .tf-opt-label{font-family:var(--mono);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.tf-list{flex:1 1 auto;overflow-y:auto;padding:.25rem;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.tf-list::-webkit-scrollbar{width:10px}.tf-list::-webkit-scrollbar-track{background:transparent}.tf-list::-webkit-scrollbar-thumb{background:var(--line-strong);border:3px solid var(--bg-card);border-radius:999px;background-clip:padding-box}.tf-opt{position:relative;display:flex;align-items:center;gap:.55rem;height:32px;padding:0 .55rem;border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s ease}.tf-opt:hover{background:var(--bg-raise)}.tf-opt.is-selected{background:var(--accent-soft)}.tf-opt.is-selected:hover{background:var(--row-sel-bg-hover)}.tf-opt-label{flex:1 1 auto;min-width:0;font-size:.82rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-opt-count{flex:none;font-family:var(--mono);font-size:.72rem;color:var(--faint);font-variant-numeric:tabular-nums}.tf-opt.is-selected .tf-opt-count{color:var(--muted)}.tf-mark{background:var(--accent-soft);color:var(--accent);border-radius:2px;padding:0 1px;font-weight:600}.tf-opt-bar{position:absolute;left:calc(1.1rem + 16px);right:.55rem;bottom:2px;height:2px;border-radius:1px;background:#ffffff0b;overflow:hidden;pointer-events:none}.tf-opt-bar>i{display:block;height:100%;width:var(--tf-bar, 0%);border-radius:1px;background:var(--accent-glow)}.tf-opt.is-selected .tf-opt-bar>i{background:var(--accent)}.tf-list-divider{height:1px;background:var(--line);margin:.3rem .55rem}.tf-empty{padding:1.4rem .5rem;text-align:center;color:var(--faint);font-size:.8rem}.tf-opt-box{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;width:16px;height:16px;margin:0;border:1.5px solid var(--line-strong);border-radius:4px;background:var(--bg-sunken);display:grid;place-content:center;cursor:pointer;transition:background .12s ease,border-color .12s ease}.tf-opt-box:after{content:"";width:10px;height:10px;background:var(--on-accent);transform:scale(0);transition:transform .12s cubic-bezier(.23,1,.32,1);clip-path:polygon(14% 44%,0 65%,43% 100%,100% 16%,82% 0,43% 62%)}.tf-opt-box:checked{background:var(--accent);border-color:var(--accent)}.tf-opt-box:checked:after{transform:scale(1)}.tf-opt-box:indeterminate{background:var(--accent);border-color:var(--accent)}.tf-opt-box:indeterminate:after{clip-path:none;width:9px;height:2px;border-radius:1px;transform:scale(1)}.tf-opt-box:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tf-menu-sort,.tf-footer{flex:none}.tf-text-wrap,.tf-range{flex:1 1 auto;min-height:0;overflow-y:auto}.tf-text-wrap{padding:.5rem}.tf-text-input{width:100%;height:34px;padding:0 .6rem;background:var(--bg-sunken);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text);font-family:var(--sans);font-size:.82rem;outline:none;transition:border-color .16s ease}.tf-text-input::placeholder{color:var(--faint)}.tf-text-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tf-range{display:flex;align-items:center;gap:.5rem;padding:.5rem}.tf-range-field{position:relative;flex:1;min-width:0}.tf-adorn{position:absolute;left:.6rem;top:50%;transform:translateY(-50%);color:var(--faint);font-size:.82rem;pointer-events:none}.tf-range-input{width:100%;height:36px;padding:0 .6rem 0 1.4rem;background:var(--bg-sunken);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text);font-family:var(--mono);font-size:.85rem;text-align:right;font-variant-numeric:tabular-nums;outline:none;transition:border-color .16s ease}.tf-range-input::placeholder{color:var(--faint)}.tf-range-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tf-range-input{-moz-appearance:textfield}.tf-range-input::-webkit-outer-spin-button,.tf-range-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tf-range-sep{flex:none;color:var(--faint)}[popover].tf-menu.tf-menu-date{width:310px;max-height:min(88vh,640px)}.tf-dateeditor{flex:1 1 auto;overflow-y:auto;outline:none;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.tf-dateeditor::-webkit-scrollbar{width:10px}.tf-dateeditor::-webkit-scrollbar-track{background:transparent}.tf-dateeditor::-webkit-scrollbar-thumb{background:var(--line-strong);border:3px solid var(--bg-card);border-radius:999px;background-clip:padding-box}.tf-menu-date .dp-panel-inline{padding:.4rem .5rem .45rem}.tf-menu-date .dp-presets{gap:3px;margin-bottom:.4rem;padding-bottom:.4rem}.tf-menu-date .dp-preset{height:26px;padding:0 .4rem;font-size:.68rem}.tf-menu-date .dp-header{margin-bottom:.15rem}.tf-menu-date .dp-nav{width:26px;height:26px;font-size:1.15rem}.tf-menu-date .dp-title-btn{padding:.15rem .35rem}.tf-menu-date .dp-weekday{padding:.15rem 0}.tf-menu-date .dp-cell{aspect-ratio:auto;height:30px;font-size:.78rem}.tf-menu-date .dp-cell-cap:after,.tf-menu-date .dp-grid-range .dp-cell-today:not(.dp-cell-cap):after{inset:auto;top:50%;left:50%;width:24px;height:24px;transform:translate(-50%,-50%)}.tf-menu-date .dp-grid-range .dp-cell:focus-visible{border-radius:var(--radius-sm)}.tf-menu-date .dp-inline-hint{margin-top:.3rem;padding-top:.3rem;font-size:.66rem}.tf-footer{display:flex;gap:.4rem;padding:.4rem .5rem;border-top:1px solid var(--line)}.tf-footer-btn{flex:1;justify-content:center}.tf-toolbar{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1rem;padding:.85rem 1rem;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}.tf-toolbar-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.tf-chipbar{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;min-width:0}.tf-hint{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;color:var(--faint)}.tf-chip{display:inline-flex;align-items:center;height:26px;padding-right:.15rem;background:var(--bg-raise);border:1px solid var(--line-strong);border-radius:999px;transition:border-color .16s ease}.tf-chip:hover{border-color:var(--accent)}.tf-chip-main{display:inline-flex;align-items:center;gap:.35rem;height:100%;min-width:0;padding:0 .35rem 0 .55rem;background:none;border:none;border-radius:999px;cursor:pointer;font-family:var(--mono);font-size:.72rem;letter-spacing:.02em;color:var(--text)}.tf-chip-main:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tf-chip-dot{flex:none;width:5px;height:5px;border-radius:999px;background:var(--accent)}.tf-chip-field{flex:none;color:var(--faint);text-transform:uppercase;font-size:.64rem;letter-spacing:.08em}.tf-chip-op{flex:none;color:var(--muted)}.tf-chip-val{min-width:0;max-width:180px;color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-chip-dir{flex:none;color:var(--accent)}.tf-chip-x{display:grid;place-content:center;flex:none;width:22px;height:22px;border:none;border-radius:999px;background:none;color:var(--muted);cursor:pointer;transition:background .12s ease,color .12s ease}.tf-chip-x:hover{background:var(--critical-wash);color:var(--critical-text)}.tf-chip-x:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tf-clear-all{padding:.2rem .3rem;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);transition:color .16s ease}.tf-clear-all:hover{color:var(--critical-text)}.tf-clear-all:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tf-count{margin-left:auto;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);white-space:nowrap}.tf-count b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.tf-noresults td{padding:0}.tf-noresults-inner{display:flex;flex-direction:column;align-items:center;gap:.8rem;padding:3rem 2rem;color:var(--muted);text-align:center;white-space:normal}.tf-noresults-icon{color:var(--faint)}.tf-noresults-inner h3{font-size:.95rem;font-weight:600;color:var(--text)}.tf-noresults-inner p{font-size:.85rem;color:var(--muted)}.tf-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.tf-menu{transform:none}@starting-style{.tf-menu:popover-open{transform:none}}.tf-opt-box:after{transition:none}}@media(forced-colors:active){.tf-menu,.tf-chip,.tf-toolbar{border:1px solid CanvasText}.tf-opt-box{forced-color-adjust:none}.tf-th-funnel.is-active:after,.tf-chip-dot{background:Highlight}.tf-opt.is-selected{background:Highlight;color:HighlightText}}.sel{position:relative}.sel-trigger{display:flex;align-items:center;gap:.55rem;width:100%;min-height:40px;padding:.6rem .8rem;background:var(--bg-raise);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text);font-family:var(--sans);font-size:15px;text-align:left;cursor:pointer;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.sel-trigger:hover:not(:disabled){border-color:var(--accent)}.sel-trigger:focus-visible,.sel-trigger.is-open{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.sel.is-disabled .sel-trigger,.sel-trigger:disabled{opacity:.55;cursor:not-allowed}.sel-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sel-value.is-placeholder{color:var(--faint)}.sel-value.is-danger{color:var(--critical-text)}.sel-chevron{flex:none;color:var(--faint);transition:transform .22s cubic-bezier(.4,0,.2,1),color .16s ease}.sel-trigger.is-open .sel-chevron{transform:rotate(180deg);color:var(--accent)}.sel-dot{--d: var(--rc-accent);flex:none;width:8px;height:8px;border-radius:50%;background:var(--d);box-shadow:0 0 8px var(--d)}.sel-dot[data-color=violet]{--d: var(--rc-violet)}.sel-dot[data-color=orange]{--d: var(--rc-orange)}.sel-dot[data-color=green]{--d: var(--rc-green)}.sel-dot[data-color=pink]{--d: var(--rc-pink)}.sel-dot[data-color=amber]{--d: var(--rc-amber)}.sel-menu{position:fixed;z-index:200;overflow-y:auto;overscroll-behavior:contain;background:color-mix(in srgb,var(--bg-card) 97%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.35);backdrop-filter:blur(16px) saturate(1.35);border:1px solid var(--line-strong);border-radius:var(--radius-sm);box-shadow:inset 0 1px #ffffff12,0 20px 48px -16px #000000e6,0 0 0 1px #00000059;animation:sel-in .16s cubic-bezier(.16,1,.3,1)}@supports not (background: color-mix(in srgb,red 50%,transparent)){.sel-menu{background:var(--bg-card)}}.sel-menu-down{transform-origin:top center}.sel-menu-up{transform-origin:bottom center}@keyframes sel-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:none}}.sel-menu-up{animation-name:sel-in-up}@keyframes sel-in-up{0%{opacity:0;transform:translateY(4px) scale(.97)}to{opacity:1;transform:none}}.sel-list{list-style:none;margin:0;padding:.3rem}.sel-option{position:relative;display:flex;align-items:center;gap:.6rem;padding:.55rem .65rem;border-radius:6px;cursor:pointer;color:var(--text);transition:background .12s ease}.sel-option.is-active{background:var(--bg-raise)}.sel-option.is-active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;border-radius:0 3px 3px 0;background:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.sel-option.is-selected{color:var(--text);font-weight:600}.sel-option.is-selected.is-active{background:var(--accent-soft)}.sel-option.is-disabled{color:var(--faint);cursor:not-allowed}.sel-option.is-disabled:before{display:none}.sel-option.is-danger .sel-label{color:var(--critical-text)}.sel-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.sel-label{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sel-desc{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sel-check{flex:none;color:var(--accent)}@media(prefers-reduced-motion:reduce){.sel-menu{animation:none}.sel-chevron{transition:color .16s ease}}.settings-page{max-width:1180px;margin:0 auto}.settings-sub{margin-top:.3rem;font-size:.86rem;color:var(--muted);max-width:62ch;line-height:1.6}.role-chip{--rc: var(--rc-accent);--rc-wash: var(--rc-accent-wash);--rc-line: var(--rc-accent-line);display:inline-flex;align-items:center;gap:.4rem;padding:.24rem .6rem;border-radius:999px;border:1px solid var(--rc-line);background:var(--rc-wash);color:var(--rc);font-size:.76rem;font-weight:600;letter-spacing:.01em;white-space:nowrap}.role-chip:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--rc);box-shadow:0 0 8px var(--rc)}.role-chip[data-color=violet]{--rc: var(--rc-violet);--rc-wash: var(--rc-violet-wash);--rc-line: var(--rc-violet-line)}.role-chip[data-color=orange]{--rc: var(--rc-orange);--rc-wash: var(--rc-orange-wash);--rc-line: var(--rc-orange-line)}.role-chip[data-color=green]{--rc: var(--rc-green);--rc-wash: var(--rc-green-wash);--rc-line: var(--rc-green-line)}.role-chip[data-color=pink]{--rc: var(--rc-pink);--rc-wash: var(--rc-pink-wash);--rc-line: var(--rc-pink-line)}.role-chip[data-color=amber]{--rc: var(--rc-amber);--rc-wash: var(--rc-amber-wash);--rc-line: var(--rc-amber-line)}.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1rem}.role-card{--rc: var(--rc-accent);--rc-line: var(--rc-accent-line);position:relative;display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.role-card[data-color=violet]{--rc: var(--rc-violet);--rc-line: var(--rc-violet-line)}.role-card[data-color=orange]{--rc: var(--rc-orange);--rc-line: var(--rc-orange-line)}.role-card[data-color=green]{--rc: var(--rc-green);--rc-line: var(--rc-green-line)}.role-card[data-color=pink]{--rc: var(--rc-pink);--rc-line: var(--rc-pink-line)}.role-card[data-color=amber]{--rc: var(--rc-amber);--rc-line: var(--rc-amber-line)}.role-card:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--rc),transparent 75%);opacity:.85}.role-card:hover{border-color:var(--rc-line);transform:translateY(-2px);box-shadow:var(--shadow-card),0 18px 40px -26px var(--rc)}.role-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1.05rem 1.1rem .6rem}.role-card-title{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.role-card-key{font-family:var(--mono);font-size:.72rem;color:var(--faint);background:var(--bg-sunken);border:1px solid var(--line);border-radius:5px;padding:.1rem .38rem}.role-lock{display:inline-flex;color:var(--faint)}.role-card-desc{padding:0 1.1rem;font-size:.83rem;color:var(--muted);line-height:1.6;min-height:2.6em}.role-card-body{padding:.85rem 1.1rem 0;display:flex;flex-direction:column;gap:.7rem;flex:1}.role-meta{display:flex;gap:1.4rem}.role-stat{display:flex;flex-direction:column;gap:.1rem}.role-stat-value{font-size:1.05rem;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.role-stat-label{font-family:var(--mono);font-size:.63rem;text-transform:uppercase;letter-spacing:.08em;color:var(--faint)}.perm-pills{display:flex;flex-wrap:wrap;gap:.35rem}.perm-pill{font-size:.72rem;font-weight:500;color:var(--muted);background:var(--bg-raise);border:1px solid var(--line);border-radius:999px;padding:.16rem .55rem}.perm-pill.is-none{color:var(--faint);font-style:italic;background:transparent;border-style:dashed}.role-card-foot{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;margin-top:.95rem;padding:.7rem 1.1rem;border-top:1px solid var(--line);background:var(--bg-sunken)}.role-card-foot .btn-sm:disabled{opacity:.42;cursor:not-allowed}.btn-sm.is-danger:hover:not(:disabled){border-color:var(--critical-line);color:var(--critical-text);background:var(--critical-wash)}.swatches{display:flex;gap:.5rem;flex-wrap:wrap}.swatch{width:30px;height:30px;border-radius:50%;border:2px solid transparent;background:var(--sw);cursor:pointer;padding:0;transition:transform .14s ease,box-shadow .14s ease}.swatch:hover{transform:scale(1.09)}.swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.swatch[data-color=accent]{--sw: var(--rc-accent)}.swatch[data-color=violet]{--sw: var(--rc-violet)}.swatch[data-color=orange]{--sw: var(--rc-orange)}.swatch[data-color=green]{--sw: var(--rc-green)}.swatch[data-color=pink]{--sw: var(--rc-pink)}.swatch[data-color=amber]{--sw: var(--rc-amber)}.swatch.is-selected{border-color:var(--text);box-shadow:0 0 0 3px var(--bg-card),0 0 14px -2px var(--sw)}.perm-list{display:flex;flex-direction:column;gap:.35rem}.perm-check{display:flex;align-items:flex-start;gap:.65rem;padding:.6rem .7rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-raise);cursor:pointer;transition:border-color .14s ease,background .14s ease}.perm-check:hover{border-color:var(--line-strong)}.perm-check.is-on{border-color:var(--accent);background:var(--accent-soft)}.perm-check.is-locked{opacity:.55;cursor:not-allowed}.perm-check input{position:absolute;opacity:0;pointer-events:none}.check-box{flex:none;margin-top:1px;width:17px;height:17px;display:grid;place-items:center;border-radius:5px;border:1.5px solid var(--line-strong);background:var(--bg-card);color:var(--on-accent);transition:background .14s ease,border-color .14s ease}.perm-check.is-on .check-box,.alloc-cell.is-on .check-box{background:var(--accent);border-color:var(--accent)}.check-box svg{opacity:0;transition:opacity .12s ease}.perm-check.is-on .check-box svg{opacity:1}.perm-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.perm-name{font-size:.85rem;font-weight:600;color:var(--text)}.perm-desc{font-size:.76rem;color:var(--muted);line-height:1.5}.alloc-panel{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}.alloc-scroll{overflow-x:auto}.alloc-table{width:100%;min-width:640px;border-collapse:collapse}.alloc-table th,.alloc-table td{padding:.85rem 1rem;text-align:center;border-bottom:1px solid var(--line)}.alloc-table thead th{background:var(--bg-sunken);font-family:var(--mono);font-size:.66rem;font-weight:500;text-transform:uppercase;letter-spacing:.07em;color:var(--faint);white-space:nowrap}.alloc-table tbody tr:last-child td{border-bottom:none}.alloc-table tbody tr:hover td{background:var(--bg-raise)}.alloc-role{position:sticky;left:0;z-index:1;text-align:left!important;background:var(--bg-card);border-right:1px solid var(--line);min-width:200px}.alloc-table thead .alloc-role{background:var(--bg-sunken);z-index:2}.alloc-table tbody tr:hover .alloc-role{background:var(--bg-raise)}.alloc-role-inner{display:flex;align-items:center;gap:.55rem}.alloc-count{font-family:var(--mono);font-size:.72rem;color:var(--faint);font-variant-numeric:tabular-nums}.alloc-cell{padding:0!important}.alloc-cell button{width:100%;height:100%;min-height:52px;display:grid;place-items:center;background:none;border:none;cursor:pointer;transition:background .14s ease}.alloc-cell button:hover:not(:disabled){background:var(--accent-soft)}.alloc-cell button:disabled{cursor:not-allowed}.alloc-cell button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.alloc-cell.is-locked .check-box{background:var(--bg-raise);border-color:var(--line-strong);color:var(--faint)}.alloc-cell.is-on .check-box svg{opacity:1}.alloc-cell.is-locked .check-box svg{opacity:1}.alloc-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.1rem;border-top:1px solid var(--line);background:var(--bg-sunken)}.alloc-hint{font-size:.79rem;color:var(--faint);display:flex;align-items:center;gap:.45rem}.dirty-pill{font-size:.72rem;font-weight:600;color:var(--warning-text);background:var(--warning-wash);border:1px solid var(--warning-line);border-radius:999px;padding:.18rem .6rem}.modal-card.is-wide{max-width:560px}.modal-title{font-size:1.05rem;font-weight:600;letter-spacing:-.01em;margin-bottom:.3rem}.modal-sub{font-size:.82rem;color:var(--muted);margin-bottom:1.4rem;line-height:1.55}.modal-foot{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.6rem}.field-mono input{font-family:var(--mono)}.danger-note{padding:.75rem .9rem;border-radius:var(--radius-sm);background:var(--critical-wash);border:1px solid var(--critical-line);color:var(--critical-text);font-size:.82rem;line-height:1.55}.loading-wrap{display:grid;place-items:center;min-height:320px}@media(prefers-reduced-motion:reduce){.role-card,.swatch{transition:none}.role-card:hover,.swatch:hover{transform:none}}:root{color-scheme:dark;--bg-page: #0a0e14;--bg-rail: #080b10;--bg-card: #0f141c;--bg-raise: #141b25;--bg-sunken: #0c1119;--text: #e8ecf1;--muted: #99a2b1;--faint: #8f9aab;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--accent: #45c4f5;--accent-soft: rgba(69, 196, 245, .16);--accent-glow: rgba(69, 196, 245, .38);--accent-faint: rgba(69, 196, 245, .09);--on-accent: #052430;--good: #0ca30c;--critical: #d03b3b;--warning: #fab219;--good-text: #3ddc84;--critical-text:#ff6b6b;--warning-text: #fab219;--good-wash: rgba(12, 163, 12, .14);--critical-wash: rgba(208, 59, 59, .13);--warning-wash: rgba(250, 178, 25, .13);--good-line: rgba(61, 220, 132, .3);--critical-line: rgba(255, 107, 107, .32);--warning-line: rgba(250, 178, 25, .3);--role-dev: #9085e9;--role-dev-wash: rgba(144, 133, 233, .14);--role-dev-line: rgba(144, 133, 233, .32);--role-acct: #eb9a5a;--role-acct-wash: rgba(235, 154, 90, .14);--role-acct-line: rgba(235, 154, 90, .32);--rc-accent: #45c4f5;--rc-accent-wash: rgba(69, 196, 245, .14);--rc-accent-line: rgba(69, 196, 245, .32);--rc-violet: #9085e9;--rc-violet-wash: rgba(144, 133, 233, .14);--rc-violet-line: rgba(144, 133, 233, .32);--rc-orange: #eb9a5a;--rc-orange-wash: rgba(235, 154, 90, .14);--rc-orange-line: rgba(235, 154, 90, .32);--rc-green: #4ad4a0;--rc-green-wash: rgba(74, 212, 160, .14);--rc-green-line: rgba(74, 212, 160, .32);--rc-pink: #f07ab0;--rc-pink-wash: rgba(240, 122, 176, .14);--rc-pink-line: rgba(240, 122, 176, .32);--rc-amber: #e5c15c;--rc-amber-wash: rgba(229, 193, 92, .14);--rc-amber-line: rgba(229, 193, 92, .32);--row-fail-bg: rgba(208, 59, 59, .1);--row-fail-bg-hover: rgba(208, 59, 59, .16);--row-sel-bg: rgba(69, 196, 245, .12);--row-sel-bg-hover: rgba(69, 196, 245, .18);--on-critical: #ffffff;--scrim: rgba(4, 6, 10, .72);--radius: 12px;--radius-sm: 8px;--shadow-card: inset 0 1px 0 rgba(255, 255, 255, .06), 0 12px 30px -18px rgba(0, 0, 0, .9);--tf-menu-w: 264px;--sans: "Geist", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "Geist Mono", ui-monospace, "JetBrains Mono", Consolas, monospace}*{margin:0;padding:0;box-sizing:border-box}html{color-scheme:dark}body{font-family:var(--sans);background:var(--bg-page);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--accent-soft);color:var(--text)}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-raise);border:2px solid transparent;border-radius:8px;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--line-strong);background-clip:padding-box}.app{--rail-w: 256px;min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:var(--rail-w) 1fr;background:var(--bg-page)}.app.is-collapsed{--rail-w: 64px}.sidebar{position:sticky;top:0;z-index:30;height:100vh;height:100dvh;display:flex;flex-direction:column;min-width:0;background:var(--bg-rail);border-right:1px solid var(--line)}.sidebar-brand{display:flex;align-items:center;gap:.6rem;height:60px;flex:none;padding:0 .85rem;border-bottom:1px solid var(--line)}.brand-mark{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:var(--radius-sm);color:var(--on-accent);background:var(--accent);box-shadow:0 0 16px -2px var(--accent-glow)}.brand-name{flex:1;min-width:0;font-size:.95rem;font-weight:600;letter-spacing:-.01em;color:var(--text);white-space:nowrap;overflow:hidden}.rail-toggle{flex:none;display:grid;place-items:center;width:28px;height:28px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--faint);cursor:pointer;transition:color .16s ease,background .16s ease,border-color .16s ease}.rail-toggle:hover{color:var(--text);background:var(--bg-raise);border-color:var(--line)}.rail-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sidebar-nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:2px;padding:.75rem .5rem}.sidebar-section{padding:.85rem .65rem .35rem;font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.16em;color:var(--faint);white-space:nowrap;overflow:hidden}.sidebar-section:first-child{padding-top:.25rem}.sidebar-link{position:relative;display:flex;align-items:center;gap:.7rem;padding:.6rem .65rem;border-radius:var(--radius-sm);color:var(--muted);text-decoration:none;font-size:.88rem;white-space:nowrap;transition:color .16s ease,background .16s ease}.nav-icon{flex:none}.sidebar-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.sidebar-link:hover{color:var(--text);background:var(--bg-raise)}.sidebar-link.active{color:var(--text);background:var(--bg-raise);font-weight:600}.sidebar-link.active .nav-icon{color:var(--accent)}.sidebar-link.active:before{content:"";position:absolute;left:-.5rem;top:50%;transform:translateY(-50%);width:3px;height:20px;border-radius:0 3px 3px 0;background:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.sidebar-link:focus-visible,.logout-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.nav-group-toggle{width:100%;background:none;border:none;font:inherit;cursor:pointer;text-align:left}.nav-chevron{margin-left:auto;flex:none;color:var(--faint);transition:transform .22s cubic-bezier(.4,0,.2,1)}.nav-group.is-open .nav-chevron{transform:rotate(180deg)}.nav-group-toggle.active:before{display:none}.nav-submenu{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s cubic-bezier(.4,0,.2,1)}.nav-group.is-open .nav-submenu{grid-template-rows:1fr}.nav-submenu>*{overflow:hidden;min-height:0}.sidebar-sublink{position:relative;display:flex;align-items:center;gap:.6rem;margin:.15rem 0 .15rem 1.35rem;padding:.48rem .6rem;border-radius:var(--radius-sm);color:var(--faint);text-decoration:none;font-size:.83rem;white-space:nowrap;transition:color .16s ease,background .16s ease}.sidebar-sublink:after{content:"";position:absolute;left:-.7rem;top:0;bottom:0;width:1px;background:var(--line)}.sidebar-sublink .nav-icon{width:16px;height:16px}.sidebar-sublink:hover{color:var(--text);background:var(--bg-raise)}.sidebar-sublink.active{color:var(--text);background:var(--bg-raise);font-weight:600}.sidebar-sublink.active .nav-icon{color:var(--accent)}.sidebar-sublink.active:after{background:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.sidebar-sublink:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media(prefers-reduced-motion:reduce){.nav-submenu,.nav-chevron{transition:none}}.sidebar-footer{flex:none;padding:.6rem .5rem .75rem;border-top:1px solid var(--line)}.user-card{display:flex;align-items:center;gap:.6rem;padding:.5rem .55rem;border-radius:var(--radius-sm);margin-bottom:.35rem}.user-avatar{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--line-strong);background:var(--bg-raise);color:var(--accent);font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.02em}.user-meta{display:flex;flex-direction:column;min-width:0;line-height:1.25}.user-name{font-size:.84rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-family:var(--mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.14em;color:var(--faint)}.logout-btn{display:flex;align-items:center;gap:.7rem;width:100%;padding:.55rem .65rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-family:inherit;font-size:.85rem;white-space:nowrap;cursor:pointer;transition:color .16s ease,background .16s ease,border-color .16s ease}.logout-btn svg{flex:none}.logout-btn:hover{color:var(--critical-text);background:var(--critical-wash);border-color:var(--critical-line)}.app.is-collapsed .brand-name,.app.is-collapsed .sidebar-label,.app.is-collapsed .user-meta{display:none}.app.is-collapsed .sidebar-brand{flex-direction:column;justify-content:center;height:auto;padding:.6rem 0;gap:.45rem}.app.is-collapsed .sidebar-link,.app.is-collapsed .logout-btn,.app.is-collapsed .user-card{justify-content:center;padding-left:0;padding-right:0;gap:0}.app.is-collapsed .sidebar-section{padding:.75rem 0 .35rem;text-align:center;font-size:0}.app.is-collapsed .sidebar-section:after{content:"";display:block;height:1px;background:var(--line)}.drawer-toggle,.drawer-scrim{display:none}.main{min-width:0;padding:2rem;overflow-x:auto;background:var(--bg-page)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{position:relative;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.4rem;box-shadow:var(--shadow-card);overflow:hidden}.stat-card:after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent 70%);opacity:.55}.stat-card.total:after{background:linear-gradient(90deg,var(--accent),transparent 70%)}.stat-card.success:after{background:linear-gradient(90deg,var(--good),transparent 70%)}.stat-card.failed:after{background:linear-gradient(90deg,var(--critical),transparent 70%)}.stat-card .label{display:flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--faint)}.stat-card .label:before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--faint)}.stat-card.total .label:before{background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.stat-card.success .label:before{background:var(--good)}.stat-card.failed .label:before{background:var(--critical)}.stat-card .value{margin-top:.5rem;font-family:var(--sans);font-size:30px;font-weight:600;line-height:1.1;color:var(--text);font-variant-numeric:proportional-nums}.stat-card.total .value,.stat-card.success .value,.stat-card.failed .value{color:var(--text)}.table-container{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow-x:auto}.table-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.4rem;border-bottom:1px solid var(--line)}.table-header h2{font-size:1.05rem;font-weight:600;color:var(--text)}table{width:100%;border-collapse:collapse;font-size:.85rem}thead th{background:var(--bg-sunken);padding:.7rem 1rem;text-align:left;font-family:var(--mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);border-bottom:1px solid var(--line);white-space:nowrap}thead th.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}thead th.sortable-th:hover{background:var(--bg-raise);color:var(--text)}.sort-arrow{font-size:.7rem;margin-left:.25rem;color:var(--accent)}tbody td{padding:.65rem 1rem;border-bottom:1px solid var(--line);white-space:nowrap;color:var(--text);font-variant-numeric:tabular-nums}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--bg-raise)}tbody tr.row-success td:first-child{box-shadow:inset 3px 0 0 var(--good)}tbody tr.row-failed{background:var(--row-fail-bg)}tbody tr.row-failed td:first-child{box-shadow:inset 3px 0 0 var(--critical)}tbody tr.row-failed:hover{background:var(--row-fail-bg-hover)}tbody tr.row-selected{background:var(--row-sel-bg)}tbody tr.row-selected td:first-child{box-shadow:inset 3px 0 0 var(--accent)}tbody tr.row-selected:hover{background:var(--row-sel-bg-hover)}.filter-row th{background:var(--bg-sunken);padding:.4rem .5rem;border-bottom:1px solid var(--line)}.column-filter{width:100%;min-height:32px;padding:.35rem .5rem;background:var(--bg-raise);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text);font-family:var(--sans);font-size:.78rem;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.column-filter::placeholder{color:var(--faint)}.column-filter:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .6rem .2rem .5rem;border:1px solid var(--line);border-radius:999px;background:var(--bg-raise);font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--muted)}.badge:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--faint)}.badge.success,.badge.completed{background:var(--good-wash);border-color:var(--good-line);color:var(--good-text)}.badge.success:before,.badge.completed:before{background:var(--good)}.badge.failed{background:var(--critical-wash);border-color:var(--critical-line);color:var(--critical-text)}.badge.failed:before{background:var(--critical)}.badge.pending{background:var(--warning-wash);border-color:var(--warning-line);color:var(--warning-text)}.badge.pending:before{background:var(--warning)}.badge.processing,.badge.selected{background:var(--accent-soft);border-color:var(--accent-glow);color:var(--accent)}.badge.processing:before,.badge.selected:before{background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.badge.stopping{background:var(--warning-wash);border-color:var(--warning-line);color:var(--warning-text)}.badge.stopping:before{background:var(--warning);box-shadow:0 0 8px var(--warning-line)}.badge.stopped{background:var(--bg-sunken);border-color:var(--line);color:var(--muted)}.badge.stopped:before{background:var(--muted)}.pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;padding:1rem;border-top:1px solid var(--line)}.pagination button{min-height:34px;padding:.4rem .8rem;border:1px solid var(--line-strong);background:var(--bg-raise);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--sans);font-size:.85rem;transition:background .16s ease,border-color .16s ease}.pagination button:hover:not(:disabled){background:var(--bg-card);border-color:var(--accent)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pagination button.active-page{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}.pagination .page-info{font-size:.85rem;color:var(--faint);margin:0 .5rem;font-variant-numeric:tabular-nums}.filter-bar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;background:var(--bg-card);border:1px solid var(--line);padding:1.2rem 1.4rem;border-radius:var(--radius);box-shadow:var(--shadow-card)}.filter-group{display:flex;flex-direction:column;gap:.4rem}.filter-group label{font-family:var(--mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--faint)}.filter-group input{min-height:40px;padding:0 .8rem;background:var(--bg-raise);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text);font-family:var(--sans);font-size:15px;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.filter-group input::placeholder{color:var(--faint)}.filter-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.actions-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;background:var(--bg-card);border:1px solid var(--line);padding:.8rem 1.4rem;border-radius:var(--radius);box-shadow:var(--shadow-card)}.selection-info{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem}.selected-count{font-family:var(--mono);font-size:.8rem;color:var(--accent);font-weight:600}.btn-sm{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:32px;padding:.35rem .75rem;border:1px solid var(--line-strong);background:var(--bg-raise);color:var(--text);border-radius:var(--radius-sm);font-family:var(--sans);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .16s ease,border-color .16s ease,filter .16s ease,transform .08s ease}.btn-sm:hover:not(:disabled){background:var(--bg-card);border-color:var(--accent)}.btn-sm:disabled{opacity:.5;cursor:not-allowed}.btn-sm:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-sm:active:not(:disabled){transform:translateY(1px)}.empty-state{text-align:center;padding:4rem 2rem;color:var(--muted);background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}.form-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-card);max-width:500px}.form-card h2{margin-bottom:1.5rem;font-size:1.2rem;color:var(--text)}.form-group{margin-bottom:1.2rem}.form-group label{display:block;margin-bottom:.5rem;font-family:var(--mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.form-group input,.form-group select,.form-group textarea{width:100%;min-height:40px;padding:.6rem .8rem;background:var(--bg-raise);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text);font-family:var(--sans);font-size:15px;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.form-group textarea{min-height:120px;resize:vertical;line-height:1.5}.form-group select{cursor:pointer}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--faint)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input[type=checkbox],input[type=radio]{accent-color:var(--accent);cursor:pointer}input:autofill,textarea:autofill{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px var(--bg-raise) inset;caret-color:var(--accent)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--bg-raise) inset;caret-color:var(--accent);transition:background-color 9999999s ease-out 0s}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:40px;padding:0 1.1rem;border:1px solid transparent;border-radius:var(--radius-sm);font-family:var(--sans);font-size:.9rem;font-weight:600;line-height:1;cursor:pointer;transition:background .16s ease,border-color .16s ease,filter .16s ease,transform .08s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:inset 0 1px #ffffff47,0 0 20px -8px var(--accent-glow)}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-logout{min-height:34px;padding:0 .85rem;background:transparent;color:var(--muted);border:1px solid var(--line-strong);font-size:.8rem;font-weight:500}.btn-logout:hover{color:var(--text);background:var(--bg-raise);border-color:var(--accent)}.alert{display:flex;align-items:flex-start;gap:.6rem;padding:.8rem 1rem;border:1px solid transparent;border-radius:var(--radius-sm);margin-top:1rem;font-size:.9rem;line-height:1.45}.alert:before{flex:none;font-size:.95rem;line-height:1.4}.alert.success{background:var(--good-wash);border-color:var(--good-line);color:var(--good-text)}.alert.success:before{content:"✓"}.alert.error{background:var(--critical-wash);border-color:var(--critical-line);color:var(--critical-text)}.alert.error:before{content:"⚠"}.run-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.4rem;border-bottom:1px solid var(--line);cursor:pointer;transition:background .15s ease}.run-card:hover{background:var(--bg-raise)}.run-card .run-info{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.run-card .run-date{font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.run-card .run-meta{font-size:.8rem;color:var(--faint)}.run-card .run-counts{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;font-size:.85rem}.run-card .count-success{color:var(--good-text);font-weight:600}.run-card .count-fail{color:var(--critical-text);font-weight:600}.error-cell{max-width:400px;min-width:200px;white-space:normal;word-wrap:break-word;font-size:.82rem;line-height:1.4;color:var(--critical-text)}.loading{text-align:center;padding:3rem;color:var(--muted)}.spinner{display:inline-block;width:2rem;height:2rem;border:3px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}a.link{color:var(--accent);text-decoration:none}a.link:hover{text-decoration:underline}a.link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.back-btn{display:inline-flex;align-items:center;gap:.3rem;margin-bottom:1rem;color:var(--muted);text-decoration:none;font-size:.9rem;transition:color .15s ease}.back-btn:hover{color:var(--text)}.back-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.filter-active-label{font-family:var(--mono);font-size:.78rem;color:var(--accent);align-self:flex-end;padding-bottom:.6rem}.s3-key{font-family:var(--mono);font-size:.75rem;color:var(--muted);background:var(--bg-sunken);border:1px solid var(--line);padding:.15rem .4rem;border-radius:5px;cursor:default}.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.page-header h2{font-size:1.2rem;color:var(--text)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.modal-card{width:100%;max-width:450px;max-height:calc(100vh - 2rem);overflow-y:auto;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-card),0 24px 60px -20px #000000d9}.modal-card h3{margin-bottom:1.2rem;font-size:1.1rem;color:var(--text)}.form-actions{display:flex;gap:.8rem;justify-content:flex-end;margin-top:1.2rem}.input-disabled{background:var(--bg-sunken)!important;color:var(--faint)!important;cursor:not-allowed}.field-hint{display:block;font-size:.78rem;margin-top:.3rem;color:var(--faint)}.hint-pass{color:var(--good-text)}.hint-fail{color:var(--critical-text)}.checkbox-group label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;color:var(--text);cursor:pointer}.checkbox-group input[type=checkbox]{width:auto;min-height:0;padding:0;accent-color:var(--accent)}.pw-rules{list-style:none;margin:.5rem 0 0;padding:.6rem .8rem;background:var(--bg-sunken);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:.8rem}.pw-rule{display:flex;align-items:center;gap:.4rem;padding:.15rem 0;transition:color .15s ease}.pw-icon{width:1rem;text-align:center;font-weight:700;font-size:.85rem}.pw-pass{color:var(--good-text)}.pw-fail{color:var(--faint)}.btn-secondary{background:var(--bg-raise);color:var(--text);border-color:var(--line-strong)}.btn-secondary:hover:not(:disabled){background:var(--bg-card);border-color:var(--accent)}.btn-danger{background:var(--critical);color:var(--on-critical);border-color:transparent}.btn-danger:hover:not(:disabled){filter:brightness(1.08)}.btn-warn{background:var(--warning-wash);color:var(--warning-text);border-color:var(--warning-line)}.btn-warn:hover:not(:disabled){background:var(--bg-raise);border-color:var(--warning)}.btn-success{background:var(--good-wash);color:var(--good-text);border-color:var(--good-line)}.btn-success:hover:not(:disabled){background:var(--bg-raise);border-color:var(--good)}.action-btns{display:flex;flex-wrap:wrap;gap:.4rem}.badge.role-admin{background:var(--accent-soft);border-color:var(--accent-glow);color:var(--accent)}.badge.role-admin:before{background:var(--accent)}.badge.role-developer{background:var(--bg-raise);border-color:var(--line-strong);color:var(--muted)}.badge.role-developer:before{background:var(--muted)}.badge.role-accountant{background:var(--warning-wash);border-color:var(--warning-line);color:var(--warning-text)}.badge.role-accountant:before{background:var(--warning)}.settings-section{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 2rem;box-shadow:var(--shadow-card)}.settings-section h3{font-size:1.05rem;margin-bottom:.3rem;color:var(--text)}.settings-desc{color:var(--muted);font-size:.85rem;margin-bottom:1.2rem}.role-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.role-config-card{border:1px solid var(--line);border-radius:var(--radius-sm);padding:1rem 1.2rem;background:var(--bg-raise)}.role-config-header{margin-bottom:.8rem}.screen-checkboxes{display:flex;flex-direction:column;gap:.5rem}.screen-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text);cursor:pointer}.screen-checkbox input[type=checkbox]{accent-color:var(--accent)}.dp-wrapper{position:relative;display:inline-block;min-width:180px}.dp-input{display:flex;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box;min-height:40px;padding:0 .8rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-raise);color:var(--text);cursor:pointer;font-family:inherit;font-size:15px;text-align:left;-moz-appearance:none;appearance:none;-webkit-appearance:none;-webkit-user-select:none;user-select:none;transition:border-color .16s ease,box-shadow .16s ease}.dp-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dp-wrapper-range{min-width:232px}.dp-input:hover{border-color:var(--accent)}.dp-input-active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dp-value{color:var(--text)}.dp-placeholder{color:var(--faint)}.dp-icon{color:var(--muted);flex-shrink:0;margin-left:.5rem}.dp-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:9999;width:280px;padding:.6rem;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card),0 18px 40px -18px #000000d9;animation:dpFadeIn .12s ease-out}@keyframes dpFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem;padding:0 .1rem}.dp-nav{background:none;border:none;font-size:1.3rem;color:var(--muted);cursor:pointer;width:30px;height:30px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.dp-nav:hover{background:var(--bg-raise);color:var(--text)}.dp-title{display:flex;gap:.3rem;align-items:center}.dp-title-btn{background:none;border:none;font-size:.9rem;font-weight:600;color:var(--text);cursor:pointer;padding:.2rem .5rem;border-radius:var(--radius-sm);transition:background .15s ease}.dp-title-btn:hover{background:var(--bg-raise)}.dp-title-label{font-size:.9rem;font-weight:600;color:var(--text)}.dp-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.2rem}.dp-weekday{text-align:center;font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.04em;color:var(--faint);padding:.3rem 0}.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.dp-cell{background:none;border:none;font-size:.82rem;width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer;color:var(--text);font-variant-numeric:tabular-nums;transition:background .12s ease,color .12s ease}.dp-cell:hover:not(:disabled){background:var(--bg-raise)}.dp-cell:disabled{cursor:default}.dp-cell-other{color:var(--faint);opacity:.5}.dp-cell-today{box-shadow:inset 0 0 0 1.5px var(--accent);font-weight:600}.dp-cell-selected{background:var(--accent)!important;color:var(--on-accent)!important;font-weight:600}.dp-footer{display:flex;justify-content:space-between;margin-top:.4rem;padding-top:.4rem;border-top:1px solid var(--line)}.dp-footer-btn{background:none;border:none;font-size:.8rem;color:var(--accent);cursor:pointer;padding:.25rem .5rem;border-radius:5px;font-weight:500;transition:background .15s ease}.dp-footer-btn:hover{background:var(--bg-raise)}.dp-footer-today{font-weight:600}.dp-month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:.3rem 0}.dp-month-cell{background:none;border:none;font-size:.85rem;padding:.6rem 0;border-radius:var(--radius-sm);cursor:pointer;color:var(--text);transition:background .12s ease}.dp-month-cell:hover{background:var(--bg-raise)}.dp-year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:.3rem 0}.dp-year-cell{background:none;border:none;font-size:.85rem;padding:.55rem 0;border-radius:var(--radius-sm);cursor:pointer;color:var(--text);font-variant-numeric:tabular-nums;transition:background .12s ease}.dp-year-cell:hover{background:var(--bg-raise)}.dp-cell:focus-visible,.dp-nav:focus-visible,.dp-title-btn:focus-visible,.dp-footer-btn:focus-visible,.dp-month-cell:focus-visible,.dp-year-cell:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.dp-wrapper-inline{display:block;width:100%;min-width:0}.dp-panel-inline{padding:.5rem}.dp-inline-hint{margin-top:.4rem;padding-top:.4rem;border-top:1px solid var(--line);text-align:center;font-family:var(--mono);font-size:.7rem;color:var(--faint);min-height:1.1rem}.dp-segmented{position:relative;display:grid;grid-template-columns:1fr 1fr;margin-bottom:.5rem;padding:3px;background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none}.dp-segmented-thumb{position:absolute;top:3px;left:3px;width:calc(50% - 3px);height:calc(100% - 6px);border:1px solid var(--line-strong);border-radius:6px;background:var(--bg-card);box-shadow:0 1px 2px #00000073,inset 0 1px #ffffff0f;transition:transform .22s cubic-bezier(.22,.61,.36,1)}.dp-segmented[data-mode=range] .dp-segmented-thumb{transform:translate(100%)}.dp-segment{position:relative;z-index:1;padding:.42rem 0;background:none;border:none;border-radius:6px;cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:600;color:var(--muted);transition:color .18s ease}.dp-segment:hover,.dp-segment[aria-checked=true]{color:var(--text)}.dp-segment:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dp-presets{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}.dp-preset{padding:.35rem .4rem;background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;font-family:var(--mono);font-size:.7rem;letter-spacing:.02em;color:var(--muted);transition:background .15s ease,border-color .15s ease,color .15s ease}.dp-preset:hover{border-color:var(--accent);color:var(--text)}.dp-preset[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.dp-preset:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dp-grid-range{display:grid;grid-template-columns:1fr;row-gap:3px}.dp-grid-range .dp-row{display:grid;grid-template-columns:repeat(7,1fr)}.dp-grid-range .dp-cell{position:relative;border-radius:0}.dp-grid-range .dp-cell-other{opacity:1}.dp-grid-range .dp-cell-other .dp-cell-label{color:var(--faint);opacity:.55}.dp-grid-range .dp-cell-other.dp-cell-band .dp-cell-label{color:var(--muted);opacity:1}.dp-cell-label{position:relative;z-index:2}.dp-cell-band:before,.dp-cell-cap-start:before,.dp-cell-cap-end:before{content:"";position:absolute;top:0;bottom:0;z-index:0;background:var(--accent-soft)}.dp-cell-band:before{left:0;right:0}.dp-cell-cap-start:before{left:50%;right:0}.dp-cell-cap-end:before{left:0;right:50%}.dp-cell-tint-preview.dp-cell-band:before,.dp-cell-tint-preview.dp-cell-cap-start:before,.dp-cell-tint-preview.dp-cell-cap-end:before{background:var(--accent-faint)}.dp-grid-range .dp-row .dp-cell:first-child.dp-cell-band:before,.dp-grid-range .dp-row .dp-cell:first-child.dp-cell-cap-end:before{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.dp-grid-range .dp-row .dp-cell:last-child.dp-cell-band:before,.dp-grid-range .dp-row .dp-cell:last-child.dp-cell-cap-start:before{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.dp-cell-cap:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;z-index:1;border-radius:50%;background:var(--accent)}.dp-cell-cap:not(.dp-cell-tint-preview)>.dp-cell-label{color:var(--on-accent);font-weight:600}.dp-cell-tint-preview.dp-cell-cap:after{background:var(--accent-faint);box-shadow:inset 0 0 0 1.5px var(--accent)}.dp-cell-tint-preview.dp-cell-cap>.dp-cell-label{color:var(--text);font-weight:600}.dp-cell-cap.dp-cell-anchor:after{background:var(--accent);box-shadow:none;animation:dpAnchorPulse 1.6s ease-in-out infinite}.dp-cell-cap.dp-cell-anchor>.dp-cell-label{color:var(--on-accent);font-weight:600}@keyframes dpAnchorPulse{0%,to{box-shadow:0 0 0 0 var(--accent-soft)}50%{box-shadow:0 0 0 5px var(--accent-soft)}}.dp-grid-range .dp-cell-today{box-shadow:none;font-weight:600}.dp-grid-range .dp-cell-today:not(.dp-cell-cap):after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;z-index:1;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--accent)}.dp-grid-range .dp-cell-today.dp-cell-cap:not(.dp-cell-tint-preview):after{box-shadow:inset 0 0 0 1.5px var(--on-accent)}.dp-grid-range .dp-cell:focus-visible{border-radius:50%;outline-offset:-1px;z-index:3}.dp-hint{align-self:center;font-family:var(--mono);font-size:.7rem;color:var(--faint)}.dp-footer-btn:disabled{color:var(--faint);cursor:default;opacity:.6}.dp-footer-btn:disabled:hover{background:none}.dp-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.dp-segmented-thumb{transition:none}.dp-cell-cap.dp-cell-anchor:after{animation:none}}@media(forced-colors:active){.dp-cell-band:before,.dp-cell-cap-start:before,.dp-cell-cap-end:before{background:Highlight;forced-color-adjust:none}.dp-cell-cap:after{background:Highlight;forced-color-adjust:none}.dp-cell-cap:not(.dp-cell-tint-preview)>.dp-cell-label{color:HighlightText}.dp-cell-tint-preview.dp-cell-cap:after,.dp-grid-range .dp-cell-today:not(.dp-cell-cap):after{background:Canvas;box-shadow:inset 0 0 0 2px Highlight}.dp-segmented-thumb{border-color:Highlight}.dp-preset[aria-pressed=true]{background:Highlight;color:HighlightText}}@media(max-width:860px){.app,.app.is-collapsed{--rail-w: 0px;grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;width:264px;transform:translate(-100%);transition:transform .22s cubic-bezier(.4,0,.2,1);box-shadow:0 0 40px #0009}.app.is-drawer-open .sidebar{transform:translate(0)}.app.is-collapsed .brand-name,.app.is-collapsed .sidebar-label,.app.is-collapsed .user-meta{display:revert}.app.is-collapsed .sidebar-brand{justify-content:flex-start;padding:0 .85rem;gap:.6rem}.app.is-collapsed .sidebar-link,.app.is-collapsed .logout-btn,.app.is-collapsed .user-card{justify-content:flex-start;padding-left:.65rem;padding-right:.65rem;gap:.7rem}.app.is-collapsed .sidebar-section{padding:.85rem .65rem .35rem;text-align:left;font-size:.66rem}.app.is-collapsed .sidebar-section:after{display:none}.rail-toggle,.app.is-collapsed .rail-toggle{display:none}.drawer-toggle{position:fixed;top:.75rem;left:.75rem;z-index:25;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);cursor:pointer}.drawer-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app.is-drawer-open .drawer-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:28;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.main{padding:4.2rem 1.2rem 1.2rem}}@media(max-width:520px){.main{padding:4.2rem 1rem 1rem}.stat-card .value{font-size:26px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.spinner{animation:none!important;border-top-color:var(--accent)}}@media(forced-colors:active){.btn,.btn-sm,.btn-logout,.pagination button{border:1px solid ButtonText}.stat-card,.table-container,.filter-bar,.actions-bar,.empty-state,.form-card,.modal-card,.settings-section,.role-config-card,.dp-dropdown,.badge{border:1px solid CanvasText}.sidebar-link.active:before,tbody tr.row-success td:first-child,tbody tr.row-failed td:first-child,tbody tr.row-selected td:first-child{background:Highlight}.badge:before,.stat-card .label:before{forced-color-adjust:none}:focus-visible{outline:2px solid Highlight;outline-offset:2px}}.no-access{max-width:30rem;margin:12vh auto 0;padding:2rem;text-align:center;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}.no-access h1{font-size:1.15rem;font-weight:600;letter-spacing:-.01em;margin-bottom:.6rem}.no-access p{font-size:.88rem;color:var(--muted);line-height:1.65}.no-access strong{color:var(--text);font-family:var(--mono);font-size:.83rem}.col-picker{position:relative;display:inline-flex}.col-picker-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.82rem;font-weight:600;font-family:inherit;color:var(--muted);background:var(--bg-sunken);border:1px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer;transition:color .16s,border-color .16s,background .16s}.col-picker-btn:hover{color:var(--text);border-color:var(--accent);background:var(--bg-card)}.col-picker-count{padding:.05rem .35rem;font-size:.72rem;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:999px}.col-picker-menu{position:absolute;top:calc(100% + .4rem);right:0;z-index:40;width:15rem;background:var(--bg-card);border:1px solid var(--line-strong);border-radius:var(--radius-sm);box-shadow:0 18px 40px #0000008c;overflow:hidden;animation:colPickerIn .14s ease-out}@keyframes colPickerIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.col-picker-head{display:flex;align-items:center;justify-content:space-between;padding:.6rem .8rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);background:var(--bg-sunken);border-bottom:1px solid var(--line)}.col-picker-reset{padding:0;font-size:.72rem;font-weight:600;font-family:inherit;text-transform:none;letter-spacing:0;color:var(--accent);background:none;border:none;cursor:pointer}.col-picker-reset:disabled{color:var(--faint);opacity:.5;cursor:default}.col-picker-list{max-height:17rem;overflow-y:auto;padding:.3rem 0}.col-picker-item{display:flex;align-items:center;gap:.55rem;padding:.42rem .8rem;font-size:.85rem;color:var(--text);cursor:pointer;transition:background .12s}.col-picker-item:hover{background:var(--bg-sunken)}.col-picker-item.is-disabled{color:var(--faint);cursor:not-allowed}.col-picker-item input{width:.95rem;height:.95rem;accent-color:var(--accent);cursor:inherit}.col-picker-foot{padding:.5rem .8rem;font-size:.72rem;color:var(--faint);background:var(--bg-sunken);border-top:1px solid var(--line)}.badge.retry{margin-left:.4rem;background:var(--warning-wash);border:1px solid var(--warning-line);color:var(--warning-text)}.attempt-history-row>td{padding:0!important;background:var(--bg-sunken);border-top:1px solid var(--accent-glow)}.attempt-history{padding:.6rem .9rem .8rem 2.2rem;overflow-x:auto}.attempt-history table{width:auto;min-width:720px;border-collapse:collapse;font-size:.78rem}.attempt-history th{text-align:left;font-family:var(--mono);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);padding:.3rem .7rem;border-bottom:1px solid var(--line);background:transparent}.attempt-history td{padding:.35rem .7rem;border-bottom:1px solid var(--line);color:var(--muted);vertical-align:top}.attempt-history tr:last-child td{border-bottom:none}.attempt-steps{white-space:nowrap}.attempt-steps .badge{margin-right:.2rem}.table-container.is-sticky-header{overflow:visible}.table-container.is-sticky-header>.table-header{position:sticky;top:0;z-index:24;background:var(--bg-card);border-radius:var(--radius) var(--radius) 0 0}.table-container.is-sticky-header>.table-scroll{overflow-x:auto;border-radius:0 0 var(--radius) var(--radius)}.expander-col{width:30px;padding-left:.5rem!important;padding-right:0!important;text-align:center}.row-expander{display:inline-grid;place-items:center;width:20px;height:20px;padding:0;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-raise);color:var(--muted);cursor:pointer;transition:transform .16s ease,color .16s ease,border-color .16s ease}.row-expander:hover{color:var(--text);border-color:var(--accent-glow)}.row-expander:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.row-expander.is-open{transform:rotate(90deg);color:var(--accent);border-color:var(--accent-glow)}tr.has-history{cursor:pointer}tr.has-history:hover .row-expander{color:var(--text)}tr.is-expanded>td{background:var(--bg-raise)}
