:root{color-scheme:light;--background:#fff;--soft-pink:#fde8ee;--pink:#f56e8a;--plum:#33263a;--muted:#766d79;--blue:#287fbb;--green:#3d9b67;--danger:#c93655;--border:#e9e3e8;--focus:#176da4;font-synthesis:none;font-family:ui-rounded,SF Pro Rounded,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--background);color:var(--plum);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input{color:inherit;font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 65%, white);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.button{cursor:pointer;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.65rem 1rem;font-size:.94rem;font-weight:800;transition:background-color .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.button:not(:disabled):active{transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.52}.button--primary{background:var(--blue);color:#fff}.button--primary:not(:disabled):hover{background:#176da4}.button--secondary{border-color:var(--blue);color:var(--blue);background:#fff}.button--secondary:not(:disabled):hover{background:#eef7fc}.button--quiet{color:var(--plum);background:0 0}.button--quiet:not(:disabled):hover{background:#f7f4f6}.button--danger{color:var(--danger);background:#fff;border-color:#f3ccd5}.button--danger:not(:disabled):hover{background:#fff1f4}.button--icon{flex:0 0 44px;width:44px;height:44px;padding:0}.center-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.center-state p{color:var(--muted);margin:.8rem 0 1.5rem}.center-state--error>svg{color:var(--danger);width:36px;height:36px}.center-state h1{margin:1rem 0 0;font-size:1.35rem}.spinner{color:var(--pink);width:34px;height:34px;animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-page{background:radial-gradient(circle at 18% 8%,#f56e8a24,#0000 32%),#fff;justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-panel{border:1px solid var(--border);background:#fff;border-radius:18px;width:100%;max-width:520px;padding:1.4rem;box-shadow:0 18px 55px #33263a1a}.login-brand,.brand{color:var(--pink);font-size:1.25rem;font-weight:800;text-decoration:none}.login-heading{align-items:flex-start;gap:.9rem;margin:2.2rem 0 1.5rem;display:flex}.login-heading__icon{background:var(--soft-pink);color:var(--pink);border-radius:50%;flex:0 0 48px;justify-content:center;align-items:center;height:48px;display:flex}.login-heading h1{margin:0;font-size:clamp(1.35rem,6vw,1.85rem);line-height:1.18}.login-heading p{color:var(--muted);margin:.35rem 0 0;font-size:.94rem}.role-picker{border:0;gap:.65rem;margin:0;padding:0;display:grid}.role-option{border:1px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:14px;min-height:68px;padding:.85rem 1rem}.role-option:hover{border-color:#e7a3b3}.role-option[data-selected=true]{background:color-mix(in srgb, var(--soft-pink) 70%, white);border-color:var(--pink)}.role-option__name,.role-option__description{display:block}.role-option__name{font-size:1.05rem;font-weight:800}.role-option__description{color:var(--muted);margin-top:.14rem;font-size:.85rem}.pin-field{margin-top:1.25rem}.pin-field label,.activity-form label>span{margin:0 0 .4rem;font-size:.83rem;font-weight:800;display:block}.pin-field input,.activity-form input{background:#fff;border:1px solid #cec5cd;border-radius:12px;width:100%;min-height:48px;padding:.7rem .85rem;font-size:1rem}.pin-field input{font-variant-numeric:tabular-nums;letter-spacing:.7em;text-align:center;text-indent:.7em;font-size:1.45rem}.pin-field input[aria-invalid=true],.activity-form input:invalid:not(:placeholder-shown){border-color:var(--danger)}.field-help{color:var(--muted);text-align:right;margin:.35rem 0 0;font-size:.8rem}.login-submit{width:100%;margin-top:1rem}.login-back{width:100%;margin-top:.3rem}.form-message{border-radius:10px;align-items:center;gap:.45rem;margin:.8rem 0 0;padding:.7rem .8rem;font-size:.88rem;display:flex}.form-message--error{color:#9e2942;background:#fff0f3}.form-message--success{color:#29744b;background:#edf8f2}.app-header{z-index:20;background:#fffffff5;justify-content:space-between;align-items:center;height:62px;padding:0 1rem;display:flex;position:sticky;top:0}.account{align-items:center;gap:.6rem;display:flex}.account>span{font-size:.94rem;font-weight:800;line-height:1}.day-page{max-width:1240px;margin:0 auto;padding-bottom:3rem;overflow:hidden}.day-workspace{touch-action:pan-y;transition:opacity .15s}.day-workspace--loading{opacity:.58;pointer-events:none}.day-banner{background:var(--day-accent);color:var(--day-accent-ink);grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:.6rem;min-height:84px;padding:.55rem .5rem;display:grid}.day-banner__center{text-align:center;min-width:0}.day-banner__nav.button--quiet{color:inherit}.day-banner__nav.button--quiet:not(:disabled):hover{background:color-mix(in srgb, currentColor 12%, transparent)}.day-banner__copy h1{margin:0;font-size:clamp(1.12rem,5vw,1.55rem);line-height:1.08}.day-banner__copy p{margin:.25rem 0 0;font-size:.8rem;font-weight:700}.schedule-section{padding:.75rem 1rem 0}.lesson-list,.activity-list{margin:0 .25rem;padding:0;list-style:none}.lesson-list{gap:.25rem;margin:0;display:grid}.lesson-row{grid-template-columns:32px minmax(0,1fr) 44px;align-items:center;gap:.5rem;min-height:60px;padding:.25rem 1rem;transition:background-color .15s;display:grid;position:relative}.lesson-row--completed{background:#f1faf4;border-radius:12px}.lesson-number{border:2px solid color-mix(in srgb, var(--day-accent) 55%, white);z-index:1;background:#fff;border-radius:50%;justify-content:center;align-self:center;align-items:center;width:30px;height:30px;font-size:.92rem;font-weight:800;display:flex;position:relative}.lesson-copy{min-width:0}.lesson-meta{flex-wrap:wrap;align-items:baseline;gap:.2rem .65rem;display:flex}.lesson-meta strong{font-size:1rem;line-height:1.25}.lesson-meta time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:700}.activity-row strong{font-size:1rem;line-height:1.25}.homework-check{cursor:pointer;justify-content:flex-end;align-items:center;width:44px;height:44px;display:flex;position:relative}.homework-check input{opacity:0;width:1px;height:1px;position:absolute}.homework-check span{background:#fff;border:2px solid #a89ea6;border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;margin:0;transition:background-color .15s,border-color .15s;display:flex}.homework-check svg{color:#fff;opacity:0;stroke-width:3px;width:18px;height:18px}.homework-check input:checked+span{background:var(--green);border-color:var(--green)}.homework-check input:checked+span svg{opacity:1}.homework-check input:focus-visible+span{outline:3px solid color-mix(in srgb, var(--focus) 65%, white);outline-offset:3px}.homework-check--readonly{cursor:default;opacity:.78}.homework-error{margin-bottom:.8rem}.lunch-divider{background:var(--day-accent);color:var(--day-accent-ink);white-space:nowrap;justify-content:center;align-items:center;gap:.55rem;width:100%;min-height:44px;margin-top:1rem;padding:.5rem 1rem;font-size:.92rem;display:flex}.lunch-divider strong{font-size:.9rem;line-height:1.25}.lunch-divider svg{flex:none;width:18px;height:18px}.after-school{padding-top:.75rem}.activity-row{grid-template-columns:32px 3.4rem minmax(0,1fr);align-items:center;gap:.55rem;min-height:68px;padding:.55rem .5rem;display:grid}.lesson-row:last-child,.activity-row:last-child{border-bottom:0}.activity-row time,.lunch-divider time{font-variant-numeric:tabular-nums;letter-spacing:.01em;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.9rem;font-weight:600;line-height:1.25}.activity-row time{color:var(--muted)}.schedule-empty{color:var(--muted);text-align:center;margin:0;padding:1.1rem .5rem 1.2rem;line-height:1.5}.mom-editor{margin-top:.75rem}.mom-editor .editor-panel{margin:0 1rem}.mom-editor .lunch-divider+.editor-panel{margin-top:.85rem}.editor-panel__toolbar{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.editor-panel__toolbar:empty{display:none}.editor-panel__toolbar h2{margin:0;font-size:1rem}.editor-list{border:1px solid var(--border);border-radius:14px;overflow:hidden}.editor-row{grid-template-columns:3.6rem minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:68px;padding:.6rem .55rem .6rem .85rem;display:grid}.editor-row+.editor-row{border-top:1px solid var(--border)}.activity-editor-list .editor-row+.editor-row{border-top:0}.editor-row time{font-variant-numeric:tabular-nums;font-family:inherit;font-size:.9rem;font-weight:700;line-height:1.25}.editor-row>span{min-width:0;font-family:inherit;font-size:.9rem;font-weight:700;line-height:1.25}.lesson-editor-row{grid-template-columns:44px minmax(0,1fr) calc(88px + .2rem);position:relative}.lesson-editor-row--dragging{background:color-mix(in srgb, var(--day-accent) 10%, white);box-shadow:inset 3px 0 0 var(--day-accent);opacity:.72}.lesson-editor-row--drop-before:before,.lesson-editor-row--drop-after:after{background:var(--day-accent);content:"";pointer-events:none;z-index:2;border-radius:999px;height:3px;position:absolute;left:.55rem;right:.55rem}.lesson-editor-row--drop-before:before{top:-2px}.lesson-editor-row--drop-after:after{bottom:-2px}.lesson-drag-handle{cursor:grab;touch-action:none}.lesson-drag-handle[aria-pressed=true]{cursor:grabbing}.lesson-editor-row__copy{flex-direction:column;gap:.18rem;display:flex}.lesson-editor-row__copy strong{font-size:.9rem;font-weight:700;line-height:1.25}.lesson-editor-row__copy time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:700}.lesson-editor-row__actions{grid-template-columns:repeat(2,44px);gap:.2rem;display:grid}.editor-row__actions{gap:.2rem;display:flex}.editor-empty{color:var(--muted);text-align:center;margin:0;padding:1.2rem}.activity-form{background:color-mix(in srgb, var(--day-accent) 7%, white);border:1px solid color-mix(in srgb, var(--day-accent) 22%, var(--border));border-radius:14px;margin:0 0 .85rem;padding:1rem}.editor-list .activity-form{border:0;border-radius:0;margin:0}.activity-form h3{margin:0 0 .85rem;font-size:.94rem}.activity-form__fields{gap:.75rem;display:grid}.activity-form__actions{flex-wrap:wrap;gap:.4rem;margin-top:.8rem;display:flex}.global-toast{z-index:40;max-width:420px;margin:0;position:fixed;bottom:1rem;left:1rem;right:1rem;box-shadow:0 8px 30px #33263a29}@media (width>=720px){.app-header{padding:0 2rem}.day-page{padding:0 1.75rem 4rem}.day-content{border:1px solid var(--border);border-radius:18px;overflow:hidden}.day-banner{min-height:112px;padding:1rem 1.25rem}.schedule-section{padding-left:2rem;padding-right:2rem}.lesson-row{grid-template-columns:44px minmax(0,1fr) 52px;gap:1rem;min-height:68px}.activity-row{grid-template-columns:44px 4.25rem minmax(0,1fr)}.mom-editor{margin-top:1rem}.mom-editor .editor-panel{margin-left:2rem;margin-right:2rem}.activity-form__fields{grid-template-columns:9rem minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.spinner{animation-duration:1.5s}}
