@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,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:Bricolage Grotesque Fallback;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}.__className_94da9c{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.__variable_94da9c{--font-display:"Bricolage Grotesque","Bricolage Grotesque Fallback"}@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,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:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,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:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,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:Figtree;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,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:Figtree Fallback;src:local("Arial");ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.00%;size-adjust:100.72%}.__className_04858b{font-family:Figtree,Figtree Fallback;font-style:normal}.__variable_04858b{--font-body:"Figtree","Figtree Fallback"}:root{--green:#1f7a50;--green-soft:#e2f2e8;--ink:#13233a;--ink-2:#1c3150;--bg:#f4f5f0;--card:#ffffff;--muted:#55606e;--line:#e3e5de;--line-2:#d9dcd3;--red:#b4441c;--red-soft:#f8e6de;--amber:#b07a12;--amber-ink:#8a5e0a;--amber-soft:#f7eed9;--radius:18px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);font-family:var(--font-body),system-ui,sans-serif;font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased}a,body{color:var(--ink)}a:hover{color:var(--green)}.display,h1,h2,h3{font-family:var(--font-display),sans-serif;margin:0}h1{font-size:30px;font-weight:800;letter-spacing:-.5px}h2{font-size:19px;font-weight:700}button,input,select,textarea{font:inherit;color:inherit}.muted{color:var(--muted)}.small{font-size:13px}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pos{color:var(--green)}.neg{color:var(--red)}.warn{color:var(--amber-ink)}.btn{height:44px;padding:0 16px;border-radius:12px;border:1px solid #c9cdc2;background:#fff;font-weight:700;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;white-space:nowrap}.btn,.btn:hover{color:var(--ink)}.btn-dark,.btn:hover{border-color:var(--ink)}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:var(--ink-2);color:#fff}.btn-green{background:var(--green);color:#fff;border-color:var(--green)}.btn-green:hover{background:#196642;color:#fff}.btn-red{background:var(--red);color:#fff;border-color:var(--red)}.btn-ghost{border-color:transparent;background:transparent}.btn-sm{height:34px;padding:0 12px;font-size:13px;border-radius:10px}.btn-lg{height:56px;font-size:16px;border-radius:14px;width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:600;color:var(--muted)}.input,select.input,textarea.input{height:44px;border-radius:12px;border:1px solid var(--line-2);background:#fff;padding:0 12px;width:100%}textarea.input{height:auto;padding:10px 12px}.input:focus{outline:2px solid var(--green);outline-offset:0;border-color:var(--green)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.stack{flex-direction:column}.row,.stack{display:flex;gap:12px}.row{align-items:center}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1 1;min-width:0}.grid-kpi{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px}.grid-2,.grid-kpi{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));grid-gap:16px}.kpi-label{font-size:14px;color:var(--muted);font-weight:600}.kpi-value{font-family:var(--font-display);font-size:34px;font-weight:800}.dot{width:10px;height:10px;border-radius:5px;flex-shrink:0}.dot,.pill{display:inline-block}.pill{font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;white-space:nowrap}.pill-green{background:var(--green-soft);color:var(--green)}.pill-red{background:var(--red-soft);color:var(--red)}.pill-amber{background:var(--amber-soft);color:var(--amber-ink)}.pill-grey{background:var(--bg);color:var(--muted);border:1px solid var(--line)}.alert{padding:12px 14px;border-radius:12px;font-weight:600;font-size:14px}.alert-ok{background:var(--green-soft);color:var(--green)}.alert-err{background:var(--red-soft);color:var(--red)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:700;padding:10px 12px}.table td,.table th{border-bottom:1px solid var(--line)}.table td{padding:11px 12px;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table td.r,.table th.r{text-align:right}.table tbody tr:hover{background:#fafbf8}.table-wrap{overflow-x:auto}.admin{display:flex;min-height:100vh}.admin-nav{width:240px;flex-shrink:0;background:var(--ink);color:#fff;padding:28px 18px;display:flex;flex-direction:column;gap:6px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.admin-nav .brand{font-family:var(--font-display);font-size:22px;font-weight:800;padding:0 10px 4px}.admin-nav .school{font-size:12px;color:#9fb0c4;padding:0 10px 18px}.admin-nav a{height:44px;border-radius:12px;color:#c9d1dc;display:flex;align-items:center;padding:0 12px;font-weight:600;font-size:15px;text-decoration:none}.admin-nav a:hover{background:rgba(255,255,255,.07);color:#fff}.admin-nav a.active{background:rgba(255,255,255,.12);color:#fff;font-weight:700}.admin-nav .who{margin-top:auto;padding:12px 10px 0;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:#c9d1dc;display:flex;flex-direction:column;gap:8px}.admin-nav .who button{background:none;border:0;color:#fff;padding:0;text-align:left;cursor:pointer;font-weight:700;text-decoration:underline}.admin-main{flex:1 1;min-width:0;padding:32px;display:flex;flex-direction:column;gap:24px;max-width:1320px}.page-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}.bars{display:flex;align-items:flex-end;gap:18px;height:190px;padding-top:8px}.bars>div{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.bars .bar{width:100%;max-width:48px;border-radius:8px 8px 0 0}.todo{display:flex;gap:12px;align-items:center;padding:12px;border-radius:12px;background:var(--bg)}.todo a{font-size:14px;font-weight:700;color:var(--green)}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs a{padding:8px 14px;border-radius:999px;text-decoration:none;font-weight:600;font-size:14px;border:1px solid var(--line-2);background:#fff}.tabs a.active{background:var(--ink);color:#fff;border-color:var(--ink)}@media (max-width:860px){.admin{flex-direction:column}.admin-nav{width:100%;height:auto;position:static;flex-direction:row;flex-wrap:wrap;padding:14px}.admin-nav .school,.admin-nav .who{display:none}.admin-main{padding:20px 16px}}.phone{max-width:480px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.phone-body{flex:1 1;padding:28px 20px 96px;display:flex;flex-direction:column;gap:18px}.phone-nav{position:fixed;bottom:0;left:0;right:0;height:76px;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:center;padding-bottom:8px;z-index:10}.phone-nav>div{max-width:480px;width:100%;justify-content:space-around}.phone-nav a,.phone-nav>div{display:flex;align-items:center}.phone-nav a{flex-direction:column;gap:4px;font-size:11px;font-weight:600;color:var(--muted);text-decoration:none;min-width:64px}.phone-nav a.active{color:var(--green);font-weight:700}.balance-card{background:var(--green);border-radius:24px;padding:22px;color:#fff;display:flex;flex-direction:column;gap:14px}.balance-card.low{background:var(--amber)}.balance-card.negative{background:var(--red)}.balance-amount{font-family:var(--font-display);font-size:44px;font-weight:800;letter-spacing:-1px;line-height:1.05}.balance-actions{display:flex;gap:10px}.balance-actions a{flex:1 1;height:48px;border-radius:14px;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.balance-actions .primary{background:#fff;color:var(--ink)}.balance-actions .secondary{border:1.5px solid rgba(255,255,255,.6);color:#fff}.list-item{background:#fff;border-radius:16px;padding:12px 14px;gap:12px;border:1px solid var(--line)}.day-badge,.list-item{display:flex;align-items:center}.day-badge{width:44px;flex-direction:column}.day-badge .d{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase}.day-badge .n{font-family:var(--font-display);font-size:20px;font-weight:700}.child-switch{display:flex;gap:8px;overflow-x:auto}.child-switch a{padding:8px 14px;border-radius:999px;border:1px solid var(--line-2);background:#fff;text-decoration:none;font-weight:600;font-size:14px;white-space:nowrap}.child-switch a.active{background:var(--ink);color:#fff;border-color:var(--ink)}.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.choice{height:56px;border-radius:14px;border:1.5px solid var(--line-2);background:#fff;font-family:var(--font-display);font-weight:700;font-size:18px;cursor:pointer}.choice.on{border-color:var(--green);background:var(--green-soft);color:var(--green)}.method{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;border:1.5px solid var(--line-2);background:#fff;cursor:pointer;width:100%;text-align:left}.method.on{border-color:var(--green);background:var(--green-soft)}.method .badge{width:52px;height:34px;border-radius:8px;background:var(--ink);color:#fff;font-size:11px;font-weight:800;display:flex}.back,.method .badge{align-items:center;justify-content:center}.back{width:44px;height:44px;border-radius:22px;border:1px solid var(--line-2);background:#fff;display:inline-flex;text-decoration:none}.switch{position:relative;width:50px;height:30px;border-radius:15px;background:var(--line-2);border:0;cursor:pointer;flex-shrink:0;transition:background .15s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:12px;background:#fff;transition:left .15s;box-shadow:0 1px 2px rgba(0,0,0,.2)}.switch.on{background:var(--green)}.switch.on:after{left:23px}.login{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.login-box{width:100%;max-width:420px;display:flex;flex-direction:column;gap:18px}.demo-accounts button{text-align:left;width:100%;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;display:flex;justify-content:space-between;gap:10px}.demo-accounts button:hover{border-color:var(--green)}.kiosk{height:100vh;background:var(--ink);color:#fff;display:flex;padding:28px;gap:24px;overflow:hidden}.kiosk-left{flex:1.35 1;display:flex;flex-direction:column;gap:20px;min-width:0}.kiosk-status{flex:1 1;border-radius:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px;text-align:center;transition:background .2s;position:relative;overflow:hidden}.kiosk-status.idle{background:#1c3150}.kiosk-status.ok{background:var(--green)}.kiosk-status.ko{background:var(--red)}.kiosk-status.busy{background:#1c3150;opacity:.8}.kiosk-big{font-family:var(--font-display);font-size:60px;font-weight:800;letter-spacing:-1.5px;line-height:1.05}.kiosk-name{font-size:30px;font-weight:600}.kiosk-chip{font-size:18px;font-weight:600;background:rgba(255,255,255,.18);padding:10px 18px;border-radius:999px}.kiosk-right{flex:1 1;background:var(--bg);color:var(--ink);border-radius:28px;padding:24px;display:flex;flex-direction:column;gap:18px;min-width:0}.kiosk video{width:100%;max-width:360px;border-radius:18px;background:#000;aspect-ratio:4/3;object-fit:cover}.kiosk-hint{display:flex;align-items:center;justify-content:center;gap:12px;color:#b9c3d1;font-size:17px}.modal-back{position:fixed;inset:0;background:rgba(19,35,58,.55);display:grid;place-items:center;z-index:50;padding:16px}.modal{background:#fff;color:var(--ink);border-radius:22px;padding:24px;width:100%;max-width:520px;display:flex;flex-direction:column;gap:14px;max-height:90vh;overflow:auto}@media (max-width:900px){.kiosk{flex-direction:column;height:auto;min-height:100vh}.kiosk-status{min-height:360px}.kiosk-big{font-size:42px}}