@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-ext-600-normal-BEFdM_VE.woff2) format("woff2"),url(/assets/cinzel-latin-ext-600-normal-BY9Mq9iK.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-600-normal-Dd5YO2UX.woff2) format("woff2"),url(/assets/cinzel-latin-600-normal-CH_LB4su.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-ext-700-normal-C24KFjuG.woff2) format("woff2"),url(/assets/cinzel-latin-ext-700-normal-CORa-yIv.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-700-normal-Dkw14w9r.woff2) format("woff2"),url(/assets/cinzel-latin-700-normal-C-gK7hA8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand: #0c4a2e;--brand-rgb: 12 74 46;--brand-strong: #093521;--brand-strong-rgb: 9 53 33;--brand-deep: #052115;--brand-deep-rgb: 5 33 21;--on-brand: #ffffff;--brand-text: #0c4a2e;--brand-soft: #ebf1ee;--brand-soft-2: #d9e5df;--accent: #c9a45c;--accent-rgb: 201 164 92;--on-accent: #111111;--accent-text: #7c5d1d;--accent-soft: #f7f0e2;--bg: #e9eeeb;--surface: #ffffff;--surface-rgb: 255 255 255;--surface-2: #f6f8f7;--surface-3: #edf1ef;--border: #e2e8e5;--border-strong: #c3cdc8;--text: #111a16;--text-2: #56645d;--text-3: #7c8983;--label: #2f3b36;--success: #15803d;--success-soft: #e5f5ea;--success-text: #14532d;--warn: #b45309;--warn-soft: #fdf3dc;--warn-text: #7a4a06;--warn-border: #f0d9a8;--danger: #b42318;--danger-soft: #fdecea;--danger-text: #8f1d14;--danger-border: #f1c0ba;--info: #2563eb;--info-soft: #e7effd;--info-text: #1e3a8a;--violet-soft: #efe8f8;--violet-text: #4b2c6e;--pink-soft: #f6dcec;--on-brand-muted: color-mix(in srgb, var(--on-brand) 78%, transparent);--focus: #2563eb;--board: var(--brand);--board-deep: var(--brand-strong);--desk: var(--surface-2);--paper: var(--surface);--ink: var(--text);--slate: var(--text-2);--rule: var(--border);--margin: var(--accent);--marker: var(--accent);--gold: var(--accent);--ok: var(--success);--muted: var(--text-2);--charcoal: #16191d;--font: "Atkinson Hyperlegible Next Variable", "Atkinson Hyperlegible", system-ui, sans-serif;--display: "Cinzel", Georgia, serif;--step--1: .84rem;--step-0: 1rem;--step-1: 1.19rem;--step-2: 1.6rem;--step-3: 2.4rem;--r-sm: 8px;--r: 12px;--r-lg: 16px;--r-xl: 22px;--shadow-1: 0 1px 2px rgb(16 24 20 / .05), 0 1px 3px rgb(16 24 20 / .07);--shadow-2: 0 8px 20px -6px rgb(16 24 20 / .12), 0 2px 6px -2px rgb(16 24 20 / .06);--shadow-3: 0 30px 60px -20px rgb(16 24 20 / .35), 0 10px 24px -12px rgb(16 24 20 / .18);--ease: cubic-bezier(.2, .8, .2, 1);--fast: .14s;--med: .26s;--glass: rgb(var(--surface-rgb) / .78);--sheet: rgb(var(--surface-rgb) / .96);color-scheme:light}:root[data-theme=dark]{--bg: #090d0c;--surface: #141a18;--surface-rgb: 20 26 24;--surface-2: #1a2220;--surface-3: #222b28;--border: #29332f;--border-strong: #3b4743;--text: #e7eeeb;--text-2: #a2afa9;--text-3: #7d8a84;--label: #c8d2cd;--success: #3cc97a;--success-soft: #142c1e;--success-text: #93e3b5;--warn: #f0a530;--warn-soft: #31260e;--warn-text: #f5cf8a;--warn-border: #5a4415;--danger: #f2685c;--danger-soft: #371a17;--danger-text: #ffaaa1;--danger-border: #6b2a24;--info: #6aa1ff;--info-soft: #16233c;--info-text: #a9c7ff;--violet-soft: #281f3d;--violet-text: #cdb6f2;--pink-soft: #381f31;--focus: #6aa1ff;--shadow-1: 0 1px 2px rgb(0 0 0 / .45);--shadow-2: 0 8px 20px -6px rgb(0 0 0 / .55);--shadow-3: 0 30px 60px -20px rgb(0 0 0 / .8);--glass: rgb(var(--surface-rgb) / .74);--sheet: rgb(var(--surface-rgb) / .95);color-scheme:dark}*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--desk);line-height:1.45;-webkit-font-smoothing:antialiased}h1{font-size:var(--step-2);font-weight:700;margin:0;letter-spacing:-.01em;line-height:1.15}h2{font-size:var(--step-1);font-weight:650;margin:1.75rem 0 .75rem}h3{font-size:var(--step--1);font-weight:600;color:var(--slate);margin:1.1rem 0 .4rem}p{margin:0 0 .75rem;max-width:70ch}a{color:var(--board)}code,pre{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.9em}pre{background:var(--surface);border:1px solid var(--rule);padding:.75rem;overflow-x:auto;-webkit-user-select:all;user-select:all;margin:.5rem 0 0}.muted,.sub{color:var(--slate)}.sub{margin:.3rem 0 0}.small{font-size:var(--step--1)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.shell{display:grid;grid-template-columns:15.5rem 1fr;min-height:100vh}.side{background:var(--board);color:var(--on-brand-muted);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:.75rem;align-items:center;padding:1.25rem 1.1rem 1.4rem}.brand strong{display:block;font-size:1.05rem;line-height:1.2}.brand span{font-size:var(--step--1);opacity:.75}.mark{width:2.1rem;height:2.1rem;flex:none;border-radius:6px;background:url(/icon.svg) center / cover no-repeat}.mark.big{display:block;width:3.2rem;height:3.2rem;margin-bottom:1rem}.side nav{display:flex;flex-direction:column;padding:0 .6rem;gap:2px;flex:1;overflow-y:auto}.side nav a{color:inherit;text-decoration:none;padding:.6rem .75rem;border-radius:5px;border-left:3px solid transparent}.side nav a:hover{background:#ffffff14}.side nav a.active{background:var(--board-deep);border-left-color:var(--marker);font-weight:650;color:var(--on-brand)}.who{padding:.9rem 1.1rem 1.1rem;border-top:1px solid rgba(255,255,255,.16);font-size:var(--step--1)}.who a{color:inherit;text-decoration:none;display:block;margin-bottom:.4rem}.who strong{display:block;font-size:var(--step-0)}.who span{opacity:.75}.link{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}.main{min-width:0;display:flex;flex-direction:column}.top{display:flex;gap:.75rem;align-items:center;padding:.7rem 1.5rem;background:var(--paper);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:5}.menu-btn{display:none}.content{padding:1.75rem 1.5rem 4rem 2.25rem;margin-left:1.5rem;border-left:2px solid var(--margin);flex:1;max-width:78rem}.bare{max-width:34rem;margin:3rem auto;padding:0 1.25rem}.search{position:relative;flex:1;max-width:34rem}.search input{width:100%}.results{position:absolute;top:calc(100% + 4px);left:0;right:0;margin:0;padding:.25rem;list-style:none;background:var(--paper);border:1px solid var(--slate);border-radius:6px;box-shadow:0 10px 24px #17211d29;max-height:24rem;overflow-y:auto;z-index:10}.results li{display:flex;justify-content:space-between;gap:1rem;padding:.5rem .65rem;border-radius:4px;cursor:pointer}.results li span{color:var(--slate);font-size:var(--step--1);text-align:right}.results li.on{background:var(--board);color:var(--on-brand)}.results li.none{color:var(--slate);cursor:default}.sync{margin-left:auto;display:inline-flex;align-items:center;gap:.5rem;font:inherit;font-size:var(--step--1);font-weight:600;padding:.4rem .75rem;border-radius:999px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);cursor:pointer;white-space:nowrap}.sync .dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--ok)}.sync.busy .dot{background:var(--focus)}.sync.off{background:var(--warn-soft);border-color:var(--marker)}.sync.off .dot{background:var(--warn)}.sync.bad{background:var(--danger-soft);border-color:var(--danger)}.sync.bad .dot{background:var(--danger)}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.actions,.form-actions,.row-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.form-actions{margin-top:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;font:inherit;font-weight:600;padding:.55rem .95rem;border-radius:5px;border:1px solid var(--border-strong);background:var(--paper);color:var(--ink);cursor:pointer;text-decoration:none;min-height:2.5rem}.btn:hover{border-color:var(--board)}.btn.primary{background:var(--board);border-color:var(--board);color:var(--on-brand)}.btn.primary:hover{background:var(--board-deep)}.btn.quiet{border-color:transparent;background:none;text-decoration:underline;font-weight:500}.btn.danger{color:var(--danger)}.btn.small{padding:.25rem .6rem;min-height:2rem;font-size:var(--step--1)}.btn:disabled{opacity:.5;cursor:not-allowed}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--rule);margin-bottom:1.25rem;overflow-x:auto}.tab{font:inherit;background:none;border:0;border-bottom:3px solid transparent;padding:.55rem .9rem;cursor:pointer;color:var(--slate);white-space:nowrap}.tab.on{color:var(--ink);font-weight:650;border-bottom-color:var(--board)}.notice{padding:.7rem .9rem;border-left:4px solid var(--slate);background:var(--paper);margin:0 0 1rem;max-width:70rem}.notice.ok{border-color:var(--ok);background:var(--success-soft)}.notice.warn{border-color:var(--warn);background:var(--warn-soft)}.notice.error{border-color:var(--danger);background:var(--danger-soft)}.empty{padding:2.5rem 1rem;text-align:left;color:var(--slate);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.empty strong{display:block;color:var(--ink);font-size:var(--step-1);margin-bottom:.3rem}.tag{display:inline-block;font-size:var(--step--1);font-weight:600;padding:.1rem .55rem;border-radius:999px;background:var(--surface-3);color:var(--slate);white-space:nowrap}.tag.applicant,.tag.on_leave{background:var(--warn-soft);color:var(--warn-text)}.tag.withdrawn,.tag.suspended,.tag.terminated,.tag.resigned{background:var(--danger-soft);color:var(--danger-text)}input,select,textarea{font:inherit;color:inherit;background:var(--paper);border:1px solid var(--border-strong);border-radius:5px;padding:.5rem .6rem;min-height:2.5rem;width:100%}input[type=checkbox],input[type=radio]{width:1.15rem;height:1.15rem;min-height:0;accent-color:var(--board)}input:disabled,select:disabled,textarea:disabled{background:var(--surface-3);color:var(--label);border-color:var(--rule)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.9rem 1rem;margin-bottom:1rem}.field{display:flex;flex-direction:column;gap:.25rem;min-width:0;position:relative}.field.wide{grid-column:1 / -1}.field>label{font-size:var(--step--1);font-weight:600;color:var(--label)}.field .hint{font-size:var(--step--1);color:var(--slate)}.field .err,.field.bad label{color:var(--danger)}.field>label.required:after{content:" *";color:var(--danger)}.field .saved{font-size:var(--step--1);color:var(--ok);font-weight:600}.field.check{flex-direction:row;align-items:center;gap:.5rem}.checks{display:flex;gap:1.25rem;flex-wrap:wrap;align-items:center;margin-top:.25rem}.form fieldset{border:0;border-top:1px solid var(--rule);padding:1rem 0 .25rem;margin:0 0 .75rem}.form legend{font-size:var(--step-1);font-weight:650;padding:0 .6rem 0 0}.form.narrow{max-width:30rem}.form.narrow .field{margin-bottom:.8rem}.known{flex-direction:row;flex-wrap:wrap;gap:.5rem}.chosen{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.chosen>div:first-child strong{display:block;font-size:var(--step-1)}.chosen>div:first-child span{color:var(--slate)}.add-row{display:flex;gap:.6rem;align-items:flex-end;flex-wrap:wrap;margin:1rem 0}.add-row .field{flex:1 1 16rem}.card{border-top:1px solid var(--rule);padding:1rem 0}.block{border-top:1px solid var(--rule);padding:.25rem 0 1.25rem}.level{margin:0 0 1rem}.level-head{display:flex;gap:.6rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:.4rem}.level-head .field{flex:0 1 16rem}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:2rem}.steps{padding-left:1.2rem;margin:0 0 1.25rem}.steps li{margin-bottom:.75rem}.steps li>span{margin-left:.75rem;color:var(--slate)}.filters{display:grid;grid-template-columns:minmax(14rem,2fr) repeat(auto-fit,minmax(9rem,1fr));gap:.5rem;margin-bottom:.75rem}.register{background:var(--paper);border:1px solid var(--rule);overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;font-size:var(--step--1);font-weight:600;color:var(--label);padding:.55rem .75rem;border-bottom:2px solid var(--board);white-space:nowrap;background:var(--paper)}td{padding:.55rem .75rem;border-bottom:1px solid var(--rule);vertical-align:middle}.register tbody tr[tabindex]{cursor:pointer}.register tbody tr[tabindex]:hover,.register tbody tr[tabindex]:focus-visible{background:var(--brand-soft)}.name{white-space:nowrap}.num{font-variant-numeric:tabular-nums;white-space:nowrap}td em{color:var(--slate);font-style:normal}.row-bad td{background:var(--danger-soft)}.row-skip td{color:var(--slate)}.more{margin:.75rem}table.plain{margin-bottom:.75rem}table.plain td{padding:.35rem .5rem .35rem 0}table.plain th{padding-left:0;border-bottom-width:1px;border-bottom-color:var(--slate)}table .field>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}table .field .saved{position:absolute;right:.5rem;top:.7rem;background:var(--paper);padding-left:.3rem}.dash{display:grid;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:0 2.5rem}.panel{border-top:2px solid var(--board);padding:.9rem 0 1.5rem}.panel h2{margin:0;font-size:var(--step-0)}.panel h2 a{text-decoration:none}.figure{font-size:var(--step-3);font-weight:700;line-height:1.1;margin:.3rem 0 0;font-variant-numeric:tabular-nums}.figure span{font-size:var(--step-0);font-weight:500;color:var(--slate)}.split{color:var(--slate);margin:.2rem 0 0}.bar{display:grid;grid-template-columns:9.5rem 1fr 2.5rem;gap:.6rem;align-items:center;padding:.3rem 0;color:inherit;text-decoration:none;border-bottom:1px solid var(--rule)}a.bar:hover .bar-label{text-decoration:underline}.bar-track{height:.6rem;background:var(--surface-3)}.bar-fill{display:block;height:100%;background:var(--board)}.bar-value{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.attention{list-style:none;padding:0;margin:.6rem 0 0}.attention li{padding:.55rem 0 .55rem .8rem;border-left:4px solid var(--slate);margin-bottom:.5rem;background:var(--paper)}.attention li.amber{border-color:var(--warn)}.attention li.green{border-color:var(--ok)}.login{min-height:100vh;display:grid;place-items:center;padding:1.25rem;background:var(--board)}.login-card{background:var(--paper);padding:2rem;width:min(24rem,100%);border-left:3px solid var(--margin);display:flex;flex-direction:column;gap:.9rem}.login-card h1{font-size:var(--step-2)}.login-card .sub{margin:-.5rem 0 .25rem}@media(max-width:820px){.shell{grid-template-columns:1fr}.side{position:fixed;inset:0 auto 0 0;width:16rem;transform:translate(-100%);transition:transform .18s ease;z-index:20}.menu-open .side{transform:none;box-shadow:0 0 0 100vmax #0a1e1673}.menu-btn{display:inline-flex;font:inherit;font-weight:600;padding:.4rem .7rem;border:1px solid var(--border-strong);border-radius:5px;background:var(--paper)}.top{padding:.6rem .75rem;flex-wrap:wrap}.search{order:3;flex-basis:100%;max-width:none}.content{padding:1.1rem .75rem 4rem .9rem;margin-left:.6rem}.filters{grid-template-columns:1fr 1fr}.filters input[type=search]{grid-column:1 / -1}.bar{grid-template-columns:7.5rem 1fr 2.5rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.page-head .lead{margin-right:.25rem}.page-head .titles{flex:1;min-width:12rem}.photo{border-radius:6px;object-fit:cover;display:block;border:1px solid var(--rule);background:var(--paper)}.photo.blank{display:grid;place-items:center;background:var(--brand-soft);color:var(--board);font-weight:700}.side nav a .count{float:right;background:var(--marker);color:var(--on-accent);border-radius:999px;padding:0 .5rem;font-size:var(--step--1);font-weight:700}.policy{border-top:1px solid var(--rule);padding:.8rem 0}.policy p{margin:.2rem 0 0 1.7rem}.consent{align-items:flex-start;margin:1rem 0;max-width:46rem}.consent input{margin-top:.2rem;flex:none}.bare.wide{max-width:52rem}.crud .add{margin-top:.6rem}.crud{margin-bottom:1.25rem}input.right{text-align:right;font-variant-numeric:tabular-nums}td.num,th.num{text-align:right}tfoot td{font-weight:700;border-top:2px solid var(--board);border-bottom:0}.register .field input,.register .field select{min-width:5.5rem}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:0 1.5rem;margin-bottom:1.25rem}.kpi{border-top:2px solid var(--board);padding:.6rem 0 .9rem}.kpi span{display:block;color:var(--slate);font-size:var(--step--1)}.kpi strong{font-size:var(--step-2);font-variant-numeric:tabular-nums;line-height:1.2}.kpi.bad strong{color:var(--danger)}.side nav .group{display:flex;flex-direction:column;gap:2px;margin-bottom:.7rem}.side nav .group-title{font-size:var(--step--1);opacity:.65;padding:.2rem .75rem .15rem}.side nav a{padding:.45rem .75rem}.roll{list-style:none;margin:0;padding:0;background:var(--paper);border:1px solid var(--rule)}.roll li{display:flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--rule);padding:0 .5rem 0 0}.roll .n{width:2.4rem;text-align:right;color:var(--slate);font-variant-numeric:tabular-nums}.roll .who{flex:1;display:flex;justify-content:space-between;gap:1rem;align-items:center;font:inherit;text-align:left;background:none;border:0;padding:.75rem .5rem;cursor:pointer;min-height:3rem;color:inherit}.roll .who span{color:var(--ok);font-weight:600;font-size:var(--step--1)}.roll li.mark-A{background:var(--danger-soft)}.roll li.mark-A .who span{color:var(--danger)}.roll li.mark-L{background:var(--warn-soft)}.roll li.mark-L .who span{color:var(--warn-text)}.roll li.mark-E{background:var(--surface-3)}.roll li.mark-E .who span{color:var(--slate)}.chips{display:flex;gap:.3rem}.chip{font:inherit;font-size:var(--step--1);padding:.3rem .6rem;border-radius:999px;border:1px solid var(--border-strong);background:var(--paper);cursor:pointer}.chip.on{background:var(--board);border-color:var(--board);color:var(--on-brand)}.scan-video{width:min(22rem,100%);border:2px solid var(--board);margin-bottom:1rem}table.marks td{padding:.2rem .4rem}table.marks td.name{padding-left:.75rem}.cell{width:4.2rem;min-height:2.2rem;text-align:right;font-variant-numeric:tabular-nums;padding:.3rem .45rem;border-color:var(--rule);border-radius:3px}.cell:focus{border-color:var(--board)}.cell.bad{border-color:var(--danger);background:var(--danger-soft)}th .max{color:var(--slate);font-weight:400}td.low{color:var(--danger);font-weight:600}.bank{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;margin-top:.25rem;color:var(--slate)}.add-row.quick{margin:.5rem 0 .25rem}.add-row.quick .field{flex:1 1 9rem}.add-row.quick .field.narrow{flex:0 1 5.5rem}table.tt td{vertical-align:top;min-width:8.5rem}table.tt select{min-height:2.1rem;padding:.25rem .4rem}td.clash{background:var(--danger-soft);box-shadow:inset 3px 0 0 var(--danger)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(21rem,1fr));gap:.75rem}.id-card{background:var(--paper);border:1px solid var(--border-strong);border-radius:8px;overflow:hidden;break-inside:avoid}.id-card header{background:var(--board);color:var(--on-brand);font-weight:700;padding:.4rem .75rem;border-bottom:3px solid var(--margin)}.id-card .body{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;padding:.75rem}.id-card .body div{display:flex;flex-direction:column;min-width:0}.id-card .body span{color:var(--slate);font-size:var(--step--1)}.print-only{display:none}@media print{@page{size:A4;margin:12mm}body{background:var(--surface)}.side,.top,.no-print,.tabs,.page-head,.notice{display:none!important}.shell{display:block}.content{border:0;margin:0;padding:0;max-width:none}.print-only{display:block}.sheet>.register.no-print{display:none!important}.report-card{break-after:page;font-size:10.5pt;color:#000}.report-card:last-child{break-after:auto}.cards{grid-template-columns:repeat(2,1fr)}}.report-card header{display:flex;justify-content:space-between;gap:1rem;border-bottom:2px solid #000;padding-bottom:.5rem;margin-bottom:.6rem}.report-card h1{font-size:18pt}.report-card h2{font-size:12pt;margin:.4rem 0 0}.report-card p{margin:.1rem 0;max-width:none}.report-card .motto{font-style:italic}.report-card .facts{display:grid;grid-template-columns:repeat(2,1fr);gap:.1rem 1.5rem;margin:0 0 .6rem}.report-card .facts div{display:flex;justify-content:space-between;border-bottom:1px dotted #999}.report-card dt{color:#333}.report-card dd{margin:0;font-weight:700}.report-card table{margin-bottom:.5rem}.report-card th,.report-card td{border:1px solid #000;padding:.2rem .4rem;background:#fff;white-space:normal}.report-card .remarks p{border-bottom:1px dotted #999;padding:.35rem 0}.report-card footer{display:flex;justify-content:space-between;margin-top:2.2rem}.report-card footer span{border-top:1px solid #000;padding-top:.2rem;width:42%;text-align:center}.parts{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))}.part{display:flex;flex-direction:column;gap:.4rem}.picker{position:relative}.grid.pay{align-items:start}.bar-fill.warn{background:var(--warn)}.bar-value.wide{grid-column:3;white-space:nowrap}.bar:has(.bar-value.wide){grid-template-columns:6rem 1fr auto}table.statement th{border:0;padding-top:.8rem;font-size:var(--step-0)}table.statement tr.sum td{border-top:1px solid var(--slate);font-weight:650}table.statement tr.grand td{border-top:2px solid var(--board);border-bottom:2px solid var(--board);font-size:var(--step-1)}.receipt{font-size:11pt;color:#000;max-width:150mm}.receipt header{border-bottom:2px solid #000;margin-bottom:.6rem;padding-bottom:.4rem}.receipt h1{font-size:16pt}.receipt h2{font-size:12pt;margin:.3rem 0 0}.receipt .facts div{display:flex;justify-content:space-between;border-bottom:1px dotted #999;padding:.2rem 0}.receipt dd{margin:0;font-weight:700}.receipt footer{display:flex;justify-content:space-between;margin-top:2.5rem}.receipt footer span{border-top:1px solid #000;padding-top:.2rem}details.block summary{cursor:pointer;font-weight:600;padding:.5rem 0}.payslip{background:var(--paper);border:1px solid var(--rule);padding:1.25rem;margin-bottom:1rem}@media print{.payslip{border:0;padding:0;break-after:page}}.pre{white-space:pre-wrap}td.wrap{white-space:normal;min-width:16rem;max-width:32rem}.notice-line{border-top:1px solid var(--rule);padding:.5rem 0 .1rem}.notice-line p{margin:.15rem 0 .4rem;color:var(--slate)}.portal{min-height:100vh;background:var(--desk)}.portal-top{background:var(--board);color:var(--on-brand);display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1.25rem}.portal-top strong{display:block;font-size:var(--step-1)}.portal-top span{font-size:var(--step--1);opacity:.85}.portal-who{text-align:right;display:flex;flex-direction:column;align-items:flex-end}.portal-who .link{color:inherit}.portal-body{max-width:60rem;margin:0 auto;padding:1.25rem;border-left:2px solid var(--margin);background:var(--paper);min-height:calc(100vh - 4rem)}.portal-body h1{margin-top:.25rem}.portal-body .tabs{margin-top:1rem}.children{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.children button{font:inherit;text-align:left;background:var(--paper);border:1px solid var(--rule);border-radius:6px;padding:.5rem .9rem;cursor:pointer;min-height:44px}.children button.on{border-color:var(--board);box-shadow:inset 0 -3px 0 var(--board)}.children button span{display:block;font-size:var(--step--1);color:var(--slate)}.notice-card{border-top:2px solid var(--board);padding:.6rem 0 .4rem}.notice-card h2{margin:0}.howto{border-left:4px solid var(--marker);padding:.1rem 1rem .5rem;background:var(--warn-soft);margin-bottom:1rem}.howto h2{margin-top:.75rem}.bank{font-weight:650}.result-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.report-card.on-screen .facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.15rem 1.5rem;margin:0 0 .9rem}.report-card.on-screen .facts div{display:flex;justify-content:space-between;border-bottom:1px dotted var(--rule);padding:.15rem 0}.report-card.on-screen dd{margin:0;font-weight:700}@media print{.portal-body{border:0;padding:0;max-width:none}.portal{background:var(--surface)}.report-card.on-screen .register{overflow:visible}}@media(max-width:820px){.portal-body{padding:1rem .85rem;border-left-width:2px}}.report-card.on-screen header.print-only{display:none}.portal .register td,.portal .register th{white-space:normal}@media print{.report-card.on-screen header.print-only{display:flex}}@media screen and (max-width:640px){.portal .opt{display:none}.portal .register td,.portal .register th{padding-left:.45rem;padding-right:.45rem}}fieldset.optins{border:1px solid var(--rule);border-radius:8px;padding:.6rem .9rem;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}fieldset.optins legend{font-weight:600;padding:0 .3rem}fieldset.optins label.check{display:inline-flex;gap:.4rem;align-items:center}fieldset.optins p{flex-basis:100%;margin:0}ul.chips{list-style:none;padding:0;flex-wrap:wrap}ul.chips li{background:var(--desk);border-radius:999px;padding:.2rem .7rem}.dropzone{border:2px dashed var(--rule);border-radius:12px;padding:1.5rem;text-align:center;background:var(--desk);margin-bottom:1rem}.dropzone.over{border-color:var(--board);background:var(--paper)}.import-file{border-top:1px solid var(--rule);margin-top:1rem;padding-top:.5rem}.import-sheet{margin:.6rem 0 .9rem}.import-sheet h3{margin:0 0 .3rem;font-size:1rem}.import-sheet p{margin:.2rem 0}ul.problems{max-height:16rem;overflow:auto;margin:.3rem 0;padding-left:1.2rem;font-size:.9rem}.field.inline{flex-direction:row;align-items:center;gap:.5rem}.login-card .maker{font-size:.75rem;color:var(--slate);margin:.5rem 0 0}.register td .parts-list{white-space:normal;min-width:12rem;max-width:18rem;text-align:left}.chip-x{margin-left:.4rem}.register.fee-grid .field input{min-width:7.5rem}.lesson-list .notice-card{padding:0}.lesson-head{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;text-align:left;background:none;border:0;padding:.6rem 0;font:inherit;color:inherit;cursor:pointer}.lesson-head strong{font-size:var(--step-1)}.lesson-body{padding:0 0 .8rem}.hw-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.hw-head h2{margin:.1rem 0 .4rem}.hw-answer{display:grid;gap:.4rem;max-width:46rem;margin:.4rem 0 .8rem}.hw-answer textarea,.question-editor textarea,.test-editor textarea{width:100%;font:inherit;padding:.5rem;border:1px solid var(--rule);border-radius:4px}.hw-answer .btn{justify-self:start}.test-sitting{max-width:46rem}.test-bar{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.7rem .9rem;background:var(--board);color:var(--on-brand);border-radius:6px;margin-bottom:1rem}.test-bar .muted{color:var(--on-brand-muted)}.clock{font-variant-numeric:tabular-nums;font-size:var(--step-1);font-weight:700;background:#ffffff1f;padding:.1rem .6rem;border-radius:4px;margin-left:auto}.clock.low{background:var(--danger)}.test-q{background:var(--paper);border:1px solid var(--rule);border-radius:6px;padding:1rem 1.1rem}.q-text{font-size:var(--step-1);margin-bottom:1rem}.test-q input[type=text],.test-q input:not([type]){width:100%;font:inherit;padding:.55rem;border:1px solid var(--rule);border-radius:4px}.q-options{display:grid;gap:.5rem}.q-option{display:flex;align-items:center;gap:.7rem;padding:.65rem .8rem;border:1px solid var(--rule);border-radius:6px;cursor:pointer;background:var(--paper);min-height:44px}.q-option:hover{border-color:var(--board)}.q-option.on{border-color:var(--board);background:var(--brand-soft)}.q-option input{margin:0;padding:0;flex:none}.q-letter{display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--desk);font-weight:700;flex:none}.q-option.on .q-letter{background:var(--board);color:var(--on-brand)}.test-nav{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.q-dots{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:center;flex:1}.q-dots button{width:2.1rem;height:2.1rem;border-radius:4px;border:1px solid var(--rule);background:var(--paper);font:inherit;font-size:var(--step--1);cursor:pointer}.q-dots button.done{background:var(--brand-soft);border-color:var(--ok)}.q-dots button.here{outline:2px solid var(--board);outline-offset:1px;font-weight:700}.test-done{text-align:center;padding:2.5rem 1rem;max-width:30rem;margin:0 auto;background:var(--paper);border:1px solid var(--rule);border-radius:8px}.test-done h2{margin-top:0}.big-score{font-size:var(--step-3);font-weight:700;color:var(--board);margin:.5rem auto 1rem}.question-editor,.test-editor{background:var(--paper);border:1px solid var(--rule);border-radius:6px;padding:1rem 1.1rem;margin:.75rem 0 1.25rem;max-width:52rem}.options-edit{display:grid;gap:.4rem;margin:.5rem 0}.option-row{display:flex;align-items:center;gap:.5rem}.option-row input[type=text],.option-row input:not([type]){flex:1;font:inherit;padding:.4rem .5rem;border:1px solid var(--rule);border-radius:4px}.arms-pick,.q-pick{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin:.4rem 0 .8rem}.q-pick{display:grid;gap:.3rem;max-height:22rem;overflow-y:auto;border:1px solid var(--rule);border-radius:4px;padding:.5rem}.arms-pick label,.q-pick label{display:flex;gap:.4rem;align-items:flex-start}.mark-in{width:4.5rem;font:inherit;padding:.3rem .4rem;border:1px solid var(--rule);border-radius:4px}.answer-cell{max-width:28rem;white-space:pre-wrap}.test-results .kpis{margin-bottom:1rem}@media(max-width:600px){.test-nav .q-dots{order:3;flex-basis:100%}.clock{margin-left:0}}.test-questions{margin:.4rem 0 .8rem}.address-input{display:flex;align-items:center;gap:.3rem}.address-input input{flex:1;min-width:0}.address-input span{color:var(--slate);white-space:nowrap}ul.lessons{list-style:none;padding:0;margin:.5rem 0;display:grid;gap:.6rem}li.lesson{border:1px solid var(--rule, #ddd);border-radius:8px;padding:.7rem .9rem;background:var(--paper, #fff)}li.lesson.l-taught{box-shadow:inset 4px 0 0 var(--success)}li.lesson.l-not_taught,li.lesson.l-missed{box-shadow:inset 4px 0 0 var(--danger)}.lesson-head{display:flex;flex-wrap:wrap;gap:.6rem;align-items:baseline;margin-bottom:.3rem}table.board td{min-width:7.5rem;vertical-align:top}.cell-taught{background:var(--success-soft)}.cell-now{background:var(--warn-soft)}.cell-missed{background:var(--danger-soft)}.cell-not{background:var(--pink-soft)}.cell-later{background:var(--surface-2);color:var(--text-2)}p.legend span{display:inline-block;padding:.15rem .5rem;border-radius:4px;margin:0 .3rem .3rem 0;font-size:.85rem}details.rules{margin:.5rem 0 1rem}details.rules summary{cursor:pointer;font-weight:600;padding:.4rem 0}.tag.late{background:var(--warn-soft);color:var(--warn-text);margin-left:.4rem}.panel.today{grid-column:1 / -1}.today-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem}.today-grid .tile{display:flex;flex-direction:column;gap:.15rem;padding:.8rem .9rem;border:1px solid var(--rule, #ddd);border-radius:8px;text-decoration:none;color:inherit}.today-grid .tile strong{font-size:1.5rem;line-height:1.1}.today-grid .tile span{color:var(--muted, #666);font-size:.9rem}.today-grid .tile em{font-style:normal;font-size:.85rem}.today-grid .tile em.warn{color:var(--danger-text)}.attention li.red{color:var(--danger-text);font-weight:600}.picks{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;margin-top:.3rem}.pay-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end;margin:.5rem 0 1rem}.pay-row .muted{flex-basis:100%;margin:0}.rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin-top:1rem}.room{border:1px solid var(--rule, #ddd);border-radius:8px;padding:.7rem .9rem}.room.full{background:var(--surface-2)}.room h3{margin:0 0 .4rem;display:flex;justify-content:space-between}.room ul{list-style:none;padding:0;margin:0 0 .5rem}.room li{display:flex;gap:.4rem;align-items:baseline;flex-wrap:wrap}.letter{font-family:Georgia,Times New Roman,serif;color:#000;font-size:12pt;line-height:1.6}.letter header{text-align:center;border-bottom:2px solid #000;padding-bottom:.5rem;margin-bottom:1rem}.letter header h1{margin:0;font-size:20pt}.letter .motto{font-style:italic;margin:0}.letter .ref{display:flex;justify-content:space-between}.letter h2{text-align:center;text-decoration:underline;margin:1.2rem 0}.letter .sign{display:flex;justify-content:space-between;margin-top:3.5rem}.letter .sign div{display:flex;flex-direction:column;width:40%}.letter .sign span{border-top:1px solid #000;margin-bottom:.2rem}.letter footer{display:flex;gap:.8rem;align-items:center;margin-top:2.5rem;font-size:9pt}.draft{margin-top:.4rem}.draft textarea{width:100%;min-width:16rem;font:inherit;padding:.4rem;border:1px dashed var(--accent, #0f4c3a);border-radius:6px}.draft div{display:flex;gap:.5rem;align-items:center;margin-top:.25rem}.login-card .facts{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem}.login-card .facts div{display:contents}.login-card .facts dt{color:var(--muted, #666)}.login-card .facts dd{margin:0;font-weight:600}.side{border-right:1px solid rgba(201,164,92,.35)}.login-card h1,.brand-name{font-family:var(--display);letter-spacing:.03em}.login-card .maker{font-family:var(--display);font-size:.78rem;letter-spacing:.14em;color:var(--slate);text-transform:uppercase}.login-card{border-top:3px solid var(--gold)}.login{background:linear-gradient(160deg,#2a2e33,#16191d 60%,#0f1114)}.login-card .mark.big{box-shadow:0 0 0 1px #c9a45c66}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.chat{margin-top:.5rem}.chat-panes{display:grid;grid-template-columns:minmax(260px,340px) 1fr;border:1px solid var(--rule);border-radius:12px;background:var(--paper);height:calc(100vh - 190px);min-height:460px;overflow:hidden}.chat.in-portal .chat-panes{height:calc(100vh - 260px)}.chat-list{border-right:1px solid var(--rule);overflow-y:auto;display:flex;flex-direction:column}.chat-list-head{display:flex;gap:.4rem;flex-wrap:wrap;padding:.75rem;border-bottom:1px solid var(--rule);position:sticky;top:0;background:var(--paper);z-index:1}.btn.on{background:var(--board);color:var(--on-brand);border-color:var(--board)}.chat-convs{list-style:none;margin:0;padding:0}.chat-convs button{all:unset;box-sizing:border-box;width:100%;display:flex;gap:.7rem;align-items:center;padding:.7rem .8rem;cursor:pointer;border-bottom:1px solid var(--border)}.chat-convs button:hover{background:var(--brand-soft)}.chat-convs button.on{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--board)}.chat-convs button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.chat-avatar{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.85rem;color:#fff;background:var(--text-3)}.chat-avatar.k-staff{background:var(--board)}.chat-avatar.k-pta{background:#9a7a33}.chat-avatar.k-class_students,.chat-avatar.k-class_parents{background:var(--info)}.chat-avatar.k-group{background:#6a5a8a}.chat-conv-main{min-width:0;flex:1;display:grid;gap:.1rem}.chat-conv-top{display:flex;justify-content:space-between;gap:.5rem}.chat-conv-top strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-conv-top time{color:var(--slate);font-size:.78rem;flex:none}.chat-conv-last{color:var(--slate);font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-convs button.unread .chat-conv-last{color:var(--ink);font-weight:600}.chat-convs .count,.chat-thread .count{background:var(--marker);color:var(--on-accent);border-radius:999px;padding:0 .5rem;font-size:.78rem;font-weight:700}.chat-picker{padding:.75rem;border-bottom:1px solid var(--rule);background:var(--surface-2)}.chat-picker h3{margin-top:.2rem}.chat-picker ul{list-style:none;margin:.5rem 0;padding:0;max-height:260px;overflow-y:auto}.chat-picker li button{all:unset;box-sizing:border-box;width:100%;display:grid;padding:.45rem .5rem;border-radius:8px;cursor:pointer}.chat-picker li button:hover,.chat-picker li button:focus-visible{background:var(--brand-soft)}.chat-picker li span{color:var(--slate);font-size:.82rem}.chat-standard,.chat-class{display:flex;gap:.4rem;flex-wrap:wrap;align-items:flex-end;margin-bottom:.4rem}.chat-class .field{flex:1 1 160px;margin:0}.chat-picked{display:flex;flex-wrap:wrap;gap:.3rem}.chat-meetings{padding:.6rem .8rem;border-bottom:1px solid var(--rule);background:var(--warn-soft)}.chat-meetings h3{margin:0 0 .4rem}.chat-meeting-row{display:flex;gap:.5rem;justify-content:space-between;align-items:center;padding:.35rem 0}.chat-meeting-row div{display:grid;min-width:0}.chat-meeting-row span{color:var(--slate);font-size:.8rem}.chat-note{padding:.5rem .8rem;margin:0}.chat-thread{min-width:0;display:flex;flex-direction:column;background:var(--surface-2)}.chat-empty{margin:auto;padding:2rem}.chat-thread-in{display:flex;flex-direction:column;height:100%;min-height:0}.chat-thread-head{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;border-bottom:1px solid var(--rule);background:var(--paper)}.chat-thread-head>div{display:grid;flex:1;min-width:0}.chat-thread-head span{color:var(--slate);font-size:.82rem}.chat-back{display:none}.chat-messages{flex:1;overflow-y:auto;padding:.75rem 1rem 1rem;display:flex;flex-direction:column;gap:.25rem}.chat-msg{display:flex;flex-direction:column;align-items:flex-start;max-width:78%}.chat-msg.mine{align-self:flex-end;align-items:flex-end}.chat-from{font-size:.78rem;color:var(--slate);margin:.55rem .4rem .15rem;font-weight:600}.chat-from span{font-weight:400}.chat-bubble{background:var(--paper);border:1px solid var(--rule);border-radius:14px 14px 14px 4px;padding:.5rem .75rem .35rem;display:grid;gap:.15rem}.chat-msg.mine .chat-bubble{background:var(--brand-soft);border-color:var(--brand-soft-2);border-radius:14px 14px 4px}.chat-msg.deleted .chat-bubble{color:var(--slate);background:transparent}.chat-meta{display:flex;gap:.6rem;justify-content:flex-end;font-size:.72rem;color:var(--slate)}.chat-meta .link{font-size:.72rem}.chat-compose{display:flex;gap:.5rem;padding:.6rem .75rem;border-top:1px solid var(--rule);background:var(--paper)}.chat-compose textarea{flex:1;resize:none;min-height:42px;max-height:140px;font:inherit;padding:.55rem .75rem;border:1px solid var(--border-strong);border-radius:10px;field-sizing:content}.chat-meeting{display:flex;gap:.7rem;align-items:flex-start;min-width:240px}.chat-meeting>div{display:grid;gap:.2rem}.chat-meeting-icon{width:34px;height:34px;border-radius:9px;background:var(--board);color:var(--gold);display:grid;place-items:center;font-size:.85rem;flex:none}.chat-meeting span{font-size:.85rem;color:var(--slate)}.chat-meeting-actions{margin:.3rem 0}.chat-meeting-form{padding:.75rem 1rem;border-bottom:1px solid var(--rule);background:var(--warn-soft)}@media(max-width:820px){.chat-panes{grid-template-columns:1fr;height:calc(100vh - 170px)}.chat.has-thread .chat-list{display:none}.chat:not(.has-thread) .chat-thread{display:none}.chat-back{display:inline}.chat-msg{max-width:90%}}.idle-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:1rem;background:#0c16118c}.idle-card{background:var(--paper);width:min(26rem,100%);padding:1.5rem;border-top:3px solid var(--gold);border-radius:6px;box-shadow:0 18px 40px #00000040}.idle-card h2{margin:0 0 .6rem}.idle-card p{margin:0 0 1.1rem}.idle-actions{display:flex;flex-wrap:wrap;gap:.6rem}.filters .clear-filters{align-self:center}.leaving{margin:.5rem 0 1rem}.leaving .notice .btn{margin-left:.5rem}.btn.danger-line{color:var(--danger-text);border-color:var(--danger-border)}.leaving-form{background:var(--paper);border:1px solid var(--rule);border-left:3px solid var(--danger);padding:1rem 1.25rem;max-width:34rem;display:grid;gap:.6rem}.leaving-form h2,.leaving-form p{margin:0}.leaving-actions{display:flex;gap:.6rem;flex-wrap:wrap}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.tag.graduated,.tag.transferred,.tag.retired{background:var(--info-soft);color:var(--info-text)}.date-card{display:flex;gap:1.25rem;background:var(--paper);border:1px solid var(--rule);border-top:3px solid var(--gold);border-radius:6px;padding:1rem 1.25rem;margin:0 0 1.25rem;flex-wrap:wrap}.date-today{display:grid;justify-items:center;align-content:center;min-width:7.5rem;padding:.5rem .75rem;background:var(--board);color:var(--on-brand);border-radius:6px;text-align:center}.date-weekday{font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;opacity:.85}.date-day{font-family:var(--display);font-size:2.6rem;line-height:1.05;font-weight:700}.date-month{font-size:var(--step--1)}.date-body{flex:1 1 16rem;min-width:0}.date-status{margin:.1rem 0 .25rem;font-size:var(--step-1)}.date-status.holiday{color:var(--warn-text)}.date-term{margin:0 0 .6rem;color:var(--slate)}.date-list{list-style:none;margin:0 0 .4rem;padding:0;display:grid;gap:.3rem}.date-list li{display:flex;gap:.75rem;flex-wrap:wrap}.date-when{min-width:9.5rem;color:var(--slate);font-variant-numeric:tabular-nums}.date-what{flex:1;min-width:0}.date-tag,.cal-mark{display:inline-block;font-size:.75rem;padding:.05rem .4rem;border-radius:3px;background:var(--surface-3);color:var(--slate);white-space:nowrap}.date-tag.pub,.cal-mark.pub{background:var(--success-soft);color:var(--success-text)}.date-tag.hol,.cal-mark.hol{background:var(--warn-soft);color:var(--warn-text)}.date-tag.evt,.cal-mark.evt{background:var(--info-soft);color:var(--info-text)}.cal-mark.pending{background:repeating-linear-gradient(45deg,var(--surface-2),var(--surface-2) 6px,var(--surface-3) 6px,var(--surface-3) 12px);color:var(--warn-text);font-style:italic}.date-tag.term,.cal-mark.term{background:var(--violet-soft);color:var(--violet-text)}.cal-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.75rem}.cal-head h2{margin:0;min-width:12rem;text-align:center}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--rule);border-left:1px solid var(--rule);background:var(--paper)}.cal-wd{padding:.35rem;font-size:var(--step--1);font-weight:650;color:var(--slate);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--desk)}.cal-cell{min-height:5.5rem;padding:.3rem;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:.2rem;min-width:0}.cal-cell .cal-mark{white-space:normal;overflow-wrap:anywhere}.cal-cell.empty{background:var(--desk)}.cal-cell.wkend{background:var(--surface-2)}.cal-cell.vac{background:repeating-linear-gradient(135deg,var(--surface-2),var(--surface-2) 6px,var(--surface-3) 6px,var(--surface-3) 12px)}.cal-cell.pub,.cal-cell.hol{background:var(--warn-soft)}.cal-cell.today{outline:2px solid var(--gold);outline-offset:-2px}.cal-num{font-weight:650;font-variant-numeric:tabular-nums}.cal-key{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:.75rem}@media(max-width:640px){.cal-cell{min-height:3.6rem;padding:.2rem}.cal-cell .cal-mark{font-size:.62rem;padding:0 .2rem}.date-today{min-width:6rem}.date-day{font-size:2.1rem}}.side nav .group-title{display:flex;align-items:center;gap:.4rem;width:100%;background:none;border:0;color:inherit;font:inherit;font-size:var(--step--1);opacity:.75;padding:.35rem .75rem .2rem;cursor:pointer;text-align:left;border-radius:4px}.side nav .group-title:hover{opacity:1;background:#ffffff0f}.side nav .group-title span:first-child{flex:1;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}.side nav .group-title .chev{font-size:.7rem;opacity:.8}.nav-toggle{display:none}@media(min-width:901px){.nav-toggle{display:inline-flex;background:none;border:1px solid var(--rule);border-radius:5px;padding:.35rem .6rem;color:var(--slate);font:inherit;font-size:var(--step--1);cursor:pointer;white-space:nowrap}.shell.nav-hidden{grid-template-columns:0 1fr}.shell.nav-hidden .side{visibility:hidden;overflow:hidden}}.intel-filters select{min-width:10rem}.intel.busy,.report.busy{opacity:.6;transition:opacity .2s}.freshness{font-size:var(--step--1);color:var(--slate);margin:0 0 1rem;padding:.5rem .75rem;background:var(--surface-3);border-radius:5px}.freshness.partial{background:var(--warn-soft)}.freshness .gap{color:var(--warn-text);font-weight:600}.health{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.9rem;margin-bottom:1.25rem}.health-card{background:var(--paper);border:1px solid var(--rule);border-top:4px solid var(--rule);border-radius:6px;padding:.85rem 1rem}.health-card.green{border-top-color:var(--success)}.health-card.amber{border-top-color:var(--warn)}.health-card.red{border-top-color:var(--danger)}.health-label{display:block;font-size:var(--step--1);color:var(--slate);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem}.health-card ul{margin:.5rem 0 0;padding-left:1.1rem;font-size:var(--step--1);color:var(--slate)}.light{display:inline-flex;align-items:center;gap:.35rem;font-weight:650;padding:.15rem .55rem .15rem .2rem;border-radius:999px;font-size:.9rem}.light-icon{display:inline-grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:50%;color:#fff;font-size:.75rem;font-weight:800}.light.green{background:var(--success-soft);color:var(--success-text)}.light.green .light-icon{background:var(--success)}.light.amber{background:var(--warn-soft);color:var(--warn-text)}.light.amber .light-icon{background:var(--warn)}.light.red{background:var(--danger-soft);color:var(--danger-text)}.light.red .light-icon{background:var(--danger)}.light.info{background:var(--info-soft);color:var(--info-text)}.light.info .light-icon{background:var(--info)}.small-light{margin-left:.4rem;font-size:.75rem}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.75rem,1fr));gap:.75rem;margin-bottom:1.5rem}.metric{display:flex;flex-direction:column;gap:.15rem;background:var(--paper);border:1px solid var(--rule);border-radius:6px;padding:.75rem .9rem;text-decoration:none;color:inherit}a.metric:hover{border-color:var(--board)}.metric-label{font-size:var(--step--1);color:var(--slate)}.metric-value{font-size:1.6rem;font-weight:650;font-variant-numeric:tabular-nums;line-height:1.15}.metric-value.amber{color:var(--warn-text)}.metric-value.red{color:var(--danger)}.metric-value.green{color:var(--success-text)}.metric-note{font-size:.78rem;color:var(--slate)}.intel-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem;font-size:var(--step-1);margin:1.5rem 0 .75rem}.funds{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem}.fund{background:var(--surface-2);border:1px solid var(--rule);border-radius:6px;padding:.85rem .95rem;display:flex;flex-direction:column;gap:.15rem;min-width:0}.fund h3{margin:0;font-size:var(--step-0)}.fund-what{font-size:.78rem;color:var(--slate);min-height:2.2em}.fund-available{font-size:1.55rem;font-weight:650;font-variant-numeric:tabular-nums;margin-top:.4rem}.fund-available.red{color:var(--danger)}.fund-available.amber{color:var(--warn-text)}.fund-caption{font-size:.75rem;color:var(--slate);margin-bottom:.4rem}.fund dl{margin:.4rem 0 0;display:grid;gap:.2rem;font-size:.8rem}.fund dl div{display:flex;justify-content:space-between;gap:.5rem;border-top:1px solid var(--rule);padding-top:.2rem}.fund dt{color:var(--slate)}.fund dd{margin:0;font-variant-numeric:tabular-nums}.fund-line{font-size:.78rem}.meter{position:relative;height:.5rem;border-radius:999px;background:var(--surface-3);overflow:visible;margin:.35rem 0;min-width:4rem}.meter-fill{position:absolute;inset:0 auto 0 0;border-radius:999px;background:var(--success)}.meter-fill.amber{background:var(--warn)}.meter-fill.red{background:var(--danger)}.meter-target{position:absolute;top:-.2rem;bottom:-.2rem;width:2px;background:var(--ink)}.alerts{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.alert{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:start;background:var(--paper);border:1px solid var(--rule);border-left:4px solid var(--rule);border-radius:5px;padding:.65rem .8rem}.alert.critical{border-left-color:var(--danger)}.alert.warning{border-left-color:var(--warn)}.alert.info{border-left-color:var(--info)}.alert p{margin:.15rem 0 .2rem;font-size:.88rem}@media(max-width:640px){.alert{grid-template-columns:1fr}}.chart{margin:0 0 1.5rem}.chart figcaption{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;margin-bottom:.4rem}.chart-title{font-weight:650;flex:1 1 14rem}.legend{display:flex;gap:.75rem;font-size:var(--step--1);color:var(--slate)}.legend-item{display:inline-flex;align-items:center;gap:.35rem}.swatch{display:inline-block;width:.7rem;height:.7rem;border-radius:2px}.chart-box{position:relative;background:var(--paper);border:1px solid var(--rule);border-radius:6px;padding:.5rem}.chart-box svg{width:100%;height:auto;display:block}.chart-box .grid{stroke:var(--border);stroke-width:1}.chart-box .axis{stroke:var(--border-strong);stroke-width:1}.chart-box .tick{fill:var(--slate);font-size:11px;font-variant-numeric:tabular-nums}.chart-box .hit{fill:transparent}.chart-box .col-group:hover .hit,.chart-box .col-group:focus .hit{fill:rgb(var(--brand-rgb) / .06)}.chart-box .col-group:focus{outline:none}.tip{position:absolute;top:.5rem;transform:translate(-50%);background:var(--text);color:var(--surface);border-radius:5px;padding:.4rem .6rem;font-size:.8rem;display:grid;gap:.15rem;pointer-events:none;white-space:nowrap;z-index:2}.tip .swatch{margin-right:.35rem;outline:1px solid rgba(255,255,255,.6)}.chart-table{max-width:32rem}.budget-table .meter-cell{min-width:9rem}.compare td.best{color:var(--success-text);font-weight:650}.compare td.weakest{color:var(--danger-text)}.mark-tag{font-size:.7rem;font-weight:600}tr.overdue td{background:var(--danger-soft)}.drill{border:1px solid var(--rule);border-radius:6px;background:var(--paper);margin:.75rem 0}.drill summary{cursor:pointer;padding:.65rem .9rem;display:flex;gap:.75rem;align-items:baseline}.drill-title{font-weight:650}.drill-summary{color:var(--slate);font-size:var(--step--1)}.drill-body{padding:0 .9rem .8rem}.forecasts{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:0 2rem}.forecasts>p{grid-column:1 / -1}.forecast{border-top:2px solid var(--board);padding:.75rem 0 1.25rem}.forecast h3{margin:0 0 .4rem;font-size:var(--step-0)}.forecast-figure strong{font-size:1.5rem;font-variant-numeric:tabular-nums}.fund-group{margin-bottom:1.5rem}.fund-group h2{display:flex;gap:.75rem;align-items:baseline;flex-wrap:wrap}.allowed{margin:.4rem 0 .75rem}.allowed-pick{display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin-top:.3rem;font-size:var(--step--1)}.check{display:inline-flex;gap:.35rem;align-items:center}.reconcile-bar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin-bottom:1rem}.report header h2{margin-top:.5rem}.report-section{margin:1.25rem 0;break-inside:avoid}.report-section h3{margin:0 0 .35rem;border-bottom:2px solid var(--board);padding-bottom:.25rem}.report-section tfoot td{font-weight:650;border-top:2px solid var(--rule)}.exports ul{padding-left:1.1rem}@media print{.report-section table{font-size:10pt}}@media(max-width:900px){.intel table.plain,.report table.plain,.fund-group table.plain,.forecast table.plain,.drill table.plain{display:block;overflow-x:auto;max-width:100%}}.role-edit-row td{background:var(--surface-2)}.roles-edit{display:grid;gap:.5rem;padding:.4rem 0}.roles-list{margin:0;padding-left:1.1rem}.roles-list .link{margin-left:.6rem}.paid-check{margin-bottom:2rem}.paid-check tr.picked td{background:var(--brand-soft)}.paid-check td input:not([type=checkbox]),.paid-check td select{min-width:9rem}.pay-steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;padding:0;margin:0 0 1.25rem;max-width:70rem}.pay-steps li{counter-increment:step;background:var(--paper);border:1px solid var(--rule);border-top:3px solid var(--board);padding:.6rem .8rem .7rem 2.6rem;position:relative}.pay-steps li:before{content:counter(step);position:absolute;left:.75rem;top:.6rem;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--board);color:var(--on-brand);font-weight:700;font-size:.8rem;display:grid;place-items:center}.pay-steps strong{display:block}.pay-steps span{font-size:var(--step--1);color:var(--slate)}.pay-month{margin-top:1.5rem;border-top:3px solid var(--margin);padding-top:.25rem}.pay-head{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.pay-head h2,.pay-head h3{margin-right:auto}.decide{background:var(--warn-soft);border:1px solid var(--warn-border);border-left:4px solid var(--margin);padding:.75rem 1rem;margin:0 0 1rem;max-width:70rem}.decide p{margin-bottom:.5rem}.pay-sheet{max-height:75vh;overflow:auto}.pay-sheet table{border-collapse:separate;border-spacing:0}.pay-sheet thead th{position:sticky;top:0;z-index:2}.pay-sheet thead tr:nth-child(2) th{top:2.3rem}.pay-sheet tfoot th{position:sticky;bottom:0;z-index:2;border-top:2px solid var(--board);border-bottom:0}.pay-sheet .sticky{position:sticky;left:0;z-index:1;background:var(--paper);min-width:13rem;box-shadow:1px 0 0 var(--rule)}.pay-sheet thead .sticky,.pay-sheet tfoot .sticky{z-index:3}.pay-sheet th.grp{text-align:center;border-bottom:1px solid var(--rule)}.pay-sheet th.grp.earn{background:var(--brand-soft)}.pay-sheet th.grp.ded{background:var(--danger-soft)}.pay-sheet td{padding:.3rem .45rem}.pay-sheet tr.edited .sticky{box-shadow:inset 3px 0 0 var(--margin),1px 0 0 var(--rule)}.pay-sheet .changed{color:var(--warn-text);max-width:16rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}input.amount{width:7.5rem;min-height:2.1rem;padding:.3rem .4rem;text-align:right;font-variant-numeric:tabular-nums;border-color:transparent;background:var(--surface-2)}input.amount:hover{border-color:var(--border-strong)}input.amount:focus{border-color:var(--focus);background:var(--paper)}input.amount.saving{opacity:.6}input.amount.bad{border-color:var(--danger);background:var(--danger-soft)}tr.picked td{background:var(--brand-soft)}.slip-extras{margin-top:1rem}.paystack{border-top:1px solid var(--rule);margin-top:1rem;padding-top:.25rem}@media print{.pay-sheet{max-height:none;overflow:visible}}.staff-pay .field{min-width:9rem}.staff-pay td .field label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}details.pay-items{margin-top:1.5rem}details.pay-items>summary{cursor:pointer;font-weight:650;padding:.4rem 0}html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}body{background:var(--bg);color:var(--text);font-feature-settings:"kern","liga"}a{color:var(--brand-text);text-underline-offset:.18em;text-decoration-thickness:from-font}::selection{background:rgb(var(--brand-rgb) / .22)}h1{font-size:clamp(1.5rem,1.2rem + 1vw,1.95rem);font-weight:750;letter-spacing:-.022em}h2{font-weight:700;letter-spacing:-.012em}h3{color:var(--text-2)}:focus-visible{outline:3px solid rgb(var(--brand-rgb) / .45);outline-offset:2px;border-radius:6px}:root[data-theme=dark] :focus-visible{outline-color:var(--focus)}*{scrollbar-width:thin;scrollbar-color:rgb(var(--brand-rgb) / .35) transparent}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;background:var(--brand-deep)}.backdrop:before{content:"";position:absolute;top:-3%;right:-3%;bottom:-3%;left:-3%;background:var(--photo) center 32% / cover no-repeat;animation:drift 46s ease-in-out infinite alternate;will-change:transform}.backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}:root[data-veil=light] .backdrop:after{background:linear-gradient(160deg,rgb(var(--brand-deep-rgb) / .3),rgb(var(--brand-deep-rgb) / .52) 55%,rgb(var(--brand-deep-rgb) / .7))}:root[data-veil=medium] .backdrop:after,.backdrop:after{background:linear-gradient(160deg,rgb(var(--brand-deep-rgb) / .48),rgb(var(--brand-deep-rgb) / .68) 55%,rgb(var(--brand-deep-rgb) / .84))}:root[data-veil=strong] .backdrop:after{background:linear-gradient(160deg,rgb(var(--brand-deep-rgb) / .7),rgb(var(--brand-deep-rgb) / .84) 55%,rgb(var(--brand-deep-rgb) / .93))}:root[data-theme=dark] .backdrop:after{box-shadow:inset 0 0 0 100vmax #00000059}:root[data-photo=off] .backdrop:before{background:radial-gradient(55% 45% at 12% 8%,rgb(var(--accent-rgb) / .32),transparent 70%),radial-gradient(60% 55% at 92% 4%,rgb(var(--brand-rgb) / .75),transparent 72%),radial-gradient(70% 60% at 70% 100%,rgb(var(--brand-rgb) / .55),transparent 70%),var(--brand-deep)}@media(max-width:820px){.backdrop:before{background-image:var(--photo-sm)}}@keyframes drift{0%{transform:scale(1.02) translateZ(0)}to{transform:scale(1.09) translate3d(-1.2%,-1%,0)}}.shell{position:relative;z-index:1;grid-template-columns:16.5rem 1fr}.side{background:linear-gradient(180deg,rgb(var(--brand-deep-rgb) / .62),rgb(var(--brand-deep-rgb) / .8));-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);color:#eef3f0;border-right:1px solid rgb(255 255 255 / .08)}.brand{padding:1.2rem 1.1rem 1.1rem;gap:.8rem}.brand strong{font-family:var(--display);font-weight:700;letter-spacing:.02em;font-size:1.02rem;color:#fff}.brand span{color:#ffffffb3;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.mark{border-radius:10px;box-shadow:0 0 0 1px rgb(var(--accent-rgb) / .55),0 6px 14px -6px #0009}img.crest{width:2.4rem;height:2.4rem;flex:none;object-fit:contain;border-radius:10px;background:#ffffffeb;padding:3px;box-shadow:0 6px 14px -6px #0009}img.crest.big{width:4rem;height:4rem;border-radius:16px;padding:5px}.side nav{padding:.25rem .65rem .75rem}.side nav .group{margin-bottom:.55rem}.side nav .group-title{color:#ffffff9e;opacity:1;padding:.45rem .7rem .25rem;border-radius:8px}.side nav .group-title:hover{color:#fff;background:#ffffff0f}.side nav .group-title span:first-child{font-size:.68rem;letter-spacing:.12em;font-weight:700}.side nav .group-title .chev{display:inline-flex;transition:transform var(--fast) var(--ease)}.side nav .group-title[aria-expanded=false] .chev{transform:rotate(-90deg)}.side nav a{display:flex;align-items:center;gap:.65rem;position:relative;padding:.5rem .7rem;border-radius:10px;border-left:0;color:#ffffffd6;font-weight:500;transition:background var(--fast),color var(--fast),transform var(--fast) var(--ease)}.side nav a .ico{flex:none;opacity:.85}.side nav a .label{flex:1;min-width:0;line-height:1.25}.side nav a:hover{background:#ffffff17;color:#fff;transform:translate(2px)}.side nav a.active{background:#ffffff26;color:#fff;font-weight:650;box-shadow:inset 0 0 0 1px #ffffff14}.side nav a.active:before{content:"";position:absolute;left:-.65rem;top:22%;bottom:22%;width:4px;border-radius:0 4px 4px 0;background:var(--accent)}.side nav a.active .ico{opacity:1;color:var(--accent)}.side nav a .count,.side nav .group-title .count{float:none;margin-left:auto;background:var(--accent);color:var(--on-accent);border-radius:999px;padding:.05rem .5rem;font-size:.72rem;font-weight:800;animation:pop .4s var(--ease) backwards}.side nav::-webkit-scrollbar{width:6px}.side nav::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:6px}.who{display:flex;align-items:center;gap:.6rem;padding:.85rem .9rem;margin:0 .65rem .75rem;border:1px solid rgb(255 255 255 / .1);border-radius:14px;background:#ffffff0f}.who a{display:flex;align-items:center;gap:.65rem;flex:1;min-width:0;margin:0}.who a>span:last-child{min-width:0;display:flex;flex-direction:column;opacity:1}.who strong{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.who small{font-size:.74rem;color:#ffffffb3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{flex:none;display:inline-grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--accent);color:var(--on-accent);font-weight:800;font-size:.82rem;letter-spacing:.02em}.who .signout{flex:none;display:inline-grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:10px;border:0;background:#ffffff14;color:#fff;cursor:pointer;transition:background var(--fast)}.who .signout:hover{background:#ffffff2e}.main{padding:.85rem .85rem .85rem .9rem;gap:.85rem}.top{position:sticky;top:.85rem;z-index:6;padding:.55rem .65rem .55rem .8rem;border-radius:var(--r-lg);background:var(--glass);-webkit-backdrop-filter:blur(16px) saturate(1.6);backdrop-filter:blur(16px) saturate(1.6);border:1px solid rgb(var(--surface-rgb) / .45);box-shadow:var(--shadow-2)}.icon-btn{display:inline-grid;place-items:center;width:2.4rem;height:2.4rem;flex:none;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer;transition:color var(--fast),border-color var(--fast),transform var(--fast) var(--ease),background var(--fast)}.icon-btn:hover{color:var(--brand-text);border-color:rgb(var(--brand-rgb) / .45);transform:translateY(-1px)}.icon-btn:active{transform:scale(.96)}.menu-btn,.nav-toggle{gap:.4rem;align-items:center}.nav-toggle{border-radius:12px!important;height:2.4rem;padding:0 .7rem!important;background:var(--surface)!important;border-color:var(--border)!important;color:var(--text-2)!important}.nav-toggle:hover{color:var(--brand-text)!important}.search{max-width:36rem}.search .search-ico{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}.search input{padding-left:2.5rem;padding-right:2.4rem;border-radius:12px;background:var(--surface);border-color:var(--border);height:2.5rem}.search kbd{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);font:600 .72rem/1 var(--font);color:var(--text-3);border:1px solid var(--border);border-bottom-width:2px;border-radius:6px;padding:.2rem .4rem;pointer-events:none}.search input:focus+kbd,.search input:not(:placeholder-shown)+kbd{display:none}.results{border-radius:14px;border-color:var(--border);box-shadow:var(--shadow-3);padding:.35rem;animation:drop .18s var(--ease) backwards}.results li{border-radius:10px}.results li.on{background:var(--brand);color:var(--on-brand)}.results li.on span{color:var(--on-brand-muted)}.sync{border-radius:12px;height:2.4rem;padding:0 .85rem;border-color:var(--border);background:var(--surface);transition:border-color var(--fast),transform var(--fast) var(--ease)}.sync:hover{transform:translateY(-1px);border-color:var(--border-strong)}.sync .dot{box-shadow:0 0 #15803d80}.sync.ok .dot{animation:pulse 2.6s ease-out infinite}.sync.busy .dot{animation:blink .9s ease-in-out infinite}.sync.off{background:var(--warn-soft);border-color:var(--warn-border)}.sync.bad{background:var(--danger-soft);border-color:var(--danger-border)}.top .sync{margin-left:0}.top .spacer{flex:1}.content{margin:0;border:0;border-radius:var(--r-xl);padding:1.9rem 2.1rem 4rem;max-width:86rem;width:100%;background:var(--sheet);box-shadow:var(--shadow-3),inset 0 3px rgb(var(--accent-rgb) / .9)}.content>*{animation:rise .34s var(--ease) backwards}.content>*:nth-child(2){animation-delay:40ms}.content>*:nth-child(3){animation-delay:80ms}.content>*:nth-child(n+4){animation-delay:.11s}.bare{position:relative;z-index:1;background:var(--sheet);border-radius:var(--r-xl);box-shadow:var(--shadow-3);padding:2rem;margin:4rem auto}.page-head{margin-bottom:1.5rem;gap:1rem 1.25rem}.page-head .sub{margin-top:.35rem;font-size:1rem}.btn{gap:.45rem;border-radius:11px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);box-shadow:var(--shadow-1);transition:transform var(--fast) var(--ease),box-shadow var(--fast),background var(--fast),border-color var(--fast),color var(--fast)}.btn:hover{border-color:rgb(var(--brand-rgb) / .55);transform:translateY(-1px);box-shadow:var(--shadow-2)}.btn:active{transform:translateY(0) scale(.98);box-shadow:var(--shadow-1)}.btn.primary{background:var(--brand);color:var(--on-brand);border-color:transparent;box-shadow:inset 0 1px #ffffff29,0 8px 18px -8px rgb(var(--brand-rgb) / .75)}.btn.primary:hover{background:var(--brand-strong);box-shadow:inset 0 1px #ffffff29,0 12px 24px -10px rgb(var(--brand-rgb) / .85)}.btn.quiet{box-shadow:none;background:none;border-color:transparent;color:var(--brand-text)}.btn.quiet:hover{background:var(--brand-soft);transform:none}.btn.danger{background:#b42318;color:#fff;border-color:transparent}.btn.danger:hover{background:#8f1d14}.btn.danger-line{color:var(--danger-text);border-color:var(--danger-border);background:var(--surface)}.btn.on{background:var(--brand);color:var(--on-brand);border-color:transparent}.btn:disabled{transform:none;box-shadow:none}.btn.small{border-radius:9px}.link{color:inherit}input,select,textarea{border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);transition:border-color var(--fast),box-shadow var(--fast),background var(--fast)}:root[data-theme=dark] :is(input,select,textarea){background:var(--surface-2)}input:hover,select:hover,textarea:hover{border-color:rgb(var(--brand-rgb) / .45)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-text);box-shadow:0 0 0 4px rgb(var(--brand-rgb) / .16)}input:disabled,select:disabled,textarea:disabled{background:var(--surface-3);color:var(--text-2);border-color:var(--border)}input[type=checkbox],input[type=radio]{accent-color:var(--brand)}input[type=checkbox]:focus,input[type=radio]:focus{box-shadow:none}.field>label{color:var(--label)}input.amount{background:var(--surface-2);border-color:transparent}input.amount:focus{background:var(--surface);border-color:var(--brand-text)}.tabs{display:flex;width:fit-content;max-width:100%;gap:.2rem;padding:.28rem;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);margin-bottom:1.4rem}.tab{border:0;border-radius:10px;padding:.5rem .95rem;color:var(--text-2);font-weight:550;transition:background var(--fast),color var(--fast),box-shadow var(--fast)}.tab:hover{color:var(--text);background:rgb(var(--surface-rgb) / .6)}.tab.on{color:var(--brand-text);background:var(--surface);box-shadow:var(--shadow-1),0 0 0 1px var(--border);font-weight:700}.notice{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;border:1px solid var(--border);border-left-width:4px;border-radius:12px;padding:.8rem 1rem;background:var(--surface-2);color:var(--text)}.notice>.notice-ico{margin-top:.1rem;color:var(--text-2)}.notice>.notice-body{min-width:0}.notice.ok{border-color:#15803d4d;border-left-color:var(--success);background:var(--success-soft)}.notice.ok>.notice-ico{color:var(--success)}.notice.warn{border-color:var(--warn-border);border-left-color:var(--warn);background:var(--warn-soft)}.notice.warn>.notice-ico{color:var(--warn)}.notice.error{border-color:var(--danger-border);border-left-color:var(--danger);background:var(--danger-soft)}.notice.error>.notice-ico{color:var(--danger)}.notice.info{border-left-color:var(--info);background:var(--info-soft)}.notice.info>.notice-ico{color:var(--info)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;padding:2.75rem 1.5rem;border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface-2)}.empty .empty-ico{display:grid;place-items:center;width:3.3rem;height:3.3rem;border-radius:16px;background:var(--brand-soft);color:var(--brand-text);margin-bottom:.5rem}.empty>div{max-width:46ch}.tag{padding:.12rem .6rem;background:var(--surface-3);color:var(--text-2)}.tag.active{background:var(--success-soft);color:var(--success-text)}.register{border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-1);background:var(--surface)}th{background:var(--surface-2);color:var(--text-2);border-bottom:1px solid var(--border);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;font-weight:700;padding-top:.7rem;padding-bottom:.7rem}table.plain th{background:none;text-transform:none;letter-spacing:0;font-size:var(--step--1);color:var(--text-2);border-bottom-color:var(--border-strong)}td{border-bottom:1px solid var(--border)}.register tbody tr{transition:background var(--fast)}.register tbody tr:hover>td{background:rgb(var(--brand-rgb) / .035)}.register tbody tr[tabindex]:hover>td,.register tbody tr[tabindex]:focus-visible>td{background:var(--brand-soft)}.register tbody tr:last-child>td{border-bottom:0}tfoot td{border-top:1px solid var(--border-strong);background:var(--surface-2)}.pay-sheet tfoot th{border-top:1px solid var(--border-strong)}.filters{gap:.6rem}:is(.kpi,.metric,.health-card,.fund,.date-card,.forecast,.alert,.drill,.payslip,.test-q,.test-done,.question-editor,.test-editor,.room,li.lesson,.id-card,.leaving-form,.pay-steps li,.chart-box,.children button,.decide,.howto,.idle-card){border-radius:var(--r);box-shadow:var(--shadow-1)}.kpis{gap:.8rem}.kpi{background:var(--surface);border:1px solid var(--border);padding:.95rem 1.05rem;position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--brand),var(--accent));opacity:.85}.kpi strong{display:block;margin-top:.25rem;letter-spacing:-.02em}.metric,.health-card,.fund,.alert{border-color:var(--border)}a.metric,.today-grid .tile,a.bar{transition:transform var(--fast) var(--ease),box-shadow var(--fast),border-color var(--fast)}a.metric:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);border-color:rgb(var(--brand-rgb) / .4)}.fund{background:var(--surface-2)}.date-card{border:1px solid var(--border);border-top:0;box-shadow:var(--shadow-1),inset 0 3px 0 var(--accent);padding:1.1rem 1.3rem}.date-today{border-radius:14px;background:linear-gradient(160deg,var(--brand),var(--brand-strong));color:var(--on-brand);box-shadow:0 10px 20px -10px rgb(var(--brand-rgb) / .8)}.pay-steps li{border-top-width:1px;border-color:var(--border);box-shadow:var(--shadow-1),inset 0 3px 0 var(--brand)}.decide{background:var(--warn-soft);border-color:var(--warn-border)}.howto{background:var(--accent-soft);border-left-color:var(--accent)}.hero{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--r-xl);margin:-.4rem 0 1.5rem;padding:2rem 2.1rem 1.6rem;color:#fff;min-height:13.5rem;display:flex;flex-direction:column;justify-content:flex-end;gap:.35rem;box-shadow:var(--shadow-2);background:var(--brand-deep)}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:var(--photo) center 30% / cover no-repeat;transform:scale(1.03);transition:transform 1.2s var(--ease)}.hero:hover:before{transform:scale(1.06)}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(95deg,rgb(var(--brand-deep-rgb) / .92),rgb(var(--brand-deep-rgb) / .72) 42%,rgb(var(--brand-deep-rgb) / .18)),linear-gradient(0deg,rgb(0 0 0 / .35),transparent 55%)}:root[data-photo=off] .hero:before{background:radial-gradient(70% 90% at 90% 10%,rgb(var(--accent-rgb) / .45),transparent 60%),radial-gradient(60% 80% at 60% 120%,rgb(var(--brand-rgb) / .9),transparent 70%)}@media(max-width:820px){.hero:before{background-image:var(--photo-sm)}}.hero .eyebrow{display:inline-flex;align-items:center;gap:.45rem;width:fit-content;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffffffe6;background:#ffffff24;border:1px solid rgb(255 255 255 / .18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.3rem .7rem;border-radius:999px;margin-bottom:auto}.hero .greet{color:#fff;font-size:clamp(1.7rem,1.2rem + 1.8vw,2.5rem);text-shadow:0 2px 18px rgb(0 0 0 / .35);margin-top:1.25rem}.hero .school{font-family:var(--display);font-weight:700;letter-spacing:.04em;color:var(--accent);filter:brightness(1.15);margin:0;max-width:none}.hero .when{color:#ffffffd1;margin:0;max-width:none}.hero .quick{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}.hero .quick a{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .85rem;border-radius:12px;color:#fff;text-decoration:none;font-weight:600;font-size:.92rem;background:#ffffff21;border:1px solid rgb(255 255 255 / .22);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background var(--fast),transform var(--fast) var(--ease)}.hero .quick a:hover{background:#ffffff3d;transform:translateY(-2px)}.hero .quick a.primary{background:var(--accent);color:var(--on-accent);border-color:transparent}.hero .quick a .count{background:var(--on-accent);color:var(--accent);border-radius:999px;padding:0 .45rem;font-size:.75rem;font-weight:800}.dash{gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr))}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.15rem 1.25rem 1.25rem;box-shadow:var(--shadow-1);transition:box-shadow var(--med),transform var(--med) var(--ease)}.panel:hover{box-shadow:var(--shadow-2)}.panel h2{display:flex;align-items:center;gap:.55rem;font-size:1.02rem}.panel h2 .ico{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:10px;background:var(--brand-soft);color:var(--brand-text);flex:none}.panel h2 a{color:inherit}.panel h2 a:hover{color:var(--brand-text)}.figure{font-size:clamp(2rem,1.6rem + 1.2vw,2.6rem);letter-spacing:-.03em;margin-top:.6rem}.today-grid{gap:.8rem}.today-grid .tile{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:14px;padding:1rem 1.05rem;background:linear-gradient(160deg,var(--surface),var(--surface-2))}.today-grid .tile:after{content:"";position:absolute;right:-1.6rem;top:-1.6rem;width:5rem;height:5rem;border-radius:50%;background:rgb(var(--brand-rgb) / .07);transition:transform var(--med) var(--ease)}.today-grid .tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:rgb(var(--brand-rgb) / .4)}.today-grid .tile:hover:after{transform:scale(1.6)}.today-grid .tile strong{font-size:1.7rem;letter-spacing:-.02em}.today-grid .tile span{color:var(--text-2)}.today-grid .tile em.warn{color:var(--danger-text);font-weight:600}.bar{border-bottom:0;padding:.38rem 0}.bar-track{height:.55rem;border-radius:999px;background:var(--surface-3);overflow:hidden}.bar-fill{border-radius:999px;background:linear-gradient(90deg,var(--brand),rgb(var(--brand-rgb) / .65));transform-origin:left;animation:grow .9s var(--ease) backwards}.bar-fill.warn{background:linear-gradient(90deg,var(--warn),rgb(180 83 9 / .6))}a.bar:hover .bar-fill{filter:brightness(1.12)}.attention li{border-radius:10px;border:1px solid var(--border);border-left-width:4px;padding:.6rem .8rem;background:var(--surface-2);transition:transform var(--fast) var(--ease)}.attention li:hover{transform:translate(3px)}.attention li.amber{border-left-color:var(--warn)}.attention li.green{border-left-color:var(--success);background:var(--success-soft)}.attention li.red{border-left-color:var(--danger);background:var(--danger-soft)}.attention a{color:inherit;text-decoration:none;font-weight:550}.attention a:hover{color:var(--brand-text);text-decoration:underline}.notice-line{border-top-color:var(--border)}.login{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(24rem,.9fr);place-items:stretch;padding:0;min-height:100vh;background:var(--surface)}.login-hero{position:relative;isolation:isolate;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:2rem;padding:clamp(1.5rem,4vw,3.25rem);background:var(--brand-deep)}.login-hero:before{content:"";position:absolute;top:-3%;right:-3%;bottom:-3%;left:-3%;z-index:-2;background:var(--photo) center 30% / cover no-repeat;animation:drift 46s ease-in-out infinite alternate}.login-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(200deg,rgb(var(--brand-deep-rgb) / .15),rgb(var(--brand-deep-rgb) / .55),rgb(var(--brand-deep-rgb) / .94))}:root[data-photo=off] .login-hero:before{background:radial-gradient(60% 60% at 20% 15%,rgb(var(--accent-rgb) / .35),transparent 70%),radial-gradient(70% 70% at 90% 90%,rgb(var(--brand-rgb) / .9),transparent 70%)}.login-hero .crest-row{display:flex;align-items:center;gap:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;color:#ffffffe6}.login-hero .crest-row .mark{width:2.6rem;height:2.6rem}.login-hero h2{font-family:var(--display);font-size:clamp(2rem,1.3rem + 2.6vw,3.4rem);line-height:1.08;margin:0;letter-spacing:.01em;text-shadow:0 2px 24px rgb(0 0 0 / .4);max-width:18ch}.login-hero .tagline{font-size:1.12rem;color:#ffffffdb;max-width:40ch;margin:.9rem 0 0}.login-hero ul{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;gap:.6rem}.login-hero li{display:flex;align-items:center;gap:.6rem;color:#ffffffe6}.login-hero li svg{flex:none;padding:.35rem;box-sizing:content-box;border-radius:10px;background:#ffffff24;border:1px solid rgb(255 255 255 / .18);color:var(--accent)}.login-hero .foot{font-size:.78rem;color:#ffffffa6;letter-spacing:.14em;text-transform:uppercase;font-family:var(--display)}.login-panel{display:grid;place-items:center;padding:2.5rem clamp(1.25rem,4vw,3rem);background:var(--surface);position:relative}.login-card{width:min(25rem,100%);background:transparent;border:0;padding:0;gap:1rem;box-shadow:none;animation:rise .5s var(--ease) backwards}.login-card h1{font-family:var(--font);letter-spacing:-.02em;font-size:1.85rem}.login-card .sub{margin:-.5rem 0 .4rem}.login-card .btn.primary{min-height:2.9rem;font-size:1.02rem;margin-top:.25rem}.login-card .maker{margin-top:.75rem}.login-card .field input{min-height:2.85rem}.pw-wrap{position:relative}.pw-wrap input{padding-right:3rem}.pw-wrap .reveal{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);width:2.3rem;height:2.3rem;display:grid;place-items:center;border:0;background:none;color:var(--text-3);cursor:pointer;border-radius:8px}.pw-wrap .reveal:hover{color:var(--text);background:var(--surface-2)}.login-panel .theme-switch{position:absolute;top:1rem;right:1rem}.login.solo{grid-template-columns:1fr;place-items:center;background:transparent}.login.solo .login-panel{background:var(--sheet);border-radius:var(--r-xl);box-shadow:var(--shadow-3);position:relative;z-index:1}@media(max-width:900px){.login{grid-template-columns:1fr;grid-template-rows:auto 1fr}.login-hero{min-height:16rem;padding-bottom:3.5rem;justify-content:flex-end}.login-hero ul,.login-hero .foot{display:none}.login-hero .crest-row{position:absolute;top:1.25rem;left:1.25rem}.login-panel{border-radius:24px 24px 0 0;margin-top:-1.75rem;box-shadow:0 -12px 30px -18px #00000080;place-items:start center;padding-top:2rem}}.portal{position:relative;background:var(--bg)}.portal-top{position:relative;z-index:1;color:#fff;padding:1.25rem clamp(1rem,3vw,2rem) 3.25rem;background:linear-gradient(180deg,rgb(var(--brand-deep-rgb) / .55),rgb(var(--brand-deep-rgb) / .8))}.portal-top strong{font-family:var(--display);letter-spacing:.03em;font-size:1.3rem}.portal-who .link{color:#fff}.portal-body{position:relative;z-index:1;border-left:0;border-radius:var(--r-xl);margin:-2.25rem auto 2rem;background:var(--sheet);box-shadow:var(--shadow-3),inset 0 3px rgb(var(--accent-rgb) / .9);padding:1.6rem clamp(1rem,3vw,2rem) 2.5rem;min-height:60vh;animation:rise .4s var(--ease) backwards}.children button{transition:border-color var(--fast),box-shadow var(--fast),transform var(--fast) var(--ease)}.children button:hover{transform:translateY(-1px)}.children button.on{border-color:var(--brand);box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .16);background:var(--brand-soft)}.appearance{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,25rem);gap:1.75rem;align-items:start}.appearance section{margin-bottom:1.6rem}.appearance h2{margin:0 0 .25rem;font-size:1.05rem}.appearance .hint{color:var(--text-2);margin:0 0 .75rem;font-size:var(--step--1)}.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.6rem}.swatch-btn{display:flex;flex-direction:column;gap:.45rem;padding:.55rem;border-radius:14px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font:inherit;font-size:.82rem;color:var(--text);text-align:left;transition:transform var(--fast) var(--ease),box-shadow var(--fast),border-color var(--fast)}.swatch-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}.swatch-btn[aria-pressed=true]{border-color:var(--brand);box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .2)}.swatch-btn .chips2{display:flex;height:2.2rem;border-radius:9px;overflow:hidden}.swatch-btn .chips2 span{flex:3}.swatch-btn .chips2 span+span{flex:1}.colour-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.9rem}.colour-pick{display:flex;align-items:center;gap:.55rem;padding:.4rem .7rem .4rem .4rem;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.colour-pick input[type=color]{width:2.4rem;height:2.4rem;min-height:0;padding:0;border:0;border-radius:8px;background:none;cursor:pointer}.colour-pick code{color:var(--text-2)}.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.7rem}.photo-opt{position:relative;display:flex;flex-direction:column;border-radius:14px;overflow:hidden;border:2px solid transparent;background:var(--surface-2);cursor:pointer;font:inherit;padding:0;color:var(--text);text-align:left;box-shadow:var(--shadow-1);transition:transform var(--fast) var(--ease),border-color var(--fast),box-shadow var(--fast)}.photo-opt:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}.photo-opt[aria-pressed=true]{border-color:var(--brand);box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .2)}.photo-opt img,.photo-opt .ph{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand-deep));color:#ffffffd9}.photo-opt .ph.upload{background:var(--surface-3);color:var(--text-2)}.photo-opt span.cap{padding:.45rem .6rem;font-size:.82rem;font-weight:600}.photo-opt .tick{position:absolute;top:.4rem;right:.4rem;display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--brand);color:var(--on-brand);box-shadow:var(--shadow-2);animation:pop .3s var(--ease) backwards}.segmented{display:inline-flex;gap:.2rem;padding:.25rem;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap}.segmented button{display:inline-flex;align-items:center;gap:.4rem;font:inherit;font-weight:600;font-size:.9rem;border:0;border-radius:9px;padding:.45rem .85rem;background:none;color:var(--text-2);cursor:pointer;transition:background var(--fast),color var(--fast)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--brand-text);box-shadow:var(--shadow-1),0 0 0 1px var(--border)}.crest-row-edit{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.crest-row-edit img{width:3.5rem;height:3.5rem;object-fit:contain;border-radius:12px;border:1px solid var(--border);background:#fff;padding:4px}.preview{position:sticky;top:5.5rem}.preview .frame{border-radius:18px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-3);background:var(--brand-deep);position:relative;isolation:isolate;aspect-ratio:4 / 3.1;display:grid;grid-template-columns:30% 1fr}.preview .frame:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:var(--photo-sm) center 30% / cover no-repeat}.preview .frame:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(160deg,rgb(var(--brand-deep-rgb) / .5),rgb(var(--brand-deep-rgb) / .82))}:root[data-veil=light] .preview .frame:after{background:linear-gradient(160deg,rgb(var(--brand-deep-rgb) / .3),rgb(var(--brand-deep-rgb) / .62))}:root[data-veil=strong] .preview .frame:after{background:linear-gradient(160deg,rgb(var(--brand-deep-rgb) / .7),rgb(var(--brand-deep-rgb) / .92))}.preview .p-side{padding:.7rem .55rem;display:grid;align-content:start;gap:.35rem;background:rgb(var(--brand-deep-rgb) / .55)}.preview .p-side i{display:block;height:.5rem;border-radius:4px;background:#ffffff40}.preview .p-side i.on{background:var(--accent);width:80%}.preview .p-side i.logo{height:1.4rem;width:1.4rem;border-radius:6px;background:var(--accent);margin-bottom:.4rem}.preview .p-main{margin:.55rem .55rem .55rem 0;border-radius:12px;background:var(--sheet);box-shadow:inset 0 2px 0 var(--accent);padding:.6rem;display:grid;align-content:start;gap:.45rem}.preview .p-hero{height:3.6rem;border-radius:9px;background:linear-gradient(95deg,rgb(var(--brand-deep-rgb) / .9),rgb(var(--brand-deep-rgb) / .2)),var(--photo-sm) center 30% / cover}.preview .p-row{display:flex;gap:.4rem}.preview .p-row b{flex:1;height:2.2rem;border-radius:8px;background:var(--surface-2);border:1px solid var(--border)}.preview .p-btn{width:45%;height:1.3rem;border-radius:7px;background:var(--brand)}.preview .p-line{height:.45rem;border-radius:4px;background:var(--surface-3)}.preview figcaption{color:var(--text-2);font-size:var(--step--1);margin-top:.6rem}.save-bar{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;position:sticky;bottom:.75rem;padding:.7rem .8rem;border-radius:16px;background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border);box-shadow:var(--shadow-2);margin-top:.5rem;z-index:3;animation:rise .25s var(--ease) backwards}.save-bar .grow{flex:1;color:var(--text-2);font-size:var(--step--1)}@media(max-width:1000px){.appearance{grid-template-columns:1fr}.preview{position:static}}:root[data-theme=dark] .mark{background-color:#fff}:root[data-theme=dark] :is(.receipt,.letter){background:#fff;color:#000;padding:1rem;border-radius:8px}:root[data-theme=dark] img.photo{background:var(--surface-2)}:root[data-theme=dark] .chat-bubble{background:var(--surface-2)}:root[data-theme=dark] .chat-thread{background:var(--surface)}@media(max-width:820px){.shell{grid-template-columns:1fr}.side{width:17.5rem;background:linear-gradient(180deg,rgb(var(--brand-deep-rgb) / .9),rgb(var(--brand-deep-rgb) / .97))}.menu-open .side{box-shadow:0 0 0 100vmax #00000073}.menu-btn{display:inline-grid;place-items:center;padding:0;width:2.4rem;height:2.4rem;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.main{padding:.55rem;gap:.55rem}.top{top:.55rem;padding:.5rem}.content{padding:1.3rem 1rem 3.5rem;border-radius:18px;margin-left:0}.hero{padding:1.4rem 1.2rem 1.25rem;min-height:12rem;margin-top:-.2rem}.tabs{width:auto}}@media(min-width:821px)and (max-width:900px){.nav-toggle{display:none}}@media print{.backdrop,.hero,.top,.side{display:none!important}.main{padding:0}.content{box-shadow:none;background:#fff;border-radius:0;padding:0}.content>*{animation:none!important}:root[data-theme=dark]{--text: #000;--surface: #fff}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes drop{0%{opacity:0;transform:translateY(-4px) scale(.98)}}@keyframes pop{0%{opacity:0;transform:scale(.6)}}@keyframes grow{0%{transform:scaleX(0)}}@keyframes pulse{0%{box-shadow:0 0 #15803d73}70%{box-shadow:0 0 0 7px #15803d00}to{box-shadow:0 0 #15803d00}}@keyframes blink{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.portal-top .portal-brand{display:flex;align-items:center;gap:.75rem}.portal-top .portal-brand span{display:block}.portal-who{flex-direction:row;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.portal-who .theme-switch{background:#ffffff1f;border-color:#ffffff38;color:#fff}@media screen and (min-width:821px){.shell{height:100vh;min-height:0}.main{height:100vh;overflow:hidden}.top{position:relative;top:0;flex:none}.content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding-top:1rem}}.top .search{margin-right:auto}@media(max-width:820px){.top{top:0;margin:-.55rem -.55rem 0;border-radius:0 0 18px 18px;border-top:0;background:rgb(var(--surface-rgb) / .9)}}@media print{.shell,.main{height:auto!important;overflow:visible!important}.content{overflow:visible!important}}@media(max-width:820px){.search kbd{display:none}.hero .quick{flex-wrap:nowrap;overflow-x:auto;margin-right:-1.2rem;padding-right:1.2rem;scrollbar-width:none}.hero .quick a{flex:none}}.code-input{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;letter-spacing:.18em;font-size:1.15rem;text-transform:uppercase}.who-pick{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.who-pick legend{font-size:var(--step--1);font-weight:600;color:var(--label);margin-bottom:.35rem;padding:0}.who-pick label{display:flex;gap:.5rem;align-items:flex-start;padding:.55rem .65rem;border:1px solid var(--border);border-radius:12px;cursor:pointer;background:var(--surface);transition:border-color var(--fast),box-shadow var(--fast),background var(--fast)}.who-pick label:hover{border-color:rgb(var(--brand-rgb) / .45)}.who-pick label.on{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .14)}.who-pick input{margin-top:.2rem;flex:none}.who-pick strong{display:block;font-size:.9rem}.who-pick small{display:block;color:var(--text-2);font-size:.75rem;line-height:1.3}@media(max-width:480px){.who-pick{grid-template-columns:1fr}}.demo-ribbon{position:relative;z-index:7;display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;text-align:center;padding:.4rem 1rem;font-size:.82rem;font-weight:600;color:var(--on-accent);background:var(--accent);border-radius:12px;box-shadow:var(--shadow-1)}.demo-ribbon a{color:inherit}.portal .demo-ribbon{border-radius:0}.demo-reqs{display:grid;gap:.75rem}.demo-req{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-1);padding:.9rem 1.05rem;display:grid;gap:.4rem}.demo-req header{display:flex;flex-wrap:wrap;gap:.4rem .75rem;align-items:baseline}.demo-req header strong{font-size:1.05rem}.demo-req .facts{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem;color:var(--text-2);font-size:var(--step--1);margin:0}.demo-req .msg{margin:0;white-space:pre-wrap}.demo-req .acts{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.demo-req .acts select{width:auto;min-height:2.2rem}.tag.pending{background:var(--warn-soft);color:var(--warn-text)}.tag.granted{background:var(--success-soft);color:var(--success-text)}.tag.declined,.tag.revoked,.tag.ended{background:var(--surface-3);color:var(--text-2)}.granted-code{border:1px solid var(--success);background:var(--success-soft);border-radius:12px;padding:.8rem 1rem;display:grid;gap:.5rem}.granted-code code.big{font-size:1.4rem;letter-spacing:.15em;font-weight:700;color:var(--success-text);background:none}.granted-code pre{white-space:pre-wrap;margin:0;background:var(--surface);border-radius:8px;font-family:var(--font);font-size:.9rem;-webkit-user-select:text;user-select:text}.pay-people{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.5rem}.pay-person{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-1);transition:box-shadow var(--fast),border-color var(--fast)}.pay-person:hover{border-color:var(--border-strong)}.pay-person.open{border-color:rgb(var(--brand-rgb) / .5);box-shadow:var(--shadow-2)}.pay-person.edited{box-shadow:var(--shadow-1),inset 4px 0 0 var(--accent)}.pay-person.off{background:var(--surface-2)}.pp-row{display:grid;grid-template-columns:minmax(12rem,1.4fr) minmax(0,2fr) auto;gap:.75rem 1.25rem;align-items:center;padding:.75rem 1rem}.pp-who{display:flex;flex-direction:column;gap:.1rem;min-width:0}.pp-who .changed{color:var(--warn-text)}.pp-figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0}.pp-figs dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);font-weight:700}.pp-figs dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600}.pp-figs .net dd{color:var(--brand-text);font-weight:750}.pp-figs dd.low{color:var(--danger)}.pp-acts{display:flex;gap:.4rem;justify-content:flex-end;flex-wrap:wrap}.pp-confirm{margin:0 1rem .9rem;padding:.75rem .9rem;border-radius:12px;background:var(--danger-soft);border:1px solid var(--danger-border)}.pp-confirm p{margin:0 0 .6rem}.pp-confirm .acts{display:flex;gap:.5rem;flex-wrap:wrap}.pp-edit{border-top:1px solid var(--border);padding:.9rem 1rem 1rem;display:grid;gap:.9rem;animation:rise .2s var(--ease) backwards}.pp-edit fieldset{border:0;padding:0;margin:0}.pp-edit legend{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);margin-bottom:.5rem;padding:0}.pp-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.6rem .8rem}.pp-fields.bank{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}.pp-field{display:flex;flex-direction:column;gap:.25rem;font-size:var(--step--1);font-weight:600;color:var(--label);min-width:0}.pp-field input.amount{width:100%;background:var(--surface-2);border-color:var(--border);min-height:2.5rem;font-size:1rem}.pp-field input.amount:focus{background:var(--surface)}.pp-field .field>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.pp-field .field input{font-weight:400}.pp-total{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;padding:.65rem .9rem;border-radius:12px;background:var(--brand-soft);font-variant-numeric:tabular-nums}.pp-total strong{margin-left:.3rem}.pp-total .net{color:var(--brand-text)}.pp-total .btn{margin-left:auto}.pp-total.grand{background:var(--surface-2);border:1px solid var(--border);margin-bottom:.75rem}.pay-off{margin:.5rem 0 1rem}.pay-off>summary{cursor:pointer;font-weight:650;padding:.4rem 0;color:var(--text-2)}.slip-extras{margin-top:0}@media(max-width:900px){.pp-row{grid-template-columns:1fr}.pp-acts{justify-content:flex-start}}
