.app-shell{--page-bg:#fafafa;--surface:#fff;--surface-soft:#f1f2f3;--ink:#252628;--muted:#74777b;--line:#e1e2e4;--accent:#252628;--accent-ink:#fff;--focus:#44b986;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-height:100dvh;color:var(--ink);background:var(--page-bg)}.agenda-search{max-width:620px;margin:0 0 14px}.agenda-filters,.choice-row{flex-wrap:wrap;gap:9px;display:flex}.agenda-count{color:var(--muted);margin:16px 0 10px;font-size:.92rem}.agenda-student-list{gap:10px;display:grid}.agenda-student{border:1px solid var(--line);background:var(--surface);min-height:76px;color:var(--ink);border-radius:14px;align-items:center;gap:14px;padding:12px 16px;text-decoration:none;display:flex}.agenda-student-copy{flex:1;gap:5px;display:grid}.agenda-student-copy span{color:var(--muted);font-size:.9rem}.status-pill{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:.8rem}.status-done{color:var(--accent);border-color:var(--accent)}.agenda-form-page{max-width:900px}.agenda-person{align-items:center;gap:16px;margin:10px 0 22px;display:flex}.large-avatar{width:76px;height:76px;font-size:1.8rem}.agenda-person h1{margin:2px 0}.agenda-panel{gap:18px;display:grid}.agenda-panel>h2,.agenda-panel>p{margin:0}.agenda-sections,.agenda-section,.nap-block{gap:14px;display:grid}.agenda-section{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:18px}.agenda-section h2{margin:0;font-size:1.12rem}.agenda-field{border:0;min-width:0;margin:0;padding:0}.agenda-field legend{margin-bottom:9px;font-weight:650}.choice-button{border:1px solid var(--line);background:var(--surface);min-height:50px;color:var(--ink);font:inherit;cursor:pointer;border-radius:12px;padding:10px 17px}.choice-button:hover{border-color:var(--accent)}.choice-button.selected{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.optional-label{color:var(--muted);font-size:.78rem;font-weight:500}.absence-note{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;padding:14px}.agenda-save-row{justify-items:start;gap:8px;padding-top:2px;display:grid}.history-section{gap:12px;margin-top:26px;display:grid}.history-section>h2{margin-bottom:0}.published-agenda{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin:12px 0;padding:16px}.published-agenda header{justify-content:space-between;align-items:center;gap:12px;display:flex}.published-agenda h2{margin:0;font-size:1.1rem}.published-details p{margin-bottom:0}.published-details{gap:14px;margin-top:18px;display:grid}.published-group{background:#f5f8f4;border:1px solid #e2eae2;border-radius:18px;padding:16px}.published-group:nth-child(2){background:#f5f3fa;border-color:#e9e3f1}.published-group:nth-child(3){background:#fff8ef;border-color:#f1e6d4}.published-group h3{margin:0 0 12px;font-size:1.04rem}.published-row{border-top:1px solid #3c50461a;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;display:flex}.answer-bubble{color:#315844;text-align:center;background:#dceee1;border-radius:999px;padding:6px 13px;display:inline-block}.published-note{margin:8px 0 0;line-height:1.5}.agenda-form-page .agenda-section{background:#f5f8f4;border-radius:20px}.agenda-form-page .agenda-section:nth-child(2){background:#f5f3fa}.agenda-form-page .agenda-section:nth-child(3){background:#fff8ef}.agenda-form-page .choice-button.selected{border-radius:999px}.graph-selector{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.graph-selector span{margin:0 4px 0 10px;font-weight:700}.app-shell{--page-bg:#f7f8f5;--surface:#fff;--surface-soft:#eef3ee;--ink:#29352d;--muted:#727d74;--line:#dfe7df;--accent:#557b63;--accent-ink:#fff;--focus:#78a987}.app-header{background:color-mix(in srgb, var(--surface) 94%, #e8f0e8)}.nav-button,.button,.choice-button{border-radius:999px}.button-primary,.choice-button.selected{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.form-card,.student-card,.family-card,.dashboard-card,.observation-card,.home-observation-card,.archived-observation-card,.catalogue-section,.roster-section,.archive-calendar,.graph-card,.agenda-student,.published-agenda,.admin-panel,.teacher-panel{border-color:var(--line);border-radius:20px;box-shadow:0 5px 18px #324b370d}.form-card,.student-card,.family-card,.dashboard-card,.observation-card,.home-observation-card,.archived-observation-card,.catalogue-section,.roster-section,.admin-panel,.teacher-panel{background:var(--surface)}.field input,.field select,.field textarea{border-radius:13px}.app-content>.page-intro{margin-bottom:22px}.app-content>section+section{margin-top:16px}.agenda-student:hover,.family-card:hover,.nav-button:hover{background-color:#f7faf6;border-color:#a9c5ae}.gender-fieldset{flex-wrap:wrap;align-items:center;gap:8px 22px;display:flex}.gender-fieldset legend{flex:0 0 100%}.gender-fieldset .radio-option{margin:0}.choice-grid-field .choice-row{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.choice-grid-field .choice-button-wide{grid-area:2/1/auto/-1;min-height:58px}.pdf-enrollment{max-width:900px}.pdf-enrollment .page-intro{margin:10px 0 22px}.pdf-enrollment .page-intro h1{font-size:clamp(1.8rem,4vw,2.25rem)}.pdf-enrollment .step-indicator{gap:8px;margin:0 0 18px;display:flex}.pdf-enrollment .step-dot{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);border-radius:50%;place-items:center;font-size:.82rem;display:grid}.pdf-enrollment .step-dot.active{background:var(--ink);color:var(--page-bg);border-color:var(--ink)}.pdf-enrollment .form-card{border:1px solid var(--line);background:var(--surface);box-shadow:none;border-radius:16px;gap:18px;padding:20px;display:grid}.pdf-enrollment .form-grid{grid-template-columns:minmax(0,1fr);gap:16px}.pdf-enrollment .field{font-size:.9rem}.pdf-enrollment .field input,.pdf-enrollment .field select,.pdf-enrollment .field textarea{background:var(--surface-soft);border-color:var(--line);border-radius:11px}.pdf-enrollment .fieldset{border:0;padding:0}.pdf-enrollment .radio-option{border:1px solid var(--line);cursor:pointer;border-radius:11px;flex:1;place-items:center;min-height:46px;display:grid}.pdf-enrollment .radio-option:has(input:checked){border:2px solid var(--ink)}.pdf-enrollment .radio-option input{opacity:0;position:absolute}.photo-editor{gap:12px;display:grid}.photo-editor-heading{align-items:center;gap:14px;display:flex}.photo-avatar{aspect-ratio:1;color:#6b625d;background:#f4d5d5;border-radius:50%;flex:0 0 76px;align-self:start;place-items:center;width:76px;height:76px;font-size:.8rem;display:grid;overflow:hidden}.photo-avatar img{object-fit:cover;object-position:center;width:100%;height:100%}.photo-editor-heading p,.photo-help{color:var(--muted);margin:4px 0 0;font-size:.82rem}.photo-upload{width:100%}.photo-crop-tools{gap:10px;padding-top:6px;display:grid}.photo-crop-tools h3{margin:0;font-size:1rem}.photo-crop-window{aspect-ratio:1;border:2px solid var(--surface);background:var(--surface-soft);touch-action:none;cursor:grab;border-radius:13px;width:min(100%,280px);margin-inline:auto;position:relative;overflow:hidden}.photo-crop-window:active{cursor:grabbing}.photo-crop-window img{object-fit:cover;object-position:center;transform-origin:50%;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.crop-crosshair{pointer-events:none;background:linear-gradient(90deg,#0000 calc(50% - .5px),#ffffffbf 50%,#0000 calc(50% + .5px)),linear-gradient(0deg,#0000 calc(50% - .5px),#ffffffbf 50%,#0000 calc(50% + .5px));position:absolute;inset:0}.photo-help{text-align:center;margin:0}.zoom-control{grid-template-columns:42px 1fr;align-items:center}.zoom-control input{accent-color:#45b987;min-height:initial!important;padding:0!important}.pdf-enrollment .form-actions .button{flex:1;min-height:54px}.pdf-enrollment .button-primary{font-weight:700}.pdf-enrollment .review-list>div{border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:15px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=560px){.agenda-filters .choice-button,.choice-row .choice-button{flex:calc(50% - 8px)}.agenda-student{gap:10px;padding:10px}.status-pill{padding:5px 8px;font-size:.72rem}.agenda-section{padding:14px}.published-agenda header{align-items:flex-start}}.app-shell[data-theme=dark]{--page-bg:#141414;--surface:#191919;--surface-soft:#252525;--ink:#f4f4f4;--muted:#a1a1a1;--line:#373737;--accent:#f4f4f4;--accent-ink:#161616;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.app-header{z-index:5;min-height:68px;color:var(--ink);background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:8px max(20px,50vw - 560px);display:flex;position:sticky;top:0}.header-leading,.header-actions{align-items:center;gap:14px;display:flex}.brand{color:var(--ink);white-space:nowrap;font-size:1.15rem;font-weight:700;text-decoration:none}.brand-login{font-family:Brush Script MT,Segoe Script,URW Chancery L,cursive;font-size:1.8rem;font-weight:500;line-height:1}.nav-button{min-height:48px;color:var(--ink);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:8px 12px;font-weight:600;text-decoration:none;display:inline-flex}.nav-button:hover,.button-secondary:hover{background:var(--surface-soft)}.theme-control{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:4px;padding:3px;display:inline-flex}.theme-button{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;display:grid}.theme-button.active{color:var(--accent-ink);background:var(--accent)}.field input,.field select{min-height:48px;color:var(--ink);background:var(--surface);border:1px solid var(--line);font:inherit;border-radius:8px;padding:10px 12px}.theme-button:focus-visible,.field input:focus-visible,.field select:focus-visible,.button:focus-visible,.nav-button:focus-visible,.section-card:focus-visible,.child-card:focus-visible,.text-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.app-content{width:min(100%,1120px);min-height:calc(100vh - 68px);margin-inline:auto;padding:28px 22px 48px}.auth-layout{flex-direction:column;align-items:center;padding-top:clamp(32px,8vh,80px);display:flex}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;width:min(100%,480px);padding:clamp(22px,4vw,36px);box-shadow:0 8px 28px #11233b0f}.login-brand{text-align:center;justify-items:center;gap:1px;margin:0 0 28px;display:grid}.login-brand-caption{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:.76rem;font-weight:700}.login-brand-name{color:var(--ink);font-family:Brush Script MT,Segoe Script,URW Chancery L,cursive;font-size:clamp(2.8rem,10vw,3.55rem);font-weight:500;line-height:1.05}.login-footer{width:min(100%,480px);color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 22px;margin-top:auto;padding:32px 0 4px;font-size:.88rem;display:flex}.instagram-link{color:var(--ink);align-items:center;gap:7px;font-weight:600;text-decoration:none;display:inline-flex}.instagram-link:hover{color:var(--accent)}.instagram-link:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.instagram-link svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:19px;height:19px}.instagram-link .instagram-dot{fill:currentColor;stroke:none}.login-signature{color:var(--muted)}.auth-heading{margin-bottom:26px}.auth-heading h1,.page-intro h1{color:var(--ink);letter-spacing:-.025em;margin:0 0 8px;font-size:clamp(1.7rem,4vw,2.15rem);line-height:1.18}.auth-heading p,.page-intro>p:last-child{color:var(--muted);margin:0;line-height:1.5}.form-stack{gap:17px;display:grid}.field{color:var(--ink);gap:7px;font-weight:600;display:grid}.field input,.field select{width:100%;font-weight:400}.button{min-height:50px;font:inherit;text-align:center;cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:9px;padding:10px 16px;font-weight:650;text-decoration:none;display:inline-flex}.button-primary{color:var(--accent-ink);background:var(--accent)}.button-primary:hover{filter:brightness(.96)}.button-secondary{color:var(--ink);background:var(--surface);border-color:var(--line)}.button:disabled{opacity:.55;cursor:not-allowed}.text-link{color:var(--accent);justify-self:center;font-weight:600}.form-note{color:var(--muted);margin:0;font-size:.88rem;line-height:1.5}.preview-access{border-top:1px solid var(--line);gap:14px;margin-top:30px;padding-top:20px;display:grid}.preview-access>p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.45}.preview-divider{color:var(--muted);font-size:.88rem;font-weight:700}.preview-banner{color:var(--accent);background:var(--surface-soft);border-radius:7px;margin:0 0 20px;padding:8px 11px;font-size:.86rem;font-weight:650;display:inline-flex}.page-intro{margin:8px 0 24px}.page-intro .eyebrow{color:var(--accent);margin:0 0 8px;font-size:.9rem;font-weight:700}.page-intro h1{margin-bottom:8px}.section-list{gap:14px;width:min(100%,760px);display:grid}.section-card,.child-card{min-height:82px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:16px;padding:16px;text-decoration:none;display:flex}.section-card:hover,.child-card:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));background:var(--surface-soft)}.section-icon{width:48px;height:48px;color:var(--accent);background:var(--surface-soft);border-radius:10px;flex:0 0 48px;place-items:center;display:grid}.section-copy,.child-card-copy{gap:4px;line-height:1.4;display:grid}.section-copy strong,.child-card-copy strong{font-size:1.02rem}.section-copy>span,.child-card-copy>span{color:var(--muted);font-size:.93rem}.card-chevron{color:var(--muted);margin-left:auto;font-size:1.7rem;line-height:1}.role-summary{width:min(100%,760px);color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:10px;align-items:flex-start;gap:10px;margin-top:22px;padding:14px 16px;line-height:1.45;display:flex}.child-grid,.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.child-card{min-height:110px}.avatar-placeholder{width:52px;height:52px;color:var(--accent);background:var(--surface-soft);border:1px solid var(--line);border-radius:50%;flex:0 0 52px;place-items:center;font-size:1.15rem;font-weight:700;display:grid;overflow:hidden}.avatar-placeholder img{border-radius:inherit;object-fit:cover;object-position:center;width:100%;height:100%;display:block}.avatar-placeholder.avatar-small{flex-basis:40px;width:40px;height:40px;font-size:.95rem}.avatar-placeholder.large-avatar{flex-basis:76px;width:76px;height:76px;font-size:1.8rem}.student-profile-heading,.published-agenda-heading,.observation-owner{align-items:center;gap:12px;display:flex}.admin-stats{gap:14px;margin:0 0 20px;display:flex}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;gap:4px;min-width:150px;padding:14px 17px;display:grid}.stat-card strong{font-size:1.4rem}.stat-card span{color:var(--muted);font-size:.9rem}.admin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;align-items:flex-start;gap:13px;padding:20px;display:flex}.admin-card-title{color:var(--accent);align-items:center;gap:10px;display:flex}.admin-card-title h2{color:var(--ink);margin:0;font-size:1.05rem}.admin-card p{color:var(--muted);flex:1;margin:0;line-height:1.45}.admin-card .button{width:100%}.profile-panel,.empty-state,.form-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:clamp(18px,3vw,28px)}.profile-panel{align-items:center;gap:16px;display:flex}.profile-panel h2,.empty-state h2,.form-card h2{color:var(--ink);margin:0 0 6px;font-size:1.1rem}.profile-panel p,.empty-state p{color:var(--muted);margin:0;line-height:1.5}.empty-state{color:var(--accent);justify-items:start;gap:12px;display:grid}.form-card{gap:24px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.field-full{grid-column:1/-1}.fieldset{border:0;min-width:0;padding:10px 0 0}.fieldset legend{margin-bottom:9px;font-weight:600}.radio-option,.checkbox-option{min-height:42px;color:var(--ink);align-items:center;gap:8px;font-weight:500;display:inline-flex}.radio-option+.radio-option{margin-left:16px}.radio-option input,.checkbox-option input{width:18px;height:18px;accent-color:var(--accent)}.step-indicator{gap:10px;margin:0 0 18px;display:flex}.step-dot{width:36px;height:36px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:50%;place-items:center;font-weight:700;display:grid}.step-dot.active{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:12px;padding-top:16px;display:flex}.review-list{gap:14px;display:grid}.review-list>div{border-bottom:1px solid var(--line);gap:4px;padding-bottom:12px;display:grid}.review-list span,.review-list small{color:var(--muted)}.narrow-form{width:min(100%,620px)}@media (width<=760px){.app-header{padding-inline:14px}.header-leading,.header-actions{gap:8px}.brand{font-size:1rem}.brand-login{font-size:1.55rem}.back-button,.home-button{width:46px;padding-inline:8px}.back-button span,.home-button span{display:none}.theme-button{width:38px;height:38px}.app-content{padding:22px 16px 36px}.child-grid,.admin-grid{grid-template-columns:1fr}.admin-stats{flex-wrap:wrap}}@media (width<=520px){.form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.form-actions{flex-direction:column-reverse}.form-actions .button{width:100%}.auth-card{border-radius:10px}.section-card{gap:12px;padding:13px}}.family-observation-link{margin-bottom:18px}.urgent-note{border:1px solid var(--line);background:var(--surface);border-left:4px solid #45b987;border-radius:12px;padding:14px 16px;line-height:1.5}.observation-compose,.family-observation-history,.teacher-observation-list{gap:14px;display:grid}.observation-compose{margin:18px 0 30px}.observation-compose textarea{resize:vertical;min-height:130px;color:var(--ink);background:var(--surface);border:1px solid var(--line);font:inherit;border-radius:12px;padding:13px}.observation-compose .button{justify-self:start;min-width:220px}.observation-locked{border-color:var(--line)}.family-observation-history h2{margin:0}.home-observation-card{border:1px solid var(--line);background:var(--surface);border-radius:15px;gap:12px;padding:18px;display:grid}.home-observation-card header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.home-observation-card header p,.observation-meta{color:var(--muted);margin:4px 0 0;font-size:.85rem}.home-observation-card>p{white-space:pre-wrap;margin:0;line-height:1.55}.observation-status{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:.8rem;display:inline-flex}.teacher-observation-list .button{justify-self:start}.catalogue-section{gap:14px;margin:24px 0;display:grid}.catalogue-section>h2,.catalogue-section>p{margin:0}.catalogue-list{gap:10px;display:grid}.catalogue-item{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;padding:14px;display:grid}.catalogue-item .field{min-width:0}.catalogue-item input{width:100%}.catalogue-inactive{opacity:.65}.catalogue-add{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;padding:16px;display:grid}.catalogue-add h3{grid-column:1/-1;margin:0}.catalogue-add .button{min-height:48px}.material-catalogue .catalogue-item{grid-template-columns:1fr auto}.admin-roster{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:10px;margin:14px 0;padding:15px;display:grid}.admin-roster summary{min-height:44px;color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;font-size:1.15rem;font-weight:700;list-style:none;display:flex}.admin-roster summary::-webkit-details-marker{display:none}.admin-roster summary:after{content:"⌄";color:var(--muted);font-size:1.2rem;transition:transform .15s}.admin-roster[open] summary:after{transform:rotate(180deg)}.admin-roster summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}.roster-row{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.roster-copy{flex:1;gap:4px;display:grid}.roster-copy span{color:var(--muted);font-size:.88rem}.roster-row .avatar-placeholder img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.roster-row .button{min-height:46px}.roster-row button:disabled{opacity:.5;cursor:not-allowed}@media (width<=700px){.catalogue-item,.catalogue-add{grid-template-columns:minmax(0,1fr)}.catalogue-add h3{grid-column:auto}}@media (width<=560px){.roster-row{flex-wrap:wrap;align-items:flex-start}.roster-copy{min-width:calc(100% - 70px)}.roster-row .button{width:100%}.home-observation-card header{flex-direction:column}.observation-compose .button{width:100%}}.observation-archive{gap:22px;max-width:760px;margin:0 auto;display:grid}.archive-calendar{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:hidden}.archive-month-bar{background:var(--surface-raised,var(--surface));border-radius:12px;grid-template-columns:44px 1fr 44px;align-items:center;min-height:54px;margin:10px 12px 0;display:grid}.archive-month-bar h2{text-align:center;letter-spacing:.02em;margin:0;font-size:.92rem}.archive-month-nav{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid}.archive-month-nav:hover{background:color-mix(in srgb, var(--line) 45%, transparent)}.archive-month-nav:focus-visible,.archive-day:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.archive-weekdays,.archive-days{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.archive-weekdays{color:var(--muted);padding:12px 12px 6px;font-size:.75rem;font-weight:700}.archive-days{gap:3px 0;padding:2px 12px 14px}.archive-day-spacer,.archive-day{place-self:center;width:40px;height:40px;display:grid}.archive-day{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;position:relative}.archive-day:hover{background:color-mix(in srgb, var(--line) 45%, transparent)}.archive-day.selected{color:var(--selected-ink,var(--surface));background:var(--ink)}.archive-day-count{border:1px solid var(--surface);min-width:15px;height:15px;color:var(--surface);background:#27865f;border-radius:999px;place-items:center;padding:0 3px;font-size:.62rem;line-height:1;display:grid;position:absolute;top:0;right:1px}.archive-day.selected .archive-day-count{color:#176448;border-color:var(--ink);background:#d8f2e7}.archive-day-results{gap:14px;display:grid}.archive-day-results>h2{margin:0;font-size:1.05rem}.archived-observation-card .observation-read-status{color:#176448;background:#dff5ea;border-color:#b9e5d1}.archive-date-note{color:var(--muted);margin:0;font-size:.88rem}[data-theme=dark] .archived-observation-card .observation-read-status{color:#b5e8d1;background:#203c30;border-color:#37634f}@media (width<=420px){.archive-day-spacer,.archive-day{width:36px;height:36px}.archive-days,.archive-weekdays{padding-inline:8px}}.graph-preview-page{max-width:840px}.graph-review-notice{border:1px solid var(--line);border-left:4px solid var(--focus);background:var(--surface);border-radius:12px;gap:5px;margin:16px 0;padding:14px 16px;display:grid}.graph-review-notice span,.graph-footnote{color:var(--muted);font-size:.88rem;line-height:1.45}.graph-period-tabs{margin:18px 0}.graph-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:18px;margin:16px 0;padding:18px;display:grid}.graph-card-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.graph-card-heading .eyebrow{margin:0 0 3px}.graph-card-heading h2{margin:0;font-size:1.2rem}.graph-period-label{color:var(--muted);text-align:right;font-size:.85rem}.meal-distributions{gap:16px;display:grid}.meal-distribution{gap:8px;display:grid}.meal-distribution-label{justify-content:space-between;gap:12px;font-size:.9rem;display:flex}.meal-distribution-label span{color:var(--muted)}.meal-stacked-bar{background:var(--surface-soft);border-radius:999px;width:100%;min-height:18px;display:flex;overflow:hidden}.meal-segment-0{background-color:#b8a89b}.meal-segment-1{background-color:#d7bd86}.meal-segment-2{background-color:#8bb49c}.meal-segment-3{background-color:#4f8768}.meal-segment-4{background-color:#cbd0d4}.meal-legend,.sleep-legend{flex-wrap:wrap;gap:9px 16px;display:flex}.meal-legend>span,.sleep-legend>span{color:var(--muted);align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.meal-legend-dot,.sleep-legend-swatch{border-radius:50%;flex:0 0 11px;width:11px;height:11px}.meal-legend-dot.meal-segment-0{background:#b8a89b}.meal-legend-dot.meal-segment-1{background:#d7bd86}.meal-legend-dot.meal-segment-2{background:#8bb49c}.meal-legend-dot.meal-segment-3{background:#4f8768}.meal-legend-dot.meal-segment-4{background:#cbd0d4}.graph-footnote{margin:0}.sleep-legend-swatch.morning{background:#6f9c83}.sleep-legend-swatch.afternoon{background:#8c82a7}.sleep-chart{gap:10px;display:grid}.sleep-chart-row{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-height:36px;display:grid}.sleep-day-label{font-size:.82rem}.sleep-period-bars{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sleep-period-item{min-width:0;color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:.74rem;display:flex}.sleep-bar{border-radius:999px;min-width:5px;max-width:65%;height:13px;display:block}.sleep-bar.morning{background:#6f9c83}.sleep-bar.afternoon{background:#8c82a7}.sleep-state,.sleep-no-data{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;justify-self:start;padding:5px 8px;font-size:.74rem}.sleep-state.absence{color:var(--ink);background:var(--surface-soft)}@media (width<=500px){.graph-card{padding:15px}.graph-card-heading{flex-direction:column;align-items:flex-start;gap:5px}.graph-period-label{text-align:left}.sleep-period-bars{grid-template-columns:minmax(0,1fr);gap:5px}.sleep-period-item{min-height:19px}}.line-chart-scroll{width:100%;overflow-x:auto}.line-chart{width:100%;min-width:680px;height:auto;display:block;overflow:visible}.chart-grid-line{stroke:var(--line);stroke-width:1px;stroke-dasharray:3 4}.chart-axis-line{stroke:var(--ink);stroke-width:1.25px}.chart-axis-label{fill:var(--muted);font-family:inherit;font-size:12px}.chart-axis-title{fill:var(--ink);font-family:inherit;font-size:12px;font-weight:650}.chart-special-band{fill:var(--surface-soft);opacity:.75}.chart-no-apply-point{fill:var(--surface);stroke-width:3px}.chart-state-mark{fill:var(--muted);font-family:inherit;font-size:10px;font-weight:700}.chart-state-na{fill:#c15a4a}.chart-state-nd{fill:#8b6e9d}.chart-state-sr,.chart-state-sa{fill:var(--muted)}.chart-legend{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.chart-legend>span{color:var(--muted);align-items:center;gap:7px;font-size:.82rem;display:inline-flex}.chart-legend i{border-radius:99px;width:18px;height:3px;display:inline-block}.chart-legend i.legend-na,.chart-legend i.legend-state{border:2px solid var(--muted);background:var(--surface);border-radius:50%;width:11px;height:11px}.graph-preview-page .page-intro{margin-bottom:18px}.app-shell{--page-bg:#f7f8f5;--surface:#fff;--surface-soft:#eef3ee;--accent-soft:#f5f8f4;--ink:#29352d;--muted:#727d74;--line:#dfe7df;--accent:#557b63;--accent-ink:#fff;--focus:#78a987;--hover-bg:#f7faf6}.app-shell[data-theme=dark]{--page-bg:#17212b;--surface:#1e2b37;--surface-soft:#293a49;--accent-soft:#25394b;--ink:#eef6fc;--muted:#b2c3d1;--line:#3b5062;--accent:#9ed4ff;--accent-ink:#172737;--focus:#bfe4ff;--hover-bg:#263b4e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.auth-card,.form-card,.student-card,.family-card,.dashboard-card,.observation-card,.home-observation-card,.archived-observation-card,.catalogue-section,.roster-section,.archive-calendar,.graph-card,.agenda-student,.published-agenda,.admin-panel,.teacher-panel,.section-card,.child-card,.admin-card,.stat-card{border-color:var(--line);border-radius:20px;box-shadow:0 5px 18px #324b370d}.auth-card,.form-card,.student-card,.family-card,.dashboard-card,.observation-card,.home-observation-card,.archived-observation-card,.catalogue-section,.roster-section,.archive-calendar,.graph-card,.published-agenda,.admin-panel,.teacher-panel,.section-card,.child-card,.admin-card,.stat-card{background:var(--surface)}.theme-button:hover{color:var(--accent);background:var(--surface-soft)}.theme-button.active:hover{color:var(--accent-ink);background:var(--accent)}.app-shell[data-theme=dark] .published-group,.app-shell[data-theme=dark] .agenda-form-page .agenda-section{background:var(--accent-soft);border-color:var(--line)}.app-shell[data-theme=dark] .published-group:nth-child(2){background:#29394a}.app-shell[data-theme=dark] .published-group:nth-child(3){background:#2b3d4d}.app-shell[data-theme=dark] .answer-bubble{color:#d8eeff;background:#304d64}.app-shell[data-theme=dark] .published-row{border-top-color:#506579}.app-shell[data-theme=dark] .agenda-student:hover,.app-shell[data-theme=dark] .family-card:hover,.app-shell[data-theme=dark] .nav-button:hover{background-color:var(--hover-bg);border-color:#64839c}.app-shell[data-theme=dark] .line-chart path{stroke:#9ed4ff}.app-shell[data-theme=dark] .line-chart circle{fill:#9ed4ff}.app-shell[data-theme=dark] .archive-day-count{background:#6bb7ed}.app-shell[data-theme=dark] .archive-day.selected .archive-day-count{color:#172737;background:#bfe4ff}.app-shell[data-theme=dark] .archived-observation-card .observation-read-status{color:#d0eaff;background:#2a4052;border-color:#4c6b83}.app-shell[data-theme=dark] .meal-segment-2,.app-shell[data-theme=dark] .meal-segment-3,.app-shell[data-theme=dark] .meal-legend-dot.meal-segment-2,.app-shell[data-theme=dark] .meal-legend-dot.meal-segment-3,.app-shell[data-theme=dark] .sleep-legend-swatch.morning,.app-shell[data-theme=dark] .sleep-bar.morning{background:#83c8f7}.app-shell[data-theme=dark] .urgent-note{border-left-color:var(--focus)}.zoom-control input{accent-color:var(--accent)}.pdf-enrollment .gender-fieldset{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.pdf-enrollment .gender-fieldset legend{grid-column:1/-1}.login-brand-logo{border-radius:10px;width:min(100%,280px);height:auto;display:block}.cloud-child-card{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border:0}.cloud-admin-form{margin-top:18px}.student-enrollment{gap:20px}.enrollment-steps{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.enrollment-steps li{border:1px solid var(--line);color:var(--muted);border-radius:12px;flex:145px;padding:10px 12px;font-size:.92rem}.enrollment-steps li[aria-current=step]{border-color:var(--accent);color:var(--accent);font-weight:650}.family-enrollment{border:1px solid var(--line);border-radius:14px;gap:12px;min-width:0;margin:0;padding:16px;display:grid}.family-enrollment>.field{margin:0}.enrollment-actions{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.enrollment-review{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:4px;padding:14px 16px;display:grid}.enrollment-review p{overflow-wrap:anywhere;margin:4px 0}.button-link{cursor:pointer;background:0 0;border:0;align-self:center;padding:4px 8px}.form-error,.form-success{border-radius:12px;margin:4px 0;padding:12px 14px;line-height:1.45}.form-error{color:#7b2632;background:#fbe9eb}.form-success{color:#246044;background:#e8f6ee}[data-theme=dark] .form-error{color:#ffdce1;background:#4b2630}[data-theme=dark] .form-success{color:#d7f6e4;background:#1d4434}.connected-section-link{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;gap:8px;display:grid}.connected-section-link strong{font-size:1.08rem}.connected-section-link span{color:var(--text-muted,#707b76)}.home-observation-card{border:1px solid var(--border,#dfe7e2);background:var(--surface,#fff);border-radius:16px;margin:14px 0;padding:18px}.home-observation-card header{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.home-observation-card header span{color:var(--text-muted,#707b76);margin-left:auto}.home-observation-card>p{white-space:pre-wrap;line-height:1.55}.observation-tabs{margin:16px 0}.connected-chart{border:1px solid var(--border,#dfe7e2);background:var(--surface,#fff);border-radius:18px;margin:24px 0;padding:18px}.connected-chart>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.connected-chart>header h3{margin:0}.connected-chart-panel{margin-top:16px}.connected-chart-panel h4{margin:0 0 8px}.connected-chart-panel svg{width:100%;height:160px;display:block;overflow:visible}.chart-axis{stroke:var(--border,#dfe7e2);stroke-width:1px}.chart-line{stroke:var(--accent,#607d6c);stroke-width:2px;vector-effect:non-scaling-stroke}.chart-point{fill:var(--accent,#607d6c);stroke:var(--surface,#fff);stroke-width:1px}.chart-absence{fill:#7496df}.chart-scale{color:var(--text-muted,#707b76);justify-content:space-between;font-size:.78rem;display:flex}.connected-history{margin:26px 0}*{box-sizing:border-box}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100dvh}button,input,select,textarea{font:inherit}
