:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#2d153b;background:#faf7fc;font-synthesis:none;--purple:#8013b3;--muted:#7c6a87;--border:#e9dcef}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:44px;border:0;border-radius:12px;padding:11px 16px;background:var(--purple);color:white;font-weight:650}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c788e4;outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:26px;line-height:1.2}h2{font-size:20px}h3{font-size:16px}a{color:var(--purple)}.shell{max-width:880px;margin:0 auto;padding:24px 20px max(20px,env(safe-area-inset-bottom))}.brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:16px;background:var(--purple);color:#ffe39a;font-size:28px;font-weight:800}.brand strong{display:block;font-size:22px}.brand span:not(.brand-mark){font-size:13px;color:var(--muted)}.brand>button{margin-left:auto}.subtle{color:var(--purple);background:#f2e8f8}.panel{background:#fff;border:1px solid var(--border);border-radius:20px;padding:22px}.login{max-width:490px;margin:35px auto}.eyebrow{display:block;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:1.1px;margin-bottom:8px}.login p{line-height:1.55;color:var(--muted);margin:16px 0 22px}.login form{display:grid;gap:12px}.login .privacy{font-size:12px;margin-bottom:0}label{font-size:13px;font-weight:650}input,select{border:1px solid var(--border);border-radius:12px;background:#fff;color:#2d153b;width:100%;min-height:48px;padding:12px;font-size:16px}#code{letter-spacing:5px;font-size:22px}#codeForm{margin-top:20px}.notice{border:1px solid var(--border);background:#f2e8f8;padding:13px 16px;border-radius:12px;margin:14px 0;line-height:1.45;font-size:14px}.notice.error{background:#fff1f3;border-color:#f3cbd4;color:#9a2742}.family-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.family-head h1{font-size:23px;overflow-wrap:anywhere}.child-picker{display:grid;gap:8px;padding:16px 18px}.child-picker select{font-weight:700}.muted{color:var(--muted);font-size:13px}.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:5px;background:#efe7f3;border-radius:15px;margin:18px 0}.tabs button{min-width:0;padding:12px 3px;background:transparent;color:var(--muted);font-size:13px;border-radius:11px}.tabs button[aria-pressed=true]{background:white;color:var(--purple);box-shadow:0 2px 6px #2d153b0b}.student-card{background:linear-gradient(130deg,#9925d0,#65108d);color:#fff;border:0}.student-card .eyebrow{color:#ffdf83}.student-card h2{font-size:26px;margin:8px 0 18px;overflow-wrap:anywhere}.pill{display:inline-block;border-radius:20px;padding:6px 10px;font-size:12px;font-weight:700;background:#ffffff20}.pill.in{background:#d7f5e2;color:#13633c}.pill.bad{background:#ffe3e9;color:#a02843}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;border-top:1px solid #ffffff30;margin-top:20px;padding-top:18px}.stats small{display:block;color:#ead8f4;font-size:11px;margin-bottom:5px}.stats strong{display:block;font-size:16px;overflow-wrap:anywhere}.barcode{background:#fff;color:#24192a;border-radius:16px;padding:22px 18px;text-align:center;margin-top:22px}.barcode svg{display:block;width:100%;height:78px;fill:#000}.barcode b{display:block;font-size:26px;letter-spacing:2px;margin-top:14px}.barcode small{display:block;color:var(--muted);font-size:12px;margin-top:9px}.list{display:grid;gap:12px}.list .panel{padding:18px}.row-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.row-head>strong{font-size:15px}.row-head small{font-size:12px;color:var(--muted);white-space:nowrap}.list p{font-size:14px;line-height:1.5;margin-top:10px;color:var(--muted)}.empty{padding:30px 20px;text-align:center;color:var(--muted);line-height:1.5}.loading{text-align:center;padding:40px;color:var(--muted)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:22px 0 12px;gap:10px}.receipt-form{display:grid;gap:12px;margin-top:14px}.receipt-form label{display:grid;gap:6px}.receipt-form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.receipt-form input[type=file]{font-size:13px}details summary{cursor:pointer;font-weight:700;min-height:24px}footer{color:var(--muted);font-size:11px;text-align:center;margin:26px 0 6px}.schedule-line{border-top:1px solid var(--border);padding-top:10px;margin-top:10px;font-size:14px;line-height:1.5}.schedule-line span{display:block;color:var(--muted);font-size:12px}.proof-status{color:var(--purple);font-size:12px;font-weight:650}.file-download{display:block;margin-top:12px}.payments-note{margin-bottom:12px;color:var(--muted);font-size:13px;line-height:1.5}
@media(min-width:700px){.student-card{max-width:560px;margin:auto}.list{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.shell{padding:18px 14px max(18px,env(safe-area-inset-bottom))}.brand{margin-bottom:22px}.panel{padding:18px}.login{margin:22px auto}.login h1{font-size:25px}.tabs button{font-size:12px}.receipt-form .two{grid-template-columns:1fr}.row-head{flex-wrap:wrap}}
