/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.table{display:table}.table-row{display:table-row}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#17364b;--muted:#6d7d82;--navy:#0c5e8b;--navy-dark:#15475f;--teal:#1d9a78;--coral:#ef6b62;--sun:#f4bd45;--cream:#f7f3e9;--paper:#fffdf8;--line:#e4e1d8;--sage:#dfeadf;--sky:#dbeef3;--berry:#a9516f;--shadow:0 16px 42px #1c374514;--serif:Georgia, "Times New Roman", serif;--sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--cream)}body{background:var(--cream);color:var(--ink);font-family:var(--sans);margin:0;font-size:15px}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #0c5e8b3d}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);letter-spacing:-.025em;font-weight:500}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh;display:flex}.sidebar{z-index:20;background:#f9f6ee;border-right:1px solid #17364b17;flex-direction:column;width:260px;min-height:100vh;padding:22px 16px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand-block{align-items:center;gap:10px;padding:0 6px 20px;display:flex}.brand-logo{object-fit:contain;width:40px;height:40px}.brand-block div{flex-direction:column;min-width:0;display:flex}.brand-block strong{font-family:var(--serif);font-size:15px;line-height:1.05}.brand-block span{color:var(--muted);text-transform:uppercase;letter-spacing:.13em;margin-top:5px;font-size:8px}.close-menu{background:0 0;border:0;margin-left:auto;font-size:28px;display:none}.family-chip{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:10px;padding:10px;display:flex;box-shadow:0 6px 18px #1c37450a}.family-avatar{background:linear-gradient(145deg, var(--coral), #f3a26c);color:#fff;width:34px;height:34px;font:700 15px var(--serif);border-radius:10px;place-items:center;display:grid}.family-chip>div:nth-child(2){flex-direction:column;min-width:0;display:flex}.family-chip strong{font-size:12px}.family-chip span{color:var(--muted);margin-top:2px;font-size:10px}.family-chip .chevron{margin:0 2px 0 auto;font-size:16px}.nav-group{margin-top:22px}.nav-group p{color:#9a9c94;letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px;padding:0 12px;font-size:9px;font-weight:800}.nav-group button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;width:100%;margin:1px 0;padding:9px 11px;font-size:12px;transition:all .18s;display:flex}.nav-group button:hover{background:#ffffffbf;transform:translate(2px)}.nav-group button.active{color:var(--navy);background:#fff;font-weight:750;box-shadow:0 5px 16px #1c37450f}.nav-icon{color:#698184;width:25px;font-size:15px}.active .nav-icon{color:var(--navy)}.nav-badge{background:var(--sage);color:#43705f;border-radius:9px;place-items:center;min-width:20px;height:18px;margin-left:auto;font-size:9px;display:grid}.sidebar-note{color:#315a4b;background:#e7f0ec;border-radius:15px;margin-top:auto;padding:14px;position:relative;overflow:hidden}.sidebar-note .sparkle{color:var(--teal);position:absolute;top:11px;right:13px}.sidebar-note strong{font:600 13px var(--serif)}.sidebar-note p{color:#61776e;margin:5px 18px 8px 0;font-size:10px;line-height:1.45}.sidebar-note button{color:#356e5a;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:0;font-size:10px;font-weight:700}.main-area{width:calc(100% - 260px);min-height:100vh;margin-left:260px}.topbar{z-index:12;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#f7f3e9e0;border-bottom:1px solid #17364b12;justify-content:flex-end;align-items:center;gap:10px;height:64px;padding:0 30px;display:flex;position:sticky;top:0}.autosave{color:var(--muted);align-items:center;gap:6px;margin-right:4px;font-size:10px;display:flex}.autosave span{background:var(--teal);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #1d9a781f}.icon-button,.menu-button{border:1px solid var(--line);cursor:pointer;background:#ffffffb8;border-radius:10px;width:35px;height:35px}.menu-button,.mobile-brand{display:none}.page-wrap{max-width:1320px;margin:0 auto;padding:34px 38px 60px}.eyebrow{color:var(--teal);letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px;font-size:9px;font-weight:850;display:block}.primary,.soft-button,.ghost-button{cursor:pointer;border:0;border-radius:10px;padding:11px 16px;font-size:11px;font-weight:750;transition:all .18s}.primary{background:var(--navy);color:#fff;box-shadow:0 8px 20px #0c5e8b2e}.primary:hover{background:#084d73;transform:translateY(-1px)}.primary:disabled{opacity:.6;cursor:wait;transform:none}.primary.small{padding:9px 13px}.soft-button{color:#316257;background:#e8efed}.soft-button:hover{background:#dce9e4}.ghost-button{border:1px solid var(--line);background:0 0}.full{width:100%}.text-button{color:var(--navy);cursor:pointer;background:0 0;border:0;padding:0;font-size:10px;font-weight:750}.welcome-panel{min-height:235px;box-shadow:var(--shadow);background:#fffaf0;border:1px solid #e7ddca;border-radius:24px;align-items:center;padding:38px 42px;display:flex;position:relative;overflow:hidden}.welcome-panel:before{content:"";background:radial-gradient(circle,#f4bd452e,#f4bd4500 68%);border-radius:50%;width:280px;height:280px;position:absolute;top:-120px;right:70px}.welcome-copy{z-index:2;width:65%;position:relative}.welcome-copy h1{color:var(--navy-dark);margin-bottom:12px;font-size:clamp(30px,3vw,44px)}.welcome-copy p{max-width:670px;color:var(--muted);font:15px/1.65 var(--serif);margin-bottom:22px}.welcome-actions{flex-wrap:wrap;gap:10px;display:flex}.sun-illustration{width:31%;height:100%;position:absolute;bottom:0;right:30px;overflow:hidden}.sun-core{color:var(--sun);font-size:66px;animation:6s ease-in-out infinite breathe;position:absolute;top:37px;left:47%}.hill{border-radius:50% 50% 0 0/100% 100% 0 0;position:absolute;bottom:-25px}.hill.one{background:#bad9c6;width:290px;height:105px;left:-12px;transform:rotate(5deg)}.hill.two{background:#79bba0;width:250px;height:80px;right:-45px;transform:rotate(-7deg)}.sun-illustration:after{content:"";background:#4b8068;width:7px;height:30px;position:absolute;bottom:52px;left:43%;box-shadow:-10px 10px 0 -2px #4b8068,10px 10px 0 -2px #4b8068}.sun-illustration b{color:#ffffffd6;font:italic 12px var(--serif);z-index:2;position:absolute;bottom:15px;right:22px}@keyframes breathe{50%{transform:translateY(-5px)rotate(3deg)}}.metric-strip{background:var(--paper);border:1px solid var(--line);border-radius:16px;grid-template-columns:repeat(4,1fr);margin:18px 0;display:grid;overflow:hidden;box-shadow:0 9px 26px #1c37450d}.metric-strip button{border:0;border-right:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:11px;min-height:78px;padding:15px 18px;display:flex}.metric-strip button:last-child{border-right:0}.metric-strip button:hover{background:#fff}.metric-strip button div{flex-direction:column;display:flex}.metric-strip strong{font:600 19px var(--serif)}.metric-strip small{color:var(--muted);margin-top:3px;font-size:9px}.metric-strip em{color:#a7aca5;margin-left:auto;font-style:normal}.metric-icon{border-radius:11px;flex:none;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.metric-icon.coral{color:#bd524c;background:#f8ded8}.metric-icon.leaf{color:#3f816a;background:#dfeee7}.metric-icon.sky{color:#387390;background:#deedf3}.metric-icon.sun{color:#8f6c17;background:#f9edc4}.dashboard-grid{grid-template-columns:minmax(0,1.75fr) minmax(260px,.75fr);gap:18px;display:grid}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 28px #1c37450d}.card-head{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.card-head h2{margin:0;font-size:20px}.today-flow{padding:25px}.task-list{margin-top:15px}.task-row{border-top:1px solid #ece8de;grid-template-columns:28px 42px 1fr 24px;align-items:center;gap:10px;min-height:66px;display:grid}.task-row.done{opacity:.58}.task-row.done .task-copy strong{text-decoration:line-through}.check-button{color:#fff;cursor:pointer;background:#fff;border:1.5px solid #b8c5c1;border-radius:6px;place-items:center;width:20px;height:20px;padding:0;font-size:11px;display:grid}.task-row.done .check-button,.chore-row.done .check-button{border-color:var(--teal);background:var(--teal)}.task-row time{color:var(--muted);font-size:10px}.task-copy{flex-direction:column;gap:6px;min-width:0;display:flex}.task-copy strong{font:600 14px var(--serif);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.task-copy>span{color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px;font-size:9px;display:flex}.subject-tag{color:#766b52;background:#eee9dd;border-radius:999px;align-items:center;padding:3px 7px;font-size:8px;font-weight:750;display:inline-flex}.subject-tag.sun{color:#88671b;background:#f9edc4}.subject-tag.coral{color:#a85049;background:#fae0dc}.subject-tag.leaf{color:#38705d;background:#deeee6}.subject-tag.sky{color:#3b728a;background:#e0eff4}.subject-tag.berry{color:#85445b;background:#f2e0e7}.child-pill{color:var(--muted);align-items:center;gap:5px;font-size:9px;display:inline-flex}.child-pill i{color:#fff;border-radius:50%;place-items:center;width:17px;height:17px;font-size:8px;font-style:normal;font-weight:800;display:grid}.task-more,.tiny-dots{color:#a4aaa7;letter-spacing:1px;font-size:9px}.home-dot{color:#8b7959;background:#f1eadb;border-radius:7px;place-items:center;width:23px;height:23px;display:grid}.right-stack{gap:18px;display:grid}.focus-card,.trip-mini{padding:22px}.focus-card blockquote{border-left:3px solid var(--teal);color:#376356;font:italic 16px/1.45 var(--serif);background:#ecf3ef;border-radius:0 10px 10px 0;margin:17px 0;padding:19px 17px}.focus-line span{color:var(--coral);text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px;font-size:8px;font-weight:800;display:block}.focus-line strong{font:500 12px/1.4 var(--serif)}.date-block{color:var(--coral);flex-direction:column;align-items:center;display:flex}.date-block b{font:600 21px var(--serif)}.date-block small{letter-spacing:.14em;font-size:8px}.trip-art{background:linear-gradient(#e7f4f6,#f6ead2);border-radius:12px;height:80px;margin:15px 0;position:relative;overflow:hidden}.trip-art span{color:#41765e;font-size:43px;position:absolute;bottom:13px;left:18%}.trip-art b{color:var(--navy);font-size:30px;position:absolute;bottom:9px;right:15%}.trip-art i{background:#87bda3;border-radius:50%;width:65%;height:36px;position:absolute;bottom:-18px;left:19%}.trip-mini>strong{font:600 14px var(--serif);display:block}.trip-mini>p{color:var(--muted);margin:6px 0 12px;font-size:9px}.page-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin:4px 0 26px;display:flex}.page-heading h1{color:var(--navy-dark);margin-bottom:7px;font-size:clamp(30px,3vw,42px)}.page-heading p{max-width:690px;color:var(--muted);font:14px/1.55 var(--serif);margin-bottom:0}.heading-actions{flex:none;gap:9px;display:flex}.week-summary{border:1px solid var(--line);background:#fff;border-radius:13px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:13px 17px;font-size:11px;display:flex}.week-summary>div{gap:11px;display:flex}.week-summary>strong{color:var(--teal)}.week-board{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;grid-template-columns:repeat(5,minmax(185px,1fr));display:grid;overflow-x:auto}.day-column{border-right:1px solid var(--line);min-width:185px}.day-column:last-child{border-right:0}.day-column.today{background:#edf6f28a}.day-column>header{border-bottom:1px solid var(--line);justify-content:center;align-items:center;gap:7px;min-height:74px;padding:12px;display:flex;position:relative}.day-column>header span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:9px}.day-column>header b{font:600 24px var(--serif)}.day-column>header em{background:var(--teal);color:#fff;border-radius:5px;padding:2px 5px;font-size:7px;font-style:normal;position:absolute;top:7px;right:7px}.day-tasks{min-height:395px;padding:10px}.lesson-card{border:1px solid #eadfca;border-left:3px solid var(--sun);background:#fff;border-radius:10px;margin-bottom:9px;padding:11px;position:relative;box-shadow:0 4px 12px #1c37450a}.lesson-card.coral{border-left-color:var(--coral)}.lesson-card.leaf{border-left-color:var(--teal)}.lesson-card.sky{border-left-color:#5e9bb5}.lesson-card.berry{border-left-color:var(--berry)}.lesson-card.done{opacity:.58}.lesson-card>div{justify-content:space-between;align-items:center;display:flex}.lesson-card>div button{color:var(--teal);cursor:pointer;background:0 0;border:0;padding:0}.lesson-card>strong{min-height:37px;font:600 12px/1.35 var(--serif);margin:8px 0;display:block}.lesson-card>span{color:var(--muted);align-items:center;font-size:8px;display:flex}.lesson-card>span i{color:#fff;border-radius:50%;place-items:center;width:15px;height:15px;margin-right:4px;font-size:7px;font-style:normal;display:grid}.empty-day{color:#a0a49d;cursor:pointer;background:0 0;border:1px dashed #ccd0c8;border-radius:10px;width:100%;min-height:110px}.empty-day span{margin-top:5px;font-size:8px;line-height:1.4;display:block}.day-column>footer{border-top:1px solid var(--line);color:var(--muted);text-align:center;padding:10px;font-size:8px}.planner-tip,.compliance-note{color:#527064;background:#e8f1ed;border-radius:13px;align-items:flex-start;gap:12px;margin-top:15px;padding:14px 17px;font-size:10px;display:flex}.planner-tip span,.compliance-note span{background:var(--teal);color:#fff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;display:grid}.planner-tip p,.compliance-note p{margin:2px 0 0;line-height:1.5}.filter-bar{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.filter-bar button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff9;border-radius:20px;padding:7px 11px;font-size:9px}.filter-bar button.active{background:var(--navy-dark);border-color:var(--navy-dark);color:#fff}.table-card{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 9px 25px #1c37450a}.table-row{min-height:62px;color:var(--muted);border-top:1px solid #ede9df;grid-template-columns:70px 2fr 1fr .7fr .6fr 35px;align-items:center;gap:12px;padding:10px 18px;font-size:10px;display:grid}.table-row:first-child{border-top:0}.table-head-row{color:#8a918c;text-transform:uppercase;letter-spacing:.08em;background:#f8f6ef;min-height:42px;font-size:8px;font-weight:800}.table-row.done{opacity:.56}.lesson-title{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.lesson-title strong{color:var(--ink);font:600 13px var(--serif)}.delete-button{color:#a4aaa5;cursor:pointer;background:0 0;border:0;font-size:19px}.attendance-stats{grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:14px;display:grid}.attendance-stats .card{grid-template-columns:1fr auto;align-items:center;gap:8px 18px;padding:18px;display:grid}.attendance-stats strong{font:600 24px var(--serif)}.attendance-stats strong small{color:var(--muted);font:9px var(--sans)}.attendance-stats .thin-progress,.attendance-stats>.card>span:last-child{grid-column:1/-1}.thin-progress{background:#ece9e0;border-radius:5px;height:5px;overflow:hidden}.thin-progress i{border-radius:inherit;height:100%;display:block}.attendance-stats>.card>span:last-child{color:var(--muted);font-size:9px}.attendance-board{overflow:hidden}.attendance-legend{border-bottom:1px solid var(--line);align-items:center;gap:18px;padding:14px 18px;font-size:9px;display:flex}.attendance-legend span{align-items:center;gap:5px;display:flex}.attendance-legend i{border-radius:50%;width:8px;height:8px}.attendance-legend i.present{background:var(--teal)}.attendance-legend i.partial{background:var(--sun)}.attendance-legend i.off{background:#c8ccc7}.attendance-legend em{color:var(--muted);margin-left:auto;font-style:normal}.attendance-grid{grid-template-columns:1.2fr repeat(5,1fr);display:grid}.attendance-label,.attendance-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#f8f6ef;padding:13px}.attendance-label{text-transform:uppercase;letter-spacing:.08em;font-size:8px}.attendance-day{text-align:center;flex-direction:column;display:flex}.attendance-day strong{font:600 14px var(--serif)}.attendance-day span{color:var(--muted);font-size:8px}.attendance-student-row{display:contents}.attendance-name{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;gap:5px;min-height:95px;padding:20px;display:flex}.attendance-name small{color:var(--muted);font-size:8px}.attendance-cell{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:95px;display:flex}.attendance-cell.present{color:#34735e;background:#eff7f3}.attendance-cell.partial{color:#8c6c20;background:#fff8df}.attendance-cell.off{color:#9ba09a;background:#f7f6f2}.attendance-cell b{color:#fff;background:currentColor;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.attendance-cell span{font-size:8px}.goals-layout,.book-layout,.chores-layout,.trips-layout,.budget-layout{grid-template-columns:minmax(0,2fr) minmax(260px,.75fr);align-items:start;gap:18px;display:grid}.goal-list{gap:13px;display:grid}.goal-card{grid-template-columns:120px 1fr;align-items:center;gap:22px;padding:22px;display:grid}.progress-ring{--progress:180deg;background:conic-gradient(var(--teal) var(--progress), #e9e7df 0);border-radius:50%;place-items:center;width:96px;height:96px;display:grid;position:relative}.progress-ring:before{content:"";background:var(--paper);border-radius:50%;position:absolute;inset:8px}.progress-ring span{font:600 22px var(--serif);position:relative}.progress-ring small{font:8px var(--sans)}.progress-ring em{color:var(--muted);font-size:7px;font-style:normal;position:absolute;bottom:20px}.goal-copy>div{align-items:center;gap:7px;display:flex}.goal-copy h2{margin:10px 0 12px;font-size:20px}.goal-copy label{color:var(--muted);grid-template-columns:50px 1fr;align-items:center;gap:8px;font-size:8px;display:grid}.goal-copy input[type=range]{accent-color:var(--teal);width:100%}.goal-copy p{color:var(--ink);font:11px/1.4 var(--serif);background:#f5f2e8;border-radius:9px;margin:13px 0 0;padding:10px 12px}.goal-copy p span{color:var(--coral);font:800 7px var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px;display:block}.add-panel{padding:22px;position:sticky;top:82px}.add-panel h2{margin-bottom:18px;font-size:21px}.add-panel form{gap:11px;display:grid}.field{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;flex-direction:column;gap:5px;font-size:8px;font-weight:750;display:flex}.field input,.field select,.field textarea{width:100%;color:var(--ink);text-transform:none;letter-spacing:0;background:#fff;border:1px solid #dcd9d0;border-radius:8px;padding:10px 11px;font-size:11px}.field textarea{resize:vertical;min-height:70px}.reading-summary{grid-template-columns:.7fr .7fr 1.5fr;gap:13px;margin-bottom:18px;display:grid}.reading-summary>div{border:1px solid var(--line);background:#fff;border-radius:15px;flex-direction:column;justify-content:center;min-height:100px;padding:18px;display:flex}.reading-summary span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:8px}.reading-summary strong{font:600 29px var(--serif);margin:4px 0}.reading-summary small{color:var(--muted);font-size:8px}.reading-summary .quote-tile{background:var(--navy-dark);color:#fff;font:italic 16px/1.4 var(--serif)}.quote-tile span{color:#a9c8d1;margin-top:8px}.book-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.book-card{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:115px 1fr;min-height:220px;display:grid;overflow:hidden;box-shadow:0 9px 24px #1c37450d}.book-cover{color:#fff;text-align:center;font:600 17px/1.25 var(--serif);justify-content:center;align-items:center;padding:17px;display:flex;position:relative;overflow:hidden}.book-cover:before{content:"";border:1px solid #ffffff47;border-radius:50% 50% 8px 8px;position:absolute;inset:10px}.book-cover span,.book-cover i{position:relative}.book-cover i{font-size:9px;position:absolute;bottom:22px}.cover-0{background:#226b7d}.cover-1{background:#c66c57}.cover-2{background:#6f8063}.cover-3{background:#84556c}.book-info{padding:17px}.book-info h2{margin:7px 0 3px;font-size:16px}.book-info>p{color:var(--muted);margin-bottom:9px;font-size:9px}.status{color:#3b755f;text-transform:uppercase;letter-spacing:.08em;background:#e4f1eb;border-radius:8px;padding:3px 6px;font-size:7px;font-weight:800}.status.finished{color:#82621a;background:#f8e6bd}.status.up-next{color:#687475;background:#e6e9e9}.book-progress{margin-top:14px}.book-progress>div{background:#eceae3;border-radius:5px;height:5px;overflow:hidden}.book-progress i{background:var(--teal);height:100%;display:block}.book-progress span{color:var(--muted);margin-top:4px;font-size:8px;display:block}.page-stepper{gap:5px;margin-top:10px;display:flex}.page-stepper button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:6px;padding:5px 7px;font-size:8px}.chore-hero{background:linear-gradient(120deg,#e7f1ec,#fff8e5);border:1px solid #d9e5dc;border-radius:19px;justify-content:space-between;align-items:center;min-height:160px;margin-bottom:16px;padding:25px 40px;display:flex}.chore-hero h2{margin:0 0 4px;font-size:28px}.chore-hero p{color:var(--muted);font:13px var(--serif)}.chore-list{overflow:hidden}.chore-row{border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:30px 1fr 100px 35px;align-items:center;gap:12px;width:100%;min-height:70px;padding:11px 18px;display:grid}.chore-row:first-child{border-top:0}.chore-row:hover{background:#fbfaf6}.chore-row strong{font:600 14px var(--serif)}.chore-row.done strong{color:var(--muted);text-decoration:line-through}.chore-row em{color:#82651f;background:#f8edc9;border-radius:50%;place-items:center;width:28px;height:28px;font-size:9px;font-style:normal;display:grid}.child-pill.family{color:var(--berry)}.meal-layout{grid-template-columns:minmax(0,2.2fr) minmax(250px,.65fr);align-items:start;gap:18px;display:grid}.meal-board{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:16px;overflow:hidden}.meal-header,.meal-row{grid-template-columns:.58fr repeat(3,1fr);display:grid}.meal-header{min-height:42px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:#f7f4ec;align-items:center;font-size:8px;font-weight:800}.meal-header span{border-right:1px solid var(--line);padding:10px 14px}.meal-row{border-top:1px solid var(--line);min-height:110px}.meal-row>strong{font:600 13px var(--serif);background:#fcfaf5;flex-direction:column;justify-content:center;padding:14px;display:flex}.meal-row>strong small{color:var(--muted);font:8px var(--sans);margin-top:4px}.meal-row label{border-left:1px solid var(--line)}.meal-row textarea{resize:none;width:100%;height:100%;color:var(--ink);font:11px/1.45 var(--serif);background:0 0;border:0;padding:15px}.meal-row textarea:focus{outline-offset:-2px;background:#fffcf3;outline:2px solid #f4bd4540}.grocery-card{padding:22px}.basket{color:var(--teal);font-size:24px}.grocery-card ul{margin:16px 0;padding:0;list-style:none}.grocery-card li{min-height:37px;font:12px var(--serif);border-bottom:1px solid #ece8df;align-items:center;gap:8px;display:flex}.grocery-card li button{color:var(--teal);cursor:pointer;background:0 0;border:0}.inline-add{gap:6px;display:flex}.inline-add input{border:1px solid var(--line);border-radius:8px;flex:1;min-width:0;padding:9px}.inline-add button{background:var(--teal);color:#fff;cursor:pointer;border:0;border-radius:8px;width:34px}.meal-tip{color:#786129;background:#fff4d6;border-radius:9px;margin-top:18px;padding:11px;font-size:9px;line-height:1.5}.trip-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.full-trip{overflow:hidden}.trip-banner{background:linear-gradient(170deg,#cde7e3,#f4dcae);align-items:flex-end;height:130px;padding:18px;display:flex;position:relative;overflow:hidden}.trip-banner span{color:#5a9278;font-size:80px;position:absolute;bottom:12px;left:20%}.trip-banner i{background:#3d7c68;border-radius:50%;width:75%;height:65px;position:absolute;bottom:-35px;right:-10%}.trip-banner b{font:600 11px var(--serif);background:#ffffffc7;border-radius:8px;margin-left:auto;padding:6px 9px;position:relative}.banner-1{background:linear-gradient(155deg,#f5d5c8,#e6c6a2)}.banner-1 span{color:#ae614b}.banner-1 i{background:#ce8b67}.trip-content{padding:19px}.trip-content>div:first-child{justify-content:space-between;display:flex}.trip-cost{color:var(--muted);font-size:10px}.trip-content h2{margin:11px 0 4px;font-size:20px}.trip-content>p{color:var(--muted);font-size:9px}.trip-content dl{gap:10px;margin:15px 0;display:grid}.trip-content dl div{background:#f7f4ec;border-radius:8px;padding:10px}.trip-content dt{color:var(--teal);letter-spacing:.1em;text-transform:uppercase;font-size:7px;font-weight:800}.trip-content dd{font:10px/1.4 var(--serif);margin:4px 0 0}.budget-hero{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:18px;grid-template-columns:1fr 1fr 1.5fr;align-items:center;gap:25px;margin-bottom:17px;padding:25px;display:grid}.budget-hero>div:first-child{flex-direction:column;display:flex}.budget-hero>div:first-child>span{color:var(--muted);font-size:9px}.budget-hero>div:first-child>strong{font:600 32px var(--serif);margin:6px 0}.budget-hero label{color:var(--muted);font-size:8px}.budget-hero label input{border:1px solid var(--line);border-radius:5px;width:80px;margin-left:5px;padding:3px}.budget-meter{align-items:center;gap:14px;display:flex}.budget-meter .progress-ring{width:78px;height:78px}.budget-meter .progress-ring em{bottom:14px}.budget-meter p{color:var(--muted);margin:0;font-size:9px}.budget-meter p strong{color:var(--teal);font:600 19px var(--serif);display:block}.category-bars{gap:9px;display:grid}.category-bars>div span{color:var(--muted);justify-content:space-between;font-size:8px;display:flex}.category-bars b{color:var(--ink)}.category-bars>div>i{background:#ece9e1;border-radius:5px;height:5px;margin-top:4px;display:block;overflow:hidden}.category-bars em{background:var(--navy);border-radius:inherit;height:100%;display:block}.category-bars .bar-1{background:var(--teal)}.category-bars .bar-2{background:var(--sun)}.budget-layout .expenses .table-row{grid-template-columns:.7fr 1.6fr 1fr .8fr}.category-chip{background:#f0eee7;border-radius:9px;padding:4px 7px;font-size:8px}.record-cover{background:var(--navy-dark);color:#fff;min-height:250px;box-shadow:var(--shadow);border-radius:20px;align-items:center;gap:26px;margin-bottom:16px;padding:40px;display:flex;position:relative;overflow:hidden}.record-cover:after{content:"";border:55px solid #ffffff0d;border-radius:50%;width:330px;height:330px;position:absolute;top:-110px;right:-100px}.record-cover img{object-fit:contain;background:#fff;border-radius:50%;width:95px;height:95px;padding:10px}.record-cover span{color:#f3ce75;letter-spacing:.18em;font-size:9px;font-weight:800}.record-cover h2{margin:7px 0;font-size:34px;line-height:1.02}.record-cover p{color:#b8d0d5;font:italic 12px var(--serif);margin:0}.record-cover>b{color:#ffffff14;font:600 50px var(--serif);letter-spacing:.1em;position:absolute;bottom:20px;right:28px}.record-metrics{grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px;display:grid}.record-metrics>div{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;min-height:115px;padding:17px;display:flex}.record-metrics span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:8px}.record-metrics strong{font:600 29px var(--serif);margin:6px 0}.record-metrics small{color:var(--muted);font-size:8px}.student-records{padding:24px}.official-chip{color:#3c735f;background:#e5f1eb;border-radius:10px;padding:5px 8px;font-size:8px}.student-summary{border-top:1px solid var(--line);grid-template-columns:1.2fr 2fr;align-items:center;gap:20px;padding:20px 0;display:grid}.student-summary:first-of-type{margin-top:15px}.student-summary>div:first-child{flex-direction:column;gap:5px;display:flex}.student-summary>div>span{color:var(--muted);font-size:8px}.student-summary dl{grid-template-columns:repeat(4,1fr);gap:8px;margin:0;display:grid}.student-summary dl div{background:#f7f4ec;border-radius:8px;padding:10px}.student-summary dt{color:var(--muted);text-transform:uppercase;font-size:7px}.student-summary dd{font:600 14px var(--serif);margin:4px 0 0}.samples-layout{grid-template-columns:minmax(0,2fr) minmax(280px,.72fr);align-items:start;gap:18px;display:grid}.sample-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.empty-state{text-align:center;grid-column:1/-1;align-content:center;place-items:center;min-height:290px;padding:35px;display:grid}.empty-state>span{width:54px;height:54px;color:var(--teal);background:#e6f1ec;border-radius:18px;place-items:center;margin-bottom:15px;font-size:23px;display:grid}.empty-state h2{margin:0 0 8px}.empty-state p{max-width:420px;color:var(--muted);font:12px/1.55 var(--serif);margin:0}.sample-card{overflow:hidden}.sample-preview{background:linear-gradient(145deg,#dfeee9,#f9edc8);place-items:center;height:205px;text-decoration:none;display:grid;overflow:hidden}.sample-preview img{object-fit:cover;width:100%;height:100%}.sample-preview.document span{width:65px;height:82px;color:var(--coral);background:#fff;border-radius:5px;place-items:center;font-size:11px;font-weight:850;display:grid;box-shadow:0 12px 35px #1c374521}.sample-copy{padding:17px 17px 8px}.sample-copy>div{justify-content:space-between;gap:8px;display:flex}.sample-copy h2{margin:11px 0 5px;font-size:18px}.sample-copy p{min-height:36px;color:var(--muted);font:10px/1.5 var(--serif);margin:0 0 8px}.sample-copy small{color:#8b918d;font-size:8px}.sample-actions{justify-content:space-between;align-items:center;gap:10px;padding:9px 17px 17px;display:flex}.sample-actions .soft-button{text-decoration:none}.text-button.danger{color:#a04c46}.file-drop{text-align:center;cursor:pointer;background:#f1f7f4;border:1px dashed #9db9af;border-radius:12px;align-content:center;place-items:center;gap:5px;min-height:115px;padding:16px;display:grid}.file-drop input{opacity:0;width:1px;height:1px;position:absolute}.file-drop span{color:#356c5b;font:600 13px var(--serif)}.file-drop small{color:var(--muted);font-size:8px;line-height:1.45}.portfolio-builder{grid-template-columns:minmax(220px,.68fr) minmax(0,1.32fr);gap:20px;margin-bottom:16px;padding:24px;display:grid}.portfolio-builder h2{margin:0 0 8px;font-size:23px}.portfolio-builder>div:first-child p{color:var(--muted);font:11px/1.55 var(--serif);margin:0}.portfolio-fields{grid-template-columns:.7fr 1fr 1fr;gap:10px;display:grid}.portfolio-fields textarea{min-height:84px}.portfolio-builder>button{grid-column:1/-1}.week-navigator{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:8px;margin-bottom:12px;padding:11px 14px;display:flex}.week-navigator>label{grid-template-columns:auto 1fr;align-items:center;gap:1px 10px;min-width:245px;display:grid}.week-navigator label span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:7px;font-weight:800}.week-navigator input{border:1px solid var(--line);min-height:37px;color:var(--ink);background:var(--paper);border-radius:8px;grid-area:1/2/3;padding:7px 9px}.week-navigator strong{font:600 11px var(--serif)}.lesson-card>small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:-5px 0 7px;font-size:7px;font-weight:800;display:block}.lesson-title small{max-width:420px;color:var(--muted);font-size:8px;line-height:1.35}.attendance-cell{cursor:default;padding:7px 5px}.attendance-cell>button{color:inherit;cursor:pointer;text-transform:capitalize;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:0;display:flex}.attendance-cell>button b{color:#fff;background:currentColor;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.attendance-cell>button span{font-size:7px;font-weight:800}.attendance-cell label{color:currentColor;align-items:center;gap:3px;display:flex}.attendance-cell input{width:46px;color:var(--ink);text-align:right;background:#ffffffb8;border:1px solid #1c374529;border-radius:6px;padding:4px;font-size:8px}.attendance-cell label small{font-size:7px}.goal-copy>small,.book-info>small{color:var(--muted);margin:2px 0 9px;font-size:8px;display:block}.goal-copy .delete-button{margin-left:auto}.book-info{position:relative}.book-delete{position:absolute;top:11px;right:10px}.month-toolbar{align-items:center;gap:9px;margin-bottom:12px;display:flex}.month-toolbar h2{text-align:center;min-width:210px;margin:0;font-size:24px}.month-calendar{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:18px;overflow:hidden}.month-weekdays{background:var(--navy);color:#fff;grid-template-columns:repeat(7,1fr);display:grid}.month-weekdays span{letter-spacing:.08em;text-align:center;text-transform:uppercase;border-right:1px solid #ffffff1f;padding:10px;font-size:8px;font-weight:800}.month-grid{grid-template-columns:repeat(7,minmax(120px,1fr));display:grid;overflow-x:auto}.month-grid>article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fffdf8;min-height:128px;padding:8px}.month-grid>article.outside{opacity:.38;background:#f4f2ec}.month-grid>article.today{box-shadow:inset 0 0 0 2px var(--teal);background:#f0f8f4}.month-date{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:5px;padding:0 1px 6px;display:flex}.month-date b{font:600 15px var(--serif)}.month-date small{background:var(--teal);color:#fff;text-transform:uppercase;border-radius:8px;padding:2px 5px;font-size:6px}.month-date span{color:var(--teal);opacity:0;margin-left:auto}.month-grid article:hover .month-date span,.month-date:focus-visible span{opacity:1}.month-item{border:0;border-left:3px solid var(--sun);width:100%;color:var(--ink);font:8px/1.2 var(--sans);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:#fff8df;border-radius:5px;margin:3px 0;padding:5px 6px 5px 10px;display:block;overflow:hidden}.month-item.coral{border-left-color:var(--coral);background:#fff0ed}.month-item.leaf{border-left-color:var(--teal);background:#eaf5f0}.month-item.sky{background:#edf5f8;border-left-color:#5e9bb5}.month-item.berry{border-left-color:var(--berry);background:#f6eef4}.month-item.trip{border-left-color:var(--navy);background:#eaf0f2}.month-item i{border-radius:50%;width:5px;height:5px;margin-right:4px;display:inline-block}.month-more{color:var(--muted);font-size:7px}.report-center{border-top:4px solid var(--teal);grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:24px;margin-bottom:16px;padding:24px;display:grid}.report-intro h2{margin:5px 0 8px;font-size:24px}.report-intro p{color:var(--muted);font:11px/1.5 var(--serif)}.report-intro>strong{color:var(--teal);background:#e8f1ed;border-radius:10px;margin-top:8px;padding:6px 9px;font-size:9px;display:inline-block}.report-fields{grid-template-columns:1.2fr 1fr .85fr .85fr;align-items:end;gap:10px;display:grid}.report-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.date-pair{grid-template-columns:1fr 1fr;gap:8px;display:grid}.membership-status{background:linear-gradient(125deg,#fffefa,#edf6f1);justify-content:space-between;align-items:center;gap:25px;margin-bottom:18px;padding:25px 30px;display:flex}.membership-status>div:first-child{align-items:center;gap:17px;display:flex}.membership-status h2{margin:0 0 5px;font-size:25px}.membership-status p{color:var(--muted);font:11px/1.5 var(--serif);margin:0}.status-orb{background:var(--navy);color:#fff;border-radius:50%;flex:none;place-items:center;width:54px;height:54px;font-size:24px;display:grid}.membership-date{text-align:right;flex-direction:column;min-width:145px;display:flex}.membership-date strong{color:var(--navy);font:600 29px var(--serif)}.membership-date span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:8px}.membership-date small{color:var(--teal);margin-top:7px;font-size:8px}.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.price-card{padding:28px;position:relative}.price-card.featured{border:2px solid var(--teal);box-shadow:0 16px 40px #1d9a781f}.best-value{background:var(--teal);color:#fff;border-radius:0 0 9px 9px;padding:6px 10px;font-size:8px;font-weight:800;position:absolute;top:0;right:22px}.price-card h2{margin:2px 0 4px;font-size:27px}.price{align-items:baseline;gap:5px;margin:2px 0 18px;display:flex}.price strong{color:var(--navy);font:600 42px var(--serif)}.price span{color:var(--muted);font-size:10px}.price-card ul{color:#526268;gap:9px;margin:0 0 22px;padding:0;font-size:10px;list-style:none;display:grid}.price-card li:before{content:"✓";color:var(--teal);margin-right:8px;font-weight:850}.account-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.account-control{padding:24px}.account-control h2{margin:0 0 8px;font-size:22px}.account-control>p{color:var(--muted);font:11px/1.55 var(--serif)}.danger-zone{border-color:#eccbc6}.danger-zone .eyebrow{color:#a44f47}.danger-zone form{gap:10px;margin-top:16px;display:grid}.danger-button{color:#a2473f;cursor:pointer;background:#fff;border:1px solid #b95b52;border-radius:9px;width:fit-content;padding:10px 14px;font-size:9px;font-weight:800}.danger-button:disabled{opacity:.45;cursor:not-allowed}.policy-links,.signin-policies{flex-wrap:wrap;justify-content:center;gap:18px;padding:19px;display:flex}.policy-links a,.signin-policies a{color:var(--muted);font-size:9px}.legal-shell{background:radial-gradient(circle at 80% 0,#fff3c7,transparent 26%),var(--cream);min-height:100vh;padding:28px clamp(18px,5vw,70px) 40px}.legal-header{justify-content:space-between;align-items:center;gap:18px;width:min(980px,100%);margin:0 auto 28px;display:flex}.legal-brand{color:var(--ink);align-items:center;gap:11px;text-decoration:none;display:flex}.legal-brand img{object-fit:contain;background:#fff;border-radius:13px;width:47px;height:47px;padding:5px}.legal-brand span{flex-direction:column;display:flex}.legal-brand strong{font:600 15px var(--serif)}.legal-brand small{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-top:3px;font-size:8px}.legal-card{border:1px solid var(--line);background:#ffffffeb;border-radius:24px;width:min(860px,100%);margin:0 auto;padding:clamp(28px,6vw,64px);box-shadow:0 25px 70px #1c374517}.legal-card>h1{color:var(--navy-dark);margin:0 0 12px;font-size:clamp(38px,6vw,60px)}.legal-intro{max-width:680px;color:var(--muted);font:16px/1.6 var(--serif)}.legal-effective{color:#527064;background:#edf5f1;border-radius:9px;margin:22px 0;padding:9px 12px;font-size:9px}.legal-content{gap:25px;display:grid}.legal-content section{border-top:1px solid var(--line);padding-top:22px}.legal-content h2{color:var(--navy);margin:0 0 9px;font-size:22px}.legal-content p,.legal-content li{color:#536268;font-size:11px;line-height:1.75}.legal-content a{color:var(--navy)}.legal-content ul{gap:6px;padding-left:20px;display:grid}.legal-footer{flex-wrap:wrap;justify-content:center;gap:20px;margin-top:25px;display:flex}.legal-footer a{color:var(--muted);font-size:9px}.assistant-allowance{color:var(--teal);background:#e7f1ed;border-radius:12px;padding:8px 11px;font-size:9px;font-weight:800}.assistant-layout{grid-template-columns:minmax(0,1.55fr) minmax(285px,.65fr);align-items:start;gap:18px;display:grid}.assistant-chat{background:linear-gradient(#fffefa,#fbf8f0);flex-direction:column;min-height:670px;display:flex;overflow:hidden}.assistant-chat-head{border-bottom:1px solid var(--line);background:#ffffffd6;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:14px 18px;display:flex}.assistant-chat-head>div{align-items:center;gap:10px;display:flex}.assistant-chat-head>div>div{flex-direction:column;display:flex}.assistant-chat-head strong{font:600 15px var(--serif)}.assistant-chat-head>div span:last-child{color:var(--muted);margin-top:3px;font-size:8px}.compass-orb{background:linear-gradient(145deg,var(--teal),var(--navy));border-radius:50%;place-items:center;width:37px;height:37px;box-shadow:0 8px 20px #18686433;color:#fff!important;margin:0!important;font-size:16px!important;display:grid!important}.assistant-private{color:#527064;background:#f2f7f4;border:1px solid #dce6e1;border-radius:9px;padding:6px 8px;font-size:8px}.assistant-messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:16px;max-height:520px;padding:22px;display:flex;overflow-y:auto}.assistant-message{grid-template-columns:32px minmax(0,1fr);align-items:start;gap:10px;display:grid}.assistant-message>span{width:30px;height:30px;color:var(--teal);background:#dcebe6;border-radius:10px;place-items:center;font-size:12px;font-weight:800;display:grid}.assistant-message.user>span{background:var(--navy);color:#fff}.assistant-message>div{max-width:88%}.assistant-message>div>strong{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:2px 0 5px;font-size:8px;display:block}.assistant-message p{color:#29434e;font:12px/1.65 var(--sans);white-space:pre-wrap;background:#fff;border:1px solid #e1e6e1;border-radius:4px 14px 14px;margin:0;padding:13px 15px;box-shadow:0 5px 18px #1c374509}.assistant-message.user{grid-template-columns:minmax(0,1fr) 32px}.assistant-message.user>span{grid-area:1/2}.assistant-message.user>div{grid-area:1/1;justify-self:end}.assistant-message.user>div>strong{text-align:right}.assistant-message.user p{background:#e9f3f0;border-color:#c8ddda;border-radius:14px 4px 14px 14px}.assistant-message.thinking p{gap:4px;width:fit-content;display:flex}.assistant-message.thinking p i{background:#76a69a;border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite compassPulse}.assistant-message.thinking p i:nth-child(2){animation-delay:.15s}.assistant-message.thinking p i:nth-child(3){animation-delay:.3s}@keyframes compassPulse{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.assistant-error{color:#9a4038;background:#fff0ed;border:1px solid #efc3bc;border-radius:9px;margin:0 22px 12px;padding:10px 12px;font-size:10px}.assistant-composer{background:#fff;border:1px solid #cbd9d4;border-radius:14px;margin:0 18px 18px;overflow:hidden;box-shadow:0 10px 30px #1c374512}.assistant-composer textarea{resize:vertical;width:100%;min-height:82px;color:var(--ink);font:12px/1.55 var(--sans);background:0 0;border:0;outline:0;padding:14px 15px 5px}.assistant-composer>div{justify-content:space-between;align-items:center;gap:12px;padding:8px;display:flex}.assistant-composer>div>span{color:var(--muted);padding-left:7px;font-size:8px}.assistant-composer .primary{flex:none}.assistant-starters{gap:14px;display:grid}.assistant-starters>.card{padding:20px}.assistant-starters h2{margin:7px 0 15px;font-size:21px}.assistant-starters .card>div{gap:8px;display:grid}.assistant-starters button{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fffefa;border-radius:11px;grid-template-columns:27px 1fr 14px;align-items:center;gap:9px;padding:11px;transition:all .18s;display:grid}.assistant-starters button:hover{background:#f2f8f5;border-color:#9fc0b7;transform:translateY(-1px)}.assistant-starters button:disabled{opacity:.55;cursor:wait;transform:none}.assistant-starters button>span{width:25px;height:25px;color:var(--teal);background:#e4f0ec;border-radius:8px;place-items:center;display:grid}.assistant-starters button>div{flex-direction:column;min-width:0;display:flex}.assistant-starters button strong{font-size:10px}.assistant-starters button small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:8px;line-height:1.35;display:-webkit-box;overflow:hidden}.assistant-starters button em{color:var(--teal);font-style:normal}.assistant-trust{color:#4c6960;background:#edf5f1;border:1px solid #d6e1dc;border-radius:13px;grid-template-columns:34px 1fr;align-items:start;gap:10px;padding:15px;display:grid}.assistant-trust>span{width:32px;height:32px;color:var(--teal);background:#fff;border-radius:50%;place-items:center;display:grid}.assistant-trust p{margin:0;font-size:9px;line-height:1.55}.assistant-trust strong{color:#2f5c50;margin-bottom:3px;display:block}.account-shell{background:var(--paper);grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);min-height:100vh;display:grid}.account-shell.account-centered{background:radial-gradient(circle at 50% 0,#fff9e8,var(--cream) 48%,#e8f1ed);grid-template-columns:1fr;place-items:center;padding:25px}.account-story{color:#fff;background:linear-gradient(145deg,#113f56,#176a75 58%,#3d876c);flex-direction:column;justify-content:space-between;min-height:100vh;padding:46px clamp(36px,6vw,92px);display:flex;position:relative;overflow:hidden}.account-story:before{content:"";border:90px solid #ffffff0f;border-radius:50%;width:540px;height:540px;position:absolute;bottom:-235px;right:-180px}.account-story:after{content:"";opacity:.85;background:radial-gradient(circle,#f4bd45 0 18%,#f4bd4538 19% 42%,#0000 43%);border-radius:50%;width:210px;height:210px;position:absolute;top:16%;right:9%}.account-brand{z-index:2;color:inherit;align-items:center;gap:12px;text-decoration:none;display:inline-flex;position:relative}.account-brand img{object-fit:contain;background:#fff;border-radius:14px;width:52px;height:52px;padding:5px}.account-brand span{flex-direction:column;display:flex}.account-brand strong{font:600 18px/1.1 var(--serif)}.account-brand small{opacity:.72;letter-spacing:.14em;text-transform:uppercase;margin-top:5px;font-size:8px}.account-story>div{z-index:2;max-width:720px;position:relative}.account-story .eyebrow{color:#f5d37a}.account-story h1{letter-spacing:-.045em;max-width:680px;margin:0 0 24px;font-size:clamp(42px,6vw,78px);line-height:.98}.account-story h1 em{color:#f3cd6d;font-weight:500}.account-story p{color:#d3e4e4;max-width:620px;font:17px/1.65 var(--serif)}.account-story blockquote{z-index:2;color:#e3eeee;width:fit-content;font:italic 13px var(--serif);background:#ffffff12;border:1px solid #ffffff29;border-radius:12px;margin:0;padding:12px 16px;position:relative}.account-panel{background:linear-gradient(160deg,#fffdf8,#f5f0e3);place-items:center;padding:34px;display:grid}.account-card{border:1px solid var(--line);background:#ffffffe0;border-radius:24px;width:min(480px,100%);padding:clamp(28px,4vw,48px);box-shadow:0 24px 70px #1c37451f}.account-card.compact{text-align:center}.account-card.compact .primary{margin-top:7px}.account-logo{object-fit:contain;background:#fff;border-radius:20px;width:78px;height:78px;margin-bottom:18px;padding:8px;box-shadow:0 8px 25px #1c374514}.account-card h1,.account-card h2{color:var(--navy-dark);margin-bottom:11px;font-size:clamp(29px,3.4vw,42px)}.account-card>p{color:var(--muted);font:14px/1.6 var(--serif)}.account-form{gap:16px;margin-top:25px;display:grid}.account-form .field{font-size:9px}.account-form .field input{min-height:48px;font-size:14px}.form-fine-print{color:var(--muted);text-align:center;margin:-3px 10px 0;font-size:9px;line-height:1.5}.form-error{color:#a8443c;background:#fff0ed;border:1px solid #f0c1bb;border-radius:9px;margin:0;padding:10px 12px;font-size:10px;line-height:1.45}.account-help{color:var(--navy);text-align:center;margin-top:22px;font-size:10px;text-decoration:none;display:block}.email-illustration{width:90px;height:90px;color:var(--teal);background:#e3f0eb;border-radius:50%;place-items:center;margin:24px auto;font-size:35px;display:grid}.account-loader{border:3px solid #dce7e3;border-top-color:var(--teal);border-radius:50%;width:32px;height:32px;margin:0 auto 22px;animation:.7s linear infinite spin;display:block}@keyframes spin{to{transform:rotate(360deg)}}.onboarding-shell{background:radial-gradient(circle at 80% 0,#fff4ce,transparent 27%),var(--cream);min-height:100vh;padding:0 0 60px}.onboarding-topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf8d1;justify-content:space-between;align-items:center;min-height:74px;padding:10px clamp(22px,5vw,70px);display:flex}.onboarding-topbar .account-brand img{width:44px;height:44px}.onboarding-topbar>div:last-child{color:var(--muted);align-items:center;gap:15px;font-size:10px;display:flex}.onboarding-card{border:1px solid var(--line);background:var(--paper);border-radius:24px;grid-template-columns:.72fr 1.28fr;width:min(1120px,100% - 42px);margin:48px auto 0;display:grid;overflow:hidden;box-shadow:0 24px 70px #1c37451a}.onboarding-intro{color:#fff;background:linear-gradient(155deg,#173f53,#1e6e70);padding:46px}.onboarding-intro .eyebrow{color:#f3d47e}.onboarding-intro h1{margin-bottom:17px;font-size:clamp(33px,3.5vw,49px);line-height:1.04}.onboarding-intro p{color:#d3e4e3;font:14px/1.65 var(--serif)}.onboarding-intro ol{color:#afc9c7;text-transform:uppercase;letter-spacing:.1em;gap:14px;margin:36px 0 0;padding:0;font-size:10px;list-style:none;display:grid}.onboarding-intro li{align-items:center;gap:10px;display:flex}.onboarding-intro li span{border:1px solid #ffffff3d;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.onboarding-intro li.active{color:#fff;font-weight:800}.onboarding-intro li.active span{border-color:var(--sun);background:var(--sun);color:#604b12}.onboarding-form{padding:clamp(28px,4vw,52px)}.children-builder{margin-top:30px}.builder-head{justify-content:space-between;align-items:flex-start;margin-bottom:14px;display:flex}.builder-head h2{margin:0;font-size:24px}.builder-head>span{color:var(--teal);background:#e8f1ed;border-radius:10px;padding:6px 9px;font-size:9px;font-weight:800}.child-builder-row{border-top:1px solid var(--line);grid-template-columns:32px 1fr .72fr 28px;align-items:end;gap:10px;padding:13px 0;display:grid}.child-number{color:#fff;border-radius:9px;place-items:center;width:27px;height:27px;margin-bottom:8px;font-size:10px;font-weight:800;display:grid}.remove-child{color:#a3aaa6;cursor:pointer;background:0 0;border:0;width:27px;height:36px;margin-bottom:0;font-size:20px}.add-child{color:var(--teal);cursor:pointer;background:0 0;border:1px dashed #bfc9c5;border-radius:9px;margin-top:10px;padding:9px 12px;font-size:10px;font-weight:750}.onboarding-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin-top:30px;padding-top:22px;display:flex}.onboarding-actions p{color:var(--muted);margin:0;font-size:9px}.quiet-signout{opacity:.72;margin-left:12px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f293578;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--paper);border-radius:20px;width:min(610px,100%);padding:27px;animation:.18s modalIn;box-shadow:0 30px 90px #0f293540}.modal-head{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.modal-head h2{margin:0;font-size:27px}.close-round{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:50%;width:30px;height:30px}.form-grid{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.field.wide,.form-actions.wide{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:8px;margin-top:5px;display:flex}.toast{z-index:120;background:var(--navy-dark);color:#fff;border-radius:12px;align-items:center;gap:8px;padding:11px 16px;font-size:10px;animation:.2s toastIn;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 12px 35px #0f293547}.toast span{background:var(--teal);border-radius:50%;place-items:center;width:18px;height:18px;display:grid}.menu-scrim{display:none}@keyframes modalIn{0%{opacity:0;transform:translateY(10px)scale(.98)}}.toast from{opacity:0;transform:translate(-50%,10px)}@media (width<=1100px){.metric-strip{grid-template-columns:repeat(2,1fr)}.metric-strip button:nth-child(2){border-right:0}.metric-strip button:nth-child(-n+2){border-bottom:1px solid var(--line)}.dashboard-grid{grid-template-columns:1fr}.right-stack{grid-template-columns:repeat(2,1fr)}.book-grid,.trip-grid{grid-template-columns:1fr}.budget-hero{grid-template-columns:1fr 1fr}.category-bars{grid-column:1/-1}.assistant-layout{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)}.portfolio-builder{grid-template-columns:1fr}.portfolio-builder>button{grid-column:auto}.report-center{grid-template-columns:1fr}}@media (width<=820px){.account-shell{grid-template-columns:1fr}.account-story{min-height:440px;padding:32px}.account-story h1{font-size:clamp(38px,8vw,62px)}.account-story blockquote{display:none}.account-panel{padding:38px 22px 60px}.onboarding-card{grid-template-columns:1fr}.onboarding-intro{padding:33px}.onboarding-intro ol{grid-template-columns:repeat(3,1fr)}.onboarding-intro li{flex-direction:column;align-items:flex-start}.sidebar{transition:transform .25s;transform:translate(-105%);box-shadow:20px 0 60px #0f293529}.sidebar.open{transform:translate(0)}.close-menu{display:block}.menu-scrim{z-index:19;background:#0f293559;border:0;display:block;position:fixed;inset:0}.main-area{width:100%;margin-left:0}.topbar{padding:0 18px}.menu-button{margin-right:3px;display:block}.mobile-brand{font:600 13px var(--serif);margin-right:auto;display:block}.autosave{display:none}.page-wrap{padding:25px 20px 45px}.welcome-panel{padding:30px}.welcome-copy{width:78%}.sun-illustration{opacity:.65;right:-35px}.goals-layout,.book-layout,.chores-layout,.trips-layout,.budget-layout,.meal-layout{grid-template-columns:1fr}.add-panel{position:static}.book-grid,.trip-grid{grid-template-columns:repeat(2,1fr)}.attendance-board{overflow-x:auto}.attendance-grid{min-width:750px}.record-metrics{grid-template-columns:repeat(2,1fr)}.assistant-layout{grid-template-columns:1fr}.assistant-chat{min-height:620px}.assistant-starters{grid-template-columns:1fr 1fr}.assistant-trust{min-height:100%}.samples-layout{grid-template-columns:1fr}.sample-uploader{position:static}.account-controls{grid-template-columns:1fr}.month-calendar{overflow-x:auto}.month-weekdays,.month-grid{min-width:840px}.report-fields{grid-template-columns:1fr 1fr}}@media (width<=570px){.account-story{min-height:390px;padding:24px}.account-brand img{width:44px;height:44px}.account-story h1{margin-top:45px;font-size:40px}.account-story p{font-size:14px}.account-panel{padding:25px 15px 45px}.account-card{border-radius:18px;padding:28px 22px}.onboarding-topbar{align-items:flex-start;gap:10px}.onboarding-topbar>div:last-child{flex-direction:column;align-items:flex-end;gap:3px}.onboarding-topbar>div:last-child span{text-overflow:ellipsis;max-width:135px;overflow:hidden}.onboarding-card{width:calc(100% - 24px);margin-top:18px}.onboarding-intro,.onboarding-form{padding:25px 20px}.onboarding-intro ol{gap:6px}.onboarding-intro li{font-size:7px}.child-builder-row{grid-template-columns:28px 1fr 25px}.child-builder-row .field:nth-of-type(2){grid-column:2/3}.remove-child{grid-area:1/3/span 2;align-self:center}.onboarding-actions{flex-direction:column;align-items:stretch}.onboarding-actions .primary{width:100%}.topbar .icon-button{display:none}.topbar .primary.small{padding:9px;font-size:9px}.welcome-panel{align-items:flex-start;min-height:340px;padding:27px}.welcome-copy{width:100%}.welcome-copy h1{font-size:31px}.welcome-copy p{font-size:14px}.sun-illustration{opacity:.55;width:60%;height:43%}.welcome-actions{flex-direction:column;align-items:stretch}.metric-strip{grid-template-columns:1fr}.metric-strip button{border-right:0;border-bottom:1px solid var(--line)!important}.metric-strip button:last-child{border-bottom:0!important}.right-stack{grid-template-columns:1fr}.task-row{grid-template-columns:26px 1fr 20px}.task-row time{display:none}.home-anchor{grid-template-columns:26px 1fr}.home-anchor .home-dot{grid-column:1}.home-anchor .task-copy{grid-column:2}.page-heading{flex-direction:column;align-items:flex-start}.heading-actions{flex-wrap:wrap;width:100%}.heading-actions>*{flex:1}.week-summary{flex-direction:column;align-items:flex-start;gap:9px}.week-navigator,.month-toolbar{flex-wrap:wrap;align-items:stretch}.week-navigator>label{min-width:calc(100% - 92px)}.month-toolbar h2{text-align:left;order:-1;width:100%}.report-fields{grid-template-columns:1fr}.report-actions{flex-direction:column;align-items:stretch}.date-pair{grid-template-columns:1fr}.table-card{overflow-x:auto}.table-row{min-width:720px}.attendance-stats,.goal-card{grid-template-columns:1fr}.progress-ring{margin:0 auto}.reading-summary{grid-template-columns:1fr 1fr}.reading-summary .quote-tile{grid-column:1/-1}.book-grid,.trip-grid{grid-template-columns:1fr}.book-card{grid-template-columns:105px 1fr}.chore-hero{padding:22px}.chore-row{grid-template-columns:27px 1fr 32px}.chore-row .child-pill{display:none}.meal-board{overflow-x:auto}.meal-header,.meal-row{min-width:680px}.budget-hero{grid-template-columns:1fr}.category-bars{grid-column:auto}.budget-meter{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0}.record-cover{flex-direction:column;align-items:flex-start;min-height:300px;padding:28px}.record-cover img{width:66px;height:66px}.record-cover h2{font-size:27px}.record-cover>b{font-size:31px}.record-metrics{grid-template-columns:1fr 1fr}.student-summary{grid-template-columns:1fr}.student-summary dl{grid-template-columns:repeat(2,1fr)}.assistant-chat{min-height:580px}.assistant-chat-head{align-items:flex-start}.assistant-private{display:none}.assistant-messages{max-height:430px;padding:16px}.assistant-message>div{max-width:96%}.assistant-composer{margin:0 10px 10px}.assistant-composer>div{flex-direction:column;align-items:stretch}.assistant-composer>div>span{display:none}.assistant-composer .primary{width:100%}.assistant-starters,.sample-grid,.pricing-grid{grid-template-columns:1fr}.sample-preview{height:235px}.portfolio-fields{grid-template-columns:1fr}.membership-status{flex-direction:column;align-items:flex-start}.membership-date{text-align:left}.legal-header{align-items:flex-start}.legal-header .soft-button{padding:9px;font-size:8px}.form-grid{grid-template-columns:1fr}.field.wide,.form-actions.wide{grid-column:auto}}@media print{@page{margin:.55in}.sidebar,.topbar,.heading-actions,.compliance-note,.add-panel,.soft-button,.primary{display:none!important}.main-area{width:100%;margin:0}.page-wrap{max-width:none;padding:0}.page-heading{margin-top:0}.card,.record-cover,.record-metrics>div{box-shadow:none;break-inside:avoid}body{background:#fff}.record-cover{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
