:root{--ink-900: #0b1220;--ink-800: #141c2e;--ink-700: #1e2a44;--slate-600: #4b5565;--slate-500: #667085;--slate-300: #cbd2dc;--slate-200: #e4e7ec;--slate-100: #eef0f3;--paper: #f5f6f8;--surface: #ffffff;--surface-2: #f9fafb;--bg: var(--paper);--card: var(--surface);--border: var(--slate-200);--border-strong: var(--slate-300);--text: var(--ink-900);--text-2: var(--slate-600);--muted: var(--slate-500);--verdant-700: #0b6b55;--verdant-600: #0f8a6e;--verdant-50: #e6f5f0;--mint: #4fd6ae;--azure-600: #2563eb;--azure-700: #1d4ed8;--azure-50: #eaf0fe;--saffron-600: #d97706;--saffron-700: #92400e;--saffron-50: #fef3e2;--rust-600: #c2410c;--rust-700: #9a3412;--rust-50: #fdede4;--primary: var(--verdant-600);--primary-hover: var(--verdant-700);--link: var(--verdant-700);--chrome: var(--ink-900);--chrome-hover: var(--ink-700);--chrome-text: #b7c0d1;--radius-chip: 6px;--radius: 10px;--radius-card: 14px;--radius-lg: 16px;--shadow-raised: 0 1px 2px rgba(11, 18, 32, .06), 0 4px 12px rgba(11, 18, 32, .06);--shadow-overlay: 0 20px 50px rgba(11, 18, 32, .25);--shadow-card: 0 1px 2px rgba(11, 18, 32, .04), 0 2px 6px -2px rgba(11, 18, 32, .05);--shadow-hover: 0 2px 4px rgba(11, 18, 32, .05), 0 16px 36px -8px rgba(11, 18, 32, .16);--shadow-primary: 0 1px 2px rgba(11, 18, 32, .12), 0 6px 16px -4px rgba(15, 138, 110, .45);--focus-ring: rgba(15, 138, 110, .22);--row-hover: rgba(15, 138, 110, .045);--glass: rgba(255, 255, 255, .78);--hairline: rgba(255, 255, 255, .7);--font: Manrope, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sidebar-w: 248px;--topbar-h: 56px;--tabbar-h: 60px}[data-theme=dark]{--bg: #0b1220;--card: #121a2b;--surface-2: #0f172a;--border: #223050;--border-strong: #2c3b60;--text: #e8ecf3;--text-2: #c3cbda;--muted: #9aa6bc;--slate-100: #1a2338;--primary: #1a9e7e;--primary-hover: #0f8a6e;--link: #4fd6ae;--azure-600: #4a86f0;--rust-600: #f08c5a;--verdant-50: #0f2e26;--azure-50: #15213d;--saffron-50: #33230a;--rust-50: #3a1c12;--verdant-700: #4fd6ae;--azure-700: #8ab0ff;--saffron-700: #f5b041;--rust-700: #f08c5a;--chrome: #0b1220;--chrome-hover: #1e2a44;--shadow-raised: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 12px rgba(0, 0, 0, .3);--shadow-card: 0 1px 2px rgba(0, 0, 0, .35), 0 4px 14px -6px rgba(0, 0, 0, .5);--shadow-hover: 0 2px 4px rgba(0, 0, 0, .4), 0 18px 40px -10px rgba(0, 0, 0, .7);--shadow-primary: 0 1px 2px rgba(0, 0, 0, .4), 0 6px 18px -4px rgba(26, 158, 126, .45);--focus-ring: rgba(79, 214, 174, .25);--row-hover: rgba(79, 214, 174, .05);--glass: rgba(18, 26, 43, .74);--hairline: rgba(255, 255, 255, .04);color-scheme:dark}:root{--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-1: .15s;--dur-2: .26s;--dur-3: .52s;--stagger: 70ms}@keyframes fade-up{0%{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes grow-y{0%{transform:scaleY(0)}to{transform:none}}@keyframes float{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-10px,0)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes pulse-ring{0%{transform:scale(.8);opacity:.7}to{transform:scale(2.2);opacity:0}}@keyframes drift{0%,to{transform:translateZ(0) scale(1)}33%{transform:translate3d(4%,-6%,0) scale(1.08)}66%{transform:translate3d(-5%,4%,0) scale(.95)}}@keyframes aurora{0%,to{transform:translateZ(0) scale(1)}33%{transform:translate3d(12%,8%,0) scale(1.12)}66%{transform:translate3d(-8%,12%,0) scale(.92)}}@keyframes grow-x{0%{transform:scaleX(0)}to{transform:none}}@keyframes slide-in-x{0%{opacity:0;transform:translate3d(-14px,0,0)}to{opacity:1;transform:none}}@keyframes shake{0%,to{transform:none}15%,55%{transform:translate3d(-8px,0,0)}35%,75%{transform:translate3d(7px,0,0)}90%{transform:translate3d(-2px,0,0)}}.anim-fade-up{animation:fade-up var(--dur-3) var(--ease-out) both}.anim-scale-in{animation:scale-in var(--dur-3) var(--ease-out) both}.stagger>*{animation:fade-up var(--dur-3) var(--ease-out) both}.stagger>:nth-child(1){animation-delay:calc(var(--stagger) * 0)}.stagger>:nth-child(2){animation-delay:calc(var(--stagger) * 1)}.stagger>:nth-child(3){animation-delay:calc(var(--stagger) * 2)}.stagger>:nth-child(4){animation-delay:calc(var(--stagger) * 3)}.stagger>:nth-child(5){animation-delay:calc(var(--stagger) * 4)}.stagger>:nth-child(6){animation-delay:calc(var(--stagger) * 5)}.stagger>:nth-child(7){animation-delay:calc(var(--stagger) * 6)}.stagger>:nth-child(8){animation-delay:calc(var(--stagger) * 7)}.stagger>:nth-child(9){animation-delay:calc(var(--stagger) * 8)}.stagger>:nth-child(10){animation-delay:calc(var(--stagger) * 9)}.stagger>:nth-child(11){animation-delay:calc(var(--stagger) * 10)}.stagger>:nth-child(12){animation-delay:calc(var(--stagger) * 11)}.reveal{opacity:0;transform:translate3d(0,24px,0);transition:opacity var(--dur-3) var(--ease-out),transform var(--dur-3) var(--ease-out);transition-delay:var(--reveal-delay, 0ms)}.reveal.is-visible{opacity:1;transform:none}.lift{transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out)}@media(hover:hover){.lift:hover{transform:translate3d(0,-3px,0);box-shadow:0 2px 4px #0b12200f,0 14px 32px #0b12201a}}.skeleton{position:relative;overflow:hidden;background:var(--slate-100);border-radius:8px}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:shimmer 1.3s infinite}[data-theme=dark] .skeleton:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent)}::view-transition-old(root){animation:fade-out-quick .16s var(--ease-in-out) both}::view-transition-new(root){animation:fade-up-quick .28s var(--ease-out) both}@keyframes fade-out-quick{to{opacity:0}}@keyframes fade-up-quick{0%{opacity:0;transform:translate3d(0,8px,0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0ms!important;transition-duration:1ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}::view-transition-old(root),::view-transition-new(root){animation:none}}@media print{.reveal{opacity:1;transform:none}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font:500 14px/1.5 var(--font);-webkit-font-smoothing:antialiased}::selection{background:#4fd6ae59}a{color:var(--link)}a:not(.btn):hover{color:var(--primary-hover)}.btn-primary:hover,.btn-ink:hover,.btn-danger:hover{color:#fff}.btn:not(.btn-primary):not(.btn-ink):not(.btn-danger):hover{color:var(--text)}h1,h2,h3,p{margin:0}h1{font-size:28px;font-weight:800;letter-spacing:-.02em}h2{font-size:20px;font-weight:700;letter-spacing:-.01em}h3{font-size:16px;font-weight:700}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.text-2{color:var(--text-2)}.lbl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.num{text-align:right}.neg{color:var(--rust-700)}.row{display:flex;align-items:center;gap:12px}.col{display:flex;flex-direction:column;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.page{padding:24px 28px;display:flex;flex-direction:column;gap:20px;max-width:1440px;width:100%}.page-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.page-head .actions{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1100px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.page{padding:16px}}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card),inset 0 1px 0 var(--hairline)}.card-pad{padding:18px 20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 10px}.card-head h3{font-size:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:12px;font:700 14px var(--font);letter-spacing:-.005em;border:1px solid var(--border-strong);background-color:var(--card);background-image:linear-gradient(180deg,var(--card),var(--surface-2));box-shadow:0 1px 2px #0b12200f,inset 0 1px #ffffffb3;color:var(--text);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),transform var(--dur-1) var(--ease-out)}.btn:hover{background-color:var(--surface-2);border-color:color-mix(in srgb,var(--border-strong) 70%,var(--text) 30%)}@media(hover:hover){.btn:hover:not(:disabled):not(.btn-link):not(.btn-ghost){transform:translate3d(0,-1px,0)}.btn:not(.btn-primary):not(.btn-danger):not(.btn-ink):not(.btn-ghost):not(.btn-link):hover:not(:disabled){box-shadow:0 6px 14px -6px #0b122038,inset 0 1px #ffffffb3}}.btn:active:not(:disabled){transform:scale(.98)}[data-theme=dark] .btn:not(.btn-primary):not(.btn-danger):not(.btn-ink):not(.btn-ghost):not(.btn-link){box-shadow:0 1px 2px #0006,inset 0 1px #ffffff0a}@media(hover:hover){[data-theme=dark] .btn:not(.btn-primary):not(.btn-danger):not(.btn-ink):not(.btn-ghost):not(.btn-link):hover:not(:disabled){box-shadow:0 8px 18px -8px #000000b3,inset 0 1px #ffffff0f}}.btn:focus-visible,.inp:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{position:relative;overflow:hidden;isolation:isolate;background-color:var(--primary);background-image:linear-gradient(180deg,#ffffff21,#fff0 55%,#0000000f);border-color:var(--primary);color:#fff;box-shadow:var(--shadow-primary),inset 0 1px #fff3}.btn-primary:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:translate3d(-110%,0,0);pointer-events:none}.btn-primary:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}@media(hover:hover){.btn-primary:hover:not(:disabled):after{transform:translate3d(110%,0,0);transition:transform .7s var(--ease-out)}}.btn-primary:active:not(:disabled){box-shadow:0 1px 2px #0b122033,inset 0 1px 2px #00000026}.btn-ink{background-color:var(--ink-900);background-image:linear-gradient(180deg,#ffffff14,#fff0);border-color:var(--ink-900);color:#fff}.btn-ink:hover{background-color:var(--ink-700)}[data-theme=dark] .btn-ink{background-color:#26365a;border-color:#33466f}[data-theme=dark] .btn-ink:hover{background-color:#2f4270}.btn-danger{background-color:#c2410c;background-image:linear-gradient(180deg,#e0561c,#c2410c 55%,#a8370a);border-color:#a8370a;color:#fff;box-shadow:0 1px 2px #0b122026,0 8px 18px -8px #c2410ca6,inset 0 1px #ffffff38}.btn-danger:hover{background-color:#a8370a;background-image:linear-gradient(180deg,#d24d14,#b03b0b 60%,#962f07);border-color:#962f07;color:#fff}@media(hover:hover){.btn-danger:hover:not(:disabled){box-shadow:0 12px 24px -10px #c2410cbf,0 0 0 4px #c2410c1f,inset 0 1px #ffffff38}}.btn-danger.btn-sm{background-image:none;background-color:var(--rust-50);border-color:color-mix(in srgb,var(--rust-600) 25%,transparent);color:var(--rust-700);box-shadow:none}.btn-danger.btn-sm:hover{background-color:var(--rust-600);border-color:var(--rust-600);color:#fff}.btn-ghost{background:transparent;background-image:none;border-color:transparent;box-shadow:none}.btn-ghost:hover{background:var(--slate-100)}.btn-link{background:transparent;background-image:none;box-shadow:none;border:0;color:var(--link);padding:0;height:auto;font-weight:700;cursor:pointer}.btn-lg{height:50px;padding:0 24px;font-size:15px;font-weight:800;border-radius:14px}.btn-sm{height:34px;padding:0 12px;font-size:12.5px;border-radius:9px}.btn-icon{width:42px;padding:0}.btn-sm.btn-icon{width:34px}.field{display:flex;flex-direction:column;gap:6px}.field label,.field .label{font-size:12px;font-weight:700;color:var(--text-2)}.inp{height:40px;border:1px solid var(--border-strong);border-radius:var(--radius);padding:0 12px;font:500 14px var(--font);color:var(--text);background:var(--card);width:100%;transition:border-color var(--dur-1) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),background-color var(--dur-1) var(--ease-out)}.inp::placeholder{color:var(--muted);opacity:.8}.inp:hover:not(:disabled):not(:focus){border-color:var(--muted)}.inp.mono{font-family:var(--mono);font-weight:600}.inp:focus,.inp:focus-visible{border-color:var(--primary);outline:2px solid transparent;outline-offset:1px;box-shadow:0 0 0 4px var(--focus-ring)}.inp.invalid,.inp.ng-invalid.ng-touched{border-color:var(--rust-600)}.inp.invalid:focus,.inp.ng-invalid.ng-touched:focus{box-shadow:0 0 0 4px #c2410c2e}.inp:disabled{background:var(--surface-2);color:var(--muted)}select.inp{appearance:auto}textarea.inp{height:auto;min-height:80px;padding:10px 12px;resize:vertical}.hint{font-size:12px;color:var(--muted)}.err{font-size:12px;color:var(--rust-700);font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px 18px}.form-grid>*{grid-column:span 3;min-width:0}.form-grid>.s-3rd{grid-column:span 2}.form-grid>.s-2-3rd{grid-column:span 4}.form-grid>.s-full,.form-grid>.span-2{grid-column:1/-1}@media(max-width:640px){.form-grid{gap:14px 12px}.form-grid>*,.form-grid>.s-3rd,.form-grid>.s-2-3rd{grid-column:1/-1}.form-grid>.s-half-sm{grid-column:span 3}}.form-card{width:100%;overflow:clip}.fsec{--tone: var(--verdant-600);display:grid;grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:20px 32px;padding:26px 28px}.fsec+.fsec{border-top:1px solid var(--border)}.fsec-head{display:flex;align-items:flex-start;gap:12px}.fsec-head h3{font-size:15px;font-weight:800;letter-spacing:-.01em}.fsec-head p{margin-top:3px;font-size:13px;line-height:1.45;color:var(--muted)}.fsec-ic{flex-shrink:0;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:var(--tone);background:color-mix(in srgb,var(--tone) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tone) 18%,transparent)}.fsec-body{display:flex;flex-direction:column;gap:16px;min-width:0}.t-azure{--tone: var(--azure-600)}.t-amber{--tone: var(--saffron-600)}.t-violet{--tone: #7c5cff}.t-rust{--tone: var(--rust-600)}@media(max-width:900px){.fsec{grid-template-columns:minmax(0,1fr);gap:16px;padding:20px}}@media(max-width:640px){.fsec{padding:18px 16px}}.field .req:after{content:"*";margin-left:3px;color:var(--rust-600)}.field .opt{margin-left:6px;padding:1px 7px;border-radius:999px;font-size:10.5px;font-weight:700;color:var(--muted);background:var(--surface-2);vertical-align:1px}.inp-group{position:relative;display:flex;align-items:center}.inp-group>.inp{flex:1}.inp-group>.pre,.inp-group>.suf{position:absolute;top:50%;transform:translateY(-50%);font:600 13px var(--font);color:var(--muted);pointer-events:none}.inp-group>.pre{left:12px}.inp-group>.suf{right:12px}.inp-group>.pre~.inp{padding-left:var(--pre-w, 30px)}.inp-group>.inp:has(~.suf){padding-right:var(--suf-w, 40px)}.form-actions{position:sticky;bottom:var(--tabbar-offset, 0px);z-index:4;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 28px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--card) 88%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px)}.form-actions .kbd-hint{margin-right:auto}.kbd-hint{font-size:12px;color:var(--muted)}.kbd-hint kbd{font:600 11px var(--mono);padding:1px 6px;border:1px solid var(--border);border-bottom-width:2px;border-radius:6px;background:var(--card)}@media(max-width:640px){.form-actions{padding:12px 16px}.form-actions .btn{flex:1}}@media(pointer:coarse){.kbd-hint{display:none}}.switch{position:relative;display:inline-flex;align-items:center;width:40px;height:22px;flex-shrink:0}.switch input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;width:100%;height:100%}.switch .track{width:40px;height:22px;border-radius:999px;background:var(--slate-300);transition:background .15s;position:relative}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0b122040;transition:transform var(--dur-2) var(--ease-spring)}.switch input:checked+.track{background:var(--primary)}.switch input:checked+.track:after{transform:translate(18px)}.switch input:focus-visible+.track{outline:2px solid var(--primary);outline-offset:2px}.switch input:disabled+.track{opacity:.5}.switch-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--slate-100);font-size:14px}.switch-row:last-child{border-bottom:0}.switch-row.tile{padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);cursor:pointer}.badge{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;background:var(--slate-100);color:var(--text-2);letter-spacing:.01em;font-variant-numeric:tabular-nums;box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 14%,transparent)}.badge i{width:7px;height:7px;border-radius:50%;display:inline-block;background:currentColor}.badge-green{background:var(--verdant-50);color:var(--verdant-700)}.badge-blue{background:var(--azure-50);color:var(--azure-700)}.badge-amber{background:var(--saffron-50);color:var(--saffron-700)}.badge-red{background:var(--rust-50);color:var(--rust-700)}.badge-ink{background:var(--ink-900);color:#fff}.tbl-wrap{overflow-x:auto}.paging-dim{opacity:.5;pointer-events:none;transition:opacity var(--dur-1) var(--ease-out)}.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface-2);white-space:nowrap}.tbl td{padding:12px;border-bottom:1px solid var(--slate-100);vertical-align:middle}.tbl tbody tr{transition:background-color var(--dur-1) var(--ease-out)}.tbl tbody tr:hover{background:var(--row-hover)}.tbl td.num,.tbl th.num{text-align:right}.tbl .strong{font-weight:700}.tbl tfoot td{font-weight:700;background:var(--surface-2)}.empty{padding:32px;text-align:center;color:var(--muted)}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:12px;background:var(--azure-50);color:var(--azure-700);flex-shrink:0}.pill{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--slate-100);color:var(--text-2);border:0;cursor:pointer;font-family:var(--font);transition:background-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out)}.pill:active{transform:scale(.96)}.pill.on{background:var(--ink-900);color:#fff}.alert{--tone: var(--azure-600);position:relative;border-radius:12px;padding:12px 14px 12px 16px;font-size:13px;font-weight:600;line-height:1.45;display:flex;gap:10px;align-items:flex-start;border:1px solid color-mix(in srgb,var(--tone) 22%,transparent);box-shadow:inset 3px 0 0 var(--tone);animation:fade-in var(--dur-2) var(--ease-out)}.alert>ui-icon{flex-shrink:0;margin-top:1px}.alert-red{--tone: var(--rust-600);background:linear-gradient(90deg,var(--rust-50),color-mix(in srgb,var(--rust-50) 55%,var(--card)));color:var(--rust-700)}.alert-green{--tone: var(--verdant-600);background:linear-gradient(90deg,var(--verdant-50),color-mix(in srgb,var(--verdant-50) 55%,var(--card)));color:var(--verdant-700)}.alert-amber{--tone: var(--saffron-600);background:linear-gradient(90deg,var(--saffron-50),color-mix(in srgb,var(--saffron-50) 55%,var(--card)));color:var(--saffron-700)}.code-box{font-family:var(--mono);font-weight:600;background:var(--ink-900);color:var(--mint);padding:10px 14px;border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:12px;word-break:break-all}.code-box button{flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.spinner{width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}dialog.dlg{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);color:var(--text);padding:0;width:min(520px,100vw - 32px);box-shadow:var(--shadow-overlay)}dialog.dlg[open]{animation:scale-in var(--dur-2) var(--ease-out)}dialog.dlg::backdrop{background:#0b12208c;animation:fade-in var(--dur-2) var(--ease-out)}.dlg-head{padding:18px 22px 8px;display:flex;justify-content:space-between;align-items:center}.dlg-body{padding:8px 22px 18px;display:flex;flex-direction:column;gap:14px}.dlg-foot{padding:14px 22px 20px;display:flex;justify-content:flex-end;align-items:center;gap:12px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 70%,transparent);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.dlg-foot>[footer]{display:contents}.dlg-foot .btn{min-width:120px}@media(max-width:640px){.dlg-foot{flex-direction:column-reverse;align-items:stretch;gap:10px}.dlg-foot .btn{width:100%;height:48px}}@media(max-width:640px){.tbl-resp thead{display:none}.tbl-resp,.tbl-resp tbody,.tbl-resp tfoot,.tbl-resp tr,.tbl-resp td{display:block;width:100%}.tbl-resp tr{border-bottom:1px solid var(--border);padding:10px 14px}.tbl-resp td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 0;border:0;text-align:right;min-height:28px}.tbl-resp td:before{content:attr(data-label);font-family:var(--font);font-size:12px;font-weight:700;color:var(--muted);text-align:left;flex-shrink:0}.tbl-resp td[data-label=""]:before{content:none}.tbl-resp tbody tr:hover{background:transparent}.page-head h1{font-size:22px}.page-head .actions{margin-left:0;width:100%}.page-head .actions .btn{flex:1 1 auto}.sticky-actions{position:sticky;bottom:var(--tabbar-offset, 0px);z-index:4;background:var(--card);border-top:1px solid var(--border);margin:0 -16px -16px;padding:12px 16px calc(12px + var(--below-safe, env(safe-area-inset-bottom)));display:flex;gap:8px}.sticky-actions .btn{flex:1}dialog.dlg{width:100vw;max-width:100vw;max-height:92vh;margin:auto 0 0;border-radius:18px 18px 0 0}dialog.dlg[open]{animation:fade-up var(--dur-3) var(--ease-out)}}@media(max-width:768px){.has-tabbar{--tabbar-offset: calc(var(--tabbar-h) + env(safe-area-inset-bottom));--below-safe: 0px}body:has(.has-tabbar) .toasts{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 12px)}}@media(pointer:coarse){.btn{min-height:44px}.btn-sm{min-height:40px}.inp{min-height:44px;font-size:16px}.btn-link{display:inline-flex;align-items:center;min-height:40px}button.pill,a.pill{min-height:40px;padding:0 14px}}.row-link{cursor:pointer}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.toolbar .inp{width:auto;flex:1 1 200px}.kpi-tile{display:flex;flex-direction:column;gap:4px}.kpi-tile .big{font-size:24px;font-weight:600;font-family:var(--mono);letter-spacing:-.02em}@media print{.no-print{display:none!important}body{background:#fff}}.shell .content>*,app-platform-shell .content>*{min-width:0;max-width:100%}.chip-strip{--fade-s: 0px;--fade-e: 0px;display:flex;flex-wrap:nowrap;gap:8px;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:24px;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-block:2px;-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--fade-s),#000 calc(100% - var(--fade-e)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--fade-s),#000 calc(100% - var(--fade-e)),transparent)}.chip-strip::-webkit-scrollbar{display:none}.chip-strip.fade-start{--fade-s: 28px}.chip-strip.fade-end{--fade-e: 28px}.chip-strip>*{flex-shrink:0;scroll-snap-align:start}.chip-strip>.pill{height:36px;padding:0 14px;gap:6px;font-size:13px;white-space:nowrap;text-decoration:none}@media(pointer:coarse){.chip-strip>.pill{min-height:44px}}.seg{display:inline-flex;align-items:center;gap:2px;padding:3px;max-width:100%;border-radius:11px;background:var(--surface-2);border:1px solid var(--border)}.seg.chip-strip{gap:2px;padding-block:3px}.seg>button{height:32px;padding:0 11px;border:0;border-radius:8px;background:transparent;font:600 13px var(--font);color:var(--text-2);white-space:nowrap;cursor:pointer;transition:background .15s,color .15s}.seg>button:hover{color:var(--text)}.seg>button:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.seg>button.on{background:var(--card);color:var(--text);box-shadow:0 1px 2px #10182814,0 0 0 1px var(--border)}@media(pointer:coarse){.seg>button{height:38px}}@media(max-width:640px){.tbl-cards tbody tr,.tbl-cards tfoot tr{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:12px;padding:12px 16px}.tbl-cards tbody tr:after,.tbl-cards tfoot tr:after,.tbl-cards tbody tr:before,.tbl-cards tfoot tr:before{content:"";order:3;flex-basis:100%}.tbl-cards tbody tr:before,.tbl-cards tfoot tr:before{order:5}.tbl-cards td{display:block;width:auto;min-width:0;min-height:0;padding:0;margin-top:4px;text-align:left;order:6}.tbl.tbl-resp.tbl-cards td{padding:0}.tbl-cards td:before{content:none}.tbl-cards td.c-lbl:before{content:attr(data-label);display:inline;margin-right:5px;font:700 11px var(--font);color:var(--muted)}.tbl-cards td.c-title{order:1;flex:1 1 0;margin-top:0;overflow-wrap:anywhere}.tbl-cards td.c-badge{order:2;margin:0 0 0 auto;align-self:center}.tbl-cards td.c-pre{order:0;margin-top:0}.tbl-cards td.c-amt.c-top{order:2;margin-top:0}.tbl-cards td.c-sub{order:4;margin-top:2px}.tbl-cards td.c-amt{order:7;margin-left:auto;text-align:right;white-space:nowrap}.tbl-cards td.c-amt:not(.c-hide)+td.c-amt{margin-left:0}.tbl-cards td.c-amt:not(.c-top){flex:1 0 auto}.tbl-cards tr:has(>td.c-kv)>td.c-meta,.tbl-cards tr:has(>td.c-kv)>td.c-amt:not(.c-top){order:4;margin-top:2px}.tbl-cards td.c-kv{order:8;flex:0 0 calc((100% - 24px) / 3);overflow-wrap:anywhere;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;margin-top:8px;text-align:left}.tbl-cards.kv-2 td.c-kv{flex-basis:calc((100% - 12px)/2)}.tbl-cards td.c-kv:before{content:attr(data-label);font:700 10px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.tbl-cards td.c-act{order:9;flex-basis:100%;display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.tbl-cards td.c-hide{display:none}.tbl-cards tfoot tr{background:var(--surface-2)}.tbl-cards tfoot td{background:transparent}.tbl-cards tbody tr{position:relative}.tbl-cards td.c-title a:after{content:"";position:absolute;inset:0}.tbl-cards td:not(.c-title) :is(a,button,input,select,ui-select){position:relative;z-index:1}.tbl-cards td.empty{order:0;flex-basis:100%;padding:20px 0;text-align:center}:where(.tbl-cards) td{font-size:12px;color:var(--muted)}:where(.tbl-cards) .c-title{font-size:15px;font-weight:700;color:var(--text)}:where(.tbl-cards) .c-title :where(.muted,.sub,small){font-weight:500}:where(.tbl-cards) .c-sub{font-size:13px;color:var(--text-2)}:where(.tbl-cards) .c-amt{font-size:15px;font-weight:700;color:var(--text)}:where(.tbl-cards) .c-top{font-size:14px;font-weight:600}:where(.tbl-cards) .c-kv{font-size:13px;color:var(--text)}:where(.tbl-cards) .empty{font-size:14px}}.card.filter-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;min-height:64px;padding:10px 14px;min-width:0}.card.filter-bar>app-range-picker{flex:1 1 auto}.ui-tip{position:fixed;z-index:80;max-width:min(360px,100vw - 24px);padding:7px 12px;border-radius:10px;font:700 13px/1.35 var(--font);color:#fff;background:#111b2e;border:1px solid rgba(255,255,255,.08);box-shadow:inset 3px 0 0 var(--primary),0 12px 28px -10px #0b12208c;pointer-events:none}.ui-tip:before{content:"";position:absolute;width:10px;height:10px;background:#111b2e;border-left:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.ui-tip-right{transform:translate3d(0,-50%,0);animation:ui-tip-right var(--dur-2) var(--ease-out) both}.ui-tip-right:before{left:-5px;top:50%;margin-top:-5px;transform:rotate(45deg)}.ui-tip-bottom{animation:ui-tip-bottom var(--dur-2) var(--ease-out) both}.ui-tip-bottom:before{left:18px;top:-5px;transform:rotate(135deg)}@keyframes ui-tip-right{0%{opacity:0;transform:translate3d(-6px,-50%,0)}}@keyframes ui-tip-bottom{0%{opacity:0;transform:translate3d(0,-4px,0)}}@media(prefers-reduced-motion:reduce){.ui-tip{animation:none}}.due-chip{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;color:var(--text-2);background:var(--slate-100)}.due-chip.t-rust{color:var(--rust-700);background:var(--rust-50)}.due-chip.t-amber{color:var(--saffron-700);background:var(--saffron-50)}.due-chip.t-azure{color:var(--azure-700);background:var(--azure-50)}
