:root{color-scheme:light dark;--accent-now:#ff9801;--accent-twin:#83b0ef;--border-default:#ece8e0;--border-strong:#a3a19c;--brand-adaptive-lavender:#cbd1f5;--brand-black:#000000;--brand-ink:#1b1c1f;--brand-ink-active:#18191c;--brand-ink-hover:#3b3c3e;--brand-learning-yellow:#fde87e;--brand-navy:#1f2a44;--brand-signal-orange:#ff9801;--brand-twin-blue:#83b0ef;--brand-warm-ground:#fdf7ec;--brand-white:#ffffff;--chip-now-bg:#fff1dc;--chip-ok-bg:#e7f0fd;--clay-blue-shade:#5b8bd6;--clay-body:#f4ede2;--clay-body-shade:#d9cdbb;--clay-lavender-shade:#a9b0e6;--clay-orange-shade:#e07e00;--clay-yellow-shade:#e8c84a;--focus-ring:#83b0ef;--icon-accent:#83b0ef;--icon-ink:#1b1c1f;--state-error:#c4553f;--state-error-active:#b04d39;--state-error-bg:#fbe9e4;--state-error-hover:#cb6956;--state-info:#3a6bbf;--state-info-bg:#e7f0fd;--state-reward:#e8a33a;--state-reward-bg:#fdf3d6;--state-success:#3e7a5c;--state-success-bg:#e6f2ea;--surface-active:#dbdad5;--surface-card:#ffffff;--surface-hover:#e8e6e2;--surface-page:#fdf7ec;--surface-raised:#f6eedf;--surface-subtle:#f3f1ec;--text-on-accent:#ffffff;--action-primary:#1b1c1f;--action-primary-hover:#3b3c3e;--action-primary-active:#18191c;--text-on-primary:#ffffff;--text-primary:#1b1c1f;--text-secondary:#666666;--icon-clay-min:32px;--icon-flat-max:24px;--logo-min-wordmark:120px;--logo-monogram-max:63px;--logo-small-cut-max:119px;--radius-button:10px;--radius-card:24px;--radius-chip:999px;--radius-tile:14px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-6:48px;--font-display:"Fixel Display","Fixel",ui-sans-serif,system-ui,"Segoe UI",Roboto,sans-serif;--font-text:"Fixel Text","Fixel",ui-sans-serif,system-ui,"Segoe UI",Roboto,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--t-display-h1-size:40px;--t-display-h1-lh:1.1;--t-display-h1-weight:700;--t-display-h1-ls:-0.01em;--t-display-h2-size:28px;--t-display-h2-lh:1.15;--t-display-h2-weight:600;--t-display-h2-ls:-0.005em;--t-display-h3-size:20px;--t-display-h3-lh:1.25;--t-display-h3-weight:600;--t-display-h3-ls:0;--t-text-body-size:16px;--t-text-body-lh:1.5;--t-text-body-weight:400;--t-text-body-ls:0;--t-text-body-medium-size:16px;--t-text-body-medium-lh:1.5;--t-text-body-medium-weight:500;--t-text-body-medium-ls:0;--t-text-small-size:14px;--t-text-small-lh:1.45;--t-text-small-weight:400;--t-text-small-ls:0;--t-text-label-size:13px;--t-text-label-lh:1.3;--t-text-label-weight:500;--t-text-label-ls:0.01em;--t-data-mono-size:12px;--t-data-mono-lh:1.4;--t-data-mono-weight:400;--t-data-mono-ls:0;--scrim:rgba(15,23,38,0.50);--shadow-clay-light:0 3px 5px rgba(31,42,68,0.18);--shadow-clay-dark:0 3px 5px rgba(0,0,0,0.55);--shadow-card:0 2px 8px rgba(27,28,31,0.06);--shadow-raised:0 6px 18px rgba(6,9,15,0.16);--shadow-dialog:0 12px 32px rgba(6,9,15,0.26);--shadow-knob:0 1px 2px rgba(6,9,15,0.2);--shell-radius-panel:12px;--shell-radius-control:8px;--shell-nav-active-bg:var(--surface-subtle);--shell-nav-active-shadow:none;--shell-nav-active-border:var(--border-default);--shell-panel-shadow:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--accent-now:#ffb24a;--action-primary:#ffffff;--action-primary-hover:#e9edf5;--action-primary-active:#d5dbe8;--text-on-primary:#1b1c1f;--accent-twin:#8fb8f2;--border-default:#34426a;--border-strong:#7b849e;--chip-now-bg:#4a3418;--chip-ok-bg:#1e3459;--focus-ring:#8fb8f2;--icon-accent:#8fb8f2;--icon-ink:#ffffff;--state-error:#f0937e;--state-error-active:#d88471;--state-error-bg:#4a2620;--state-error-hover:#f2a08d;--state-info:#8fb8f2;--state-info-bg:#1e3459;--state-reward:#fde87e;--state-reward-bg:#4a3f18;--state-success:#8fcfaa;--state-success-bg:#1e3a2c;--surface-active:#46516d;--surface-card:#25314f;--surface-hover:#394563;--surface-page:#1f2a44;--surface-raised:#2f3c5e;--surface-subtle:#2a3757;--text-primary:#ffffff;--text-secondary:#b9c2dc;--shadow-card:0 2px 8px rgba(0,0,0,0.4);--shadow-raised:0 6px 18px rgba(0,0,0,0.5);--shadow-dialog:0 12px 32px rgba(0,0,0,0.6);--scrim:rgba(0,0,0,0.62)}}*{box-sizing:border-box}body,html{margin:0}body{background:var(--surface-page);color:var(--text-primary);font:var(--t-text-body-weight) var(--t-text-body-size) /var(--t-text-body-lh) var(--font-text);padding:max(24px,env(safe-area-inset-top)) 16px max(48px,env(safe-area-inset-bottom))}a{color:var(--state-info)}button,input,select,textarea{font:inherit;color:inherit}.wrap{max-width:460px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-2)}.top{justify-content:space-between}.school,.top{display:flex;align-items:center;gap:12px}.school{min-width:0}.school img{height:44px;width:auto;max-width:140px;object-fit:contain}.school-name{font:700 18px/1.15 var(--font-display);text-wrap:balance}.school-sub{font-size:13px;color:var(--text-secondary)}.twin-mark{width:22px;height:22px;border-radius:7px;background:var(--brand-navy);color:#fff;display:grid;place-items:center;font:700 12px var(--font-display);flex:none}.lang{display:flex;border:1px solid var(--border-default);border-radius:var(--radius-chip);overflow:hidden;flex:none}.lang a{padding:4px 10px;font:500 13px var(--font-text);text-decoration:none;color:var(--text-primary)}.lang a[aria-current=true]{background:var(--action-primary);color:var(--text-on-primary)}h1{font:var(--t-display-h2-weight) var(--t-display-h2-size) /var(--t-display-h2-lh) var(--font-display);margin:4px 0 0;text-wrap:balance}h2{font:var(--t-display-h3-weight) var(--t-display-h3-size) /var(--t-display-h3-lh) var(--font-display);margin:8px 0 0}.muted{color:var(--text-secondary);font-size:14px;margin:0}.kids{display:flex;gap:8px;flex-wrap:wrap}.chip{border-radius:var(--radius-chip);padding:6px 12px;font:500 13px var(--font-text);background:var(--surface-card);border:1px solid var(--border-default);text-decoration:none;color:var(--text-primary)}.chip[aria-current=true]{background:var(--chip-ok-bg);border-color:var(--accent-twin)}.summary{background:var(--brand-navy);color:#fff;border-radius:var(--radius-card);padding:20px;display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap}.summary>div:last-child{text-align:right;margin-left:auto}.summary .big{font:700 30px/1 var(--font-display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.summary small{opacity:.78;font-size:13px}.card{background:var(--surface-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:20px;flex-direction:column;gap:14px}.card,.row{display:flex}.row{justify-content:space-between;align-items:start;gap:12px;flex-wrap:wrap}.row>div:first-child{min-width:0;flex:1 1 200px}.label{font:var(--t-text-label-weight) var(--t-text-label-size) /var(--t-text-label-lh) var(--font-text);color:var(--text-secondary);letter-spacing:.01em}.title{font:600 17px/1.3 var(--font-display)}.amount{font:700 22px/1.1 var(--font-display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.meta{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px 12px;gap:8px 12px;font-size:14px}.meta span{display:block}.status{border-radius:var(--radius-chip);padding:3px 10px;font:500 12px var(--font-text);white-space:nowrap}.s-partially_paid,.s-unpaid{background:var(--chip-now-bg);color:var(--clay-orange-shade)}.s-overdue{background:var(--state-error-bg);color:var(--state-error)}.s-paid{background:var(--state-success-bg);color:var(--state-success)}.s-checking{background:var(--state-info-bg);color:var(--state-info)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:var(--radius-button);padding:12px 16px;font:600 15px var(--font-text);cursor:pointer;text-align:center;text-decoration:none;display:block;width:100%}.btn-primary{background:var(--action-primary);color:var(--text-on-primary)}.btn-primary:hover{background:var(--action-primary-hover)}.btn-secondary{background:var(--surface-subtle);color:var(--text-primary);border:1px solid var(--border-default)}.btns{grid-template-columns:1fr 1fr}.btns,.feedback{display:grid;grid-gap:8px;gap:8px}.links{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px}details{background:var(--surface-subtle);border-radius:var(--radius-tile);padding:12px 14px}details>summary{cursor:pointer;font:600 15px var(--font-text)}details[open]>summary{margin-bottom:8px}.kv{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--border-default)}.kv:first-of-type{border-top:0}details .kv{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:2px 10px;gap:2px 10px}details .kv .label{grid-column:1/-1}.kv code{font:400 14px/1.4 var(--font-mono);overflow-wrap:anywhere;text-align:left}.kv code.text{font:500 14px/1.35 var(--font-text)}.copy{font:500 12px var(--font-text);border:1px solid var(--border-strong);background:var(--surface-card);border-radius:8px;padding:4px 8px;white-space:nowrap;cursor:pointer}.qr{display:flex;gap:12px;align-items:center;padding-top:10px;border-top:1px solid var(--border-default)}.qr svg{width:128px;height:128px;flex:none;background:#fff;border-radius:8px;padding:6px}form.stack{display:flex;flex-direction:column;gap:10px}form.stack input,form.stack select,form.stack textarea{width:100%;padding:10px 12px;border-radius:var(--radius-button);border:1px solid var(--border-strong);background:var(--surface-card)}.notice{border-radius:var(--radius-tile);padding:12px 14px;background:var(--state-success-bg);color:var(--state-success);font-size:14px}.notice.error{background:var(--state-error-bg);color:var(--state-error)}.hist{background:var(--surface-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:4px 20px}.hist .kv{padding:12px 0}.hist .right{text-align:right;display:flex;flex-direction:column;align-items:end;gap:4px}footer{color:var(--text-secondary);font-size:13px;text-align:center;margin-top:8px}footer a{color:inherit}@media print{body{padding:12px}.card,.hist,.summary,details{page-break-inside:avoid;break-inside:avoid}.card{box-shadow:none;border:1px solid var(--border-default)}}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}