:root{--bg:#ECE6F7;--app:#F8F6FD;--surface:#FFFFFF;--surface-2:#F3EEFC;--line:#E3D9F4;--line-soft:#EEE8F8;--fg:#1C1430;--muted:#675E7D;--faint:#9A92AE;--accent:#7C3AED;--accent-strong:#5B21B6;--accent-fg:#FFFFFF;--accent-soft:#EDE4FD;--magenta:#C026D3;--rail:#FFFFFF;--rail-fg:#5B21B6;--nav-icon:#5B21B6;--rail-muted:#9A8FB5;--rail-active:#E9DDFB;--rail-line:#E9E1F7;--good:#059669;--good-soft:#E1F5EC;--warn:#C2610C;--warn-soft:#FCEBD5;--bad:#DC2626;--bad-soft:#FCE4E7;--info:#4F46E5;--info-soft:#E7E7FC;--tint-violet:#E7DAFC;--tint-mint:#D3F0E5;--tint-amber:#FCE6CB;--tint-rose:#F9D8E0;--shadow:0 1px .125rem rgba(76,29,149,.05),0 .5rem 1.5rem rgba(76,29,149,.06);--f-ui:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--f-head:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--f-num:"Plus Jakarta Sans",system-ui,sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--r:.75rem;--r-lg:1.125rem}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0F0B19;--app:#151024;--surface:#1C1530;--surface-2:#251D3D;--line:#342A50;--line-soft:#2A2244;--fg:#EEE8FA;--muted:#B0A6C9;--faint:#7F7699;--accent:#A78BFA;--accent-strong:#C4B5FD;--accent-fg:#160E2A;--accent-soft:#2D2250;--magenta:#E879F9;--rail:#181229;--rail-fg:#D6C8FB;--nav-icon:#D6C8FB;--rail-muted:#8A80A6;--rail-active:#2D2250;--rail-line:#2A2244;--good:#34D399;--good-soft:#12302A;--warn:#F5A54A;--warn-soft:#3A2814;--bad:#F87171;--bad-soft:#3B1820;--info:#A5B4FC;--info-soft:#1F2147;--tint-violet:#2C2150;--tint-mint:#14302A;--tint-amber:#36271A;--tint-rose:#371B27;--shadow:0 1px .125rem rgba(0,0,0,.3),0 .5rem 1.5rem rgba(0,0,0,.3);color-scheme:dark}}:root[data-theme=dark]{--bg:#0F0B19;--app:#151024;--surface:#1C1530;--surface-2:#251D3D;--line:#342A50;--line-soft:#2A2244;--fg:#EEE8FA;--muted:#B0A6C9;--faint:#7F7699;--accent:#A78BFA;--accent-strong:#C4B5FD;--accent-fg:#160E2A;--accent-soft:#2D2250;--magenta:#E879F9;--rail:#181229;--rail-fg:#D6C8FB;--nav-icon:#D6C8FB;--rail-muted:#8A80A6;--rail-active:#2D2250;--rail-line:#2A2244;--good:#34D399;--good-soft:#12302A;--warn:#F5A54A;--warn-soft:#3A2814;--bad:#F87171;--bad-soft:#3B1820;--info:#A5B4FC;--info-soft:#1F2147;--tint-violet:#2C2150;--tint-mint:#14302A;--tint-amber:#36271A;--tint-rose:#371B27;--shadow:0 1px .125rem rgba(0,0,0,.3),0 .5rem 1.5rem rgba(0,0,0,.3);color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{margin:0}html{font-size:.7744rem;-webkit-text-size-adjust:100%}@media(max-width:767.98px){html{font-size:1rem}}body{background:var(--bg);color:var(--fg);font:.875rem/1.55 var(--f-ui);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}:focus-visible{outline:.125rem solid var(--accent);outline-offset:.125rem}.num{font-family:var(--f-num);font-variant-numeric:tabular-nums}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:.9em}.muted{color:var(--muted)}.faint{color:var(--faint)}h1,h2,h3,h4{font-family:var(--f-head);margin:0;text-wrap:balance;letter-spacing:-.01em}h1{font-size:2rem;font-weight:800;line-height:1.15;letter-spacing:-.025em}h2{font-size:1.12rem;font-weight:700}h3{font-size:1rem;font-weight:700}.eyebrow{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:700;color:var(--muted)}.app{display:block;min-height:100vh;min-height:100dvh;background:var(--app)}@media(min-width:768px){.app{display:flex;height:calc(100vh - 1.75rem);height:calc(100dvh - 1.75rem);min-height:0;margin:.875rem;margin-left:max(.875rem,env(safe-area-inset-left,0px));margin-right:max(.875rem,env(safe-area-inset-right,0px));border-radius:1.75rem;box-shadow:var(--shadow);overflow:hidden}}.rail{background:var(--rail);color:var(--rail-fg);position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;display:flex;flex-direction:column;padding:1.125rem 1rem max(1rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px));border-right:1px solid var(--rail-line)}@media(min-width:768px){.rail{position:relative;top:0;flex:none;width:17.25rem;height:100%;border-radius:1.75rem 0 0 1.75rem;transition:width .2s}}.brand{display:flex;gap:.625rem;align-items:center;padding:.125rem .25rem 1.125rem}.brand-text{min-width:0;flex:1}.brand-text b,.brand-text small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-mark{width:3rem;height:3rem;border-radius:1rem;background:var(--accent-soft);display:grid;place-items:center;flex:none}.brand-mark img{width:2.125rem;height:2.125rem;display:block}.brand b{display:block;font-family:var(--f-head);font-size:1.05rem;font-weight:800;color:var(--accent-strong);letter-spacing:-.01em}.brand small{display:block;color:var(--rail-muted);font-size:.74rem}.nav-group{padding-top:.625rem;margin-top:.625rem;border-top:1px solid var(--rail-line)}.nav-group:first-of-type{border-top:0;margin-top:0;padding-top:0}.nav-group>span{display:block;font-family:var(--f-head);text-transform:uppercase;letter-spacing:.09em;font-size:.64rem;font-weight:700;color:var(--rail-muted);padding:.25rem .75rem}.nav{display:flex;flex-direction:column;gap:.125rem}.nav a{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:.75rem;color:var(--rail-fg);text-decoration:none;font-size:.93rem;font-weight:500}.nav a:hover{background:var(--surface-2)}.nav a.active{background:var(--rail-active);color:var(--accent-strong);font-weight:600}.nav a svg{width:1.1875rem;height:1.1875rem;flex:none;color:var(--ic,var(--nav-icon))}.nav a[data-nav=dashboard]{--ic:#7C3AED}.nav a[data-nav=approvals]{--ic:#4F46E5}.nav a[data-nav=notifications]{--ic:#D97706}.nav a[data-nav=prs]{--ic:#2563EB}.nav a[data-nav=pos]{--ic:#0369A1}.nav a[data-nav=invoices]{--ic:#0D9488}.nav a[data-nav=payments]{--ic:#059669}.nav a[data-nav=receivables]{--ic:#16A34A}.nav a[data-nav=reconciliation]{--ic:#0891B2}.nav a[data-nav=journals]{--ic:#EA580C}.nav a[data-nav=budgets]{--ic:#DB2777}.nav a[data-nav=compliance]{--ic:#E11D48}.nav a[data-nav=reports]{--ic:#9333EA}.nav a[data-nav=documents]{--ic:#B45309}.nav a[data-nav=audit]{--ic:#475569}.nav a[data-nav=masters]{--ic:#C026D3}.nav a[data-nav=users]{--ic:#4338CA}.nav a[data-nav=workflow]{--ic:#A16207}.nav a[data-nav=periods]{--ic:#DC2626}.nav a[data-nav=integrations]{--ic:#0F766E}.nav a[data-nav=settings]{--ic:#7C2D12}:root[data-theme=dark] .nav a svg{color:color-mix(in srgb,var(--ic,var(--nav-icon)) 62%,#fff)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .nav a svg{color:color-mix(in srgb,var(--ic,var(--nav-icon)) 62%,#fff)}}.nav a .count{margin-left:auto;background:var(--accent);color:var(--accent-fg);font-size:.7rem;font-weight:700;padding:0 .4375rem;border-radius:.5625rem;line-height:1.6}.rail-foot{margin-top:auto;padding:.875rem .75rem 0;font-size:.74rem;color:var(--rail-muted);border-top:1px solid var(--rail-line)}.main{min-width:0;display:flex;flex-direction:column}@media(min-width:768px){.main{flex:1;height:100%;overflow-y:auto;overscroll-behavior:contain}}.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--app);display:flex;align-items:center;gap:.875rem;padding-block:.875rem;padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px))}@media(min-width:768px){.topbar{top:0;padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:820px){.topbar{padding-left:2.5rem;padding-right:2rem}}.icon-btn.menu-btn{display:none}.search{min-width:12.5rem}@media(max-width:1056px){.period,.top-right>label{display:none}}.search{flex:1;max-width:32.5rem;position:relative}.search input{width:100%;border:1px solid transparent;background:var(--surface);border-radius:62.4375rem;padding:.6875rem 1rem .6875rem 2.75rem;box-shadow:0 1px .125rem #4c1d950a}.search input:focus{border-color:var(--accent)}.search svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:1.1875rem;height:1.1875rem;color:var(--muted)}.top-right{margin-left:auto;display:flex;align-items:center;gap:.75rem}.period{font-size:.78rem;font-weight:600;border:1px solid var(--line);background:var(--surface);border-radius:1.25rem;padding:.25rem .75rem;color:var(--muted);white-space:nowrap}.role-select{border:1px solid var(--line);border-radius:.75rem;background:var(--surface);padding:.5rem .625rem;max-width:12.5rem}.icon-btn{position:relative;border:0;background:var(--accent-soft);color:var(--accent-strong);border-radius:50%;width:2.75rem;height:2.75rem;display:grid;place-items:center;cursor:pointer}.icon-btn:hover{filter:brightness(.97)}.icon-btn svg{width:1.25rem;height:1.25rem}.dot{position:absolute;top:-.1875rem;right:-.1875rem;background:var(--bad);color:#fff;font-size:.66rem;font-weight:700;border-radius:.625rem;padding:0 .375rem;line-height:1.6;box-shadow:0 0 0 .125rem var(--app)}.avatar{width:3.125rem;height:3.125rem;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff;display:grid;place-items:center;font-weight:700;font-size:.9rem;flex:none}.who{line-height:1.25;font-size:.93rem;font-weight:700;text-align:right}.who small{display:block;color:var(--muted);font-size:.8rem;font-weight:500}.content{padding-block:.5rem 3rem;padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px));width:100%}@media(min-width:768px){.content{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:820px){.content{padding-left:2.5rem;padding-right:2rem}}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.375rem}.page-head p{margin:.375rem 0 0;color:var(--muted);max-width:72ch}.page-head>div:first-child{flex:1 1 18rem;min-width:0}.page-head .actions{flex:0 0 auto;max-width:100%}.crumbs{font-size:.8rem;color:var(--muted);margin-bottom:.375rem}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--accent)}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.section-title{margin:.375rem 0 .125rem}.section-sub{color:var(--muted);margin:0 0 .75rem;font-size:.88rem}.btn{border:1px solid var(--line);background:var(--surface);border-radius:.75rem;padding:.5rem .9375rem;cursor:pointer;font-weight:600;font-size:.87rem;display:inline-flex;align-items:center;gap:.4375rem;white-space:nowrap;text-decoration:none;color:var(--fg)}.btn:hover{border-color:var(--accent);color:var(--accent-strong)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--accent-fg)}:root[data-theme=dark] .btn.primary:hover{background:var(--accent-strong);color:#160e2a}.btn.good{background:var(--good);border-color:var(--good);color:#fff}.btn.good:hover{color:#fff;filter:brightness(1.06)}.btn.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,var(--line))}.btn.ghost{border-color:transparent;background:transparent}.btn.sm{padding:.3125rem .625rem;font-size:.8rem;border-radius:.625rem}.btn[disabled]{opacity:.45;cursor:not-allowed;filter:none}.btn svg{width:1rem;height:1rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:.625rem;padding:.9375rem 1.125rem;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}.panel-body{padding:1.125rem}.grid{display:grid;gap:1rem}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g-2-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.stack{display:flex;flex-direction:column;gap:1rem}.row{display:flex;gap:.625rem;align-items:center;flex-wrap:wrap}.spacer{flex:1}.kpi{--t:var(--tint-violet);--d:var(--accent);background:linear-gradient(180deg,var(--t) 0%,var(--surface) 78%);border:1px solid color-mix(in srgb,var(--d) 28%,var(--line));border-radius:var(--r-lg);padding:1.125rem 1.375rem 1rem;display:flex;flex-direction:column;gap:.375rem;min-width:0;box-shadow:0 1px .125rem #4c1d950a}.kpi.mint{--t:var(--tint-mint);--d:var(--good)}.kpi.amber{--t:var(--tint-amber);--d:#F59E0B}.kpi.rose{--t:var(--tint-rose);--d:var(--bad)}.kpi .label{font-size:.88rem;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:.5625rem}.kpi .label:before{content:"";width:.5625rem;height:.5625rem;border-radius:50%;background:var(--d);flex:none}.kpi .value{font-family:var(--f-num);font-size:1.75rem;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.25;overflow-wrap:anywhere}.kpi .delta{font-size:.78rem;color:var(--muted)}.up{color:var(--good)}.down{color:var(--bad)}.kpi .delta.up{color:var(--good)}.kpi .delta.down{color:var(--bad)}.pill{display:inline-flex;align-items:center;gap:.375rem;font-size:.74rem;font-weight:600;padding:.125rem .625rem;border-radius:1.25rem;white-space:nowrap;background:var(--surface-2);color:var(--muted)}.pill:before{content:"";width:.375rem;height:.375rem;border-radius:50%;background:currentColor}.pill.good{background:var(--good-soft);color:var(--good)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.info{background:var(--info-soft);color:var(--info)}.pill.accent{background:var(--accent-soft);color:var(--accent-strong)}.tag{font-family:var(--f-mono);font-size:.72rem;border:1px solid var(--line);border-radius:.375rem;padding:0 .375rem;color:var(--muted);white-space:nowrap}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.87rem}th{font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:left;padding:.625rem .875rem;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface)}td{padding:.6875rem .875rem;border-bottom:1px solid var(--line-soft);vertical-align:middle}tr:last-child td{border-bottom:0}td.r,th.r{text-align:right}tbody tr.click{cursor:pointer}tbody tr.click:hover{background:var(--surface-2)}tfoot td{font-weight:700;border-top:1px solid var(--line);background:var(--surface-2)}.doc-no{font-family:var(--f-mono);font-size:.82rem;color:var(--accent);font-weight:500;white-space:nowrap;text-decoration:none}.sub{display:block;color:var(--muted);font-size:.77rem}.toolbar{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;padding:.75rem 1.125rem;border-bottom:1px solid var(--line-soft)}.toolbar input,.toolbar select{border:1px solid var(--line);background:var(--surface);border-radius:.625rem;padding:.4375rem .6875rem;font-size:.85rem}.toolbar input{min-width:0;width:15rem;max-width:100%}.tabs{display:flex;gap:.375rem;margin-bottom:1.125rem;overflow-x:auto;padding:.25rem;background:var(--surface-2);border-radius:.875rem;width:fit-content;max-width:100%}.tabs button{border:0;background:none;padding:.4375rem .9375rem;cursor:pointer;color:var(--muted);font-weight:600;border-radius:.625rem;white-space:nowrap}.tabs button.on{color:var(--accent-strong);background:var(--surface);box-shadow:0 1px .1875rem #4c1d951a}.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem 1.125rem}.field{display:flex;flex-direction:column;gap:.375rem;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:.8rem;font-weight:600;color:var(--muted)}.field label .req{color:var(--bad)}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--surface);border-radius:.6875rem;padding:.5625rem .75rem;width:100%}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 .1875rem var(--accent-soft)}.field textarea{min-height:4.875rem;resize:vertical}.field .hint{font-size:.75rem;color:var(--faint)}.field input[readonly]{background:var(--surface-2)}.lines input,.lines select{border:1px solid var(--line);background:var(--surface);border-radius:.5625rem;padding:.4375rem .5625rem;width:100%;min-width:4.375rem}.callout{border-radius:.875rem;padding:.75rem 1rem;font-size:.88rem;display:flex;gap:.625rem;align-items:flex-start;border:0}.callout.good{background:var(--good-soft);color:var(--fg)}.callout.warn{background:var(--warn-soft);color:var(--warn)}.callout.bad{background:var(--bad-soft);color:var(--fg)}.callout.info{background:var(--accent-soft);color:var(--fg)}.callout b{font-weight:700}.callout>svg{width:1.125rem;height:1.125rem;flex:none;margin-top:.125rem}.callout.good>svg{color:var(--good)}.callout.bad>svg{color:var(--bad)}.callout.info>svg{color:var(--accent)}.meter{height:.5rem;background:var(--surface-2);border-radius:.3125rem;overflow:hidden}.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--magenta));border-radius:.3125rem}.meter.warn i{background:#f59e0b}.meter.bad i{background:var(--bad)}.dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.5rem 1.25rem;font-size:.88rem;margin:0}.dl dt{color:var(--muted)}.dl dd{margin:0;min-width:0}.chain{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.chain li{display:grid;grid-template-columns:1.5rem minmax(0,1fr);gap:.6875rem;position:relative;padding-bottom:.9375rem}.chain li:not(:last-child):after{content:"";position:absolute;left:.6875rem;top:1.5rem;bottom:0;width:.125rem;background:var(--line)}.chain .node{width:1.5rem;height:1.5rem;border-radius:50%;border:.125rem solid var(--line);background:var(--surface);display:grid;place-items:center;font-size:.66rem;font-weight:700;z-index:1;color:var(--muted)}.chain .done .node{background:var(--good);border-color:var(--good);color:#fff}.chain .now .node{border-color:#f59e0b;background:var(--warn-soft);color:var(--warn)}.chain .rej .node{background:var(--bad);border-color:var(--bad);color:#fff}.chain .ret .node{background:#f59e0b;border-color:#f59e0b;color:#fff}.chain .skip .node{border-style:dashed}.chain b{font-weight:700;font-size:.88rem}.chain small{display:block;color:var(--muted);font-size:.78rem}.chain q{display:block;font-size:.81rem;color:var(--fg);background:var(--surface-2);border-radius:.5625rem;padding:.375rem .625rem;margin-top:.3125rem;quotes:none}.steps{display:flex;gap:0;overflow-x:auto;padding-bottom:.25rem}.steps div{flex:1;min-width:5.75rem;text-align:center;font-size:.74rem;color:var(--faint);position:relative;padding-top:1.375rem}.steps div:before{content:"";position:absolute;top:.375rem;left:50%;width:.75rem;height:.75rem;margin-left:-.375rem;border-radius:50%;background:var(--line);z-index:1}.steps div:after{content:"";position:absolute;top:.6875rem;left:-50%;width:100%;height:.125rem;background:var(--line)}.steps div:first-child:after{display:none}.steps .done{color:var(--fg)}.steps .done:before{background:var(--accent)}.steps .done:after{background:var(--accent)}.steps .now{color:var(--fg);font-weight:700}.steps .now:before{background:#f59e0b;box-shadow:0 0 0 .25rem var(--warn-soft)}.empty{padding:1.875rem;text-align:center;color:var(--muted)}.list-plain{list-style:none;margin:0;padding:0}.list-plain li{padding:.6875rem 1.125rem;border-bottom:1px solid var(--line-soft);display:flex;gap:.6875rem;align-items:flex-start}.list-plain li:last-child{border-bottom:0}.ic{width:2.125rem;height:2.125rem;border-radius:.6875rem;display:grid;place-items:center;flex:none;background:var(--accent-soft);color:var(--accent-strong)}.ic svg{width:1rem;height:1rem}.ic.good{background:var(--good-soft);color:var(--good)}.ic.warn{background:var(--warn-soft);color:var(--warn)}.ic.bad{background:var(--bad-soft);color:var(--bad)}.ic.info{background:var(--info-soft);color:var(--info)}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart text{fill:var(--muted);font-family:var(--f-ui);font-size:.66rem}.legend{display:flex;gap:.875rem;flex-wrap:wrap;font-size:.77rem;color:var(--muted)}.legend i{display:inline-block;width:.625rem;height:.625rem;border-radius:.1875rem;margin-right:.3125rem;vertical-align:-1px}.check{display:flex;gap:.6875rem;align-items:flex-start;padding:.6875rem 0;border-bottom:1px solid var(--line-soft)}.check:last-child{border-bottom:0}.check input{margin-top:.1875rem;accent-color:var(--accent);width:1.0625rem;height:1.0625rem}.matrix td,.matrix th{text-align:center;font-size:.78rem;padding:.5rem .5625rem}.matrix td:first-child,.matrix th:first-child{text-align:left}.lvl{font-size:.72rem;font-weight:600;padding:.125rem .5rem;border-radius:.4375rem;white-space:nowrap}.lvl.full{background:var(--accent);color:var(--accent-fg)}.lvl.edit{background:var(--info-soft);color:var(--info)}.lvl.appr{background:var(--warn-soft);color:var(--warn)}.lvl.read{background:var(--surface-2);color:var(--muted)}.lvl.none{color:var(--faint)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c143066;z-index:80;display:flex;align-items:flex-start;justify-content:center;padding:max(3rem,env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) 1.5rem max(1rem,env(safe-area-inset-left,0px));overflow-y:auto;-webkit-backdrop-filter:blur(.125rem);backdrop-filter:blur(.125rem)}.modal{background:var(--surface);border-radius:1.375rem;width:100%;max-width:36.25rem;box-shadow:0 1.5rem 4.375rem #2e106540;border:1px solid var(--line)}.modal.wide{max-width:52.5rem}.modal-head{padding:1.125rem 1.375rem;border-bottom:1px solid var(--line-soft);display:flex;justify-content:space-between;gap:.625rem;align-items:center}.modal-body{padding:1.25rem 1.375rem}.modal-foot{padding:.875rem 1.375rem;border-top:1px solid var(--line-soft);display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}pre.file{font-family:var(--f-mono);font-size:.75rem;background:var(--surface-2);border-radius:.75rem;padding:.875rem;overflow-x:auto;margin:0;white-space:pre}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(25.625rem,100%);background:var(--surface);z-index:85;border-left:1px solid var(--line);box-shadow:-.625rem 0 2.5rem #2e106526;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px);border-radius:1.375rem 0 0 1.375rem}.drawer .list-plain{overflow-y:auto}.toasts{position:fixed;right:max(1rem,env(safe-area-inset-right,0px));bottom:max(1rem,env(safe-area-inset-bottom,0px));z-index:90;display:flex;flex-direction:column;gap:.5rem;max-width:calc(100% - 2rem)}.toast{background:var(--accent-strong);color:#fff;padding:.6875rem 1rem;border-radius:.8125rem;font-size:.87rem;font-weight:500;box-shadow:var(--shadow);max-width:23.75rem;animation:rise .2s ease-out}:root[data-theme=dark] .toast{color:#160e2a}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .toast{color:#160e2a}}@keyframes rise{0%{transform:translateY(.5rem);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.readonly-banner{background:var(--warn-soft);color:var(--warn);font-size:.9rem;font-weight:500;padding:.75rem 1.125rem;border-radius:.875rem;margin-bottom:1.125rem}.login{min-height:100vh;display:grid;place-items:center;background:var(--app)}.login-form{width:100%;display:flex;align-items:center;justify-content:center;padding-block:2rem;padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px))}.login-card{width:100%;max-width:30rem;display:flex;flex-direction:column;gap:1.125rem;background:var(--surface);border-radius:2rem;padding:2.5rem 2.75rem;box-shadow:0 1px .1875rem #4c1d9514,0 1.5rem 3.75rem #4c1d9524}.login-brand{flex-direction:column;align-items:center;text-align:center;gap:.625rem;padding:0 0 .375rem}.login-brand .brand-mark{width:4.75rem;height:4.75rem;background:none;box-shadow:0 0 2.75rem #c026d359;border-radius:50%;display:grid;place-items:center}.login-brand .brand-mark img{width:4.25rem;height:4.25rem;object-fit:contain}.login-brand b,.login-brand small{display:block;font-size:1.55rem;font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--fg)}.login-card .field label{font-size:.88rem;font-weight:700;color:var(--fg)}.login-card input:not([type=checkbox]){border-radius:1.125rem;padding-block:.9375rem;padding-left:1.25rem;background:var(--surface-2);border:1px solid var(--line);font-size:.98rem}.btn.login-submit{justify-content:center;gap:.625rem;padding:1.0625rem;border:0;border-radius:62.4375rem;font-size:1rem;font-weight:700;color:#fff;background:linear-gradient(100deg,#7c3aed,#c026d3 60%,#ec4899);box-shadow:0 .875rem 1.75rem #7c3aed4d}.btn.login-submit:hover:not(:disabled){background:linear-gradient(100deg,#6d28d9,#a21caf 60%,#db2777);color:#fff}.btn.login-submit:disabled{opacity:.7;cursor:not-allowed}.btn.login-submit:after{content:"›";font-size:1.3rem;line-height:1}.login-remember{display:flex;align-items:center;gap:.5625rem;margin-top:-.125rem;font-size:.88rem;font-weight:600;color:var(--fg);cursor:pointer;width:fit-content}.login-remember input{margin:0;width:1.0625rem;height:1.0625rem;accent-color:var(--accent);cursor:pointer;flex:none}.login-forgot{align-self:center;color:var(--muted);font-size:.92rem;text-decoration:underline;text-underline-offset:.1875rem}.login-forgot:hover{color:var(--accent-strong)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:944px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g-2-1{grid-template-columns:minmax(0,1fr)}}.rail-scrim{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#1c143059;z-index:65}.rail-close,.rail-search,.rail-theme,.top-title,.tabbar{display:none}.icon-btn.rail-toggle{margin-left:auto;width:2.25rem;height:2.25rem;flex:none}.icon-btn.rail-toggle svg{width:1.125rem;height:1.125rem;transition:transform .2s}.rail-foot{display:flex;flex-direction:column;gap:.625rem}@media(min-width:768px){.app.rail-collapsed .rail{width:5.25rem;padding-left:.75rem;padding-right:.75rem}.app.rail-collapsed .brand{flex-direction:column;gap:.625rem;padding:.125rem 0 .75rem}.app.rail-collapsed .icon-btn.rail-toggle{margin-left:0}.app.rail-collapsed .brand-text,.app.rail-collapsed .nav-label,.app.rail-collapsed .nav-group>span,.app.rail-collapsed .rail-foot-text{display:none}.app.rail-collapsed .nav a{justify-content:center;position:relative;padding:.65rem}.app.rail-collapsed .nav a .count{position:absolute;top:0;right:.125rem;margin:0}}@media(max-width:767.98px){html,body{overflow-x:hidden}body:before{display:none}img,svg,video,canvas{max-width:100%}h1{font-size:1.45rem}.rail{position:fixed;left:0;top:0;bottom:0;height:auto;width:min(18rem,86vw);z-index:70;transform:translate(-100%);transition:transform .2s;border-radius:0 1.5rem 1.5rem 0;padding-top:max(1.125rem,env(safe-area-inset-top,0px))}.app.nav-open .rail{transform:none;box-shadow:.625rem 0 2.5rem #2e106540}.app.nav-open .rail-scrim{display:block}.icon-btn.rail-toggle{display:none}.icon-btn.rail-close{display:grid;margin-left:auto}.rail-search{display:block;position:relative;margin:0 0 .375rem}.rail-search svg{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);width:1.125rem;height:1.125rem;color:var(--muted)}.rail-search input{width:100%;min-height:2.75rem;border:1px solid var(--line);background:var(--surface);border-radius:62.4375rem;padding:.625rem .875rem .625rem 2.625rem}.rail-theme{display:inline-flex;justify-content:center;min-height:2.75rem;white-space:normal}.topbar{top:0;gap:.5rem;padding:calc(.625rem + env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) .625rem max(1rem,env(safe-area-inset-left,0px))}.icon-btn.menu-btn{display:grid}.top-title{display:block;flex:1;min-width:0;font-family:var(--f-head);font-weight:700;font-size:1.05rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search,.period,.theme-btn,.top-right>label{display:none}.top-right{margin-left:0;gap:.375rem;flex:none}.avatar{display:grid;width:2.5rem;height:2.5rem;font-size:.8rem}.profile-trigger{padding:0}.profile-trigger .who,.profile-trigger .chev{display:none}.profile-pop{position:fixed;right:max(.75rem,env(safe-area-inset-right,0px));top:calc(3.75rem + env(safe-area-inset-top,0px));width:min(17.5rem,calc(100vw - 1.5rem))}.tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--surface);border-top:1px solid var(--line);padding:.375rem max(.5rem,env(safe-area-inset-right,0px)) calc(.375rem + env(safe-area-inset-bottom,0px)) max(.5rem,env(safe-area-inset-left,0px));box-shadow:0 -.375rem 1.5rem #2e106514}.tabbar a,.tabbar button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;min-height:3rem;min-width:2.5rem;border:0;background:none;border-radius:.75rem;color:var(--muted);text-decoration:none;font-size:.68rem;font-weight:600;cursor:pointer}.tabbar svg{width:1.375rem;height:1.375rem}.tabbar a.active,.tabbar button.active{color:var(--accent-strong);background:var(--accent-soft)}.tabbar .count{position:absolute;top:.125rem;left:calc(50% + .375rem);background:var(--bad);color:#fff;font-size:.62rem;font-weight:700;padding:0 .3125rem;border-radius:.5625rem;line-height:1.5}.content{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.toasts{left:1rem;right:1rem;bottom:calc(5.25rem + env(safe-area-inset-bottom,0px));max-width:none}.toast{max-width:none}.sticky-side{position:static}.g2,.g3,.g-2-1,#rep-grid{grid-template-columns:minmax(0,1fr)!important}.g4{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.form{grid-template-columns:minmax(0,1fr)!important}.kpi{padding:.875rem 1rem}.kpi .value{font-size:1.35rem}.page-head{align-items:flex-start}.page-head .actions{width:100%}.toolbar{padding:.75rem 1rem}.toolbar input,.toolbar select{width:100%;max-width:none}.panel-head,.panel-body{padding-left:1rem;padding-right:1rem}.tabs{width:100%}input,select,textarea{font-size:1rem}.btn,.btn.sm{min-height:2.5rem;padding-left:.9rem;padding-right:.9rem}.icon-btn{width:2.5rem;height:2.5rem}.nav a{min-height:2.75rem}.tabs button{min-height:2.5rem}.field input:not([type=checkbox]):not([type=radio]),.field select{min-height:2.75rem}.toolbar input:not([type=checkbox]),.toolbar select{min-height:2.5rem}.th-filter,.pw-toggle{width:2.5rem;height:2.5rem}.profile-pop button{min-height:2.75rem}.fp-opt,.fp-extra,.check{min-height:2.5rem}.row-check,.fp-opt input,.check input,.login-remember input{width:1.25rem;height:1.25rem}.link-btn,.pr-clear{min-height:2.5rem;padding-inline:.5rem}.doc-no{display:inline-block;padding-block:.625rem}.login-card{padding:1.75rem 1.25rem;border-radius:1.5rem}.scrim{align-items:flex-end;padding:max(1rem,env(safe-area-inset-top,0px)) env(safe-area-inset-right,0px) 0 env(safe-area-inset-left,0px)}.modal,.modal.wide{max-width:none;width:100%;max-height:calc(100dvh - max(1rem,env(safe-area-inset-top,0px)));display:flex;flex-direction:column;border-radius:1.375rem 1.375rem 0 0;border-bottom:0}.modal-head{flex:none;padding:1rem 1.125rem}.modal-body{flex:1;min-height:0;overflow-y:auto;padding:1.125rem;-webkit-overflow-scrolling:touch}.modal-foot{flex:none;position:sticky;bottom:0;background:var(--surface);padding:.75rem 1.125rem calc(.75rem + env(safe-area-inset-bottom,0px))}.modal-foot .btn{flex:1 1 auto;justify-content:center}.drawer{width:100%;border-left:0;border-radius:0}}.avatar{overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.profile-menu{position:relative}.profile-trigger{display:flex;align-items:center;gap:.625rem;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:.25rem .375rem .25rem .25rem;border-radius:62.4375rem}.profile-trigger:hover,.profile-trigger[aria-expanded=true]{background:var(--accent-soft)}.profile-trigger:focus-visible{outline:.125rem solid var(--accent);outline-offset:.125rem}.profile-trigger .who{text-align:left}.profile-trigger .chev{display:grid;place-items:center;color:var(--muted)}.profile-trigger .chev svg{width:1rem;height:1rem;transform:rotate(-90deg);transition:transform .15s}.profile-trigger .chev.open svg{transform:rotate(90deg)}.profile-pop{position:absolute;right:0;top:calc(100% + .5rem);min-width:15rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:.375rem;z-index:60}.profile-pop-head{padding:.625rem .75rem .75rem;border-bottom:1px solid var(--line-soft);margin-bottom:.375rem;display:flex;flex-direction:column;gap:.125rem}.profile-pop-head small{color:var(--muted);overflow-wrap:anywhere}.profile-pop button{display:flex;align-items:center;gap:.625rem;width:100%;border:0;background:transparent;color:var(--fg);font:inherit;font-weight:600;padding:.625rem .75rem;border-radius:.625rem;cursor:pointer;text-align:left}.profile-pop button:hover,.profile-pop button:focus-visible{background:var(--accent-soft);outline:none}.profile-pop button svg{width:1.125rem;height:1.125rem;color:var(--muted)}.profile-pop button.danger{color:var(--bad)}.profile-pop button.danger svg{color:var(--bad)}.photo-edit{display:flex;align-items:center;gap:1.125rem;flex-wrap:wrap}#root{min-height:100%;display:flow-root}a{text-underline-offset:.125rem}.nowrap{white-space:nowrap}.hint.err{color:var(--bad)}.field input.invalid,.field select.invalid,.field textarea.invalid{border-color:var(--bad)}.btn.disabled,label.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}a.btn{text-decoration:none}.skip-link{position:absolute;left:-624.9375rem;top:.5rem;z-index:100;background:var(--accent);color:var(--accent-fg);padding:.5rem .875rem;border-radius:.625rem}.skip-link:focus{left:.5rem}.skeleton{display:inline-block;height:.75rem;width:70%;border-radius:.375rem;background:linear-gradient(90deg,var(--surface-2),var(--line-soft),var(--surface-2));background-size:200% 100%;animation:shimmer 1.2s infinite linear}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{display:inline-block;width:.875rem;height:.875rem;border-radius:50%;border:.125rem solid var(--line);border-top-color:var(--accent);vertical-align:-.125rem;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.skeleton,.spinner{animation:none}}.pager{display:flex;align-items:center;gap:.625rem;padding:.625rem 1.125rem;border-top:1px solid var(--line-soft);font-size:.84rem;flex-wrap:wrap}.pager-size{display:inline-flex;align-items:center;gap:.375rem}.pager-size select{border:1px solid var(--line);background:var(--surface);border-radius:.5rem;padding:.1875rem .375rem;font-size:.84rem}.pager-pages{display:inline-flex;align-items:center;gap:.25rem}.pager-pages .btn{min-width:2rem;justify-content:center}.pager-of{display:none}@media(max-width:767.98px){.pager-pages{display:none}.pager-of{display:inline}}.toolbar select{max-width:13.75rem}.toolbar .spacer{flex:1}.toolbar .count{font-size:.82rem;color:var(--muted);white-space:nowrap}.th-sort{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:.3125rem;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit}.th-sort:focus-visible{outline:.125rem solid var(--accent);outline-offset:.125rem;border-radius:.25rem}.th-sort .arrow{font-size:.62rem;opacity:.35}.th-sort.on .arrow,.th-sort:hover .arrow{opacity:1;color:var(--accent)}.row-check{width:1rem;height:1rem;margin:0;vertical-align:middle;accent-color:var(--accent);cursor:pointer}tbody tr.sel td{background:var(--accent-soft)}.th-inner{display:inline-flex;align-items:center;gap:.25rem}.th-filter{all:unset;box-sizing:border-box;cursor:pointer;position:relative;display:inline-grid;place-items:center;width:1.375rem;height:1.375rem;border-radius:.4375rem;color:var(--faint)}.th-filter svg{width:.8125rem;height:.8125rem}.th-filter:hover,.th-filter[aria-expanded=true]{background:var(--surface-2);color:var(--accent)}.th-filter.on{background:var(--accent-soft);color:var(--accent-strong)}.th-filter:focus-visible{outline:.125rem solid var(--accent);outline-offset:1px}.th-filter-n{position:absolute;top:-.3125rem;right:-.3125rem;min-width:.9375rem;height:.9375rem;padding:0 .25rem;border-radius:.5rem;background:var(--accent);color:var(--accent-fg);font-size:.62rem;font-weight:700;line-height:.9375rem;text-align:center;letter-spacing:0}.filter-pop{position:fixed;z-index:60;box-sizing:border-box;max-width:calc(100vw - 1rem);padding:.625rem;background:var(--surface);border:1px solid var(--line);border-radius:.875rem;box-shadow:var(--shadow);color:var(--fg);font-size:.85rem;font-weight:400;text-transform:none;letter-spacing:0;text-align:left}.filter-pop input[type=search],.filter-pop input:not([type]),.filter-pop input[type=text],.filter-pop input[type=date]{box-sizing:border-box;width:100%;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:.625rem;padding:.4375rem .625rem;font-size:.85rem}.filter-pop input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 .1875rem var(--accent-soft)}.filter-pop input:disabled{opacity:.5}.fp-list{display:flex;flex-direction:column;gap:1px;max-height:13.75rem;overflow-y:auto;margin:0 -.25rem;padding:0 .25rem}.filter-pop input[type=search]+.fp-list{margin-top:.5rem}.fp-opt{display:flex;align-items:center;gap:.5625rem;padding:.375rem .5rem;border-radius:.5rem;cursor:pointer}.fp-opt:hover{background:var(--surface-2)}.fp-opt input{flex:none;width:1rem;height:1rem;margin:0;accent-color:var(--accent)}.fp-none{padding:.375rem .5rem}.fp-dates{display:grid;gap:.5rem}.fp-dates label{display:grid;gap:.25rem;font-size:.78rem;font-weight:600;color:var(--muted)}.fp-warn{font-size:.74rem;color:var(--bad)}.filter-pop input[aria-invalid=true]{border-color:var(--bad)}.fp-extra{display:flex;align-items:center;gap:.5625rem;margin-top:.625rem;padding-top:.625rem;border-top:1px solid var(--line-soft);cursor:pointer}.fp-extra input{flex:none;width:1rem;height:1rem;margin:0;accent-color:var(--accent)}.fp-foot{display:flex;align-items:center;justify-content:space-between;margin-top:.625rem;font-size:.8rem}.link-btn{background:none;border:0;padding:0;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline}.pw-wrap{position:relative}.field .pw-wrap input{padding-right:3rem}.pw-toggle{position:absolute;top:50%;right:.25rem;transform:translateY(-50%);width:2.5rem;height:2.5rem;display:grid;place-items:center;border:0;border-radius:.5625rem;background:none;color:var(--muted);cursor:pointer}.pw-toggle:hover{color:var(--accent);background:var(--accent-soft)}.pw-toggle:focus-visible{outline:.125rem solid var(--accent);outline-offset:-.125rem}.pw-toggle svg{width:1.25rem;height:1.25rem}.hint.caps{color:var(--warn);font-weight:600}.stat-row{display:flex;gap:.625rem;align-items:baseline;flex-wrap:wrap}.sticky-side{position:sticky;top:4.75rem;align-self:start}.right{text-align:right}.auth-card{width:100%;max-width:26.25rem;display:flex;flex-direction:column;gap:.875rem}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem 1rem;background:var(--bg)}.auth-wrap .panel{padding:1.75rem;width:100%;max-width:27.5rem}.pw-rules{margin:.375rem 0 0;padding-left:1.125rem;color:var(--muted);font-size:.78rem}.table-wrap{-webkit-overflow-scrolling:touch}tbody tr.click:focus-visible{outline:.125rem solid var(--accent);outline-offset:-.125rem}@media print{.rail,.rail-scrim,.tabbar,.topbar,.toasts,.actions,.toolbar,.tabs,.pager{display:none!important}.app{display:block;height:auto;margin:0;border-radius:0;box-shadow:none;overflow:visible}.main{height:auto;overflow:visible}.content{padding:0;max-width:none}}.cl-bar{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}.cl-bar .count{font-size:.82rem;color:var(--muted)}.cl-chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.cl-chips::-webkit-scrollbar{display:none}.cl-chips-label{flex:none;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.cl-chip{flex:none;position:relative;display:inline-flex;align-items:center;gap:.375rem;min-height:2.5rem;padding:0 .875rem;border:1px solid var(--line);border-radius:62.4375rem;background:var(--surface);color:var(--fg);font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap}.cl-chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.cl-chip .arrow{font-size:.62rem;opacity:.65}.cl-chip-filter{padding-right:2.625rem;cursor:default}.cl-chip-filter .th-filter{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;width:auto;height:auto;border-radius:62.4375rem;place-items:center end;padding-right:.75rem;color:var(--muted)}.cl-chip-filter .th-filter svg{width:1rem;height:1rem}.cl-chip-filter .th-filter,.cl-chip-filter .th-filter:hover,.cl-chip-filter .th-filter.on,.cl-chip-filter .th-filter[aria-expanded=true]{background:transparent}.cl-chip-filter .th-filter.on{color:var(--accent-strong)}.cl-chip-filter:has(.th-filter.on){background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.cl-chip-filter:has(.th-filter[aria-expanded=true]){border-color:var(--accent);box-shadow:0 0 0 .1875rem var(--accent-soft)}.cl-chip-filter .th-filter-n{top:.1875rem;right:.1875rem}.cl-check{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:2.5rem;min-height:2.5rem;font-size:.85rem;font-weight:600;cursor:pointer}.cl-check-row{flex:none;margin-left:-.5rem}.dcard{display:flex;flex-direction:column;gap:.625rem;padding:.875rem 1rem;border-bottom:1px solid var(--line-soft)}.dcard:last-child{border-bottom:0}.dcard.click{cursor:pointer}.dcard.click:hover,.dcard.click:active{background:var(--surface-2)}.dcard.click:focus-visible{outline:.125rem solid var(--accent);outline-offset:-.125rem}.dcard.sel{background:var(--accent-soft)}.dcard-top{display:flex;align-items:center;gap:.5rem;min-width:0}.dcard-title{flex:1;min-width:0;min-height:2.5rem;display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .5rem;font-weight:700;font-size:.98rem;overflow-wrap:anywhere}.dcard-actions{display:flex;flex-wrap:wrap;gap:.5rem}.dcard-actions>div{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.dcard-fields{display:grid;gap:.375rem;margin:0}.dcard-field{display:flex;justify-content:space-between;align-items:baseline;gap:.875rem;min-width:0}.dcard-field dt{flex:none;max-width:45%;color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.dcard-field dd{margin:0;min-width:0;text-align:right;overflow-wrap:anywhere}.dcard-field.nolabel dd{width:100%;text-align:left}.cl-foot,.cl-foot tfoot{display:block;width:100%}.cl-foot{border-top:1px solid var(--line);font-size:.82rem}.cl-foot tr{display:flex;flex-wrap:wrap;gap:.25rem 1rem;padding:.625rem 1rem;background:var(--surface-2)}.cl-foot td{display:block;padding:0;border:0;background:none;font-weight:700}@media(max-width:767.98px){table.stack thead{display:none}table.stack,table.stack tbody,table.stack tfoot,table.stack tr,table.stack td{display:block;width:100%}table.stack tr{padding:.75rem 1rem;border-bottom:1px solid var(--line-soft)}table.stack tbody tr:last-child{border-bottom:0}table.stack td{display:flex;align-items:center;justify-content:space-between;gap:.875rem;border:0;padding:.25rem 0;text-align:right;background:none}table.stack td:before{content:attr(data-label);flex:none;max-width:42%;color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-align:left}table.stack td:not([data-label]):before{content:none}table.stack td:empty{display:none}table.stack td>input,table.stack td>select{flex:1 1 auto;min-width:0;width:auto}table.stack td:not([data-label]){justify-content:flex-end}table.stack tfoot tr{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem .75rem;background:var(--surface-2);border-top:1px solid var(--line);border-bottom:0}table.stack tfoot tr:last-child{border-radius:0 0 var(--r-lg) var(--r-lg)}table.stack tfoot td{display:block;width:auto;padding:0;border:0;text-align:left;font-weight:700}table.stack tfoot td.r{text-align:right}.lines input,.lines select{min-width:0;min-height:2.5rem}.pager-size select{min-height:2.5rem;min-width:3.5rem}}.filter-pop .fp-list+.fp-dates{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--line-soft)}.tabs.slider{position:relative}.tabs.slider:after{content:"";position:absolute;bottom:4px;height:3px;background:var(--accent);border-radius:2px;transition:left .3s cubic-bezier(.34,1.56,.64,1),width .3s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.tabs.slider button{position:relative}.tabs.slider button.on:after{content:"";position:absolute;bottom:4px;left:0;right:0;height:3px;background:var(--accent);border-radius:2px}:root{--row-density: compact}:root[data-density=comfortable]{--row-density: comfortable}.users-table tbody tr{height:var(--row-height, 54px)}:root[data-density=comfortable] .users-table tbody tr{--row-height: 76px}.stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:18px}.stat{padding:12px 14px;border-radius:12px;cursor:pointer;border:1px solid transparent;transition:all .15s ease-out}.stat:hover{border-color:var(--line)}.stat[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.stat .val{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.stat .lbl{font-size:.75rem;color:var(--muted);margin-top:3px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--accent-soft);color:var(--accent-strong);padding:4px 10px;border-radius:12px;font-size:.82rem;animation:chipPop .3s cubic-bezier(.22,1,.36,1)}.chip button{background:none;border:0;padding:0;color:inherit;cursor:pointer;font-weight:600}@keyframes chipPop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.users-table tbody tr{position:relative;transition:background-color .12s ease-out}.users-table tbody tr:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);border-radius:4px 0 0 4px;opacity:0;transform:scaleX(0);transform-origin:left;transition:opacity .15s ease-out,transform .25s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.users-table tbody tr:hover:before{opacity:1;transform:scaleX(1)}.users-table tbody tr.sel:before{opacity:1;transform:scaleX(1)}.users-table .row-check{transition:transform .12s ease-out}.users-table .row-check:checked{animation:checkDraw .4s ease-out}@keyframes checkDraw{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.users-table tbody tr:hover [data-avatar]{animation:avatarTilt .4s ease-out}@keyframes avatarTilt{0%{transform:rotateY(0)}50%{transform:rotateY(8deg)}to{transform:rotateY(0)}}.manage-btn{position:relative;padding-right:22px}.manage-btn:after{content:"→";position:absolute;right:6px;opacity:0;transform:translate(-4px);transition:opacity .15s ease-out,transform .2s cubic-bezier(.34,1.56,.64,1)}.users-table tbody tr:hover .manage-btn:after{opacity:1;transform:translate(0)}.bulk-bar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:12px 18px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px #0000001f;opacity:0;transform:translate(-50%) translateY(20px);transition:opacity .2s ease-out,transform .3s cubic-bezier(.22,1,.36,1);pointer-events:none;z-index:50}.bulk-bar.show{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.density-toggle{display:inline-flex;gap:2px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:2px;margin:0}.density-toggle legend{display:none}.density-toggle .toggle{display:flex;align-items:center;justify-content:center;padding:5px 12px;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:.82rem;font-weight:600;color:var(--muted);transition:all .15s ease-out}.density-toggle .toggle:hover{color:var(--fg)}.density-toggle .toggle.on{background:var(--surface);color:var(--accent-strong);border-color:var(--line)}.density-toggle input{margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(prefers-reduced-motion:reduce){.skeleton,.spinner,.chip,.users-table tbody tr:before,.users-table .row-check,[data-avatar],.manage-btn:after,.bulk-bar{animation:none;transition:none}.tabs.slider:after{transition:none}.stat,.density-toggle .toggle{transition:none}}.pr-search{position:relative;flex:1 1 17.5rem;min-width:12.5rem;max-width:26.25rem}.toolbar .pr-search input{width:100%}.pr-suggest{position:absolute;z-index:40;top:calc(100% + .25rem);left:0;right:0;margin:0;padding:.375rem;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:.75rem;box-shadow:0 .875rem 2.125rem #1e153629;max-height:20rem;overflow:auto}.pr-suggest-head{display:block;padding:.375rem .5rem .125rem;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.pr-suggest-opt{padding:.375rem .5rem;border-radius:.5rem;font-size:.85rem;cursor:pointer}.pr-suggest-opt.on{background:var(--accent-soft);color:var(--accent-strong)}.pr-date{display:inline-flex;align-items:center;gap:.375rem;font-size:.78rem;font-weight:600;color:var(--muted)}.toolbar .pr-date input{width:auto}.pr-chip{display:inline-flex;align-items:center;gap:.375rem;border:0;border-radius:62.4375rem;padding:.3125rem .5rem .3125rem .75rem;background:var(--accent-soft);color:var(--accent-strong);font-size:.76rem;font-weight:700;cursor:pointer}.pr-chip svg{width:.8125rem;height:.8125rem;opacity:.75}.pr-clear{border:0;background:none;color:var(--muted);font-size:.78rem;font-weight:600;text-decoration:underline;text-underline-offset:.1875rem;cursor:pointer;padding:.25rem .375rem}.pr-clear:hover{color:var(--accent-strong)}.df-wrap{position:relative;display:inline-flex}.df-native{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}.df-date .df-chip{width:auto;display:flex;align-items:center;gap:.5rem;padding:0 .5rem 0 .75rem;font:inherit;font-size:.84rem;color:var(--fg)}.df-chip svg{width:1rem;height:1rem;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;transition:transform .25s}.df-chip:hover svg{transform:translateY(-1px) rotate(-6deg)}.df-date .df-chip[aria-expanded=true]{background:var(--accent-soft);color:var(--accent-strong)}.pc{position:absolute;z-index:60;top:calc(100% + .5rem);right:0;width:19rem;padding:.875rem;border-radius:1.125rem;background:var(--surface);border:1px solid var(--line);box-shadow:0 18px 48px #4c1d9538,0 2px 8px #0f172a14;transform-origin:top right;animation:pc-in .24s cubic-bezier(.2,.9,.3,1.2)}@keyframes pc-in{0%{opacity:0;transform:translateY(-6px) scale(.94)}to{opacity:1;transform:none}}.pc-head{display:flex;align-items:center;justify-content:space-between;gap:.25rem;margin-bottom:.625rem}.pc svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pc-nav{width:2rem;height:2rem;border:0;border-radius:.625rem;background:var(--surface-2);color:var(--muted);display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s,transform .15s}.pc-nav:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-strong)}.pc-nav:active:not(:disabled){transform:scale(.88)}.pc-nav:disabled{opacity:.35;cursor:not-allowed}.pc-title{display:inline-flex;align-items:center;gap:.25rem;border:0;background:none;color:var(--fg);font:inherit;font-weight:700;font-size:.95rem;padding:.25rem .625rem;border-radius:.625rem;cursor:pointer;transition:background .2s}.pc-title:hover{background:var(--accent-soft)}.pc-title span{display:inline-block;animation:pc-fade .25s}.pc-title svg{width:.875rem;height:.875rem;color:var(--accent);transition:transform .25s}.pc-title svg.up{transform:rotate(180deg)}@keyframes pc-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.pc-week,.pc-days{display:grid;grid-template-columns:repeat(7,1fr);row-gap:.125rem}.pc-week span{text-align:center;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:.25rem 0}.pc-body{animation:pc-slide-next .26s cubic-bezier(.2,.8,.2,1)}.pc-body.prev{animation-name:pc-slide-prev}@keyframes pc-slide-next{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@keyframes pc-slide-prev{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:none}}.pc-day{position:relative;height:2.25rem;border:0;background:none;color:var(--fg);font:inherit;font-size:.86rem;font-weight:500;cursor:pointer;border-radius:.75rem;transition:background .15s,color .15s,transform .15s;animation:pc-pop .3s both;animation-delay:calc(var(--n) * 6ms)}@keyframes pc-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}.pc-day:hover:not(:disabled):not(.on){background:var(--accent-soft);color:var(--accent-strong);transform:scale(1.1)}.pc-day:active:not(:disabled){transform:scale(.92)}.pc-day:disabled{color:var(--muted);opacity:.4;cursor:not-allowed}.pc-day.sun:not(.on){color:var(--bad)}.pc-day.today:not(.on){box-shadow:inset 0 0 0 1.5px var(--accent);font-weight:700}.pc-day.band{background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:0}.pc-day.band-start{border-radius:.75rem 0 0 .75rem}.pc-day.band-end{border-radius:0 .75rem .75rem 0}.pc-day.band-start.band-end{border-radius:.75rem}.pc-day.on{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff;font-weight:700;border-radius:.75rem;box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 45%,transparent);animation:pc-pop .3s both,pc-pulse .5s .1s}@keyframes pc-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 50%,transparent)}to{box-shadow:0 0 0 10px transparent}}.pc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.375rem;padding:.25rem 0}.pc-cell{height:2.75rem;border:0;border-radius:.75rem;background:var(--surface-2);color:var(--fg);font:inherit;font-weight:600;font-size:.88rem;cursor:pointer;transition:background .15s,color .15s,transform .15s;animation:pc-pop .3s both;animation-delay:calc(var(--n) * 14ms)}.pc-cell:hover:not(:disabled):not(.on){background:var(--accent-soft);color:var(--accent-strong);transform:translateY(-2px)}.pc-cell.on{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff}.pc-cell:disabled{opacity:.35;cursor:not-allowed}.pc-foot{display:flex;align-items:center;justify-content:space-between;margin-top:.625rem;padding-top:.625rem;border-top:1px solid var(--line)}.pc-hint{font-size:.74rem;color:var(--muted)}.pc-today{border:0;background:var(--accent-soft);color:var(--accent-strong);font:inherit;font-weight:700;font-size:.8rem;padding:.375rem .875rem;border-radius:999px;cursor:pointer;transition:transform .15s,background .2s}.pc-today:hover{background:color-mix(in srgb,var(--accent) 22%,transparent)}.pc-today:active{transform:scale(.94)}.pc button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media(max-width:767.98px){.df-wrap{flex:1 1 100%}.df-wrap .df-date{flex:1}.df-date .df-chip{flex:1;justify-content:center}.pc{left:0;right:0;width:auto;transform-origin:top center}}@media(prefers-reduced-motion:reduce){.pc,.pc-body,.pc-day,.pc-cell,.pc-title span{animation:none!important}.pc-nav,.pc-day,.pc-cell,.pc-today,.pc-title svg,.df-chip svg{transition:none}}.pc-day.out:not(.on):not(.band){color:var(--muted);opacity:.55}.dash-filter{display:flex;align-items:center;gap:.5rem;min-width:0}.dash-filter.in-top{display:none;flex:none}@media(min-width:1200px){.dash-filter.in-top{display:flex}.dash-filter.in-page{display:none}}.df-seg{display:inline-flex;gap:.125rem;padding:.1875rem;background:var(--surface-2);border-radius:.75rem}.df-seg button{border:0;background:none;color:var(--muted);font-weight:600;font-size:.82rem;padding:0 .6875rem;min-height:2rem;border-radius:.5625rem;cursor:pointer;transition:background .2s,color .2s}.df-seg button:hover{color:var(--accent-strong)}.df-seg button[aria-pressed=true]{background:var(--surface);color:var(--accent-strong);box-shadow:0 1px 3px #4c1d951f}.df-date{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--surface);border-radius:.75rem;overflow:hidden}.df-date button{border:0;background:none;width:2rem;min-height:2.25rem;display:grid;place-items:center;color:var(--muted);cursor:pointer}.df-date button:hover:not(:disabled){color:var(--accent-strong);background:var(--accent-soft)}.df-date button:disabled{opacity:.35;cursor:not-allowed}.df-date button svg{width:1rem;height:1rem}.df-date input{border:0;background:transparent;color:var(--fg);font:inherit;font-size:.84rem;min-height:2.25rem;padding:0 .25rem;min-width:0}.df-seg button:focus-visible,.df-date button:focus-visible,.df-date input:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.dash-head .dash-filter.in-page{flex:none}.dash-snap{flex-wrap:wrap}.dash-range{color:var(--muted)}.dash-range b{color:var(--fg);font-weight:600}.dash-body{transition:opacity .15s}.dash-body.is-updating{opacity:.55;pointer-events:none}@media(max-width:767.98px){.dash-head .dash-filter.in-page{flex:1 1 100%;flex-wrap:wrap}.df-seg{flex:1 1 100%}.df-seg button{flex:1;min-height:2.5rem}.df-date{flex:1 1 100%;justify-content:space-between}.df-date button{width:2.75rem;min-height:2.75rem}.df-date input{flex:1;min-height:2.75rem;font-size:1rem;text-align:center}}@media(prefers-reduced-motion:reduce){.df-seg button,.dash-body{transition:none}}.df-date .df-chip{width:auto;white-space:nowrap;padding:0 .5rem;gap:.5rem;font-size:.84rem;color:var(--fg)}.df-seg button.df-custom{display:inline-flex;align-items:center;gap:.3125rem}.df-seg button.df-custom svg{width:.8125rem;height:.8125rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pc.cr{display:flex;flex-direction:column;gap:.625rem;width:19rem}.cr-title{font-weight:700;font-size:.9rem}.cr-fields{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.cr-fields label{display:flex;flex-direction:column;gap:.25rem;min-width:0;font-size:.74rem;font-weight:600;color:var(--muted)}.cr-fields input{width:100%;min-width:0;min-height:2.25rem;padding:0 .5rem;border:1px solid var(--line);border-radius:.625rem;background:var(--surface);color:var(--fg);font:inherit;font-size:.84rem;transition:border-color .2s,box-shadow .2s}.cr-fields input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 .1875rem color-mix(in srgb,var(--accent) 18%,transparent)}.cr-fields input[aria-invalid=true]{border-color:var(--bad)}.cr-note{margin:0;min-height:1.1rem;font-size:.76rem;color:var(--muted)}.cr-note.bad{color:var(--bad);font-weight:600}.cr-foot{display:flex;justify-content:flex-end;gap:.5rem}.cr-foot button{min-height:2.125rem;padding:0 .875rem;border-radius:.625rem;border:1px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;font-size:.84rem;font-weight:600;cursor:pointer;transition:transform .15s,filter .2s,opacity .2s}.cr-foot button:active:not(:disabled){transform:scale(.96)}.cr-foot .cr-apply{background:var(--accent);border-color:var(--accent);color:#fff}.cr-foot .cr-apply:hover:not(:disabled){filter:brightness(1.1)}.cr-foot .cr-apply:disabled{opacity:.45;cursor:not-allowed}.cr-foot button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:767.98px){.pc.cr{width:auto}}
