@import "https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy.css";@import "https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=block";@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y: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}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}:root{--brand:#005efe;--brand-hover:#004ed8;--brand-active:#0044bf;--brand-soft:#eaf2ff;--brand-border:#b8d2ff;--brand-focus:#005efe3d;--canvas:#fff;--surface:#f7f7f8;--surface-strong:#efeff1;--ink:#171719;--text-secondary:#5f6168;--text-muted:#85878d;--border:#e2e3e6;--border-strong:#c9cbd0;--success:#16803c;--warning:#b86100;--purple:#7656c8;--font-base:"Paperlogy", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", system-ui, sans-serif;--header-height:64px;--sidebar-expanded:236px;--sidebar:var(--sidebar-expanded);--card-padding:20px;--layout-gap:20px;--content-max:1440px;--form-select-chevron-inset:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--surface);color:var(--ink);font-family:var(--font-base);margin:0;font-size:17px;font-weight:400;line-height:1.55}body,button,input,select,textarea{font-family:var(--font-base);font-synthesis:none}button,input,select,textarea{font-size:16px}button{color:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--brand-focus);outline-offset:2px}select:not([multiple]){appearance:none;padding-right:calc(var(--form-select-chevron-inset) + 24px)!important;background-image:linear-gradient(45deg, transparent 50%, var(--text-secondary) 50%), linear-gradient(135deg, var(--text-secondary) 50%, transparent 50%)!important;background-position:calc(100% - var(--form-select-chevron-inset) - 5px) calc(50% - 2px), calc(100% - var(--form-select-chevron-inset)) calc(50% - 2px)!important;background-repeat:no-repeat!important;background-size:5px 5px,5px 5px!important}select::-ms-expand{display:none}h1,h2,h3,p{margin:0}h1,h2,h3,strong,b,button,label,.eyebrow{font-weight:600}em{font-style:normal}.material-symbols-rounded{overflow-wrap:normal;letter-spacing:normal;text-transform:none;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-feature-settings:"liga";font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;direction:ltr;font-family:Material Symbols Rounded;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}.material-symbols-rounded.filled{font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24}.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{grid-template-areas:"header header""sidebar main";grid-template-columns:var(--sidebar) minmax(0, 1fr);grid-template-rows:var(--header-height) minmax(calc(100vh - var(--header-height)), auto);background:var(--surface);width:100%;min-height:100vh;display:grid}.app-shell.calendar-app{grid-template-rows:var(--header-height) minmax(0, 1fr);height:100dvh;min-height:100dvh;overflow:hidden}.calendar-app .main-area{min-height:0;overflow:hidden}.calendar-app .content-shell.calendar-shell{height:100%;overflow:hidden}.sidebar{min-height:calc(100vh - var(--header-height));height:calc(100vh - var(--header-height));top:var(--header-height);z-index:40;background:var(--canvas);border-right:1px solid var(--border);flex-direction:column;grid-area:sidebar;padding:18px 16px;transition:padding .22s;display:flex;position:sticky;overflow:hidden}.sidebar nav{gap:6px;width:100%;display:grid}.sidebar nav button{min-height:48px;color:var(--text-secondary);text-align:left;background:0 0;border:0;border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.sidebar nav button:hover{background:var(--surface);color:var(--ink)}.sidebar nav button.active{color:var(--brand-active);background:var(--brand-soft)}.sidebar nav button.active .material-symbols-rounded{color:var(--brand)}.sidebar-bottom{margin-top:auto}.sidebar-mode-switch{background:var(--surface-strong);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.sidebar-mode-switch button{min-width:0;min-height:42px;color:var(--text-secondary);white-space:nowrap;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:8px;font-size:13px;display:flex}.sidebar-mode-switch button:hover{color:var(--ink)}.sidebar-mode-switch button.active{color:var(--brand-active);background:var(--canvas);box-shadow:0 1px 3px #17171914}.sidebar-mode-switch .material-symbols-rounded{flex:none;font-size:20px}.reset-button{width:100%;min-height:44px;color:var(--text-secondary);background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;margin-top:8px;padding:10px 12px;font-size:14px;display:flex}.reset-button:hover{color:var(--brand-active);background:var(--brand-soft)}.sidebar-bottom>p{color:var(--text-muted);margin:16px 12px 0;font-size:14px}.main-area{grid-area:main;min-width:0}.topbar{min-width:0;min-height:var(--header-height);border-bottom:1px solid var(--border);z-index:90;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff2;grid-area:header;justify-content:space-between;align-items:center;gap:16px;padding:8px 12px;display:flex;position:sticky;top:0}.site-logo{background-image:url(/moaon-logo.png);background-position:0;background-repeat:no-repeat;background-size:contain;flex:0 0 190px;width:190px;height:48px}.global-child-picker{scrollbar-width:none;justify-content:flex-end;align-items:center;gap:7px;min-width:0;display:flex;overflow-x:auto}.global-child-picker::-webkit-scrollbar{display:none}.global-child-picker>button,.global-child-option>button{min-height:44px;color:var(--text-secondary);background:var(--canvas);border:1px solid var(--border);white-space:nowrap;border-radius:9999px;justify-content:center;align-items:center;gap:8px;padding:5px 12px;font-size:14px;display:inline-flex}.global-child-picker>button{padding-inline:16px}.global-child-picker>button:hover,.global-child-option>button:hover{border-color:var(--brand-border)}.global-child-picker>button.active{color:#fff;background:var(--ink);border-color:var(--ink)}.global-child-option{flex:none;position:relative}.global-child-option>button{color:var(--child-ink);background:var(--child-tint);border-color:#0000;padding-left:5px}.global-child-option>button.active{color:#fff;background:var(--child-color);border-color:var(--child-color)}.child-avatar{width:34px;height:34px;color:var(--ink);border:2px solid #ffffffe6;border-radius:50%;flex:0 0 34px;justify-content:center;align-items:center;font-size:20px;line-height:1;display:inline-flex}.child-avatar.large{border-width:3px;flex-basis:76px;width:76px;height:76px;font-size:44px;box-shadow:0 8px 24px #1717191f}.top-actions{align-items:center;gap:10px;display:flex}.mode-switch{background:var(--surface-strong);border-radius:14px;padding:4px;display:flex}.mode-switch button{min-height:40px;color:var(--text-secondary);background:0 0;border:0;border-radius:10px;padding:8px 14px;font-size:14px}.mode-switch button.active{color:var(--ink);background:var(--canvas);box-shadow:0 1px 3px #17171914}.button{white-space:nowrap;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-size:14px;display:inline-flex}.button.primary{color:#fff;background:var(--brand)}.button.primary:hover{background:var(--brand-hover)}.button.primary:active{background:var(--brand-active)}.button.secondary{color:var(--ink);background:var(--canvas);border-color:var(--border)}.button.secondary:hover{border-color:var(--brand-border);color:var(--brand-active);background:var(--brand-soft)}.button.danger{color:#b42318;background:#fff3f2;border-color:#fecaca}.button.danger:hover{background:#fee4e2}.icon-button{width:44px;height:44px;color:var(--text-secondary);background:var(--canvas);border:1px solid var(--border);border-radius:12px;flex:0 0 44px;justify-content:center;align-items:center;padding:10px;display:inline-flex;position:relative}.icon-button:hover{color:var(--brand-active);background:var(--brand-soft);border-color:var(--brand-border)}.icon-button.soft{background:var(--brand-soft);color:var(--brand-active);border-color:#0000}.top-actions .icon-button i{background:var(--brand);border:2px solid var(--canvas);border-radius:50%;width:7px;height:7px;position:absolute;top:9px;right:9px}.mobile-menu,.mobile-bottom-nav,.nav-scrim{display:none}.content-shell,.content-shell.calendar-shell{width:calc(100% - (var(--layout-gap) * 2));max-width:none;padding:var(--layout-gap) 0 40px;margin:0 auto}.content-shell.calendar-shell{height:calc(100dvh - var(--header-height));padding-bottom:var(--layout-gap)}.view-stack{gap:var(--layout-gap);animation:.25s ease-out view-in;display:grid}@keyframes view-in{0%{opacity:0}to{opacity:1}}.section-head{justify-content:space-between;align-items:center;gap:24px;padding:0 0 8px 10px;display:flex}.section-head>div:first-child{min-width:0}.eyebrow{color:var(--brand-active);letter-spacing:.08em;margin-bottom:8px;font-size:14px;display:block}.section-head h2{letter-spacing:-.025em;font-size:clamp(28px,2.3vw,34px);line-height:1.25}.view-title{align-items:center;gap:10px;display:inline-flex}.view-title .material-symbols-rounded{color:var(--brand);font-size:.92em}.section-head p{color:var(--text-secondary);margin-top:6px;font-size:16px}.calendar-view{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);align-items:stretch;height:100%}.calendar-toolbar{grid-template-columns:auto minmax(0,auto) minmax(0,1fr) auto auto;align-items:center;gap:12px;min-width:0;display:grid}.calendar-view-toggle{background:var(--surface-strong);border-radius:14px;grid-template-columns:repeat(2,auto);gap:4px;padding:4px;display:inline-grid}.calendar-view-toggle button{min-height:40px;color:var(--text-secondary);white-space:nowrap;background:0 0;border:0;border-radius:10px;padding:8px 13px;font-size:14px}.calendar-view-toggle button.active{color:var(--brand-active);background:var(--canvas);box-shadow:0 1px 4px #17171917}.calendar-navigation{align-items:center;gap:8px;min-width:0;display:flex}.calendar-period{letter-spacing:-.025em;white-space:nowrap;align-items:center;gap:8px;font-size:22px;line-height:1.25;display:inline-flex}.calendar-period .material-symbols-rounded{color:var(--brand);font-size:23px}.calendar-add{justify-content:center;justify-self:end;align-items:center;display:inline-flex}.calendar-settings{position:relative}.calendar-settings>.icon-button.active{color:var(--brand-active);background:var(--brand-soft);border-color:var(--brand-border)}.calendar-settings-popover{z-index:30;background:var(--canvas);border:1px solid var(--border);border-radius:18px;gap:18px;width:290px;padding:16px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 48px #17171929}.settings-popover-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-popover-head strong{font-size:17px}.settings-popover-head .icon-button{flex-basis:36px;width:36px;height:36px;padding:6px}.settings-field{gap:8px;display:grid}.settings-field>span{color:var(--text-secondary);font-size:14px;font-weight:600}.settings-segmented{background:var(--surface);border-radius:12px;grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;display:grid}.settings-segmented button{min-height:40px;color:var(--text-secondary);background:0 0;border:0;border-radius:9px;font-size:14px}.settings-segmented button.active{color:var(--brand-active);background:var(--canvas);box-shadow:0 1px 4px #17171914}.settings-field select{width:100%;min-height:44px;color:var(--ink);background:var(--canvas);border:1px solid var(--border-strong);border-radius:11px;padding:9px 11px}.settings-weekend-toggle{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.settings-weekend-toggle button{min-height:40px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:10px;justify-content:center;align-items:center;gap:4px;padding:7px 6px;font-size:12px;font-weight:700;display:inline-flex}.settings-weekend-toggle button .material-symbols-rounded{font-size:16px}.settings-weekend-toggle button.active{color:var(--brand-active);background:var(--brand-soft);border-color:var(--brand-border)}.card{min-width:0;padding:var(--card-padding);background:var(--canvas);border:1px solid var(--border);border-radius:20px}.hero-grid{gap:var(--layout-gap);grid-template-columns:2fr 1fr;align-items:stretch;display:grid}.brand-hero{color:#fff;background:var(--brand);border-color:var(--brand);isolation:isolate;border-radius:24px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;min-height:280px;padding:24px;display:grid;position:relative;overflow:hidden}.brand-hero:before{content:"";z-index:-1;border:60px solid #ffffff1a;border-radius:50%;width:300px;height:300px;position:absolute;top:-160px;right:-80px}.brand-hero:after{content:"";z-index:-1;border:42px solid #ffffff14;border-radius:50%;width:200px;height:200px;position:absolute;bottom:-135px;left:45%}.hero-copy{align-self:center}.hero-badge{min-height:34px;color:var(--brand-active);background:var(--brand-soft);border-radius:9999px;align-items:center;gap:7px;padding:6px 11px;font-size:14px;font-weight:600;display:inline-flex}.brand-hero .hero-badge{color:#fff;background:#ffffff29}.hero-badge .material-symbols-rounded{font-size:20px}.hero-copy h2{letter-spacing:-.035em;margin-top:18px;font-size:clamp(32px,3vw,44px);line-height:1.16}.hero-copy h2 em{color:#dbe8ff}.hero-copy p{color:#ffffffd1;margin-top:14px;font-size:16px}.hero-score{width:150px;color:var(--ink);background:#ffffffeb;border-radius:16px;align-self:end;padding:16px}.hero-score>span{color:var(--text-secondary);font-size:14px;display:block}.hero-score>strong{color:var(--brand-active);margin-top:4px;font-size:24px;display:block}.hero-score-bars{align-items:end;gap:5px;height:38px;margin-top:10px;display:flex}.hero-score-bars i{background:var(--brand);border-radius:3px 3px 0 0;flex:1}.hero-score-bars i:first-child{opacity:.35;height:42%}.hero-score-bars i:nth-child(2){opacity:.48;height:55%}.hero-score-bars i:nth-child(3){opacity:.62;height:62%}.hero-score-bars i:nth-child(4){opacity:.78;height:78%}.hero-score-bars i:nth-child(5){height:100%}.today-progress{flex-direction:column;min-height:280px;display:flex}.card-title-row{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.card-title-row>div:first-child{min-width:0}.card-title-row h3{font-size:20px;line-height:24px}.card-title-row p{color:var(--text-muted);margin-top:4px;font-size:14px;line-height:20px}.status-pill{min-height:32px;color:var(--brand-active);background:var(--brand-soft);white-space:nowrap;border-radius:9999px;align-items:center;padding:6px 10px;font-size:14px;font-weight:600;display:inline-flex}.progress-content{flex:1;justify-content:center;align-items:center;gap:28px;padding-top:20px;display:flex}.progress-ring{border-radius:50%;place-items:center;width:142px;height:142px;display:grid;position:relative}.progress-ring:after{content:"";background:var(--canvas);border-radius:50%;width:108px;height:108px}.progress-ring>div{z-index:1;flex-direction:column;align-items:center;display:flex;position:absolute}.progress-ring strong{font-size:28px;line-height:1}.progress-ring span{color:var(--text-muted);margin-top:6px;font-size:14px}.progress-counts{gap:12px;display:grid}.progress-counts>span{min-width:86px;color:var(--text-secondary);grid-template-columns:10px 1fr auto;align-items:center;gap:8px;font-size:14px;display:grid}.progress-counts i{background:var(--surface-strong);border-radius:50%;width:10px;height:10px}.progress-counts i.done{background:var(--brand)}.progress-counts strong{color:var(--ink);font-size:18px}.metric-grid{gap:var(--layout-gap);grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;display:grid}.metric-card{flex-direction:column;gap:16px;height:100%;display:flex}.metric-top{justify-content:space-between;align-items:center;display:flex}.icon-box{width:44px;height:44px;color:var(--brand-active);background:var(--brand-soft);border-radius:12px;flex:0 0 44px;justify-content:center;align-items:center;padding:10px;display:inline-flex}.icon-box.small{flex-basis:40px;width:40px;height:40px;padding:8px}.metric-delta{color:var(--success);align-items:center;font-size:14px;display:inline-flex}.metric-delta .material-symbols-rounded{font-size:18px}.metric-card>div:nth-child(2){justify-content:space-between;align-items:flex-end;display:flex}.metric-label{color:var(--text-secondary);font-size:16px}.metric-card>div strong{letter-spacing:-.03em;font-size:32px;line-height:1}.metric-card strong small{margin-left:2px;font-size:16px}.metric-track{background:var(--surface-strong);border-radius:9999px;height:8px;margin-top:auto;overflow:hidden}.metric-track span{border-radius:inherit;height:100%;display:block}.dashboard-grid,.report-grid{gap:var(--layout-gap);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.dashboard-focus{gap:18px}.dashboard-focus .dashboard-head{padding-bottom:0}.today-summary{flex-direction:column;min-height:188px;display:flex}.today-summary .progress-content{justify-content:flex-start;padding-top:14px}.dashboard-progress-list{gap:9px;margin-top:16px;display:grid}.dashboard-progress-list.by-child{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.dashboard-progress-list.by-academy{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-progress-row{background:var(--canvas);border:1px solid var(--border);border-radius:13px;gap:8px;min-width:0;padding:11px 12px;display:grid}.dashboard-progress-main{grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;display:grid}.dashboard-progress-mark{border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:800;display:inline-flex}.dashboard-progress-mark .material-symbols-rounded{font-size:18px}.dashboard-progress-main>div{gap:2px;min-width:0;display:grid}.dashboard-progress-main strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.dashboard-progress-main small{color:var(--text-secondary);font-size:12px}.dashboard-progress-main small b{color:var(--ink)}.dashboard-progress-main em{color:var(--brand-active);font-size:13px;font-style:normal;font-weight:800}.dashboard-progress-track{background:var(--surface-strong);border-radius:999px;height:6px;overflow:hidden}.dashboard-progress-track i{border-radius:inherit;height:100%;transition:width .2s;display:block}.dashboard-progress-list.by-academy .dashboard-progress-row{gap:7px;min-height:92px;padding:10px}.dashboard-progress-list.by-academy .dashboard-progress-main{grid-template-columns:27px minmax(0,1fr) auto;align-items:start;gap:6px}.dashboard-progress-list.by-academy .dashboard-progress-mark{border-radius:9px;width:27px;height:27px}.dashboard-progress-list.by-academy .dashboard-progress-mark .material-symbols-rounded{font-size:16px}.dashboard-progress-list.by-academy .dashboard-progress-main strong{font-size:12px}.dashboard-progress-list.by-academy .dashboard-progress-main small{white-space:nowrap;font-size:10px}.dashboard-progress-list.by-academy .dashboard-progress-main em{padding-top:2px;font-size:12px}.dashboard-progress-list.by-academy .dashboard-progress-track{height:5px}.today-dashboard-grid{gap:var(--layout-gap);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;display:grid}.today-dashboard-grid .panel{min-height:100%}.dashboard-empty{min-height:112px;color:var(--text-muted);background:var(--surface);text-align:center;border-radius:14px;align-content:center;place-items:center;gap:8px;padding:16px;font-size:14px;display:grid}.dashboard-empty .material-symbols-rounded{color:var(--brand);font-size:26px}.panel{flex-direction:column;gap:20px;height:100%;display:flex}.text-button{min-height:44px;color:var(--brand-active);white-space:nowrap;background:0 0;border:0;align-items:center;gap:2px;padding:8px 0 8px 10px;font-size:14px;display:inline-flex}.legend{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.legend span{color:var(--text-muted);align-items:center;gap:5px;font-size:14px;display:inline-flex}.legend i{border-radius:50%;width:8px;height:8px}.legend i.blue{background:var(--brand)}.legend i.green{background:var(--success)}.legend i.purple{background:var(--purple)}.trend-chart{flex-direction:column;justify-content:flex-end;min-height:210px;display:flex}.trend-chart svg{width:100%;height:180px;overflow:visible}.chart-grid-line{stroke:var(--border);stroke-width:1px;stroke-dasharray:4 5}.chart-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.line-progress{stroke:var(--brand)}.line-performance{stroke:var(--success)}.line-consistency{stroke:var(--purple)}.chart-dot{stroke:var(--canvas);stroke-width:2px}.dot-progress{fill:var(--brand)}.dot-performance{fill:var(--success)}.dot-consistency{fill:var(--purple)}.chart-weeks{color:var(--text-muted);justify-content:space-between;padding:0 8px;font-size:14px;display:flex}.task-list{gap:8px;display:grid}.task-row{text-align:left;background:0 0;border:0;border-left:4px solid #0000;border-radius:12px;grid-template-columns:36px minmax(0,1fr) 34px;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 12px;display:grid}.task-row:hover{background:var(--surface)}.task-check{color:#0000;border:1.5px solid var(--border-strong);border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.task-check .material-symbols-rounded{font-size:20px}.task-row.completed .task-check{color:#fff;background:var(--brand);border-color:var(--brand)}.task-row.completed .task-copy strong{color:var(--text-muted);text-decoration:line-through}.task-copy{flex-direction:column;min-width:0;display:flex}.task-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:16px;line-height:21px;overflow:hidden}.task-copy small{color:var(--text-muted);font-size:14px;line-height:18px}.task-child{border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:600;display:inline-flex}.subject-list{gap:18px;display:grid}.subject-row>div:first-child{grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:7px;display:grid}.subject-row strong{font-size:15px}.subject-row span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.subject-row b{font-size:14px}.subject-track{background:var(--surface-strong);border-radius:9999px;height:10px;position:relative}.subject-track>span{border-radius:inherit;height:100%;display:block}.subject-track>i{background:var(--ink);border:2px solid var(--canvas);box-sizing:content-box;border-radius:9999px;width:3px;height:16px;display:block;position:absolute;top:-3px}.plan-note{color:var(--text-muted);justify-content:flex-end;align-items:center;gap:7px;margin-top:auto;font-size:14px;display:flex}.plan-note i{background:var(--ink);border-radius:9999px;width:3px;height:14px}.side-stack{gap:var(--layout-gap);align-content:stretch;display:grid}.timeline{--timeline-center:32px;gap:10px;display:grid;position:relative}.timeline:before{content:"";z-index:0;width:2px;top:var(--timeline-center);bottom:var(--timeline-center);background:var(--border);position:absolute;left:67px}.timeline-row{z-index:1;grid-template-columns:60px 12px minmax(0,1fr);align-items:center;gap:10px;min-height:64px;display:grid;position:relative}.timeline-row time{height:100%;color:var(--text-secondary);letter-spacing:-.03em;white-space:nowrap;align-items:center;font-size:12px;font-weight:600;display:flex}.timeline-line{place-self:stretch center;width:2px;height:100%;position:relative}.timeline-line:before{content:"";z-index:1;border:2px solid var(--canvas);background:currentColor;border-radius:50%;width:10px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px}.timeline-row>div{flex-direction:column;min-width:0;display:flex}.timeline-row>.timeline-copy{border-left:4px solid;border-radius:10px;align-self:center;width:100%;padding:8px 10px}.timeline-row strong{font-size:15px}.timeline-row small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.reward-card{min-height:132px;color:var(--brand-active);background:var(--brand-soft);border-color:var(--brand-border);grid-template-columns:52px minmax(0,1fr) 44px;align-items:center;gap:16px;display:grid}.reward-icon{color:#fff;background:var(--brand);border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;padding:14px;display:inline-flex}.reward-icon .material-symbols-rounded{font-size:24px}.reward-card>div:nth-child(2){flex-direction:column;min-width:0;display:flex}.reward-card span{font-size:14px}.reward-card strong{color:var(--ink);font-size:18px}.reward-card p{color:var(--text-secondary);font-size:14px}.reward-card button{width:44px;height:44px;color:var(--brand-active);background:var(--canvas);border:0;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.week-calendar{grid-column:1/-1;height:100%;min-height:0;padding:0;display:block;overflow:hidden}.week-calendar.day-calendar{touch-action:pan-y}.calendar-scroll{overscroll-behavior:contain;scrollbar-color:var(--border-strong) transparent;width:100%;height:100%;max-height:none;overflow:auto}.time-grid{grid-template-columns:72px repeat(var(--calendar-day-count,7), minmax(148px, 1fr));isolation:isolate;background:var(--canvas);grid-template-rows:94px repeat(28,44px);min-width:1160px;display:grid;position:relative}.time-grid.day-mode{grid-template-columns:72px minmax(0,1fr);min-width:100%}.time-grid.slide-next{animation:.18s ease-out calendar-slide-next}.time-grid.slide-prev{animation:.18s ease-out calendar-slide-prev}@keyframes calendar-slide-next{0%{opacity:.72;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes calendar-slide-prev{0%{opacity:.72;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.calendar-corner{z-index:14;min-width:0;color:var(--text-muted);background:var(--canvas);border-right:1px solid var(--border);border-bottom:1px solid var(--border);grid-area:1/1;justify-content:center;align-items:center;gap:5px;font-size:14px;display:flex;position:sticky;top:0;left:0}.calendar-corner .material-symbols-rounded{font-size:19px}.day-head{z-index:12;background:var(--canvas);border-right:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;justify-content:flex-start;align-items:stretch;min-width:0;display:flex;position:sticky;top:0}.day-head.today{background:var(--brand-soft)}.day-title{justify-content:center;align-items:center;gap:6px;min-height:58px;display:flex}.day-title>span{color:var(--text-muted);font-size:14px}.day-title>strong{font-size:21px;line-height:1.1}.day-title>i{min-height:22px;color:var(--brand-active);background:#fff;border-radius:9999px;align-items:center;padding:2px 6px;font-size:11px;font-style:normal;font-weight:600;display:inline-flex}.day-child-lanes{border-top:1px solid var(--border);width:100%;min-height:35px;margin-top:auto;display:grid}.day-child-lanes>span{border-left:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;justify-content:center;align-items:center;gap:4px;min-width:0;font-size:11px;font-weight:600;display:inline-flex;overflow:hidden}.day-child-lanes>span:first-child{border-left:0}.day-child-lanes b{border-radius:50%;flex:0 0 6px;width:6px;height:6px}.time-label{z-index:11;color:var(--text-secondary);background:var(--canvas);border-right:1px solid var(--border);letter-spacing:-.035em;white-space:nowrap;justify-content:flex-end;align-items:flex-start;padding:0 6px;font-size:10px;display:flex;position:sticky;left:0;transform:translateY(-8px)}.time-label.half span{color:var(--text-muted);font-size:9px}.time-end-label{z-index:11;color:var(--text-secondary);background:var(--canvas);letter-spacing:-.035em;white-space:nowrap;grid-area:29/1;justify-content:flex-end;align-self:end;padding-right:6px;font-size:10px;display:flex;position:sticky;left:0;transform:translateY(8px)}.time-slot{z-index:1;border-right:1px solid var(--border);border-bottom:1px dashed #e8e9ec}.time-slot.hour{border-top:1px solid var(--border-strong)}.time-slot.today{background:#f8fbff}.child-lane-guide{z-index:2;pointer-events:none;border-left:1px dashed #0000}.calendar-event{z-index:5;text-align:left;border:1px solid;border-left-width:4px;border-radius:10px;justify-content:flex-start;align-self:stretch;align-items:flex-start;min-width:0;margin-block:3px;padding:7px 8px;display:flex;overflow:hidden;box-shadow:0 3px 10px #17171914}.calendar-event.compact-scale{border-left-width:3px;border-radius:6px;min-height:18px;padding:2px 5px}.calendar-event.compact-scale strong{font-size:11px;line-height:13px}.calendar-event:hover{filter:brightness(.98);box-shadow:0 5px 14px #1717191f}.calendar-event .event-child{color:#fff;text-overflow:ellipsis;white-space:nowrap;border-radius:5px;width:fit-content;max-width:100%;padding:2px 6px;font-size:11px;font-weight:600;line-height:16px;overflow:hidden}.calendar-event time{color:currentColor;opacity:.8;font-size:11px;font-weight:600}.calendar-event strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:17px;overflow:hidden}.calendar-event span{color:currentColor;opacity:.72;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:15px;overflow:hidden}.schedule-detail-backdrop{z-index:110;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#17171961;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.schedule-detail{gap:16px;width:min(100%,390px);padding:22px;display:grid;box-shadow:0 24px 70px #17171933}.schedule-detail-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-detail-head .event-child{color:#fff;border-radius:8px;align-items:center;min-height:28px;padding:5px 9px;font-size:13px;font-weight:600;display:inline-flex}.schedule-detail h3{font-size:24px}.schedule-detail dl{gap:10px;margin:0;display:grid}.schedule-detail dl>div{border-top:1px solid var(--border);grid-template-columns:54px minmax(0,1fr);gap:10px;padding:10px 0;display:grid}.schedule-detail dt{color:var(--text-muted);font-size:14px}.schedule-detail dd{margin:0;font-size:15px}.current-time-line{z-index:6;pointer-events:none;background:#e5484d;align-self:start;height:2px;position:relative}.current-time-line:before{content:"";background:#e5484d;border-radius:50%;width:9px;height:9px;position:absolute;top:-3.5px;left:-4px}.current-time-line span{color:#fff;background:#e5484d;border-radius:5px;padding:1px 5px;font-size:10px;font-weight:600;line-height:16px;position:absolute;top:-20px;left:4px}.learning-layout{gap:var(--layout-gap);grid-template-columns:minmax(280px,.7fr) minmax(0,1.5fr);align-items:stretch;display:grid}.program-panel,.program-detail{height:100%}.program-panel{flex-direction:column;gap:18px;display:flex}.program-list{gap:6px;margin:0 -8px -8px;display:grid}.program-list button{width:100%;min-height:66px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:12px;grid-template-columns:8px minmax(0,1fr) 24px;align-items:center;gap:12px;padding:10px 8px;display:grid}.program-list button:hover{background:var(--surface)}.program-list button.active{background:var(--brand-soft)}.program-list button.active>.material-symbols-rounded{color:var(--brand-active)}.program-color{border-radius:9999px;width:8px;height:36px}.program-list button>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.program-list strong{font-size:16px}.program-list small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.program-detail{flex-direction:column;gap:24px;display:flex}.program-detail-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.detail-badges{gap:6px;margin-bottom:10px;display:flex}.detail-badges span{min-height:30px;color:var(--text-secondary);background:var(--surface);border-radius:9999px;align-items:center;padding:5px 9px;font-size:14px;font-weight:600;display:inline-flex}.program-detail-head h2{font-size:30px;line-height:1.2}.program-detail-head p{color:var(--text-secondary);margin-top:6px;font-size:15px}.program-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.program-kpis>div{background:var(--surface);border-radius:16px;flex-direction:column;padding:16px;display:flex}.program-kpis span{color:var(--text-secondary);font-size:14px}.program-kpis strong{margin-top:6px;font-size:26px}.detail-progress{gap:10px;display:grid}.detail-progress>div:last-child{color:var(--text-muted);justify-content:space-between;font-size:14px;display:flex}.template-head{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding-top:4px;display:flex}.template-head h3{margin-top:18px;font-size:18px}.template-head p{color:var(--text-muted);margin-top:3px;font-size:14px}.template-head .button{margin-top:18px}.template-list{gap:8px;display:grid}.template-list>div{background:var(--surface);border-radius:14px;grid-template-columns:40px minmax(0,1fr) 44px;align-items:center;gap:12px;min-height:64px;padding:10px 12px;display:grid}.template-list>div>div{flex-direction:column;display:flex}.template-list strong{font-size:15px}.template-list small{color:var(--text-muted);font-size:14px}.report-bars{gap:18px;margin-top:auto;margin-bottom:auto;display:grid}.report-bars>div{grid-template-columns:72px minmax(0,1fr) 46px;align-items:center;gap:12px;display:grid}.report-bars span,.report-bars strong{font-size:14px}.report-bars>div>div{background:var(--surface-strong);border-radius:9999px;height:10px;overflow:hidden}.report-bars i{background:var(--brand);border-radius:inherit;height:100%;display:block}.report-bars strong{text-align:right}.heatmap-labels{color:var(--text-muted);text-align:center;grid-template-columns:repeat(7,1fr);gap:7px;font-size:14px;display:grid}.heatmap{grid-template-columns:repeat(7,1fr);gap:7px;display:grid}.heatmap i,.heatmap-note i{aspect-ratio:1;background:var(--surface-strong);border-radius:7px;display:block}.heatmap i[data-level="1"],.heatmap-note i[data-level="1"]{background:#cfe0ff}.heatmap i[data-level="2"],.heatmap-note i[data-level="2"]{background:#79a6ff}.heatmap i[data-level="3"],.heatmap-note i[data-level="3"]{background:var(--brand)}.heatmap-note{color:var(--text-muted);justify-content:flex-end;align-items:center;gap:6px;font-size:14px;display:flex}.heatmap-note i{width:14px;height:14px}.insights-list{gap:10px;display:grid}.insights-list>div{background:var(--surface);border-radius:14px;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;min-height:76px;padding:12px;display:grid}.insights-list>div>.material-symbols-rounded{width:44px;height:44px;color:var(--brand-active);background:var(--brand-soft);border-radius:12px;justify-content:center;align-items:center;padding:10px;display:inline-flex}.insights-list span{flex-direction:column;display:flex}.insights-list strong{font-size:15px}.insights-list small{color:var(--text-muted);font-size:14px}.manage-grid{gap:var(--layout-gap);grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;display:grid}.manage-card{width:100%;height:100%;min-height:244px;color:var(--ink);text-align:left;flex-direction:column;gap:20px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.manage-card:hover{border-color:var(--brand-border);transform:translateY(-2px);box-shadow:0 8px 24px #17171912}.manage-card.active{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-focus)}.manage-head{justify-content:space-between;align-items:center;display:flex}.manage-card .icon-button{pointer-events:none}.manage-card>div:nth-child(2){flex-direction:column;display:flex}.manage-label{color:var(--text-secondary);font-size:14px}.manage-card>div:nth-child(2) strong{margin-top:4px;font-size:24px}.manage-card>div:nth-child(2) p{color:var(--text-muted);margin-top:6px;font-size:14px}.manage-footer{color:var(--text-secondary);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:14px;font-size:14px;display:flex}.manage-footer span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.manage-footer .material-symbols-rounded{color:var(--brand-active)}.manage-editor{gap:22px;display:grid}.editor-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.editor-head h3{font-size:23px}.editor-head p{color:var(--text-muted);margin-top:4px;font-size:14px}.child-profile-tabs{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:8px;display:grid;overflow:visible}.child-profile-tabs>button{min-width:0;min-height:78px;color:var(--text-secondary);background:var(--surface);text-align:center;border:1px solid #0000;border-radius:14px;grid-template-rows:38px minmax(0,1fr);align-content:center;justify-items:center;gap:6px;padding:8px 6px;display:grid;overflow:visible}.child-profile-tabs>button.active{color:var(--brand-active);background:var(--brand-soft);border-color:var(--brand-border)}.child-profile-tabs>button>span:last-child{justify-items:center;width:100%;min-width:0;display:grid;overflow:visible}.child-profile-tabs .child-avatar{flex-basis:38px;width:38px;height:38px}.child-profile-tabs strong{width:100%;color:inherit;text-align:center;text-overflow:clip;white-space:normal;word-break:keep-all;font-size:14px;line-height:1.2;overflow:visible}.child-profile-tabs small{display:none}.profile-editor-layout{grid-template-columns:1fr;gap:14px;display:grid}.child-profile-identity-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px;display:grid}.avatar-setting{width:78px;height:78px;color:var(--ink);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.avatar-setting:hover .child-avatar{transform:translateY(-1px);box-shadow:0 8px 20px #17171929}.avatar-setting .child-avatar.large{flex-basis:76px;width:76px;height:76px;transition:transform .16s,box-shadow .16s}.avatar-edit-badge{color:#fff;background:var(--brand);border:2px solid var(--surface);border-radius:50%;justify-content:center;align-items:center;width:27px;height:27px;display:inline-flex;position:absolute;bottom:-3px;right:-4px}.avatar-edit-badge .material-symbols-rounded{font-size:15px}.child-identity-details{gap:5px;min-width:0;display:grid}.child-identity-name{text-overflow:ellipsis;white-space:nowrap;font-size:18px;line-height:1.25;overflow:hidden}.child-identity-name-input{gap:4px;min-width:0;display:grid}.child-identity-name-input>span{color:var(--text-secondary);font-size:11px;font-weight:600}.child-identity-name-input input{width:100%;min-height:38px;color:var(--ink);background:var(--canvas);border:1px solid var(--brand);border-radius:9px;padding:7px 9px;font-size:15px;font-weight:700}.child-identity-summary{color:var(--text-secondary);align-items:center;gap:7px;font-size:13px;display:flex}.child-identity-summary i{background:var(--text-muted);border-radius:50%;flex:0 0 3px;width:3px;height:3px;display:inline-block}.child-identity-edit{min-width:54px;min-height:38px;color:var(--brand-active);background:var(--canvas);border:1px solid var(--brand-border);border-radius:10px;justify-content:center;align-items:center;padding:8px 12px;font-size:13px;display:inline-flex}.child-identity-edit.active{color:#fff;background:var(--brand);border-color:var(--brand)}.child-identity-edit-fields{grid-template-columns:minmax(126px,170px) auto;align-items:end;gap:10px;display:grid}.child-identity-edit-fields label{gap:4px;min-width:0;display:grid}.child-identity-edit-fields label>span,.child-identity-edit-fields small{color:var(--text-secondary);font-size:11px;font-weight:600}.child-identity-edit-fields input{width:100%;min-height:40px;color:var(--ink);background:var(--canvas);border:1px solid var(--border-strong);border-radius:9px;padding:7px 9px}.child-identity-edit-fields>span{align-content:center;gap:1px;min-height:40px;padding-bottom:2px;display:grid}.child-identity-edit-fields b{color:var(--text-secondary);font-size:13px}.animal-grid{grid-template-columns:repeat(10,minmax(52px,1fr));gap:8px;display:grid}.animal-grid button{border:2px solid #0000;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:66px;padding:6px 3px;display:flex}.animal-grid button:hover{transform:translateY(-1px)}.animal-grid button.active{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-focus)}.animal-grid button span{font-size:28px;line-height:1}.animal-grid button small{color:var(--text-secondary);font-size:10px}.manage-form-grid{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-top:4px;display:grid}.manage-form-grid label,.settings-row-fields label,.reward-setting label{gap:6px;min-width:0;display:grid}.manage-form-grid label>span,.settings-row-fields label>span,.reward-setting label>span{color:var(--text-secondary);font-size:13px;font-weight:600}.manage-form-grid input,.settings-row-fields input,.settings-row-fields select,.reward-setting input{width:100%;min-height:44px;color:var(--ink);background:var(--canvas);border:1px solid var(--border-strong);border-radius:11px;padding:9px 11px;font-weight:400}.manage-form-grid input[readonly]{color:var(--text-secondary);background:var(--surface)}.settings-list{gap:10px;display:grid}.academy-settings-list{gap:8px;display:grid}.academy-setting-row{min-width:0;min-height:68px;color:var(--ink);background:var(--surface);text-align:left;border:1px solid #0000;border-radius:15px;grid-template-columns:8px minmax(0,1fr) auto 24px;align-items:center;gap:12px;padding:11px 13px;display:grid}.academy-setting-row:hover{background:var(--brand-soft);border-color:var(--brand-border)}.academy-setting-row>span:nth-child(2){min-width:0;display:grid}.academy-setting-row strong,.academy-setting-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.academy-setting-row small,.academy-row-meta{color:var(--text-muted);font-size:12px}.academy-setting-row>.material-symbols-rounded{color:var(--brand-active);font-size:20px}.settings-row{background:var(--surface);border-radius:16px;grid-template-columns:8px minmax(0,1fr) 44px;align-items:center;gap:12px;min-width:0;padding:14px;display:grid}.settings-row.cost-row{grid-template-columns:minmax(0,1fr) 44px}.settings-row-fields{grid-template-columns:.65fr 1fr 1fr .8fr .8fr 1fr;gap:10px;min-width:0;display:grid}.settings-row-fields .wide{grid-column:span 2}.icon-button.danger{color:#b42318;background:#fff3f2;border-color:#fecaca}.cost-summary{min-height:76px;color:var(--brand-active);background:var(--brand-soft);border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.cost-summary strong{color:var(--ink);font-size:26px}.editor-actions{justify-content:flex-end;display:flex}.child-editor-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:2px;display:grid}.add-child-button{width:100%}.add-child-button:disabled{color:var(--text-muted);background:var(--surface);border-color:var(--border);cursor:not-allowed}.save-child-button{justify-content:center;width:100%;min-width:0}.character-picker-backdrop{z-index:120;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1717196b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.character-picker-modal{gap:18px;width:min(720px,100%);max-height:min(84vh,760px);padding:20px;display:grid;overflow-y:auto;box-shadow:0 26px 80px #17171938}.character-picker-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.character-picker-head h3{font-size:22px}.character-group{gap:9px;display:grid}.character-group>strong{color:var(--text-secondary);font-size:13px}.character-picker-modal .animal-grid{grid-template-columns:repeat(6,minmax(62px,1fr))}.reward-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.reward-setting{background:var(--surface);border:1px solid var(--border);opacity:.62;border-radius:16px;gap:14px;padding:16px;display:grid}.reward-setting.active{background:var(--canvas);border-color:var(--brand-border);opacity:1}.reward-setting-head{align-items:center;gap:10px;display:flex}.reward-setting-head .toggle-button{background:var(--border-strong);border:0;border-radius:9999px;width:42px;height:24px;margin-left:auto;padding:3px}.reward-setting-head .toggle-button span{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .18s;display:block}.reward-setting-head .toggle-button.active{background:var(--brand)}.reward-setting-head .toggle-button.active span{transform:translate(18px)}.data-note{background:var(--brand-soft);border-color:var(--brand-border);grid-template-columns:44px minmax(0,1fr);align-items:center;gap:16px;display:grid}.data-note strong{font-size:16px}.data-note p{color:var(--text-secondary);margin-top:4px;font-size:14px}.backup-note{background:#fff;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.backup-note strong{font-size:16px}.backup-note p{color:var(--text-secondary);margin-top:4px;font-size:14px;line-height:1.5}.backup-note .button{white-space:nowrap;min-height:42px}.empty-family-children{min-height:150px;color:var(--ink);background:var(--surface);border:1px dashed var(--brand-border);border-radius:16px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px;display:grid}.empty-family-children>div{gap:4px;display:grid}.empty-family-children p{color:var(--text-secondary);font-size:14px}.invite-create-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.invite-create-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;grid-template-columns:44px minmax(0,1fr);gap:13px;padding:18px;display:grid}.invite-create-card>div{align-content:start;gap:4px;display:grid}.invite-create-card h4,.invite-list-head h4{font-size:17px}.invite-create-card p{color:var(--text-secondary);font-size:14px;line-height:1.55}.invite-create-card label{grid-column:1/-1;gap:6px;display:grid}.invite-create-card label>span{color:var(--text-secondary);font-size:13px;font-weight:600}.invite-create-card input,.invite-create-card select,.invite-link-row input{width:100%;min-height:44px;color:var(--ink);background:var(--canvas);border:1px solid var(--border-strong);border-radius:11px;padding:9px 11px}.invite-create-card .button{grid-column:1/-1;width:100%}.invite-new-link{color:#fff;background:var(--brand);border-radius:18px;gap:15px;padding:18px;display:grid}.invite-new-link>div:first-child{gap:4px;display:grid}.invite-new-link .access-kicker{color:#dbe8ff}.invite-new-link strong{font-size:19px}.invite-new-link p{color:#ffffffd1;font-size:14px}.invite-link-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.invite-link-row input{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.invite-link-row .button{background:#fff}.invite-list-section{gap:12px;display:grid}.invite-list-head{justify-content:space-between;align-items:end;gap:16px;display:flex}.invite-list-head>span{color:var(--text-muted);text-align:right;font-size:13px}.invite-list{gap:8px;display:grid}.invite-row{background:var(--surface);border:1px solid var(--border);border-radius:15px;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;display:grid}.invite-row.inactive{opacity:.62}.invite-row>div{gap:3px;min-width:0;display:grid}.invite-row strong,.invite-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.invite-row small{color:var(--text-muted);font-size:13px}.invite-status{min-height:29px;color:var(--success);white-space:nowrap;background:#e7f7ed;border-radius:999px;justify-content:center;align-items:center;padding:5px 9px;font-size:12px;font-weight:600;display:inline-flex}.invite-status.muted{color:var(--text-secondary);background:var(--surface-strong)}.invite-revoke{min-height:36px;padding:7px 10px;font-size:13px}.invite-revoke .material-symbols-rounded{font-size:18px}.invite-empty{min-height:92px;color:var(--text-muted);background:var(--surface);border:1px dashed var(--border-strong);text-align:center;border-radius:15px;place-items:center;padding:16px;font-size:14px;display:grid}.child-link-shell{background:linear-gradient(160deg, var(--surface), #f4f8ff);min-height:100dvh}.child-link-header{min-height:var(--header-height);border-bottom:1px solid var(--border);background:#fffffff0;align-items:center;gap:12px;padding:8px max(16px,50vw - 720px);display:flex}.child-link-header>span{color:var(--text-secondary);align-items:center;gap:6px;margin-left:auto;font-size:14px;display:inline-flex}.child-link-header>span .material-symbols-rounded{color:var(--brand-active);font-size:18px}.child-link-header .button{min-height:40px}.child-link-content{width:min(100% - 40px,1240px);margin:0 auto;padding:26px 0 48px}.entry-error{z-index:200;color:#b42318;background:#fff1f0;border:1px solid #fecaca;border-radius:13px;max-width:min(420px,100% - 40px);padding:13px 16px;font-size:14px;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 28px #1717191f}.child-hero{background:linear-gradient(135deg, #fff 35%, var(--brand-soft));border-radius:24px;grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:32px;min-height:260px;padding:24px;display:grid}.child-hero h2{letter-spacing:-.035em;margin-top:16px;font-size:clamp(32px,3vw,44px);line-height:1.17}.child-hero p{color:var(--text-secondary);margin-top:12px;font-size:16px}.child-progress{border:1px solid var(--brand-border);background:#ffffffd1;border-radius:20px;flex-direction:column;padding:20px;display:flex}.child-progress strong{font-size:46px;line-height:1}.child-progress strong small{color:var(--text-muted);font-size:22px}.child-progress>span{color:var(--text-secondary);margin-top:6px;font-size:14px}.child-progress>div{background:var(--surface-strong);border-radius:9999px;height:10px;margin-top:18px;overflow:hidden}.child-progress i{border-radius:inherit;height:100%;display:block}.child-columns{gap:var(--layout-gap);grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);align-items:start;display:grid}.child-task-stack{gap:var(--layout-gap);display:grid}.child-priority-card{border-color:var(--brand-border)}.big-task-list{gap:10px;display:grid}.big-task-list button{background:var(--surface);text-align:left;border:1px solid #0000;border-radius:16px;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:14px;min-height:72px;padding:12px;display:grid}.big-task-list button:hover{border-color:var(--brand-border)}.big-task-list button>span{color:#0000;background:var(--canvas);border:1px solid var(--border-strong);border-radius:13px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.big-task-list button.completed>span{color:#fff;background:var(--brand);border-color:var(--brand)}.big-task-list button.completed strong{color:var(--text-muted);text-decoration:line-through}.big-task-list button>div{flex-direction:column;display:flex}.big-task-list strong{font-size:17px}.big-task-list small{color:var(--text-muted);font-size:14px}.big-task-list.compact button{min-height:66px}.child-empty{min-height:96px;color:var(--text-muted);background:var(--surface);border:1px dashed var(--border-strong);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex}.child-empty .material-symbols-rounded{color:var(--brand);font-size:28px}.child-day-title{align-items:flex-end}.child-day-title>p{color:var(--text-secondary);margin-left:auto;font-size:14px}.child-today-summary{background:linear-gradient(135deg, #fff 40%, var(--brand-soft));border-radius:24px;grid-template-columns:minmax(0,1fr) 250px;align-items:center;gap:28px;min-height:190px;padding:24px;display:grid}.child-today-summary h2{letter-spacing:-.035em;margin-top:12px;font-size:32px}.child-today-summary p{color:var(--text-secondary);margin-top:7px}.child-day-grid{gap:var(--layout-gap);grid-template-columns:minmax(270px,.86fr) minmax(350px,1.14fr);align-items:start;display:grid}.child-schedule-list{gap:8px;display:grid}.child-schedule-row{border-bottom:1px solid var(--border);grid-template-columns:48px 5px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:70px;padding:10px 0;display:grid}.child-schedule-row:last-child{border-bottom:0}.child-schedule-row.active{background:var(--brand-soft);border-bottom-color:#0000;border-radius:14px;margin-inline:-9px;padding-inline:9px}.child-schedule-row time{color:var(--text-secondary);font-size:13px;font-weight:700}.child-schedule-row i{border-radius:999px;width:5px;height:36px;display:block}.child-schedule-row strong{font-size:16px;display:block}.child-schedule-row small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:13px;display:block;overflow:hidden}.child-schedule-row>span{color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:5px 7px;font-size:11px;font-weight:700}.child-schedule-row.active>span{color:var(--brand-active);border-color:var(--brand-border);background:#fff}.journal-launch{text-align:left;border-color:var(--brand-border);background:linear-gradient(135deg,#f9fbff,#fff);grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:15px;width:100%;min-height:106px;padding:18px 20px;display:grid}.journal-launch:hover{border-color:var(--brand);transform:translateY(-1px)}.journal-launch-emoji{background:var(--brand-soft);border-radius:18px;justify-content:center;align-items:center;width:58px;height:58px;font-size:30px;display:inline-flex}.journal-launch>span:nth-child(2){gap:5px;display:grid}.journal-launch strong{color:var(--ink);font-size:19px}.journal-launch small{color:var(--text-secondary);font-size:14px}.journal-launch>.material-symbols-rounded{color:var(--brand);font-size:28px}.journal-sheet-backdrop{z-index:180;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#17171980;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.journal-sheet{border-radius:26px;gap:20px;width:min(680px,100%);max-height:min(840px,100dvh - 40px);padding:24px;display:grid;overflow-y:auto;box-shadow:0 28px 80px #1717194d}.journal-sheet>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.journal-sheet h2{letter-spacing:-.035em;margin-top:12px;font-size:28px}.journal-sheet header p{color:var(--text-secondary);margin-top:6px;font-size:14px}.journal-section{gap:10px;display:grid}.journal-section>strong,.journal-note>span{color:var(--ink);font-size:15px;font-weight:700}.journal-section-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.journal-section-head small{color:var(--text-muted);font-size:12px}.emotion-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.emotion-grid button{background:var(--surface);border:1px solid var(--border);border-radius:16px;place-items:center;gap:4px;min-height:78px;padding:8px 4px;display:grid}.emotion-grid button:hover,.emotion-grid button.active{border-color:var(--brand);background:var(--brand-soft)}.emotion-grid button span{font-size:28px}.emotion-grid button small{color:var(--text-secondary);font-size:11px;font-weight:700}.journal-note{gap:8px;display:grid}.journal-note textarea,.journal-activity-add input{width:100%;color:var(--ink);background:var(--canvas);border:1px solid var(--border-strong);border-radius:14px}.journal-note textarea{resize:vertical;min-height:108px;padding:12px;line-height:1.55}.journal-note textarea:focus,.journal-activity-add input:focus{border-color:var(--brand);outline:0}.journal-activity-add{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.journal-activity-add input{min-height:46px;padding:10px 12px}.journal-tags,.portfolio-tags{flex-wrap:wrap;gap:7px;display:flex}.journal-tags button,.portfolio-tags span{min-height:32px;color:var(--brand-active);background:var(--brand-soft);border:0;border-radius:999px;align-items:center;gap:4px;padding:6px 9px;font-size:13px;display:inline-flex}.journal-tags .material-symbols-rounded{font-size:16px}.journal-media-actions{flex-wrap:wrap;gap:8px;display:flex}.journal-media-actions .button{min-height:44px}.journal-uploading{color:var(--brand-active);font-size:13px}.journal-attachments{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.journal-attachments article{background:var(--surface);border:1px solid var(--border);border-radius:14px;min-height:96px;position:relative;overflow:hidden}.journal-attachments img{object-fit:cover;width:100%;height:112px;display:block}.journal-attachments audio{width:100%;margin-top:30px}.journal-attachments .icon-button{color:#fff;background:#171719a8;border-color:#0000;width:28px;height:28px;position:absolute;top:6px;right:6px}.journal-sheet>footer{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.journal-error{color:#b42318;background:#fff1f0;border:1px solid #fecaca;border-radius:12px;padding:10px 12px;font-size:13px}.portfolio-view .section-head{align-items:flex-end}.portfolio-view .section-head>p{color:var(--text-secondary);margin-left:auto;font-size:14px}.portfolio-overview{background:linear-gradient(135deg,#fff 35%,#f0f6ff);grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:24px;min-height:210px;padding:28px;display:grid}.portfolio-overview h2{letter-spacing:-.04em;margin-top:13px;font-size:32px;line-height:1.18}.portfolio-overview p{color:var(--text-secondary);margin-top:10px}.portfolio-count{min-height:136px;color:var(--brand-active);border:1px solid var(--brand-border);background:#fffc;border-radius:22px;place-items:center;display:grid}.portfolio-count strong{font-size:46px;line-height:1}.portfolio-count span{color:var(--text-secondary);font-size:13px}.portfolio-folder-grid{gap:var(--layout-gap);grid-template-columns:minmax(0,1fr);display:grid}.portfolio-folder{border-top:4px solid var(--brand);gap:18px;padding-top:20px;display:grid}.portfolio-folder>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.portfolio-child{align-items:center;gap:10px;display:flex}.portfolio-child>div{gap:2px;display:grid}.portfolio-child span{color:var(--text-muted);font-size:12px}.portfolio-child h3{font-size:18px}.portfolio-entry-list{gap:8px;display:grid}.portfolio-entry{border-top:1px solid var(--border);grid-template-columns:52px minmax(0,1fr);gap:10px;padding:10px 0;display:grid}.portfolio-entry-date{color:var(--text-secondary);align-content:start;gap:5px;font-size:13px;display:grid}.portfolio-entry-date span{font-size:22px}.portfolio-entry-body{gap:5px;display:grid}.portfolio-entry-body>div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.portfolio-entry-body strong{font-size:15px}.portfolio-entry-body small{color:var(--text-muted);white-space:nowrap;font-size:12px}.portfolio-entry-body p{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.portfolio-media{align-items:center;gap:6px;display:flex}.portfolio-media img{object-fit:cover;border-radius:10px;width:44px;height:44px}.portfolio-audio{color:var(--brand-active);background:var(--brand-soft);border-radius:9px;align-items:center;gap:3px;padding:5px 7px;font-size:11px;display:inline-flex}.portfolio-audio .material-symbols-rounded{font-size:15px}.portfolio-empty{min-height:180px;color:var(--text-muted);background:var(--surface);border:1px dashed var(--border-strong);text-align:center;border-radius:16px;place-items:center;gap:8px;font-size:13px;display:grid}.portfolio-empty .material-symbols-rounded{color:var(--brand);font-size:28px}.next-list{gap:10px;display:grid}.next-list>div{background:var(--surface);border-radius:14px;grid-template-columns:58px minmax(0,1fr);gap:12px;padding:12px;display:grid}.next-list time{color:var(--brand-active);font-size:14px;font-weight:600}.next-list span{flex-direction:column;display:flex}.next-list strong{font-size:15px}.next-list small{color:var(--text-muted);font-size:14px}.academy-editor-backdrop{z-index:130;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1717197a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.academy-editor{border-radius:24px;gap:18px;width:min(760px,100%);max-height:min(92dvh,900px);padding:22px;display:grid;overflow-y:auto;box-shadow:0 26px 90px #1717193d}.academy-editor-head,.academy-section-title,.academy-editor-actions{align-items:center;gap:12px;display:flex}.academy-editor-head{justify-content:space-between}.academy-editor-head>div{gap:2px;display:grid}.academy-editor-head>div>span{color:var(--brand-active);font-size:12px;font-weight:600}.academy-editor-head h2{font-size:26px}.academy-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.academy-form-grid.academy-basics-grid{grid-template-columns:minmax(120px,.8fr) minmax(0,1.4fr) minmax(120px,.8fr)}.academy-form-grid label,.time-pair label,.repeat-date-range label,.academy-location,.schedule-default-row label,.transport-time-row label{gap:6px;min-width:0;display:grid}.academy-form-grid label>span,.time-pair label>span,.repeat-date-range label>span,.academy-location>span,.schedule-default-row label>span,.transport-time-row label>span{color:var(--text-secondary);font-size:12px;font-weight:600}.academy-form-grid .full{grid-column:1/-1}.academy-form-grid input,.academy-form-grid select,.academy-form-grid textarea,.time-pair input,.day-time-list input,.day-time-list select,.repeat-date-range input,.academy-location input,.assignment-editor-row input,.assignment-editor-row select,.schedule-default-row input,.schedule-default-row select,.transport-time-row input{width:100%;min-height:44px;color:var(--ink);background:var(--canvas);border:1px solid var(--border-strong);border-radius:11px;padding:9px 11px;font-weight:400}.academy-form-grid textarea{resize:vertical;min-height:82px}.academy-form-section{background:var(--surface);border-radius:16px;gap:12px;padding:15px;display:grid}.academy-section-title{justify-content:space-between}.academy-section-title>strong{font-size:15px}.inline-check,.switch-label{color:var(--text-secondary);align-items:center;gap:7px;font-size:13px;display:inline-flex}.inline-check input{width:17px;height:17px;accent-color:var(--brand)}.weekday-checklist{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.weekday-checklist button{min-width:0;height:39px;color:var(--text-secondary);background:var(--canvas);border:1px solid var(--border);border-radius:10px;padding:7px;font-size:13px}.weekday-checklist button.active{color:#fff;background:var(--brand);border-color:var(--brand)}.time-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.schedule-default-row{grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr));gap:10px;display:grid}.day-time-list{gap:7px;display:grid}.day-time-list>div{grid-template-columns:28px minmax(0,1fr) 12px minmax(0,1fr);align-items:center;gap:7px;display:grid}.subject-day-list>div{grid-template-columns:28px minmax(130px,1.1fr) minmax(110px,1fr) 12px minmax(110px,1fr)}.day-time-list strong{color:var(--brand-active);text-align:center;font-size:13px}.day-time-list span{color:var(--text-muted);text-align:center}.repeat-date-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.subjects-section{border:1px solid var(--border);background:0 0;padding:0;overflow:hidden}.subjects-section>.academy-section-title{padding:14px 15px 2px}.academy-section-note{color:var(--text-muted);font-size:12px}.subject-editor-list{gap:10px;padding:10px;display:grid}.subject-editor-card{background:var(--surface);border-radius:14px;gap:12px;padding:14px;display:grid}.subject-editor-head,.assignment-subhead{justify-content:space-between;align-items:center;gap:10px;display:flex}.subject-editor-head>strong,.assignment-subhead>strong{font-size:13px}.subject-assignment-editor{gap:9px;padding-top:2px;display:grid}.common-assignment-block{background:var(--brand-soft);border-top:1px solid var(--brand-border);padding:14px}.subject-mode-toggle{min-height:46px;color:var(--text-secondary);background:var(--canvas);border:0;border-top:1px solid var(--border);text-align:left;align-items:center;gap:10px;padding:10px 14px;font-size:13px;font-weight:700;display:flex}.subject-mode-toggle>span{align-items:center;gap:7px;display:inline-flex}.subject-mode-sign{width:18px;color:var(--brand-active);text-align:center;font-size:20px;font-weight:500;line-height:1}.subject-mode-toggle.active{color:var(--brand-active);background:#f7faff}.subject-mode-panel{border-top:1px solid var(--border);gap:8px;padding:12px 10px 10px;display:grid}.subject-mode-panel>.academy-section-title{padding-inline:4px}.assignment-add-button{min-height:34px;color:var(--brand-active);background:var(--canvas);border:1px solid var(--brand-border);border-radius:9px;align-items:center;gap:5px;padding:6px 10px;font-size:12px;display:inline-flex}.assignment-add-button .material-symbols-rounded{font-size:18px}.assignment-empty{min-height:54px;color:var(--text-muted);background:var(--canvas);border:1px dashed var(--border-strong);border-radius:12px;padding:12px;font-size:13px}.assignment-editor-list{gap:9px;display:grid}.assignment-editor-row{background:var(--canvas);border:1px solid var(--border);border-radius:13px;gap:10px;padding:12px;display:grid}.assignment-name-row{grid-template-columns:minmax(0,1fr);align-items:end;gap:8px;display:grid}.assignment-name-row label,.assignment-options label,.assignment-options>div{gap:5px;min-width:0;display:grid}.assignment-name-row label>span,.assignment-options label>span,.assignment-options>div>span{color:var(--text-secondary);font-size:11px;font-weight:600}.assignment-options{grid-template-columns:minmax(0,1.25fr) minmax(150px,.75fr) 44px;align-items:end;gap:10px;display:grid}.assignment-options.cycle-only{grid-template-columns:minmax(160px,260px) 44px;justify-content:end}.assignment-delete{align-self:end}.assignment-weekday-field{grid-template-rows:auto 44px;min-height:62px}.assignment-weekdays{flex-wrap:nowrap;align-items:center;gap:5px;min-height:44px;display:flex}.assignment-weekdays button{min-width:0;min-height:32px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:8px;flex:1 1 0;padding:5px 8px;font-size:11px}.assignment-weekdays button:first-child{flex-grow:1.25}.assignment-weekdays button.active{color:#fff;background:var(--brand);border-color:var(--brand)}.schedule-time-select{font-variant-numeric:tabular-nums;letter-spacing:-.02em;min-width:0;font-size:15px}.switch-label{cursor:pointer}.switch-label input{opacity:0;pointer-events:none;position:absolute}.switch-label>span{background:var(--border-strong);border-radius:999px;width:38px;height:22px;padding:3px;transition:background .18s;position:relative}.switch-label>span:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .18s;display:block;box-shadow:0 1px 3px #1717192e}.switch-label input:checked+span{background:var(--brand)}.switch-label input:checked+span:after{transform:translate(16px)}.transport-time-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.notification-check{background:var(--brand-soft);border-radius:12px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;min-height:58px;padding:10px 12px;gap:10px!important;display:grid!important}.notification-check>input{width:18px;min-height:18px;accent-color:var(--brand);padding:0}.notification-check>span{gap:1px;display:grid}.notification-check small{color:var(--text-muted);font-size:11px}.notification-check button{min-height:34px;color:var(--brand-active);border:1px solid var(--brand-border);background:#fff;border-radius:9px;padding:6px 10px;font-size:12px}.academy-editor-actions{border-top:1px solid var(--border);padding-top:2px}.academy-editor-actions>span{flex:1}.delete-confirm-backdrop{z-index:160;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1717198f;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.delete-confirm{border-radius:20px;grid-template-columns:48px minmax(0,1fr);gap:14px;width:min(420px,100%);padding:20px;display:grid;box-shadow:0 26px 80px #17171947}.delete-confirm-icon{color:#b42318;background:#fff3f2;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.delete-confirm h3{font-size:18px}.delete-confirm p{color:var(--text-secondary);margin-top:4px;font-size:13px}.delete-confirm footer{grid-column:1/-1;justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#17171973;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{border-radius:24px;gap:20px;width:min(100%,560px);padding:24px;display:grid;box-shadow:0 24px 80px #17171938}.modal-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.modal-head h2{font-size:24px}.modal-head p{color:var(--text-muted);margin-top:4px;font-size:14px}.form-tabs{background:var(--surface);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px;display:grid}.form-tabs button{min-height:44px;color:var(--text-secondary);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;display:inline-flex}.form-tabs button.active{color:var(--brand-active);background:var(--canvas);box-shadow:0 1px 4px #17171914}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid label{gap:7px;display:grid}.form-grid label>span{font-size:14px}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select{width:100%;min-height:48px;color:var(--ink);background:var(--canvas);border:1px solid var(--border-strong);border-radius:12px;padding:11px 12px;font-weight:400}.form-grid input:focus,.form-grid select:focus{border-color:var(--brand)}.form-help{min-height:46px;color:var(--brand-active);background:var(--brand-soft);border-radius:12px;align-items:center;gap:8px;padding:12px;font-size:14px;display:flex}.form-help .material-symbols-rounded{font-size:20px}.modal-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.toast{z-index:120;color:#fff;background:var(--ink);border-radius:14px;align-items:center;gap:10px;min-height:48px;padding:12px 18px;font-size:14px;font-weight:600;display:inline-flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 12px 36px #17171933}.toast .material-symbols-rounded{color:#8dd5aa}.account-button{min-height:36px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:11px;align-items:center;gap:7px;padding:7px 10px;font-size:13px;display:inline-flex}.account-button:hover{color:var(--brand-active);border-color:var(--brand-border);background:var(--brand-soft)}.account-button .material-symbols-rounded{font-size:18px}.settings-signout{color:#b42318;background:#fff;border:1px solid #fecaca;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;margin-top:2px;font-size:14px;font-weight:700;display:inline-flex}.settings-signout:hover{background:#fff5f4;border-color:#fca5a5}.settings-signout .material-symbols-rounded{font-size:20px}.access-shell{background:linear-gradient(140deg,#f8fbff 0%,#fff 54%,#eef5ff 100%);place-items:center;min-height:100dvh;padding:24px;display:grid}.access-card{justify-items:start;gap:16px;width:min(520px,100%);padding:clamp(28px,6vw,52px);display:grid;box-shadow:0 20px 70px #0d3d7d1c}.access-card .site-logo{margin-bottom:8px}.access-kicker{color:var(--brand-active);letter-spacing:.12em;font-size:12px;font-weight:700}.access-card h1{letter-spacing:-.045em;font-size:clamp(30px,5vw,42px);line-height:1.16}.access-card>p{color:var(--text-secondary);font-size:16px;line-height:1.65}.access-card>small{color:var(--text-muted);font-size:13px;line-height:1.5}.account-tabs{background:var(--surface);border:1px solid var(--border);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;padding:4px;display:grid}.account-tabs button{min-height:42px;color:var(--text-secondary);background:0 0;border:0;border-radius:10px;font-weight:700}.account-tabs button.active{color:var(--brand-active);background:var(--canvas);box-shadow:0 1px 4px #17171914}.access-form{gap:13px;width:100%;display:grid}.access-form label{gap:7px;display:grid}.access-form label>span{color:var(--text-secondary);font-size:13px;font-weight:600}.access-form input{width:100%;min-height:48px;color:var(--ink);background:var(--canvas);border:1px solid var(--border-strong);border-radius:12px;padding:10px 12px}.access-form input:focus{border-color:var(--brand);outline:0}.access-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.access-error{background:#fff1f0;border:1px solid #fecaca;border-radius:12px;width:100%;padding:11px 13px;color:#b42318!important;font-size:14px!important}.access-notice{background:#ecfdf3;border:1px solid #b7ebd0;border-radius:12px;width:100%;padding:11px 13px;line-height:1.5;color:#075a48!important;font-size:14px!important}.access-forgot{color:var(--brand-active);text-underline-offset:3px;background:0 0;border:0;justify-self:start;padding:1px 0 3px;font-size:13px;font-weight:700;text-decoration:underline}.access-start{justify-content:center;align-items:center;gap:8px;width:100%;min-height:52px;text-decoration:none;display:inline-flex}.family-name-field{gap:7px;width:100%;display:grid}.family-name-field>span{color:var(--text-secondary);font-size:13px;font-weight:600}.family-name-field input{width:100%;min-height:48px;color:var(--ink);background:var(--canvas);border:1px solid var(--border-strong);border-radius:12px;padding:10px 12px}.family-name-field input:focus{border-color:var(--brand)}.access-loading{color:var(--text-secondary);justify-items:center;gap:16px;font-size:15px;display:grid}.welcome-card,.onboarding-card{text-align:center;gap:22px;width:min(560px,100%);padding:clamp(28px,6vw,52px);display:grid;box-shadow:0 20px 70px #0d3d7d1c}.welcome-card .site-logo{background-position:50%;flex-basis:auto;justify-self:center;width:min(210px,58vw);height:64px}.welcome-copy{gap:10px;display:grid}.welcome-copy h1{letter-spacing:-.055em;font-size:clamp(32px,6vw,44px)}.welcome-copy p{color:var(--text-secondary);font-size:17px}.welcome-points{border-block:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px 0;display:grid}.welcome-points span{color:var(--text-secondary);justify-items:center;gap:7px;font-size:13px;font-weight:700;display:grid}.welcome-points .material-symbols-rounded{color:var(--brand);font-size:24px}.welcome-actions{grid-template-columns:1.25fr .75fr;gap:10px;display:grid}.welcome-card>small{color:var(--text-muted);font-size:12px;line-height:1.5}.access-card{position:relative}.access-back{width:40px;height:40px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:11px;place-items:center;display:inline-grid;position:absolute;top:18px;right:18px}.access-switch{color:var(--brand-active);text-align:center;background:0 0;border:0;font-size:13px;font-weight:700}.onboarding-shell{align-items:start;padding-block:36px}.onboarding-card{text-align:left;width:min(650px,100%)}.onboarding-card>header{justify-content:space-between;align-items:center;gap:20px;display:flex}.onboarding-card>header .site-logo{background-size:contain;flex-basis:148px;width:148px;height:46px}.onboarding-step{width:142px;color:var(--text-secondary);text-align:right;gap:7px;font-size:12px;font-weight:700;display:grid}.onboarding-step i{background:var(--surface-strong);border-radius:999px;height:6px;display:block;overflow:hidden}.onboarding-step i:before{content:"";width:inherit;background:var(--brand);border-radius:inherit;height:100%;display:block}.onboarding-content{gap:18px;display:grid}.onboarding-content h1{letter-spacing:-.05em;font-size:clamp(30px,5vw,40px);line-height:1.18}.onboarding-content>p{color:var(--text-secondary);margin-top:-7px;line-height:1.6}.onboarding-form{background:var(--surface);border:1px solid var(--border);border-radius:18px;gap:12px;padding:16px;display:grid}.onboarding-form label{gap:7px;display:grid}.onboarding-form label>span{color:var(--text-secondary);font-size:13px;font-weight:700}.onboarding-form em{color:var(--text-muted);font-style:normal;font-weight:400}.onboarding-form input{width:100%;min-height:48px;color:var(--ink);background:var(--canvas);border:1px solid var(--border-strong);border-radius:12px;padding:10px 12px}.onboarding-form input:focus{border-color:var(--brand);outline:0}.onboarding-next{width:100%;min-height:54px}.onboarding-child-list,.onboarding-schedule-list{gap:8px;display:grid}.onboarding-child-list>div,.onboarding-schedule-list>div{background:var(--surface);border:1px solid var(--border);border-radius:14px;grid-template-columns:38px minmax(0,1fr);align-items:center;column-gap:10px;min-height:62px;padding:11px 13px;display:grid}.onboarding-child-list>div>span{width:34px;height:34px;color:var(--brand-active);background:var(--brand-soft);border-radius:11px;grid-row:1/span 2;place-items:center;font-weight:800;display:inline-grid}.onboarding-child-list strong,.onboarding-schedule-list strong{min-width:0;font-size:15px}.onboarding-child-list small,.onboarding-schedule-list small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;grid-column:2;font-size:12px;overflow:hidden}.onboarding-schedule-list>div{grid-template-columns:minmax(0,1fr)}.onboarding-schedule-list small{grid-column:1;margin-top:3px}.onboarding-empty{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;gap:7px;font-size:13px;border-style:dashed!important;min-height:98px!important;display:flex!important}.onboarding-empty .material-symbols-rounded{color:var(--brand);font-size:26px}.onboarding-add-schedule{width:100%;min-height:50px}.onboarding-actions{grid-template-columns:1fr 1.25fr;gap:10px;display:grid}.onboarding-actions .button{min-height:50px}.onboarding-child-name-row,.onboarding-child-details-row{grid-template-columns:minmax(0,1fr) minmax(132px,.82fr);gap:12px;display:grid}.onboarding-child-details-row{grid-template-columns:minmax(96px,.58fr) minmax(0,1.42fr)}.child-form>.button.secondary{min-height:48px}@media (width<=1240px){:root{--sidebar-expanded:220px}.section-head{flex-wrap:wrap;gap:12px}.manage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-editor-layout{grid-template-columns:1fr}.manage-form-grid{grid-column:auto}.animal-grid{grid-template-columns:repeat(10,minmax(48px,1fr))}.settings-row-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.week-calendar{min-height:0}}@media (width<=1020px){:root{--sidebar-expanded:208px}.topbar{padding-inline:12px}.site-logo{background-size:contain;flex-basis:166px;width:166px}.global-child-picker>button,.global-child-option>button{padding-right:10px}.hero-grid{grid-template-columns:1fr}.brand-hero{min-height:250px}.today-progress{min-height:auto}.progress-content{justify-content:space-around}.calendar-toolbar{grid-template-columns:auto minmax(0,auto) minmax(0,1fr) auto auto}.week-calendar{display:block}.learning-layout{grid-template-columns:1fr}.program-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.animal-grid{grid-template-columns:repeat(5,minmax(58px,1fr))}.character-picker-modal .animal-grid{grid-template-columns:repeat(6,minmax(54px,1fr))}.manage-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reward-settings-grid{grid-template-columns:1fr}.child-hero{grid-template-columns:1fr 240px}.child-columns{grid-template-columns:1fr}}@media (width<=760px){:root{--header-height:64px;--card-padding:16px;--layout-gap:16px}body{padding-bottom:76px;font-size:16px}.app-shell{display:block}.app-shell.calendar-app{height:100dvh;min-height:100dvh;position:fixed;inset:0;overflow:hidden}.calendar-app .main-area{height:calc(100dvh - var(--header-height) - 68px);overflow:hidden}.calendar-app .content-shell.calendar-shell{height:100%;overflow:hidden}.sidebar{width:min(86vw,310px);height:calc(100dvh - var(--header-height));min-height:calc(100dvh - var(--header-height));left:0;top:var(--header-height);z-index:80;align-items:stretch;padding:12px;transition:transform .22s;position:fixed;transform:translate(-102%);box-shadow:12px 0 40px #1717191f}.sidebar.open{transform:translate(0)}.sidebar nav{margin-top:0}.sidebar nav button{justify-content:flex-start}.reset-button{display:flex}.sidebar-bottom>p{display:block}.nav-scrim{z-index:70;background:#1717195c;border:0;display:block;position:fixed;inset:0}.topbar{min-height:var(--header-height);gap:6px;padding:8px}.account-button{justify-content:center;width:38px;min-width:38px;padding:7px}.account-button span{display:none}.site-logo{background-size:contain;flex-basis:104px;width:104px;height:42px}.global-child-picker{flex:auto;justify-content:flex-end;gap:4px;overflow:hidden}.global-child-picker>button,.global-child-option>button{min-height:40px}.global-child-picker>button{padding-inline:10px}.global-child-option>button{gap:5px;padding:4px 6px 4px 3px}.global-child-option>button .child-name{display:none!important}.child-avatar{flex-basis:30px;width:30px;height:30px;font-size:19px}.content-shell,.content-shell.calendar-shell{width:calc(100% - (var(--layout-gap) * 2));padding:var(--layout-gap) 0 20px}.content-shell.calendar-shell{height:calc(100dvh - var(--header-height) - 68px);padding-bottom:var(--layout-gap)}.view-stack{gap:var(--layout-gap)}.section-head{flex-direction:column;align-items:flex-start;gap:16px;padding:0 0 0 10px}.section-head h2{font-size:28px}.section-head p{font-size:16px}.hero-grid,.metric-grid,.dashboard-grid,.today-dashboard-grid,.report-grid,.manage-grid{gap:var(--layout-gap);grid-template-columns:1fr}.brand-hero{grid-template-columns:1fr;align-items:start;min-height:230px;padding:18px}.hero-copy h2{font-size:30px}.hero-copy p{font-size:14px}.hero-score{grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;display:grid}.hero-score>strong{grid-area:1/2/span 2}.hero-score-bars{grid-column:1;height:22px;margin-top:6px}.progress-content{gap:24px}.progress-ring{width:132px;height:132px}.progress-ring:after{width:100px;height:100px}.dashboard-focus{gap:14px}.dashboard-focus .section-head{gap:0}.today-summary{min-height:0;padding:18px 16px}.today-summary .progress-content{justify-content:space-between;gap:18px;padding-top:16px}.today-summary .progress-ring{width:116px;height:116px}.today-summary .progress-ring:after{width:88px;height:88px}.today-summary .progress-ring strong{font-size:24px}.today-summary .progress-counts{flex:1;gap:10px}.today-summary .progress-counts>span{min-width:0}.today-dashboard-grid .panel{gap:16px}.today-dashboard-grid .task-row{min-height:66px}.today-dashboard-grid .timeline-row{min-height:62px}.metric-card{min-height:158px}.metric-grid{scroll-snap-type:x mandatory;grid-template-columns:repeat(3,minmax(240px,1fr));padding-bottom:4px;overflow-x:auto}.metric-card{scroll-snap-align:start}.card-title-row{align-items:flex-start}.card-title-row h3{font-size:20px}.legend{justify-content:flex-start}.dashboard-grid .panel,.dashboard-grid .side-stack{min-height:auto}.trend-chart{min-height:190px}.trend-chart svg{height:160px}.calendar-toolbar{grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.calendar-view-toggle{justify-self:start}.calendar-view-toggle button{min-height:38px;padding:7px 10px;font-size:13px}.calendar-toolbar-spacer{display:none}.calendar-navigation{grid-area:2/1/auto/-1;justify-content:space-between;gap:6px}.calendar-navigation .icon-button{flex-basis:40px;width:40px;height:40px;padding:8px}.calendar-period{text-overflow:ellipsis;justify-content:center;min-width:0;font-size:18px;overflow:hidden}.calendar-period span{text-overflow:ellipsis;overflow:hidden}.calendar-add{width:auto;min-width:88px;min-height:40px;padding:8px 13px;font-size:13px;line-height:1;overflow:visible}.calendar-settings-popover{width:min(300px,100vw - 32px);top:calc(var(--header-height) + 118px);position:fixed;right:16px}.calendar-scroll{max-height:none}.time-grid{grid-template-columns:64px repeat(var(--calendar-day-count,7), minmax(128px, 1fr));min-width:968px}.time-grid.day-mode{grid-template-columns:64px minmax(0,1fr);min-width:100%}.schedule-detail-backdrop{align-items:end;padding:0}.schedule-detail{border-radius:22px 22px 0 0;width:100%}.program-list{grid-template-columns:1fr}.program-detail-head{flex-direction:column}.program-detail-head .button{align-self:flex-start}.program-kpis{grid-template-columns:1fr}.template-head{flex-direction:column;align-items:flex-start}.template-head .button{margin-top:0}.manage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manage-card{min-height:220px}.manage-editor{padding:16px}.editor-head{flex-direction:column;align-items:stretch}.editor-head .button{align-self:flex-start}.animal-grid{grid-template-columns:repeat(4,minmax(52px,1fr))}.character-picker-backdrop{align-items:end;padding:0}.character-picker-modal{border-radius:22px 22px 0 0;width:100%;max-height:82vh}.character-picker-modal .animal-grid{grid-template-columns:repeat(4,minmax(52px,1fr))}.manage-form-grid,.settings-row-fields{grid-template-columns:1fr}.settings-row-fields .wide{grid-column:auto}.settings-row{grid-template-columns:7px minmax(0,1fr) 40px;align-items:start}.settings-row.cost-row{grid-template-columns:minmax(0,1fr) 40px}.cost-summary{flex-direction:column;align-items:flex-start}.cost-summary strong{font-size:23px}.empty-family-children{grid-template-columns:44px minmax(0,1fr)}.empty-family-children .button{grid-column:1/-1;width:100%}.invite-create-grid{grid-template-columns:1fr}.invite-list-head{flex-direction:column;align-items:flex-start;gap:4px}.invite-list-head>span{text-align:left}.invite-row{grid-template-columns:40px minmax(0,1fr) auto;gap:9px}.invite-row .icon-box{flex-basis:40px;width:40px;height:40px}.invite-revoke{grid-column:2/-1;width:100%}.invite-link-row{grid-template-columns:1fr}.invite-link-row .button{width:100%}.child-link-header{padding-inline:16px}.child-link-header>span{display:none}.child-link-header .button{min-width:40px;padding-inline:10px;font-size:0}.child-link-header .button .material-symbols-rounded{font-size:21px}.child-link-content{width:calc(100% - 32px);padding-top:18px}.academy-setting-row{grid-template-columns:7px minmax(0,1fr) 22px;gap:9px}.academy-row-meta{display:none}.child-hero{grid-template-columns:1fr;padding:20px}.child-progress{width:100%}.academy-editor-backdrop{align-items:end;padding:0}.academy-editor{width:100%;max-height:94dvh;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;gap:15px}.academy-form-grid{grid-template-columns:1fr}.academy-form-grid .full{grid-column:1}.academy-section-title{align-items:flex-start}.weekday-checklist{gap:4px}.weekday-checklist button{height:38px;padding-inline:4px}.day-time-list>div{grid-template-columns:26px minmax(0,1fr) 8px minmax(0,1fr);gap:4px}.subject-day-list>div{grid-template-columns:22px minmax(54px,.78fr) minmax(74px,1fr) 5px minmax(74px,1fr);gap:3px}.schedule-default-row{grid-template-columns:minmax(74px,.8fr) repeat(2,minmax(82px,1fr));gap:6px}.schedule-default-row select,.subject-day-list select,.transport-time-row select{padding-inline:7px;font-size:13px}.schedule-time-select{padding-inline:6px!important;font-size:12px!important}.repeat-date-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.assignment-options,.assignment-options.cycle-only{grid-template-columns:1fr}.subjects-section>.academy-section-title{padding-inline:13px}.subject-editor-list{padding:8px}.subject-editor-card,.common-assignment-block{padding:12px}.assignment-editor-row{padding:10px}.notification-check{grid-template-columns:20px minmax(0,1fr)}.notification-check button{grid-column:2;justify-self:start}.academy-editor-actions{grid-template-columns:1fr 1fr;display:grid}.academy-editor-actions>span{display:none}.academy-editor-actions .button.danger{grid-column:1/-1;width:100%}.delete-confirm-backdrop{align-items:end;padding:0}.delete-confirm{width:100%;padding-bottom:calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.mobile-bottom-nav{z-index:60;height:68px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-bottom-nav button{min-width:0;color:var(--text-muted);background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:14px;display:flex}.mobile-bottom-nav button.active{color:var(--brand-active);background:var(--brand-soft)}.mobile-bottom-nav .material-symbols-rounded{font-size:22px}.mobile-bottom-nav span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.modal-backdrop{align-items:end;padding:0}.modal{border-radius:24px 24px 0 0;width:100%;max-height:92vh;overflow-y:auto}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:1}.toast{width:max-content;max-width:calc(100% - 32px);bottom:86px}}@media (width<=520px){.site-logo{flex-basis:92px;width:92px}.global-child-picker{gap:3px}.global-child-picker>button{padding-inline:8px}.global-child-option>button{gap:4px;padding-inline:3px;font-size:13px}.child-avatar{flex-basis:28px;width:28px;height:28px;font-size:18px}.access-shell{padding:16px}.access-card{padding:28px 22px}.welcome-card,.onboarding-card{border-radius:22px;padding:26px 20px}.welcome-actions,.onboarding-actions{grid-template-columns:1fr}.welcome-points{gap:4px}.welcome-points span{font-size:12px}.onboarding-shell{padding-block:16px}.onboarding-card>header .site-logo{flex-basis:118px;width:118px}.onboarding-step{width:112px}.onboarding-content h1{font-size:30px}.onboarding-content>p{font-size:14px}.onboarding-form{padding:13px}.onboarding-child-list>div,.onboarding-schedule-list>div{padding:10px}.access-form-row,.manage-grid{grid-template-columns:1fr}.manage-card{min-height:210px}.animal-grid{grid-template-columns:repeat(4,minmax(48px,1fr))}.animal-grid button{min-height:62px}.child-profile-tabs>button{gap:5px;min-width:0;min-height:76px;padding:7px 4px}.child-profile-tabs .child-avatar{flex-basis:36px;width:36px;height:36px}.child-profile-tabs strong{font-size:13px}.progress-content{justify-content:space-between;gap:12px}.progress-ring{width:120px;height:120px}.progress-ring:after{width:90px;height:90px}.progress-ring strong{font-size:24px}.reward-card{grid-template-columns:48px minmax(0,1fr)}.reward-card>button{display:none}.reward-icon{width:48px;height:48px;padding:12px}.program-detail-head h2{font-size:26px}.data-note{align-items:start}.backup-note{grid-template-columns:40px minmax(0,1fr);align-items:start}.backup-note .button{grid-column:1/-1;width:100%}}@media (width<=760px){.onboarding-shell{background:var(--surface);padding:0;display:block}.onboarding-card{width:100%;min-height:100dvh;padding:22px 16px max(30px, calc(22px + env(safe-area-inset-bottom)));box-shadow:none;border:0;border-radius:0;gap:20px}.onboarding-card>header{gap:12px}.onboarding-card>header .site-logo{flex-basis:124px;width:124px;height:42px}.onboarding-step{width:min(118px,34vw)}.onboarding-content,.onboarding-form,.onboarding-form label,.child-form .access-form-row{min-width:0}.onboarding-content{gap:16px}.onboarding-content h1{font-size:clamp(28px,8vw,34px)}.onboarding-content>p{margin-top:-4px;font-size:15px}.child-form{border-radius:16px;gap:14px;padding:16px}.child-form .access-form-row{grid-template-columns:1fr;gap:14px}.onboarding-child-name-row,.onboarding-child-details-row{gap:9px;min-width:0}.onboarding-child-name-row{grid-template-columns:minmax(0,1fr) minmax(130px,.86fr)}.onboarding-child-details-row{grid-template-columns:minmax(88px,.6fr) minmax(0,1.4fr)}.child-form label>span{font-size:14px}.child-form input,.child-form .button{min-height:52px;font-size:16px}.child-form .button{width:100%}.onboarding-child-list>div{min-height:70px;padding:12px}.onboarding-child-list small{text-overflow:clip;white-space:normal;line-height:1.45;overflow:visible}.child-mode{gap:16px;min-width:0}.child-mode .section-head{gap:4px;padding-left:0}.child-day-title>p{margin-left:0;font-size:14px;line-height:1.5}.child-today-summary{border-radius:20px;grid-template-columns:1fr;gap:16px;min-height:0;padding:20px 16px}.child-today-summary h2{font-size:28px;line-height:1.2}.child-today-summary .child-progress{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:12px;width:100%;padding:15px 16px;display:grid}.child-today-summary .child-progress strong{grid-row:1/span 2;font-size:38px}.child-today-summary .child-progress strong small{font-size:17px}.child-today-summary .child-progress>span{align-self:end}.child-today-summary .child-progress>div{grid-column:2;width:100%;margin-top:5px}.child-day-grid{grid-template-columns:1fr;gap:16px}.child-schedule-card,.child-task-card{min-width:0;padding:16px}.child-schedule-row{grid-template-rows:auto auto;grid-template-columns:42px 4px minmax(0,1fr);gap:3px 8px;min-height:74px}.child-schedule-row time,.child-schedule-row i{grid-row:1/span 2}.child-schedule-row i{height:40px}.child-schedule-row>div{grid-column:3;min-width:0}.child-schedule-row>span{grid-column:3;justify-self:start}.child-schedule-row small{text-overflow:clip;white-space:normal;line-height:1.4;overflow:visible}.big-task-list{gap:8px}.big-task-list button{grid-template-columns:46px minmax(0,1fr);gap:12px;min-height:76px;padding:12px}.big-task-list button>span{width:46px;height:46px}.big-task-list strong{font-size:16px;line-height:1.35}.big-task-list small{font-size:14px;line-height:1.35}.journal-launch{border-radius:18px;grid-template-columns:50px minmax(0,1fr);gap:12px;min-height:96px;padding:16px}.journal-launch-emoji{border-radius:15px;width:50px;height:50px;font-size:26px}.journal-launch strong{font-size:17px}.journal-launch small{font-size:14px;line-height:1.45;display:block}.journal-launch>.material-symbols-rounded{display:none}.journal-sheet-backdrop{align-items:end;padding:0}.journal-sheet{width:100%;max-height:92dvh;padding:20px 16px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;gap:16px}.journal-sheet h2{font-size:26px}.journal-sheet header p{line-height:1.5}.emotion-grid{gap:6px}.emotion-grid button{border-radius:14px;min-height:72px;padding:7px 2px}.emotion-grid button span{font-size:25px}.emotion-grid button small{font-size:11px}.journal-section-head{flex-direction:column;align-items:flex-start;gap:2px}.journal-media-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.journal-media-actions .button{justify-content:center;min-height:48px;padding-inline:10px}.journal-media-actions .button:last-child{grid-column:1/-1}.journal-attachments{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-sheet>footer{grid-template-columns:.8fr 1.2fr;display:grid}.journal-sheet>footer .button{justify-content:center;min-height:50px;padding-inline:10px}}@media (width<=380px){.child-link-content{width:calc(100% - 24px)}.child-today-summary{padding:18px 14px}.child-schedule-card,.child-task-card{padding:14px}.emotion-grid button small{font-size:10px}.journal-activity-add{grid-template-columns:1fr}.journal-activity-add .button{justify-content:center;min-height:48px}.journal-media-actions{grid-template-columns:1fr}.journal-media-actions .button:last-child{grid-column:auto}}.manage-view .manage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.manage-view .manage-card{gap:12px;min-height:172px;padding:16px}.manage-view .manage-card>div:nth-child(2) strong{font-size:20px}.manage-view .manage-card>div:nth-child(2) p{font-size:13px}.manage-view .manage-footer{padding-top:9px;font-size:12px}.child-settings-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.child-settings-grid .child-field-name,.child-settings-grid .child-field-birth,.child-settings-grid .child-field-age{grid-column:span 2}.child-settings-grid .child-field-school,.child-settings-grid .child-field-grade,.child-settings-grid .child-field-teacher,.child-settings-grid .child-field-phone{grid-column:span 3}.child-invite-card{background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:16px;justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex}.child-invite-card>div:first-child{min-width:0}.child-invite-card h4{margin-top:2px;font-size:17px}.child-invite-card p{color:var(--text-secondary);margin-top:3px;font-size:13px}.child-invite-actions{flex-shrink:0;gap:8px;display:flex}.child-invite-actions .button{white-space:nowrap;min-height:44px}.invite-share-symbol{text-align:center;width:18px;font-size:21px;font-weight:500;line-height:1;display:inline-block;transform:translateY(-1px)}.qr-dialog-backdrop{z-index:190;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#17171985;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.qr-dialog{text-align:center;justify-items:center;gap:10px;width:min(340px,100%);padding:24px;display:grid;box-shadow:0 28px 80px #1717194d}.qr-dialog>.icon-button{position:absolute;top:12px;right:12px}.qr-dialog .icon-box{width:42px;height:42px}.qr-dialog h3{font-size:21px}.qr-dialog p{color:var(--text-secondary);font-size:14px}.qr-dialog img{aspect-ratio:1;border:1px solid var(--border);background:#fff;border-radius:14px;width:min(250px,100%)}.academy-add-modal-backdrop{z-index:195;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1717198a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.academy-add-modal{border-radius:22px;gap:16px;width:min(580px,100%);padding:22px;display:grid;box-shadow:0 28px 80px #1717194d}.academy-add-modal-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.academy-add-modal-head h3{margin-top:4px;font-size:23px}.academy-add-modal-head p{color:var(--text-secondary);margin-top:4px;font-size:13px}.academy-add-fields{grid-template-columns:repeat(12,minmax(0,1fr));gap:11px;display:grid}.academy-add-fields label{gap:5px;min-width:0;display:grid}.academy-add-fields label>span{color:var(--text-secondary);font-size:12px;font-weight:600}.academy-add-fields input,.academy-add-fields select{width:100%;min-height:44px;color:var(--ink);background:var(--canvas);border:1px solid var(--border-strong);border-radius:10px;padding:9px 10px}.academy-add-fields .academy-add-child{grid-column:span 3}.academy-add-fields .academy-info-name{grid-column:span 6}.academy-add-fields .academy-add-category{grid-column:span 3}.academy-add-fields .academy-add-phone{grid-column:span 5}.academy-add-fields .academy-info-address{grid-column:span 7}.academy-add-modal-actions{grid-template-columns:minmax(110px,.65fr) minmax(0,1.35fr);gap:8px;display:grid}.academy-add-modal-actions .button{justify-content:center;min-height:46px}.academy-info-list{gap:10px;display:grid}.academy-info-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden}.academy-info-card.active{border-color:var(--brand-border)}.academy-info-summary{width:100%;min-height:66px;color:var(--ink);text-align:left;background:0 0;border:0;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 14px;display:grid}.academy-child-color-stack{border-radius:999px;flex-direction:column;min-height:36px;display:flex;overflow:hidden}.academy-child-color-stack i{flex:1 1 0;min-height:4px}.academy-info-summary>span:nth-child(2){gap:3px;min-width:0;display:grid}.academy-info-title-line{align-items:center;gap:8px;min-width:0;display:flex}.academy-info-summary strong,.academy-info-summary small,.academy-info-summary em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.academy-info-summary strong{min-width:0;font-size:15px}.academy-info-summary em{color:var(--text-secondary);font-size:12px;font-style:normal}.academy-category-pill{background:var(--brand-soft);border-radius:999px;align-items:center;max-width:88px;min-height:21px;padding:3px 7px;font-weight:700;display:inline-flex;color:var(--brand-active)!important;font-size:11px!important}.academy-info-summary small{color:var(--text-muted);font-size:12px}.academy-disclosure{width:30px;height:30px;color:var(--brand-active);background:var(--canvas);border:1px solid var(--border);border-radius:9px;display:inline-block;position:relative}.academy-disclosure:before{content:"";border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;transition:transform .16s,top .16s;position:absolute;top:9px;left:10px;transform:rotate(45deg)}.academy-disclosure.open:before{top:13px;transform:rotate(225deg)}.academy-info-content{border-top:1px solid var(--border);gap:12px;padding:14px;display:grid}.academy-shared-children{background:var(--surface);border-radius:11px;flex-wrap:wrap;align-items:center;gap:6px;padding:9px 10px;display:flex}.academy-shared-children>span{color:var(--text-secondary);align-items:center;gap:5px;font-size:12px;font-weight:600;display:inline-flex}.academy-shared-children>span i{border-radius:50%;width:7px;height:7px}.academy-shared-children small{width:100%;color:var(--text-muted);font-size:11px}.academy-info-fields{grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;display:grid}.academy-info-fields label{gap:5px;min-width:0;display:grid}.academy-info-fields label>span{color:var(--text-secondary);font-size:12px;font-weight:600}.academy-info-fields input{width:100%;min-height:42px;color:var(--ink);background:var(--canvas);border:1px solid var(--border-strong);border-radius:10px;padding:8px 10px}.academy-info-fields .academy-info-name{grid-column:span 5}.academy-info-fields .academy-info-category{grid-column:span 3}.academy-info-fields .academy-info-phone{grid-column:span 4}.academy-info-fields .academy-info-address{grid-column:1/-1}.academy-info-actions{justify-content:flex-end;gap:8px;display:flex}.academy-info-actions .button{min-height:42px}.academy-map{border:1px solid var(--border);background:var(--brand-soft);border-radius:12px;min-height:190px;position:relative;overflow:hidden}.academy-map iframe{border:0;width:100%;height:190px;display:block}.academy-map>a{min-height:34px;color:var(--brand-active);border:1px solid var(--border);background:#fffffff0;border-radius:8px;align-items:center;gap:4px;padding:6px 9px;font-size:12px;font-weight:700;display:inline-flex;position:absolute;top:10px;left:10px;box-shadow:0 2px 8px #00000014}.academy-map>a .material-symbols-rounded{font-size:16px}.academy-map-empty{min-height:112px;color:var(--text-muted);background:var(--canvas);text-align:center;border-style:dashed;align-content:center;place-items:center;gap:5px;padding:18px;font-size:13px;display:grid}.academy-map-empty .material-symbols-rounded{color:var(--brand);font-size:24px}.academy-share-button{justify-content:center;width:100%;min-height:44px}.academy-info-empty{min-height:150px;color:var(--text-muted);background:var(--surface);border:1px dashed var(--border-strong);text-align:center;border-radius:16px;place-items:center;gap:8px;padding:20px;display:grid}.academy-info-empty .material-symbols-rounded{color:var(--brand);font-size:28px}@media (width<=760px){.timeline{--timeline-center:36px;gap:12px}.timeline-row{min-height:72px}.manage-view .manage-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.manage-view .manage-card{border-radius:15px;gap:8px;min-height:132px;padding:12px 10px}.manage-view .manage-card .icon-box{width:36px;height:36px}.manage-view .manage-card>div:nth-child(2) strong{font-size:16px}.manage-view .manage-card>div:nth-child(2) p{margin-top:3px;font-size:11px;line-height:1.35}.manage-view .manage-footer{display:none}.manage-view .manage-editor{gap:16px}.manage-view .editor-head h3{font-size:21px}.child-settings-grid{gap:8px;grid-template-columns:repeat(6,minmax(0,1fr))!important}.child-settings-grid input{min-height:42px;padding:8px;font-size:13px}.child-settings-grid label>span{font-size:11px}.child-profile-identity-card{grid-template-columns:70px minmax(0,1fr) auto;gap:12px;padding:12px}.avatar-setting{width:66px;height:66px}.avatar-setting .child-avatar.large{flex-basis:64px;width:64px;height:64px;font-size:37px}.avatar-edit-badge{width:24px;height:24px;bottom:-3px;right:-3px}.avatar-edit-badge .material-symbols-rounded{font-size:14px}.child-identity-name{font-size:16px}.child-identity-summary{gap:5px;font-size:11px}.child-identity-edit{min-width:48px;min-height:36px;padding:7px 9px;font-size:12px}.child-identity-edit-fields{grid-template-columns:minmax(116px,1fr) auto;gap:7px}.child-identity-edit-fields input{min-height:38px;padding:7px;font-size:12px}.child-invite-card{flex-direction:column;align-items:flex-start;gap:12px}.child-invite-actions{width:100%}.child-invite-actions .button{flex:1;justify-content:center}.academy-add-modal-backdrop{align-items:end;padding:0}.academy-add-modal{width:100%;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.academy-add-modal-head h3{font-size:21px}.academy-add-fields{grid-template-columns:minmax(160px,.85fr) minmax(0,1.15fr);gap:9px}.academy-add-fields .academy-add-child,.academy-add-fields .academy-add-category{grid-column:1}.academy-add-fields .academy-info-name,.academy-add-fields .academy-add-phone{grid-column:2}.academy-add-fields .academy-info-address{grid-column:1/-1}.academy-info-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.academy-info-fields .academy-info-name,.academy-info-fields .academy-info-category{grid-column:span 1}.academy-info-fields .academy-info-phone,.academy-info-fields .academy-info-address{grid-column:1/-1}.academy-info-actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.academy-info-actions .button{justify-content:center;min-width:0;padding-inline:6px;font-size:12px}.academy-info-actions .button .material-symbols-rounded{font-size:17px}.academy-map,.academy-map iframe{height:170px;min-height:170px}.assignment-options{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px;gap:7px}.assignment-options.cycle-only{grid-template-columns:minmax(0,1fr) 42px}.assignment-options label>span,.assignment-options>div>span{font-size:10px}.assignment-weekdays{flex-wrap:nowrap;gap:3px}.assignment-weekdays button{flex:1 1 0;min-width:0;padding-inline:2px}.assignment-weekdays button:first-child{flex-grow:1.25}}@media (width<=380px){.manage-view .manage-card>div:nth-child(2) p{display:none}.academy-add-fields,.academy-info-fields{grid-template-columns:1fr}.academy-add-fields .academy-add-child,.academy-add-fields .academy-add-category,.academy-add-fields .academy-add-phone,.academy-add-fields .academy-info-name,.academy-add-fields .academy-info-address,.academy-info-fields .academy-info-name,.academy-info-fields .academy-info-category,.academy-info-fields .academy-info-phone,.academy-info-fields .academy-info-address{grid-column:auto}.assignment-options{grid-template-columns:1fr 42px}.assignment-options>div{grid-column:1/-1}.assignment-options label{grid-column:1}.assignment-options .assignment-delete{grid-column:2}}.child-schedule-row{grid-template-columns:58px 5px minmax(0,1fr) auto}.child-schedule-row time{letter-spacing:-.035em;white-space:nowrap;font-size:11px}@media (width<=760px){.child-schedule-row{grid-template-columns:54px 4px minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.admin-loading,.admin-login-shell{background:linear-gradient(145deg,#f3f6fb 0%,#fff 52%,#eef4ff 100%);place-items:center;min-height:100dvh;padding:24px;display:grid}.admin-loading{color:var(--text-secondary);align-content:center;gap:12px;font-size:14px}.admin-loading .material-symbols-rounded{color:var(--brand);font-size:28px;animation:1s linear infinite admin-spin}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-login-card{background:#fffffff0;border:1px solid #dce4f1;border-radius:28px;justify-items:start;width:min(440px,100%);padding:38px;display:grid;box-shadow:0 28px 70px #16305e24}.admin-lock{color:#fff;background:var(--brand);border-radius:16px;justify-content:center;align-items:center;width:50px;height:50px;display:inline-flex}.admin-lock .material-symbols-rounded{font-size:26px}.admin-kicker{color:var(--brand-active);letter-spacing:.12em;font-size:11px;font-weight:800;display:inline-block}.admin-login-card .admin-kicker{margin-top:22px}.admin-login-card h1{letter-spacing:-.045em;margin-top:10px;font-size:34px;line-height:1.18}.admin-login-card>p{color:var(--text-secondary);margin-top:12px;font-size:14px;line-height:1.6}.admin-login-card form{gap:14px;width:100%;margin-top:28px;display:grid}.admin-login-card label{gap:7px;display:grid}.admin-login-card label span{color:var(--text-secondary);font-size:12px;font-weight:700}.admin-login-card input{width:100%;min-height:46px;color:var(--ink);border:1px solid var(--border-strong);background:#fff;border-radius:11px;padding:10px 12px}.admin-login-card>a{color:var(--text-secondary);text-underline-offset:3px;margin-top:18px;font-size:13px;text-decoration:underline}.admin-form-error{color:#b42318;background:#fff2f0;border-radius:9px;padding:9px 11px;font-size:13px}.admin-primary-action,.admin-export-button,.admin-status-button,.admin-period-active,.admin-folder-back{border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:9px 13px;font-size:13px;font-weight:700;display:inline-flex}.admin-primary-action{color:#fff;background:var(--brand);width:100%}.admin-primary-action:hover:not(:disabled){background:var(--brand-hover)}.admin-primary-action:disabled{opacity:.55;cursor:not-allowed}.admin-export-button,.admin-folder-back{color:var(--ink);border-color:var(--border);background:#fff}.admin-export-button:hover,.admin-folder-back:hover{color:var(--brand-active);border-color:var(--brand-border);background:var(--brand-soft)}.admin-app{min-height:100dvh;color:var(--ink);background:#f6f8fc}.admin-topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;justify-content:space-between;align-items:center;gap:20px;min-height:68px;padding:12px max(24px,50vw - 696px);display:flex}.admin-brand{color:var(--ink);letter-spacing:-.075em;align-items:baseline;gap:1px;font-size:23px;font-weight:800;display:inline-flex}.admin-brand b{color:var(--brand)}.admin-brand em{color:var(--text-secondary);letter-spacing:.13em;margin-left:8px;font-size:10px;font-style:normal;font-weight:800}.admin-topbar>div{align-items:center;gap:12px;display:flex}.admin-topbar>div>span{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.admin-topbar>div>span .material-symbols-rounded{color:var(--brand);font-size:18px}.admin-topbar button{min-height:34px;color:var(--text-secondary);background:0 0;border:0;align-items:center;gap:5px;padding:7px 9px;font-size:12px;display:inline-flex}.admin-topbar button:hover{color:var(--brand-active)}.admin-main{width:min(1440px,100% - 48px);margin:0 auto;padding:42px 0 60px}.admin-page-head{justify-content:space-between;align-items:end;gap:24px;display:flex}.admin-page-head h1{letter-spacing:-.06em;margin-top:8px;font-size:clamp(34px,4vw,46px);line-height:1}.admin-page-head p{color:var(--text-secondary);margin-top:11px;font-size:15px}.admin-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px;display:grid}.admin-summary-grid article{border:1px solid var(--border);background:#fff;border-radius:16px;gap:5px;padding:18px;display:grid}.admin-summary-grid span{color:var(--text-secondary);font-size:12px;font-weight:700}.admin-summary-grid strong{letter-spacing:-.04em;font-size:28px;line-height:1}.admin-summary-grid small{color:var(--text-muted);font-size:12px}.admin-workspace{border:1px solid var(--border);background:#fff;border-radius:20px;grid-template-columns:minmax(0,1fr) minmax(0,3fr);min-height:640px;margin-top:20px;display:grid;overflow:hidden;box-shadow:0 12px 36px #1835670d}.admin-member-list{border-right:1px solid var(--border);grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.admin-list-head{border-bottom:1px solid var(--border);gap:14px;padding:18px;display:grid}.admin-list-head>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-list-head h2{font-size:18px}.admin-list-head>div>span{color:var(--text-muted);font-size:12px}.admin-search{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:7px;min-height:38px;padding:7px 9px;display:flex}.admin-search .material-symbols-rounded{color:var(--text-muted);font-size:18px}.admin-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.admin-member-scroll{min-height:0;overflow:auto}.admin-member-row{width:100%;color:var(--ink);text-align:left;background:#fff;border:0;border-bottom:1px solid #eef1f5;grid-template-columns:36px minmax(0,1fr) auto;align-items:start;gap:10px;padding:14px 16px;display:grid}.admin-member-row:hover,.admin-member-row.active{background:#f2f6ff}.admin-member-row.active{box-shadow:inset 3px 0 0 var(--brand)}.admin-member-row.owner{background:#f8fbff}.admin-member-row.owner.active{background:#f2f6ff}.admin-member-avatar{width:36px;height:36px;color:var(--brand-active);background:var(--brand-soft);border-radius:11px;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:inline-flex}.admin-member-row>span:nth-child(2){gap:2px;min-width:0;display:grid}.admin-member-row strong,.admin-member-row small,.admin-member-row em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-member-row strong{font-size:13px}.admin-member-row small{color:var(--text-secondary);font-size:11px}.admin-member-row em{color:var(--text-muted);font-size:11px;font-style:normal}.admin-member-row>i{color:#16815b;min-width:34px;padding-top:3px;font-size:10px;font-style:normal;font-weight:800}.admin-member-row>i.suspended{color:#b54708}.admin-owner-chip{vertical-align:1px;color:#08469f;background:#e7f0ff;border-radius:5px;margin-left:5px;padding:2px 5px;font-size:9px;font-weight:800;display:inline-flex}.admin-detail-pane{background:#fbfcff;min-width:0;min-height:0;overflow:auto}.admin-detail-loading,.admin-no-family{min-height:100%;color:var(--text-muted);text-align:center;align-content:center;place-items:center;gap:10px;padding:36px;display:grid}.admin-detail-loading .material-symbols-rounded,.admin-no-family .material-symbols-rounded{color:var(--brand);font-size:30px}.admin-no-family>div{max-width:330px}.admin-no-family h2{color:var(--ink);margin-top:8px;font-size:24px}.admin-no-family p{margin-top:9px;font-size:14px;line-height:1.6}.admin-member-detail{flex-direction:column;min-height:100%;display:flex}.admin-member-detail-head{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:flex-start;gap:18px;padding:28px 28px 24px;display:flex}.admin-member-detail-head h1{letter-spacing:-.04em;margin-top:8px;font-size:29px}.admin-member-detail-head p{color:var(--text-secondary);margin-top:7px;font-size:12px}.admin-detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.admin-status-button.active{color:#b54708;background:#fffaeb;border-color:#fedf89}.admin-status-button.suspended{color:#067647;background:#ecfdf3;border-color:#abefc6}.admin-owner-label{vertical-align:middle;color:#08469f;letter-spacing:0;background:#e7f0ff;border-radius:7px;margin-left:8px;padding:4px 7px;font-size:11px;font-style:normal;font-weight:800;display:inline-flex}.admin-owner-status{color:#08469f;background:#e7f0ff;border:1px solid #b7d1ff;border-radius:11px;align-items:center;gap:6px;min-height:42px;padding:9px 12px;font-size:12px;font-weight:800;display:inline-flex}.admin-owner-status .material-symbols-rounded{font-size:17px}.admin-family-switcher{border-bottom:1px solid var(--border);background:#fff;gap:6px;padding:12px 28px;display:flex}.admin-family-switcher button{min-height:32px;color:var(--text-secondary);background:var(--surface);border:0;border-radius:8px;padding:7px 10px;font-size:12px}.admin-family-switcher button.active{color:var(--brand-active);background:var(--brand-soft);font-weight:700}.admin-folder-layout{flex:1;grid-template-columns:minmax(180px,.33fr) minmax(0,.67fr);min-height:390px;display:grid}.admin-folder-tree{border-right:1px solid var(--border);background:#f4f7fc;align-content:start;gap:5px;padding:16px 10px;display:grid}.admin-folder-tree>button,.admin-folder-tree-group>button{width:100%;min-height:36px;color:var(--text-secondary);text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 8px;font-size:12px;display:grid}.admin-folder-tree button:hover,.admin-folder-tree button.active{color:var(--brand-active);background:#fff;box-shadow:0 1px 4px #17305812}.admin-folder-tree .material-symbols-rounded{font-size:18px}.admin-folder-tree button>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-folder-tree button>i{color:var(--brand-active);background:var(--brand-soft);border-radius:5px;padding:2px 5px;font-size:9px;font-style:normal;font-weight:700}.admin-folder-tree-group{gap:2px;padding-top:10px;display:grid}.admin-folder-tree-group>span{color:var(--text-muted);letter-spacing:.04em;align-items:center;gap:5px;padding:0 8px 5px;font-size:10px;font-weight:800;display:flex}.admin-folder-tree-group>span .material-symbols-rounded{font-size:15px}.admin-folder-content{background:#fff;min-width:0;padding:24px}.admin-detail-heading{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.admin-detail-heading>div>span{color:var(--brand-active);letter-spacing:.06em;font-size:11px;font-weight:800}.admin-detail-heading h2{letter-spacing:-.045em;margin-top:6px;font-size:25px}.admin-detail-heading p{color:var(--text-secondary);margin-top:7px;font-size:12px}.admin-data-badge{min-height:30px;color:var(--brand-active);background:var(--brand-soft);border-radius:8px;align-items:center;gap:4px;padding:6px 8px;font-size:11px;font-weight:700;display:inline-flex}.admin-data-badge .material-symbols-rounded{font-size:15px}.admin-guardian-grid,.admin-child-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:22px;display:grid}.admin-guardian-grid article,.admin-child-profile-grid article{background:#f8faff;border:1px solid #e8edf7;border-radius:11px;gap:5px;padding:13px;display:grid}.admin-guardian-grid span,.admin-child-profile-grid span{color:var(--text-muted);font-size:11px}.admin-guardian-grid strong,.admin-child-profile-grid strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.admin-structure-note{background:#f1f6ff;border:1px solid #dceafe;border-radius:12px;align-items:flex-start;gap:10px;margin-top:20px;padding:14px;display:flex}.admin-structure-note>.material-symbols-rounded{color:var(--brand);font-size:21px}.admin-structure-note strong{font-size:13px}.admin-structure-note p{color:var(--text-secondary);margin-top:4px;font-size:12px;line-height:1.5}.admin-period-active{color:var(--brand-active);background:var(--brand-soft);border-color:var(--brand-border);flex:none}.admin-period-active.current{color:#067647;background:#ecfdf3;border-color:#abefc6}.admin-period-editor{grid-template-columns:minmax(0,1fr) minmax(118px,.55fr) minmax(118px,.55fr);gap:8px;margin-top:22px;display:grid}.admin-period-editor label{gap:5px;display:grid}.admin-period-editor span{color:var(--text-secondary);font-size:11px;font-weight:700}.admin-period-editor input{width:100%;min-height:39px;color:var(--ink);border:1px solid var(--border-strong);background:#fff;border-radius:9px;padding:7px 9px;font-size:12px}.admin-period-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.admin-period-summary>div{background:#f8faff;border-radius:10px;align-items:center;gap:7px;padding:11px 9px;display:flex}.admin-period-summary .material-symbols-rounded{color:var(--brand);font-size:18px}.admin-period-summary span{color:var(--text-secondary);font-size:11px}.admin-period-summary b{color:var(--ink)}.admin-folder-child-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:18px;display:grid}.admin-child-folder{min-width:0;color:var(--ink);border:1px solid var(--border);text-align:left;background:#fff;border-radius:11px;grid-template-columns:32px minmax(0,1fr) 18px;align-items:center;gap:8px;padding:11px;display:grid}.admin-child-folder:hover{border-color:var(--brand-border);background:var(--brand-soft)}.admin-child-folder>span{width:32px;height:32px;color:var(--brand-active);background:var(--brand-soft);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.admin-child-folder .material-symbols-rounded{font-size:19px}.admin-child-folder>div{gap:2px;min-width:0;display:grid}.admin-child-folder strong,.admin-child-folder small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-child-folder strong{font-size:12px}.admin-child-folder small{color:var(--text-muted);font-size:10px}.admin-child-folder>.material-symbols-rounded{color:var(--text-muted);font-size:18px}.admin-academy-folder-list{gap:8px;margin-top:20px;display:grid}.admin-academy-folder-list article{border:1px solid var(--border);background:#fff;border-radius:10px;grid-template-columns:34px minmax(0,1fr) minmax(110px,.6fr);align-items:center;gap:9px;padding:11px;display:grid}.admin-academy-folder-icon{color:#86620a;background:#fff7dc;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.admin-academy-folder-icon .material-symbols-rounded{font-size:20px}.admin-academy-folder-list article>div{gap:3px;min-width:0;display:grid}.admin-academy-folder-list strong,.admin-academy-folder-list small,.admin-academy-folder-list article>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-academy-folder-list strong{font-size:12px}.admin-academy-folder-list small,.admin-academy-folder-list article>span:last-child{color:var(--text-muted);font-size:10px}.admin-folder-back{flex:none}.admin-empty-state{min-height:130px;color:var(--text-muted);border:1px dashed var(--border-strong);text-align:center;background:#fbfcff;border-radius:12px;align-content:center;place-items:center;gap:7px;padding:18px;font-size:12px;display:grid}.admin-empty-state .material-symbols-rounded{color:var(--brand);font-size:25px}.admin-save-bar{border-top:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:14px 28px;display:flex}.admin-save-bar>span{color:var(--text-secondary);font-size:12px}.admin-save-bar .admin-primary-action{width:auto;min-width:152px}@media (width<=980px){.admin-main{width:min(100% - 32px,900px);padding-top:28px}.admin-workspace{grid-template-columns:minmax(220px,1fr) minmax(0,3fr)}.admin-folder-layout{grid-template-columns:165px minmax(0,1fr)}.admin-member-detail-head{padding:22px}.admin-folder-content{padding:20px}.admin-save-bar{padding:14px 20px}}@media (width<=720px){.admin-login-shell{padding:16px}.admin-login-card{border-radius:23px;padding:28px 22px}.admin-login-card h1{font-size:30px}.admin-topbar{min-height:60px;padding:10px 16px}.admin-topbar>div>span{display:none}.admin-main{width:100%;padding:26px 16px 42px}.admin-page-head{flex-direction:column;align-items:flex-start;gap:16px}.admin-page-head h1{font-size:36px}.admin-page-head .admin-export-button{width:100%}.admin-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}.admin-summary-grid article{padding:14px}.admin-workspace{border-radius:16px;min-height:0;display:block;overflow:visible}.admin-member-list{border-right:0;border-bottom:1px solid var(--border);height:296px}.admin-detail-pane{min-height:480px;overflow:visible}.admin-member-detail-head{flex-direction:column;padding:20px 16px}.admin-detail-actions{justify-content:stretch;width:100%}.admin-detail-actions>button{flex:1;padding-inline:8px}.admin-folder-layout{min-height:0;display:block}.admin-folder-tree{border-right:0;border-bottom:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:12px}.admin-folder-tree>button,.admin-folder-tree-group>button{min-height:34px;padding:7px}.admin-folder-tree-group{display:contents}.admin-folder-tree-group>span{display:none}.admin-folder-content{padding:18px 16px}.admin-detail-heading h2{font-size:22px}.admin-period-editor{grid-template-columns:1fr 1fr}.admin-period-editor label:first-child{grid-column:1/-1}.admin-period-summary,.admin-folder-child-grid{grid-template-columns:1fr}.admin-academy-folder-list article{grid-template-columns:34px minmax(0,1fr)}.admin-academy-folder-list article>span:last-child{grid-column:2}.admin-save-bar{padding:13px 16px}.admin-save-bar>span{display:none}.admin-save-bar .admin-primary-action{width:100%}.admin-guardian-grid,.admin-child-profile-grid{grid-template-columns:1fr}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
