:root{color-scheme:light;--ink: #24332f;--muted: #687873;--green-950: #173d35;--green-800: #256456;--green-700: #2d7765;--green-100: #dff1e9;--green-50: #eff8f4;--cream: #fbfaf5;--surface: #ffffff;--line: #dfe7e3;--blue: #315f98;--blue-soft: #eaf1fa;--amber: #9a651d;--amber-soft: #fbefd9;--violet: #75548c;--violet-soft: #f1eafb;--danger: #9e3434;--danger-soft: #fdeaea;--shadow: 0 10px 30px rgb(26 62 52 / 8%);--radius: 18px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}html{min-width:320px;background:var(--cream)}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 90% 0,rgb(235 246 239 / 75%),transparent 28rem),var(--cream)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #1a73e8;outline-offset:3px}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,.brand,.login-brand{font-family:ui-rounded,Arial Rounded MT Bold,Inter,sans-serif}h1{margin-bottom:.55rem;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.08;letter-spacing:-.035em}h2{margin-bottom:.5rem;font-size:1.2rem;line-height:1.25}.skip-link{position:fixed;z-index:100;top:.75rem;left:.75rem;padding:.8rem 1rem;border-radius:.6rem;background:var(--ink);color:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{display:block;margin-bottom:.45rem;color:var(--green-700);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.eyebrow.light{color:#9ed7c4}.app-shell{display:grid;min-height:100vh;grid-template-columns:244px minmax(0,1fr);grid-template-rows:72px minmax(0,1fr);grid-template-areas:"topbar topbar" "sidebar main"}.topbar{position:sticky;z-index:20;top:0;grid-area:topbar;display:flex;align-items:center;gap:1rem;min-width:0;padding:0 1.5rem;border-bottom:1px solid var(--line);background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand,.login-brand{display:inline-flex;align-items:center;gap:.7rem;color:var(--green-950);font-size:1.22rem;font-weight:800;text-decoration:none}.brand-mark{display:inline-grid;width:2.2rem;height:2.2rem;place-items:center;border-radius:45% 55% 50% 50%;background:var(--school-primary, var(--green-700));color:#fff;font-size:1.1rem}.school-logo{display:block;width:auto;height:2.75rem;object-fit:contain}.topbar .school-logo{max-width:12rem;height:3rem}.brand-mark.large{width:3.2rem;height:3.2rem;background:#9ed7c4;color:var(--green-950);font-size:1.55rem}.topbar-user{display:flex;align-items:center;gap:.7rem;margin-left:auto}.avatar{display:grid;width:2.25rem;height:2.25rem;place-items:center;border-radius:50%;background:var(--green-100);color:var(--green-950);font-weight:800;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.profile-trigger{padding:0;border:0;cursor:pointer}.profile-trigger:focus-visible{outline:3px solid var(--school-primary, var(--green-700));outline-offset:3px}.user-copy{display:flex;flex-direction:column;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;line-height:1.2}.profile-name-trigger{cursor:pointer}.profile-name-trigger:hover strong{text-decoration:underline}.profile-name-trigger:focus-visible{outline:3px solid var(--school-primary, var(--green-700));outline-offset:3px}.user-copy small{color:var(--muted)}.sidebar{position:sticky;top:72px;grid-area:sidebar;display:flex;flex-direction:column;height:calc(100vh - 72px);padding:1.4rem 1rem;border-right:1px solid var(--line);background:var(--surface)}.sidebar nav{display:flex;flex-direction:column;gap:.25rem}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.75rem .9rem;border-radius:12px;color:#52635e;font-weight:600;text-decoration:none}.nav-link:hover{background:#f4f7f5;color:var(--ink)}.nav-link.router-link-active{background:color-mix(in srgb,var(--school-primary, var(--green-700)) 14%,white);color:var(--school-primary, var(--green-950))}.nav-icon{display:grid;width:1.6rem;height:1.6rem;place-items:center;color:var(--school-primary, var(--green-700));font-size:1.15rem}.privacy-note{display:flex;flex-direction:column;gap:.25rem;padding:.9rem;margin-top:auto;border-radius:12px;background:#f6f7f3;color:var(--muted);font-size:.75rem}.privacy-note strong{color:var(--ink)}.sidebar-estuescuela{display:grid;gap:.35rem;padding:.8rem .4rem 0;color:var(--muted);font-size:.68rem;text-decoration:none}.sidebar-estuescuela img{width:128px;max-width:100%}.main-content{grid-area:main;min-width:0;max-width:1480px;width:100%;padding:2.4rem clamp(1rem,3vw,3.25rem) 4rem;margin:0 auto}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:2rem}.page-header p{max-width:650px;margin-bottom:0;color:var(--muted)}.page-actions{flex:0 0 auto}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{position:relative;display:flex;min-height:142px;flex-direction:column;justify-content:space-between;padding:1.2rem;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.stat-card:after{position:absolute;right:-1.5rem;bottom:-2rem;width:7rem;height:7rem;border-radius:50%;background:var(--accent-soft);content:""}.tone-green{--accent: var(--green-700);--accent-soft: var(--green-100)}.tone-blue{--accent: var(--blue);--accent-soft: var(--blue-soft)}.tone-amber{--accent: var(--amber);--accent-soft: var(--amber-soft)}.tone-violet{--accent: var(--violet);--accent-soft: var(--violet-soft)}.stat-label{color:var(--muted);font-size:.85rem;font-weight:600}.stat-value{z-index:1;color:var(--accent);font-family:ui-rounded,Arial Rounded MT Bold,Inter,sans-serif;font-size:2.6rem;line-height:1}.stat-detail{z-index:1;color:var(--muted);font-size:.8rem}.dashboard-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.5rem}.family-attendance{margin-bottom:1.5rem}.family-attendance-list{padding:0;margin:0;list-style:none}.family-attendance-list li{display:flex;align-items:center;gap:.9rem;padding:1rem 0;border-bottom:1px solid var(--line)}.family-attendance-list li:last-child{border-bottom:0}.family-attendance-list p{margin:0}.attendance-dot{width:.75rem;height:.75rem;flex:0 0 auto;border-radius:50%;background:var(--muted)}.attendance-dot.is-present{background:var(--green-700)}.attendance-dot.has-left{background:var(--blue)}.dashboard-grid.family-dashboard{grid-template-columns:minmax(0,1fr)}.panel,.table-card,.announcement-card,.person-card,.timeline-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.panel{padding:1.4rem}.panel-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}.panel-heading h2{margin-bottom:0}.quick-actions{display:grid;gap:.7rem}.quick-actions a{display:grid;grid-template-columns:2.5rem 1fr;gap:.1rem .8rem;padding:.8rem;border-radius:12px;text-decoration:none}.quick-actions a:hover{background:var(--green-50)}.quick-actions a>span{grid-row:1 / 3;display:grid;width:2.5rem;height:2.5rem;place-items:center;border-radius:10px;background:var(--green-100);color:var(--green-950);font-size:1.2rem}.quick-actions small{color:var(--muted)}.announcement-list{padding:0;margin:0;list-style:none}.announcement-list li{display:flex;gap:.8rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.announcement-list li:last-child{border-bottom:0}.announcement-list p{display:-webkit-box;margin:.25rem 0 0;overflow:hidden;color:var(--muted);font-size:.85rem;-webkit-box-orient:vertical;-webkit-line-clamp:2}.unread-dot{width:.55rem;height:.55rem;flex:0 0 auto;margin-top:.4rem;border-radius:50%;background:var(--green-700)}.primary-button,.secondary-button,.text-button,.icon-button,.demo-profiles button{border:0;cursor:pointer;font-weight:700}.primary-button,.secondary-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:.72rem 1rem;border-radius:11px;text-decoration:none}.primary-button{background:var(--school-primary, var(--green-800));color:#fff}.primary-button:hover{background:var(--green-950)}.primary-button:disabled{cursor:not-allowed;opacity:.65}.primary-button[aria-busy=true]{cursor:wait}.secondary-button{border:1px solid var(--line);background:#fff;color:var(--green-800)}.text-button{padding:.45rem;background:transparent;color:var(--green-800)}.icon-button{display:inline-grid;width:44px;height:44px;place-items:center;background:transparent;font-size:1.25rem}.menu-button{display:none}.full{width:100%}.inline-link{color:var(--green-700);font-size:.86rem;font-weight:700}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.search-field{display:flex;max-width:430px;width:100%;align-items:center;gap:.5rem;padding:0 .9rem;border:1px solid var(--line);border-radius:12px;background:#fff}.search-field:focus-within{border-color:var(--green-700);box-shadow:0 0 0 3px #2d776526}.search-field input{min-width:0;flex:1;padding:.75rem 0;border:0;outline:0}.result-count{color:var(--muted);font-size:.85rem}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.family-data-notice{max-width:none;margin-bottom:1.4rem}.family-data-notice strong{display:block;margin-bottom:.2rem}.family-children-list{grid-template-columns:minmax(0,1fr)}.family-child-card{grid-template-columns:auto minmax(0,1fr);padding:1.5rem}.family-child-card .child-details{grid-template-columns:repeat(3,minmax(0,1fr))}.family-contact-details{grid-column:1 / -1;padding-top:1.2rem;border-top:1px solid var(--line)}.family-contact-details h3{margin-bottom:.8rem}.family-contact-details dl{grid-template-columns:repeat(2,minmax(0,1fr))}.family-contact-details .contact-address{grid-column:1 / -1}.person-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1.2rem}.daily-indicator{position:absolute;top:1rem;right:1rem;width:.85rem;height:.85rem;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #24332f1f}.daily-indicator.missing{background:#dc2626}.daily-indicator.present{background:#22a06b}.daily-indicator.departed{background:#eab308}.agenda-filters{display:flex;align-items:end;gap:.75rem;margin-bottom:1.4rem}.agenda-filters>label:first-child{display:grid;gap:.35rem;color:var(--muted);font-size:.78rem;font-weight:700}.agenda-filters input[type=date]{min-height:44px;padding:.65rem .8rem;border:1px solid var(--line);border-radius:12px;background:#fff}.person-avatar{display:grid;width:3rem;height:3rem;place-items:center;border-radius:15px;background:var(--green-100);color:var(--green-950);font-weight:800}.person-main h2{margin-bottom:.2rem}.person-main p{margin-bottom:0;color:var(--muted);font-size:.9rem}.person-card dl{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:0}.person-card dt,.record-summary dt{color:var(--muted);font-size:.72rem}.person-card dd,.record-summary dd{margin:.15rem 0 0;font-weight:600}.person-card .secondary-button{grid-column:1 / -1}.person-card .edit-child-button{margin-top:-.45rem}.status{display:inline-flex;align-items:center;padding:.25rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700}.status.success{background:var(--green-100);color:var(--green-950)}.status.info{background:var(--blue-soft);color:var(--blue)}.status.neutral{background:#edf0ef;color:var(--muted)}.status.danger{background:#fee2e2;color:#b91c1c}.staff-assignment{display:block;margin-top:.2rem;color:var(--muted)}.timeline{display:grid;gap:1rem}.timeline-card{display:grid;grid-template-columns:72px 1fr;overflow:hidden}.timeline-date{display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--green-50);color:var(--green-800);text-transform:capitalize}.timeline-date strong{font-family:ui-rounded,Arial Rounded MT Bold,Inter,sans-serif;font-size:1.8rem}.timeline-content{min-width:0;padding:1.2rem}.timeline-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem}.timeline-heading h2{margin-bottom:.15rem}.timeline-heading p{color:var(--muted);font-size:.78rem}.record-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem;padding:.8rem;margin:.8rem 0;border-radius:11px;background:#f7f8f5}.record-note{margin-bottom:0;color:#53645f}.record-chat{padding-top:1rem;border-top:1px solid var(--line)}.record-chat h3{margin:0 0 .75rem;font-size:.9rem}.chat-thread{display:flex;flex-direction:column;gap:.65rem;padding:.9rem;border-radius:14px;background:#f4f7f5}.chat-bubble{align-self:flex-start;width:fit-content;max-width:min(78%,650px);padding:.65rem .8rem .45rem;margin:0;border-radius:4px 14px 14px;background:#fff;box-shadow:0 2px 8px #1a3e3414}.chat-bubble.own{align-self:flex-end;border-radius:14px 4px 14px 14px;background:#dff1e9}.chat-bubble.general{border-left:4px solid var(--green-700);background:#fff8df}.chat-bubble strong{display:block;margin-bottom:.25rem;color:var(--green-800);font-size:.72rem}.chat-bubble p{margin:0;white-space:pre-wrap}.chat-bubble time{display:block;margin-top:.25rem;color:var(--muted);font-size:.65rem;text-align:right}.chat-bubble img{display:block;max-width:min(100%,360px);max-height:280px;margin-top:.4rem;border-radius:9px;object-fit:cover}.chat-empty{margin:.5rem;color:var(--muted);font-size:.85rem;text-align:center}.chat-composer{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.6rem;align-items:end;margin-top:.7rem}.chat-composer textarea,.general-message-form textarea,.general-message-form select{width:100%;padding:.65rem .75rem;border:1px solid #cbd7d2;border-radius:10px;resize:vertical}.image-picker{display:inline-flex;align-items:center;gap:.3rem;min-height:44px;padding:.55rem .7rem;border:1px solid #cbd7d2;border-radius:10px;background:#fff;cursor:pointer;font-size:.8rem}.image-picker input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.image-picker span{max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.general-message-form{display:grid;grid-template-columns:minmax(190px,.6fr) minmax(160px,.5fr) minmax(260px,1fr) auto auto;gap:.8rem;align-items:center;margin-bottom:1.5rem;padding:1rem 1.2rem}.general-message-form h2,.general-message-form p{margin-bottom:.15rem}.general-message-form p{color:var(--muted);font-size:.75rem}.record-form{margin-bottom:1.5rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid label,.login-card>label:not(.checkbox-label){display:flex;flex-direction:column;gap:.4rem;color:#41514d;font-size:.84rem;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea,.login-card input{width:100%;min-height:44px;padding:.7rem .8rem;border:1px solid #cbd7d2;border-radius:10px;background:#fff;color:var(--ink)}.form-grid textarea{min-height:108px;resize:vertical}.span-2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end;padding-top:1.2rem}.announcement-feed{display:grid;gap:1rem}.announcement-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.65rem}.announcement-empty{display:grid;min-height:300px;place-items:center;align-content:center;padding:2rem;border:1px dashed #cad8d2;border-radius:var(--radius);background:#fff9;text-align:center}.announcement-empty-icon{display:grid;width:3.5rem;height:3.5rem;place-items:center;margin-bottom:1rem;border-radius:1rem;background:var(--green-100);color:var(--green-800);font-size:1.5rem}.announcement-empty h2{margin-bottom:.35rem}.announcement-empty p{max-width:480px;margin-bottom:1.2rem;color:var(--muted)}.announcement-card{padding:1.3rem}.announcement-card.unread{border-left:5px solid var(--green-700)}.announcement-card>p{max-width:850px;color:#52635e}.announcement-meta,.announcement-card footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.8rem}.announcement-card footer{padding-top:.8rem;border-top:1px solid var(--line)}.table-card{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:1rem;border-bottom:1px solid var(--line);text-align:left}thead th{background:#f6f8f6;color:var(--muted);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}tbody th{color:var(--green-950)}tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}.loading-block,.empty-state{display:flex;min-height:160px;align-items:center;justify-content:center;gap:.7rem;color:var(--muted)}.spinner{width:1.25rem;height:1.25rem;border:2px solid var(--green-100);border-top-color:var(--green-700);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert{padding:.8rem 1rem;margin-bottom:1rem;border-radius:10px}.alert.error{border:1px solid #efbcbc;background:var(--danger-soft);color:var(--danger)}.alert.success{border:1px solid #badfcf;background:var(--green-50);color:var(--green-950)}.login-page{display:grid;min-height:100vh;grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr)}.login-intro{display:flex;min-height:100vh;flex-direction:column;justify-content:space-between;padding:clamp(2rem,7vw,6rem);background:linear-gradient(color-mix(in srgb,var(--school-primary, #176b5b) 92%,#111),color-mix(in srgb,var(--school-primary, #176b5b) 96%,#111)),var(--school-primary, #176b5b);color:#fff}.login-intro h1{max-width:620px;margin-bottom:1rem;font-size:clamp(3rem,7vw,5.8rem);color:#fff}.login-intro p{max-width:520px;color:#cfe2db;font-size:clamp(1rem,2vw,1.3rem);line-height:1.6}.login-intro .login-brand{color:#fff}.benefit-list{display:grid;gap:.7rem;padding:0;margin:0;list-style:none;color:#d8e8e2}.benefit-list span{color:#9ed7c4}.login-footer{display:grid;gap:1.5rem}.powered-by{display:inline-grid;width:fit-content;gap:.35rem;color:#fff;font-size:.7rem;text-decoration:none}.powered-by img{width:150px;padding:.3rem;border-radius:.45rem;background:#fff}.login-brand .school-logo{max-width:15rem;height:4.5rem}.modal-backdrop{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:1rem;background:#0c231d8c}.profile-modal{position:relative;max-height:calc(100vh - 2rem);width:min(480px,100%);padding:2rem;overflow-y:auto;border-radius:20px;background:#fff;box-shadow:0 24px 80px #00000040}.profile-backdrop{position:fixed;z-index:80;inset:0;background:#0c231d8c}.profile-panel{position:absolute;top:0;right:0;display:flex;flex-direction:column;width:min(420px,100%);height:100%;padding:2rem;overflow-y:auto;background:#fff;box-shadow:-20px 0 60px #0a28212b}.profile-panel h2{margin:.5rem 0 0;font-size:1.65rem}.profile-summary{display:flex;align-items:center;gap:1rem;margin:2rem 0;padding:1.2rem;border-radius:1rem;background:var(--green-50)}.profile-summary>.avatar{flex:0 0 3rem;width:3rem;height:3rem}.profile-summary div{display:grid;gap:.2rem;min-width:0}.profile-summary span:not(.avatar){overflow:hidden;color:var(--muted);font-size:.78rem;text-overflow:ellipsis}.profile-panel form{display:grid;gap:.8rem}.profile-panel form label{display:grid;gap:.35rem;font-size:.8rem;font-weight:700}.profile-panel input{min-height:44px;padding:.7rem;border:1px solid var(--line);border-radius:10px}.profile-panel .password-form{margin-top:2rem}.profile-logout{width:100%;margin-top:2rem;color:#8d2e1b;background:#fff0ec}.modal-close{position:absolute;top:1rem;right:1rem;border:0;background:transparent;font-size:1.7rem;cursor:pointer}.profile-modal form{display:grid;gap:.8rem}.profile-modal form label:not(.profile-avatar){display:grid;gap:.35rem;font-size:.8rem;font-weight:700}.profile-modal input:not([type=file]){min-height:44px;padding:.7rem;border:1px solid var(--line);border-radius:10px}.profile-avatar{display:flex;align-items:center;gap:.8rem;width:fit-content;color:var(--school-primary, var(--green-700));font-weight:700;cursor:pointer}.profile-avatar .avatar{overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.password-form{padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid var(--line)}.password-form h3{margin:0}.login-panel{display:grid;min-height:100vh;place-items:center;padding:2rem;background:var(--cream)}.login-card{max-width:460px;width:100%;padding:clamp(1.4rem,4vw,2.3rem);border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.login-card>p{margin-bottom:1.5rem;color:var(--muted)}.recovery-link{display:block;margin:1rem auto 0;color:var(--school-primary, #176b5b);text-align:center;font-weight:750}.alert.success{background:#e8f7ef;color:#126043}.login-card>label:not(.checkbox-label){margin-top:1rem}.login-card>.primary-button{margin-top:1rem}.classroom-modal>p{color:var(--muted)}.announcement-modal{width:min(620px,100%)}.announcement-modal>p{color:var(--muted)}.announcement-modal select,.announcement-modal textarea{width:100%;padding:.7rem;border:1px solid var(--line);border-radius:10px;background:#fff}.announcement-modal select{min-height:44px}.announcement-modal textarea{min-height:140px;resize:vertical}.classroom-modal select{min-height:44px;padding:.7rem;border:1px solid var(--line);border-radius:10px;background:#fff}.classroom-modal label small{color:var(--muted);font-weight:400}.child-modal{width:min(760px,100%)}.child-modal>p{color:var(--muted)}.child-modal fieldset{padding:0;margin:.5rem 0 1rem;border:0}.child-modal legend{margin-bottom:.8rem;color:var(--green-950);font-weight:800}.modal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.modal-form-grid select{min-height:44px;padding:.7rem;border:1px solid var(--line);border-radius:10px;background:#fff}.modal-form-grid .wide-field{grid-column:1 / -1}.modal-form-grid small{color:var(--muted);font-weight:400}.care-options{display:flex;gap:1.5rem}.care-options .checkbox-label{margin-bottom:0}.parent-fields+.parent-fields{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--line)}.parent-fields-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}.parent-fields-heading h3{margin:0;color:var(--green-950);font-size:.9rem}.remove-parent-button{border:0;background:transparent;color:#a33b2d;font-weight:700;cursor:pointer}.add-parent-button{margin-top:1rem}.family-picker{position:relative;margin-bottom:1rem}.family-picker>label{display:block;margin-bottom:.4rem;color:var(--green-950);font-size:.85rem;font-weight:750}.family-picker>small{display:block;margin-top:.35rem;color:var(--muted)}.family-picker-input{display:flex;align-items:center;gap:.5rem;padding:0 .75rem;border:1px solid var(--line);border-radius:10px;background:#fff}.family-picker-input:focus-within{border-color:var(--school-primary, #176b5b);box-shadow:0 0 0 3px color-mix(in srgb,var(--school-primary, #176b5b) 15%,transparent)}.family-picker-input input{width:100%;min-height:44px;padding:.7rem 0;border:0;outline:0}.family-picker-results{position:absolute;z-index:3;width:100%;max-height:220px;padding:.35rem;margin:.35rem 0 0;overflow-y:auto;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow);list-style:none}.family-picker-results button{display:flex;flex-direction:column;gap:.15rem;width:100%;padding:.65rem;border:0;border-radius:7px;background:transparent;color:var(--green-950);text-align:left;cursor:pointer}.family-picker-results button:hover,.family-picker-results button:focus-visible{background:var(--green-50)}.family-picker-results span,.family-picker-status{color:var(--muted);font-size:.8rem}.family-picker-status{margin:.5rem 0 0}.selected-family{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem;border:1px solid #9bcabb;border-radius:10px;background:#eef9f5;color:var(--green-950)}.selected-family span{display:flex;flex-wrap:wrap;gap:.25rem}.selected-family strong{width:100%}.selected-family button{border:0;background:transparent;color:var(--school-primary, #176b5b);font-weight:750;cursor:pointer}@media(max-width:600px){.modal-form-grid{grid-template-columns:1fr}.modal-form-grid .wide-field{grid-column:auto}}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;margin:1rem 0;color:var(--muted);font-size:.85rem}.checkbox-label input{width:1.1rem;height:1.1rem}.demo-profiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:0;margin:1.7rem 0 0;border:0}.demo-profiles legend{padding:0;margin-bottom:.6rem;color:var(--muted);font-size:.75rem}.demo-profiles button{min-height:40px;padding:.5rem;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);font-size:.75rem}.demo-profiles button[aria-pressed=true]{border-color:var(--green-700);background:var(--green-50);color:var(--green-950)}.backdrop{display:none}@media(max-width:1050px){.stats-grid,.card-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:780px){.app-shell{display:block;padding-top:64px}.topbar{position:fixed;right:0;left:0;height:64px;padding:0 .8rem}.menu-button{display:inline-grid}.user-copy{display:none}.sidebar{position:fixed;z-index:40;top:64px;bottom:0;left:0;width:min(290px,85vw);height:auto;transform:translate(-105%);transition:transform .2s ease}.sidebar.open{transform:none}.backdrop{position:fixed;z-index:30;inset:64px 0 0;display:block;width:100%;border:0;background:#0f1e1a61}.main-content{padding:1.5rem 1rem 3rem}.login-page{display:block}.login-intro{min-height:auto;padding:2rem 1.5rem 3rem}.login-intro h1{margin-top:3rem;font-size:3rem}.benefit-list{display:none}.login-panel{min-height:auto;padding:1rem;margin-top:-1.4rem;background:transparent}}@media(max-width:600px){.agenda-filters{align-items:stretch;flex-direction:column}.agenda-filters .search-field,.agenda-filters .secondary-button{max-width:none;width:100%}.topbar .brand>span:last-child,.topbar-user .avatar{display:none}.page-header{align-items:stretch;flex-direction:column}.page-actions .primary-button{width:100%}.stats-grid,.card-grid,.form-grid,.family-child-card .child-details,.family-contact-details dl{grid-template-columns:1fr}.family-contact-details .contact-address,.span-2{grid-column:auto}.toolbar{align-items:stretch;flex-direction:column}.timeline-card{grid-template-columns:55px 1fr}.record-summary,.general-message-form,.chat-composer{grid-template-columns:1fr}.chat-bubble{max-width:90%}.announcement-meta,.announcement-card footer{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
