@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Caveat:wght@500;600&display=swap";@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}:root{color-scheme:light;--bg:#f5efe2;--bg-surface:#faf7f1;--ink:#11231e;--ink-soft:#6b7e78;--ink-faint:#94a5a0;--panel:#fffdf9eb;--line:#11231e0f;--line-strong:#11231e1f;--modal-backdrop:#11231e73;--sunset:#b9572b;--sunset-light:#b9572b14;--teal:#17696f;--teal-light:#17696f12;--teal-mid:#17696f24;--gold:#a57a16;--berry:#7a2f52;--status-success:#0f6b45;--status-success-bg:#0f6b451a;--status-success-border:#0f6b4538;--status-warning:#8a4f00;--status-warning-bg:#a35c0014;--status-warning-border:#a35c0038;--status-danger:var(--berry);--status-danger-bg:#7a2f5214;--status-danger-border:#7a2f5238;--status-info:var(--teal);--status-info-bg:var(--teal-light);--status-info-border:var(--teal-mid);--status-neutral:var(--ink-soft);--status-neutral-bg:#11231e0d;--status-neutral-border:var(--line-strong);--shadow-xs:0 1px 2px #11231e0a;--shadow-sm:0 1px 3px #11231e08, 0 6px 16px #11231e0a;--shadow:0 2px 4px #11231e05, 0 8px 24px #11231e0f;--shadow-md:0 4px 6px #11231e08, 0 16px 40px #11231e14;--shadow-lg:0 8px 16px #11231e0a, 0 24px 56px #11231e1a;--shadow-focus:0 0 0 3px #17696f2e;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:999px;--ease:cubic-bezier(.22, 1, .36, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--sidebar-item-gap:4px}*{box-sizing:border-box}body{min-height:100vh;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:.01em;margin:0;font-family:Outfit,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5}a{color:inherit}button,input,select,textarea{font:inherit;letter-spacing:inherit}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:600;line-height:1.15}h1{font-weight:700}p{color:var(--ink-soft);line-height:1.6}:root{--checkbox-size:18px}input[type=checkbox]{appearance:none;width:var(--checkbox-size);height:var(--checkbox-size);min-width:var(--checkbox-size);border:1.5px solid var(--line-strong);background:var(--bg-surface);cursor:pointer;min-height:0;transition:background .15s var(--ease),border-color .15s var(--ease);vertical-align:middle;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}input[type=checkbox]:checked{background:var(--teal);border-color:var(--teal)}input[type=checkbox]:checked:after{content:"";width:calc(var(--checkbox-size) * .28);height:calc(var(--checkbox-size) * .5);border:2px solid #fff;border-top:none;border-left:none;display:block;transform:rotate(45deg)translateY(-1px)}input[type=checkbox]:focus-visible{box-shadow:var(--shadow-focus);outline:none}input[type=checkbox]:disabled{opacity:.45;cursor:not-allowed}table tbody tr{transition:background .16s var(--ease)}table tbody tr:hover{background:var(--teal-light)}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}input[type=radio]{appearance:none;width:var(--checkbox-size);height:var(--checkbox-size);min-width:var(--checkbox-size);border:1.5px solid var(--line-strong);background:var(--bg-surface);cursor:pointer;min-height:0;transition:background .15s var(--ease),border-color .15s var(--ease);vertical-align:middle;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}input[type=radio]:checked{border-color:var(--teal);background:var(--bg-surface);border-width:5px}input[type=radio]:focus-visible{box-shadow:var(--shadow-focus);outline:none}input[type=radio]:disabled{opacity:.45;cursor:not-allowed}:root{--sb-track:10px;--sb-inset:3px;--sb-thumb:#11231e42;--sb-thumb-strong:#11231e6b}.pchr{--sb-thumb:#ffffff4d;--sb-thumb-strong:#ffffff7a}*{scrollbar-width:thin;scrollbar-color:transparent transparent}[data-scrolling]{scrollbar-color:var(--sb-thumb) transparent}::-webkit-scrollbar{width:var(--sb-track);height:var(--sb-track)}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{border:var(--sb-inset) solid transparent;border-radius:var(--radius-pill);background-color:#0000;background-clip:content-box;transition:background-color .24s}[data-scrolling]::-webkit-scrollbar-thumb{background-color:var(--sb-thumb)}:is(div,aside,nav,section,main,article,ul,ol,table,form,fieldset,pre,textarea,dialog,tbody):hover::-webkit-scrollbar-thumb{background-color:var(--sb-thumb)}::-webkit-scrollbar-thumb:hover{background-color:var(--sb-thumb-strong)}::-webkit-scrollbar-thumb:active{background-color:var(--sb-thumb-strong)}@media(prefers-reduced-motion:reduce){::-webkit-scrollbar-thumb{transition:none}}.screen-shell{min-height:100vh;padding:12px}.auth-shell{grid-template-columns:1.2fr 1fr;align-items:center;gap:32px;display:grid}.portal-shell{gap:12px;display:grid}.admin-shell{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.admin-shell-sidebar-pinned{grid-template-columns:264px minmax(0,1fr)}.admin-main,.admin-content,.admin-profile-sections{gap:8px;display:grid}.admin-profile-sections{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-main{min-width:0}.admin-main-with-shell-control{position:relative}.admin-content{align-content:start}.admin-sidebar-shell-controls{z-index:30;gap:8px;width:fit-content;display:flex;position:absolute;top:4px;left:0}.admin-main-with-shell-control .page-container>.page-header:first-child,.admin-main-with-shell-control .page-container>.page-header-tight:first-child{align-items:center;min-height:32px;padding-left:60px}.admin-main-with-shell-control .admin-content>.portal-drawer-header:first-child{align-content:center;min-height:48px;padding-left:60px}.portal-app-header-extra{flex:none;align-items:center;display:flex}.cmd-trigger{border-radius:var(--radius-sm);border:1.5px solid var(--line-strong);height:36px;color:var(--ink-faint);cursor:pointer;transition:all .16s var(--ease);white-space:nowrap;letter-spacing:.01em;background:#11231e08;align-items:center;gap:10px;min-width:180px;padding:0 14px;font-size:.8rem;font-weight:500;display:inline-flex}.cmd-trigger:hover{background:var(--teal-light);border-color:var(--teal-mid);color:var(--teal);transform:translateY(-1px);box-shadow:0 2px 8px #17696f1a}.cmd-trigger:active{transform:translateY(0)}.portal-sidebar-extra .cmd-trigger{width:100%;min-width:0;display:flex}.cmd-trigger .cmd-search-icon{flex-shrink:0;width:15px;height:15px}.cmd-trigger-label{text-align:left;flex:1}.cmd-trigger-kbd{color:var(--ink-faint);background:#11231e0f;border:1px solid #11231e1a;border-radius:6px;align-items:center;gap:2px;padding:2px 6px;font-family:inherit;font-size:.7rem;font-weight:600;line-height:1;display:inline-flex}.cmd-fab{display:none}@media(max-width:960px){.cmd-fab{z-index:39;border-radius:var(--radius-pill);background:var(--teal);color:#fff;cursor:pointer;width:48px;height:48px;transition:all .18s var(--ease);border:none;justify-content:center;align-items:center;display:flex;position:fixed;bottom:80px;right:16px;box-shadow:0 4px 16px #17696f59,0 1px 4px #17696f33}.cmd-fab:hover{transform:scale(1.08);box-shadow:0 6px 24px #17696f6b}.cmd-fab:active{transform:scale(.94)}.cmd-fab svg{width:20px;height:20px}}.cmd-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);animation:cmd-overlay-in .18s var(--ease) both;background:#11231e47;justify-content:center;align-items:flex-start;padding:80px 16px 16px;display:flex;position:fixed;inset:0}@keyframes cmd-overlay-in{0%{opacity:0}to{opacity:1}}.cmd-dialog{border:1px solid var(--line-strong);border-radius:var(--radius-xl);width:100%;max-width:580px;box-shadow:var(--shadow-lg),0 0 0 1px #fff6 inset;max-height:calc(100vh - 120px);animation:cmd-dialog-in .22s var(--ease) both;background:#fffdf9f7;flex-direction:column;display:flex;overflow:hidden}@keyframes cmd-dialog-in{0%{opacity:0;transform:translateY(-12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.cmd-search-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px;display:flex}.cmd-search-icon{width:18px;height:18px;color:var(--ink-faint);flex-shrink:0}.cmd-filter-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 16px;display:flex}.cmd-filter-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-right:2px;font-size:.62rem;font-weight:700}.cmd-filter-chip{appearance:none;border:1px solid var(--line-strong);color:var(--ink);cursor:pointer;transition:background .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease);background:0 0;border-radius:999px;padding:3px 11px;font-family:inherit;font-size:.72rem;font-weight:600}.cmd-filter-chip:hover{border-color:var(--sunset);color:var(--sunset)}.cmd-filter-chip-active,.cmd-filter-chip-active:hover{background:var(--sunset);border-color:var(--sunset);color:#fff}.cmd-search-input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;width:100%;padding:0;font-size:.97rem;font-weight:400;line-height:1.4}.cmd-search-input::placeholder{color:var(--ink-faint)}.cmd-search-clear{border-radius:var(--radius-xs);width:26px;height:26px;color:var(--ink-soft);cursor:pointer;transition:all .14s var(--ease);background:#11231e0f;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.cmd-search-clear:hover{color:var(--ink);background:#11231e1a}.cmd-results{flex:1;padding:8px 8px 12px;overflow-y:auto}.cmd-section-label{letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:6px;padding:10px 10px 4px;font-size:.66rem;font-weight:700;display:flex}.cmd-section-label svg{flex-shrink:0;width:12px;height:12px}.cmd-item{border-radius:var(--radius-sm);width:100%;color:var(--ink);text-align:left;cursor:pointer;transition:background .12s var(--ease),transform .12s var(--ease);background:0 0;border:none;align-items:center;gap:12px;padding:9px 10px;text-decoration:none;display:flex;position:relative}.cmd-item:hover{background:var(--teal-light)}.cmd-item-active{background:var(--teal-light);outline:none}.cmd-item-active:before{content:"";border-radius:var(--radius-pill);background:var(--teal);width:3px;height:60%;min-height:18px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.cmd-item-icon{border-radius:var(--radius-xs);flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.8rem;font-weight:700;display:flex}.cmd-item-icon-student{color:var(--teal);background:#17696f1a}.cmd-item-icon-staff{color:var(--gold);background:#a35c001a}.cmd-item-icon-guardian{color:var(--berry);background:#7a2f521a}.cmd-item-icon-application{color:var(--ink-soft);background:#11231e12}.cmd-item-icon svg{width:16px;height:16px}.cmd-item-body{flex:1;min-width:0}.cmd-item-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;line-height:1.3;display:block;overflow:hidden}.cmd-match{color:inherit;background:#f59e0b47;border-radius:2px;padding:0 1px}.cmd-item-meta{color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.72rem;display:block;overflow:hidden}.cmd-item-arrow{width:16px;height:16px;color:var(--ink-faint);opacity:0;transition:opacity .12s var(--ease);flex-shrink:0}.cmd-item:hover .cmd-item-arrow,.cmd-item-active .cmd-item-arrow{opacity:1}.cmd-empty{color:var(--ink-faint);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:36px 16px;font-size:.84rem;display:flex}.cmd-empty svg{opacity:.4;width:28px;height:28px;margin-bottom:4px}.cmd-footer{border-top:1px solid var(--line);color:var(--ink-faint);align-items:center;gap:16px;padding:8px 14px;font-size:.68rem;display:flex}.cmd-footer-hint{align-items:center;gap:5px;display:inline-flex}.cmd-footer-kbd{background:#11231e0f;border:1px solid #11231e1a;border-radius:5px;align-items:center;padding:1px 5px;font-family:inherit;font-size:.66rem;font-weight:600;line-height:1.6;display:inline-flex}.page-container{gap:6px;min-width:0;display:grid}.page-container>*{min-width:0}.page-header{justify-content:space-between;align-items:end;gap:12px;display:flex}.page-header-tight{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.page-header-tight h2{margin:0;font-size:1.05rem;line-height:1.2}.page-header-tight .admin-inline-meta{color:var(--ink-soft);align-items:baseline;gap:4px;font-size:.82rem;display:inline-flex}.page-header-tight .admin-inline-meta strong{color:var(--ink)}.page-header-tight .page-header-spacer{flex:auto}.page-header-tight .admin-filter-input{flex:0 280px;width:260px}.page-title-with-meta{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);margin:0 0 4px;font-size:.68rem;font-weight:600}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);min-width:0;transition:box-shadow .22s var(--ease),border-color .22s var(--ease)}.auth-panel,.panel-center,.section-card,.empty-state{padding:12px}.panel-center{text-align:center;max-width:480px;margin:0 auto}.collapsible-panel-body{padding:14px}.section-card-header,.stack-item-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-card-header{align-items:start}.section-card h2{margin:0 0 3px}.badge{border-radius:var(--radius-pill);letter-spacing:.02em;background:#11231e0d;align-items:center;padding:3px 10px;font-size:.74rem;font-weight:600;display:inline-flex}.badge-success{background:var(--status-success-bg);color:var(--status-success)}.badge-danger,.badge-berry{background:var(--status-danger-bg);color:var(--status-danger)}.badge-warning{background:var(--status-warning-bg);color:var(--status-warning)}.badge-info{background:var(--status-info-bg);color:var(--status-info)}.badge-neutral{background:var(--status-neutral-bg)}input,select,textarea{border-radius:var(--radius-sm);border:1.5px solid var(--line);width:100%;color:var(--ink);transition:all .2s var(--ease);background:#fff;padding:12px 16px}input::placeholder,textarea::placeholder{color:var(--ink-faint)}input:hover,select:hover,textarea:hover{border-color:#17696f40}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:var(--shadow-focus);outline:none}input,select{min-height:48px}input[type=checkbox],input[type=radio]{min-height:0}textarea{resize:vertical;min-height:100px;line-height:1.55}.primary-button,.ghost-button{border-radius:var(--radius-pill);cursor:pointer;transition:all .2s var(--ease);text-align:center;border:0;justify-content:center;align-items:center;padding:10px 22px;font-size:.86rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.primary-button{background:var(--sunset);color:#fff;box-shadow:0 2px 8px #b9572b33}.primary-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #b9572b47}.primary-button:active{transform:translateY(0)scale(.97);box-shadow:0 1px 4px #b9572b26}.primary-button:disabled{opacity:.5;cursor:default;box-shadow:none;transform:none}.ghost-button{color:var(--ink);background:#11231e0d}.ghost-button:hover{background:#11231e17;transform:translateY(-1px)}.ghost-button:active{background:#11231e1f;transform:translateY(0)scale(.97)}.ghost-button:disabled{opacity:.45;cursor:default;transform:none}.text-link{color:var(--teal);transition:all .16s var(--ease);font-weight:500;text-decoration:none}.text-link:hover{opacity:.75}button.text-link{align-items:center;min-height:44px;display:inline-flex}.form-error{color:var(--berry);font-size:.86rem}.form-help{color:var(--ink-soft);margin:0;font-size:.86rem}.text-muted{color:var(--ink-soft)}.form-success{color:#0f6b45;font-size:.86rem}.form-warning{color:#92400e;border-radius:var(--radius-xs);background:#fef3c7;border:1px solid #f59e0b;margin:0;padding:6px 10px;font-size:.86rem}.stat-grid,.detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.stat-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{border-radius:var(--radius-sm);color:#fff;transition:all .22s var(--ease);gap:4px;padding:12px 14px;display:grid}.stat-card:hover{transform:translateY(-3px);box-shadow:0 10px 32px #11231e33}.stat-card:active{transform:translateY(-1px)}.stat-card strong{font-size:1.4rem}.stat-card p{color:#ffffffc7;margin:0;font-size:.82rem}.stat-card-detail{align-content:start}.stat-card-sunset{background:var(--sunset);box-shadow:0 4px 14px #b9572b33}.stat-card-teal{background:var(--teal);box-shadow:0 4px 14px #17696f33}.stat-card-gold{background:var(--gold);box-shadow:0 4px 14px #a57a1633}.stat-card-berry{background:var(--berry);box-shadow:0 4px 14px #7a2f5233}.detail-grid p,.stack-item p{margin:0}.list-row,.stack-item{border-radius:var(--radius-md);border:1px solid var(--line);transition:all .2s var(--ease);background:#fff;gap:5px;padding:14px 16px;display:grid}.list-row:hover,.stack-item:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.list-row{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center}.list-row strong{font-variant-numeric:tabular-nums}.empty-state .primary-button{width:fit-content}.spinner{border:3px solid #17696f1a;border-top-color:var(--teal);border-radius:50%;width:32px;height:32px;margin:0 auto 12px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.role-switcher{flex-shrink:0;position:relative}.role-switcher-trigger{all:unset;box-sizing:border-box;cursor:pointer;border:1px solid var(--line-strong);border-radius:var(--radius-sm);max-width:100%;height:36px;color:var(--ink,#11231e);white-space:nowrap;background:#11231e0a;align-items:center;gap:7px;padding:0 10px;font-size:.8rem;font-weight:600;line-height:1;transition:background .15s,border-color .15s;display:inline-flex}.role-switcher-trigger:hover:not(:disabled){border-color:var(--teal,#17696f);background:#11231e12}.role-switcher-trigger:focus-visible{outline:2px solid var(--teal,#17696f);outline-offset:2px}.role-switcher-trigger:disabled{opacity:.6;cursor:progress}.role-switcher-trigger>svg:first-child{color:var(--teal,#17696f);flex-shrink:0}.role-switcher-current{text-overflow:ellipsis;overflow:hidden}.role-switcher-chevron{color:var(--ink-soft);flex-shrink:0;transition:transform .15s}.role-switcher-trigger[aria-expanded=true] .role-switcher-chevron{transform:rotate(180deg)}.role-switcher-scrim{z-index:1200;position:fixed;inset:0}.role-switcher-menu{z-index:1201;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:#fff;padding:6px;position:fixed;box-shadow:0 12px 28px #11231e29}.role-switcher-menu[data-measuring]{visibility:hidden;pointer-events:none;width:288px;top:0;left:0}.role-switcher-menu-head{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:0;padding:6px 10px 8px;font-size:.68rem;font-weight:700}.role-switcher-option{all:unset;box-sizing:border-box;cursor:pointer;border-radius:var(--radius-sm);align-items:center;gap:10px;width:100%;padding:9px 10px;transition:background .12s;display:flex}.role-switcher-option:hover,.role-switcher-option:focus-visible{background:#11231e0d}.role-switcher-option:focus-visible{outline:2px solid var(--teal,#17696f);outline-offset:-2px}.role-switcher-option-icon{width:30px;height:30px;color:var(--teal,#17696f);background:#17696f1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.role-switcher-option-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.role-switcher-option-copy strong{color:var(--ink,#11231e);font-size:.85rem;font-weight:600;line-height:1.2}.role-switcher-option-sub{color:var(--ink-muted);font-size:.72rem;line-height:1.3}.role-switcher-option-current .role-switcher-option-icon{background:var(--teal,#17696f);color:#fff}.role-switcher-tick{color:var(--teal,#17696f);flex-shrink:0}.role-switcher-scrim-sheet{background:#11231e73}.role-switcher-menu-sheet{width:auto;top:auto;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));border-radius:var(--radius-lg,16px);padding:8px;box-shadow:0 -6px 32px #11231e3d}.role-switcher-menu-sheet .role-switcher-option{padding:12px 10px}.role-switcher-menu-sheet .role-switcher-option-copy strong{font-size:.92rem}.role-switcher-menu-sheet .role-switcher-option-sub{font-size:.78rem}.rich-text-editor{border-radius:var(--radius-md);transition:border-color .18s var(--ease);background:#fff;border:1.5px solid #11231e24;position:relative;overflow:hidden}.rich-text-editor-bar{border:1px solid var(--line-strong);background:#fffdf8;border-radius:20px;overflow:visible;box-shadow:0 6px 20px #11231e14}.rich-text-editor-bar:focus-within{border-color:var(--teal,#17696f)}.rich-text-editor-bar .rich-text-content{min-height:42px;max-height:38vh;padding:10px 16px;font-size:.88rem;line-height:1.5;overflow-y:auto}.rte-bubble{z-index:40;background:var(--ink,#11231e);border-radius:999px;gap:2px;padding:4px;animation:.14s ease-out both rte-bubble-in;display:inline-flex;position:absolute;transform:translate(-50%,calc(-100% - 8px));box-shadow:0 10px 26px #11231e4d}.rte-bubble-btn{color:#ffffffdb;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.86rem;transition:background .14s,color .14s;display:inline-flex}.rte-bubble-btn:hover{color:#fff;background:#ffffff2e}.rte-bubble-btn.is-active{color:var(--ink);background:#fff}@keyframes rte-bubble-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.rte-bubble{animation:none}}.rich-text-editor:focus-within{border-color:var(--teal,#17696f)}.rich-text-toolbar{background:#11231e05;border-bottom:1px solid #11231e14;gap:2px;padding:6px 8px;display:flex}.rich-text-btn{cursor:pointer;border-radius:var(--radius-xs);width:28px;height:28px;color:var(--ink-soft);transition:background .14s var(--ease),color .14s var(--ease);background:0 0;border:0;justify-content:center;align-items:center;font-size:.9rem;display:flex}.rich-text-btn:hover{color:var(--ink);background:#11231e12}.rich-text-btn.is-active{color:var(--ink);background:#11231e1a}.rich-text-content{min-height:80px;color:var(--ink);cursor:text;padding:10px 12px;font-size:.9rem;line-height:1.6}.rich-text-content .tiptap{outline:none}.rich-text-content .tiptap p{color:var(--ink);margin:0}.rich-text-content .tiptap p+p{margin-top:6px}.rich-text-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--ink-faint);pointer-events:none;float:left;height:0}.form-label{color:var(--ink-soft);margin-bottom:6px;font-size:.82rem;font-weight:500;display:block}.form-control{border-radius:var(--radius-sm);border:1.5px solid var(--line);width:100%;color:var(--ink);min-height:48px;transition:all .2s var(--ease);background:#fff;padding:12px 16px}.form-control:hover{border-color:#17696f40}.form-control:focus{border-color:var(--teal);box-shadow:var(--shadow-focus);outline:none}.copy-chip{flex-wrap:wrap;align-items:center;gap:6px;width:fit-content;max-width:100%;display:inline-flex}.copy-chip-inline{margin-top:2px}.copy-chip-value{max-width:100%;color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;align-items:center;font-size:.78rem;display:inline-flex;overflow:hidden}.copy-chip-button{border-radius:var(--radius-pill);background:var(--teal-light);width:26px;height:26px;color:var(--teal);cursor:pointer;transition:all .16s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.copy-chip-button:hover:not(:disabled){background:var(--teal-mid);transform:scale(1.1)}.copy-chip-button:active:not(:disabled){transform:scale(.95)}.copy-chip-button:disabled{cursor:default;opacity:.4}.copy-chip-status{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-sidebar-nav,.admin-sidebar-account,.admin-sidebar-account-copy{gap:18px;display:grid}.admin-sidebar{z-index:60;width:min(300px,100vw - 40px);min-width:0;max-height:calc(100vh - 40px);transition:transform .32s var(--ease);align-content:start;gap:14px;padding:22px 16px;position:fixed;top:20px;bottom:20px;left:20px;overflow-y:auto;transform:translate(calc(-100% - 32px))}.admin-shell-sidebar-pinned .admin-sidebar{width:100%;height:fit-content;max-height:none;position:sticky;bottom:auto;left:auto;transform:translate(0)}.admin-tab-panel h3{margin:0}.admin-sidebar-link{border-radius:var(--radius-sm);color:var(--ink);transition:all .2s var(--ease);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:12px;min-height:44px;padding:11px 14px;font-size:.93rem;font-weight:500;text-decoration:none;display:flex}.admin-sidebar-link-icon{opacity:.85;flex:0 0 20px;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.admin-sidebar-link-icon svg{width:100%;height:100%}.admin-sidebar-link-active .admin-sidebar-link-icon{opacity:1}.admin-sidebar-link-label{flex:auto;min-width:0}.admin-sidebar-link:hover{background:var(--teal-light);border-color:var(--line-strong);box-shadow:var(--shadow-xs);transform:translate(3px)}.admin-sidebar-link:active{transform:translate(2px)scale(.985)}.admin-sidebar-link-active{background:var(--teal-mid);color:var(--teal);border-color:#0000;font-weight:500}.admin-sidebar-nav .admin-sidebar-group{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);gap:6px;padding:12px 10px;display:grid}.admin-sidebar-group-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin:4px 8px 6px;font-size:.66rem;font-weight:500}.admin-sidebar-toolbar .eyebrow,.portal-sidebar-heading .eyebrow{margin:0}.portal-sidebar-extra{padding:4px 0 8px}.admin-menu-button,.admin-sidebar-close-button,.admin-sidebar-icon-button{border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;min-height:44px;padding:0 12px}.admin-menu-button{color:#fff;background:var(--ink);box-shadow:var(--shadow-sm);transition:all .2s var(--ease);border:0;gap:8px;font-size:.85rem;font-weight:500;display:inline-flex}.admin-menu-button:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.admin-menu-button:active{box-shadow:var(--shadow-xs);transform:translateY(0)}.admin-menu-button,.admin-menu-button span,.admin-menu-button svg{color:#fff}.admin-menu-button svg,.admin-sidebar-close-button svg,.admin-sidebar-icon-button svg{width:26px;height:26px}.admin-sidebar-toolbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.admin-sidebar-toolbar[hidden]{display:none}.admin-sidebar-icon-button{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);width:44px;height:44px;color:var(--ink);transition:all .18s var(--ease);padding:0;display:inline-flex}.admin-sidebar-icon-button:hover{background:var(--teal-light);transform:scale(1.04)}.admin-sidebar-icon-button:active{transform:scale(.96)}.admin-sidebar-icon-button.ghost-button{border-radius:var(--radius-pill);border:1.5px solid var(--line-strong);width:44px;height:44px;padding:0;overflow:visible}.admin-sidebar-shell-menu-button{color:var(--ink);background:var(--bg-surface)}.admin-sidebar-icon-button-active{background:var(--teal-mid);color:var(--teal)}.admin-sidebar-account{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md);gap:14px;margin-top:auto;padding:16px}.admin-sidebar-account-copy{gap:3px}.admin-sidebar-account-label{color:var(--ink-faint);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:500}.admin-sidebar-signout{width:100%}.admin-drawer-backdrop{z-index:45;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .25s var(--ease-out);background:#0b16134d;border:0;padding:0;position:fixed;inset:0}.admin-drawer-backdrop-visible{opacity:1;pointer-events:auto}.admin-sidebar-open{transform:translate(0)}.portal-sidebar .admin-sidebar-nav{gap:var(--sidebar-item-gap)!important}.portal-sidebar .admin-sidebar-account{margin-top:var(--sidebar-item-gap)!important;gap:10px!important;padding:14px!important}.portal-sidebar{flex-direction:column;display:flex}.admin-search-label{color:var(--ink-soft)}.admin-search-form{min-width:min(100%,360px)}.admin-search-label{color:var(--ink-soft);margin-bottom:6px;font-size:.82rem;font-weight:500;display:block}.admin-filter-bar{z-index:10;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;padding:16px 20px;display:flex;position:relative}.admin-filter-field{flex:180px;gap:6px;min-width:180px;display:grid}.admin-filter-bar>label,.admin-filter-bar>.admin-filter-field,.admin-filter-bar>.admin-teaching-group-filter,.admin-filter-bar>button{flex:180px}.admin-filter-hint{grid-column:1/-1;margin:0}.admin-inline-meta{justify-items:end;display:grid}.admin-inline-meta span{color:var(--ink-soft)}.admin-filter-bar-compact{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-filter-bar-compact .admin-filter-hint{width:100%;color:var(--ink-soft);margin:4px 0 0;font-size:.8rem}.admin-filter-input,.admin-filter-select{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);width:auto;min-width:0;min-height:34px;transition:border-color .14s var(--ease),box-shadow .14s var(--ease);background:#fff;flex:none;padding:7px 11px;font-family:inherit;font-size:.84rem}.admin-filter-input{width:200px}.admin-filter-select{width:160px}.admin-filter-input:focus,.admin-filter-select:focus{border-color:var(--teal);box-shadow:var(--shadow-focus);outline:none}.admin-filter-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2311231e' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;padding-right:28px}.admin-filter-bar-compact>input,.admin-filter-bar-compact>label>input,.admin-filter-bar-compact>label>select,.admin-filter-bar-compact>select{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);background:#fff;flex:none;width:180px;min-width:0;min-height:34px;padding:7px 11px;font-family:inherit;font-size:.84rem}.admin-filter-bar-compact>input:focus,.admin-filter-bar-compact>label>input:focus,.admin-filter-bar-compact>label>select:focus,.admin-filter-bar-compact>select:focus{border-color:var(--teal);box-shadow:var(--shadow-focus);outline:none}.admin-filter-bar-compact .admin-teaching-group-filter{flex:none;gap:0;width:200px;min-width:0}.admin-filter-bar-compact .admin-teaching-group-filter-trigger{border-width:1.5px;min-height:34px;padding:6px 12px;font-size:.84rem}.admin-filter-bar-compact .admin-teaching-group-filter-value{font-size:.84rem}@media(max-width:760px){.admin-filter-bar-compact{gap:6px}.admin-filter-input,.admin-filter-select,.admin-filter-bar-compact>input,.admin-filter-bar-compact>label>input,.admin-filter-bar-compact>label>select,.admin-filter-bar-compact>select,.admin-filter-bar-compact .admin-teaching-group-filter{width:100%;min-width:0}}.admin-teaching-group-filter{gap:6px;display:grid;position:relative}.admin-teaching-group-filter-trigger{border-radius:var(--radius-sm);border:1.5px solid var(--line);width:100%;min-height:48px;color:var(--ink);text-align:left;cursor:pointer;transition:all .2s var(--ease);background:#fff;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.admin-teaching-group-filter-trigger:hover{border-color:var(--teal);box-shadow:var(--shadow-sm)}.admin-teaching-group-filter-trigger:focus-visible{border-color:var(--teal);box-shadow:var(--shadow-focus);outline:none}.admin-teaching-group-filter-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.9rem;display:block;overflow:hidden}.admin-teaching-group-filter-caret{color:var(--ink-faint);flex:none;font-size:.9rem;line-height:1}.admin-teaching-group-filter-actions,.admin-teaching-group-filter-panel-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-teaching-group-filter-panel-actions{border-bottom:1px solid var(--line);gap:8px;margin-top:0;padding:4px 10px 6px;font-size:.76rem}.admin-teaching-group-filter-link-action{color:var(--teal);cursor:pointer;transition:opacity .14s var(--ease);background:0 0;border:0;padding:0;font-size:.82rem;font-weight:500}.admin-teaching-group-filter-link-action:hover:not(:disabled),.admin-teaching-group-filter-link-action:focus-visible:not(:disabled){outline:none;text-decoration:underline}.admin-teaching-group-filter-link-action:disabled{color:var(--ink-faint);cursor:default;text-decoration:none}.admin-teaching-group-filter-link-action-strong{font-weight:500}.admin-teaching-group-filter-panel{z-index:1201;border-radius:var(--radius-md);border:1px solid var(--line);box-shadow:var(--shadow-md);background:#fff;gap:2px;padding:8px;display:grid;position:fixed}.admin-teaching-group-filter-panel[data-measuring]{visibility:hidden;pointer-events:none;width:280px;top:0;left:0}.admin-teaching-group-filter-panel-sheet{width:auto;top:auto;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));border-radius:var(--radius-lg,16px);box-shadow:0 -6px 32px #11231e3d}.admin-teaching-group-filter-panel-sheet .admin-teaching-group-filter-options{max-height:min(50vh,320px)}.admin-teaching-group-filter-search{gap:0;display:grid}.admin-teaching-group-filter-search input{border-radius:var(--radius-xs);min-height:32px;padding:6px 12px;font-size:.82rem}.admin-teaching-group-filter-options{flex-direction:column;max-height:min(220px,100vh - 360px);display:flex;overflow:auto}.admin-teaching-group-filter-option,.admin-teaching-group-select-option{border-radius:var(--radius-xs);text-align:left;cursor:pointer;width:100%;transition:background .12s var(--ease);background:0 0;border:none;align-items:center;gap:8px;padding:6px 10px;font-size:.84rem;line-height:1.5;display:flex}.admin-teaching-group-filter-option:hover,.admin-teaching-group-select-option:hover{background:var(--teal-light)}.admin-teaching-group-select-option-active,.admin-teaching-group-filter-option:has(input:checked){background:var(--teal-mid)}.admin-teaching-group-filter-option{--checkbox-size:14px}.admin-teaching-group-filter-empty{color:var(--ink-faint);margin:0;padding:6px 10px;font-size:.82rem}.admin-teaching-group-checklist{gap:6px;display:grid}.admin-teaching-group-checklist-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-teaching-group-checklist-search{border-radius:var(--radius-xs);flex:220px;min-width:0;min-height:32px;padding:6px 12px;font-size:.84rem}.admin-teaching-group-checklist-options{border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;max-height:260px;padding:4px;display:flex;overflow-y:auto}.admin-teaching-group-checklist-option{border-radius:var(--radius-xs);cursor:pointer;transition:background .12s var(--ease);align-items:center;gap:10px;padding:7px 10px;font-size:.84rem;line-height:1.4;display:flex}.admin-teaching-group-checklist-option:hover{background:var(--teal-light)}.admin-teaching-group-checklist-option:has(input:checked){background:var(--teal-mid)}.admin-teaching-group-checklist-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.admin-teaching-group-checklist-name{font-weight:500}.admin-active-filters,.admin-active-filters-header,.admin-active-filters-list{flex-wrap:wrap;gap:8px;display:flex}.admin-active-filters{background:0 0;border-radius:0;align-items:center;padding:0}.admin-active-filters:empty{display:none}.admin-active-filters-header{align-items:center}.admin-active-filters-list{flex:320px}.admin-active-filters-clear{cursor:pointer;background:0 0;border:0;padding:0}.admin-active-filter-chip{border-radius:var(--radius-pill);background:var(--teal-light);min-height:34px;transition:background .14s var(--ease);border:1px solid #17696f1f;align-items:center;gap:6px;padding:5px 12px;font-size:.84rem;display:inline-flex}.admin-active-filter-chip:hover{background:var(--teal-mid)}.admin-active-filter-chip-label{color:var(--ink-soft)}.admin-active-filter-chip-remove{color:var(--teal);cursor:pointer;background:0 0;border:0;margin-left:4px;padding:0;font-size:.82rem;font-weight:500}.admin-active-filter-chip-remove:hover,.admin-active-filter-chip-remove:focus-visible,.admin-active-filters-clear:hover,.admin-active-filters-clear:focus-visible{outline:none;text-decoration:underline}.admin-saved-filters{display:inline-block;position:relative}.admin-saved-filters-toggle{align-items:center;gap:6px;font-size:.84rem;display:inline-flex}.admin-saved-filters-caret{color:var(--ink-faint);font-size:.7rem}.admin-saved-filters-panel{z-index:40;border-radius:var(--radius-md);border:1px solid var(--line);width:min(320px,100vw - 24px);box-shadow:var(--shadow-md);background:#fff;flex-direction:column;gap:0;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.admin-saved-filters-list{max-height:280px;margin:0;padding:6px 0;list-style:none;overflow-y:auto}.admin-saved-filters-item{justify-content:space-between;align-items:center;gap:8px;padding:2px 8px 2px 4px;display:flex}.admin-saved-filters-item:hover{background:var(--teal-light)}.admin-saved-filters-apply{text-align:left;cursor:pointer;min-width:0;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;flex:auto;padding:7px 10px;font-size:.88rem;overflow:hidden}.admin-saved-filters-apply:hover{color:var(--teal)}.admin-saved-filters-item-actions{flex-shrink:0;gap:4px;font-size:.78rem;display:flex}.admin-saved-filters-rename{flex-direction:column;flex:1;gap:4px;padding:6px 4px;display:flex}.admin-saved-filters-rename-input,.admin-saved-filters-name-input{border:1px solid var(--line);border-radius:var(--radius-xs);width:100%;color:var(--ink);padding:5px 8px;font-family:inherit;font-size:.88rem}.admin-saved-filters-rename-actions,.admin-saved-filters-save-actions{gap:8px;font-size:.78rem;display:flex}.admin-saved-filters-footer{border-top:1px solid var(--line);padding:8px 12px}.admin-saved-filters-save-form{flex-direction:column;gap:6px;display:flex}.admin-saved-filters-empty{color:var(--ink-soft);margin:0;padding:12px 14px;font-size:.84rem}.admin-saved-filters-error{color:var(--sunset);margin:0;font-size:.8rem}.admin-table-shell{width:100%;min-width:0;position:relative;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-compact-table{font-size:.88rem}.admin-compact-table th,.admin-compact-table td{vertical-align:middle;padding:7px 10px}.admin-compact-table td strong{font-size:.92rem}.admin-table-sort-button{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;white-space:nowrap;transition:color .16s var(--ease);background:0 0;border:0;align-items:center;gap:5px;margin:0;padding:0;display:inline-flex}.admin-table-sort-button:hover,.admin-table-sort-button:focus-visible{color:var(--teal);outline:none}.admin-table-sort-arrow{opacity:.65;font-size:.82em}.admin-table-row-link{color:inherit;transition:color .16s var(--ease);text-decoration:none}.admin-table-row-link:hover,.admin-table-row-link:focus-visible{color:var(--teal);outline:none}.admin-table-cell-stack{gap:1px;display:grid}.admin-table-cell-secondary{color:var(--ink-soft);font-size:.82rem}.admin-table-cell-tertiary{color:var(--ink-faint);font-size:.74rem}.admin-table td span{color:var(--ink-soft)}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--line);padding:8px 12px}.admin-table td{vertical-align:top}.admin-table tbody tr{transition:all .16s var(--ease)}.admin-table tbody tr.is-clickable,.admin-table tbody tr.admin-table-row-clickable,.admin-table tbody tr:has(.admin-table-row-link){cursor:pointer}.admin-table tbody tr:hover,.admin-table tbody tr:focus-visible{background:var(--teal-light);outline:none;box-shadow:0 2px 10px #11231e12}.admin-table tbody tr:active{background:var(--teal-mid)}.admin-table-actions{flex-wrap:wrap;gap:4px;display:flex}.admin-table-cell-wide{min-width:220px}.admin-table-actions-header{white-space:nowrap;width:1%}.admin-table tfoot .admin-table-totals-row td{background:var(--admin-card-soft,#11231e08);white-space:nowrap;border-top:2px solid #11231e29;font-weight:600}.admin-attendance-rates{flex-direction:column;gap:8px;display:flex}.admin-attendance-rate-item{background:#11231e08;border-radius:6px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.admin-attendance-rate-label{font-size:.9rem;font-weight:500}.admin-attendance-rate-stat{align-items:center;gap:10px;display:flex}.admin-table-row-clickable{cursor:pointer}.atd-detail-row{flex-wrap:wrap;gap:20px;display:flex}.atd-detail-item{flex-direction:column;gap:4px;display:flex}.atd-detail-item span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:.74rem}.atd-detail-item strong{color:var(--ink);font-size:.95rem;font-weight:500}.atd-detail-section{gap:6px;display:grid}.atd-detail-label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:.74rem}.atd-detail-notes{color:var(--ink);margin:0;font-size:.9rem}.atd-detail-history{gap:6px;display:grid}.atd-detail-history-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding:5px 0;font-size:.86rem;display:flex}.atd-detail-history-row:last-child{border-bottom:none}.atd-detail-history-row span{color:var(--ink-soft)}.atd-detail-history-row strong{color:var(--ink);text-align:right;font-weight:500}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form-shell{border-radius:var(--radius-xl);border:1px solid var(--line);background:#ffffff59;gap:14px;padding:20px}.admin-form-section{grid-column:1/-1;gap:3px;padding:0;display:grid}.admin-form-section h4,.admin-form-section p{margin:0}.admin-form-section h4{font-size:.92rem}.admin-form-section p{color:var(--ink-soft);max-width:64ch}.admin-form-field{border-radius:var(--radius-md);border:1px solid var(--line);box-shadow:none;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);background:#fff;align-content:start;gap:8px;padding:14px;display:grid}.admin-form-field:focus-within{box-shadow:var(--shadow-sm);border-color:#17696f4d}.admin-form-field>span{color:var(--ink-faint);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:500}.admin-form-field>span.form-help,.admin-modal .admin-form-field>span.form-help,.admin-portal-root .admin-form-field>span.form-help{color:var(--ink-soft);letter-spacing:normal;text-transform:none;font-size:.78rem;font-weight:400}.admin-form-shell .form-help,.admin-form-shell .form-error,.admin-form-shell .form-success{margin:0}.admin-form-full{grid-column:1/-1}.admin-form-actions{border-top:1px solid var(--line);flex-wrap:wrap;grid-column:1/-1;justify-content:end;align-items:center;gap:10px;margin-top:4px;padding-top:14px;display:flex}.admin-combobox{display:grid;position:relative}.admin-combobox-panel{z-index:60;background:var(--bg-surface,#fff);border:1px solid var(--line-strong);border-radius:var(--radius-md);max-height:216px;box-shadow:var(--shadow-lg);padding:4px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.admin-combobox-option{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 10px;display:block}.admin-combobox-option:hover,.admin-combobox-option-active{background:#17696f14}.admin-form-flat{background:0 0;border:none;gap:20px;padding:4px 0 0}.admin-form-flat .admin-form-section{border-bottom:1px solid var(--line);gap:0;margin-bottom:4px;padding:0 0 8px}.admin-form-flat .admin-form-section h4{color:var(--ink-faint);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:500}.admin-form-flat .admin-form-section p{display:none}.admin-form-flat .admin-form-field{box-shadow:none;background:0 0;border:none;align-content:start;gap:6px;padding:0;display:grid}.admin-form-flat .admin-form-field:focus-within{box-shadow:none;border:none}.admin-form-flat .admin-form-field>span{color:var(--ink-faint);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:500}.admin-form-flat .admin-form-field input,.admin-form-flat .admin-form-field select,.admin-form-flat .admin-form-field textarea{border:1px solid var(--line);background:#fff9;border-radius:6px;min-height:36px;padding:9px 12px;font-size:.92rem}.admin-form-flat .admin-form-field input:focus,.admin-form-flat .admin-form-field select:focus,.admin-form-flat .admin-form-field textarea:focus{border-color:var(--teal,#17696f);outline:none;box-shadow:0 0 0 2px #17696f1f}.admin-form-flat .admin-form-actions{border-top:1px solid var(--line);margin-top:4px;padding-top:16px}.admin-checkbox{align-items:center;gap:10px;margin:10px 0;display:flex}.admin-checkbox input[type=checkbox]{margin:0}.admin-note-audience-options{gap:8px;display:grid}.admin-note-audience-option{border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s var(--ease),background .15s var(--ease);background:#ffffff8c;align-items:start;gap:10px;padding:10px 12px;display:flex}.admin-note-audience-option:hover{border-color:var(--line-strong)}.admin-note-audience-option-selected{border-color:var(--teal);background:#17696f0d}.admin-note-audience-option input[type=radio]{flex-shrink:0;margin-top:2px}.admin-note-audience-option-text{gap:2px;display:grid}.admin-note-audience-option-text strong{letter-spacing:normal;text-transform:none;font-size:.88rem;font-weight:600}.admin-note-audience-share{margin:4px 0 0}.admin-note-audience-warning{border:1px solid var(--status-warning-border);border-radius:var(--radius-md);background:var(--status-warning-bg);color:var(--status-warning);margin:0;padding:10px 12px;font-size:.84rem;line-height:1.45}.admin-merge-prompt{border:1px solid var(--status-warning-border);border-radius:var(--radius-md);background:var(--status-warning-bg);grid-column:1/-1;padding:12px 14px;font-size:.86rem;line-height:1.5}.admin-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.admin-pagination-summary{gap:2px;display:grid}.admin-pagination-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-pagination-page-size{align-items:center;gap:8px;display:flex}.admin-pagination-page-size select{width:auto;min-width:80px}.admin-pagination-buttons{flex-wrap:wrap;gap:6px;display:flex}.admin-form-fieldset{border:1px solid var(--line);border-radius:8px;grid-column:1/-1;margin:0;padding:12px 16px 8px}.admin-form-fieldset-legend{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;margin:0;padding:0 6px;font-size:.75rem;font-weight:600}.admin-agreement-form-years{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-agreement-form-years-label{color:var(--ink-soft);font-size:.8rem}.admin-agreement-form-summary{border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--admin-card-soft,#11231e08);color:var(--ink-soft);flex-wrap:wrap;align-items:baseline;gap:4px 18px;padding:10px 14px;font-size:.85rem;display:flex}.admin-agreement-form-summary strong{color:var(--ink);font-variant-numeric:tabular-nums}.admin-agreement-form-summary-math{color:var(--ink-faint,var(--ink-soft));font-size:.78rem}.admin-agreement-billing-computed{align-items:center;gap:6px;display:flex}.admin-agreement-billing-computed input{flex:1 1 0;min-width:0}.admin-agreement-billing-computed input[disabled]{background:var(--admin-card-soft,#11231e0a);color:var(--ink-soft);cursor:not-allowed;opacity:.85}.agr-picker{position:relative}.agr-picker-button{width:100%;min-height:40px;font:inherit;text-align:left;color:var(--ink,#11231e);border:1px solid var(--line-strong,#11231e29);border-radius:var(--radius-md,10px);cursor:pointer;background:#fff;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:.9rem;display:flex}.agr-picker-button:hover{border-color:#11231e52}.agr-picker-button:focus-visible{outline:2px solid var(--teal,#17696f);outline-offset:1px}.agr-picker-button>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.agr-picker-button>svg{color:var(--ink-soft,#4a5f58);flex:none}.agr-picker-menu{z-index:20;border:1px solid var(--line-strong,#11231e29);border-radius:var(--radius-md,10px);background:#fff;max-height:260px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px -12px #11231e47}.agr-picker-row{border-radius:8px;align-items:stretch;gap:2px;display:flex}.agr-picker-row.is-active{background:#11696f14}.agr-picker-row.is-selected .agr-picker-choose{font-weight:600}.agr-picker-choose{min-width:0;font:inherit;text-align:left;color:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:8px;flex:auto;padding:9px 10px;font-size:.88rem;overflow:hidden}.agr-picker-open{width:32px;color:var(--ink-faint,#7b8c85);border-radius:8px;flex:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.agr-picker-open:hover{background:var(--teal,#17696f);color:#fff}.agr-picker-open:focus-visible{outline:2px solid var(--teal,#17696f);outline-offset:-2px}.admin-agreement-weeks-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-agreement-weeks-summary p{color:var(--ink-soft,#4a5f58);margin:0;font-size:.86rem}.admin-agreement-weeks-actions{gap:14px;margin-top:12px;display:flex}.admin-agreement-weeks-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;max-height:224px;margin-top:8px;padding:2px;display:grid;overflow-y:auto}.admin-agreement-week-option{border:1px solid var(--line-strong,#11231e24);cursor:pointer;--checkbox-size:16px;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:.84rem;display:inline-flex}.admin-agreement-week-option:hover{border-color:var(--teal,#11231e4d)}.admin-payment-agreement-static strong{overflow-wrap:anywhere;font-size:.92rem;font-weight:500;line-height:1.45}.admin-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(10px);background:#0b16136b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.admin-modal{background:var(--bg-surface);border-radius:var(--radius-xl);border:1px solid var(--line-strong);width:min(1040px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow-lg);grid-template-rows:auto 1fr;display:grid;overflow:hidden}.admin-modal-compact{width:min(560px,100%)}.admin-modal-wide{width:min(880px,100%)}.admin-modal-xwide{width:min(1100px,100%)}.admin-modal:focus{outline:none}.admin-modal:focus-visible{outline:2px solid var(--teal,#11231e);outline-offset:2px}.admin-modal-header{justify-content:space-between;align-items:start;gap:14px;padding:24px 24px 12px;display:flex}.admin-modal-header-actions{flex-wrap:wrap;justify-content:end;align-items:start;gap:8px;display:flex}.admin-modal-header h3{margin:0 0 3px;font-size:1.25rem}.admin-modal-header p{color:var(--ink-soft);max-width:54ch;margin:0;line-height:1.5}.admin-modal-body{gap:12px;padding:0 24px 24px;display:grid;overflow:auto}.admin-modal-message,.admin-modal-loading{margin:0}.admin-school-drilldown-form{grid-template-columns:minmax(220px,1fr) auto;align-items:start;gap:10px;display:grid}.admin-school-drilldown-form select{min-width:0}.attn-set-group{gap:6px;display:grid}.attn-set-group>h4{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin:0;font-size:.68rem;font-weight:600}.attn-set-row{border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:2px 10px;padding:8px 10px;display:grid}.attn-set-row label{cursor:pointer;display:contents}.attn-set-row input[type=checkbox]{margin-top:2px}.attn-set-row-name{color:var(--ink);font-size:.88rem;font-weight:500}.attn-set-row-desc{color:var(--ink-faint);grid-column:2;font-size:.72rem;line-height:1.4}.attn-set-row.is-locked{opacity:.6}.attn-set-row.is-locked label{cursor:default}.attn-set-nums{border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:10px;display:flex}.attn-set-num{gap:4px;width:92px;display:grid}.attn-set-num>span{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-size:.68rem;font-weight:600}.attn-set-num input{text-align:center;font-variant-numeric:tabular-nums;width:100%;min-height:0;padding:6px 10px}.attn-set-nums-say{min-width:180px;color:var(--ink-soft);flex:200px;padding-bottom:6px;font-size:.8rem;line-height:1.45}.attn-set-nums-say strong{color:var(--ink)}.attn-set-foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding-top:12px;display:flex}.attn-set-foot-spacer{flex:auto}@media(max-width:560px){.attn-set-nums-say{flex-basis:100%;padding-bottom:0}}.admin-profile-sections{gap:12px;display:grid}.admin-profile-hero,.admin-header-profile{gap:12px;display:flex}.admin-profile-hero{flex-wrap:wrap}.admin-student-shell-header{align-items:start}.admin-student-shell-copy{gap:5px;display:grid}.admin-student-shell-address,.admin-student-shell-id,.admin-info-item-secondary{color:var(--ink-soft);margin:0;font-size:.86rem}.admin-student-shell-context{color:var(--ink-soft);flex-wrap:wrap;gap:8px;margin:0;font-size:.86rem;display:flex}.admin-student-shell-context strong{color:var(--ink)}.admin-profile-hero>div,.admin-info-item,.admin-tab-panel{border-radius:var(--radius-md);border:1px solid var(--line);transition:border-color .2s var(--ease),box-shadow .2s var(--ease);background:#fff;padding:14px}.admin-profile-hero>div:hover,.admin-info-item:hover{border-color:var(--line-strong);box-shadow:var(--shadow-xs)}.admin-profile-hero>div{gap:5px;min-width:180px;display:grid}.admin-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-finance-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.admin-info-item{gap:5px;display:grid}.admin-info-item strong{font-weight:500}.admin-info-item-wide{grid-column:1/-1}.admin-info-item span,.admin-profile-hero span{color:var(--ink-soft)}.admin-header-profile{flex-wrap:wrap;align-items:center}.admin-student-identity{gap:2px;display:grid}.admin-student-identity .copy-chip-value{color:var(--ink);font-size:.95rem;font-weight:500}.admin-student-class-cell strong{font-size:.9rem;font-weight:500}.admin-student-class-cell .admin-table-cell-secondary{font-size:.8rem}.admin-profile-dense{gap:8px;display:grid}.admin-profile-dense .section-card{padding:10px 14px}.admin-profile-dense .section-card-header{margin:0 0 4px}.admin-profile-dense .section-card-header h2{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:0;font-size:.72rem;font-weight:600}.admin-profile-dense .section-card-header p{display:none}.admin-profile-dense .admin-info-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 18px}.admin-profile-dense .admin-info-item{transition:background .12s var(--ease);background:0 0;border:0;border-bottom:1px solid #11231e0f;border-radius:0;grid-template-columns:minmax(90px,35%) 1fr;align-items:baseline;gap:10px;padding:5px 0;display:grid}.admin-profile-dense .admin-info-item:hover{box-shadow:none;background:#11231e05;border:0;border-bottom:1px solid #11231e0f}.admin-profile-dense .admin-info-item span{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:.7rem;font-weight:500}.admin-profile-dense .admin-info-item strong{color:var(--ink);font-size:.88rem;font-weight:500}.admin-profile-dense .admin-info-item-wide,.admin-profile-dense .admin-info-item.admin-info-item-stacked{grid-template-columns:1fr;gap:2px;display:grid}.admin-profile-dense-contacts{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:4px 24px;display:grid}.admin-profile-dense-contacts>div{min-width:0}.admin-profile-dense-contacts .eyebrow{letter-spacing:.08em;color:var(--ink-faint);margin:0 0 2px;font-size:.62rem}.admin-summary-widgets{gap:16px;display:grid}.admin-summary-stat-row{align-items:center;gap:24px;display:flex}.admin-summary-big-stat{flex-direction:column;gap:4px;min-width:80px;display:flex}.admin-summary-big-value{color:var(--ink);font-size:2.4rem;font-weight:600;line-height:1}.admin-summary-big-label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem}.admin-summary-mini-stats{flex-wrap:wrap;gap:20px;display:flex}.admin-summary-mini-stat{flex-direction:column;gap:3px;min-width:44px;display:flex}.admin-summary-mini-value{color:var(--ink);font-size:1.4rem;font-weight:500;line-height:1}.admin-summary-mini-value-present{color:var(--teal)}.admin-summary-mini-value-absent{color:var(--sunset)}.admin-summary-mini-label{color:var(--ink-faint);font-size:.74rem}.admin-summary-absence-rule{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:20px;margin-top:16px;padding-top:14px;display:flex}.admin-summary-absence-controls{flex-wrap:wrap;gap:12px;display:flex}.admin-summary-absence-controls label{flex-direction:column;gap:4px;display:flex}.admin-summary-absence-controls label span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:.74rem}.admin-summary-absence-controls input[type=number]{border-radius:var(--radius-sm);border:1px solid var(--line);width:64px;color:var(--ink);background:var(--bg-surface);padding:5px 8px;font-size:.9rem}.admin-summary-absence-result{align-items:baseline;gap:8px;display:flex}.admin-summary-absence-result strong{font-size:1.6rem;font-weight:600;line-height:1}.admin-summary-absence-result span{color:var(--ink-soft);font-size:.82rem}.admin-summary-absence-result-ok strong{color:var(--teal)}.admin-summary-absence-result-alert strong{color:var(--sunset)}.admin-summary-absence-flag{font-weight:500;color:var(--sunset)!important;font-size:.78rem!important}.admin-summary-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-summary-finance-item{gap:4px;display:grid}.admin-summary-finance-item span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.admin-summary-finance-item strong{color:var(--ink);font-size:1rem;font-weight:500}.admin-summary-finance-item-wide{grid-column:1/-1}.admin-summary-finance-note{color:var(--ink-soft);margin-top:2px;font-size:.82rem}.admin-finance-widget-stack{gap:14px;display:grid}.admin-finance-widget-amounts{flex-wrap:wrap;gap:24px;display:flex}.admin-finance-widget-amount-item{flex-direction:column;gap:3px;min-width:80px;display:flex}.admin-finance-widget-amount-item span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:.74rem}.admin-finance-widget-amount-item strong{color:var(--ink);font-size:1.1rem;font-weight:600;line-height:1.2}.admin-finance-widget-notes-row{border-top:1px solid var(--line);flex-wrap:wrap;gap:20px;padding-top:12px;display:flex}.admin-finance-widget-note-item{flex-direction:column;flex:1;gap:3px;min-width:180px;display:flex}.admin-finance-widget-note-item span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:.74rem}.admin-finance-widget-note-item strong{color:var(--ink);font-size:.9rem;font-weight:500}.admin-finance-widget-inline-note{color:var(--ink-soft);font-style:normal;font-weight:400}.lt-result-pass{color:var(--teal)}.lt-result-fail{color:var(--sunset)}.admin-attendance-status-present{color:var(--teal)}.admin-attendance-status-absent{color:var(--sunset)}.lt-widget-form-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.lt-widget-form-label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;min-width:44px;font-size:.74rem}.lt-widget-form-hint{color:var(--ink-faint);font-size:.72rem}.lt-form-dots{align-items:center;gap:6px;display:flex}.lt-form-dot{border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.95rem;font-weight:600;line-height:1;display:inline-flex}.lt-form-dot-pass{background:var(--teal)}@supports (color:color-mix(in lab,red,red)){.lt-form-dot-pass{background:color-mix(in srgb,var(--teal) 12%,white)}}.lt-form-dot-pass{color:var(--teal);border-color:var(--teal)}.lt-form-dot-fail{background:var(--sunset)}@supports (color:color-mix(in lab,red,red)){.lt-form-dot-fail{background:color-mix(in srgb,var(--sunset) 12%,white)}}.lt-form-dot-fail{color:var(--sunset);border-color:var(--sunset)}.lt-form-dot-neutral{background:var(--bg-surface);color:var(--ink-faint);border-color:var(--line)}.lt-form-dot-empty{color:var(--ink-faint);border-color:var(--line);background:0 0;border-style:dashed;font-size:1.1rem}.lt-widget-latest{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:20px;margin-bottom:14px;padding:12px 0;display:flex}.lt-widget-latest-item{flex-direction:column;gap:3px;display:flex}.lt-widget-latest-item span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:.74rem}.lt-widget-latest-item strong{color:var(--ink);font-size:.96rem;font-weight:500}.lt-widget-window{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.lt-widget-window-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lt-widget-window-label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;font-size:.74rem}.lt-widget-window-tabs{align-items:center;gap:4px;display:flex}.lt-window-tab{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-surface);color:var(--ink-soft);cursor:pointer;padding:5px 12px;font-size:.78rem;line-height:1;transition:background .15s,color .15s,border-color .15s}.lt-window-tab:hover{border-color:var(--teal);color:var(--teal);background:var(--teal-light)}.lt-window-tab-active{background:var(--teal);color:#fff;border-color:var(--teal)}.lt-widget-window-stats{align-items:center;gap:16px;display:flex}.lt-widget-window-stat{flex-direction:column;align-items:flex-start;gap:2px;min-width:36px;display:flex}.lt-widget-window-stat strong{font-size:1.3rem;font-weight:600;line-height:1}.lt-widget-window-stat span{color:var(--ink-faint);font-size:.74rem}.lt-widget-window-stat-btn{border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;padding:5px 10px;transition:border-color .15s,background .15s}.lt-widget-window-stat-btn:hover{border-color:var(--line);background:var(--bg-surface)}.lt-widget-window-stat-btn:hover span{color:var(--ink-soft)}.lt-drilldown-modal{width:100%;max-width:680px}.lt-drilldown-table{border-collapse:collapse;width:100%;font-size:.86rem}.lt-drilldown-table th{text-align:left;border-bottom:2px solid var(--line);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);padding:8px 10px;font-size:.74rem}.lt-drilldown-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 10px}.lt-drilldown-table tr:last-child td{border-bottom:none}.lt-drilldown-notes{max-width:220px;color:var(--ink-soft)}.lt-drilldown-row-clickable{cursor:pointer}.lt-drilldown-row-clickable:hover td{background:var(--bg-surface)}.lt-drilldown-row-open td{background:var(--teal)}@supports (color:color-mix(in lab,red,red)){.lt-drilldown-row-open td{background:color-mix(in srgb,var(--teal) 5%,white)}}.lt-drilldown-detail-row td{border-bottom:1px solid var(--line);padding:0}.lt-drilldown-detail{background:var(--teal);flex-wrap:wrap;gap:16px;padding:10px 14px 12px;display:flex}@supports (color:color-mix(in lab,red,red)){.lt-drilldown-detail{background:color-mix(in srgb,var(--teal) 4%,white)}}.lt-drilldown-detail-item{flex-direction:column;gap:2px;min-width:80px;display:flex}.lt-drilldown-detail-item span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.lt-drilldown-detail-item strong{color:var(--ink);font-size:.85rem;font-weight:500}.admin-classes-widget-list{gap:8px;display:grid}.admin-classes-widget-row{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-surface);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.admin-classes-widget-name{flex-direction:column;flex:1;gap:5px;display:flex}.admin-classes-widget-name strong{color:var(--ink);font-size:.9rem;font-weight:500}.admin-classes-widget-badge-inactive{background:var(--bg-surface);border:1px solid var(--line);color:var(--ink-faint);text-transform:capitalize;border-radius:99px;padding:2px 7px;font-size:.72rem}.admin-audit-table-wrapper{overflow-x:auto}.admin-audit-table{border-collapse:collapse;width:100%;font-size:.85rem}.admin-audit-table th{text-align:left;border-bottom:2px solid var(--line);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);white-space:nowrap;padding:8px 10px;font-size:.74rem}.admin-audit-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 10px}.admin-audit-table tr:last-child td{border-bottom:none}.admin-audit-cell-time{white-space:nowrap;color:var(--ink-soft);font-size:.82rem}.admin-audit-entity-label{color:var(--ink);font-size:.82rem}.admin-audit-action{text-transform:uppercase;letter-spacing:.04em;border-radius:99px;padding:2px 8px;font-size:.74rem;font-weight:500;display:inline-block}.admin-audit-action-create{background:var(--teal)}@supports (color:color-mix(in lab,red,red)){.admin-audit-action-create{background:color-mix(in srgb,var(--teal) 12%,white)}}.admin-audit-action-create{color:var(--teal)}.admin-audit-action-update,.admin-audit-action-patch{background:var(--teal)}@supports (color:color-mix(in lab,red,red)){.admin-audit-action-update,.admin-audit-action-patch{background:color-mix(in srgb,var(--teal) 12%,white)}}.admin-audit-action-update,.admin-audit-action-patch{color:var(--teal)}.admin-audit-action-delete{background:var(--sunset)}@supports (color:color-mix(in lab,red,red)){.admin-audit-action-delete{background:color-mix(in srgb,var(--sunset) 12%,white)}}.admin-audit-action-delete{color:var(--sunset)}.admin-audit-impersonator{color:var(--sunset);align-items:baseline;gap:4px;margin-top:3px;font-size:.74rem;line-height:1.35;display:flex}.admin-audit-impersonator strong{overflow-wrap:anywhere;font-weight:600}.admin-audit-changes{gap:4px;margin-top:8px;display:grid}.admin-audit-change-row{flex-wrap:wrap;align-items:baseline;gap:6px;font-size:.8rem;display:flex}.admin-audit-change-key{color:var(--ink);min-width:80px;font-weight:500}.admin-audit-change-from{color:var(--sunset);text-overflow:ellipsis;white-space:nowrap;max-width:160px;text-decoration:line-through;overflow:hidden}.admin-audit-change-arrow{color:var(--ink-faint)}.admin-audit-change-to{color:var(--teal);text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.admin-payment-edit-summary{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--bg-surface);gap:8px;padding:14px;display:grid}.admin-student-shell-header{flex-direction:column;gap:10px;display:flex}.admin-student-shell-back-row{justify-content:flex-end;display:flex}.admin-student-shell-cards{flex-wrap:wrap;align-items:stretch;gap:16px;display:flex}.admin-student-shell-copy{border:1px solid var(--line);border-radius:var(--radius-md);min-width:240px;box-shadow:var(--shadow-xs);background:#fff;flex:280px;align-content:start;gap:4px;padding:12px 16px;display:grid}.admin-student-shell-copy h2,.admin-student-shell-copy .eyebrow{margin:0}.admin-student-shell-badges{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.admin-student-shell-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.admin-student-shell-action{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--ink);transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease),transform .1s var(--ease);cursor:pointer;align-items:center;gap:8px;padding:8px 14px;font-size:.86rem;font-weight:500;text-decoration:none;display:inline-flex}.admin-student-shell-action:hover,.admin-student-shell-action:focus-visible{background:var(--teal-light);border-color:var(--teal-mid);color:var(--teal);outline:none;transform:translateY(-1px)}.admin-student-shell-action:active{transform:translateY(0)}.admin-student-shell-action>span:first-child{font-size:1rem;line-height:1}.admin-student-shell-badge{border-radius:var(--radius-pill);letter-spacing:.01em;cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:4px;padding:2px 10px;font-size:.74rem;font-weight:500;text-decoration:none;transition:background .14s,border-color .14s,color .14s;display:inline-flex}.admin-student-shell-badge:hover{text-decoration:underline}.admin-student-shell-badge-static{cursor:default;opacity:.85}.admin-student-shell-badge-static:hover{text-decoration:none}.admin-student-shell-badge-boy{color:#2f4d77;background:#4c75a31f;border-color:#4c75a340}.admin-student-shell-badge-girl{color:#8a3559;background:#c75f841f;border-color:#c75f8440}.admin-student-shell-badge-status{color:var(--teal);background:#17696f1a;border-color:#17696f38}.admin-student-shell-badge-schedule{color:#806012;background:#a57a161a;border-color:#a57a1640}.admin-student-shell-badge-neutral{color:var(--ink-soft);background:#11231e0f;border-color:#11231e1f}.admin-student-identity-name{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-sibling-indicator{cursor:default;align-items:center;font-size:.85rem;line-height:1;display:inline-flex}.admin-family-panel{border:1px solid var(--line);border-radius:var(--radius-md);min-width:260px;max-width:480px;box-shadow:var(--shadow-xs);background:#fff;flex:320px;margin:0;padding:12px 16px}.admin-family-panel-head{margin-bottom:6px}.admin-family-panel-eyebrow{text-transform:uppercase;letter-spacing:.05em;color:var(--ink);font-size:.72rem;font-weight:500}.admin-family-panel-meta{color:var(--ink-soft);font-size:.78rem}.admin-family-panel-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.admin-family-panel-item{border-bottom:1px dashed var(--line);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:baseline;gap:8px;padding:4px 0;font-size:.82rem;display:grid}.admin-family-panel-item:last-child{border-bottom:none}.admin-family-panel-name{font-weight:500}.admin-family-panel-class{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.admin-family-panel-status{white-space:nowrap;font-size:.76rem;font-weight:500}.admin-family-panel-status-ok{color:var(--teal)}.admin-family-panel-status-due{color:var(--sunset)}.admin-family-panel-status-muted{color:var(--ink-faint);font-weight:400}.admin-family-panel-former{color:var(--ink-faint);margin:6px 0 0;font-size:.76rem;font-style:italic}.admin-family-agreements-toggle{cursor:pointer;width:100%;color:var(--ink-soft);text-align:left;background:0 0;border:none;border-top:1px solid #11231e14;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding:4px 0;font-size:.78rem;font-weight:500;display:flex}.admin-family-agreements-toggle:hover{color:var(--ink)}.admin-family-agreements-toggle-meta{color:var(--sunset);font-variant-numeric:tabular-nums;font-weight:500}.admin-family-agreements-body{margin-top:6px;padding-top:6px}.admin-family-agreements-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.admin-family-agreements-row{gap:4px;display:grid}.admin-family-agreements-name{align-items:baseline;gap:6px;font-size:.82rem;display:flex}.admin-family-agreements-self{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:.68rem;font-weight:500}.admin-family-agreements-empty{color:var(--ink-faint);margin:0;font-size:.76rem;font-style:italic}.admin-family-agreements-sublist{gap:2px;margin:0;padding:0;list-style:none;display:grid}.admin-family-agreement-item,.admin-family-agreement-total{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);align-items:baseline;gap:8px;padding:2px 0;font-size:.78rem;display:grid}.admin-family-agreement-total{border-top:1px dashed #11231e1f;margin-top:4px;padding-top:4px;font-weight:500}.admin-family-agreement-heading{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.admin-family-agreement-figures{font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}.admin-family-agreement-out{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-weight:500}.admin-family-agreement-out-ok{color:var(--teal)}.admin-family-agreement-out-due{color:var(--sunset)}@media(max-width:540px){.admin-family-agreement-item,.admin-family-agreement-total{grid-template-columns:1fr;gap:2px}.admin-family-agreement-out{text-align:left}}.admin-tab-list,.admin-subnav{gap:12px;display:flex}.admin-tab-list{flex-wrap:wrap}.admin-tab{border:1.5px solid var(--line);border-radius:var(--radius-pill);cursor:pointer;transition:all .18s var(--ease);background:#fff;align-items:center;gap:8px;padding:8px 16px;font-size:.86rem;font-weight:500;display:inline-flex}.admin-tab:hover{border-color:var(--teal);color:var(--teal);transform:translateY(-1px)}.admin-tab:active{transform:translateY(0)}.admin-tab-active:hover{color:#fff}.admin-tab-active{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 2px 8px #17696f33}.admin-tab-active .badge,.admin-portal-root .admin-tab-active .badge{color:var(--teal);background:#fff}.admin-subnav{padding:6px}.admin-subnav-body{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.admin-subnav-links{flex-wrap:wrap;gap:4px;display:flex}.admin-subnav-link{border-radius:var(--radius-pill);transition:all .18s var(--ease);background:0 0;border:1.5px solid #0000;padding:8px 16px;font-size:.86rem;font-weight:500;text-decoration:none}.admin-subnav-link:hover{background:var(--teal-light);transform:translateY(-1px)}.admin-subnav-link:active{transform:translateY(0)}.admin-subnav-link-active{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 2px 8px #17696f2e}.admin-subnav-context{align-content:start;justify-items:end;gap:8px;display:grid}.admin-subnav-context-copy{text-align:right;justify-items:end;gap:2px;display:grid}.admin-subnav-context-copy p{max-width:34ch;color:var(--ink-soft);margin:0}.admin-subnav-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:500}.admin-subnav-context strong{font-weight:600}.admin-subnav-action{width:fit-content;font-size:inherit;line-height:inherit;padding:8px 16px;text-decoration:none}.admin-student-tab-panel{gap:10px;display:grid}.admin-record-card-header{gap:12px;display:flex}.admin-record-card{border-radius:var(--radius-md);border:1px solid var(--line);transition:all .22s var(--ease);background:#fff;gap:10px;padding:16px;display:grid}.admin-record-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.admin-record-card:active{box-shadow:var(--shadow-xs);transform:translateY(0)}.admin-record-card-link{color:inherit;text-decoration:none}.admin-record-card-link:hover,.admin-record-card-link:focus-visible{box-shadow:var(--shadow-sm);border-color:#17696f33;outline:none}.admin-record-card-header{justify-content:space-between;align-items:start}.admin-route-stack,.admin-record-list,.admin-form-grid,.admin-parent-list,.admin-main{gap:12px;display:grid}.admin-route-stack-tight{gap:8px}.admin-summary-card-row{grid-template-columns:1fr 1.1fr;gap:12px;display:grid}.admin-summary-card-row>.section-card .admin-record-list{gap:8px}.admin-dashboard-insights-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-dashboard-primary-stats{align-content:start;gap:12px;display:grid}.insight-stat-card{border-radius:var(--radius-md);background:var(--teal);color:#fff;transition:transform .2s var(--ease),box-shadow .2s var(--ease);gap:4px;padding:14px;display:grid;box-shadow:0 4px 16px #17696f40}.insight-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #17696f4d}.insight-stat-card-label{opacity:.85;font-size:.84rem;font-weight:500}.insight-stat-card-value{font-size:1.8rem;font-weight:600;line-height:1}.admin-insight-empty{color:var(--ink-faint);padding:12px 4px}.admin-insight-row-copy{gap:2px;min-width:0;display:grid}.admin-insight-row-action{opacity:.65;font-size:.76rem;font-weight:500}.admin-dashboard-insight-wide{grid-column:1/-1}@media(min-width:961px){.admin-dashboard-insights-grid{grid-template-columns:minmax(240px,.8fr) repeat(2,1fr)}}.admin-dashboard-insight{align-content:start;gap:10px;padding:14px;display:grid}.admin-dashboard-insight-header{gap:3px;display:grid}.admin-dashboard-insight-header h3,.admin-insight-row strong{margin:0}.admin-dashboard-insight-header p,.admin-insight-row span{color:var(--ink-soft);margin:0}.admin-dashboard-mix-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-dashboard-mix-section{border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff;gap:6px;padding:10px;display:grid}.admin-dashboard-mix-section-header{gap:2px;display:grid}.admin-dashboard-mix-section-header h4{margin:0;font-size:.86rem}.admin-dashboard-mix-section-header p{color:var(--ink-soft);margin:0;font-size:.8rem}.admin-dashboard-mix-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.admin-insight-list{gap:8px;display:grid}.admin-insight-list-scroll{max-height:248px;padding-right:4px;overflow:auto}.admin-insight-row{grid-template-columns:minmax(0,1.2fr) minmax(120px,2fr) auto;align-items:center;gap:8px;display:grid}.admin-insight-row-button{width:100%;color:inherit;text-align:left;cursor:pointer;transition:color .16s var(--ease);background:0 0;border:0;padding:0}.admin-insight-row-button:hover,.admin-insight-row-button:focus-visible{color:var(--teal);outline:none}.admin-insight-row>div:first-child{gap:2px;display:grid}.admin-insight-row-meta{justify-items:end;gap:2px;display:grid}.admin-insight-row-meta span{color:var(--ink-faint);font-size:.78rem}.admin-insight-bar-track{border-radius:var(--radius-pill);background:#11231e0d;height:6px;overflow:hidden}.admin-insight-bar-fill{border-radius:inherit;background:var(--teal);height:100%;transition:width .5s var(--ease)}.prc-drift{border-radius:var(--radius-md);background:var(--teal-light);box-shadow:inset 0 0 0 1px var(--teal-mid);align-items:center;gap:12px;margin-bottom:12px;padding:11px 13px;display:flex}.prc-drift-glyph{background:var(--teal-mid);width:30px;height:30px;color:var(--teal);border-radius:50%;flex:none;place-items:center;font-size:.95rem;font-weight:700;line-height:1;display:grid}.prc-drift-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.prc-drift-copy strong{color:var(--ink);font-size:.85rem}.prc-drift-copy span{color:var(--ink-soft);font-size:.8rem}.prc-drift-action{flex:none}.prc-credit-flag,.admin-table td .prc-credit-flag{border-radius:var(--radius-pill);background:var(--status-warning-bg);color:var(--status-warning);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;align-items:center;margin-left:8px;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.prc-credit-note{color:var(--status-warning);margin:0 0 4px;font-size:.82rem}@media(max-width:560px){.prc-drift{flex-wrap:wrap}.prc-drift-copy{flex:60%}.prc-drift-action{text-align:center;flex:100%;justify-content:center}}.admin-parent-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.admin-inline-actions{flex-wrap:wrap;gap:12px;display:flex}.admin-class-assignment-row,.admin-class-assignment-field,.admin-class-manager-list,.admin-class-manager-card,.admin-class-student-list,.admin-class-subject-toolbar{gap:6px;display:grid}.admin-class-assignment-row{grid-template-columns:minmax(260px,420px)}.admin-class-manager-card{border-radius:var(--radius-sm);border:1px solid var(--line);transition:border-color .2s var(--ease),box-shadow .2s var(--ease);background:#fff;padding:10px 12px}.admin-class-manager-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-xs)}.admin-class-manager-row,.admin-class-student-row,.admin-class-row-summary,.admin-class-row-actions{align-items:center;gap:10px;display:flex}.admin-waiting-row{grid-template-columns:minmax(0,1.3fr) 170px 70px 50px minmax(0,1fr) 150px 140px;align-items:center;gap:14px;display:grid}.admin-waiting-row .badge{justify-self:start}.admin-waiting-actions{white-space:nowrap;justify-content:flex-end;gap:12px;display:flex}.admin-class-manager-row,.admin-class-student-row{flex-wrap:nowrap}.admin-class-row-link,.admin-class-student-name,.admin-inline-button{color:inherit;font:inherit;text-align:left;background:0 0;border:0;padding:0}.admin-class-row-link{cursor:pointer;min-width:0;transition:color .16s var(--ease);flex:280px;gap:2px;display:grid}.admin-class-row-link span,.admin-class-row-summary span,.admin-class-student-row span{color:var(--ink-soft)}.admin-class-row-meta{color:var(--ink-faint);font-size:.78rem}.class-meta-tags{flex-wrap:wrap;gap:5px;margin-top:4px;display:flex}.class-meta-tag{border:1px solid var(--line);color:var(--ink-soft);background:var(--bg-surface);border-radius:99px;padding:2px 8px;font-size:.72rem}.class-meta-tag em{color:var(--ink-faint);margin-right:3px;font-style:normal}.class-meta-tag-expected{border-style:dashed}.class-meta-tag-empty{color:var(--ink-faint);opacity:.6}.class-meta-tag-actual{border-style:solid;border-color:var(--teal)}@supports (color:color-mix(in lab,red,red)){.class-meta-tag-actual{border-color:color-mix(in srgb,var(--teal) 40%,var(--line))}}.class-meta-tag-actual{color:var(--ink);background:var(--teal)}@supports (color:color-mix(in lab,red,red)){.class-meta-tag-actual{background:color-mix(in srgb,var(--teal) 6%,white)}}.class-meta-tag-actual em{color:var(--ink-soft)}.admin-class-unassigned-notice{border-radius:var(--radius-sm);background:var(--sunset-light);color:var(--sunset);margin:0;padding:8px 12px;font-size:.82rem;font-weight:500}.admin-class-row-summary{flex:220px;justify-content:space-between;min-width:0}.admin-class-inline-field{flex:0 360px;gap:3px;min-width:0;display:grid}.admin-class-inline-field span{color:var(--ink-soft);font-size:.78rem}.admin-class-row-actions{flex-wrap:wrap;flex:none;justify-content:end}.admin-inline-button{cursor:pointer;transition:color .16s var(--ease);align-items:center;min-height:44px;display:inline-flex}.admin-inline-button:hover,.admin-inline-button:focus-visible,.admin-class-student-name:hover,.admin-class-student-name:focus-visible,.admin-class-row-link:hover,.admin-class-row-link:focus-visible{color:var(--teal);outline:none}.admin-inline-button-danger{color:var(--berry)}.admin-year-strip{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;display:grid}.admin-year-chip{text-align:left;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-surface);cursor:pointer;font:inherit;transition:background .14s var(--ease),border-color .14s var(--ease);gap:1px;padding:9px 12px;display:grid}.admin-year-chip:hover{border-color:var(--line-strong);background:#fff}.admin-year-chip.is-selected{border-color:var(--teal);background:var(--teal-light)}.admin-year-chip-label{color:var(--ink-soft);font-size:.76rem}.admin-year-chip-value{color:var(--ink);font-size:1.15rem;font-weight:600}.admin-year-chip-meta{color:var(--ink-faint);font-size:.72rem}.admin-year-chip.is-selected .admin-year-chip-label{color:var(--teal)}.admin-class-student-list{padding-top:6px}.admin-class-student-row{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-surface);transition:background .14s var(--ease);padding:7px 12px}.admin-class-student-row:hover{background:#fff}.admin-class-student-name{flex:260px;min-width:0;font-weight:500;text-decoration:none}.admin-class-student-row span{flex:180px;min-width:0}.admin-class-subject-toolbar{grid-template-columns:minmax(240px,360px) auto;align-items:end}.admin-class-allocation-filters{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:4px;padding-bottom:12px;display:flex}.admin-class-filter-field{flex:150px;gap:3px;min-width:0;display:grid}.admin-class-filter-field--search{flex:2 220px}.admin-class-filter-label{color:var(--ink-soft);font-size:.78rem;font-weight:500}.admin-class-filter-meta{color:var(--ink-soft);white-space:nowrap;flex:none;align-items:center;gap:12px;margin-left:auto;padding-top:4px;font-size:.82rem;display:flex}.admin-class-filter-meta strong{color:var(--ink)}.admin-publish-live{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:.82rem;display:flex}.admin-publish-live code{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,monospace;font-size:.78rem}.admin-publish-live .admin-publish-live-end{margin-left:auto}.admin-public-preview{border:1px solid var(--line-strong);border-radius:10px;margin-top:10px;overflow:hidden}.admin-public-preview-bar{background:#eef0ee;border-bottom:1px solid #11231e1a;align-items:center;gap:8px;padding:7px 10px;display:flex}.admin-public-preview-bar i{background:#11231e29;border-radius:50%;width:10px;height:10px;display:inline-block}.admin-public-preview-bar span{min-width:0;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #11231e14;border-radius:6px;flex:1;margin-left:6px;padding:3px 10px;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,monospace;font-size:.74rem;overflow:hidden}.admin-public-preview-body{padding:24px}.admin-public-preview-body>div{max-width:640px}.admin-portal-root .admin-public-preview-body .primary-button{border-radius:var(--radius-pill);padding:10px 22px}.admin-public-preview-empty{text-align:center;color:var(--ink-soft);margin:0;padding:28px 0;font-size:.9rem}.admin-public-preview-note{color:var(--ink-faint);margin:6px 0 0;font-size:.76rem}@media(max-width:720px){.admin-publish-grid{grid-template-columns:1fr}.admin-public-preview-body{padding:16px}}.ac-root{gap:20px;display:grid}.ac-loading{flex-direction:column;align-items:center;gap:0;padding:32px 0;display:flex}.ac-loading p{color:var(--ink-soft);margin:0;font-size:.85rem}.ac-tabs{border-radius:var(--radius-pill);background:#11231e0a;gap:2px;width:fit-content;padding:4px;display:flex}.ac-tab{border-radius:var(--radius-pill);color:var(--ink-soft);cursor:pointer;transition:all .16s var(--ease);white-space:nowrap;background:0 0;border:none;padding:7px 18px;font-size:.84rem;font-weight:500}.ac-tab:hover{color:var(--ink)}.ac-tab-active{box-shadow:var(--shadow-xs);background:#fff;font-weight:500;color:var(--ink)!important}.ac-roles-view{gap:16px;display:grid}.ac-roles-toolbar{align-items:center;gap:10px;display:flex}.ac-roles-footnote{margin:0;font-size:.74rem!important}.ac-role-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.ac-role-card{border:1px solid var(--line);border-radius:var(--radius-md);transition:box-shadow .18s var(--ease),border-color .18s var(--ease);background:#fff;display:flex;overflow:hidden}.ac-role-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.ac-role-card-inactive{opacity:.55}.ac-role-card-accent{flex-shrink:0;width:4px}.ac-role-card-body{flex:1;gap:8px;min-width:0;padding:14px 16px;display:grid}.ac-role-card-header{gap:2px;display:grid}.ac-role-card-title-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ac-role-card-name{color:var(--ink);font-size:.92rem;font-weight:500}.ac-role-card-badges{align-items:center;gap:4px;display:flex}.ac-role-card-key{color:var(--ink-faint);letter-spacing:0;font-family:Courier New,monospace;font-size:.72rem}.ac-role-card-desc{color:var(--ink-soft);margin:0;font-size:.8rem;line-height:1.45}.ac-role-card-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:2px;padding-top:8px;display:flex}.ac-role-card-users{color:var(--ink-faint);font-size:.75rem;font-weight:500}.ac-role-card-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ac-badge{border-radius:var(--radius-pill);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:2px 7px;font-size:.66rem;font-weight:500;display:inline-flex}.ac-badge-system{color:var(--ink-soft);background:#11231e0f}.ac-badge-inactive{color:var(--sunset);background:#b9572b14}.ac-pill{border-radius:var(--radius-pill);align-items:center;padding:3px 10px;font-size:.74rem;font-weight:500;display:inline-flex}.ac-drawer{border-radius:var(--radius-md);background:#17696f08;border:1px solid #17696f24;padding:18px 20px}.ac-drawer-title{color:var(--ink);margin:0 0 14px;font-size:.88rem;font-weight:500}.ac-form{gap:12px;max-width:460px;display:grid}.ac-form-actions{align-items:center;gap:10px;padding-top:4px;display:flex}.ac-twopane{border:1px solid var(--line);border-radius:var(--radius-md);min-height:480px;box-shadow:var(--shadow-xs);background:#fff;grid-template-columns:minmax(220px,280px) 1fr;align-items:stretch;gap:16px;display:grid;overflow:hidden}@media(max-width:720px){.ac-twopane{min-height:unset;grid-template-columns:1fr}}.ac-twopane-left{border-right:1px solid var(--line);background:#11231e06;flex-direction:column;max-height:70vh;display:flex;overflow:hidden}@media(max-width:720px){.ac-twopane-left{border-right:none;border-bottom:1px solid var(--line);max-height:320px}}.ac-role-search{border-bottom:1px solid var(--line);padding:12px 12px 8px}.ac-role-search input{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);background:#fff;padding:8px 12px;font-size:.85rem}.ac-role-search input:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #17696f1f}.ac-role-list{flex:auto;margin:0;padding:6px;list-style:none;overflow-y:auto}.ac-role-list-empty{text-align:center;color:var(--ink-faint);padding:24px 12px;font-size:.78rem}.ac-role-row{border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;transition:background .12s var(--ease),border-color .12s var(--ease);font:inherit;color:inherit;background:0 0;border:1px solid #0000;align-items:stretch;margin-bottom:2px;padding:0;display:flex}.ac-role-row:hover{background:#11231e0a}.ac-role-row-active{border-color:var(--line-strong);box-shadow:var(--shadow-xs);background:#fff!important}.ac-role-row-inactive{opacity:.55}.ac-role-row-accent{border-radius:4px 0 0 4px;flex-shrink:0;width:4px}.ac-role-row-body{flex-direction:column;flex:auto;gap:4px;min-width:0;padding:10px 12px;display:flex}.ac-role-row-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:500;line-height:1.25;overflow:hidden}.ac-role-row-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ac-role-row-key{color:var(--ink-faint);font-family:Courier New,monospace;font-size:.7rem}.ac-badge-dirty{color:var(--sunset);background:#b9572b1f}.ac-twopane-right{flex-direction:column;min-width:0;max-height:70vh;display:flex}@media(max-width:720px){.ac-twopane-right{max-height:none}}.ac-editor-empty{color:var(--ink-faint);flex:1;justify-content:center;align-items:center;padding:40px;font-size:.88rem;display:flex}.ac-editor-header{border-bottom:1px solid var(--line);flex-shrink:0;padding:16px 20px 12px}.ac-editor-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ac-editor-title{color:var(--ink);margin:0;font-size:1.05rem;font-weight:600}.ac-editor-subtitle{color:var(--ink-soft);max-width:60ch;margin:6px 0 0;font-size:.82rem}.ac-editor-locked-hint{margin:8px 0 0!important;font-size:.75rem!important}.ac-editor-groups{flex:auto;padding:8px 20px 16px;overflow-y:auto}.ac-area-group{margin-top:16px}.ac-area-group:first-child{margin-top:8px}.ac-area-group-title{text-transform:uppercase;letter-spacing:.06em;color:var(--teal);margin:0 0 8px;font-size:.7rem;font-weight:600}.ac-area-group-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ac-area-row{border-radius:var(--radius-sm);transition:background .12s var(--ease);justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex}.ac-area-row:hover{background:#11231e06}.ac-area-row-name{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.ac-area-row-label{color:var(--ink);font-size:.88rem;font-weight:500}.ac-area-row-desc{color:var(--ink-faint);max-width:60ch;font-size:.72rem}.ac-editor-footer{border-top:1px solid var(--line);background:#11231e05;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;padding:12px 20px;display:flex}.ac-editor-legend{flex:240px;color:var(--ink-faint)!important;margin:0!important;font-size:.72rem!important}.ac-editor-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ac-editor-saved{color:var(--ink-faint);font-size:.74rem;font-style:italic}.ac-perm-cell{border-radius:var(--radius-pill);border:1px solid var(--line);background:#11231e05;gap:0;display:inline-flex;overflow:hidden}.ac-perm-cell-locked{opacity:.55;pointer-events:none}.ac-perm-btn{color:var(--ink-soft);cursor:pointer;transition:background .12s var(--ease),color .12s var(--ease);white-space:nowrap;background:0 0;border:none;padding:5px 10px;font-size:.71rem;font-weight:500;line-height:1.2}.ac-perm-btn:hover{color:var(--ink);background:#11231e0f}.ac-perm-btn-none.ac-perm-btn-active{color:var(--ink);background:#11231e1a;font-weight:500}.ac-perm-btn-view.ac-perm-btn-active{background:var(--teal);color:#fff;font-weight:500}.ac-perm-btn-post.ac-perm-btn-active{background:var(--gold);color:#fff;font-weight:500}.ac-perm-btn-manage.ac-perm-btn-active{background:var(--sunset);color:#fff;font-weight:500}.pn-root{gap:20px;max-width:680px;display:grid}.pn-portal-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media(max-width:600px){.pn-portal-grid{grid-template-columns:1fr}}.pn-portal-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;overflow:hidden}.pn-portal-card-header{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px 12px;display:flex}.pn-portal-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;display:flex}.pn-portal-card-title{color:var(--ink);margin:0;font-size:.88rem;font-weight:600;line-height:1.2}.pn-portal-card-subtitle{color:var(--ink-faint);margin:2px 0 0;font-size:.72rem}.pn-nav-items{gap:1px;padding:8px 0;display:grid}.pn-nav-item{cursor:pointer;transition:background .12s var(--ease);-webkit-user-select:none;user-select:none;border-top:1px solid #11231e0a;grid-template-columns:22px 1fr 34px;align-items:center;gap:12px;padding:10px 16px;display:grid}.pn-nav-item:first-child{border-top:none}.pn-nav-item:hover{background:#17696f0a}.pn-nav-item{--checkbox-size:16px}.pn-nav-item input[type=checkbox]{justify-self:end}.pn-nav-item-icon{text-align:center;color:var(--ink-soft);font-size:.95rem}.pn-nav-item-text{flex-direction:column;gap:1px;min-width:0;display:flex}.pn-nav-item-label{color:var(--ink);font-size:.83rem;font-weight:500}.pn-nav-item-desc{color:var(--ink-faint);font-size:.71rem}.pn-nav-item-checked .pn-nav-item-label,.pn-nav-item-checked .pn-nav-item-icon{color:var(--teal)}.pn-count-pill{color:var(--ink-faint);border-radius:var(--radius-pill);background:#11231e0f;flex-shrink:0;padding:2px 7px;font-size:.68rem;font-weight:600}.pn-count-pill-active{color:var(--teal);background:#17696f1a}.pn-footer{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.pn-help{color:var(--ink-faint);flex:1;min-width:200px;margin:0;font-size:.75rem}.student-switcher{border-radius:var(--radius-pill);scrollbar-width:none;background:#11231e12;gap:2px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.student-switcher::-webkit-scrollbar{display:none}.student-switcher-chip{border-radius:var(--radius-pill);color:var(--ink-soft);cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease);white-space:nowrap;background:0 0;border:none;flex-shrink:0;padding:7px 18px;font-size:.84rem;font-weight:600;line-height:1}.student-switcher-chip:hover{color:var(--ink)}.student-switcher-chip-active{color:var(--teal);background:#fff;box-shadow:0 1px 5px #11231e24,0 0 0 .5px #11231e12}.portal-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.portal-drawer-header{gap:4px;display:grid}.portal-drawer-header h1,.portal-drawer-header p{margin:0}.parent-nav{flex-wrap:wrap;gap:4px;display:flex}.parent-nav-link{border-radius:var(--radius-pill);transition:all .18s var(--ease);background:0 0;border:1.5px solid #0000;padding:8px 16px;font-size:.86rem;font-weight:500;text-decoration:none}.parent-nav-link:hover{background:var(--teal-light);transform:translateY(-1px)}.parent-nav-link:active{transform:translateY(0)}.parent-nav-link-active{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 2px 8px #17696f2e}.parent-home-shell{gap:16px;display:grid}.parent-whatsapp-link{border-radius:var(--radius-pill);color:#1a9e57;background:#25d3661a;align-items:center;gap:5px;padding:5px 10px 5px 8px;font-size:.78rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex;position:absolute;top:16px;right:16px}.parent-whatsapp-link:hover{background:#25d36633}.parent-home-contact{justify-self:start;min-height:36px;padding:6px 12px 6px 10px;position:static}.parent-home-section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.parent-home-section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin:0;font-size:.68rem;font-weight:700}.parent-home-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.parent-home-stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:transform .18s var(--ease);gap:6px;padding:16px 18px;display:grid}.parent-home-stat:hover{transform:translateY(-2px)}.parent-home-stat-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:0;font-size:.72rem;font-weight:600}.parent-home-stat-value{letter-spacing:-.03em;margin:0;font-size:1.55rem;font-weight:700;line-height:1}.parent-home-stat-teal .parent-home-stat-value{color:var(--teal)}.parent-home-stat-gold .parent-home-stat-value{color:var(--gold)}.parent-diary-unsigned-banner{border-radius:var(--radius-md);background:#a57a160f;border:1.5px solid #a57a1638;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;display:flex}.parent-diary-unsigned-banner p{color:var(--gold);margin:0;font-size:.86rem;font-weight:600}.parent-diary-review-btn{border-radius:var(--radius-pill);background:var(--teal);color:#fff;white-space:nowrap;transition:all .16s var(--ease);border:none;padding:7px 16px;font-size:.8rem;font-weight:600;text-decoration:none;box-shadow:0 2px 8px #17696f38}.parent-diary-review-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #17696f4d}.parent-diary-list{gap:8px;display:grid}.parent-diary-snippet{border-radius:var(--radius-md);border:1px solid var(--line);transition:box-shadow .16s var(--ease);background:#fff9;border-left-width:3px;gap:10px;padding:14px 16px 14px 18px;display:grid}.parent-diary-snippet:hover{box-shadow:var(--shadow-sm)}.parent-diary-snippet-completed{background:#0f6b4505;border-left-color:#0f6b45}.parent-diary-snippet-satisfactory{border-left-color:var(--gold);background:#a57a1605}.parent-diary-snippet-incomplete{border-left-color:var(--berry);background:#7a2f5205}.parent-diary-snippet-unsigned{background:#a57a1608}.parent-diary-snippet-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.parent-diary-snippet-date{color:var(--ink);letter-spacing:-.01em;font-size:.92rem;font-weight:700}.parent-diary-snippet-signoff{border-radius:var(--radius-pill);margin-left:auto;padding:3px 10px;font-size:.72rem;font-weight:600}.parent-diary-snippet-signoff-done{color:#0f6b45;background:#0f6b451a}.parent-diary-snippet-signoff-pending{color:var(--gold);background:#a57a161a}.parent-diary-snippet-body{border-radius:var(--radius-xs);background:#17696f0a;gap:5px;padding:10px 12px;font-size:.85rem;display:grid}.parent-diary-snippet-body p{color:var(--ink);margin:0;line-height:1.45}.parent-diary-snippet-body strong{color:var(--teal);font-weight:600}.parent-diary-entries{gap:28px;display:grid}.parent-diary-entries>.parent-diary-entry-card{margin-bottom:0}.parent-diary-entry-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffffad;border-left-width:4px;gap:10px;margin-bottom:10px;padding:16px 18px 18px;display:grid}.parent-diary-entry-completed{border-left-color:#0f6b45}.parent-diary-entry-satisfactory{border-left-color:var(--gold)}.parent-diary-entry-incomplete{border-left-color:var(--berry)}.parent-diary-entry-unsigned{background:#a57a1606}.parent-diary-entry-past{background:var(--bg-surface);border-left-width:3px}.parent-diary-entry-header{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px 8px;padding-bottom:10px;display:flex}.parent-diary-entry-title{flex-wrap:wrap;flex:100%;align-items:baseline;gap:8px;min-width:0;display:flex}.parent-diary-entry-title strong{color:var(--ink);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:1.08rem;font-weight:700;line-height:1.25}.parent-diary-entry-title span{color:var(--ink-faint);font-size:.8rem}.parent-diary-entry-card>.homework-attachments{margin-top:0}.parent-diary-entry-status{border-radius:var(--radius-pill);white-space:nowrap;padding:3px 9px;font-size:.72rem;font-weight:600}.parent-diary-entry-status-done{color:#0f6b45;background:#0f6b451a}.parent-diary-entry-status-pending{color:var(--gold);background:#a57a161a}.parent-diary-entry-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.parent-diary-entry-block{border-radius:var(--radius-xs);background:#17696f0a;gap:3px;padding:10px 12px;display:grid}.parent-diary-entry-block span{color:var(--teal);text-transform:uppercase;letter-spacing:.07em;font-size:.74rem;font-weight:700}.parent-diary-entry-block p,.parent-diary-entry-notes p{color:var(--ink);margin:0;font-size:.88rem;line-height:1.42}.parent-diary-entry-notes{border-radius:var(--radius-xs);background:#11231e08;gap:4px;padding:8px 10px;display:grid}.parent-diary-entry-notes strong{color:var(--ink-soft);font-weight:600}.parent-diary-entry-response{border-radius:var(--radius-xs);color:var(--ink-soft);background:#a57a160f;flex-wrap:wrap;align-items:center;gap:8px;padding:7px 10px;font-size:.82rem;display:flex}.parent-diary-entry-response strong{color:var(--gold);text-transform:uppercase;letter-spacing:.06em;font-size:.76rem}.parent-diary-response-form{gap:10px;padding-top:2px;display:grid}.parent-diary-response-note{border-radius:var(--radius-xs);color:var(--ink-soft);background:#a57a1612;margin:0;padding:8px 10px;font-size:.82rem}.parent-diary-response-grid{grid-template-columns:minmax(160px,.55fr) minmax(0,1fr);gap:10px;display:grid}.parent-diary-response-grid label{gap:5px;display:grid}.parent-diary-response-grid label span{color:var(--ink-soft);font-size:.8rem;font-weight:600}.parent-diary-response-grid textarea{min-height:60px}.parent-diary-signoff-toggle{border:1.5px solid var(--line);border-radius:var(--radius-xs);cursor:pointer;background:#ffffff8c;align-items:center;gap:10px;padding:9px 12px;display:flex}.parent-diary-signoff-toggle-on{background:#0f6b450d;border-color:#0f6b454d}.parent-diary-signoff-toggle input{width:18px;height:18px;accent-color:var(--teal)}.parent-diary-signoff-toggle span{font-size:.88rem;font-weight:600}.parent-diary-response-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media(max-width:720px){.parent-diary-entry-main,.parent-diary-response-grid{grid-template-columns:1fr}.parent-diary-entries{gap:24px}.parent-diary-entry-card{padding:14px 15px 16px}.parent-diary-entry-title strong{font-size:1.02rem}}.parent-home-quicklinks{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.parent-home-quicklink{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--ink);transition:all .18s var(--ease);box-shadow:var(--shadow-xs);justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;font-size:.88rem;font-weight:600;text-decoration:none;display:flex}.parent-home-quicklink:hover{border-color:var(--teal-mid);background:var(--teal-light);color:var(--teal);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.parent-home-quicklink:active{box-shadow:var(--shadow-xs);transform:translateY(0)}.parent-home-quicklink-arrow{width:24px;height:24px;color:var(--ink-faint);transition:all .18s var(--ease);background:#11231e0d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;display:flex}.parent-home-quicklink:hover .parent-home-quicklink-arrow{background:var(--teal);color:#fff}@media(max-width:760px){.parent-home-quicklinks{grid-template-columns:1fr;gap:12px}}.parent-home-quicklink-stat{flex-direction:row;align-items:flex-start}.parent-home-quicklink-stat-inner{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.parent-home-quicklink-stat-label{font-size:.88rem;font-weight:600}.parent-home-quicklink-stat-pills{flex-wrap:wrap;gap:4px;display:flex}.parent-home-stat-pill{white-space:nowrap;border-radius:99px;padding:2px 7px;font-size:.72rem;font-weight:600}.parent-home-stat-pill-rate{background:var(--teal-light);color:var(--teal)}.parent-home-stat-pill-present{color:#1a7a1a;background:#228b221a}.parent-home-stat-pill-late{color:#a06000;background:#d28c001f}.parent-home-stat-pill-absent{color:#b01c1c;background:#c81e1e1a}.parent-children-head{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 20px 24px;display:flex}.parent-children-head-text{min-width:0}.parent-children-title{margin:4px 0 0;font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.1}.parent-children-sub{color:var(--ink-soft);max-width:52ch;margin:8px 0 0;font-size:.9rem}.parent-children-group,.parent-children-grid{gap:10px;display:grid}.parent-child-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--ink);box-shadow:var(--shadow-xs);transition:all .18s var(--ease);align-items:center;gap:14px;padding:14px 16px;text-decoration:none;display:flex}.parent-child-card:hover{border-color:var(--teal-mid);background:var(--teal-light);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.parent-child-card:active{box-shadow:var(--shadow-xs);transform:translateY(0)}.parent-child-card.is-past{opacity:.72}.parent-child-card.is-past:hover{opacity:1}.parent-enrolled-widget{align-items:flex-start}.parent-enrolled-widget .parent-child-avatar{margin-top:1px}.parent-enrolled-widget .parent-child-arrow{align-self:center}.parent-child-avatar{background:var(--teal-light);width:44px;height:44px;color:var(--teal);letter-spacing:.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;display:flex}.parent-child-body{flex:1;gap:3px;min-width:0;display:grid}.parent-child-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.parent-child-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.98rem;font-weight:700;overflow:hidden}.parent-child-meta{color:var(--ink-soft);font-size:.8rem}.parent-child-contact{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-size:.7rem;font-weight:600}.parent-child-arrow{width:26px;height:26px;color:var(--ink-faint);transition:all .18s var(--ease);background:#11231e0d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex}.parent-child-card:hover .parent-child-arrow{background:var(--teal);color:#fff}.parent-enrolled-pills{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}@media(max-width:760px){.parent-children-head{flex-direction:column}.parent-children-head .primary-button{text-align:center;width:100%}}.parent-detail-back{margin:0 0 -4px}.parent-detail-head{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:20px 22px}.parent-detail-title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.parent-detail-title-row h1{margin:0;font-size:clamp(1.5rem,3.5vw,2rem);line-height:1.1}.parent-detail-meta{color:var(--ink-soft);margin:8px 0 0;font-size:.9rem}.parent-callout{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--panel);padding:14px 16px;font-size:.92rem}.parent-callout p{margin:0}.parent-callout.is-info{background:var(--teal-light);border-color:var(--teal-mid)}.parent-callout.is-warn{background:#b9572b14;border-color:#b9572b38}.parent-callout-actions{margin-top:12px}.parent-detail-dl{margin:0}.parent-detail-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(120px,180px) 1fr;gap:16px;padding:9px 0;display:grid}.parent-detail-row:last-child{border-bottom:0}.parent-detail-dt{color:var(--ink-soft);margin:0;font-size:.85rem}.parent-detail-dd{overflow-wrap:anywhere;margin:0;font-size:.95rem}.parent-detail-dd-empty{color:var(--ink-faint)}@media(max-width:560px){.parent-detail-row{grid-template-columns:1fr;gap:2px;padding:7px 0}}.parent-note-list{gap:10px;display:grid}.parent-note-item{border-left:3px solid var(--teal);background:var(--teal-light);border-radius:0 8px 8px 0;padding:8px 12px}.parent-note-meta{color:var(--ink-soft);margin:0;font-size:.8rem}.parent-note-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0}.portal-header,.portal-header-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.portal-header h1{margin:0 0 8px;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.05}.profile-chip{border-radius:var(--radius-pill);background:#11231e0a;padding:8px 14px;font-size:.86rem}.portal-app-shell{flex-direction:column;min-width:0;min-height:100vh;display:flex}.portal-app-header{z-index:40;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line);height:64px;box-shadow:0 1px 0 var(--line),var(--shadow-xs);background:#fffdf9e6;align-items:center;gap:20px;padding:0 24px;display:flex;position:sticky;top:0}.portal-app-brand{flex-direction:column;flex-shrink:0;gap:3px;min-width:0;display:flex}.portal-app-brand-eyebrow{letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);font-size:.61rem;font-weight:600;line-height:1}.portal-app-brand-title{color:var(--ink);letter-spacing:-.01em;font-size:.92rem;font-weight:700;line-height:1}.portal-app-nav{border:1px solid var(--line);border-radius:var(--radius-sm);background:#11231e08;flex:1;justify-content:center;align-items:center;gap:6px;padding:4px;display:flex}.portal-app-nav-link{border-radius:var(--radius-xs);color:var(--ink-soft);transition:background .16s var(--ease),color .16s var(--ease),box-shadow .16s var(--ease),transform .16s var(--ease);white-space:nowrap;background:0 0;border:1.5px solid #0000;align-items:center;gap:8px;min-height:28px;padding:6px 16px;font-size:.86rem;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.portal-nav-icon-wrap{justify-content:center;align-items:center;display:inline-flex;position:relative}.portal-nav-dot{background:var(--sunset);width:8px;height:8px;box-shadow:0 0 0 2px var(--bg-surface);border-radius:50%;position:absolute;top:-3px;right:-5px}.portal-app-nav-link svg{opacity:.75;width:15px;height:15px;transition:opacity .16s var(--ease);flex-shrink:0}.portal-app-nav-link:hover{background:var(--bg-surface);color:var(--ink);transform:translateY(-1px)}.portal-app-nav-link:hover svg{opacity:1}.portal-app-nav-link:active{transform:translateY(0)}.portal-app-nav-link-active{background:var(--teal);color:#fff;border-color:#0000;box-shadow:0 2px 10px #17696f47,inset 0 1px #ffffff26}.portal-app-nav-link-active svg{opacity:1}.portal-app-nav-link-active:hover{background:var(--teal);color:#fff;transform:translateY(-1px);box-shadow:0 4px 16px #17696f52,inset 0 1px #ffffff26}.portal-app-header-end{flex-shrink:0;align-items:center;gap:8px;display:flex}.portal-app-user-chip{border-radius:var(--radius-sm);height:36px;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;background:#11231e0d;align-items:center;max-width:180px;padding:0 12px;font-size:.75rem;font-weight:500;display:inline-flex;overflow:hidden}.portal-app-signout-btn{border-radius:var(--radius-sm);border:1.5px solid var(--line-strong);height:36px;color:var(--ink-soft);cursor:pointer;transition:all .16s var(--ease);white-space:nowrap;background:0 0;align-items:center;padding:0 14px;font-size:.78rem;font-weight:500;display:inline-flex}.portal-app-signout-btn:hover{background:var(--sunset-light);color:var(--sunset);border-color:#b9572b38;transform:translateY(-1px)}.portal-app-signout-btn:active{transform:translateY(0)}.portal-app-menu-btn{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);width:36px;height:36px;color:var(--ink-soft);cursor:pointer;transition:all .16s var(--ease);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.portal-app-menu-btn svg{width:18px;height:18px}.portal-app-menu-btn:hover{background:var(--teal-light);color:var(--teal);border-color:var(--teal-mid);transform:scale(1.05)}.portal-app-menu-btn:active{transform:scale(.95)}.portal-app-main{--portal-pad-x:20px;--portal-pad-y:20px;padding:var(--portal-pad-y) var(--portal-pad-x);flex:1;grid-template-columns:minmax(0,1fr);align-content:start;gap:10px;min-width:0;display:grid}.portal-app-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.portal-app-bottom-bar{display:none}@media(max-width:960px){.portal-app-header{display:none}.portal-app-shell{padding-bottom:68px}.portal-app-main{--portal-pad-x:14px;--portal-pad-y:14px;gap:8px}.portal-app-main>.portal-app-topbar:empty{display:none}.portal-app-topbar{z-index:20;margin:-14px -14px 4px;position:sticky;top:0}.portal-app-topbar:has(>.student-switcher){-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#fffdf9f7;padding:10px 14px}.portal-app-bottom-bar{z-index:40;-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--line);height:64px;padding-bottom:env(safe-area-inset-bottom,0px);background:#fffdf9f7;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 20px #11231e0f}.portal-app-bottom-tab{color:var(--ink-faint);letter-spacing:.03em;cursor:pointer;transition:color .14s var(--ease);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:6px 4px;font-size:.64rem;font-weight:600;text-decoration:none;display:flex;position:relative}.portal-app-bottom-tab svg{width:22px;height:22px;transition:transform .2s var(--ease)}.portal-app-bottom-tab:active svg{transform:scale(.84)}.portal-app-bottom-tab-active{color:var(--teal)}.portal-app-bottom-tab-active:before{content:"";border-radius:0 0 var(--radius-pill) var(--radius-pill);background:var(--teal);width:32px;height:3px;position:absolute;top:0;left:50%;transform:translate(-50%)}}@media(max-width:760px){.portal-app-main{--portal-pad-x:10px;--portal-pad-y:10px}.portal-app-topbar{margin:-10px -10px 4px}.portal-app-topbar:has(>.student-switcher){padding:10px}}.portal-app-shell-pinned{grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.portal-app-pinned-sidebar{border-top:none;border-bottom:none;border-left:none;border-right:1px solid var(--line);height:100vh;box-shadow:none;background:#11231e05;border-radius:0;flex-direction:column;gap:0;padding:0;display:flex;position:sticky;top:0;overflow-y:auto}.portal-app-pinned-sidebar-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 16px 14px;display:flex}.portal-app-pinned-brand{flex-direction:column;gap:3px;display:flex}.portal-app-pinned-nav{flex:1;align-content:start;gap:6px;padding:8px;display:grid;overflow-y:auto}.portal-app-pinned-search{padding:8px 10px 4px;display:flex}.portal-app-pinned-search>*{flex:1;min-width:0}.portal-app-pinned-footer{border-top:1px solid var(--line);flex-shrink:0;padding:12px}.portal-app-pinned-main{flex-direction:column;min-width:0;min-height:100vh;display:flex}.portal-app-pinned-topbar{z-index:20;flex-direction:column;gap:0;display:flex;position:sticky;top:0}.portal-app-pinned-topbar:has(.student-switcher){border-bottom:1px solid var(--line);background:#fffdf9f2;padding:10px 20px}.portal-app-pinned-topbar:has(>.portal-app-topbar:empty),.portal-app-pinned-topbar:empty{display:none}.portal-app-pinned-nav .admin-sidebar-group{gap:1px;padding:6px 6px 8px;display:grid}.portal-app-pinned-nav .admin-sidebar-group-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin:2px 6px;font-size:.62rem;font-weight:600}.portal-app-pinned-nav .admin-sidebar-link{border-radius:var(--radius-sm);color:var(--ink);transition:all .16s var(--ease);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:9px;padding:5px 10px;font-size:.86rem;font-weight:500;line-height:1.35;text-decoration:none;display:flex}.portal-app-pinned-nav .admin-sidebar-link-icon{font-size:.95rem}.portal-app-pinned-nav .admin-sidebar-link:hover{background:var(--teal-light);border-color:var(--line-strong)}.portal-app-pinned-nav .admin-sidebar-link-active{background:var(--teal-mid);color:var(--teal);border-color:#0000;font-weight:600}.portal-app-shell-pinned .admin-page-search{display:none}.portal-notice-slot{min-width:0}.pnotice{border-radius:var(--radius-lg);background:var(--panel);min-width:0;box-shadow:inset 0 0 0 1px #0a5d2c29,var(--shadow-xs);align-items:center;gap:12px;padding:11px 12px;display:flex}.pnotice-glyph{background:#0a5d2c1a;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:.95rem;line-height:1;display:grid}.pnotice-copy{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.pnotice-text{color:var(--ink);font-size:.84rem;font-weight:600}.pnotice-detail{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.pnotice-link{flex:none}.pnotice-dismiss{width:26px;height:26px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;font-size:1.05rem;line-height:1}.pnotice-dismiss:hover{color:var(--ink);background:#11231e0f}.pnotice-dismiss:focus-visible{outline:2px solid var(--teal);outline-offset:1px}@media(max-width:560px){.pnotice{flex-wrap:wrap;gap:8px 10px;padding:10px 11px}.pnotice-glyph{align-self:flex-start;width:28px;height:28px;font-size:.85rem}.pnotice-copy{flex:1 1 0}.pnotice-dismiss{order:2;align-self:flex-start}.pnotice-link{text-align:center;flex:100%;order:3;justify-content:center}}.teacher-students-grid,.teacher-student-links{gap:10px;display:grid}.teacher-students-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-student-card,.teacher-student-link{border-radius:var(--radius-md);border:1px solid var(--line);transition:all .22s var(--ease);background:#fff;padding:14px 16px}.teacher-student-card{gap:8px;display:grid}.teacher-student-link{text-decoration:none}.teacher-student-link:hover{border-color:var(--teal);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.teacher-student-link:active{box-shadow:var(--shadow-xs);transform:translateY(0)}.teacher-search-wrap{position:relative}.teacher-search-dropdown{z-index:50;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(14px);max-height:340px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.teacher-search-item{color:var(--ink);transition:background .12s var(--ease);border-bottom:1px solid var(--line);flex-direction:column;gap:2px;padding:11px 16px;text-decoration:none;display:flex}.teacher-search-item:last-child{border-bottom:none}.teacher-search-item:hover,.teacher-search-item-highlighted{background:var(--teal-light)}.teacher-search-item-name{font-size:.9rem;font-weight:500}.teacher-search-item-class{color:var(--ink-soft);font-size:.76rem}.teacher-search-empty{color:var(--ink-faint);text-align:center;padding:14px 16px;font-size:.86rem}.teacher-table-shell{width:100%;overflow-x:auto}.teacher-table{border-collapse:collapse;width:100%;font-size:.875rem}.teacher-table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);border-bottom:2px solid var(--line-strong);padding:10px 14px;font-size:.72rem;font-weight:600}.teacher-table td{border-bottom:1px solid var(--line);color:var(--ink);vertical-align:middle;padding:11px 14px}.teacher-table tbody tr:last-child td{border-bottom:none}.teacher-table tbody tr:hover{background:var(--teal-light)}.status-pill{border-radius:var(--radius-pill);letter-spacing:.04em;text-transform:capitalize;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-block}.status-pill-open{color:var(--gold);background:#a57a161f}.status-pill-approved{color:var(--teal);background:#17696f1a}.status-pill-default{background:var(--line);color:var(--ink-soft)}.teacher-home{gap:14px}.teacher-home-header h2{margin:2px 0 4px;font-size:1.35rem;line-height:1.2}.teacher-home-header .text-muted{margin:0;font-size:.88rem}.teacher-home-empty{text-align:center;margin:0;padding:18px 4px;font-size:.88rem}.teacher-home-action{min-height:36px;padding:8px 16px;font-size:.85rem}.teacher-home-filter{align-items:center;gap:8px;display:inline-flex}.teacher-home-filter-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-size:.74rem;font-weight:600}.teacher-home-form-message{min-height:1.2em;transition:color .18s var(--ease);margin:0;font-size:.85rem}.teacher-home-form-message:empty{display:none}.teacher-home-form-message.is-success{color:#0f6b45}.teacher-home-form-message.is-error{color:#a3271a}.teacher-subnav{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.teacher-subnav-back{border-radius:var(--radius-sm);color:var(--ink-soft);transition:background .16s var(--ease),color .16s var(--ease);align-items:center;gap:4px;padding:6px 10px;font-size:.82rem;text-decoration:none;display:inline-flex}.teacher-subnav-back:hover,.teacher-subnav-back:focus-visible{color:var(--ink);background:#11231e0a}.teacher-subnav-back:focus-visible{outline:2px solid var(--teal);outline-offset:2px}@media(max-width:720px){.teacher-subnav{gap:6px}.teacher-subnav-back{padding:6px 8px}.teacher-subnav .admin-subnav-links{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.teacher-home-action{width:100%;min-height:40px}.teacher-home-filter{justify-content:flex-end;width:100%}}@media(prefers-reduced-motion:reduce){.teacher-student-link,.teacher-subnav-back,.teacher-home-form-message{transition:none}}.report-auto-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px;display:grid}.report-auto-grid>div{flex-direction:column;gap:3px;display:flex}.report-auto-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);font-size:.72rem}.report-auto-value{color:var(--ink);font-size:1.05rem;font-weight:600}.report-marks{flex-direction:column;gap:10px;display:flex}.report-mark-row{grid-template-columns:minmax(120px,1fr) minmax(0,1.2fr) minmax(0,2fr);align-items:center;gap:10px;display:grid}.report-mark-row:has(>.report-input:nth-of-type(3)){grid-template-columns:minmax(120px,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.6fr)}.report-mark-subject{color:var(--ink);font-weight:600}.report-field{flex-direction:column;gap:5px;margin-bottom:12px;display:flex}.report-field label{color:var(--ink);font-size:.85rem;font-weight:600}.report-input,.report-field textarea{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);font:inherit;background:#fff;padding:8px 10px}.report-input:focus,.report-field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-light);outline:none}.report-field textarea{resize:vertical}.report-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}@media(max-width:640px){.report-mark-row,.report-mark-row:has(>.report-input:nth-of-type(3)){grid-template-columns:1fr}}.report-open-form{max-width:420px}.report-chip{cursor:pointer;font:inherit;border-radius:var(--radius-pill);background:0 0;border:1px solid #0000;align-items:center;gap:6px;margin:0;padding:0;display:inline-flex}.report-chip:hover .status-pill{filter:brightness(.92)}.report-chip-active .status-pill{outline:2px solid var(--teal);outline-offset:1px}.report-chip:hover .badge,.report-chip:hover .admin-section-badge{filter:brightness(.92)}.report-chip-active .badge,.report-chip-active .admin-section-badge{outline:2px solid var(--teal);outline-offset:1px}.report-filter-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.rating-scale{gap:6px;display:grid}.rating-scale-row{grid-template-columns:150px minmax(0,1fr);align-items:center;gap:14px;display:grid}.rating-scale-label{color:var(--ink);font-size:.85rem;font-weight:500}.rating-seg{grid-template-columns:repeat(var(--seg-cols,4),minmax(0,1fr));background:#11231e0d;border-radius:9px;gap:3px;width:100%;max-width:440px;padding:3px;display:grid}.rating-seg-btn{color:var(--ink-soft);cursor:pointer;transition:background .13s var(--ease),color .13s var(--ease);text-align:center;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:6px;min-width:0;min-height:30px;padding:6px;font-size:.78rem;font-weight:500;overflow:hidden}.rating-seg-btn:hover:not(.is-selected):not(:disabled){color:var(--ink);background:#11231e12}.rating-seg-btn:disabled{cursor:default}.rating-seg-btn.is-selected{color:#fff}.rating-seg-btn.is-selected.q-excellent{background:#0f6b45}.rating-seg-btn.is-selected.q-good{background:var(--teal)}.rating-seg-btn.is-selected.q-satisfactory{background:#b7791f}.rating-seg-btn.is-selected.q-unsatisfactory{background:#b0341d}@media(max-width:620px){.rating-scale-row{grid-template-columns:1fr;gap:4px}.rating-scale-label{font-size:.8rem}.rating-seg{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}}.admin-form .admin-form-group{margin-bottom:12px}.admin-form .admin-form-group:last-of-type{margin-bottom:0}.admin-form .admin-form-group label{color:var(--ink);margin-bottom:5px;font-size:.85rem;font-weight:600;display:block}.admin-form .admin-form-actions{justify-content:flex-end;margin-top:14px;display:flex}.teacher-diary-entries{gap:20px;display:grid}.teacher-diary-entry{border:1px solid var(--line);border-left:4px solid var(--line-strong);border-radius:var(--radius-lg);background:#ffffff80;gap:8px;padding:14px 16px 16px;display:grid}.teacher-diary-entry-completed{border-left-color:#0f6b45}.teacher-diary-entry-satisfactory{border-left-color:var(--gold)}.teacher-diary-entry-incomplete{border-left-color:var(--berry)}.teacher-diary-entry-overdue{background:#9b1c1c08;border-color:#9b1c1c33 #9b1c1c33 #9b1c1c33 #9b1c1c8c}.teacher-diary-entry-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px 8px;padding-bottom:8px;display:flex}.teacher-diary-entry-day{flex-wrap:wrap;flex:100%;align-items:baseline;gap:4px 8px;min-width:0;display:flex}.teacher-diary-entry-date{letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.02rem;font-weight:700;line-height:1.25}.teacher-diary-entry-subject{color:var(--ink-soft);font-size:.8rem}.teacher-diary-entry-trail{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.teacher-diary-entry-badge{font-size:.74rem}.teacher-diary-line{margin:6px 0;font-size:.88rem}.teacher-diary-line-label{color:var(--ink-soft);font-weight:500}.teacher-diary-entry .teacher-diary-line{margin:0}.teacher-diary-entry-note{color:var(--ink-soft);overflow-wrap:anywhere;margin:0;font-size:.85rem;font-style:italic}.teacher-diary-entry-parent{border-top:1px dashed var(--line);gap:4px;padding-top:8px;font-size:.85rem;display:grid}.teacher-diary-entry>.homework-attachments{margin-top:0}@media(max-width:720px){.teacher-diary-entries{gap:18px}.teacher-diary-entry{padding:12px 14px 14px}.teacher-diary-entry-date{font-size:.98rem}}.public-home-shell{gap:24px;width:100%;max-width:1200px;margin:0 auto;display:grid}.public-hero{grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr);align-items:start;gap:40px;padding:clamp(24px,4vw,48px);display:grid;position:relative;overflow:hidden}.public-hero:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 100% 0,#17696f0f,#0000 55%),radial-gradient(circle at 0 100%,#a57a160d,#0000 50%);position:absolute;inset:0}.public-hero>*{z-index:1;position:relative}.public-hero-copy{align-content:start;gap:20px;min-width:0;display:grid}.public-hero-title{letter-spacing:-.015em;color:var(--ink);max-width:18ch;margin:0;font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.08}.public-form-hero h1{letter-spacing:-.01em;margin:0;font-size:clamp(1.85rem,3.6vw,2.6rem);line-height:1.1}.public-hero-intro{max-width:56ch;color:var(--ink-soft);margin:0;font-size:1.02rem;line-height:1.65}.public-hero-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.public-button-link{justify-content:center;align-items:center;gap:8px;min-height:44px;text-decoration:none;display:inline-flex}.public-button-link svg{width:18px;height:18px}.public-auth-slot{border-top:1px solid var(--line);gap:8px;max-width:360px;margin-top:8px;padding-top:20px;display:grid}.public-auth-label{color:var(--ink-soft);margin:0;font-size:.86rem}.public-hero-aside{align-content:start;display:grid}.public-info-card{border-radius:var(--radius-lg);border:1px solid var(--line);background:linear-gradient(180deg,var(--teal-light) 0%,transparent 80%),var(--bg-surface);gap:14px;padding:24px;display:grid}.public-info-title{letter-spacing:-.01em;margin:0;font-size:1.15rem}.public-info-eyebrow{margin-top:6px}.public-info-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.public-info-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;margin:0;padding:10px 0;display:flex}.public-info-row:last-child{border-bottom:0}.public-info-row dt,.public-info-row>strong{color:var(--ink);font-size:.92rem;font-weight:600}.public-info-row dd{color:var(--ink-soft);margin:0;font-size:.92rem}.public-info-list--contacts{gap:6px;display:grid}.public-info-list--contacts li{padding:4px 0}.public-contact-link{color:var(--teal);min-height:44px;transition:color .2s var(--ease);align-items:center;gap:8px;font-size:.92rem;text-decoration:none;display:inline-flex}.public-contact-link:hover{color:#0e5358}.public-contact-link:focus-visible{border-radius:var(--radius-xs);box-shadow:var(--shadow-focus);outline:none}.public-contact-link svg{flex-shrink:0;width:18px;height:18px}.public-form-hero{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:clamp(24px,3.5vw,36px);display:grid}.public-form-hero>div:first-child{gap:12px;display:grid}.public-application-form{gap:24px;padding:clamp(20px,3.5vw,36px);display:grid}.public-form-legend{color:var(--ink-soft);margin:0;font-size:.86rem}.public-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.public-form-full{grid-column:1/-1}.public-field{gap:6px;min-width:0;display:grid}.public-field-label{color:var(--ink);justify-content:space-between;align-items:baseline;gap:8px;font-size:.86rem;font-weight:600;display:flex}.public-field-label-text{align-items:baseline;gap:4px;display:inline-flex}.public-form-required{color:var(--berry);margin-left:2px;font-weight:700}.public-field-optional{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;font-size:.74rem;font-weight:500}.public-field-hint{color:var(--ink-faint);margin:0;font-size:.8rem;line-height:1.4}.public-field input,.public-field select,.public-field textarea{min-height:48px;font-size:.95rem}.public-field textarea{min-height:110px}.public-field select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%236b7e78' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:14px 9px;padding-right:44px}.public-field select:disabled{cursor:default;opacity:.55}.public-declaration{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--bg-surface);cursor:pointer;--checkbox-size:20px;align-items:flex-start;gap:12px;padding:16px 18px;font-size:.92rem;line-height:1.5;display:flex}.public-declaration input[type=checkbox]{margin-top:2px}.public-declaration:focus-within{border-color:var(--teal);box-shadow:var(--shadow-focus)}.public-form-actions{flex-wrap:wrap;align-items:center;gap:12px;padding-top:4px;display:flex}.public-form-actions .primary-button,.public-form-actions .ghost-button{min-height:48px;padding-inline:28px}.public-form-error-block{border-radius:var(--radius-md);color:var(--berry);background:#7a2f520f;border:1px solid #7a2f5240;gap:8px;padding:16px 18px;display:grid}.public-form-error-title{color:var(--berry);margin:0;font-size:.95rem;font-weight:600}.public-form-errors{color:var(--berry);margin:0;padding-left:20px;font-size:.88rem;line-height:1.5}.public-form-errors li{margin-bottom:2px}.public-success-panel{background:linear-gradient(180deg,var(--teal-light) 0%,var(--bg-surface) 70%);border-color:#17696f33;gap:14px;padding:clamp(20px,3vw,32px);display:grid}.public-success-panel h2{letter-spacing:-.01em;margin:0;font-size:1.5rem}.public-success-panel p{color:var(--ink-soft);margin:0}.public-success-reference{border-radius:var(--radius-md);background:#fff;border:1px solid #17696f33;gap:4px;padding:16px 20px;display:grid}.public-success-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-size:.74rem;font-weight:600}.public-success-reference strong{letter-spacing:.04em;color:var(--teal);font-size:1.5rem}.public-success-meta{color:var(--ink-soft);font-size:.86rem}.public-footer{border-top:1px solid var(--line);color:var(--ink-soft);gap:20px;margin-top:12px;padding:28px clamp(20px,3vw,32px);font-size:.92rem;display:grid}.public-footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.public-footer-title{text-transform:uppercase;letter-spacing:.1em;color:var(--ink);margin:0 0 8px;font-size:.78rem;font-weight:700}.public-footer-text{max-width:36ch;margin:0;line-height:1.55}.public-footer-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.public-footer-link{color:var(--ink-soft);min-height:44px;transition:color .2s var(--ease);align-items:center;text-decoration:none;display:inline-flex}.public-footer-link:hover{color:var(--teal)}.public-footer-link:focus-visible{border-radius:var(--radius-xs);box-shadow:var(--shadow-focus);outline:none}.public-footer-bottom{border-top:1px solid var(--line);color:var(--ink-faint);flex-wrap:wrap;justify-content:space-between;gap:8px;padding-top:16px;font-size:.84rem;display:flex}.tabular-nums{font-variant-numeric:tabular-nums}@media(max-width:880px){.public-hero{grid-template-columns:1fr;gap:28px}.public-hero-title{max-width:none}.public-form-hero{grid-template-columns:1fr}.public-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.public-home-shell{gap:16px}.public-form-grid{grid-template-columns:1fr}.public-hero-actions,.public-form-actions{width:100%}.public-hero-actions>a,.public-hero-actions>button,.public-form-actions>.primary-button,.public-form-actions>.ghost-button,.public-form-actions>a{justify-content:center;width:100%}.public-auth-slot{max-width:none}.public-footer-grid{grid-template-columns:1fr;gap:20px}.public-footer-bottom{flex-direction:column;align-items:flex-start}.public-success-reference strong{font-size:1.25rem}}@media(prefers-reduced-motion:reduce){.public-contact-link,.public-footer-link,.public-button-link,.public-application-form *,.public-info-card{transition:none!important}.primary-button:hover,.ghost-button:hover{transform:none!important}}.auth-hero h1{margin:0 0 8px;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.05}.auth-form,.student-selector,.portal-grid,.list-table,.stack-list{gap:12px;display:grid}.auth-form label,.student-selector span{gap:6px;display:grid}.auth-divider{text-align:center;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;align-items:center;margin:24px 0;font-size:.76rem;font-weight:500;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-bottom:1px solid var(--line);flex:1}.auth-divider:not(:empty):before{margin-right:12px}.auth-divider:not(:empty):after{margin-left:12px}.auth-application-section{text-align:center;gap:12px;display:grid}.google-button-slot{min-height:44px}.ui-level-test-page{align-content:start}.ui-level-test-threshold{justify-items:start;gap:5px;min-width:150px;display:grid}.ui-level-test-threshold span{color:var(--ink-faint);letter-spacing:.1em;text-transform:uppercase;font-size:.74rem;font-weight:600}.ui-level-test-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.ui-level-test-chart{gap:4px;display:grid}.ui-level-test-bar-row{grid-template-columns:minmax(0,1.2fr) minmax(120px,2fr) auto;align-items:center;gap:10px;padding:2px 0;font-size:.8rem;line-height:1.3;display:grid}.ui-level-test-bar-copy{align-items:baseline;gap:6px;min-width:0;display:flex}.ui-level-test-class-trigger{color:var(--teal);cursor:pointer;font:inherit;text-align:left;text-underline-offset:.2em;white-space:nowrap;text-overflow:ellipsis;min-width:0;transition:color .16s var(--ease);background:0 0;border:0;flex:0 auto;padding:0;font-weight:600;text-decoration:underline;overflow:hidden}.ui-level-test-class-trigger:hover,.ui-level-test-class-trigger:focus-visible{color:var(--sunset);outline:none}.ui-level-test-class-schedule{color:var(--ink-faint);white-space:nowrap;flex:none;font-size:.72rem;font-weight:400;text-decoration:none}.ui-level-test-bar-count{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;min-width:4ch;font-size:.78rem;font-weight:600}.ui-level-test-bar-track{border-radius:var(--radius-pill);background:#11231e0a;height:6px;overflow:hidden}.ui-level-test-bar-fill{border-radius:var(--radius-pill);background:var(--sunset);min-width:0;height:100%;transition:width .6s var(--ease)}.ui-level-test-bar-value{text-align:right;min-width:2ch}@media(max-width:540px){.ui-level-test-bar-row{grid-template-columns:minmax(0,1.4fr) auto;gap:6px}.ui-level-test-bar-track{grid-column:1/-1;margin-top:2px}}.ui-level-test-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.lsn-intro{color:var(--ink-soft);max-width:62ch;margin:4px 0 0}.lsn-section{animation:lsn-rise .5s var(--ease,ease) both;animation-delay:calc(var(--i,0) * 80ms)}@keyframes lsn-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.lsn-qlabel{color:var(--ink);margin:0 0 10px;font-size:1.02rem;font-weight:600}.lsn-qlabel em,.lsn-field em{color:var(--ink-faint);font-size:.85em;font-style:normal;font-weight:400}.lsn-qlabel-sub{margin-top:14px;font-size:.94rem}.lsn-hint{color:var(--ink-soft);max-width:60ch;margin:-4px 0 12px;font-size:.88rem}.lsn-namerow{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.lsn-field{gap:5px;min-width:0;display:grid}.lsn-field+.lsn-field{margin-top:12px}.lsn-namerow .lsn-field+.lsn-field{margin-top:0}.lsn-field>span{color:var(--ink-soft);font-size:.8rem;font-weight:600}.lsn-count{max-width:320px;margin-top:12px}.lsn-cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.lsn-card{text-align:left;border:1.5px solid var(--line-strong);background:var(--panel,#fff);cursor:pointer;font:inherit;color:var(--ink);transition:border-color .18s var(--ease,ease),box-shadow .18s var(--ease,ease),transform .18s var(--ease,ease);border-radius:14px;align-content:start;gap:6px;padding:16px 16px 14px;display:grid;position:relative}.lsn-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #11231e14}.lsn-card:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.lsn-card[aria-pressed=true]{border-color:var(--teal);background:var(--teal-light);box-shadow:0 6px 18px #17696f24}.lsn-card-emoji{font-size:1.6rem;line-height:1}.lsn-card-title{font-size:.96rem;font-weight:700}.lsn-card-body{color:var(--ink-soft);font-size:.84rem;line-height:1.45}.lsn-card-tick{background:var(--teal);color:#fff;opacity:0;width:22px;height:22px;transition:opacity .18s var(--ease,ease),transform .18s var(--ease,ease);border-radius:50%;place-items:center;font-size:.75rem;font-weight:700;display:grid;position:absolute;top:10px;right:10px;transform:scale(.4)}.lsn-card[aria-pressed=true] .lsn-card-tick{opacity:1;transform:scale(1)}.lsn-follow{transition:grid-template-rows .32s var(--ease,ease);grid-template-rows:0fr;display:grid}.lsn-follow[data-open=true]{grid-template-rows:1fr}.lsn-follow>div{min-height:0;overflow:hidden}.lsn-chips{flex-wrap:wrap;gap:8px;display:flex}.lsn-chip{border:1.5px solid var(--line-strong);background:var(--panel,#fff);font:inherit;color:var(--ink);cursor:pointer;transition:border-color .16s var(--ease,ease),background .16s var(--ease,ease),transform .16s var(--ease,ease);border-radius:999px;padding:8px 16px;font-size:.88rem;font-weight:600}.lsn-chip:hover{border-color:var(--teal-mid);transform:translateY(-1px)}.lsn-chip:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.lsn-chip[aria-pressed=true]{border-color:var(--teal);background:var(--teal-light);color:var(--teal)}.lsn-chip-add{color:var(--ink-soft);border-style:dashed}.lsn-order-now{border-left:3px solid var(--teal-light);color:var(--ink-soft);gap:3px;margin:0 0 12px;padding:10px 14px 10px 34px;font-size:.88rem;display:grid}.lsn-options{gap:8px;display:grid}.lsn-option{text-align:left;border:1.5px solid var(--line-strong);background:var(--panel,#fff);font:inherit;color:var(--ink);cursor:pointer;transition:border-color .16s var(--ease,ease),background .16s var(--ease,ease);border-radius:12px;gap:2px;padding:11px 40px 11px 14px;display:grid;position:relative}.lsn-option:hover{border-color:var(--teal-mid)}.lsn-option:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.lsn-option[aria-pressed=true]{border-color:var(--teal);background:var(--teal-light)}.lsn-option[aria-pressed=true]:after{content:"✓";color:var(--teal);font-weight:700;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.lsn-option-title{font-size:.92rem;font-weight:600}.lsn-option-sub{color:var(--ink-soft);font-size:.82rem}.lsn-next{background:var(--teal-light);color:var(--teal);border-radius:10px;max-width:60ch;margin:0 0 12px;padding:10px 14px;font-size:.88rem;font-weight:600}.lsn-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-bottom:8px;display:flex}@media(max-width:700px){.lsn-cards{grid-template-columns:1fr}.lsn-actions{flex-direction:column-reverse}.lsn-actions>*{width:100%}}@media(prefers-reduced-motion:reduce){.lsn-section{animation:none}.lsn-follow,.lsn-card,.lsn-chip,.lsn-option,.lsn-card-tick{transition:none}.lsn-card:hover,.lsn-chip:hover{transform:none}}:root{--merit-blush:#cfe1d6;--merit-blush-soft:#e8f1ea;--merit-rose:#2f6a3a;--merit-rose-deep:#11231e;--merit-mint:#d9ebd9;--merit-mint-ink:#2f6a3a;--merit-cream-card:#faf3e8;--merit-cream-card-soft:#f3e9d7;--merit-sunset-soft:#f7d7c2;--merit-card-shadow:0 1px 0 #ffffffa6 inset, 0 1px 2px #11231e0a, 0 8px 22px -14px #11231e2e;--merit-card-shadow-press:0 1px 0 #ffffff80 inset, 0 1px 1px #11231e0d;--merit-seal-filled:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.6 14.55 6.4 19.96 5.96 16.83 10.39 22 12 16.83 13.61 19.96 18.04 14.55 17.6 12 22.4 9.45 17.6 4.04 18.04 7.17 13.61 2 12 7.17 10.39 4.04 5.96 9.45 6.4Z' fill='%2311231e' stroke='%2311231e' stroke-width='0.4' stroke-linejoin='round'/%3E%3C/svg%3E")}.merit-tile{border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--line);color:inherit;box-shadow:var(--shadow-xs);transition:transform .2s var(--ease),box-shadow .2s var(--ease);grid-template-rows:auto auto auto;grid-template-columns:1fr auto;align-items:baseline;gap:6px 12px;padding:14px 16px;text-decoration:none;display:grid}.merit-tile:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.merit-tile-name{letter-spacing:-.01em;color:var(--ink);font-size:.94rem;font-weight:600}.merit-tile-stat{justify-self:end;align-items:baseline;gap:4px;display:inline-flex}.merit-tile-total{color:var(--berry);letter-spacing:-.02em;font-size:1.6rem;font-weight:700;line-height:1}.merit-tile-total-label{color:var(--ink-faint);letter-spacing:.04em;font-size:.72rem;font-weight:500}.merit-tile-strip{grid-column:1/-1;grid-template-columns:repeat(10,1fr);gap:4px;display:grid}.merit-tile-strip-dot{background:#11231e24;border-radius:999px;height:6px}.merit-tile-strip-dot-filled{background:var(--berry)}.merit-tile-meta{color:var(--ink-soft);flex-wrap:wrap;grid-column:1/-1;gap:12px;font-size:.78rem;display:flex}.merit-tile-meta strong{color:var(--ink);font-weight:600}.merit-panel{gap:16px;display:grid;position:relative}@keyframes merit-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.merit-hero,.merit-card-section,.merit-stat-tile{animation:none}}.merit-hero-total.is-counting{will-change:transform}.merit-hero{background:radial-gradient(120% 140% at 100% 0%,#2f6a3a12 0%,transparent 55%),var(--merit-cream-card);border-radius:var(--radius-lg);box-shadow:var(--merit-card-shadow);animation:merit-rise .48s var(--ease) both;border:1px solid #2f6a3a1a;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:18px;animation-delay:40ms;display:grid}.merit-hero-left{grid-template-columns:auto 1fr;align-items:center;gap:14px;min-width:0;display:grid}.merit-hero-avatar{background:radial-gradient(circle at 35% 30%,#ffffffd9 0%,transparent 55%),var(--merit-blush);width:54px;height:54px;color:var(--merit-rose-deep);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;box-shadow:inset 0 1px #fffc,0 6px 14px -8px #2f6a3a73}.merit-hero-text{gap:4px;min-width:0;display:grid}.merit-hero-name{letter-spacing:.02em;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-family:Outfit,system-ui,sans-serif;font-size:1.4rem;font-weight:700;line-height:1.1;overflow:hidden}.merit-hero-tagline{color:var(--ink-soft);margin:0;font-size:.84rem}.merit-hero-right{text-align:right;justify-items:end;gap:2px;display:grid}.merit-hero-total{color:var(--merit-rose-deep);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-size:2.2rem;font-weight:700;line-height:1}.merit-hero-total-sub{color:var(--ink-soft);font-size:.78rem;font-weight:500}.merit-hero-pct{color:var(--merit-rose-deep);border-radius:var(--radius-pill);letter-spacing:.02em;background:#2f6a3a21;margin-top:4px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-block}.merit-card-section{background:var(--merit-cream-card);border-radius:var(--radius-lg);box-shadow:var(--merit-card-shadow);animation:merit-rise .48s var(--ease) both;border:1px solid #11231e0f;gap:14px;padding:18px 18px 16px;animation-delay:.1s;display:grid}.merit-card-section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.merit-card-pill{background:linear-gradient(180deg,#fff6 0%,transparent 100%),var(--merit-mint);color:var(--merit-mint-ink);letter-spacing:.06em;border-radius:var(--radius-pill);padding:5px 12px;font-size:.72rem;font-weight:700;display:inline-block;box-shadow:inset 0 1px #ffffff8c}.merit-card-section-count{color:var(--ink-soft);font-size:.84rem;font-weight:500}.merit-card-progress{background:#2f6a3a2e;border-radius:999px;height:8px;position:relative;overflow:hidden}.merit-card-progress-fill{background:linear-gradient(90deg,var(--merit-rose) 0%,var(--merit-rose-deep) 100%);border-radius:999px;min-width:0;height:100%;transition:width .9s cubic-bezier(.22,1,.36,1);display:block;position:relative;overflow:hidden}.merit-card-progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff8c,#0000);animation:2.4s ease-in-out .7s merit-progress-shine;position:absolute;inset:0;transform:translate(-100%)}@keyframes merit-progress-shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.merit-card-progress-fill{transition:none}.merit-card-progress-fill:after{opacity:0;animation:none}}.merit-stars-grid{grid-template-columns:repeat(10,1fr);gap:4px 6px;padding:6px 2px 2px;display:grid}.merit-star{aspect-ratio:1;-webkit-user-select:none;user-select:none;width:100%;transition:transform .22s var(--ease),color .22s var(--ease);justify-content:center;align-items:center;display:inline-flex}.merit-star svg{width:88%;height:88%;transition:filter .22s var(--ease);display:block}.merit-star-empty{color:var(--merit-blush)}.merit-star-filled{color:var(--merit-rose)}.merit-star-filled svg{filter:drop-shadow(0 1px 1.5px #11231e38)}.merit-stars-grid.is-revealing .merit-star-filled{animation:merit-star-reveal .52s var(--ease) both;animation-delay:calc(.18s + var(--i,0) * 22ms)}@keyframes merit-star-reveal{0%{opacity:0;transform:scale(.55)rotate(-8deg)}60%{opacity:1;transform:scale(1.18)rotate(2deg)}to{opacity:1;transform:scale(1)rotate(0)}}.merit-star-new{animation:merit-star-pop .72s var(--ease) both}@keyframes merit-star-pop{0%{opacity:0;transform:scale(.55)}40%{opacity:1;transform:scale(1.32)}72%{transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.merit-star-new,.merit-stars-grid.is-revealing .merit-star-filled{animation:none}}.merit-card-section-footer{text-align:center;color:var(--ink-soft);margin:2px 0 0;font-size:.82rem;font-weight:500}.merit-stat-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.merit-stat-tile{background:var(--merit-cream-card-soft);border-radius:var(--radius-md);box-shadow:var(--merit-card-shadow);cursor:default;min-width:0;transition:transform .18s var(--ease),box-shadow .18s var(--ease);animation:merit-rise .46s var(--ease) both;border:1px solid #11231e0a;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px 14px;animation-delay:.16s;display:grid}.merit-stat-tile:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffffa6,0 2px 4px #11231e0f,0 12px 26px -16px #11231e38}.merit-stat-tile:active{box-shadow:var(--merit-card-shadow-press);transition-duration:80ms;transform:translateY(0)scale(.985)}.merit-stat-tile-week{background:var(--merit-cream-card-soft)}.merit-stat-tile-teacher{background:linear-gradient(180deg,#ffffff40 0%,transparent 100%),var(--merit-sunset-soft)}.merit-stat-row>.merit-stat-tile:nth-child(2){animation-delay:.2s}.merit-stat-tile-icon{width:32px;height:32px;color:var(--ink);background:#ffffff8c;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.merit-stat-tile-teacher .merit-stat-tile-icon{color:var(--sunset)}.merit-stat-tile-body{gap:2px;min-width:0;display:grid}.merit-stat-tile-label{color:var(--ink-soft);letter-spacing:.02em;font-size:.72rem;font-weight:500}.merit-stat-tile-value{color:var(--ink);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:.96rem;font-weight:700;overflow:hidden}.merit-stat-tile-caret{color:var(--ink-faint);font-size:1.2rem;line-height:1}.merit-recent-section{gap:10px;display:grid}.merit-recent-header{justify-content:space-between;align-items:center;gap:12px;padding:0 4px;display:flex}.merit-recent-heading{color:var(--ink);letter-spacing:-.005em;margin:0;font-size:.86rem;font-weight:700}.merit-recent-viewall{color:var(--merit-rose-deep);cursor:pointer;transition:background .16s var(--ease),color .16s var(--ease);background:0 0;border:none;border-radius:999px;padding:5px 10px;font-size:.78rem;font-weight:600}.merit-recent-viewall:hover{background:#2f6a3a1a}.merit-recent-viewall:active{background:#2f6a3a2e}.merit-recent-viewall:after{content:"›";transition:transform .22s var(--ease);margin-left:4px;display:inline-block}.merit-recent-viewall.is-open:after{transform:rotate(90deg)}.merit-recent-extra{transition:grid-template-rows .32s var(--ease);grid-template-rows:0fr;display:grid}.merit-recent-extra.is-open{grid-template-rows:1fr}.merit-recent-extra>div{min-height:0;overflow:hidden}.merit-recent-extra-list{gap:6px;margin:0;padding-top:6px;list-style:none;display:grid}@media(prefers-reduced-motion:reduce){.merit-recent-extra,.merit-recent-viewall:after{transition:none}}.merit-recent-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.merit-recent-row{background:var(--merit-cream-card);border-radius:var(--radius-md);transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease);animation:merit-recent-in .42s var(--ease) both;animation-delay:calc(.24s + var(--i,0) * 50ms);border:1px solid #11231e0f;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 14px;display:grid;box-shadow:inset 0 1px #ffffff8c}.merit-recent-row:hover{background:#fdf8ec;transform:translateY(-1px);box-shadow:inset 0 1px #ffffffb3,0 6px 14px -10px #11231e2e}.merit-recent-row:active{transition-duration:80ms;transform:translateY(0)scale(.99)}@keyframes merit-recent-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.merit-recent-row{animation:none}}.merit-recent-rosette{background:var(--merit-blush);width:32px;height:32px;color:var(--merit-rose-deep);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.merit-recent-body{gap:1px;min-width:0;display:grid}.merit-recent-date{color:var(--ink);letter-spacing:-.005em;font-size:.86rem;font-weight:700}.merit-recent-by{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.merit-recent-note{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.78rem;font-style:italic;overflow:hidden}.merit-recent-caret{color:var(--ink-faint);font-size:1.3rem;line-height:1}.merit-completed-section{gap:10px;margin-top:4px;display:grid}.merit-completed-heading{color:var(--ink-soft);letter-spacing:.02em;margin:0;padding:0 4px;font-size:.78rem;font-weight:600}.merit-completed-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.merit-completed-pill{background:var(--merit-blush-soft);border-radius:var(--radius-pill);color:var(--ink-soft);border:1px solid #2f6a3a2e;align-items:baseline;gap:8px;padding:8px 12px;font-size:.78rem;display:inline-flex}.merit-completed-pill-num{color:var(--merit-rose-deep);letter-spacing:.02em;font-weight:700}.merit-panel-celebrate{animation:merit-panel-lift 1.8s var(--ease) both}.merit-panel-celebrate-text{color:var(--gold);letter-spacing:.02em;pointer-events:none;opacity:0;animation:merit-barakah-fade 1.8s var(--ease) both;text-shadow:0 1px #fffdf099;z-index:2;font-family:Amiri,Outfit,serif;font-size:1.8rem;position:absolute;top:-18px;left:50%;transform:translate(-50%)translateY(8px)}@keyframes merit-panel-lift{0%{transform:scale(1)}18%{transform:scale(1.012)}45%{transform:scale(1.014)}to{transform:scale(1)}}@keyframes merit-barakah-fade{0%{opacity:0;transform:translate(-50%,14px)}20%{opacity:1;transform:translate(-50%)}78%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-2px)}}@media(prefers-reduced-motion:reduce){.merit-panel-celebrate{animation:none}.merit-panel-celebrate-text{opacity:1;animation:none;transform:translate(-50%)}}.merit-panel-empty{text-align:center;color:var(--ink-soft);padding:28px 16px;font-size:.9rem}.merit-panel-skeleton{gap:14px;display:grid}.merit-skeleton-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.merit-skeleton-block{border-radius:var(--radius-md);background:linear-gradient(90deg,#11231e0d,#11231e1a,#11231e0d) 0 0/200% 100%;animation:1.4s ease-in-out infinite merit-shimmer}@keyframes merit-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.merit-skeleton-block{animation:none}}.merit-child-switcher{border-radius:var(--radius-pill);scrollbar-width:none;background:#11231e12;gap:2px;max-width:100%;margin-bottom:14px;padding:3px;display:inline-flex;overflow-x:auto}.merit-child-switcher::-webkit-scrollbar{display:none}.merit-child-switcher-chip{border-radius:var(--radius-pill);color:var(--ink-soft);cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease);white-space:nowrap;background:0 0;border:none;flex-shrink:0;padding:7px 18px;font-size:.84rem;font-weight:600;line-height:1}.merit-child-switcher-chip:hover{color:var(--ink)}.merit-child-switcher-chip-active{color:var(--merit-rose-deep);background:#fff;box-shadow:0 1px 5px #11231e24,0 0 0 .5px #11231e12}@media(min-width:720px){.merit-hero{padding:22px 24px}.merit-hero-name{font-size:1.6rem}.merit-hero-total{font-size:2.6rem}.merit-card-section{padding:22px 24px 20px}.merit-stars-grid{gap:6px 8px}.merit-star{font-size:1.5rem}}.merits-roster,.merits-detail{--merits-berry:var(--berry,#7a2f52);--merits-gold:var(--gold,#a57a16);--merits-sunset:var(--sunset,#b9572b);--merits-ink:var(--ink,#11231e);--merits-ink-soft:var(--ink-soft,#6b7e78);--merits-ink-faint:var(--ink-faint,#94a5a0);--merits-bg:var(--bg,#f5efe2);--merits-bg-surface:var(--bg-surface,#faf7f1);--merits-line:var(--line,#11231e14)}.merits-roster{gap:10px;min-width:0;display:grid}.merits-roster-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.merits-roster-search{flex:240px;min-width:0;min-height:44px}.merits-roster-count{color:var(--merits-ink-soft);white-space:nowrap;font-size:.85rem}.merits-roster-groups{gap:14px;display:grid}.merits-roster-group{border:1px solid var(--merits-line);border-radius:var(--radius-sm,12px);background:var(--merits-bg-surface);overflow:hidden}.merits-roster-group-header{border-bottom:1px solid var(--merits-line);background:linear-gradient(180deg,var(--merits-berry),transparent);justify-content:space-between;align-items:baseline;gap:12px;padding:12px 16px;display:flex}@supports (color:color-mix(in lab,red,red)){.merits-roster-group-header{background:linear-gradient(180deg,color-mix(in srgb,var(--merits-berry) 6%,transparent),transparent)}}.merits-roster-group-title{color:var(--merits-ink);margin:0;font-size:.95rem;font-weight:600}.merits-roster-group-count{color:var(--merits-ink-soft);white-space:nowrap;font-size:.8rem}.merits-roster-list{margin:0;padding:0;list-style:none}.merits-roster-row{border-top:1px solid var(--merits-line)}.merits-roster-row:first-child{border-top:0}.merits-roster-row-button{cursor:pointer;text-align:left;width:100%;color:inherit;min-height:48px;font:inherit;transition:background .14s var(--ease,cubic-bezier(.22, 1, .36, 1));background:0 0;border:0;grid-template-columns:minmax(0,1.2fr) minmax(0,2fr) auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.merits-roster-row-button:hover,.merits-roster-row-button:focus-visible{background:var(--merits-berry)}@supports (color:color-mix(in lab,red,red)){.merits-roster-row-button:hover,.merits-roster-row-button:focus-visible{background:color-mix(in srgb,var(--merits-berry) 6%,transparent)}}.merits-roster-row-button:hover,.merits-roster-row-button:focus-visible{outline:none}.merits-roster-row-name{color:var(--merits-ink);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:500;overflow:hidden}.merits-roster-row-total{color:var(--merits-berry);font-variant-numeric:tabular-nums;text-align:right;min-width:36px;font-weight:600}.merits-card-strip{flex-wrap:wrap;gap:3px;min-width:0;max-width:100%;display:flex}.merits-card-strip>*{flex:0 0 9px;width:9px;height:9px}.merits-card-strip>:nth-child(25){margin-right:4px}@media(max-width:520px){.merits-roster-row-button{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:12px}.merits-roster-row-name{grid-area:1/1}.merits-roster-row-total{grid-area:1/2}.merits-card-strip{grid-area:2/1/auto/-1}.merits-card-strip>*{flex:0 0 8px;width:8px;height:8px}}.merits-completion-banner{background:var(--merits-bg);border:1px solid var(--merits-line);border-top:2px solid var(--merits-gold);border-radius:var(--radius-sm,12px);gap:4px;padding:6px 10px;display:grid}.merits-completion-banner-row{border-bottom:1px solid var(--merits-line);transition:opacity .24s var(--ease,ease),transform .24s var(--ease,ease);align-items:center;gap:12px;padding:8px 6px;display:flex}.merits-completion-banner-row:last-child{border-bottom:0}.merits-completion-banner-row--fading{opacity:0;pointer-events:none;transform:translate(8px)}.merits-completion-banner-text{min-width:0;color:var(--merits-ink);flex:1;font-size:.88rem}.merits-completion-banner-text strong{color:var(--merits-berry)}.merits-completion-banner-ack{white-space:nowrap;min-height:36px}.merits-archive-badge{border-radius:var(--radius-pill,999px);background:var(--merits-gold);align-self:flex-start;align-items:center;padding:6px 12px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.merits-archive-badge{background:color-mix(in srgb,var(--merits-gold) 14%,transparent)}}.merits-archive-badge{color:var(--merits-gold);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--merits-gold);font-size:.78rem;font-weight:600}@supports (color:color-mix(in lab,red,red)){.merits-archive-badge{border:1px solid color-mix(in srgb,var(--merits-gold) 35%,transparent)}}.merits-detail{gap:10px;min-width:0;display:grid}.merits-actionbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:10px;display:flex}.merits-actionbar-award{flex:320px;align-items:center;gap:8px;min-width:0;display:flex}.merits-award-btn{white-space:nowrap;flex:none;min-height:34px;padding:0 18px;font-size:.86rem}.merits-note-input{flex:auto;width:auto;min-width:0}.merits-actionbar-archive{border-radius:var(--radius-sm);background:var(--gold);flex:320px;margin:0;padding:8px 12px}@supports (color:color-mix(in lab,red,red)){.merits-actionbar-archive{background:color-mix(in srgb,var(--gold) 10%,transparent)}}.merits-actionbar-archive{border:1px solid var(--gold)}@supports (color:color-mix(in lab,red,red)){.merits-actionbar-archive{border:1px solid color-mix(in srgb,var(--gold) 35%,transparent)}}.merits-actionbar-archive{color:var(--ink);font-size:.84rem}.merits-year-field{flex:none;min-width:0}.merits-year-field .admin-filter-select{width:150px}.merits-summary{border:1px solid var(--line);border-radius:var(--radius-md,16px);background:var(--bg-surface);transition:box-shadow .24s var(--ease);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:16px;padding:12px 16px;display:grid}.merits-summary--lift{box-shadow:0 0 0 3px var(--berry)}@supports (color:color-mix(in lab,red,red)){.merits-summary--lift{box-shadow:0 0 0 3px color-mix(in srgb,var(--berry) 18%,transparent)}}.merits-summary-stats{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.merits-stat{border-right:1px solid var(--line);gap:1px;min-width:0;padding-right:12px;display:grid}.merits-stat:last-child{border-right:0;padding-right:0}.merits-stat-value{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.45rem;font-weight:700;line-height:1.1}.merits-stat:first-child .merits-stat-value{color:var(--berry)}.merits-stat-of{color:var(--ink-faint);font-size:.95rem;font-weight:600}.merits-stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-size:.68rem;font-weight:600}.merits-progress{gap:5px;min-width:0;display:grid}.merits-progress-head{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);justify-content:space-between;align-items:baseline;font-size:.7rem;font-weight:600;display:flex}.merits-progress-pct{color:var(--berry);font-variant-numeric:tabular-nums}.merits-detail-card-grid{grid-template-columns:repeat(25,10px);justify-content:start;gap:3px;display:grid}.merits-detail-star{justify-content:center;align-items:center;width:10px;height:10px;display:inline-flex}.merits-detail-star svg{width:100%;height:100%;display:block}.merits-detail-star-filled{color:var(--berry,#7a2f52)}.merits-detail-star-empty{color:var(--line,#e3ded7)}.merits-detail-star--inked{animation:merits-seal-ink-in .7s var(--ease,cubic-bezier(.22, 1, .36, 1))}@keyframes merits-seal-ink-in{0%{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1.18)}to{opacity:1;transform:scale(1)}}.merits-panels{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:10px;display:grid}.merits-detail-empty{color:var(--ink-faint);margin:0;font-size:.85rem}.merits-log,.merits-cards{gap:2px;max-height:340px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.merits-log-row{border-bottom:1px solid var(--line);grid-template-columns:16px minmax(0,1fr) auto;align-items:start;gap:9px;padding:6px 4px;display:grid}.merits-log-row:last-child{border-bottom:0}.merits-log-mark{width:12px;height:12px;color:var(--berry);margin-top:2px;display:inline-flex}.merits-log-mark svg{width:100%;height:100%;display:block}.merits-log-body{gap:1px;min-width:0;display:grid}.merits-log-top{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;display:flex}.merits-log-by{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.merits-log-time{color:var(--ink-faint);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.74rem}.merits-log-note{color:var(--ink-soft);overflow-wrap:anywhere;font-size:.8rem}.merits-card-row{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:5px 4px;display:flex}.merits-card-row:last-child{border-bottom:0}.merits-card-badge{background:var(--berry);color:#fff;font-variant-numeric:tabular-nums;border-radius:50%;flex:0 0 22px;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;font-weight:700;display:inline-flex}.merits-card-text{min-width:0;color:var(--ink);flex:1;justify-content:space-between;align-items:baseline;gap:10px;font-size:.85rem;display:flex}.merits-card-date{color:var(--ink-faint);white-space:nowrap;font-size:.76rem}@media(prefers-reduced-motion:reduce){.merits-summary--lift,.merits-detail-star--inked{box-shadow:none;animation:none}.merits-completion-banner-row--fading{transition:none}}@media(max-width:900px){.merits-summary,.merits-panels{grid-template-columns:minmax(0,1fr)}.merits-log,.merits-cards{max-height:none}}@media(max-width:520px){.merits-actionbar-award,.merits-year-field{flex:100%}.merits-year-field .admin-filter-select{width:100%}}.merits-toast{background:var(--merits-ink);color:var(--merits-bg);border-radius:var(--radius-sm,12px);z-index:2000;align-items:center;gap:12px;max-width:360px;padding:12px 18px;font-size:.88rem;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 24px #11231e40}.merits-toast-close{color:inherit;cursor:pointer;opacity:.85;background:0 0;border:0;padding:0 2px;font-size:1.1rem;line-height:1}@media(max-width:520px){.merits-toast{max-width:none;bottom:12px;left:12px;right:12px}}.merits-roster-toolbar{z-index:5;background:var(--merits-bg);padding:6px 0;position:sticky;top:0}.merits-roster-notice{border:1px solid var(--merits-line);border-top:2px solid var(--merits-gold);border-radius:var(--radius-md,16px);background:var(--merits-bg-surface);text-align:center;gap:8px;max-width:560px;margin:24px auto;padding:28px 24px;display:grid}.merits-roster-notice-title{color:var(--merits-ink);margin:0;font-size:1.1rem;font-weight:600}.merits-roster-notice-body{color:var(--merits-ink-soft);margin:0;font-size:.92rem;line-height:1.55}.merits-leaderboard{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:12px;margin:0 -2px;padding:4px 2px 8px;display:flex;overflow-x:auto}.merits-leaderboard-tile{scroll-snap-align:start;border:1px solid var(--merits-line);border-radius:var(--radius-md,16px);background:var(--merits-bg-surface);min-width:0;transition:transform .2s var(--ease,cubic-bezier(.22, 1, .36, 1)),box-shadow .2s var(--ease,cubic-bezier(.22, 1, .36, 1));flex:0 0 85%;grid-template-rows:auto auto auto;grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;padding:16px 18px;display:grid;position:relative}.merits-leaderboard-tile:hover{box-shadow:var(--shadow-sm,0 6px 16px #11231e0f);transform:translateY(-2px)}.merits-leaderboard-tile-rank{color:var(--merits-ink-soft);letter-spacing:.04em;font-variant-numeric:tabular-nums;grid-area:1/1;font-family:Outfit,system-ui,sans-serif;font-size:.85rem;font-weight:700}.merits-leaderboard-tile-name{color:var(--merits-ink);text-overflow:ellipsis;white-space:nowrap;grid-area:1/2;min-width:0;font-size:.88rem;font-weight:500;overflow:hidden}.merits-leaderboard-tile-count{letter-spacing:-.03em;color:var(--merits-berry);font-variant-numeric:tabular-nums;grid-area:2/1/auto/-1;margin-top:4px;font-family:Outfit,system-ui,sans-serif;font-size:2.4rem;font-weight:700;line-height:1.05}.merits-leaderboard-tile-subtitle{color:var(--merits-ink-soft);text-transform:uppercase;letter-spacing:.06em;grid-area:3/1/auto/-1;font-size:.76rem}.merits-leaderboard-tile--gold{border:2px solid var(--merits-gold);background:linear-gradient(180deg,var(--merits-gold),var(--merits-bg-surface))}@supports (color:color-mix(in lab,red,red)){.merits-leaderboard-tile--gold{background:linear-gradient(180deg,color-mix(in srgb,var(--merits-gold) 10%,var(--merits-bg-surface)),var(--merits-bg-surface))}}.merits-leaderboard-tile--gold{flex-basis:90%}.merits-leaderboard-tile--gold .merits-leaderboard-tile-rank,.merits-leaderboard-tile--gold .merits-leaderboard-tile-count{color:var(--merits-gold)}.merits-leaderboard-tile--gold .merits-leaderboard-tile-count{font-size:2.7rem}.merits-leaderboard-tile--berry{border-color:var(--merits-berry)}@supports (color:color-mix(in lab,red,red)){.merits-leaderboard-tile--berry{border-color:color-mix(in srgb,var(--merits-berry) 45%,var(--merits-line))}}.merits-leaderboard-tile--berry{background:linear-gradient(180deg,var(--merits-berry),var(--merits-bg-surface))}@supports (color:color-mix(in lab,red,red)){.merits-leaderboard-tile--berry{background:linear-gradient(180deg,color-mix(in srgb,var(--merits-berry) 6%,var(--merits-bg-surface)),var(--merits-bg-surface))}}.merits-leaderboard-tile--silver{border-color:var(--merits-ink)}@supports (color:color-mix(in lab,red,red)){.merits-leaderboard-tile--silver{border-color:color-mix(in srgb,var(--merits-ink) 22%,var(--merits-line))}}.merits-leaderboard-tile--silver{background:linear-gradient(180deg,var(--merits-ink),var(--merits-bg-surface))}@supports (color:color-mix(in lab,red,red)){.merits-leaderboard-tile--silver{background:linear-gradient(180deg,color-mix(in srgb,var(--merits-ink) 4%,var(--merits-bg-surface)),var(--merits-bg-surface))}}@media(min-width:720px){.merits-leaderboard{scroll-snap-type:none;margin:0;padding:4px 0 8px;overflow:visible}.merits-leaderboard-tile{flex:1 1 0}.merits-leaderboard--three-up{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.merits-leaderboard--three-up .merits-leaderboard-tile{flex:initial}.merits-leaderboard--three-up .merits-leaderboard-tile--gold{transform:translateY(-4px)}}.merits-primary-classes{gap:14px;display:grid}.merits-primary-class{border:2px solid var(--merits-gold);border-radius:var(--radius-md,16px);background:linear-gradient(180deg,var(--merits-gold),var(--merits-bg-surface))}@supports (color:color-mix(in lab,red,red)){.merits-primary-class{background:linear-gradient(180deg,color-mix(in srgb,var(--merits-gold) 6%,var(--merits-bg-surface)),var(--merits-bg-surface))}}.merits-primary-class{animation:6s ease-in-out infinite merits-primary-breath;position:relative;overflow:hidden}@keyframes merits-primary-breath{0%,to{box-shadow:0 0 color-mix(in srgb,var(--merits-gold) 0%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--merits-gold) 8%,transparent)}}.merits-primary-class-header{border-bottom:1px solid var(--merits-line);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.merits-primary-class-headline{align-items:center;gap:10px;min-width:0;display:flex}.merits-primary-class-pill{border-radius:var(--radius-pill,999px);background:var(--merits-gold);align-items:center;padding:4px 10px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.merits-primary-class-pill{background:color-mix(in srgb,var(--merits-gold) 18%,transparent)}}.merits-primary-class-pill{color:var(--merits-gold);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--merits-gold);font-size:.7rem;font-weight:700}@supports (color:color-mix(in lab,red,red)){.merits-primary-class-pill{border:1px solid color-mix(in srgb,var(--merits-gold) 40%,transparent)}}.merits-primary-class-pill{white-space:nowrap;flex:none}.merits-primary-class-title{color:var(--merits-ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:1.05rem;font-weight:600;overflow:hidden}.merits-primary-class-count{color:var(--merits-ink-soft);white-space:nowrap;font-size:.8rem}.merits-primary-class-empty{color:var(--merits-ink-soft);margin:0;padding:16px 18px;font-size:.9rem}.merits-roster-list--prominent .merits-roster-row-button{min-height:56px;padding:14px 18px;font-size:.95rem}.merits-roster-list--prominent .merits-roster-row-name{font-size:1rem;font-weight:600}.merits-roster-list--prominent .merits-roster-row-total{font-size:1.05rem}@media(min-width:1024px){.merits-roster-list--prominent{grid-template-columns:1fr 1fr;display:grid}.merits-roster-list--prominent .merits-roster-row{border-top:1px solid var(--merits-line)}.merits-roster-list--prominent .merits-roster-row:first-child,.merits-roster-list--prominent .merits-roster-row:nth-child(2){border-top:0}.merits-roster-list--prominent .merits-roster-row:nth-child(odd){border-right:1px solid var(--merits-line)}}.merits-other-classes{gap:10px;display:grid}.merits-other-classes-disclosure{border:1px dashed var(--merits-line);border-radius:var(--radius-sm,12px);cursor:pointer;width:100%;color:var(--merits-ink);text-align:left;min-height:48px;transition:background .14s var(--ease,cubic-bezier(.22, 1, .36, 1)),border-color .14s var(--ease,cubic-bezier(.22, 1, .36, 1));background:0 0;align-items:center;gap:10px;padding:12px 16px;font-size:.92rem;font-weight:500;display:flex}.merits-other-classes-disclosure:hover,.merits-other-classes-disclosure:focus-visible{background:var(--merits-berry)}@supports (color:color-mix(in lab,red,red)){.merits-other-classes-disclosure:hover,.merits-other-classes-disclosure:focus-visible{background:color-mix(in srgb,var(--merits-berry) 5%,transparent)}}.merits-other-classes-disclosure:hover,.merits-other-classes-disclosure:focus-visible{border-color:var(--merits-berry)}@supports (color:color-mix(in lab,red,red)){.merits-other-classes-disclosure:hover,.merits-other-classes-disclosure:focus-visible{border-color:color-mix(in srgb,var(--merits-berry) 25%,var(--merits-line))}}.merits-other-classes-disclosure:hover,.merits-other-classes-disclosure:focus-visible{outline:none}.merits-roster-group-header--button{background:linear-gradient(180deg,var(--merits-berry),transparent);width:100%}@supports (color:color-mix(in lab,red,red)){.merits-roster-group-header--button{background:linear-gradient(180deg,color-mix(in srgb,var(--merits-berry) 6%,transparent),transparent)}}.merits-roster-group-header--button{border:0;border-bottom:1px solid var(--merits-line);cursor:pointer;text-align:left;font:inherit;color:inherit;align-items:center;min-height:48px}.merits-roster-group-header--button:hover,.merits-roster-group-header--button:focus-visible{background:var(--merits-berry)}@supports (color:color-mix(in lab,red,red)){.merits-roster-group-header--button:hover,.merits-roster-group-header--button:focus-visible{background:color-mix(in srgb,var(--merits-berry) 9%,transparent)}}.merits-roster-group-header--button:hover,.merits-roster-group-header--button:focus-visible{outline:none}.merits-roster-group-titlewrap{align-items:center;gap:8px;min-width:0;display:flex}.merits-roster-group-caret{color:var(--merits-ink-soft);transition:transform .18s var(--ease,cubic-bezier(.22, 1, .36, 1));flex:none;font-size:1.1rem;line-height:1;display:inline-block}.merits-roster-group-caret--open{transform:rotate(90deg)}.merits-roster-row-meta{justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.merits-roster-row-cards{color:var(--merits-gold);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:600}.merits-roster-row--prominent .merits-roster-row-button:hover,.merits-roster-row--prominent .merits-roster-row-button:focus-visible{background:var(--merits-gold)}@supports (color:color-mix(in lab,red,red)){.merits-roster-row--prominent .merits-roster-row-button:hover,.merits-roster-row--prominent .merits-roster-row-button:focus-visible{background:color-mix(in srgb,var(--merits-gold) 8%,transparent)}}@media(min-width:1024px){.merits-roster-group .merits-roster-list:not(.merits-roster-list--prominent){grid-template-columns:1fr 1fr;display:grid}.merits-roster-group .merits-roster-list:not(.merits-roster-list--prominent) .merits-roster-row{border-top:1px solid var(--merits-line)}.merits-roster-group .merits-roster-list:not(.merits-roster-list--prominent) .merits-roster-row:first-child,.merits-roster-group .merits-roster-list:not(.merits-roster-list--prominent) .merits-roster-row:nth-child(2){border-top:0}.merits-roster-group .merits-roster-list:not(.merits-roster-list--prominent) .merits-roster-row:nth-child(odd){border-right:1px solid var(--merits-line)}}@media(prefers-reduced-motion:reduce){.merits-primary-class{animation:none}.merits-leaderboard-tile,.merits-leaderboard-tile--gold,.merits-roster-group-caret{transition:none}.merits-leaderboard-tile:hover{transform:none}}@media(max-width:520px){.merits-primary-class-header{padding:12px 14px}.merits-primary-class-title{font-size:.98rem}.merits-leaderboard-tile{padding:14px 16px}.merits-leaderboard-tile-count{font-size:2.1rem}.merits-leaderboard-tile--gold .merits-leaderboard-tile-count{font-size:2.4rem}.merits-roster-row-cards{font-size:.74rem}}.merit-roster-v2{--row-bg:var(--bg-surface);--row-line:var(--line);--row-radius:var(--radius-md,16px);--avatar-size:44px;gap:14px;display:grid}.merit-roster-v2 .merit-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;padding:4px 2px 2px;display:grid}.merit-roster-v2 .merit-hero-left{min-width:0}.merit-roster-v2 .merit-hero .eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 4px;font-size:.7rem;font-weight:700}.merit-roster-v2 .merit-hero-title{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:1.5rem;font-weight:700;line-height:1.05}.merit-roster-v2 .merit-hero-subtitle{color:var(--ink-soft);margin:4px 0 0;font-size:.92rem}.merit-roster-v2 .merit-hero-search{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-pill,999px);min-width:220px;max-width:320px;height:44px;transition:border-color .14s var(--ease),box-shadow .14s var(--ease);align-items:center;gap:8px;padding:0 14px;display:inline-flex}.merit-roster-v2 .merit-hero-search:focus-within{border-color:var(--teal)}@supports (color:color-mix(in lab,red,red)){.merit-roster-v2 .merit-hero-search:focus-within{border-color:color-mix(in srgb,var(--teal) 45%,var(--line))}}.merit-roster-v2 .merit-hero-search:focus-within{box-shadow:var(--shadow-focus)}.merit-roster-v2 .merit-hero-search-icon{width:18px;height:18px;color:var(--ink-soft);flex:0 0 18px;display:inline-flex}.merit-roster-v2 .merit-hero-search-icon svg{width:100%;height:100%}.merit-roster-v2 .merit-hero-search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:.95rem}.merit-roster-v2 .merit-hero-search input::placeholder{color:var(--ink-faint)}@media(max-width:640px){.merit-roster-v2 .merit-hero{grid-template-columns:1fr;align-items:stretch}.merit-roster-v2 .merit-hero-title{font-size:1.7rem}.merit-roster-v2 .merit-hero-search{width:100%;min-width:0;max-width:none}}.merit-roster-v2 .merit-stats-triplet{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md,16px);box-shadow:var(--shadow-xs);grid-template-columns:repeat(3,1fr);gap:0;padding:11px 14px;display:grid}.merit-stat-card{border-left:1px solid var(--line);align-items:center;gap:10px;min-width:0;padding:0 10px;display:flex}.merit-stat-card:first-child{border-left:0;padding-left:0}.merit-stat-card:last-child{padding-right:0}.merit-stat-icon{background:var(--ink);border-radius:50%;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.merit-stat-icon{background:color-mix(in srgb,var(--ink) 7%,var(--bg))}}.merit-stat-icon{color:var(--ink)}.merit-stat-icon svg{width:22px;height:22px}.merit-stat-card--ink .merit-stat-icon{background:var(--teal)}@supports (color:color-mix(in lab,red,red)){.merit-stat-card--ink .merit-stat-icon{background:color-mix(in srgb,var(--teal) 14%,var(--bg-surface))}}.merit-stat-card--ink .merit-stat-icon{color:var(--teal)}.merit-stat-card--berry .merit-stat-icon{background:var(--berry)}@supports (color:color-mix(in lab,red,red)){.merit-stat-card--berry .merit-stat-icon{background:color-mix(in srgb,var(--berry) 14%,var(--bg-surface))}}.merit-stat-card--berry .merit-stat-icon{color:var(--berry)}.merit-stat-card--gold .merit-stat-icon{background:var(--gold)}@supports (color:color-mix(in lab,red,red)){.merit-stat-card--gold .merit-stat-icon{background:color-mix(in srgb,var(--gold) 18%,var(--bg-surface))}}.merit-stat-card--gold .merit-stat-icon{color:var(--gold)}.merit-stat-body{gap:1px;min-width:0;display:grid}.merit-stat-value{letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;font-family:Outfit,system-ui,sans-serif;font-size:1.7rem;font-weight:700;line-height:1.05}.merit-stat-card--berry .merit-stat-value{color:var(--berry)}.merit-stat-card--gold .merit-stat-value{color:var(--gold)}.merit-stat-label{color:var(--ink);font-size:.86rem;font-weight:500}.merit-stat-sub{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.74rem;overflow:hidden}@media(max-width:720px){.merit-roster-v2 .merit-stats-triplet{gap:4px;padding:14px}.merit-stat-card{gap:10px;padding:0 10px}.merit-stat-icon{flex-basis:38px;width:38px;height:38px}.merit-stat-icon svg{width:19px;height:19px}.merit-stat-value{font-size:1.4rem}.merit-stat-label{font-size:.78rem}.merit-stat-sub{font-size:.7rem}}@media(max-width:480px){.merit-roster-v2 .merit-stats-triplet{grid-template-columns:1fr;gap:12px}.merit-stat-card{border-left:0;border-top:1px solid var(--line);padding:12px 4px 0}.merit-stat-card:first-child{border-top:0;padding-top:0}.merit-stat-card:last-child{padding-right:4px}}.merit-class-chips{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-md,16px);flex-wrap:wrap;align-items:center;gap:14px;padding:12px 16px;display:flex}.merit-class-chips-label{color:var(--ink);white-space:nowrap;align-items:center;gap:8px;font-size:.86rem;font-weight:600;display:inline-flex}.merit-class-chips-label:before{content:"";background:var(--teal);border-radius:50%;width:8px;height:8px;display:inline-block}@supports (color:color-mix(in lab,red,red)){.merit-class-chips-label:before{background:color-mix(in srgb,var(--teal) 60%,transparent)}}.merit-class-chips-row{flex-wrap:wrap;flex:1;gap:8px;min-width:0;display:flex}.merit-class-chip{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-pill,999px);color:var(--ink);cursor:pointer;transition:background .14s var(--ease),border-color .14s var(--ease),transform .12s var(--ease);padding:8px 14px;font-size:.86rem;font-weight:500}.merit-class-chip:hover,.merit-class-chip:focus-visible{background:var(--teal)}@supports (color:color-mix(in lab,red,red)){.merit-class-chip:hover,.merit-class-chip:focus-visible{background:color-mix(in srgb,var(--teal) 8%,var(--bg-surface))}}.merit-class-chip:hover,.merit-class-chip:focus-visible{border-color:var(--teal)}@supports (color:color-mix(in lab,red,red)){.merit-class-chip:hover,.merit-class-chip:focus-visible{border-color:color-mix(in srgb,var(--teal) 35%,var(--line))}}.merit-class-chip:hover,.merit-class-chip:focus-visible{outline:none}.merit-class-chip:active{transform:translateY(1px)}.merit-class-stack{gap:10px;display:grid}.merit-class{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--row-radius);transition:box-shadow .24s var(--ease),border-color .24s var(--ease);overflow:hidden}.merit-class--prominent{border:1px solid var(--teal)}@supports (color:color-mix(in lab,red,red)){.merit-class--prominent{border:1px solid color-mix(in srgb,var(--teal) 22%,var(--line))}}.merit-class--prominent{box-shadow:var(--shadow-sm)}.merit-class--flash{animation:merit-class-flash .8s var(--ease)}@keyframes merit-class-flash{0%{box-shadow:0 0 color-mix(in srgb,var(--teal) 0%,transparent)}35%{box-shadow:0 0 0 6px color-mix(in srgb,var(--teal) 22%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--teal) 0%,transparent)}}.merit-class-header{justify-content:space-between;align-items:center;gap:12px;padding:10px 14px 8px;display:flex}.merit-class-headline{align-items:center;gap:10px;min-width:0;display:inline-flex}.merit-class-pill{border-radius:var(--radius-pill,999px);background:var(--teal);align-items:center;padding:4px 10px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.merit-class-pill{background:color-mix(in srgb,var(--teal) 14%,transparent)}}.merit-class-pill{color:var(--teal);border:1px solid var(--teal)}@supports (color:color-mix(in lab,red,red)){.merit-class-pill{border:1px solid color-mix(in srgb,var(--teal) 32%,transparent)}}.merit-class-pill{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;flex:none;font-size:.7rem;font-weight:700}.merit-class-titlewrap{gap:1px;min-width:0;display:grid}.merit-class-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:1.05rem;font-weight:600;overflow:hidden}.merit-class-subtitle{color:var(--ink-soft);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.78rem;overflow:hidden}.merit-class-count{color:var(--ink-soft);white-space:nowrap;font-size:.82rem}.merit-class-empty{color:var(--ink-soft);margin:0;padding:0 20px 18px;font-size:.9rem}.merit-student-list{margin:0;padding:0 0 4px;list-style:none}@media(prefers-reduced-motion:no-preference){.merit-student-row{opacity:0;animation:merit-row-rise .38s var(--ease) forwards;animation-delay:calc(var(--i,0) * 28ms);transform:translateY(4px)}}@keyframes merit-row-rise{to{opacity:1;transform:none}}.merit-student-row{border-top:1px solid var(--line);transition:background .16s var(--ease);background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 14px;display:grid}.merit-student-row:first-child{border-top:1px solid var(--line)}.merit-student-row:hover{background:var(--teal)}@supports (color:color-mix(in lab,red,red)){.merit-student-row:hover{background:color-mix(in srgb,var(--teal) 4%,transparent)}}.merit-student-row-main{grid-template-columns:var(--avatar-size) minmax(0,1.4fr) minmax(0,auto) minmax(0,1.6fr);cursor:pointer;text-align:left;color:inherit;font:inherit;background:0 0;border:0;align-items:center;gap:14px;min-width:0;padding:4px 0;display:grid}.merit-student-row-main:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-sm,12px);outline:none}.merit-student-avatar{width:var(--avatar-size);height:var(--avatar-size);background:linear-gradient(135deg,var(--teal),var(--ink));border-radius:50%}@supports (color:color-mix(in lab,red,red)){.merit-student-avatar{background:linear-gradient(135deg,color-mix(in srgb,var(--teal) 22%,var(--bg-surface)),color-mix(in srgb,var(--ink) 14%,var(--bg-surface)))}}.merit-student-avatar{color:var(--ink);letter-spacing:.02em;flex:0 0 var(--avatar-size);box-shadow:inset 0 0 0 1px var(--ink);justify-content:center;align-items:center;font-size:.92rem;font-weight:700;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.merit-student-avatar{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent)}}.merit-student-meta{gap:3px;min-width:0;display:grid}.merit-student-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.96rem;font-weight:600;overflow:hidden}.merit-student-tags{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;font-size:.74rem;display:inline-flex}.merit-student-tag{border-radius:var(--radius-pill,999px);background:var(--teal);align-items:center;padding:2px 8px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.merit-student-tag{background:color-mix(in srgb,var(--teal) 8%,transparent)}}.merit-student-tag{color:var(--teal);letter-spacing:.02em;white-space:nowrap;font-size:.72rem;font-weight:500}.merit-student-id{font-variant-numeric:tabular-nums;white-space:nowrap}.merit-student-2wk{border-radius:var(--radius-pill,999px);background:var(--ink);align-items:baseline;gap:4px;padding:2px 8px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.merit-student-2wk{background:color-mix(in srgb,var(--ink) 6%,transparent)}}.merit-student-2wk{color:var(--ink-soft);white-space:nowrap;font-size:.72rem}.merit-student-2wk.has-merits{background:var(--gold)}@supports (color:color-mix(in lab,red,red)){.merit-student-2wk.has-merits{background:color-mix(in srgb,var(--gold) 22%,transparent)}}.merit-student-2wk.has-merits{color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.merit-student-2wk.has-merits{color:color-mix(in srgb,var(--ink) 65%,var(--gold))}}.merit-student-2wk-num{font-variant-numeric:tabular-nums;font-weight:700}.merit-student-2wk-unit{letter-spacing:.02em}.merit-student-row.is-recent{background:var(--gold)}@supports (color:color-mix(in lab,red,red)){.merit-student-row.is-recent{background:color-mix(in srgb,var(--gold) 7%,transparent)}}.merit-student-row.is-recent{box-shadow:inset 3px 0 0 0 var(--gold)}.merit-student-row.is-recent:hover{background:var(--gold)}@supports (color:color-mix(in lab,red,red)){.merit-student-row.is-recent:hover{background:color-mix(in srgb,var(--gold) 11%,transparent)}}.merit-student-avatar{position:relative}.merit-recent-dot{background:var(--berry);width:11px;height:11px;box-shadow:0 0 0 2px var(--bg-surface);border-radius:50%;position:absolute;top:-1px;right:-1px}.merit-student-cards{align-items:center;gap:8px;display:inline-flex}.merit-newcard-badge{border-radius:var(--radius-pill,999px);background:var(--berry);align-items:center;padding:1px 7px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.merit-newcard-badge{background:color-mix(in srgb,var(--berry) 14%,transparent)}}.merit-newcard-badge{color:var(--berry);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;font-size:.66rem;font-weight:700}.merit-student-count{text-align:right;min-width:0;transition:transform .22s var(--ease);justify-items:end;gap:0;display:grid}.merit-student-count.is-bumping{animation:merit-count-bump .52s var(--ease)}@keyframes merit-count-bump{0%{transform:scale(1)}35%{transform:scale(1.1)}to{transform:scale(1)}}.merit-student-count-value{letter-spacing:-.02em;color:var(--berry);font-variant-numeric:tabular-nums;font-family:Outfit,system-ui,sans-serif;font-size:1.55rem;font-weight:700;line-height:1}.merit-student-count-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-top:2px;font-size:.68rem}.merit-student-progress{gap:6px;min-width:0;display:grid}.merit-student-progress-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.merit-student-progress-track{border-radius:var(--radius-pill,999px);background:var(--ink);height:6px;display:block;position:relative}@supports (color:color-mix(in lab,red,red)){.merit-student-progress-track{background:color-mix(in srgb,var(--ink) 7%,var(--bg))}}.merit-student-progress-track{min-width:0;overflow:hidden}.merit-student-progress-fill{background:linear-gradient(90deg,var(--berry),var(--berry));width:0;position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.merit-student-progress-fill{background:linear-gradient(90deg,color-mix(in srgb,var(--berry) 80%,var(--gold)),var(--berry))}}.merit-student-progress-fill{border-radius:inherit;transition:width .42s var(--ease)}.merit-student-progress-pct{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;min-width:38px;font-size:.78rem;font-weight:600}.merit-ticks{align-items:center;gap:5px;display:inline-flex}.merit-tick{flex:0 0 18px;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex;position:relative}.merit-tick-circle{width:100%;height:100%;position:absolute;inset:0}.merit-tick.is-filled .merit-tick-circle{fill:var(--teal);stroke:none}.merit-tick.is-empty .merit-tick-circle{fill:none;stroke:var(--ink)}@supports (color:color-mix(in lab,red,red)){.merit-tick.is-empty .merit-tick-circle{stroke:color-mix(in srgb,var(--ink) 18%,transparent)}}.merit-tick.is-empty .merit-tick-circle{stroke-width:1.6px}.merit-tick-check{color:#fff;z-index:1;width:14px;height:14px;position:relative}@media(prefers-reduced-motion:no-preference){.merit-tick.is-filled{animation:merit-tick-pop .36s var(--ease) backwards}}@keyframes merit-tick-pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.merit-student-actions{flex:none;align-items:center;gap:4px;display:inline-flex}.merit-quick-award{border-radius:var(--radius-pill,999px);background:var(--berry);align-items:center;gap:6px;padding:8px 14px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.merit-quick-award{background:color-mix(in srgb,var(--berry) 10%,var(--bg-surface))}}.merit-quick-award{color:var(--berry);border:1px solid var(--berry)}@supports (color:color-mix(in lab,red,red)){.merit-quick-award{border:1px solid color-mix(in srgb,var(--berry) 35%,transparent)}}.merit-quick-award{cursor:pointer;transition:background .16s var(--ease),transform .12s var(--ease),box-shadow .2s var(--ease),color .16s var(--ease);min-height:36px;font-size:.86rem;font-weight:600}.merit-quick-award:hover:not(:disabled){background:var(--berry);color:#fff;border-color:var(--berry);box-shadow:0 4px 14px var(--berry)}@supports (color:color-mix(in lab,red,red)){.merit-quick-award:hover:not(:disabled){box-shadow:0 4px 14px color-mix(in srgb,var(--berry) 28%,transparent)}}.merit-quick-award:active:not(:disabled){transform:translateY(1px)}.merit-quick-award:disabled{opacity:.45;cursor:not-allowed}.merit-quick-award-plus{flex:0 0 14px;width:14px;height:14px}.merit-row-more{border-radius:var(--radius-pill,999px);width:36px;height:36px;color:var(--ink-soft);cursor:pointer;transition:background .14s var(--ease),color .14s var(--ease),border-color .14s var(--ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.merit-row-more:hover,.merit-row-more:focus-visible{background:var(--ink)}@supports (color:color-mix(in lab,red,red)){.merit-row-more:hover,.merit-row-more:focus-visible{background:color-mix(in srgb,var(--ink) 5%,transparent)}}.merit-row-more:hover,.merit-row-more:focus-visible{color:var(--ink);border-color:var(--line);outline:none}.merit-row-more svg{width:18px;height:18px}@media(max-width:720px){.merit-student-row{grid-template-columns:minmax(0,1fr);gap:10px;padding:14px}.merit-student-row-main{grid-template-columns:var(--avatar-size) minmax(0,1fr) auto;grid-template-rows:auto auto;gap:4px 12px}.merit-student-avatar{grid-row:1/span 2}.merit-student-meta{grid-area:1/2}.merit-student-count{grid-area:1/3;justify-self:end}.merit-student-progress{grid-area:2/2/auto/-1;align-self:end}.merit-student-actions{justify-content:flex-end;justify-self:start;gap:8px;width:100%}.merit-quick-award{flex:0 auto}}@media(max-width:480px){.merit-student-count-value{font-size:1.35rem}.merit-class-header{padding:14px 14px 10px}.merit-student-row{padding:12px 14px}}@media(prefers-reduced-motion:reduce){.merit-roster-v2 .merit-student-row{opacity:1;animation:none;transform:none}.merit-student-count.is-bumping,.merit-class--flash{animation:none}.merit-student-progress-fill{transition:none}}.merit-view-toggle{flex-wrap:wrap;gap:6px;margin:0 0 8px;display:flex}.merit-leader-filters{flex-wrap:wrap;align-items:end;gap:10px;margin:0 0 10px;display:flex}.merit-leader-filters .admin-filter-field{flex:none;min-width:0}.merit-leader-filters .admin-filter-select{width:200px;max-width:100%}.merit-seg{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;min-height:34px;display:inline-flex;overflow:hidden}.merit-seg-btn{appearance:none;border:0;border-left:1.5px solid var(--line-strong);color:var(--ink-soft);cursor:pointer;transition:background .14s var(--ease),color .14s var(--ease);background:0 0;padding:0 14px;font-family:inherit;font-size:.84rem;font-weight:600}.merit-seg-btn:first-child{border-left:0}.merit-seg-btn:hover{background:var(--berry)}@supports (color:color-mix(in lab,red,red)){.merit-seg-btn:hover{background:color-mix(in srgb,var(--berry) 7%,transparent)}}.merit-seg-btn.is-active{background:var(--berry);color:#fff}.merit-leader-list{counter-reset:none;gap:4px;margin:0;padding:0;list-style:none;display:grid}.merit-leader-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);width:100%;color:inherit;text-align:left;cursor:pointer;transition:background .14s var(--ease),border-color .14s var(--ease);grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 12px;display:grid}.merit-leader-row:hover{border-color:var(--berry)}.merit-leader-rank{border:1px solid var(--line);width:24px;height:24px;color:var(--ink-soft);font-variant-numeric:tabular-nums;border-radius:50%;justify-content:center;align-items:center;font-size:.82rem;font-weight:600;display:inline-flex}.merit-leader-rank.is-podium{background:var(--berry);border-color:var(--berry);color:#fff}.merit-leader-meta{gap:2px;min-width:0;display:grid}.merit-leader-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.merit-leader-classes{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.merit-leader-score{justify-items:end;gap:0;display:grid}.merit-leader-score-value{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700;line-height:1.1}.merit-leader-score-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:.7rem}@media(max-width:560px){.merit-leader-filters .admin-filter-field:has(select){flex:150px}.merit-leader-filters .admin-filter-select{width:100%}}.parent-notes-whatsapp{min-height:36px;margin-bottom:12px;padding:6px 12px 6px 10px;display:inline-flex;position:static}.parent-notes-whatsapp:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.parent-note-reply{justify-self:start;min-height:36px;margin-top:6px;padding:6px 12px 6px 10px;position:static}.parent-note-reply:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.parent-diary-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:1.25rem;display:flex}.parent-diary-filter-chip{appearance:none;-webkit-tap-highlight-color:transparent;border-radius:var(--radius-pill,999px);min-height:36px;font:inherit;letter-spacing:.01em;border:1.5px solid var(--line);color:var(--ink-soft);cursor:pointer;transition:background .16s var(--ease,ease),border-color .16s var(--ease,ease),color .16s var(--ease,ease),transform .12s var(--ease,ease);background:0 0;padding:.45rem .95rem;font-size:.84rem;font-weight:600}.parent-diary-filter-chip:hover{color:var(--ink);border-color:#17696f66}.parent-diary-filter-chip:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.parent-diary-filter-chip:active{transform:scale(.97)}.parent-diary-filter-chip[aria-pressed=true]{border-color:var(--teal);color:var(--teal);background:#17696f14}.parent-diary-filter-count{color:var(--ink-soft);align-self:center;margin-left:auto;font-size:.8rem}.parent-diary-empty-notice{color:var(--ink-soft);border:1px solid var(--line);border-radius:var(--radius-md);background:#11231e09;margin:0 0 1rem;padding:.7rem .95rem;font-size:.85rem;line-height:1.45}.parent-diary-period-empty{color:var(--ink-soft);margin:0;padding:.6rem 0;font-size:.88rem;line-height:1.5}.parent-diary-load-more{justify-content:center;margin-top:1rem;display:flex}.parent-diary-respond-btn{place-self:flex-start start;min-height:40px;font-size:.85rem}.parent-diary-entry-latest{box-shadow:var(--shadow-sm);background:#17696f0a;border-left-width:5px}.parent-profile-stack{gap:1rem;display:grid}.parent-profile-meta{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.parent-profile-meta li{border-bottom:1px solid var(--line);grid-template-columns:minmax(110px,auto) 1fr;align-items:baseline;gap:.5rem .85rem;padding:.55rem 0;font-size:.92rem;display:grid}.parent-profile-meta li:last-child{border-bottom:none}.parent-profile-meta dt{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:0;font-size:.74rem;font-weight:700}.parent-profile-meta dd{color:var(--ink);word-break:break-word;margin:0;font-weight:500}.parent-profile-signout{align-self:flex-start;min-height:44px}.parent-access-card{text-align:left;gap:1rem;max-width:520px;margin:0 auto;display:grid}.parent-access-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin:0;font-size:.7rem;font-weight:700}.parent-access-card h2{margin:0;line-height:1.25}.parent-access-card p{color:var(--ink-soft);margin:0;line-height:1.55}.parent-access-meta{border:1px solid var(--line);border-radius:var(--radius-md);background:#11231e09;gap:.45rem;padding:.85rem 1rem;font-size:.88rem;display:grid}.parent-access-meta-row{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.parent-access-meta-row span:first-child{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-size:.74rem;font-weight:700}.parent-access-meta-row strong{color:var(--ink);word-break:break-word;text-align:right}.parent-access-actions{flex-wrap:wrap;gap:.6rem;margin-top:.25rem;display:flex}.parent-access-actions>*{justify-content:center;align-items:center;min-height:44px;display:inline-flex}@media(max-width:420px){.parent-access-actions>*{flex:100%}}@media(prefers-reduced-motion:reduce){.parent-diary-filter-chip{transition:none}.parent-diary-filter-chip:active{transform:none}}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.parent-eyebrow{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);margin:0;font-size:.72rem;font-weight:600}.parent-pill{letter-spacing:.04em;text-transform:uppercase;color:var(--teal);font-size:.68rem;font-weight:700;display:inline-block}.parent-pill-sunset{color:var(--sunset,#b9572b)}.parent-dot{background:var(--sunset,#b9572b);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.parent-section-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.parent-section-link{align-items:center;min-height:28px;font-size:.84rem;display:inline-flex}.parent-lt-latest{background:var(--teal-light,#17696f0f);border-radius:8px;flex-wrap:wrap;gap:.75rem;padding:.6rem .8rem;font-size:.88rem;display:flex}.parent-lt-latest-cell{flex:80px;min-width:0}.parent-lt-latest-cell.is-wide{flex:2 160px}.parent-lt-latest-cell p{margin:0}.parent-lt-latest-cell p+p{margin-top:2px;font-weight:600}.parent-lt-latest-cell .is-italic{color:var(--ink-soft);font-size:.86rem;font-style:italic;font-weight:400}.parent-lt-stats{gap:1rem;display:flex}.parent-lt-stat{text-align:center;min-width:0}.parent-lt-stat-value{margin:0;font-size:1.4rem;font-weight:700;line-height:1}.parent-lt-stat-value.is-pass{color:var(--teal)}.parent-lt-stat-value.is-fail{color:var(--sunset)}.parent-lt-stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:4px 0 0;font-size:.72rem;font-weight:600}.parent-modal-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.parent-modal-panel{background:var(--bg-surface);border:1px solid var(--line-strong);border-radius:var(--radius-xl);width:100%;max-width:520px;max-height:80vh;box-shadow:var(--shadow-lg);padding:1.25rem 1.25rem 1.5rem;overflow-y:auto}.parent-modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:1rem;display:flex}.parent-results-table{border-collapse:collapse;width:100%;font-size:.88rem}.parent-results-table thead tr{border-bottom:2px solid var(--line)}.parent-results-table tbody tr{border-bottom:1px solid var(--line)}.parent-results-table th,.parent-results-table td{text-align:left;padding:.5rem .6rem}.parent-results-table th{font-weight:600}.parent-results-table .is-nowrap{white-space:nowrap}.parent-results-table .is-soft{color:var(--ink-soft)}.parent-inline-toggle{color:var(--teal);cursor:pointer;vertical-align:baseline;background:0 0;border:none;min-height:24px;margin-left:4px;padding:0;font-size:.78rem;font-weight:600}.parent-inline-toggle:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:2px}@media(prefers-reduced-motion:reduce){.parent-home-shell *,.parent-modal-panel *{transition:none!important;animation:none!important}}.parent-year-group{margin:0 0 22px}.parent-year-group:last-child{margin-bottom:0}.parent-year-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:10px;padding-bottom:6px;display:flex}.parent-year-title{color:var(--ink);margin:0;font-size:1.06rem;font-weight:600}.parent-year-title.is-past{color:var(--ink-soft);font-size:.95rem;font-weight:500}.parent-year-count{color:var(--ink-soft);margin-left:auto;font-size:.8rem}.parent-program-row{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-surface);align-items:center;gap:10px;margin-bottom:8px;padding:10px 14px;display:flex}.parent-program-row.is-joined{background:var(--status-success-bg);border-color:#0f6b4547}.parent-program-status{text-align:center;border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;min-width:46px;padding:3px 10px;font-size:.72rem;font-weight:600}.parent-program-status.is-on{background:var(--status-success);color:#fff}@media(max-width:540px){.parent-year-count{width:100%;margin-left:0}}.parent-notify-kinds{border-top:1px solid var(--color-line,#0d1f1a14);margin-top:16px;padding-top:14px}.parent-notify-kinds-heading{text-transform:uppercase;letter-spacing:.1em;color:var(--color-ink-muted,#5b6f66);margin:0 0 10px;font-size:.7rem;font-weight:600}.parent-notify-kinds ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.parent-notify-kinds label{--checkbox-size:18px;cursor:pointer;border-radius:10px;align-items:start;gap:12px;padding:10px;transition:background .16s;display:flex}.parent-notify-kinds label:hover{background:#0a5d2c0d}.parent-notify-kinds label input{flex:none;margin-top:2px}.parent-notify-kinds label>span{gap:2px;min-width:0;display:grid}.parent-notify-kinds label strong{font-size:.92rem;font-weight:600}.parent-notify-kinds label>span>span{color:var(--color-ink-soft,#5b6a64);font-size:.82rem;line-height:1.5}.parent-notify-kinds-error{color:var(--berry,#7a2f52);margin:8px 0 0;font-size:.82rem}.aw-shell{gap:14px;width:100%;max-width:720px;margin:0 auto;padding-bottom:8px;display:grid}.aw-head{gap:10px;display:grid}.aw-head-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.aw-step-count{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;font-size:.74rem;font-weight:600}.aw-progress{border-radius:var(--radius-pill);background:#11231e12;height:6px;overflow:hidden}.aw-progress-fill{border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--teal) 0%,#2a8f7c 100%);height:100%;transition:width .42s var(--ease);min-width:6px}.aw-slide{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow);gap:18px;padding:clamp(18px,4vw,30px);display:grid}@keyframes aw-in-fwd{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@keyframes aw-in-back{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:translate(0)}}.aw-slide-fwd{animation:aw-in-fwd .32s var(--ease) both}.aw-slide-back{animation:aw-in-back .32s var(--ease) both}.aw-slide-head{gap:6px;display:grid}.aw-slide-title{letter-spacing:-.02em;margin:0;font-size:clamp(1.3rem,4.5vw,1.65rem);line-height:1.15}.aw-slide-sub{color:var(--ink-soft);max-width:56ch;margin:0;font-size:.92rem}.aw-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.aw-span-all{grid-column:1/-1}.aw-field{align-content:start;gap:6px;min-width:0;display:grid}.aw-label{color:var(--ink);justify-content:space-between;align-items:baseline;gap:8px;font-size:.86rem;font-weight:600;display:flex}.aw-optional{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:500}.aw-field input:not([type=checkbox]):not([type=radio]),.aw-field textarea{border-radius:var(--radius-md);min-height:50px;font-size:1rem}.aw-field textarea{min-height:96px}.aw-hint{color:var(--ink-faint);margin:0;font-size:.8rem;line-height:1.45}.aw-field-error{color:var(--berry);margin:0;font-size:.82rem;font-weight:500}.aw-invalid input,.aw-invalid textarea{border-color:#7a2f528c}.aw-options{flex-wrap:wrap;gap:8px;display:flex}.aw-options-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;display:grid}.aw-option{border-radius:var(--radius-md);border:1.5px solid var(--line-strong);background:var(--bg-surface);min-height:48px;color:var(--ink);cursor:pointer;transition:all .16s var(--ease);text-align:center;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.92rem;font-weight:500;display:inline-flex}.aw-option:hover{border-color:#17696f73}.aw-option[aria-pressed=true]{border-color:var(--teal);background:var(--teal-light);color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal);font-weight:600}.aw-option:focus-visible{box-shadow:var(--shadow-focus);outline:none}.aw-chip{border-radius:var(--radius-pill)}.aw-chip[aria-pressed=true]:before{content:"";border:2px solid;border-top:none;border-left:none;flex-shrink:0;width:7px;height:12px;transform:rotate(45deg)translateY(-1px)}.aw-programs{gap:10px;display:grid}.aw-program-card{text-align:left;border-radius:var(--radius-lg);border:1.5px solid var(--line-strong);background:var(--bg-surface);cursor:pointer;transition:all .16s var(--ease);gap:8px;padding:16px 18px;display:grid;position:relative}.aw-program-card:hover{border-color:#17696f73}.aw-program-card[aria-pressed=true]{border-color:var(--teal);background:var(--teal-light);box-shadow:inset 0 0 0 1px var(--teal)}.aw-program-card:focus-visible{box-shadow:var(--shadow-focus);outline:none}.aw-program-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.aw-program-name{color:var(--ink);margin:0;font-size:1rem;font-weight:600;line-height:1.3}.aw-program-tick{border:1.5px solid var(--line-strong);width:22px;height:22px;transition:all .16s var(--ease);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.aw-program-card[aria-pressed=true] .aw-program-tick{background:var(--teal);border-color:var(--teal)}.aw-program-card[aria-pressed=true] .aw-program-tick:after{content:"";border:2px solid #fff;border-top:none;border-left:none;width:5px;height:9px;transform:rotate(45deg)translateY(-1px)}.aw-program-chips{flex-wrap:wrap;gap:6px;display:flex}.aw-program-chip{border-radius:var(--radius-pill);background:var(--teal-light);color:var(--teal);align-items:center;padding:3px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.aw-program-meta{color:var(--ink-soft);flex-wrap:wrap;gap:4px 14px;margin:0;font-size:.84rem;display:flex}.aw-program-fee{color:var(--ink);font-weight:600}.aw-program-note{color:var(--ink-faint);margin:0;font-size:.78rem}.aw-preselected{border-radius:var(--radius-pill);background:var(--sunset-light);color:var(--sunset);justify-self:start;align-items:center;gap:6px;padding:3px 10px;font-size:.74rem;font-weight:600;display:inline-flex}.aw-child-card{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--bg-surface);gap:14px;padding:16px 18px;display:grid}.aw-child-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.aw-child-card-title{letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin:0;font-size:.78rem;font-weight:700}.aw-remove-child{color:var(--berry);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;min-height:0;padding:6px 8px;font-size:.82rem;font-weight:600}.aw-remove-child:hover{background:#7a2f5212}.aw-add-child{border-radius:var(--radius-lg);min-height:54px;color:var(--teal);cursor:pointer;transition:all .16s var(--ease);background:0 0;border:1.5px dashed #17696f66;justify-content:center;align-items:center;gap:8px;font-size:.92rem;font-weight:600;display:flex}.aw-add-child:hover{background:var(--teal-light);border-style:solid}.aw-affirm{border-radius:var(--radius-md);border:1.5px solid var(--line-strong);background:var(--bg-surface);cursor:pointer;transition:all .16s var(--ease);--checkbox-size:20px;align-items:flex-start;gap:12px;padding:14px 16px;font-size:.92rem;line-height:1.5;display:flex}.aw-affirm input[type=checkbox]{margin-top:2px}.aw-affirm:hover{border-color:#17696f73}.aw-affirm.aw-affirm-on{border-color:var(--teal);background:var(--teal-light)}.aw-affirm:focus-within{box-shadow:var(--shadow-focus)}.aw-affirm strong{color:var(--ink)}.aw-section-label{color:var(--ink);margin:0;font-size:.86rem;font-weight:600}.aw-dim{opacity:.45;pointer-events:none}.aw-more{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-surface);padding:0}.aw-more>summary{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:14px 16px;font-size:.9rem;font-weight:600;list-style:none;display:flex}.aw-more>summary::-webkit-details-marker{display:none}.aw-more-chevron{transition:transform .2s var(--ease);color:var(--ink-faint);flex-shrink:0}.aw-more[open] .aw-more-chevron{transform:rotate(180deg)}.aw-more-body{gap:14px;padding:4px 16px 16px;display:grid}.aw-subcard{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-surface);gap:10px;padding:12px 14px;display:grid}.aw-review-card{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--bg-surface);gap:10px;padding:16px 18px;display:grid}.aw-review-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.aw-review-name{margin:0;font-size:1.05rem;font-weight:600}.aw-review-edit{color:var(--teal);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;min-height:0;padding:4px 6px;font-size:.84rem;font-weight:600}.aw-review-edit:hover{background:var(--teal-light)}.aw-review-rows{gap:6px;margin:0;display:grid}.aw-review-row{gap:10px;font-size:.88rem;display:flex}.aw-review-row dt{color:var(--ink-faint);flex-shrink:0;min-width:108px}.aw-review-row dd{color:var(--ink);overflow-wrap:anywhere;margin:0}.aw-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.aw-footer .primary-button{flex:1;max-width:340px;min-height:52px;margin-left:auto;padding-inline:30px;font-size:.95rem}.aw-back{color:var(--ink-soft);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:0;align-items:center;gap:6px;min-height:48px;padding:12px 14px;font-size:.9rem;font-weight:600;display:inline-flex}.aw-back:hover{color:var(--ink);background:#11231e0d}@media(max-width:700px){.aw-grid{grid-template-columns:1fr}.aw-footer{z-index:5;padding:10px 4px calc(10px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,#f5efe200 0%,var(--bg) 26%);margin:0 -4px;position:sticky;bottom:0}.aw-footer .primary-button{max-width:none}}.aw-errors{border-radius:var(--radius-md);background:#7a2f520f;border:1px solid #7a2f5240;gap:4px;padding:12px 16px;display:grid}.aw-errors p{color:var(--berry);margin:0;font-size:.88rem;font-weight:600}.aw-errors ul{color:var(--berry);margin:0;padding-left:18px;font-size:.84rem}.aw-done{text-align:center;gap:18px;padding:clamp(24px,5vw,40px);display:grid}.aw-done-icon{background:var(--status-success-bg);width:64px;height:64px;color:var(--status-success);border-radius:50%;justify-content:center;align-items:center;margin:0 auto;display:flex}@keyframes aw-pop{0%{opacity:0;transform:scale(.4)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.aw-done-icon{animation:aw-pop .46s var(--ease) both .12s}.aw-done h2{margin:0;font-size:clamp(1.4rem,5vw,1.8rem)}.aw-done>p{max-width:46ch;color:var(--ink-soft);margin:0 auto}.aw-done-children{text-align:left;gap:10px;display:grid}.aw-done-child{border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--bg-surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.aw-done-child-name{color:var(--ink);font-weight:600}.aw-done-ref{color:var(--ink-soft);font-size:.82rem}.aw-done-ref strong{color:var(--teal);letter-spacing:.04em}.aw-next-steps{text-align:left;counter-reset:aw-step;gap:10px;margin:0;padding:0;list-style:none;display:grid}.aw-next-steps li{color:var(--ink-soft);counter-increment:aw-step;align-items:flex-start;gap:12px;font-size:.9rem;display:flex}.aw-next-steps li:before{content:counter(aw-step);background:var(--teal-light);width:24px;height:24px;color:var(--teal);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:.78rem;font-weight:700;display:inline-flex}.aw-done-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.aw-welcome-page{gap:18px;width:100%;max-width:1060px;margin:0 auto;display:grid}@keyframes aw-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.aw-welcome-hero-main>*{animation:aw-rise .56s var(--ease) both}.aw-welcome-hero-main>:nth-child(2){animation-delay:90ms}.aw-welcome-hero-main>:nth-child(3){animation-delay:.18s}.aw-welcome-hero-main>:nth-child(4){animation-delay:.27s}.aw-welcome-hero-main>:nth-child(5){animation-delay:.36s}.aw-reveal-prep{opacity:0}.aw-reveal-prep.aw-reveal-in{opacity:1;animation:aw-rise .56s var(--ease) both}.aw-feature-grid>.aw-reveal-in:nth-child(2){animation-delay:80ms}.aw-feature-grid>.aw-reveal-in:nth-child(3){animation-delay:.16s}.aw-feature-grid>.aw-reveal-in:nth-child(4){animation-delay:.24s}.aw-info-band>.aw-reveal-in:nth-child(2){animation-delay:80ms}.aw-info-band>.aw-reveal-in:nth-child(3){animation-delay:.16s}@keyframes aw-drift{0%,to{background-position:100% 0,0 0}50%{background-position:40% 60%,0 0}}.aw-welcome-hero{background:radial-gradient(130% 170% at 100% 0%,#17696f1a,#17696f00 55%),var(--panel);animation:aw-rise .52s var(--ease) both,aw-drift 16s ease-in-out infinite;border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow);background-size:220% 220%,auto;gap:22px;padding:clamp(22px,4.5vw,44px);display:grid;overflow:hidden}@media(min-width:880px){.aw-welcome-hero{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:center}}.aw-welcome-hero-main{align-content:center;gap:12px;display:grid}.aw-welcome-hero h1{letter-spacing:-.02em;margin:0;font-size:clamp(1.6rem,6vw,2.3rem);line-height:1.1}.aw-welcome-hero-main>p{max-width:52ch;color:var(--ink-soft);margin:0;font-size:.95rem}.aw-welcome-cta{flex-wrap:wrap;align-items:center;gap:16px;margin-top:8px;display:flex}.aw-welcome-cta .primary-button{min-height:54px;padding-inline:32px;font-size:.98rem}@media(max-width:620px){.aw-welcome-cta{flex-direction:column;align-items:stretch;gap:10px}.aw-welcome-cta .primary-button{width:100%}.aw-welcome-cta .text-link{text-align:center;padding:8px}}@keyframes aw-bob{0%,to{transform:translateY(0) rotate(var(--tilt,0deg))}50%{transform:translateY(-8px) rotate(var(--tilt,0deg))}}@keyframes aw-fade-in{0%{opacity:0}to{opacity:1}}.aw-hero-visual{align-items:flex-start;margin-top:2px;display:flex;position:relative}.aw-float-card{border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);min-width:0;animation:aw-fade-in .48s var(--ease) both,aw-bob 6s ease-in-out infinite;background:#fff;flex:1 1 0;gap:2px;padding:9px 12px;display:grid}.aw-float-card:first-child{--tilt:-1.6deg;z-index:1;animation-delay:.25s,0s}.aw-float-card:nth-child(2){--tilt:1.4deg;z-index:2;margin-top:12px;margin-left:-12px;animation-delay:.4s,1.6s}.aw-float-card:nth-child(3){--tilt:-1deg;z-index:3;margin-left:-12px;animation-delay:.55s,3.1s}.aw-float-eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;font-size:.54rem;font-weight:700;overflow:hidden}.aw-float-line{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;font-size:.7rem;font-weight:600;display:flex;overflow:hidden}.aw-float-dot{background:var(--status-success);border-radius:50%;flex-shrink:0;width:7px;height:7px}.aw-float-sub{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.62rem;overflow:hidden}.aw-float-merit{color:var(--gold);font-weight:700}@media(min-width:880px){.aw-hero-visual{min-height:250px;margin-top:0;display:block}.aw-float-card{border-radius:var(--radius-lg);min-width:190px;box-shadow:var(--shadow-md);flex:none;gap:4px;margin:0;padding:12px 16px;position:absolute}.aw-float-card:first-child{top:6%;right:14%}.aw-float-card:nth-child(2){margin:0;top:38%;right:2%}.aw-float-card:nth-child(3){margin:0;top:70%;right:22%}.aw-float-eyebrow{letter-spacing:.1em;font-size:.64rem}.aw-float-line{gap:7px;font-size:.84rem}.aw-float-dot{width:8px;height:8px}.aw-float-sub{font-size:.76rem}}.aw-welcome-apps{gap:10px;margin-top:4px;display:grid}.aw-welcome-app{border:1px solid var(--line-strong);border-radius:var(--radius-lg);color:inherit;transition:all .16s var(--ease);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.aw-welcome-app:hover{box-shadow:var(--shadow-sm);border-color:#17696f66;transform:translateY(-1px)}.aw-welcome-app-main{gap:2px;min-width:0;display:grid}.aw-welcome-app-name{color:var(--ink);font-weight:600}.aw-welcome-app-meta{color:var(--ink-soft);font-size:.82rem}.aw-feature-head{gap:4px;margin:8px 0 0;display:grid}.aw-feature-head h2{margin:0;font-size:1.15rem}.aw-feature-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.aw-feature-tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);transition:all .18s var(--ease);align-items:flex-start;gap:12px;padding:16px;display:flex}@media(max-width:700px){.aw-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.aw-feature-tile{flex-direction:column;gap:10px;padding:14px}.aw-feature-sub{font-size:.78rem}}.aw-feature-tile:hover{box-shadow:var(--shadow-sm);border-color:#17696f4d;transform:translateY(-2px)}.aw-feature-icon{background:var(--teal-light);width:36px;height:36px;color:var(--teal);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.aw-feature-icon svg{width:18px;height:18px}.aw-feature-text{gap:2px;display:grid}.aw-feature-title{color:var(--ink);font-size:.9rem;font-weight:600}.aw-feature-sub{color:var(--ink-soft);font-size:.82rem;line-height:1.45}.aw-info-band{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;display:grid}.aw-info-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);align-content:start;gap:10px;padding:16px 18px;display:grid}.aw-info-card .eyebrow{margin:0}.aw-announcement{gap:2px;display:grid}.aw-announcement+.aw-announcement{border-top:1px solid var(--line);padding-top:10px}.aw-announcement-title{color:var(--ink);margin:0;font-size:.88rem;font-weight:600}.aw-announcement-body{color:var(--ink-soft);white-space:pre-line;margin:0;font-size:.84rem}.aw-hours-row{gap:12px;font-size:.86rem;display:flex}.aw-hours-row dt{color:var(--ink-faint);min-width:84px;margin:0}.aw-hours-row dd{color:var(--ink-soft);margin:0}.aw-journey{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow);gap:14px;padding:clamp(16px,3vw,24px);display:grid}.aw-journey-stages{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:0;display:grid;position:relative}.aw-journey-stage{text-align:left;background:var(--bg-surface);border:1.5px solid var(--line-strong);border-radius:var(--radius-lg);cursor:pointer;transition:all .16s var(--ease);align-content:start;gap:4px;min-width:0;padding:12px 14px;display:grid;position:relative}.aw-journey-stage+.aw-journey-stage{margin-left:18px}.aw-journey-stage+.aw-journey-stage:before{content:"";background:var(--line-strong);width:18px;height:1.5px;position:absolute;top:50%;left:-19.5px}.aw-journey-stage:hover{border-color:#17696f73;transform:translateY(-1px)}.aw-journey-stage[aria-pressed=true]{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal),var(--shadow-sm);background:#fff}.aw-journey-stage:focus-visible{box-shadow:var(--shadow-focus);outline:none}.aw-journey-eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);justify-content:space-between;align-items:center;gap:8px;font-size:.62rem;font-weight:700;display:flex}.aw-journey-title{color:var(--ink);margin:0;font-size:.92rem;font-weight:600;line-height:1.25}.aw-journey-sub{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.78rem;overflow:hidden}.aw-journey-dot{border:1.5px solid var(--line-strong);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.aw-stage-done .aw-journey-dot{background:var(--teal);border-color:var(--teal)}.aw-stage-done .aw-journey-dot:after{content:"";border:1.6px solid #fff;border-top:none;border-left:none;width:4px;height:7px;transform:rotate(45deg)translateY(-.5px)}@keyframes aw-pulse{0%,to{box-shadow:0 0 #a57a1659}50%{box-shadow:0 0 0 6px #a57a1600}}.aw-stage-current{border-color:#a57a168c}.aw-stage-current .aw-journey-dot{background:var(--gold);border-color:var(--gold);animation:2.2s ease-in-out infinite aw-pulse}.aw-stage-current .aw-journey-eyebrow{color:var(--gold)}.aw-stage-danger{border-color:#7a2f5273}.aw-stage-danger .aw-journey-dot{background:var(--berry);border-color:var(--berry)}.aw-stage-danger .aw-journey-eyebrow{color:var(--berry)}.aw-stage-muted .aw-journey-dot{background:var(--ink-faint);border-color:var(--ink-faint)}.aw-journey-detail{border:1px solid var(--line);border-radius:var(--radius-lg);animation:aw-rise .32s var(--ease) both;background:#fff;gap:10px;padding:16px 18px;display:grid}.aw-journey-detail-title{color:var(--ink);margin:0;font-size:.98rem;font-weight:600}.aw-journey-detail-body{color:var(--ink-soft);margin:0;font-size:.88rem;line-height:1.55}.aw-journey-detail-actions{flex-wrap:wrap;gap:10px;margin-top:2px;display:flex}.aw-journey-activity{gap:0;margin:0;padding:0;list-style:none;display:grid}.aw-journey-event{gap:12px;padding:0 0 14px;display:flex;position:relative}.aw-journey-event:last-child{padding-bottom:0}.aw-journey-event-rail{flex-direction:column;flex-shrink:0;align-items:center;width:10px;display:flex}.aw-journey-event-dot{background:var(--teal);border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-top:5px}.aw-journey-event:last-child .aw-journey-event-dot.is-open{background:var(--gold)}.aw-journey-event-line{background:var(--line-strong);flex:1;width:1.5px;margin-top:3px}.aw-journey-event:last-child .aw-journey-event-line{display:none}.aw-journey-event-main{gap:1px;min-width:0;display:grid}.aw-journey-event-date{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-size:.72rem;font-weight:600}.aw-journey-event-text{color:var(--ink);overflow-wrap:anywhere;font-size:.88rem}@media(max-width:640px){.aw-journey-stages{grid-template-columns:1fr;gap:10px}.aw-journey-stage+.aw-journey-stage{margin-left:0}.aw-journey-stage+.aw-journey-stage:before{width:1.5px;height:10px;top:-11.5px;left:22px}.aw-journey-sub{white-space:normal}}.aw-app-dots{align-items:center;gap:5px;margin-top:4px;display:inline-flex}.aw-app-dots i{border:1.2px solid var(--line-strong);background:0 0;border-radius:50%;width:7px;height:7px}.aw-app-dots i.is-done{background:var(--teal);border-color:var(--teal)}.aw-app-dots i.is-current{background:var(--gold);border-color:var(--gold);animation:2.2s ease-in-out infinite aw-pulse}.events-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.event-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);cursor:pointer;text-align:left;font:inherit;color:inherit;transition:box-shadow .18s var(--ease),transform .18s var(--ease),border-color .18s var(--ease);flex-direction:column;gap:12px;padding:18px 18px 16px;display:flex}.event-card:hover,.event-card:focus-visible{border-color:var(--teal)}@supports (color:color-mix(in lab,red,red)){.event-card:hover,.event-card:focus-visible{border-color:color-mix(in srgb,var(--teal) 45%,var(--line))}}.event-card:hover,.event-card:focus-visible{box-shadow:var(--shadow);transform:translateY(-1px)}.event-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.event-card-title{margin:0;font-size:1.05rem;font-weight:600;line-height:1.3}.event-card-sub{color:var(--ink-soft);margin:2px 0 0;font-size:.85rem}.event-day-chips{flex-wrap:wrap;gap:6px;display:flex}.event-day-chip{border-radius:var(--radius-pill);background:var(--teal);padding:3px 10px}@supports (color:color-mix(in lab,red,red)){.event-day-chip{background:color-mix(in srgb,var(--teal) 10%,transparent)}}.event-day-chip{color:var(--teal);letter-spacing:.02em;font-size:.75rem;font-weight:600}.event-card-stats{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:8px;padding-top:12px;display:grid}.event-card-stat{flex-direction:column;gap:2px;display:flex}.event-card-stat-label{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);font-size:.7rem}.event-card-stat-value{font-variant-numeric:tabular-nums;font-weight:600}.event-progress{border-radius:var(--radius-pill);background:var(--sunset);height:6px}@supports (color:color-mix(in lab,red,red)){.event-progress{background:color-mix(in srgb,var(--sunset) 14%,transparent)}}.event-progress{overflow:hidden}.event-progress-fill{border-radius:var(--radius-pill);background:var(--sunset);height:100%;transition:width .4s var(--ease)}.event-builder-layout{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:24px;display:grid}.event-builder-preview{position:sticky;top:16px}.event-preview-frame{border:1px solid var(--line-strong);background:var(--bg);box-shadow:var(--shadow-lg);border-radius:26px;max-height:calc(100vh - 120px);padding:14px 10px;overflow-y:auto}.event-preview-hint{text-align:center;color:var(--ink-faint);margin:10px 4px 0;font-size:.75rem}.event-day-toggle-row{flex-wrap:wrap;gap:8px;display:flex}.event-day-toggle{border:1px solid var(--line-strong);border-radius:var(--radius-pill);min-width:56px;min-height:40px;color:var(--ink-soft);font:inherit;cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease);background:0 0;padding:6px 12px;font-size:.85rem;font-weight:600}.event-day-toggle[aria-pressed=true]{background:var(--teal);border-color:var(--teal);color:#fff}.event-mode-segment{border:1px solid var(--line-strong);border-radius:var(--radius-pill);display:inline-flex;overflow:hidden}.event-mode-segment button{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;min-height:36px;padding:6px 14px;font-size:.8rem;font-weight:600}.event-mode-segment button+button{border-left:1px solid var(--line)}.event-mode-segment button[aria-pressed=true]{background:var(--teal);color:#fff}.event-field-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.event-field-row:last-child{border-bottom:0}.event-field-row-label{font-weight:600}.event-field-row-hint{color:var(--ink-soft);margin:2px 0 0;font-size:.8rem}.event-week-row{align-items:center;gap:10px;padding:8px 0;display:flex}.event-week-row input[type=date]{width:170px}.event-week-row input[type=text]{flex:1;min-width:120px}.event-url-preview{color:var(--ink-soft);word-break:break-all;margin-top:6px;font-size:.82rem;display:block}.event-url-preview strong{color:var(--teal);font-weight:600}.event-hub-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.event-hub-actions{flex-wrap:wrap;gap:8px;display:flex}.event-share-row{background:var(--teal);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex}@supports (color:color-mix(in lab,red,red)){.event-share-row{background:color-mix(in srgb,var(--teal) 7%,transparent)}}.event-share-row{border:1px solid var(--teal)}@supports (color:color-mix(in lab,red,red)){.event-share-row{border:1px solid color-mix(in srgb,var(--teal) 25%,transparent)}}.event-share-row{border-radius:var(--radius-md)}.event-share-url{min-width:200px;color:var(--teal);word-break:break-all;-webkit-user-select:all;user-select:all;flex:1;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem}.event-tab-row{flex-wrap:wrap;gap:6px;display:flex}.event-tab{border-radius:var(--radius-pill);min-height:40px;font:inherit;color:var(--ink-soft);cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease);background:0 0;border:1px solid #0000;padding:8px 16px;font-size:.9rem;font-weight:600}.event-tab[aria-selected=true]{background:var(--ink);color:var(--bg-surface)}.event-tab-count{opacity:.7;font-variant-numeric:tabular-nums;margin-left:6px;font-weight:500}.event-balance-positive{color:var(--status-danger);font-weight:600}.event-balance-settled{color:var(--status-success);font-weight:600}.event-week-pill-row{flex-wrap:wrap;gap:4px;display:flex}.event-week-pill{border-radius:var(--radius-pill);background:var(--gold);padding:2px 8px}@supports (color:color-mix(in lab,red,red)){.event-week-pill{background:color-mix(in srgb,var(--gold) 14%,transparent)}}.event-week-pill{color:var(--gold);white-space:nowrap;font-size:.72rem;font-weight:600}.event-flag-chip{border-radius:var(--radius-pill);background:var(--berry);align-items:center;gap:4px;padding:2px 8px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.event-flag-chip{background:color-mix(in srgb,var(--berry) 12%,transparent)}}.event-flag-chip{color:var(--berry);white-space:nowrap;font-size:.72rem;font-weight:600}.event-register-dates{-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:8px;padding:2px 2px 8px;display:flex;overflow-x:auto}.event-register-date{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--panel);min-width:74px;min-height:58px;font:inherit;cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease);flex-direction:column;flex:none;justify-content:center;align-items:center;gap:1px;display:flex}.event-register-date-day{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-size:.72rem}.event-register-date-num{font-size:1.05rem;font-weight:700}.event-register-date-month{color:var(--ink-soft);font-size:.72rem}.event-register-date[aria-pressed=true]{background:var(--ink);border-color:var(--ink)}.event-register-date[aria-pressed=true] .event-register-date-day,.event-register-date[aria-pressed=true] .event-register-date-num,.event-register-date[aria-pressed=true] .event-register-date-month{color:var(--bg-surface)}.event-register-date.is-today:after{content:"";background:var(--sunset);border-radius:50%;width:5px;height:5px;margin-top:2px}.event-register-summary{z-index:5;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);font-variant-numeric:tabular-nums;align-items:center;gap:14px;padding:10px 16px;font-size:.85rem;display:flex;position:sticky;top:0}.event-register-summary strong{font-size:1rem}.event-register-saving{color:var(--ink-faint);margin-left:auto;font-size:.78rem}.event-register-list{flex-direction:column;gap:10px;display:flex}.event-register-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);transition:border-color .2s var(--ease),background .2s var(--ease);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.event-register-card.is-present{border-color:var(--status-success)}@supports (color:color-mix(in lab,red,red)){.event-register-card.is-present{border-color:color-mix(in srgb,var(--status-success) 45%,var(--line))}}.event-register-card.is-present{background:var(--status-success)}@supports (color:color-mix(in lab,red,red)){.event-register-card.is-present{background:color-mix(in srgb,var(--status-success) 5%,var(--panel))}}.event-register-card.is-absent{border-color:var(--status-danger)}@supports (color:color-mix(in lab,red,red)){.event-register-card.is-absent{border-color:color-mix(in srgb,var(--status-danger) 40%,var(--line))}}.event-register-card.is-absent{background:var(--status-danger)}@supports (color:color-mix(in lab,red,red)){.event-register-card.is-absent{background:color-mix(in srgb,var(--status-danger) 4%,var(--panel))}}.event-register-card-name{margin:0;font-size:.98rem;font-weight:600}.event-register-card-meta{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:6px;margin:2px 0 0;font-size:.8rem;display:flex}.event-register-toggle{flex:none;gap:8px;display:flex}.event-register-status-btn{border-radius:var(--radius-md);border:1px solid var(--line-strong);min-width:86px;min-height:48px;font:inherit;color:var(--ink-soft);cursor:pointer;transition:background .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease);background:0 0;font-size:.9rem;font-weight:600}.event-register-status-btn[aria-pressed=true][data-status=present]{background:var(--status-success);border-color:var(--status-success);color:#fff}.event-register-status-btn[aria-pressed=true][data-status=absent]{background:var(--status-danger);border-color:var(--status-danger);color:#fff}.event-public-shell{flex-direction:column;gap:20px;max-width:720px;margin:0 auto;padding:24px 16px 64px;display:flex}.event-public-hero{padding:28px 26px}.event-public-hero h1{margin:4px 0 10px;font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.15}.event-public-desc{color:var(--ink-soft);white-space:pre-line;margin:0 0 16px;line-height:1.6}.event-public-facts{flex-wrap:wrap;gap:8px;display:flex}.event-public-fact{border-radius:var(--radius-pill);background:var(--sunset);align-items:center;gap:6px;padding:6px 12px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.event-public-fact{background:color-mix(in srgb,var(--sunset) 10%,transparent)}}.event-public-fact{color:var(--sunset);font-size:.82rem;font-weight:600}.event-public-fact.is-teal{background:var(--teal)}@supports (color:color-mix(in lab,red,red)){.event-public-fact.is-teal{background:color-mix(in srgb,var(--teal) 10%,transparent)}}.event-public-fact.is-teal{color:var(--teal)}.event-week-picker{flex-direction:column;gap:10px;display:flex}.event-week-option{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--bg-surface);cursor:pointer;font:inherit;text-align:left;min-height:56px;transition:border-color .15s var(--ease),background .15s var(--ease),box-shadow .15s var(--ease);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.event-week-option[aria-pressed=true]{border-color:var(--teal);background:var(--teal)}@supports (color:color-mix(in lab,red,red)){.event-week-option[aria-pressed=true]{background:color-mix(in srgb,var(--teal) 7%,var(--bg-surface))}}.event-week-option[aria-pressed=true]{box-shadow:0 0 0 1px var(--teal)}.event-week-option-label{font-weight:600}.event-week-option-dates{color:var(--ink-soft);margin:2px 0 0;font-size:.82rem}.event-week-option-check{border:2px solid var(--line-strong);color:#0000;width:24px;height:24px;transition:background .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.8rem;display:flex}.event-week-option[aria-pressed=true] .event-week-option-check{background:var(--teal);border-color:var(--teal);color:#fff}.event-total-bar{z-index:5;background:var(--ink);color:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex;position:sticky;bottom:12px}.event-total-bar-note{opacity:.75;font-size:.8rem}.event-total-bar-amount{font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:700}@media(max-width:960px){.event-builder-layout{grid-template-columns:1fr}.event-builder-preview{order:2;position:static}}@media(max-width:640px){.events-grid{grid-template-columns:1fr}.event-register-card{flex-direction:column;align-items:stretch}.event-register-toggle{width:100%}.event-register-status-btn{flex:1}.event-card-stats{grid-template-columns:repeat(3,1fr)}}.fr-mention{color:var(--teal);white-space:nowrap;background:#17696f1a;border-radius:6px;padding:1px 6px;font-weight:600;display:inline}.fr-mention-menu{z-index:1200;background:#fff;border:1px solid #11231e1f;border-radius:10px;flex-direction:column;min-width:220px;max-width:300px;padding:4px;display:flex;position:fixed;box-shadow:0 8px 30px #11231e29}.fr-mention-menu-item{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 10px;font-size:.86rem;display:flex}.fr-mention-menu-item:hover,.fr-mention-menu-item.is-selected{background:#17696f14}.fr-mention-menu-name{color:var(--ink);font-weight:600}.fr-mention-menu-role{color:var(--ink-soft,#11231e8c);white-space:nowrap;font-size:.72rem}.fr-mention-menu-empty{color:var(--ink-soft,#11231e80);padding:10px 12px;font-size:.8rem}.fr-bell{min-width:34px;min-height:34px;color:var(--ink-soft,#11231e8c);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;line-height:1;display:inline-flex}.fr-bell:hover{color:var(--ink);background:#11231e0f}.fr-bell-muted{color:var(--sunset)}.fr-composer-actions{justify-content:flex-end;gap:10px;display:flex}.fr-notif-panel{flex-direction:column;gap:14px;display:flex}.fr-notif-section{border-bottom:1px solid #11231e14;flex-direction:column;gap:8px;padding-bottom:12px;display:flex}.fr-notif-section:last-child{border-bottom:none;padding-bottom:0}.fr-notif-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.fr-notif-kind{cursor:pointer}.fr-notif-label{color:var(--ink);margin:0;font-size:.88rem;font-weight:600}.fr-notif-help{color:var(--ink-soft,#11231e99);margin:2px 0 0;font-size:.78rem}.fr-notif-confirm{background:#b9572b0f;border:1px solid #b9572b40;border-radius:10px;padding:10px 12px;font-size:.84rem}.fr-notif-confirm p{margin:0 0 10px}.cv-feed-page{flex-direction:column;gap:12px;width:100%;min-width:0;padding-bottom:8px;display:flex}.cv-feed-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.cv-feed-header h2{margin:0}.cv-feed{flex-direction:column;gap:14px;width:100%;display:flex}.cv-card{background:#fff;border:1px solid #11231e14;border-radius:14px;flex-direction:column;gap:8px;width:100%;padding:14px 18px 12px;display:flex;box-shadow:0 1px 3px #11231e0a}.cv-card-unread{background:#17696f08;border-color:#17696f59}.cv-card-head{width:100%;min-height:40px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:flex-start;gap:10px;padding:0;display:flex}.cv-card-head-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.cv-card-student{letter-spacing:.05em;text-transform:uppercase;color:var(--teal,#17696f);font-size:.74rem;font-weight:700}.cv-card-student-row{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:inline-flex}.cv-open-student{white-space:nowrap;min-height:0;font-size:.74rem;font-weight:600}.cv-card-title{color:var(--ink);overflow-wrap:break-word;min-width:0;font-size:1rem;font-weight:700;line-height:1.35}.cv-card-unread .cv-card-title{font-weight:800}.cv-card-preview{color:var(--ink-soft,#11231e99);-webkit-line-clamp:2;overflow-wrap:break-word;-webkit-box-orient:vertical;font-size:.85rem;display:-webkit-box;overflow:hidden}.cv-card-unread .cv-card-preview{color:var(--ink);font-weight:600}.cv-card-side{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:5px;display:flex}.cv-card-time{color:var(--ink-soft,#11231e80);white-space:nowrap;font-size:.72rem}.cv-unread-badge{background:var(--sunset,#b9572b);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.cv-card-count{color:var(--ink-soft,#11231e80);white-space:nowrap;font-size:.72rem}.cv-card-error{margin:0}.cv-thread{border-top:1px solid #11231e12;flex-direction:column;gap:10px;padding-top:4px;display:flex}.cv-msg{flex-direction:column;align-items:flex-start;max-width:86%;display:flex}.cv-msg-own{align-self:flex-end;align-items:flex-end}.cv-msg-meta{color:var(--ink-soft,#11231e8c);align-items:baseline;gap:8px;padding:0 4px 2px;font-size:.72rem;display:inline-flex}.cv-msg-author{color:var(--ink);font-weight:600}.cv-msg-bubble{background:#11231e0d;border:1px solid #11231e12;border-radius:4px 14px 14px;padding:8px 12px}.cv-msg-own .cv-msg-bubble{background:#17696f17;border-color:#17696f33;border-top-left-radius:14px;border-top-right-radius:4px}.cv-msg-body{color:var(--ink);white-space:pre-wrap;overflow-wrap:break-word;margin:0;font-size:.9rem;line-height:1.5}.cv-inline-reply{flex-direction:column;gap:8px;display:flex}.cv-body-input{width:100%;min-height:72px;font:inherit;resize:vertical;border:1px solid #11231e26;border-radius:10px;padding:10px 12px;font-size:.9rem;line-height:1.5}.cv-body-input:focus{outline-offset:1px;outline:2px solid #17696f59}.cv-composer-actions{justify-content:flex-end;gap:10px;display:flex}.cv-collapse{color:var(--teal);font:inherit;cursor:pointer;background:#17696f12;border:none;border-radius:999px;align-self:flex-start;padding:6px 12px;font-size:.8rem;font-weight:600}.cv-collapse:hover{background:#17696f21}.cv-new-bar{z-index:5;margin-top:2px;position:sticky;bottom:10px}.cv-new-trigger{width:100%;min-height:46px;font:inherit;color:var(--ink-soft,#11231e8c);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;background:#ffffffeb;border:1px solid #11231e1f;border-radius:999px;align-items:center;gap:8px;padding:11px 18px;font-size:.9rem;font-weight:600;display:inline-flex;box-shadow:0 4px 18px #11231e1a}.cv-new-trigger:hover{color:var(--ink);border-color:#17696f73}.cv-new-composer{background:#fff;border:1px solid #11231e1f;border-radius:16px;flex-direction:column;gap:10px;padding:14px 16px;display:flex;box-shadow:0 6px 26px #11231e24}.cv-title-input{width:100%;font:inherit;border:1px solid #11231e26;border-radius:8px;padding:10px 12px;font-weight:600}.cv-title-input:focus{outline-offset:1px;outline:2px solid #17696f59}.cv-picker-results{border:1px solid #11231e1f;border-radius:10px;overflow:hidden}.cv-picker-note{color:var(--ink-soft,#11231e99);margin:0;padding:9px 13px;font-size:.85rem}.cv-picker-item{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #11231e0f;align-items:center;gap:8px;padding:9px 13px;display:flex}.cv-picker-item:last-child{border-bottom:0}.cv-picker-item:hover{background:#17696f0f}.cv-picker-selected{border:1px solid var(--status-success-border,#3d7a5266);background:var(--status-success-bg,#3d7a5214);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:9px 13px;display:flex}.cv-nav-badge{background:var(--sunset,#b9572b);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:.68rem;font-weight:700;line-height:1;display:inline-flex}@media(max-width:640px){.cv-card{border-radius:12px;padding:12px 12px 10px}.cv-msg{max-width:94%}.cv-new-bar{bottom:calc(8px + env(safe-area-inset-bottom,0px))}.cv-card-side{align-items:flex-end}}.exam-pct-wrap{align-items:center;max-width:100%;display:inline-flex;position:relative}.exam-pct-input{font-variant-numeric:tabular-nums;width:96px}.exam-pct-input-auto{color:var(--ink);cursor:default;background:#17696f0f;padding-right:44px}.exam-pct-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--teal);pointer-events:none;font-size:.62rem;font-weight:600;position:absolute;right:8px}.exam-pct-flash{animation:.7s exam-pct-flash}@keyframes exam-pct-flash{0%{background:#17696f47}to{background:#17696f0f}}.exam-trend{vertical-align:1px;margin-left:2px;font-size:.68rem}.exam-trend-up{color:var(--teal)}.exam-trend-down{color:var(--sunset)}.exam-trend-flat{color:var(--ink-faint)}.exam-results-table td,.exam-results-table th{white-space:nowrap}.exam-row-actions{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.exam-result-form{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-surface);gap:10px;margin-bottom:14px;padding:14px;display:grid}.exam-result-form-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));align-items:end;gap:10px 12px;display:grid}.exam-absent-field{align-self:end}.exam-absent-toggle{color:var(--ink);cursor:pointer;align-items:center;gap:8px;min-height:38px;font-size:.88rem;display:inline-flex}.exam-sitting-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:12px;display:grid}.exam-grid-input{font-variant-numeric:tabular-nums;width:84px}.exam-roster-table td{vertical-align:middle}.exam-roster-student{color:var(--ink);font-weight:500}.exam-recent-group{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-surface);overflow:hidden}.exam-recent-group+.exam-recent-group{margin-top:10px}.exam-recent-group-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:10px;padding:10px 14px;display:flex}.exam-recent-group-title{color:var(--ink);font-size:.9rem;font-weight:600}.exam-recent-group-meta{color:var(--ink-faint);font-size:.78rem}.exam-score-picker{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:inline-flex}.exam-score-current{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-surface);font-variant-numeric:tabular-nums;min-height:34px;color:var(--ink);align-items:center;padding:4px 12px;font-weight:500;display:inline-flex}.exam-score-list{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-surface);gap:6px;max-width:420px;padding:10px;display:grid}.exam-score-option{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 10px;display:flex}.exam-score-option:hover,.exam-score-option:focus-visible{border-color:var(--teal);outline:none}.exam-score-option-main{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.exam-score-option-meta{color:var(--ink-soft);text-align:right;font-size:.78rem}.exam-score-list-actions{align-items:center;gap:12px;padding-top:2px;display:inline-flex}.exam-score-add{gap:6px;width:100%;display:grid}@media(max-width:720px){.exam-row-actions>button,.exam-score-picker>button{align-items:center;min-height:44px;display:inline-flex}}@media(prefers-reduced-motion:reduce){.exam-pct-flash{animation:none!important}}.storage-status-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.storage-status-meta{color:var(--ink-soft);margin:0;font-size:.85rem}.storage-benefit{background:var(--status-info-bg);border:1px solid var(--status-info-border);border-radius:var(--radius-sm);border-left-width:3px;gap:4px;max-width:64ch;margin:0 0 16px;padding:12px 14px;display:grid}.storage-benefit-lead{color:var(--ink);margin:0;font-size:.88rem;font-weight:600}.storage-benefit-text{color:var(--ink-soft);margin:0;font-size:.85rem}.storage-pill-error{color:var(--berry);background:#7a2f521f}.storage-provider-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:0 0 10px;display:grid}.storage-pricing-note{max-width:64ch;color:var(--ink-soft);margin:0 0 16px;font-size:.82rem}.storage-provider-links{flex-wrap:wrap;gap:6px 16px;margin:0 0 14px;font-size:.84rem;display:flex}.storage-provider-card{text-align:left;font:inherit;color:var(--ink);background:var(--bg-surface);border-radius:var(--radius-md);cursor:pointer;transition:border-color .16s var(--ease),background .16s var(--ease),box-shadow .16s var(--ease);border:1px solid #11231e1f;align-content:start;gap:6px;padding:14px;display:grid}button.storage-provider-card:hover:not(:disabled){border-color:#17696f73}.storage-provider-card[aria-pressed=true]{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal);background:var(--teal-light)}.storage-provider-card-disabled{opacity:.6;cursor:default}.storage-provider-card-current{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal);background:var(--teal-light);cursor:default}.storage-provider-lock{color:var(--ink-faint);margin:0;font-size:.78rem}.storage-provider-name{align-items:center;gap:8px;font-size:.92rem;font-weight:600;display:flex}.storage-provider-name svg{color:var(--teal);flex-shrink:0}.storage-provider-desc{color:var(--ink-soft);margin:0;font-size:.8rem}.storage-current-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-pill);width:fit-content;color:var(--teal);background:#17696f1a;padding:2px 8px;font-size:.68rem;font-weight:600}.storage-guide{color:var(--ink);gap:10px;max-width:64ch;margin:0 0 16px;padding-left:20px;font-size:.88rem;display:grid}.storage-guide-note{color:var(--ink-soft);margin-top:2px;font-size:.8rem;display:block}.storage-connected-head{align-items:center;gap:10px;margin-bottom:6px;font-weight:600;display:flex}.storage-connected-head svg{color:var(--teal);flex-shrink:0}.storage-manage-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:14px;display:flex}@media(max-width:720px){.storage-manage-actions>button.text-link{align-items:center;min-height:44px;display:inline-flex}}@media(prefers-reduced-motion:reduce){.storage-provider-card{transition:none!important}}.homework-attachments{gap:8px;margin-top:10px;display:grid}.homework-attachments-title{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.78rem;font-weight:600}.homework-attachment-list{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.homework-attachment{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-surface);gap:6px;max-width:100%;padding:8px;display:grid}.homework-attachment-media{width:120px}.homework-attachment-media-audio{width:min(320px,100%)}.homework-attachment-thumb{border-radius:var(--radius-sm);cursor:pointer;background:#11231e0d;border:0;width:120px;height:120px;padding:0;display:block;overflow:hidden}.homework-attachment-thumb img{object-fit:cover;width:100%;height:100%;display:block}.homework-attachment-thumb:focus-visible{box-shadow:var(--shadow-focus);outline:none}.homework-attachment-thumb-placeholder{cursor:default;color:var(--ink-faint);justify-content:center;align-items:center;font-size:.78rem;display:flex}.homework-attachment-thumb-failed{color:var(--berry);background:var(--status-danger-bg)}.homework-attachment-audio{width:100%;max-width:100%;height:40px}.homework-attachment-audio-placeholder{color:var(--ink-faint);margin:0;padding:10px 0;font-size:.82rem}.homework-attachment-meta{gap:2px;max-width:100%;display:grid}.homework-attachment-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.78rem;font-weight:500;overflow:hidden}.homework-attachment-sub{color:var(--ink-faint);font-size:.72rem}.homework-attachment-confirm{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;font-size:.74rem;display:flex}.homework-uploader{justify-items:start;gap:8px;display:grid}.homework-uploader-input{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.homework-uploader-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-surface);gap:8px;width:100%;padding:10px;display:grid}.homework-uploader-choices{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.homework-uploader-note{color:var(--ink-soft);max-width:46ch;margin:0;font-size:.78rem}.homework-uploader-disabled .homework-uploader-note{color:var(--ink-faint)}.homework-uploader-progress{gap:4px;width:min(320px,100%);display:grid}.homework-uploader-progress-track{border-radius:var(--radius-pill);background:#11231e14;height:6px;overflow:hidden}.homework-uploader-progress-fill{border-radius:var(--radius-pill);background:var(--teal);height:100%;transition:width .18s var(--ease-out)}.homework-uploader-progress-label{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.74rem}.homework-recorder{gap:8px;display:grid}.homework-recorder-live,.homework-recorder-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.homework-recorder-preview{gap:8px;display:grid}.homework-recorder-dot{background:var(--berry);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite homework-recorder-pulse}@keyframes homework-recorder-pulse{0%,to{opacity:1}50%{opacity:.25}}.homework-recorder-elapsed{font-variant-numeric:tabular-nums;color:var(--ink);font-size:.85rem;font-weight:500}.homework-recorder-hint{color:var(--ink-soft);margin:0;font-size:.78rem}@media(prefers-reduced-motion:reduce){.homework-recorder-dot{animation:none}.homework-uploader-progress-fill{transition:none}}.homework-attachments-hint{color:var(--ink-faint);margin:0;font-size:.82rem;line-height:1.5}.homework-resource-tile{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff9;align-items:center;gap:11px;min-width:0;padding:9px 12px;display:flex}.homework-resource-glyph{flex:none;display:inline-flex}.homework-resource-glyph-youtube{color:#b3261e}.homework-resource-glyph-quran{color:var(--teal)}.homework-resource-text{flex:1;gap:1px;min-width:0;display:grid}.homework-resource-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.homework-resource-kind{color:var(--ink-soft);font-size:.78rem}.homework-resource-open{color:var(--teal);border:1px solid var(--line-strong);border-radius:var(--radius-pill);flex:none;align-items:center;min-height:32px;padding:6px 14px;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.homework-resource-open:hover{background:#17696f14}.homework-resource-picker{border:1px solid var(--line);border-radius:var(--radius-sm);gap:8px;padding:12px;display:grid}.homework-resource-picker-label{color:var(--ink);margin:0;font-size:.9rem;font-weight:600}.homework-resource-picker-label span{color:var(--ink-faint);margin-left:6px;font-size:.8rem;font-weight:400}.homework-resource-picker-row{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:8px;display:grid}.homework-resource-picker-row select{min-width:0;min-height:44px}@media(max-width:560px){.homework-resource-picker-row{grid-template-columns:minmax(0,1fr)}}.hw-voice{background:var(--teal-light);border-radius:999px;align-items:center;gap:9px;max-width:100%;padding:6px 13px 6px 6px;display:inline-flex}.hw-voice-play{background:var(--teal);color:#fff;cursor:pointer;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;transition:transform .12s;display:inline-flex}.hw-voice-play svg{width:14px;height:14px}.hw-voice-play:active{transform:scale(.92)}.hw-voice-wave{align-items:center;gap:2px;min-width:0;height:16px;display:flex;overflow:hidden}.hw-voice-wave i{background:#17696f59;border-radius:2px;flex:none;width:3px;transition:background .2s}.hw-voice-wave i[data-past=true]{background:var(--teal)}.hw-voice-clock{color:var(--teal);flex:none;font-size:.68rem;font-weight:700}.diary-chip-row{flex:none;gap:6px;display:flex}.diary-chip{border:1px solid var(--line-strong);width:38px;min-height:36px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:9px;padding:4px 0;font-size:.82rem;font-weight:700;transition:background .15s,border-color .15s,color .15s,transform .1s}.diary-chip:active{transform:scale(.92)}.diary-field-row{border:1px solid var(--line);border-radius:10px;gap:7px;padding:8px 10px;display:grid}.diary-field-row-main{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.diary-field-row-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.88rem;font-weight:600;overflow:hidden}.diary-field-row-text{min-height:34px;padding:5px 10px;font-size:.82rem}.diary-fields-legend{color:var(--ink-faint);flex-wrap:wrap;gap:12px;margin:0;font-size:.72rem;display:flex}.diary-fields-legend .diary-score-pill{padding:0 7px;font-size:.68rem}.diary-chip[aria-pressed=true][data-status=excellent]{background:var(--status-info-bg);border-color:var(--status-info-border);color:var(--status-info)}.diary-chip[aria-pressed=true][data-status=good]{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success)}.diary-chip[aria-pressed=true][data-status=average]{background:var(--status-warning-bg);border-color:var(--status-warning-border);color:var(--status-warning)}.diary-chip[aria-pressed=true][data-status=poor]{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger)}.diary-score-pill{border:1px solid var(--line-strong);color:var(--ink-soft);white-space:nowrap;border-radius:8px;padding:2px 10px;font-size:.74rem;font-weight:600;display:inline-block}.diary-score-pill[data-status=excellent]{background:var(--status-info-bg);border-color:var(--status-info-border);color:var(--status-info)}.diary-score-pill[data-status=good]{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success)}.diary-score-pill[data-status=average]{background:var(--status-warning-bg);border-color:var(--status-warning-border);color:var(--status-warning)}.diary-score-pill[data-status=poor]{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger)}.diary-scores-list{gap:6px;margin:6px 0;display:grid}.diary-scores-list .diary-score-row{justify-content:space-between;align-items:baseline;gap:10px;font-size:.85rem;display:flex}.diary-score-row .diary-score-label{flex:none;font-weight:600}.diary-score-row .diary-score-text{color:var(--ink-soft);flex:auto;min-width:0}.diary-grid-scroll{-webkit-overflow-scrolling:touch;border:1px solid var(--line-strong);background:var(--panel);border-radius:16px;overflow-x:auto}.diary-grid{border-collapse:separate;border-spacing:0;width:100%;min-width:max-content}.diary-grid th,.diary-grid td{border-bottom:1px solid var(--line);text-align:center;vertical-align:middle;white-space:nowrap;padding:9px 10px}.diary-grid tr:last-child td{border-bottom:none}.diary-grid tbody tr{transition:background .15s}.diary-grid tbody tr:hover{background:0 0}.diary-grid tbody tr:hover td{background:var(--teal-light)}.diary-grid th{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);background:var(--bg-surface);z-index:2;padding-top:12px;font-size:.66rem;font-weight:600;position:sticky;top:0}.diary-grid-toolbar th{background:var(--teal-light);text-transform:none;letter-spacing:normal;color:var(--teal);padding-top:7px;padding-bottom:7px;font-size:.72rem}.diary-grid .diary-grid-student{z-index:3;background:var(--bg-surface);text-align:left;text-overflow:ellipsis;max-width:46vw;font-size:.86rem;font-weight:500;position:sticky;left:0;overflow:hidden}.diary-grid td.diary-grid-student{background:var(--panel)}.diary-grid tbody tr:hover td.diary-grid-student{background:var(--bg-surface)}.diary-grid th.diary-grid-student{z-index:4}.diary-grid .diary-grid-student:after{content:"";pointer-events:none;background:linear-gradient(90deg,#11231e12,#0000);width:12px;position:absolute;top:0;bottom:0;right:-12px}.diary-grid .diary-grid-student,.diary-grid td.diary-grid-student,.diary-grid th.diary-grid-student{position:sticky}.diary-grid-student-link{color:var(--ink);align-items:center;gap:8px;max-width:100%;text-decoration:none;display:inline-flex}.diary-grid-student-link:hover .diary-grid-student-name{text-decoration:underline}.diary-grid-avatar{background:var(--teal-light);width:26px;height:26px;color:var(--teal);letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.62rem;font-weight:700;display:inline-flex}.diary-grid-student-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.diary-grid-progress{align-items:center;gap:12px;margin:0 2px 10px;display:flex}.diary-grid-progress-text{color:var(--ink-soft);font-variant-numeric:tabular-nums;flex:none;font-size:.76rem;font-weight:600}.diary-grid-progress-track{background:#11231e14;border-radius:3px;flex:auto;height:5px;overflow:hidden}.diary-grid-progress-fill{background:var(--teal);border-radius:3px;height:100%;transition:width .35s;display:block}.diary-save-bar{z-index:20;border:1px solid var(--line-strong);background:var(--panel);-webkit-backdrop-filter:blur(8px);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:10px 12px 10px 16px;transition:box-shadow .25s,border-color .25s;display:flex;position:sticky;bottom:10px;box-shadow:0 6px 22px #11231e14}.diary-save-bar-active{border-color:var(--teal-mid);box-shadow:0 10px 28px #11231e29}.diary-save-bar-note{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.82rem}.diary-save-bar-active .diary-save-bar-note{color:var(--ink);font-weight:500}.diary-cycle-cell{border:1px dashed var(--line-strong);min-width:52px;min-height:38px;color:var(--ink-faint);cursor:pointer;background:0 0;border-radius:9px;padding:4px 10px;font-size:.8rem;font-weight:700;transition:background .12s,border-color .12s,color .12s,transform 80ms}.diary-cycle-cell:active{transform:scale(.92)}.diary-cycle-cell[data-status]{border-style:solid}.diary-cycle-cell[data-status=excellent]{background:var(--status-info-bg);border-color:var(--status-info-border);color:var(--status-info)}.diary-cycle-cell[data-status=good]{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success)}.diary-cycle-cell[data-status=average]{background:var(--status-warning-bg);border-color:var(--status-warning-border);color:var(--status-warning)}.diary-cycle-cell[data-status=poor]{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger)}.diary-cycle-cell[data-status=completed]{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success)}.diary-cycle-cell[data-status=satisfactory]{background:var(--status-warning-bg);border-color:var(--status-warning-border);color:var(--status-warning)}.diary-cycle-cell[data-status=incomplete]{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger)}.diary-cycle-cell:disabled{cursor:default;opacity:.35;border-style:dotted}.diary-grid-setall{border:1px solid var(--teal-mid);background:var(--panel);min-height:28px;color:var(--teal);cursor:pointer;border-radius:999px;padding:3px 11px;font-size:.7rem;font-weight:600;transition:background .15s,transform .1s}.diary-grid-setall:hover{background:var(--teal-light)}.diary-grid-setall:active{transform:scale(.94)}.diary-grid-subnote{color:var(--ink-faint);white-space:normal;max-width:110px;margin:2px auto 0;font-size:.66rem;font-weight:500;line-height:1.25;display:block}.diary-class-hw-card{border:1px solid var(--line-strong);background:var(--panel);border-radius:12px;gap:8px;padding:14px 16px;display:grid}.diary-class-hw-card h3{margin:0;font-size:.95rem}.diary-class-hw-card textarea{resize:vertical;min-height:52px}.diary-grid-student-cell{align-items:center;gap:4px;min-width:0;max-width:100%;display:inline-flex}.diary-grid-student-cell .diary-grid-student-link{min-width:0}.diary-grid-commentbtn{width:30px;height:30px;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;padding:5px;transition:background .15s,color .15s,transform .1s;position:relative}.diary-grid-commentbtn svg{width:100%;height:100%;display:block}.diary-grid-commentbtn:hover{background:var(--teal-light);color:var(--teal)}.diary-grid-commentbtn:active{transform:scale(.9)}.diary-grid-commentbtn[data-open=true]{background:var(--teal);color:#fff}.diary-grid-commentbtn[data-has=true]{color:var(--teal)}.diary-grid-commentdot{background:var(--sunset);border:1.5px solid var(--panel);border-radius:50%;width:7px;height:7px;position:absolute;top:3px;right:3px}.diary-grid-textrow td{border-bottom:1px solid var(--line);text-align:left;white-space:normal;padding:0}.diary-grid tbody tr.diary-grid-textrow:hover td{background:var(--teal-light)}.diary-textrow-panel{background:var(--teal-light);transform-origin:top;gap:10px;max-width:min(680px,100vw - 48px);padding:12px 16px 14px;animation:.24s cubic-bezier(.22,1,.36,1) diary-textrow-in;display:grid;position:sticky;left:0}@keyframes diary-textrow-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.diary-textrow-title{color:var(--teal);margin:0;font-size:.78rem;font-weight:650}.diary-textrow-title span{color:var(--ink-soft);font-weight:500}.diary-textrow-fields{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.diary-textrow-field{color:var(--ink-soft);gap:4px;font-size:.74rem;font-weight:600;display:grid}.diary-textrow-field input{background:var(--panel);min-height:38px;padding:6px 11px;font-size:.86rem}.diary-textrow-close{justify-self:start;font-size:.78rem}@media(max-width:700px){.diary-grid th,.diary-grid td{padding:7px 6px}.diary-cycle-cell{min-width:46px}.diary-textrow-fields{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.diary-textrow-panel{animation:none}.diary-grid-commentbtn{transition:none}}.diary-history{border:1px solid var(--line);background:var(--panel);border-radius:12px}.diary-history-head,.diary-history-row{text-align:left;grid-template-columns:120px minmax(0,1fr) 96px 22px;align-items:center;gap:10px;padding:9px 14px;display:grid}.diary-history-head{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line);background:var(--bg-surface);border-radius:12px 12px 0 0;font-size:.64rem;font-weight:650}.diary-history-row{border:none;border-bottom:1px solid var(--line);cursor:pointer;width:100%;min-height:52px;font:inherit;color:var(--ink);background:0 0;transition:background .14s}.diary-history>div:last-child .diary-history-row:not([data-open=true]){border-bottom:none;border-radius:0 0 12px 12px}.diary-history-row:hover{background:var(--teal-light)}.diary-history-row[data-open=true]{background:var(--bg-surface)}.diary-history-date{gap:1px;min-width:0;display:grid}.diary-history-date b{white-space:nowrap;font-size:.84rem;font-weight:650}.diary-history-date small{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.diary-history-hw{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;font-size:.85rem;display:-webkit-box;overflow:hidden}.diary-history-classtag{background:var(--teal-light);color:var(--teal);text-transform:uppercase;letter-spacing:.04em;vertical-align:1px;border-radius:999px;margin-right:6px;padding:1px 7px;font-size:.66rem;font-weight:700;display:inline-block}.diary-history-none{color:var(--ink-faint)}.diary-history-mark-col{text-align:center}.diary-history-badge{white-space:nowrap;font-size:.7rem}.diary-history-chev{color:var(--ink-faint);font-size:1.1rem;line-height:1;transition:transform .18s}.diary-history-row[data-open=true] .diary-history-chev{transform:rotate(90deg)}.diary-history-detail{border-bottom:1px solid var(--line);background:var(--bg-surface);padding:4px 14px 14px;animation:.22s cubic-bezier(.22,1,.36,1) diary-textrow-in}.diary-history>div:last-child .diary-history-detail{border-bottom:none;border-radius:0 0 12px 12px}@media(max-width:560px){.diary-history-head,.diary-history-row{grid-template-columns:86px minmax(0,1fr) 30px 16px;padding:9px 10px}.diary-history-badge{border-radius:50%;width:12px;height:12px;padding:0;font-size:0;display:inline-block}}.diary-staged-list{gap:6px;display:grid}.diary-staged-chip{border:1px solid var(--line-strong);background:var(--bg-surface);border-radius:999px;align-items:center;gap:8px;width:max-content;max-width:100%;padding:5px 6px 5px 12px;font-size:.8rem;animation:.2s diary-textrow-in;display:inline-flex}.diary-staged-chip-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:240px;font-weight:600;overflow:hidden}.diary-staged-chip-size{color:var(--ink-faint);flex:none;font-size:.72rem}.diary-staged-chip button{width:24px;height:24px;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:50%;font-size:1rem;line-height:1}.diary-staged-chip button:hover{background:var(--status-danger-bg);color:var(--status-danger)}.diary-staged-note{color:var(--ink-faint);margin:0;font-size:.72rem}@media(prefers-reduced-motion:reduce){.diary-history-detail,.diary-staged-chip{animation:none}.diary-history-chev{transition:none}}.diary-hifz-cell{white-space:nowrap;border:1px solid var(--teal-mid);background:var(--teal-light);min-width:52px;min-height:38px;color:var(--teal);border-radius:9px;justify-content:center;align-items:center;gap:4px;padding:4px 10px;font-size:.74rem;font-weight:700;text-decoration:none;transition:background .12s;display:inline-flex}.diary-hifz-cell:hover{background:var(--panel)}@media(max-width:700px){.diary-hifz-cell{min-width:46px;padding:4px 8px;font-size:.7rem}}@media(prefers-reduced-motion:reduce){.diary-hifz-cell{transition:none}}.thw-cards{grid-template-columns:1fr;gap:14px;display:grid}@media(min-width:980px){.thw-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.thw-card{border:1px solid var(--line-strong);background:var(--panel);border-radius:16px;align-content:start;gap:12px;padding:16px;transition:box-shadow .2s,border-color .2s;display:grid}@media(hover:hover){.thw-card:hover{border-color:var(--teal-mid);box-shadow:0 6px 20px #11231e12}}.thw-card-head{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;display:flex}.thw-card-title{min-width:0}.thw-card-head h3{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:.98rem;overflow:hidden}.thw-card-meta{color:var(--ink-faint);margin:2px 0 0;font-size:.74rem;font-weight:600}.thw-card-count{color:var(--ink-faint);font-variant-numeric:tabular-nums;flex:none;font-size:.74rem;font-weight:600}.thw-card-error{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.thw-hw{background:var(--bg-surface);border-radius:12px;gap:8px;padding:12px;display:grid}.thw-hw-label{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);font-size:.66rem;font-weight:600}.thw-hw-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.thw-hw-body{white-space:pre-wrap;min-width:0;margin:0;font-size:.9rem}.thw-hw-editing textarea{resize:vertical;min-height:64px}.thw-hw-actions{align-items:center;gap:8px;display:flex}.thw-hw-saved{color:var(--status-success);margin:0;font-size:.78rem;font-weight:500;animation:.3s thw-fade-in}.thw-set-hw{width:100%;min-height:46px;color:var(--ink-soft);border:1.5px dashed var(--line-strong);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:.88rem;font-weight:600;transition:border-color .15s,color .15s,background .15s,transform .1s;display:flex}.thw-set-hw span{color:var(--teal);font-size:1.05rem;line-height:1}.thw-set-hw:hover{border-color:var(--teal-mid);color:var(--teal);background:var(--teal-light)}.thw-set-hw:active{transform:scale(.985)}.thw-marking{align-items:center;gap:16px;display:flex}.thw-progress{flex:auto;gap:6px;min-width:0;display:grid}.thw-progress-text{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:600}.thw-progress[data-complete=true] .thw-progress-text{color:var(--status-success)}.thw-progress-track{background:#11231e14;border-radius:4px;height:6px;display:block;overflow:hidden}.thw-progress-fill{background:var(--teal);border-radius:4px;height:100%;transition:width .4s cubic-bezier(.22,1,.36,1),background .3s;display:block}.thw-progress[data-complete=true] .thw-progress-fill{background:var(--status-success)}.thw-mark-link{flex:none;text-decoration:none}.thw-note{color:var(--ink-soft);margin:0;font-size:.84rem}.thw-page-note{max-width:68ch}.thw-skeleton{gap:10px;display:grid}.thw-skeleton-line{background:linear-gradient(90deg,#11231e0f 25%,#11231e1c,#11231e0f 75%) 0 0/200% 100%;border-radius:7px;height:14px;animation:1.4s infinite thw-shimmer;display:block}.thw-skeleton-line-short{width:55%}@keyframes thw-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes thw-fade-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media(max-width:560px){.thw-marking{flex-direction:column;align-items:stretch;gap:10px}.thw-mark-link{text-align:center}}.thw-chip-row{flex-wrap:wrap;gap:7px;margin-bottom:12px;display:flex}.thw-chip{color:var(--ink-soft);border:1px solid var(--line-strong);background:var(--panel);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:100%;padding:7px 14px;font-size:.78rem;font-weight:600;transition:background .15s,border-color .15s,color .15s,transform .1s;overflow:hidden}.thw-chip:active{transform:scale(.96)}.thw-chip[aria-pressed=true]{background:var(--teal);border-color:var(--teal);color:#fff}.thw-chip-med[aria-pressed=true]{background:var(--status-warning);border-color:var(--status-warning)}.thw-roster-search{width:100%;max-width:420px;margin-bottom:12px}.thw-roster{border:1px solid var(--line-strong);background:var(--panel);border-radius:16px}.thw-roster-head,.thw-roster-row{grid-template-columns:minmax(0,1fr) 64px 88px 104px;align-items:center;gap:8px;padding:8px 18px;display:grid}.thw-roster-head{z-index:5;background:var(--bg-surface);border-bottom:1px solid var(--line);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);border-radius:15px 15px 0 0;font-size:.66rem;font-weight:600;position:sticky;top:64px}@media(max-width:960px){.thw-roster-head{top:0}}.thw-roster>div:last-child .thw-roster-row{border-radius:0 0 15px 15px}.thw-roster-head .thw-roster-age,.thw-roster-head .thw-roster-med,.thw-roster-head .thw-roster-hw{text-align:center}.thw-roster-row{min-height:54px;color:var(--ink);border-bottom:1px solid var(--line);text-decoration:none;transition:background .14s}.thw-roster>div:last-child .thw-roster-row{border-bottom:none}.thw-roster-row:hover{background:var(--teal-light)}.thw-roster-row:active{background:var(--bg-surface)}.thw-roster-row:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}.thw-roster-name{align-items:center;gap:10px;min-width:0;display:flex}.thw-roster-avatar{background:var(--teal-light);width:30px;height:30px;color:var(--teal);letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.66rem;font-weight:700;display:inline-flex}.thw-roster-name-text{gap:1px;min-width:0;display:grid}.thw-roster-name-text b{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:550;overflow:hidden}.thw-roster-name-text small{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;font-size:.72rem;display:flex;overflow:hidden}.thw-roster-battery{color:var(--ink-soft);flex:none;align-items:center;gap:5px;font-size:.68rem;font-weight:700;display:inline-flex}.thw-roster-age{text-align:center;color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.86rem}.thw-roster-med,.thw-roster-hw{text-align:center}.thw-med-badge{background:var(--status-warning-bg);border:1px solid var(--status-warning-border);width:24px;height:24px;color:var(--status-warning);border-radius:50%;justify-content:center;align-items:center;font-size:.86rem;font-weight:700;line-height:1;display:inline-flex}.thw-hw-cell{flex-direction:column;align-items:center;gap:0;line-height:1.15;display:inline-flex}.thw-hw-mark{font-size:.94rem;font-weight:700}.thw-hw-mark[data-status=completed]{color:var(--status-success)}.thw-hw-mark[data-status=satisfactory]{color:var(--status-warning)}.thw-hw-mark[data-status=incomplete]{color:var(--status-danger)}.thw-hw-when{color:var(--ink-faint);white-space:nowrap;font-size:.62rem;font-weight:600}.thw-hw-cell[data-stale=true] .thw-hw-mark{opacity:.4}.thw-hw-cell[data-stale=true] .thw-hw-when{opacity:.7}.thw-roster-dot{color:var(--ink-faint);opacity:.6;font-size:1rem}@media(max-width:560px){.thw-roster-head,.thw-roster-row{grid-template-columns:minmax(0,1fr) 36px 48px 56px;padding:8px 10px}.thw-roster-battery{display:none}}@media(prefers-reduced-motion:reduce){.thw-card,.thw-chip,.thw-set-hw,.thw-roster-row,.thw-progress-fill{transition:none}.thw-skeleton-line,.thw-hw-saved{animation:none}}.thw-split{grid-template-columns:340px minmax(0,1fr);align-items:start;display:grid}.thw-listpane{border-right:1px solid var(--line-strong);flex-direction:column;height:calc(100dvh - 104px);min-height:0;display:flex;position:sticky;top:84px}.thw-listpane-head{border-bottom:1px solid var(--line);padding:16px 18px 12px}.thw-listpane-head h2{margin:0;font-size:1.15rem}.thw-listpane-head p{color:var(--ink-soft);margin:2px 0 0;font-size:.72rem}.thw-search-wrap{margin-top:10px;position:relative}.thw-search-icon{width:14px;height:14px;color:var(--ink-faint);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.thw-search{border:1px solid var(--line-strong);width:100%;font:inherit;background:#fffdf8;border-radius:999px;padding:8px 34px;font-size:.82rem}.thw-search:focus{border-color:var(--teal);outline:none}.thw-search-clear{width:24px;height:24px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:1rem;line-height:1;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.thw-search-clear:hover{background:var(--teal-light);color:var(--teal)}.thw-hl{color:var(--teal);background:0 0;font-weight:800}.thw-search-empty{text-align:center;color:var(--ink-soft);margin:0;padding:22px 16px;font-size:.8rem}.thw-list{flex:1;align-content:start;min-height:0;display:grid;overflow-y:auto}.thw-page-note{border-top:1px solid var(--line);color:var(--ink-faint);margin:0;padding:10px 16px;font-size:.68rem;line-height:1.45}.thw-placeholder{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:calc(100dvh - 220px);padding:30px;display:flex}.thw-placeholder-glyph{background:var(--teal-light);border-radius:50%;place-items:center;width:74px;height:74px;margin-bottom:8px;font-size:1.9rem;display:grid}.thw-placeholder p{margin:0;font-size:.98rem;font-weight:650}.thw-placeholder .thw-placeholder-sub{color:var(--ink-soft);font-size:.76rem;font-weight:400}.thw-row{border-bottom:1px solid var(--line);color:var(--ink);font:inherit;text-align:left;background:0 0;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 16px;text-decoration:none;transition:background .15s;display:grid}.thw-list>.thw-row:last-child{border-bottom:none}.thw-row:hover{background:var(--teal-light);text-decoration:none}.thw-row[data-active=true]{background:var(--teal-light);box-shadow:inset 3px 0 0 var(--teal)}.thw-row[data-active=true] .thw-row-avatar{background:var(--teal);color:#fff}.thw-row-avatar{background:var(--teal-mid);width:46px;height:46px;color:var(--teal);border-radius:50%;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;display:inline-flex}.thw-row-main{gap:2px;min-width:0;display:grid}.thw-row-titleline{align-items:center;gap:7px;min-width:0;display:flex}.thw-row-title{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:700;overflow:hidden}.thw-row-dot{background:var(--sunset,#b9572b);border-radius:50%;flex:none;width:9px;height:9px;box-shadow:0 0 0 3px #b9572b26}.thw-row-meta{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.thw-row-preview{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.thw-row-preview-muted{color:var(--ink-faint);font-style:italic}.thw-row-side{justify-items:end;gap:4px;display:grid}.thw-row-progress{color:var(--status-warning);white-space:nowrap;font-size:.7rem;font-weight:700}.thw-row-progress[data-complete=true]{color:var(--status-success)}.thw-row-chev{color:var(--ink-faint);font-size:1rem}.thw-row-error{grid-template-columns:48px minmax(0,1fr) auto}.tct-pane{flex-direction:column;min-width:0;min-height:calc(100dvh - 104px);display:flex}.tct-head{border-bottom:1px solid var(--line-strong);align-items:center;gap:12px;padding:10px 16px;display:flex}.tct-back-btn{width:36px;height:36px;color:var(--ink);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:1.15rem;text-decoration:none;display:none}.tct-back-btn:hover{background:var(--teal-light);text-decoration:none}.tct-scroll{flex-direction:column;flex:1;padding:16px 20px 10px;display:flex}.tct-scroll>*{width:100%}.tct-empty{flex:1}.tct-avatar{background:var(--teal-mid);width:44px;height:44px;color:var(--teal);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex}.tct-head-main{flex:1;min-width:0}.tct-head-main h2{margin:0;font-size:1.05rem}.tct-head-main p{color:var(--ink-soft);margin:1px 0 0;font-size:.72rem}.tct-mark{white-space:nowrap;text-decoration:none}.tct-thread{flex:1;align-content:end;gap:4px;width:100%;max-width:860px;margin:0 auto;padding:4px 0;display:grid}.tct-empty{text-align:center;color:var(--ink-soft);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:40px 14px;display:flex}.tct-empty p{color:var(--ink);margin:0;font-size:.95rem;font-weight:650}.tct-empty .tct-empty-sub{color:var(--ink-soft);font-size:.78rem;font-weight:400}.tct-empty-glyph{background:var(--teal-light);border-radius:50%;place-items:center;width:64px;height:64px;margin-bottom:8px;font-size:1.6rem;display:grid}.tct-group{animation:.35s cubic-bezier(.22,1,.36,1) both tct-in}@keyframes tct-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.tct-datesep{text-align:center;margin:12px 0 8px}.tct-datesep span{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);background:#11231e0d;border-radius:999px;padding:4px 13px;font-size:.66rem;font-weight:700}.tct-myrow{justify-content:flex-end;display:flex}.tct-bubble{border:1px solid var(--line-strong);color:var(--ink);background:#fffdf8;border-radius:16px 4px 16px 16px;max-width:86%;padding:10px 13px;box-shadow:0 2px 8px #11231e0f}.tct-bubble[data-tonight=true]{border-color:#17696f73;box-shadow:0 4px 14px #17696f29}.tct-bubble p{white-space:pre-line;color:var(--ink);margin:0;font-size:.88rem;line-height:1.5}.tct-bubble small{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:10px;margin-top:5px;font-size:.62rem;display:flex}.tct-clear{font:inherit;color:var(--teal);cursor:pointer;background:0 0;border:0;padding:0;font-size:.64rem;font-weight:650;text-decoration:underline}.tct-composer-zone{z-index:5;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));gap:7px;display:grid;position:sticky;bottom:10px}.tct-tray{border:1px solid var(--line-strong);background:#fffdf8;border-radius:14px;padding:11px 13px;animation:.25s cubic-bezier(.22,1,.36,1) tct-in;box-shadow:0 10px 30px #11231e1f}.tct-saved{color:var(--status-success);margin:0;font-size:.74rem;font-weight:650}.tct-composer{align-items:flex-end;gap:7px;display:flex}.tct-icon-btn{border:1px solid var(--line-strong);width:38px;height:38px;color:var(--teal);cursor:pointer;background:#fffdf8;border-radius:50%;flex:none;justify-content:center;align-items:center;transition:all .18s;display:inline-flex}.tct-icon-btn svg{width:17px;height:17px}.tct-icon-btn:hover,.tct-icon-btn[aria-expanded=true]{background:var(--teal);color:#fff;border-color:var(--teal)}.tct-composer textarea{resize:vertical;border:1px solid var(--line-strong);min-width:0;min-height:42px;max-height:130px;font:inherit;background:#fffdf8;border-radius:20px;flex:1;padding:10px 16px;font-size:.88rem;box-shadow:0 6px 20px #11231e14}.tct-send{background:var(--sunset,#b9572b);color:#fff;cursor:pointer;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:1rem;transition:transform .15s;display:inline-flex;box-shadow:0 2px 8px #b9572b40}.tct-send svg{width:18px;height:18px}.tct-send:disabled{opacity:.4;cursor:default}.tct-send:not(:disabled):active{transform:scale(.94)}.tct-composer-hint{text-align:center;color:var(--ink-faint);margin:0;font-size:.68rem}.tct-chips{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:7px;animation:.3s cubic-bezier(.22,1,.36,1) both tct-chips-in;display:flex}.tct-chips-label{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);font-size:.63rem;font-weight:800}.tct-chips .pdp-chip{transition:background .18s,color .18s,border-color .18s,transform .14s}.tct-chips .pdp-chip:active{transform:scale(.95)}@keyframes tct-chips-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.tct-bubble .pdc-tag,.tcc-thembubble .pdc-tag{margin-bottom:4px}.tcc-thembubble .pdc-tag[data-kind]{color:#ffffffe6}@media(max-width:960px){.thw-split{display:block}.thw-listpane{border-right:none;height:auto;position:static}.thw-list{overflow:visible}.thw-placeholder{display:none}.tct-pane{z-index:60;background:var(--bg);flex-direction:column;height:100dvh;display:flex;position:fixed;inset:0}.tct-back-btn{display:inline-flex}.tct-head{flex:none;padding:8px 12px}.tct-mark{padding:8px 14px;font-size:.78rem}.tct-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:12px 12px 8px;overflow-y:auto}.tct-composer-zone{flex:none;position:static}}.thw-sect{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);z-index:2;background:var(--bg);border-bottom:1px solid var(--line);-webkit-backdrop-filter:saturate(1.2);backdrop-filter:saturate(1.2);margin:0;padding:10px 16px 6px;font-size:.62rem;font-weight:800;position:sticky;top:0}.thw-list>.thw-row{animation:.32s cubic-bezier(.22,1,.36,1) both thw-row-in}.thw-list>.thw-row:first-child{animation-delay:0s}.thw-list>.thw-row:nth-child(2){animation-delay:30ms}.thw-list>.thw-row:nth-child(3){animation-delay:60ms}.thw-list>.thw-row:nth-child(4){animation-delay:90ms}.thw-list>.thw-row:nth-child(5){animation-delay:.12s}.thw-list>.thw-row:nth-child(6){animation-delay:.15s}.thw-list>.thw-row:nth-child(7){animation-delay:.18s}.thw-list>.thw-row:nth-child(n+8){animation-delay:.21s}@keyframes thw-row-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.thw-list>.thw-row,.tct-chips,.tct-group{animation:none}}.thw-row-avatar-kid{color:var(--sunset,#b9572b);background:#b9572b1f}.thw-row[data-hot=true]{background:#b9572b0b}.thw-row[data-active=true] .thw-row-avatar-kid{background:var(--sunset,#b9572b);color:#fff}.thw-row-badge{background:var(--sunset,#b9572b);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:19px;height:19px;padding:0 5px;font-size:.66rem;font-weight:800;display:inline-flex}.thw-row-amber{color:var(--status-warning);white-space:nowrap;font-size:.64rem;font-weight:700}.thw-quiet-toggle{border:0;border-bottom:1px solid var(--line);width:100%;font:inherit;cursor:pointer;text-align:center;color:var(--teal);background:0 0;padding:11px 16px;font-size:.74rem;font-weight:650}.thw-quiet-toggle:hover{background:var(--teal-light)}.tct-avatar-kid{color:var(--sunset,#b9572b);background:#b9572b1f}.tcc-class-select{border:1px solid var(--line);background:var(--bg-surface);font:inherit;color:var(--ink-soft);border-radius:999px;max-width:240px;padding:2px 8px;font-size:.7rem}.tcc-classline,.tcc-sysline{text-align:center;max-width:92%;color:var(--ink-soft);margin:2px auto 9px;font-size:.7rem}.tcc-classline{color:var(--ink-faint)}.tcc-stamps{flex-wrap:wrap;gap:7px;display:flex}.tcc-teachnote{color:var(--ink-soft);margin:7px 0 0;font-size:.82rem}.tcc-hwmark{color:var(--ink-soft);align-items:center;gap:8px;margin:7px 0 0;font-size:.8rem;display:flex}.tcc-change{font:inherit;color:var(--teal);cursor:pointer;background:0 0;border:0;padding:0 0 0 6px;font-size:.68rem;font-weight:650;text-decoration:underline}.tcc-themrow{margin-bottom:7px;display:flex}.tcc-thembubble{background:var(--teal);color:#fff;border-radius:4px 16px 16px;max-width:82%;padding:9px 14px;box-shadow:0 4px 14px #17696f40}.tcc-thembubble p{white-space:pre-line;color:#fff;margin:0;font-size:.85rem;line-height:1.45}.tcc-thembubble .tcc-signed-only{color:#fff;font-weight:650}.tcc-thembubble small{color:#ffffffc7;margin-top:3px;font-size:.64rem;display:block}.tcc-fammedia{background:var(--teal-light);border:1px solid #17696f2e;border-radius:4px 16px 16px;max-width:82%;margin-top:6px;padding:8px 11px}.tcc-backfill{justify-items:start;gap:8px;margin-top:10px;display:grid}.tct-pane-embedded{min-height:min(70vh,620px)}@media(min-width:961px){.tct-pane-embedded{border-left:1px solid var(--line-strong)}}@media(max-width:960px){.tct-pane-embedded{z-index:auto;background:0 0;height:auto;display:block;position:static;inset:auto}.tct-pane-embedded .tct-scroll{flex:none;min-height:0;overflow:visible}.tct-pane-embedded .tct-composer-zone{position:sticky;bottom:74px}.tct-pane-embedded .tct-back-btn{display:none}}.tcm-card{background:#fffdf8;border:1.5px solid #17696f59;border-radius:14px;max-width:94%;margin:2px 0 9px;padding:11px 13px;animation:.25s cubic-bezier(.22,1,.36,1) tct-in;box-shadow:0 6px 18px #17696f1f}.tcm-title{letter-spacing:.07em;text-transform:uppercase;color:var(--teal);align-items:center;gap:7px;margin:0 0 9px;font-size:.66rem;font-weight:800;display:flex}.tcm-row{margin-bottom:9px}.tcm-label{margin:0 0 5px;font-size:.76rem;font-weight:650}.tcm-chips{flex-wrap:wrap;gap:5px;display:flex}.tcm-chip{border:1.5px solid var(--line-strong);background:var(--bg-surface);font:inherit;color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:5px 11px;font-size:.7rem;font-weight:700;transition:all .13s}.tcm-chip:hover{border-color:var(--teal);color:var(--teal)}.tcm-chip[data-on=true][data-v=excellent]{background:var(--status-info);border-color:var(--status-info);color:#fff}.tcm-chip[data-on=true][data-v=good]{background:var(--status-success);border-color:var(--status-success);color:#fff}.tcm-chip[data-on=true][data-v=average]{background:var(--status-warning);border-color:var(--status-warning);color:#fff}.tcm-chip[data-on=true][data-v=poor]{background:var(--berry,#7a2f52);border-color:var(--berry,#7a2f52);color:#fff}.tcm-chip[data-on=true][data-v=completed]{background:var(--status-success);border-color:var(--status-success);color:#fff}.tcm-chip[data-on=true][data-v=satisfactory]{background:var(--status-warning);border-color:var(--status-warning);color:#fff}.tcm-chip[data-on=true][data-v=incomplete]{background:var(--berry,#7a2f52);border-color:var(--berry,#7a2f52);color:#fff}.tcm-noteinput{border:1px solid var(--line-strong);width:100%;font:inherit;background:var(--bg-surface);border-radius:10px;margin-top:2px;padding:8px 11px;font-size:.8rem}.tcm-foot{align-items:center;gap:10px;margin-top:9px;display:flex}.tcm-done{background:var(--teal);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;padding:7px 16px;font-size:.74rem;font-weight:700}.tcm-done:disabled{opacity:.35;cursor:default}.tcm-hint{color:var(--ink-faint);font-size:.64rem}@media(prefers-reduced-motion:reduce){.thw-row{transition:none}.tct-group,.tct-tray,.tcm-card{animation:none}}.tcc-openrow{flex-wrap:wrap;gap:12px;margin:3px 0 0;font-size:.72rem;display:flex}.thw-load-more{justify-content:center;padding:8px 0 4px;display:flex}.tch-range{color:var(--ink-soft);font-weight:500}.tcm-chip[data-on=true][data-v=needs_work]{background:var(--status-warning);border-color:var(--status-warning);color:#fff}.tcm-chip[data-on=true][data-v=not_passed]{background:var(--berry,#7a2f52);border-color:var(--berry,#7a2f52);color:#fff}.tch-sitting-link{color:var(--teal);font-size:.68rem;font-weight:650}.tch-summary{gap:3px;margin:4px 0 0;padding:0;list-style:none;display:grid}.tch-summary li{color:var(--ink);font-size:.8rem;line-height:1.45}.sc-head-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.sc-head-actions{align-items:center;gap:7px;display:inline-flex}.sc-new-btn{white-space:nowrap;border-radius:999px;padding:6px 13px;font-size:.78rem;text-decoration:none}.sc-row-time{color:var(--ink-faint);white-space:nowrap;font-size:.64rem}.sc-headflag{color:var(--ink-faint);flex:none;align-items:center;display:inline-flex}.sc-avatar-ann{background:#b9572b1f;font-size:1.05rem}.sc-archived-toggle{cursor:pointer;font:inherit;color:inherit;align-items:center;gap:7px;display:inline-flex}.sc-body p{color:var(--ink);margin:0 0 4px;font-size:.88rem;line-height:1.5}.sc-body p:last-child{margin-bottom:0}.sc-body a{color:var(--teal);text-decoration:underline}.sc-theirs .sc-body p,.sc-theirs .sc-body a{color:#fff}.sc-theirs .sc-body .fr-mention{color:#fff;background:#ffffff38}.sc-who{letter-spacing:.02em;color:#ffffffeb;margin:0 0 3px;font-size:.68rem;font-weight:800}.sc-mine small .tct-clear,.sc-theirs small .tct-clear{margin-left:8px}.sc-theirs small .tct-clear{color:#ffffffd9}.sc-deleted{text-align:center}.sc-deleted-original{color:var(--ink-faint);max-width:420px;margin:2px auto 0;font-size:.72rem}.sc-deleted-original summary{cursor:pointer}.sc-deleted-original .sc-body{text-align:left;margin-top:6px}.sc-editwrap{width:min(560px,100%)}.sc-editactions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.sc-annc{border:1px solid var(--line-strong);border-left:3px solid var(--teal);background:#fffdf8;border-radius:14px;margin:2px 0;padding:11px 14px;box-shadow:0 1px 2px #1f1b160d}.sc-annc-title{color:var(--ink);margin:6px 0 4px;font-size:.95rem;font-weight:800}.sc-annc .sc-body p{color:var(--ink)}.sc-annc-body{white-space:pre-line;color:var(--ink);margin:0;font-size:.88rem;line-height:1.5}.sc-annc-stamp{color:var(--ink-faint);margin-top:6px;font-size:.68rem;display:block}.sc-editor{flex:1;min-width:0}.sc-replying{border-left:3px solid var(--teal);background:var(--teal-light);color:var(--ink-soft);border-radius:12px;align-items:center;gap:10px;margin-bottom:7px;padding:7px 12px;font-size:.78rem;display:flex}.sc-replying-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sc-replying-text strong{color:var(--ink)}.sc-annc-reply{margin-left:8px}.sc-audience-preview{background:var(--bg-surface,#faf7f1);border:1px solid var(--line);color:var(--ink-soft);border-radius:12px;max-height:4.5em;margin:0 0 12px;padding:9px 12px;font-size:.84rem;overflow:hidden}.sc-audience-list{gap:8px;margin:12px 0 4px;display:grid}.sc-audience-option{text-align:left;border:1px solid var(--line-strong);width:100%;font:inherit;cursor:pointer;background:#fffdf8;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;transition:border-color .16s,background .16s,transform .12s;display:flex}.sc-audience-option:hover:not(:disabled){border-color:var(--teal);background:var(--teal-light)}.sc-audience-option:active:not(:disabled){transform:scale(.99)}.sc-audience-option:disabled{opacity:.5;cursor:default}.sc-audience-glyph{flex:none;font-size:1.25rem;line-height:1}.sc-audience-copy{gap:2px;min-width:0;display:grid}.sc-audience-copy strong{color:var(--ink);font-size:.92rem}.sc-audience-copy small{color:var(--ink-soft);font-size:.74rem}.sc-announce-strip{gap:7px;margin-bottom:7px;display:grid}.sc-title-input{border:1px solid var(--line-strong);width:100%;font:inherit;background:#fffdf8;border-radius:999px;padding:8px 14px;font-size:.84rem}.sc-title-input:focus{border-color:var(--teal);outline:none}.sc-announce-note{color:var(--sunset,#b9572b);margin:0;font-size:.72rem;font-weight:650}.sc-mega{font-size:.95rem}.sc-mega[aria-pressed=true]{background:var(--teal);border-color:var(--teal)}.sc-menu{position:relative}.sc-menu-btn{letter-spacing:.05em;font-weight:800;list-style:none}.sc-menu-btn::-webkit-details-marker{display:none}.sc-menu[open] .sc-menu-btn{background:var(--teal);color:#fff;border-color:var(--teal)}.sc-menu:not([open]) .sc-menu-list{display:none}.sc-menu-list{z-index:30;border:1px solid var(--line-strong);background:#fffdf8;border-radius:12px;min-width:170px;display:grid;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 10px 24px #1f1b1624}.sc-menu-list button{font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;padding:9px 13px;font-size:.82rem}.sc-menu-list button:hover{background:var(--teal-light)}.sc-menu-list .sc-menu-danger{color:var(--status-danger)}.sc-menu-list a{color:var(--ink);white-space:nowrap;padding:9px 13px;font-size:.82rem;text-decoration:none}.sc-menu-list a:hover{background:var(--teal-light);text-decoration:none}summary.sc-new-btn{cursor:pointer;justify-content:center;align-items:center;list-style:none;display:inline-flex}summary.sc-new-btn::-webkit-details-marker{display:none}summary.sc-new-btn::marker{content:""}.sc-filter-row{margin-top:9px;margin-bottom:0}.sc-annc[data-muted=true]{border-left-color:var(--ink-faint);opacity:.72}.sc-announce-plain{text-align:left}.tsp,.tsp-side{min-width:0}.tsp-back{align-items:center;min-height:34px;margin-bottom:6px;font-size:.82rem;display:inline-flex}.tsp-id{align-items:center;gap:12px;min-width:0;margin-bottom:12px;display:flex}.tsp-avatar{background:var(--teal-light);width:42px;height:42px;color:var(--teal);letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.86rem;font-weight:700;display:inline-flex}.tsp-id-text{min-width:0}.tsp-name{overflow-wrap:anywhere;margin:0;font-size:1.02rem;font-weight:650;line-height:1.25}.tsp-class{color:var(--ink-soft);margin:2px 0 0;font-size:.76rem}.tsp-medical{background:var(--status-warning-bg);border:1px solid var(--status-warning-border);width:max-content;max-width:100%;color:var(--status-warning);border-radius:999px;align-items:center;margin:5px 0 0;padding:2px 9px;font-size:.7rem;font-weight:650;display:inline-flex}.tsp-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;z-index:15;background:var(--bg);gap:6px;margin:0 -2px 14px;padding:8px 2px;display:flex;position:sticky;top:0;overflow-x:auto}.tsp-nav::-webkit-scrollbar{display:none}.tsp-nav-link{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink-soft);white-space:nowrap;border-radius:999px;flex:none;padding:8px 14px;font-size:.8rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.tsp-nav-link:active{transform:scale(.97)}.tsp-nav-link-active{background:var(--teal);border-color:var(--teal);color:#fff}.tsp-main{min-width:0}.tsp-main-head{margin-bottom:14px}.tsp-main-head h2{margin:0;font-size:1.05rem;font-weight:650}.tsp-main-head p{color:var(--ink-soft);margin:3px 0 0;font-size:.85rem}.tsp-main>.page-container{padding:0}@media(min-width:961px){.tsp{grid-template-columns:236px minmax(0,1fr);align-items:start;gap:26px;display:grid}.tsp-side{position:sticky;top:76px}.tsp-avatar{width:48px;height:48px;font-size:.95rem}.tsp-id{align-items:flex-start;margin-bottom:16px}.tsp-back{margin-bottom:12px}.tsp-nav{border-top:1px solid var(--line);background:0 0;flex-direction:column;gap:2px;margin:0;padding:10px 0 0;position:static;overflow:visible}.tsp-nav-link{background:0 0;border:none;border-radius:10px;padding:9px 12px;font-size:.86rem}.tsp-nav-link:hover{background:var(--teal-light);color:var(--teal)}.tsp-nav-link:active{transform:none}.tsp-nav-link-active{background:var(--teal-light);color:var(--teal);font-weight:650}.tsp-main-head{margin-bottom:16px}}@media(prefers-reduced-motion:reduce){.tsp-nav-link{transition:none}}.pdp{box-sizing:border-box;gap:14px;width:100%;max-width:680px;margin:0 auto;padding:0 12px;display:grid}.pdp-head{align-items:center;gap:11px;display:flex}.pdp-avatar{background:var(--teal-mid);width:42px;height:42px;color:var(--teal);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:inline-flex}.pdp-eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);margin:0;font-size:.64rem;font-weight:700}.pdp-name{margin:1px 0 0;font-size:1.15rem}.pdp-viewbar{background:var(--panel);border:1px solid var(--line-strong);border-radius:16px;padding:10px 12px 12px;box-shadow:0 6px 20px #11231e0d}.pdp-viewbar-hint{color:var(--ink-soft);text-align:center;margin:0 0 8px;font-size:.72rem}.pdp-seg{background:#11231e0d;border-radius:999px;grid-template-columns:1fr 1fr;padding:4px;display:grid;position:relative}.pdp-seg-slider{background:var(--teal);width:calc(50% - 4px);transition:transform .28s var(--ease,cubic-bezier(.22, 1, .36, 1));border-radius:999px;position:absolute;top:4px;bottom:4px;left:4px;box-shadow:0 4px 14px #17696f52}.pdp-seg[data-view=chat] .pdp-seg-slider{transform:translate(100%)}.pdp-seg button{z-index:1;font:inherit;cursor:pointer;color:var(--ink-soft);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:9px 6px;font-size:.86rem;font-weight:700;transition:color .25s;display:inline-flex;position:relative}.pdp-seg button[aria-pressed=true]{color:#fff}.pdp-seg button svg{width:15px;height:15px}.pdp-view{animation:.32s cubic-bezier(.22,1,.36,1) pdp-view-in}@keyframes pdp-view-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.pdp-daynav{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.pdp-daynav button{border:1px solid var(--line-strong);background:var(--panel);width:38px;height:38px;color:var(--ink);cursor:pointer;border-radius:50%;font-size:1rem;transition:all .18s}.pdp-daynav button:disabled{opacity:.3;cursor:default}.pdp-daynav button:not(:disabled):hover{background:var(--teal);color:#fff;border-color:var(--teal)}.pdp-rail{gap:5px;display:flex}.pdp-rail-dot{background:#11231e1f;border-radius:50%;width:8px;height:8px;transition:all .2s}.pdp-rail-dot[data-on=true]{background:var(--teal);transform:scale(1.35)}.pdp-book{perspective:1400px}.pdp-page{border:1px solid var(--line-strong);transform-origin:0;background:#fffdf8;border-radius:16px;position:relative;overflow:hidden;box-shadow:0 14px 40px #11231e1a,0 2px #11231e0a}.pdp-page[data-flip=fwd]{animation:.45s cubic-bezier(.22,1,.36,1) pdp-turn-fwd}.pdp-page[data-flip=back]{animation:.45s cubic-bezier(.22,1,.36,1) pdp-turn-back}@keyframes pdp-turn-fwd{0%{transform:rotateY(-58deg);box-shadow:30px 10px 50px #11231e40}to{transform:rotateY(0);box-shadow:0 14px 40px #11231e1a}}@keyframes pdp-turn-back{0%{opacity:.6;transform:rotateY(38deg)}to{opacity:1;transform:rotateY(0)}}.pdp-page:before{content:"";pointer-events:none;background:repeating-linear-gradient(#0000 0 31px,#17696f0d 31px 32px);position:absolute;inset:0}.pdp-page:after{content:"";pointer-events:none;background:#b9572b33;width:1px;position:absolute;top:0;bottom:0;left:44px}.pdp-page-inner{padding:18px 18px 20px 58px;position:relative}.pdp-hole{background:var(--bg);border-radius:50%;width:13px;height:13px;position:absolute;left:14px;box-shadow:inset 0 1px 3px #11231e38}.pdp-page-date{border-bottom:2px solid #17696f29;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:14px;padding-bottom:10px;display:flex}.pdp-page-date h3{letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:800}.pdp-tonight{text-transform:uppercase;letter-spacing:.08em;color:#fff;background:var(--sunset,#b9572b);border-radius:999px;padding:3px 10px;font-size:.66rem;font-weight:800}.pdp-class-chip{color:var(--teal);background:var(--teal-light);border-radius:999px;padding:3px 10px;font-size:.68rem;font-weight:650}.pdp-sect{margin-bottom:15px;position:relative}.pdp-sect-label{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 6px;font-size:.63rem;font-weight:800;display:flex}.pdp-sect-label .pdp-who{text-transform:none;letter-spacing:0;color:var(--teal);font-size:.7rem;font-weight:600}.pdp-hw-text{white-space:pre-line;margin:0;font-size:.95rem;line-height:1.55}.pdp-stamps{flex-wrap:wrap;gap:7px;display:flex}.pdp-stamp{background:#fffdf8;border:1.5px solid;border-radius:10px;padding:5px 12px;font-size:.76rem;font-weight:750;transform:rotate(-1deg)}.pdp-stamp small{letter-spacing:.06em;text-transform:uppercase;opacity:.65;font-size:.6rem;font-weight:650;display:block}.pdp-stamp[data-status=excellent]{color:var(--status-info);border-color:#17696f66}.pdp-stamp[data-status=good]{color:var(--status-success);border-color:#0f6b4566;transform:rotate(1.2deg)}.pdp-stamp[data-status=average]{color:var(--status-warning);border-color:#8a4f0066}.pdp-stamp[data-status=poor]{color:var(--status-danger);border-color:#7a2f5266}.pdp-score-text{color:var(--ink-soft);margin:7px 0 0;font-size:.82rem}.pdp-score-text b{color:var(--ink);font-weight:650}.pdp-note-marg{color:var(--berry,#7a2f52);margin:0;font-family:Caveat,Segoe Script,cursive;font-size:1.18rem;line-height:1.3;transform:rotate(-.6deg)}.pdp-empty{text-align:center;color:var(--ink-soft);margin:0;padding:26px 0;font-size:.92rem}.pdp-empty .pdp-empty-big{margin-bottom:6px;font-size:1.9rem;display:block}.pdp-family{border-top:1px dashed var(--line-strong);margin-top:4px;padding-top:12px}.pdp-chips{flex-wrap:wrap;gap:6px;margin-bottom:9px;display:flex}.pdp-chip{border:1px solid var(--line-strong);background:var(--bg-surface);font:inherit;color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:.72rem;font-weight:650;transition:all .15s}.pdp-chip:hover{border-color:var(--teal);color:var(--teal);background:var(--teal-light)}.pdp-chip[aria-pressed=true]{border-color:var(--teal);color:#fff;background:var(--teal)}.pdp-family textarea{width:100%;color:var(--teal);resize:none;background:0 0;border:0;border-bottom:1px solid #17696f40;outline:none;padding:4px 2px 7px;font-family:Caveat,Segoe Script,cursive;font-size:1.25rem;line-height:32px}.pdp-family textarea::placeholder{color:var(--ink-faint);font-family:Outfit,system-ui,sans-serif;font-size:.78rem}.pdp-time-label{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);margin:10px 0 0;font-size:.63rem;font-weight:800}.pdp-family-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:11px;display:flex}.pdp-family-hint{color:var(--ink-faint);font-size:.68rem}.pdp-fam-note{color:var(--teal);margin:0 0 6px;font-family:Caveat,Segoe Script,cursive;font-size:1.3rem;line-height:1.35;transform:rotate(-.4deg)}.pdp-fam-time{color:var(--ink-soft);margin:0 0 6px;font-size:.74rem}.pdp-signed{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.pdp-signature{color:var(--teal);font-family:Caveat,Segoe Script,cursive;font-size:1.5rem;animation:.6s cubic-bezier(.22,1,.36,1) pdp-ink-in}@keyframes pdp-ink-in{0%{opacity:0;letter-spacing:.2em}to{opacity:1;letter-spacing:0}}.pdp-foot{text-align:center;color:var(--ink-faint);margin:12px 0 0;font-size:.7rem;line-height:1.5}.pdc-feed{gap:4px;display:grid}.pdc-group{animation:.4s cubic-bezier(.22,1,.36,1) both pdc-msg-in}@keyframes pdc-msg-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.pdc-datesep{text-align:center;margin:12px 0 8px}.pdc-datesep span{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);background:#11231e0d;border-radius:999px;padding:4px 13px;font-size:.66rem;font-weight:700}.pdc-msg{gap:9px;margin-bottom:6px;display:flex}.pdc-msg-avatar{background:var(--teal-mid);width:32px;height:32px;color:var(--teal);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-top:2px;font-size:.64rem;font-weight:700;display:inline-flex}.pdc-col{gap:5px;min-width:0;max-width:88%;display:grid}.pdc-meta{color:var(--ink-soft);align-items:center;gap:7px;font-size:.68rem;display:flex}.pdc-meta b{color:var(--ink);font-size:.72rem}.pdc-bubble{border:1px solid var(--line-strong);background:#fffdf8;border-radius:4px 16px 16px;padding:10px 13px;box-shadow:0 2px 8px #11231e0d}.pdc-bubble+.pdc-bubble{border-radius:16px}.pdc-tag{letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:5px;margin-bottom:5px;font-size:.62rem;font-weight:800;display:inline-flex}.pdc-tag[data-kind=class]{color:var(--teal)}.pdc-tag[data-kind=own]{color:var(--sunset,#b9572b)}.pdc-bubble p{white-space:pre-line;margin:0;font-size:.88rem;line-height:1.5}.pdc-marks{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.pdc-teachnote{color:var(--ink-soft);margin:7px 0 0;font-size:.82rem}.pdc-myrow{justify-content:flex-end;margin:2px 0 4px;display:flex}.pdc-mybubble{background:var(--teal);color:#fff;border-radius:16px 4px 16px 16px;max-width:82%;padding:9px 14px;font-size:.85rem;line-height:1.45;animation:.3s cubic-bezier(.22,1,.36,1) pdc-msg-in;box-shadow:0 4px 14px #17696f40}.pdc-mybubble small{opacity:.75;margin-top:3px;font-size:.64rem;display:block}.pdc-ack-row{justify-content:flex-end;align-items:center;gap:8px;margin:2px 0 10px;display:flex}.pdc-ack{border:1.5px solid var(--teal);color:var(--teal);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:7px 16px;font-size:.78rem;font-weight:700;transition:all .18s}.pdc-ack:hover:not(:disabled){background:var(--teal);color:#fff}.pdc-ack:disabled{opacity:.6;cursor:default}.pdc-load-earlier{justify-content:center;margin-bottom:6px;display:flex}.pdc-mymedia{background:var(--teal-light);border:1px solid #17696f2e;border-radius:16px 4px 16px 16px;max-width:82%;padding:8px 11px}.pdc-composer-wrap{gap:7px;margin-top:14px;display:grid;position:sticky;bottom:10px}.pdc-tray{border:1px solid var(--line-strong);background:#fffdf8;border-radius:14px;padding:11px 13px;animation:.25s cubic-bezier(.22,1,.36,1) pdc-msg-in;box-shadow:0 10px 30px #11231e1f}.pdc-composer{align-items:center;gap:7px;display:flex}.pdc-icon-btn{border:1px solid var(--line-strong);width:38px;height:38px;color:var(--teal);cursor:pointer;background:#fffdf8;border-radius:50%;flex:none;justify-content:center;align-items:center;transition:all .18s;display:inline-flex}.pdc-icon-btn svg{width:17px;height:17px}.pdc-icon-btn:hover,.pdc-icon-btn[aria-expanded=true]{background:var(--teal);color:#fff;border-color:var(--teal)}.pdc-composer input{border:1px solid var(--line-strong);min-width:0;font:inherit;background:#fffdf8;border-radius:999px;flex:1;padding:11px 16px;font-size:.85rem;box-shadow:0 6px 20px #11231e14}.pdc-send{background:var(--sunset,#b9572b);color:#fff;cursor:pointer;border:0;border-radius:50%;flex:none;width:42px;height:42px;font-size:1rem;transition:transform .15s;box-shadow:0 2px 8px #b9572b40}.pdc-send:disabled{opacity:.4;cursor:default}.pdc-send:not(:disabled):active{transform:scale(.94)}.pdc-composer-hint{text-align:center;color:var(--ink-faint);margin:0;font-size:.68rem}.pdh-card{text-align:left;width:100%;font:inherit;color:var(--ink);border:1px solid var(--line-strong);cursor:pointer;background:#fffdf8;border-radius:14px;padding:14px 16px 12px 34px;text-decoration:none;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s;display:block;position:relative;overflow:hidden;box-shadow:0 8px 26px #11231e14}.pdh-card:hover{text-decoration:none;transform:translateY(-2px)rotate(-.3deg);box-shadow:0 14px 34px #11231e21}.pdh-card:active{transform:scale(.985)}.pdh-card:before{content:"";pointer-events:none;background:repeating-linear-gradient(#0000 0 25px,#17696f0d 25px 26px);position:absolute;inset:0}.pdh-card:after{content:"";pointer-events:none;background:#b9572b33;width:1px;position:absolute;top:0;bottom:0;left:22px}.pdh-fold{border-style:solid;border-width:0 26px 26px 0;border-color:transparent var(--bg) transparent transparent;filter:drop-shadow(-2px 2px 2px #11231e1f);width:0;height:0;position:absolute;top:0;right:0}.pdh-head{border-bottom:1.5px solid #17696f29;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:9px;padding-bottom:7px;display:flex;position:relative}.pdh-head b{font-size:.95rem;font-weight:800}.pdh-when{text-transform:uppercase;letter-spacing:.07em;color:#fff;background:var(--sunset,#b9572b);border-radius:999px;padding:2px 8px;font-size:.58rem;font-weight:800}.pdh-unread{background:var(--sunset,#b9572b);border-radius:50%;width:9px;height:9px;margin-left:auto;box-shadow:0 0 0 3px #b9572b26}.pdh-line{align-items:baseline;gap:7px;min-width:0;margin-bottom:4px;font-size:.82rem;line-height:1.45;display:flex;position:relative}.pdh-line .pdh-k{letter-spacing:.05em;text-transform:uppercase;flex:none;font-size:.6rem;font-weight:800}.pdh-line .pdh-k[data-kind=class]{color:var(--teal)}.pdh-line .pdh-k[data-kind=own]{color:var(--sunset,#b9572b)}.pdh-line .pdh-t{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pdh-foot{align-items:center;gap:8px;margin-top:8px;display:flex;position:relative}.pdh-dots{gap:4px;display:flex}.pdh-dot{background:#11231e1a;border-radius:50%;width:8px;height:8px}.pdh-dot[data-status=excellent]{background:var(--status-info)}.pdh-dot[data-status=good]{background:var(--status-success)}.pdh-dot[data-status=average]{background:var(--status-warning)}.pdh-dot[data-status=poor]{background:var(--status-danger)}.pdh-sig{color:var(--teal);font-family:Caveat,Segoe Script,cursive;font-size:1.05rem}.pdh-none{color:var(--ink-faint);font-size:.7rem}.pdh-open{color:var(--teal);margin-left:auto;font-size:.72rem;font-weight:700}@media(max-width:560px){.pdp-page-inner{padding:15px 14px 16px 54px}.pdp-page:after{left:40px}}@media(prefers-reduced-motion:reduce){.pdp-page[data-flip=fwd],.pdp-page[data-flip=back],.pdp-view,.pdc-group,.pdc-mybubble,.pdp-signature{animation:none}.pdp-seg-slider{transition:none}.pdh-card,.pdh-card:hover{transition:none;transform:none}}.pdp-lt{border:1px solid var(--line-strong);background:#fff;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.pdp-lt[data-outcome=passed]{border:2px solid var(--teal);background:var(--teal-light,#17696f14)}.pdp-lt-icon{flex:none;font-size:1.3rem;line-height:1.2}.pdp-lt-copy{flex:1;gap:2px;min-width:0;display:grid}.pdp-lt-copy b{color:var(--ink);font-size:.9rem}.pdp-lt-copy small{color:var(--ink-soft);font-size:.78rem;line-height:1.4}.pdp-lt-soft{font-style:italic}.pdp-lt-badge{white-space:nowrap;border-radius:999px;flex:none;align-self:center;padding:4px 12px;font-size:.74rem;font-weight:700}.pdp-lt-badge[data-outcome=passed]{background:var(--teal);color:#fff}.pdp-lt-badge[data-outcome=failed]{color:var(--ink-soft);border:1px solid var(--line-strong);background:#11231e0f}.pdc-bubble-lt{box-shadow:none;background:0 0;border:0;padding:0}@media(max-width:480px){.pdp-lt{flex-wrap:wrap}.pdp-lt-badge{align-self:flex-start}}.pdp-hifz{border:1px solid var(--line-strong);background:#fff;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.pdp-hifz-icon{flex:none;font-size:1.2rem;line-height:1.3}.pdp-hifz-copy{flex:1;gap:4px;min-width:0;display:grid}.pdp-hifz-copy b{color:var(--ink);font-size:.9rem}.pdp-hifz-copy ul{gap:3px;margin:0;padding:0;list-style:none;display:grid}.pdp-hifz-copy li{color:var(--ink-soft);font-size:.8rem;line-height:1.45}.pdp-hifz-rating{background:var(--teal-light,#17696f14);color:var(--teal);white-space:nowrap;border-radius:999px;margin-left:6px;padding:2px 9px;font-size:.7rem;font-weight:700}.pdp-hifz-rating[data-rating=not_passed]{color:var(--berry,#7a2f52);background:#7a2f5217}.pdp-hifz-rating[data-rating=needs_work]{color:var(--ink-soft);background:#11231e0f}.pdp-hifz-note{color:var(--ink-soft);margin:0;font-size:.78rem;font-style:italic}.pdp-hifz-link{justify-self:start;font-size:.76rem}.atn-card{border:1px solid var(--line-strong);background:#fffdf8;border-radius:14px;gap:14px;padding:16px;display:grid;box-shadow:0 8px 26px #11231e12}.atn-card-head{align-items:flex-start;gap:12px;display:flex}.atn-card-icon{width:40px;height:40px;color:var(--teal);background:var(--teal-light);border-radius:12px;flex:none;place-items:center;display:grid}.atn-card-copy{min-width:0}.atn-card-title{letter-spacing:-.015em;color:var(--ink);margin:0;font-size:1rem;font-weight:650}.atn-card-sub{color:var(--ink-soft);margin:4px 0 0;font-size:.83rem;font-weight:450;line-height:1.5}.atn-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}@keyframes atn-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.atn-row{border-top:1px solid var(--line);animation:.3s cubic-bezier(.22,1,.36,1) backwards atn-rise;animation-delay:calc(min(var(--atn-i,0),6)*50ms);align-items:flex-start;gap:11px;padding:12px 0;display:flex}.atn-row:first-child{border-top:0;padding-top:4px}@media(prefers-reduced-motion:reduce){.atn-row{animation:none}}.atn-dot{background:var(--status-warning);border-radius:50%;flex:none;width:9px;height:9px;margin-top:6px}.atn-dot-ok{background:var(--status-success)}.atn-dot-no{background:var(--status-danger)}.atn-row-copy{flex:auto;min-width:0}.atn-row-what{color:var(--ink);margin:0;font-size:.88rem;font-weight:600;line-height:1.4}.atn-row-reason{color:var(--ink-soft);margin:3px 0 0;font-size:.79rem;font-weight:450;line-height:1.45}.atn-row-status{color:var(--status-warning);margin:5px 0 0;font-size:.75rem;font-weight:600}.atn-row-status-ok{color:var(--status-success)}.atn-row-status-no{color:var(--status-danger)}.atn-row-error{color:var(--status-danger);margin:5px 0 0;font-size:.75rem;font-weight:500}.atn-undo{border:1px solid var(--line-strong);border-radius:var(--radius-pill);min-height:32px;color:var(--ink-soft);font:inherit;cursor:pointer;transition:background .16s var(--ease),color .16s var(--ease);background:0 0;flex:none;padding:6px 12px;font-size:.76rem;font-weight:600}.atn-undo:hover:not(:disabled){background:var(--bg-surface);color:var(--ink)}.atn-undo:disabled{opacity:.5;cursor:default}.atn-cta{background:var(--teal);color:#fff;width:100%;min-height:46px;font:inherit;cursor:pointer;transition:background .16s var(--ease),transform 90ms var(--ease);border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:.88rem;font-weight:650;display:inline-flex;box-shadow:0 2px 10px #17696f38}.atn-cta:hover{background:#12585d}.atn-cta:active{transform:translateY(1px)}.atn-cta:focus-visible{box-shadow:var(--shadow-focus);outline:none}.admin-modal.atn-modal .admin-modal-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.atn-form{gap:16px;display:grid}.atn-field{gap:7px;display:grid}.atn-label{color:var(--ink);font-size:.82rem;font-weight:650}.atn-optional{color:var(--ink-faint);font-weight:450}.atn-form input[type=date],.atn-form input[type=time],.atn-form textarea{border:1px solid var(--line-strong);background:var(--bg-surface);width:100%;min-height:44px;font:inherit;color:var(--ink);border-radius:11px;padding:10px 12px;font-size:.9rem}.atn-form textarea{resize:vertical;min-height:62px;line-height:1.5}.atn-form input:focus,.atn-form textarea:focus{border-color:var(--teal);box-shadow:var(--shadow-focus);outline:none}.atn-chips{flex-wrap:wrap;gap:7px;display:flex}.atn-chip{border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--bg-surface);min-height:38px;color:var(--ink);font:inherit;cursor:pointer;transition:background .16s var(--ease),border-color .16s var(--ease),transform 90ms var(--ease);padding:8px 15px;font-size:.84rem;font-weight:600}.atn-chip:active{transform:scale(.97)}.atn-chip-on{background:var(--teal);border-color:var(--teal);color:#fff}.atn-chip:focus-visible{box-shadow:var(--shadow-focus);outline:none}.atn-choices{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.atn-choice{border:1px solid var(--line-strong);background:var(--bg-surface);text-align:left;font:inherit;cursor:pointer;transition:border-color .16s var(--ease),background .16s var(--ease),transform 90ms var(--ease);border-radius:12px;gap:3px;padding:13px 14px;display:grid}.atn-choice:active{transform:scale(.985)}.atn-choice-on{border-color:var(--teal);background:var(--teal-light);box-shadow:inset 0 0 0 1px var(--teal)}.atn-choice:focus-visible{box-shadow:var(--shadow-focus);outline:none}.atn-choice-title{color:var(--ink);font-size:.88rem;font-weight:650}.atn-choice-help{color:var(--ink-soft);font-size:.75rem;font-weight:450;line-height:1.35}.atn-dates{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.atn-dates input{flex:150px}.atn-dates-to{color:var(--ink-soft);flex:none;font-size:.82rem;font-weight:500}.atn-check{color:var(--ink-soft);cursor:pointer;align-items:center;gap:9px;font-size:.82rem;font-weight:500;display:inline-flex}@keyframes atn-reveal{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.atn-reveal{animation:.24s cubic-bezier(.22,1,.36,1) atn-reveal}@media(prefers-reduced-motion:reduce){.atn-reveal{animation:none}}.atn-summary{border-left:3px solid var(--teal);background:var(--teal-light);color:var(--ink);border-radius:12px;margin:0;padding:12px 14px;font-size:.88rem;font-weight:600;line-height:1.45}.atn-error{color:var(--status-danger);margin:0;font-size:.82rem;font-weight:500}.atn-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}@media(max-width:480px){.atn-actions{flex-direction:column-reverse}.atn-actions>*{width:100%}.atn-choices{grid-template-columns:minmax(0,1fr)}}.atn-queue{gap:10px;display:grid}.atn-review{background:var(--admin-card,#fff);box-shadow:0 0 0 1px var(--line-strong);border-radius:13px;gap:12px;padding:15px 16px;display:grid}.atn-review-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.atn-review-what{color:var(--ink);margin:0;font-size:.92rem;font-weight:650;line-height:1.4}.atn-review-meta{color:var(--ink-soft);margin:4px 0 0;font-size:.76rem;font-weight:450}.atn-review-reason{background:var(--bg-surface);color:var(--ink);border-radius:10px;margin:0;padding:10px 12px;font-size:.83rem;font-weight:450;line-height:1.5}.atn-review-actions{flex-wrap:wrap;gap:8px;display:flex}.atn-badge{border-radius:var(--radius-pill);white-space:nowrap;color:var(--status-warning);background:var(--status-warning-bg);flex:none;padding:4px 10px;font-size:.7rem;font-weight:700}.atn-badge-ok{color:var(--status-success);background:var(--status-success-bg)}.atn-badge-no{color:var(--status-danger);background:var(--status-danger-bg)}.atn-empty{text-align:center;color:var(--ink-faint);margin:0;padding:26px 16px;font-size:.86rem;font-weight:450}.atn-reg{border-radius:var(--radius-pill);white-space:nowrap;color:var(--status-warning);background:var(--status-warning-bg);align-items:center;gap:6px;padding:3px 9px;font-size:.72rem;font-weight:650;display:inline-flex}.atn-reg-late{color:var(--teal);background:var(--teal-light)}.atn-reg-use{border-radius:var(--radius-pill);background:var(--teal);color:#fff;min-height:30px;font:inherit;cursor:pointer;transition:background .16s var(--ease),transform 90ms var(--ease);border:0;padding:5px 11px;font-size:.73rem;font-weight:650}.atn-reg-use:hover{background:#12585d}.atn-reg-use:active{transform:translateY(1px)}.atn-reg-use:focus-visible{box-shadow:var(--shadow-focus);outline:none}.atn-reg-prefilled{color:var(--ink-soft);font-size:.74rem;display:block}.atn-reg-roster{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.atn-reg-roster .atn-reg{white-space:normal}.inbox-lede{max-width:64ch;color:var(--ink-soft);margin:0 0 14px;font-size:.86rem}.inbox-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.inbox-pickers{align-items:center;gap:8px;margin-left:auto;display:flex}.inbox-picker select{width:auto;min-height:38px;padding:6px 12px;font-size:.84rem;font-weight:500}.inbox-daybar{align-items:center;gap:10px;margin:18px 0 8px;display:flex}.inbox-daybar b{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);white-space:nowrap;font-size:.62rem;font-weight:600}.inbox-daybar i{background:var(--line);flex:1;height:1px}.inbox-list{gap:9px;display:grid}.inbox-item{border-radius:var(--radius-lg);background:var(--admin-card,#fff);box-shadow:var(--admin-card-shadow,0 0 0 1px #11231e1a);border-left:3px solid #0000;align-items:flex-start;gap:12px;padding:13px 15px;display:flex}.inbox-item-absence{border-left-color:var(--sunset)}.inbox-item-family_message{border-left-color:#0a5d2c}.inbox-item-staff_thread{border-left-color:var(--teal)}.inbox-icon{color:#0a5d2c;background:#0a5d2c17;border-radius:10px;flex:0 0 30px;justify-content:center;align-items:center;width:30px;height:30px;margin-top:1px;display:inline-flex}.inbox-icon-absence{background:var(--sunset-light);color:var(--sunset)}.inbox-icon-staff_thread{background:var(--teal-light);color:var(--teal)}.inbox-body{flex:1;gap:4px;min-width:0;display:grid}.inbox-top{align-items:baseline;gap:10px;display:flex}.inbox-title{letter-spacing:-.01em;flex:1;min-width:0;margin:0;font-size:.88rem;font-weight:600;line-height:1.35}.inbox-when{color:var(--ink-faint);white-space:nowrap;flex-shrink:0;font-size:.7rem}.inbox-meta{color:var(--ink-soft);margin:0;font-size:.78rem}.inbox-quote{border-radius:var(--radius-sm);background:var(--admin-card-soft,#11231e08);align-items:flex-start;gap:9px;margin:3px 0 1px;padding:8px 11px;font-size:.8rem;line-height:1.45;display:flex}.inbox-quote p{overflow-wrap:anywhere;flex:1;min-width:0;margin:0}.inbox-lock{border-radius:var(--radius-pill);background:var(--status-warning-bg);color:var(--status-warning);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;padding:2px 8px;font-size:.64rem;font-weight:600;display:inline-flex}.inbox-done{color:var(--status-success);align-items:center;gap:2px;margin:2px 0 0;font-size:.78rem;font-weight:500;display:flex}.inbox-actions{flex-wrap:wrap;align-items:center;gap:7px;margin-top:5px;display:flex}.inbox-actions .text-link{font-size:.8rem}.inbox-more{justify-content:center;margin-top:14px;display:flex}.inbox-tail{border-radius:var(--radius-lg);background:var(--teal-light);color:var(--ink-soft);align-items:flex-start;gap:7px;margin-top:18px;padding:11px 14px;font-size:.8rem;display:flex}.inbox-tail svg{color:var(--teal);flex-shrink:0;margin-top:2px}@media(max-width:640px){.inbox-pickers{width:100%;margin-left:0}.inbox-picker,.inbox-picker select{flex:1;width:100%}.inbox-top{flex-direction:column;align-items:flex-start;gap:2px}}.tzf-now{color:var(--color-text-muted,#5b6b60);margin:8px 0 0;font-size:.86rem;line-height:1.45}.tzf-now strong{color:var(--color-text,#1d2b22);font-weight:600}.tzf-detect{margin:10px 0 0}.tzf-detect .ghost-button{padding:6px 12px;font-size:.84rem}.lvl-sticky-header{z-index:5;background:var(--bg);position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.lvl-sticky-header{background:color-mix(in srgb,var(--bg) 88%,transparent)}}.lvl-sticky-header{-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);margin-bottom:8px;padding-top:8px;padding-bottom:10px}.lvl-res-chip{border-radius:var(--radius-pill);border:1px solid var(--line-strong);min-height:28px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease);background:#fff9;align-items:center;gap:5px;padding:3px 10px;font-size:.82rem;font-weight:600;display:inline-flex}.lvl-res-chip:hover{border-color:var(--teal);color:var(--teal)}.lvl-res-chip-open{border-color:var(--teal);color:var(--teal);background:#17696f1a}.lvl-res-chip-caret{opacity:.7;font-size:.7rem}.lvl-res-add-inline{white-space:nowrap;font-size:.82rem}.lvl-row-open td{background:#17696f0d}.lvl-row-drawer td{background:#17696f0d;padding:0!important}.lvl-res-drawer{border-bottom:2px solid #17696f40;gap:8px;padding:8px 12px 12px 44px;display:grid}.lvl-res-system{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);margin:0 0 12px;padding:8px 12px}.lvl-res-system-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.lvl-res-system-toggle{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:6px 0;font-size:.9rem;font-weight:600;display:inline-flex}.lvl-res-system-toggle:disabled{cursor:default;color:var(--ink-soft)}.lvl-res-count{color:var(--teal);border-radius:var(--radius-pill);font-variant-numeric:tabular-nums;background:#17696f1f;padding:1px 8px;font-size:.75rem;font-weight:600}.lvl-res-manage-bar{border-bottom:1px solid var(--line);--checkbox-size:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:0 0 8px;display:flex}.lvl-res-manage-all{color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:inline-flex}.lvl-res-manage-filter{flex:1;max-width:320px;min-height:38px}.lvl-res-manage-list{--checkbox-size:16px;gap:2px;max-height:min(52vh,520px);display:grid;overflow:auto}.lvl-res-manage-row{border-radius:var(--radius-sm);cursor:pointer;transition:background .12s var(--ease);grid-template-columns:auto minmax(90px,130px) minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 10px;display:grid}.lvl-res-manage-row:hover{background:#11231e0a}.lvl-res-manage-row-on{background:#17696f14}.lvl-res-manage-level{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.lvl-res-manage-title{min-width:0;display:grid}.lvl-res-manage-title>span:first-child{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.lvl-res-manage-kind{color:var(--ink-faint);font-size:.76rem}.lvl-res-manage-actions{align-items:center}.lvl-res-manage-count{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin-right:auto;font-size:.85rem}@media(max-width:640px){.lvl-res-manage-row{grid-template-columns:auto minmax(0,1fr) auto}.lvl-res-manage-level{display:none}.lvl-res-drawer{padding-left:12px}}.lvl-mushaf-row{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;padding:8px 12px;display:flex}.lvl-mushaf-row label{color:var(--ink);font-size:.85rem;font-weight:600}.lvl-mushaf-row select{min-width:240px;min-height:38px}.lvl-mushaf-hint{color:var(--ink-faint);flex:1;min-width:220px;font-size:.8rem}.quran-fill-table{--checkbox-size:16px}.quran-fill-tick{width:34px}.quran-fill-conflict td{background:#bf7a1b14}.hifz-sitting-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hifz-sitting-row{border:1px solid var(--line-strong);background:var(--bg-surface);border-radius:14px;overflow:hidden}.hifz-sitting-row-open{border-color:var(--teal);box-shadow:0 2px 14px #17696f17}.hifz-sitting-head{text-align:left;cursor:pointer;width:100%;min-height:56px;font:inherit;color:inherit;background:0 0;border:0;align-items:center;gap:12px;padding:12px 14px;display:flex}.hifz-tick{width:26px;height:26px;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.hifz-tick-done{background:var(--teal);border-color:var(--teal);color:#fff}.hifz-sitting-name{flex-direction:column;gap:2px;font-weight:600;display:flex}.hifz-sitting-sub{color:var(--ink-soft);font-size:13px;font-weight:400}.hifz-sitting-panel{border-top:1px solid var(--line);flex-direction:column;gap:14px;padding:4px 14px 16px;display:flex}.hifz-portion{border:1px solid var(--line-strong);border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.hifz-portion-muted{opacity:.62;background:#11231e05}.hifz-portion-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.hifz-portion-title{margin:0;font-size:15px;font-weight:600}.hifz-portion-hint{color:var(--ink-soft);margin:2px 0 0;font-size:12.5px}.hifz-range-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.hifz-range-field,.hifz-field,.hifz-date-field,.hifz-notes-field{color:var(--ink-soft);flex-direction:column;gap:4px;min-width:0;font-size:12.5px;display:flex}.hifz-range-field input:not([type=checkbox]):not([type=radio]),.hifz-field input:not([type=checkbox]):not([type=radio]),.hifz-field select,.hifz-date-field input:not([type=checkbox]):not([type=radio]),.hifz-notes-field textarea{border:1px solid var(--line-strong);min-height:44px;font:inherit;color:var(--ink);background:#fff;border-radius:10px;width:100%;min-width:0;padding:8px 10px}.hifz-notes-field textarea{resize:vertical;min-height:56px}.hifz-date-field{max-width:220px;margin-top:12px}.hifz-help-tip{border:1px solid var(--line-strong);border-radius:var(--radius-pill);width:15px;height:15px;font:inherit;color:var(--ink-soft);cursor:help;vertical-align:middle;background:0 0;justify-content:center;align-items:center;margin-left:5px;padding:0;font-size:10.5px;font-weight:700;line-height:1;display:inline-flex;position:relative}.hifz-help-tip:hover,.hifz-help-tip:focus-visible{border-color:var(--teal);color:var(--teal);outline:none}.hifz-help-tip:hover:after,.hifz-help-tip:focus-visible:after{content:attr(data-tip);z-index:20;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-surface);width:max-content;max-width:260px;box-shadow:var(--shadow-md);white-space:normal;text-align:left;color:var(--ink);pointer-events:none;padding:8px 10px;font-size:12px;font-weight:400;line-height:1.4;position:absolute;bottom:calc(100% + 8px);left:0}.hifz-range-row .hifz-range-field:nth-child(n+3) .hifz-help-tip:after{left:auto;right:0}.hifz-field-hint{color:var(--ink-faint);margin-top:2px;font-size:11.5px;line-height:1.4}.hifz-rating-row,.hifz-attendance-row{flex-wrap:wrap;gap:8px;display:flex}.hifz-rating-chip{border-radius:var(--radius-pill,999px);border:1px solid var(--line-strong);min-height:44px;font:inherit;color:var(--ink);cursor:pointer;background:#fff;padding:8px 14px;font-size:13.5px}.hifz-rating-chip:disabled{opacity:.5;cursor:not-allowed}.hifz-rating-chip-active{border-color:var(--teal);background:var(--teal-light);font-weight:600}.hifz-rating-chip-active.hifz-rating-not_passed{border-color:var(--berry);color:var(--berry);background:#7a2f5217}.hifz-counts-row{flex-wrap:wrap;gap:14px;display:flex}.hifz-stepper{flex-direction:column;gap:4px;min-width:148px;display:flex}.hifz-stepper-label{color:var(--ink-soft);font-size:12.5px}.hifz-stepper-controls{align-items:center;gap:6px;display:flex}.hifz-stepper-button{border:1px solid var(--line-strong);width:44px;height:44px;color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;font-size:20px;line-height:1}.hifz-stepper-button:disabled{opacity:.4;cursor:not-allowed}.hifz-stepper-value{text-align:center;min-width:34px;font-size:17px;font-weight:600}.hifz-stepper-value-empty{color:var(--ink-soft);font-weight:400}.hifz-stepper-hint,.hifz-stepper-clear{color:var(--ink-soft);align-self:flex-start;font-size:12px}.hifz-not-heard{align-items:flex-start;gap:10px;font-size:13.5px;display:flex}.hifz-not-heard>span{flex-direction:column;gap:2px;display:flex}.hifz-panel-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hifz-profile-form{flex-direction:column;gap:12px;display:flex}.hifz-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0;display:grid}.hifz-summary div{flex-direction:column;gap:2px;display:flex}.hifz-summary dt{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.hifz-summary dd{margin:0;font-weight:600}.hifz-history{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.hifz-history-day{border:1px solid var(--line);border-radius:12px;padding:12px}.hifz-history-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hifz-history-status{color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:var(--radius-pill,999px);text-transform:capitalize;padding:2px 8px;font-size:12px}.hifz-history-lines{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;font-size:13.5px;list-style:none;display:flex}.hifz-history-lines li{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.hifz-history-kind{min-width:88px;font-weight:600}.hifz-history-counts{color:var(--ink-soft);font-size:12.5px}@media(max-width:760px){.hifz-range-row{grid-template-columns:repeat(2,minmax(0,1fr))}.hifz-panel-actions .primary-button,.hifz-panel-actions .ghost-button{flex:auto}}.hifz-followalong{border:1px solid var(--teal);background:#fff;border-radius:14px;flex-direction:column;gap:12px;padding:12px;display:flex}.hifz-followalong-bar,.hifz-followalong-pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.hifz-followalong-bar>div{flex-direction:column;display:flex}@font-face{font-family:QPC Hafs;src:url(/fonts/quran/uthmanic-hafs-v22.woff2)format("woff2");font-display:block}@font-face{font-family:Indopak Nastaleeq;src:url(/fonts/quran/indopak-nastaleeq.woff2)format("woff2");font-display:block}.mushaf{border:1px solid var(--line-strong);background:#fffdf7;border-radius:12px;max-width:44rem;margin-inline:auto;padding:18px 20px}.mushaf-page{flex-direction:column;gap:2px;font-family:QPC Hafs,serif;display:flex}.mushaf-page[data-mushaf^=indopak]{font-family:Indopak Nastaleeq,serif}.mushaf-line{flex-wrap:nowrap;justify-content:center;align-items:baseline;gap:0 .3em;line-height:1.9;display:flex}.mushaf-ayah-mark{color:var(--teal);padding:0 1px;font-size:27px}.mushaf-line-centered{gap:0 .34em}.mushaf-line-surah_name,.mushaf-line-basmallah{border-block:1px solid var(--line);justify-content:center;padding:4px 0}.mushaf-ornament{color:var(--teal);font-size:18px}.mushaf-word{font-size:27px;line-height:inherit;color:var(--ink);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:0 1px;font-family:inherit}.mushaf-sifr{width:0;height:0;display:inline-block}.mushaf-sifr:after{content:"";border:.05em solid;border-radius:50%;width:.13em;height:.13em;display:block;transform:translate(.18em,-.55em)}.mushaf-sifr-high:after{transform:translate(.24em,-.95em)}.mushaf-page[data-mushaf^=indopak] .mushaf-line{line-height:2.5}.mushaf-word:focus-visible{outline:2px solid var(--teal);outline-offset:1px}.mushaf-word-in-range{background:#17696f0f}.mushaf-word-marked{box-shadow:inset 0 -3px 0 0 var(--berry);background:#7a2f520f}.mushaf-word-active{outline:2px solid var(--teal);outline-offset:1px}.mushaf-word-muta{-webkit-text-decoration:underline dotted var(--muta,#b0771f);text-decoration:underline dotted var(--muta,#b0771f);text-underline-offset:5px;text-decoration-thickness:1.5px}.mushaf-word-muta-active{background:#b0771f29;text-decoration-color:#8a5c13}.mushaf-word-marked.mushaf-word-muta{text-decoration-color:#8a5c13}.mushaf-footer{text-align:center;color:var(--ink-soft);direction:ltr;margin:10px 0 0;font-size:12.5px}.hifz-marktypes{border:1px solid var(--teal);background:var(--teal-light);border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex}.hifz-marktypes-row{flex-wrap:wrap;gap:8px;display:flex}.hifz-tajweed-details summary{cursor:pointer;color:var(--ink-soft);font-size:13px}@media(max-width:760px){.mushaf{padding:12px 10px}.mushaf-word,.mushaf-ayah-mark{font-size:22px}}.hifz-open-mushaf{width:100%}.hifz-followalong-launch{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hifz-followalong-title{flex-direction:column;display:flex}.hifz-followalong-hint{margin:0}.hifz-progress{align-items:center;gap:10px;margin-bottom:12px;display:flex}.hifz-progress-track{background:var(--line);border-radius:3px;flex:1;height:6px;overflow:hidden}.hifz-progress-fill{background:var(--teal);border-radius:3px;height:100%;transition:width .22s}.hifz-progress-label{color:var(--ink-soft);white-space:nowrap;font-size:12.5px}:root{--muta:#b0771f;--muta-ink:#6f4a0d;--muta-wash:#b0771f17}.hifz-muta{background:var(--muta-wash);border:1px solid #b0771f59;border-radius:10px}.hifz-muta-toggle{width:100%;font:inherit;color:var(--muta-ink);text-align:start;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;padding:9px 12px;font-size:13.5px;display:flex}.hifz-muta-chevron{margin-inline-start:auto;font-size:11px}.hifz-muta-count{background:var(--muta);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}.hifz-muta-list{flex-direction:column;gap:6px;margin:0;padding:0 8px 8px;list-style:none;display:flex}.hifz-muta-item{width:100%;min-height:44px;font:inherit;text-align:start;cursor:pointer;background:#fff;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:3px;padding:8px 10px;display:flex}.hifz-muta-item-active{border-color:var(--muta);background:#fffaf0}.hifz-muta-arabic{color:var(--ink);font-size:18px;line-height:1.9}.hifz-muta-where,.hifz-muta-prompt{color:var(--ink-soft);font-size:12.5px}.hifz-muta-prompt{margin:0}.hifz-marktypes-similar{background:var(--muta-wash);border:1px solid #b0771f59;border-radius:10px;flex-direction:column;gap:6px;padding:8px;display:flex}.hifz-chip-similar{border-color:var(--muta);color:var(--muta-ink)}.hifz-portion-muta{color:var(--muta-ink);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:12.5px;display:flex}.hifz-marklist{border-top:1px solid var(--line);flex-direction:column;gap:4px;margin:0;padding:8px 0 0;list-style:none;display:flex}.hifz-marklist li{align-items:center;gap:8px;font-size:13px;display:flex}.hifz-marklist-ref{font-variant-numeric:tabular-nums;min-width:58px;color:var(--ink-soft)}.hifz-marklist-type{font-weight:600}.hifz-marklist-jump{color:var(--muta-ink);font-variant-numeric:tabular-nums}.hifz-marklist li>button{margin-inline-start:auto}.hifz-status{background:var(--bg-surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;font-size:13.5px;display:flex}.hifz-status-dot{background:var(--ink-soft);border-radius:50%;width:9px;height:9px}.hifz-status-active .hifz-status-dot{background:var(--teal)}.hifz-status-paused .hifz-status-dot{background:var(--muta)}.hifz-status-actions{gap:12px;margin-inline-start:auto;display:flex}.hifz-enrolment{flex-direction:column;gap:12px;display:flex}.hifz-enrolment-picker{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hifz-enrolment-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.hifz-enrolment-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;display:flex}.hifz-enrolment-list li:last-child{border-bottom:0}.hifz-enrolment-state{text-align:center;background:var(--line);min-width:92px;color:var(--ink-soft);border-radius:999px;flex:none;padding:2px 8px;font-size:12px;font-weight:600}.hifz-enrolment-state-active{background:var(--teal-light);color:var(--teal)}.hifz-enrolment-state-paused{background:var(--muta-wash);color:var(--muta-ink)}.hifz-enrolment-name{flex:160px}.hifz-enrolment-button{min-height:34px;margin-inline-start:auto;padding-block:4px;font-size:13px}.hifz-enrolment-error{flex-basis:100%;margin:0}.hifz-confusions{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hifz-confusions li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:8px;display:flex}.hifz-confusions li:last-child{border-bottom:0;padding-bottom:0}.hifz-confusion-line{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.hifz-confusion-from{font-weight:700}.hifz-confusion-arrow{color:var(--muta)}.hifz-confusion-to{color:var(--ink-soft)}.hifz-confusion-count{color:var(--ink-soft);white-space:nowrap;font-size:12.5px}.hifz-parent-jumps{border-inline-start:3px solid var(--muta);background:var(--muta-wash);border-radius:0 8px 8px 0;margin-top:10px;padding:10px 12px;font-size:13.5px}.hifz-parent-jumps ul{flex-direction:column;gap:4px;margin:6px 0 0;padding-inline-start:18px;display:flex}.hifz-parent-lines{flex-direction:column;gap:8px;margin:0;padding:0;font-size:14.5px;list-style:none;display:flex}.hifz-parent-note{color:var(--ink-soft)}.hifz-parent-comment{border-left:3px solid var(--teal);color:var(--ink-soft);margin:12px 0 0;padding-left:12px;font-style:italic}.hifz-parent-practise{background:var(--teal-light);border-radius:10px;margin:12px 0 0;padding:10px 12px;font-size:14px}.hifz-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px;display:grid}.hifz-kpis>div{border:1px solid var(--line-strong);color:var(--ink-soft);border-radius:12px;flex-direction:column;gap:2px;padding:12px;font-size:12.5px;display:flex}.hifz-kpi-value{color:var(--ink);font-size:22px;font-weight:600}.hifz-grid-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.hifz-grid{border-collapse:collapse;font-size:13px}.hifz-grid th,.hifz-grid td{text-align:center;white-space:nowrap;padding:4px 5px}.hifz-grid thead th{color:var(--ink-soft);font-size:11px;font-weight:500}.hifz-grid tbody th{text-align:left;background:var(--bg-surface);padding-right:12px;font-weight:500;position:sticky;left:0}.hifz-grid-reached{color:var(--ink-soft);padding-left:12px!important}.hifz-cell{border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;line-height:1;display:inline-flex}.hifz-cell-done{background:var(--teal);color:#fff}.hifz-cell-fail{background:var(--berry);color:#fff}.hifz-cell-unheard{color:var(--ink-soft);background:#11231e1f}.hifz-cell-absent{border:1px solid var(--line-strong);color:var(--ink-soft);background:0 0}.hifz-cell-closed{color:var(--ink-soft);background:0 0}.hifz-cell-blank{color:#11231e38;background:0 0}.hifz-legend{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0 0;padding:0;font-size:12.5px;list-style:none;display:flex}.hifz-legend li{align-items:center;gap:5px;display:flex}.hifz-suggestions{border:1px dashed var(--teal);background:var(--teal-light);border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.hifz-suggestions-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.hifz-suggestions-list{flex-direction:column;gap:8px;margin:0;padding:0;font-size:13.5px;list-style:none;display:flex}.hifz-suggestions-list li{flex-direction:column;gap:1px;display:flex}.hifz-heatmap{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hifz-heatmap li{grid-template-columns:68px 1fr auto;align-items:center;gap:10px;font-size:13px;display:grid}.hifz-heatmap-ref{font-variant-numeric:tabular-nums;font-weight:600}.hifz-heatmap-bar{background:#11231e0f;border-radius:999px;height:10px;overflow:hidden}.hifz-heatmap-fill{background:var(--berry);border-radius:999px;height:100%;display:block}.hifz-heatmap-count{color:var(--ink-soft);white-space:nowrap}.hifz-level-link{border:1px solid var(--line-strong);background:var(--bg-surface);border-radius:10px;flex-direction:column;gap:6px;margin-top:12px;padding:10px 12px;font-size:13.5px;display:flex}.hifz-level-link-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.hifz-level-link-count{color:var(--ink-soft);white-space:nowrap;font-size:12.5px}.hifz-level-link-note{color:var(--ink-soft);margin:0}.hifz-level-link .hifz-progress{margin-bottom:0}.hifz-level-link-ready{background:var(--teal-light);color:var(--teal);border-radius:8px;margin:0;padding:7px 10px;font-weight:600}.hifz-config-history{border-top:1px solid var(--line);margin-top:14px;padding-top:10px}.hifz-config-history summary{cursor:pointer;color:var(--ink-soft);font-size:13px}.hifz-config-history-list{flex-direction:column;gap:10px;margin:10px 0 0;padding:0;list-style:none;display:flex}.hifz-config-history-list li{border-bottom:1px solid var(--line);flex-direction:column;gap:2px;padding-bottom:8px;display:flex}.hifz-config-history-list li:last-child{border-bottom:0;padding-bottom:0}.hifz-config-history-head{color:var(--ink-soft);flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.hifz-config-history-change{color:var(--ink-soft);margin:0;font-size:12.5px}.hifz-config-history-field{color:var(--ink);font-weight:600}.mpk{gap:8px;width:100%;display:grid}.mpk-card{border:1.5px solid var(--line-strong);width:100%;font:inherit;text-align:left;cursor:pointer;background:#fffdf8;border-radius:14px;align-items:center;gap:14px;padding:11px 14px;transition:border-color .16s,background .16s,transform .12s;display:flex}.mpk-card:hover:not(:disabled){border-color:var(--teal);background:var(--teal-light)}.mpk-card:active:not(:disabled){transform:scale(.99)}.mpk-card:disabled{opacity:.55;cursor:default}.mpk-card[data-on=true]{border-color:var(--teal);background:var(--teal-light);box-shadow:0 0 0 1px var(--teal)}.mpk-preview{text-align:center;width:148px;color:var(--ink);white-space:nowrap;flex:none;font-family:QPC Hafs,serif;font-size:1.3rem;line-height:2;overflow:hidden}.mpk-preview[data-script=indopak]{font-family:Indopak Nastaleeq,serif;font-size:1.22rem}.mpk-preview-school{font-size:1.5rem;line-height:1}.mpk-copy{flex:1;gap:2px;min-width:0;display:grid}.mpk-copy strong{color:var(--ink);font-size:.92rem}.mpk-copy small{color:var(--ink-soft);font-size:.74rem;line-height:1.4}.mpk-tick{border:1.5px solid var(--line-strong);color:#0000;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:.78rem;font-weight:800;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.mpk-card[data-on=true] .mpk-tick{background:var(--teal);border-color:var(--teal);color:#fff}@media(max-width:560px){.mpk-preview{width:104px;font-size:1.05rem}.mpk-preview[data-script=indopak]{font-size:1rem}.mpk-card{gap:10px;padding:10px 12px}}.hifz-mushaf-switch{white-space:nowrap;flex:none}.hifz-canon-row{gap:10px;display:grid}.hifz-canon-endpoint{grid-template-columns:44px minmax(0,1fr) 88px;align-items:center;gap:8px;display:grid}.hifz-canon-label{color:var(--ink-soft);font-size:.78rem;font-weight:700}.hifz-canon-endpoint select{min-width:0}.hifz-endword-chip{color:var(--teal);flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0;font-size:.8rem;font-weight:650;display:flex}.hifz-pages-fold{margin-top:8px}.hifz-pages-fold summary{cursor:pointer;color:var(--ink-faint);font-size:.76rem}.hifz-pages-fold[open] summary{margin-bottom:6px}.hifz-followalong-bar{z-index:15;-webkit-backdrop-filter:blur(10px);background:#fffdf9f5;padding-top:8px;padding-bottom:8px;position:sticky;top:0}.hifz-endmode{white-space:nowrap;flex:none}.hifz-endmode-armed{background:var(--teal);color:#fff;border-color:var(--teal)}.hifz-endmode-hint{background:var(--teal-light);border:1px solid var(--teal);color:var(--ink);border-radius:10px;margin:0 0 8px;padding:8px 12px;font-size:.82rem}.hifz-duo{display:block}.hifz-duo-side{display:none}@media(min-width:1100px){.hifz-duo{grid-template-columns:minmax(300px,360px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.hifz-duo-side{max-height:calc(100vh - 24px);display:block;position:sticky;top:12px;overflow-y:auto}.hifz-duo-side .hifz-portion{margin:0}}.hifz-plan-form{gap:14px;display:grid}.hpf-block{gap:4px;display:grid}.hpf-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hpf-lead{color:var(--ink);min-width:96px;font-size:.86rem;font-weight:700}.hpf-tail{color:var(--ink-soft);font-size:.82rem}.hpf-num{width:76px}.hpf-row select{min-width:0;max-width:100%}.hpf-mistake{align-items:center;gap:6px;display:inline-flex}.hpf-hint{color:var(--ink-faint);margin:0 0 0 4px;font-size:.74rem;line-height:1.45}@media(max-width:560px){.hpf-lead{min-width:100%}}.hifz-plan-strip{background:var(--teal-light);border:1px solid var(--teal);color:var(--ink);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-size:.82rem;display:flex}.hifz-pfold{border:1px solid var(--line-strong);background:#fff;border-radius:12px;overflow:hidden}.hifz-pfold-head{width:100%;min-height:48px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:10px 14px;display:flex}.hifz-pfold-kind{color:var(--ink);flex:none;min-width:86px;font-size:.86rem;font-weight:700}.hifz-pfold-range{min-width:0;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:.84rem;overflow:hidden}.hifz-pfold-repeat{color:var(--berry);white-space:nowrap;background:#7a2f5217;border-radius:999px;flex:none;padding:2px 9px;font-size:.72rem;font-weight:700}.hifz-pfold-status{color:var(--ink-soft);white-space:nowrap;flex:none;font-size:.76rem;font-weight:650}.hifz-pfold-status-excellent,.hifz-pfold-status-good{color:var(--teal)}.hifz-pfold-status-not_passed,.hifz-pfold-status-over{color:var(--berry)}.hifz-pfold-status-needs_work{color:var(--ink)}.hifz-pfold-status-muted{color:var(--ink-faint);font-weight:500}.hifz-pfold-chevron{color:var(--ink-faint);flex:none;font-size:.8rem;transition:transform .16s}.hifz-pfold-open .hifz-pfold-chevron{transform:rotate(180deg)}.hifz-pfold-body{padding:0 14px 14px}.hifz-pfold-body .hifz-portion{background:0 0;border:0;margin:0;padding:0}.hifz-pfold-reason{margin:0 0 10px}@media(max-width:560px){.hifz-pfold-range{white-space:normal}.hifz-pfold-kind{min-width:74px}}.hifz-allowance{border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-size:.82rem;display:flex}.hifz-allowance-over{border:1px solid var(--berry);color:var(--berry);background:#7a2f5214;font-weight:600}.hifz-allowance-button{min-height:36px;padding:6px 12px}.hifz-allowance-within{margin:0}.hifz-summary-note{color:var(--ink-faint);font-size:.74rem}.hifz-pfold-body .hifz-portion-head .hifz-portion-title{display:none}.hifz-quran-map{gap:12px;display:grid}.hqm-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}@media(max-width:480px){.hqm-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.hqm-tile{border:1.5px solid var(--line-strong);min-height:52px;font:inherit;cursor:pointer;animation:.34s backwards hqm-tile-in;animation-delay:calc(var(--i,0) * 14ms);background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:6px 2px;transition:background .18s,border-color .18s,color .18s,transform .12s,box-shadow .18s;display:flex;position:relative}.hqm-tile:active{transform:scale(.94)}.hqm-tile:disabled{cursor:default;opacity:.6}.hqm-tile-num{color:var(--ink);font-size:.88rem;font-weight:700}.hqm-tile-mark{min-height:.75em;font-size:.7rem;line-height:1}.hqm-tile[data-state=full]{background:var(--teal);border-color:var(--teal);animation:.28s hqm-tile-pop}.hqm-tile[data-state=full] .hqm-tile-num,.hqm-tile[data-state=full] .hqm-tile-mark{color:#fff}.hqm-tile[data-state=part]{background:var(--teal-light);border-color:var(--teal);animation:.28s hqm-tile-pop}.hqm-tile[data-state=part] .hqm-tile-mark{color:var(--teal)}.hqm-tile-open{box-shadow:0 0 0 3px var(--teal-light);border-color:var(--teal)}@keyframes hqm-tile-in{0%{opacity:0;transform:translateY(6px)scale(.92)}to{opacity:1;transform:none}}@keyframes hqm-tile-pop{0%{transform:scale(1)}45%{transform:scale(1.08)}to{transform:scale(1)}}.hqm-legend{color:var(--ink-soft);flex-wrap:wrap;gap:16px;font-size:.76rem;display:flex}.hqm-legend span{align-items:center;gap:6px;display:inline-flex}.hqm-swatch{border:1.5px solid var(--line-strong);background:#fff;border-radius:4px;width:14px;height:14px;display:inline-block}.hqm-swatch[data-state=full]{background:var(--teal);border-color:var(--teal)}.hqm-swatch[data-state=part]{background:var(--teal-light);border-color:var(--teal)}.hqm-quick{flex-wrap:wrap;gap:8px;display:flex}.hqm-quick-btn{min-height:40px;padding:8px 14px}.hqm-quick-on{border-color:var(--teal);background:var(--teal-light);font-weight:650}.hqm-panel{border:1px solid var(--teal);background:var(--teal-light);border-radius:12px;gap:10px;padding:12px 14px;animation:.22s hqm-panel-in;display:grid}@keyframes hqm-panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.hqm-panel-line{color:var(--ink);margin:0;font-size:.86rem;font-weight:600}.hqm-panel-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hqm-panel-actions .ghost-button{background:#fff;min-height:40px;padding:8px 14px}.hqm-panel-ranges{gap:6px;margin:0;padding:0;list-style:none;display:grid}.hqm-panel-ranges li{color:var(--ink);flex-wrap:wrap;align-items:center;gap:10px;font-size:.82rem;display:flex}.hqm-range-source{color:var(--ink-faint);font-size:.72rem}.hqm-range-locked{color:var(--ink-faint);font-size:.72rem;font-style:italic}.hqm-part-picker{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hqm-part-lead{color:var(--ink);font-size:.84rem;font-weight:600}.hqm-part-picker input{width:84px}.hqm-part-confirm{min-height:40px;padding:8px 16px}.hqm-part-cancel{background:#fff;min-height:40px;padding:8px 14px}.hqm-part-error{flex-basis:100%;margin:0}.hifz-wizard{gap:18px;display:grid}.hifz-wizard-progress{gap:4px;display:flex}.hifz-wizard-dot{flex:1;justify-items:center;gap:5px;padding-top:2px;display:grid}.hifz-wizard-dot i{border:1.5px solid var(--line-strong);width:28px;height:28px;color:var(--ink-soft);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:.78rem;font-style:normal;font-weight:700;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.hifz-wizard-dot em{color:var(--ink-faint);text-align:center;font-size:.68rem;font-style:normal}.hifz-wizard-dot-now i{border-color:var(--teal);background:var(--teal-light);color:var(--ink);transform:scale(1.12)}.hifz-wizard-dot-now em{color:var(--ink);font-weight:650}.hifz-wizard-dot-done i{background:var(--teal);border-color:var(--teal);color:#fff}.hifz-wizard-step{gap:14px;animation:.3s hifz-wizard-step-in;display:grid}@keyframes hifz-wizard-step-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.hifz-wizard-lead{margin:0;font-size:1.02rem}.hifz-wizard-row{flex-wrap:wrap;gap:12px;display:flex}.hifz-wizard-row .hifz-range-field{min-width:160px}.hifz-wizard-surah{flex:220px}.hifz-wizard-hint{color:var(--ink-soft);margin:0;font-size:.8rem}.hifz-wizard-chips{flex-wrap:wrap;gap:8px;display:flex}.hifz-wizard-chip{min-height:42px;padding:8px 14px}.hifz-wizard-chip-on{border-color:var(--teal);background:var(--teal-light);font-weight:650}.hifz-wizard-actions{justify-content:space-between;gap:10px;display:flex}.hifz-nudge{border:1px dashed var(--teal);color:var(--ink);background:#fff;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:.82rem;animation:.25s hqm-panel-in;display:flex}.hifz-nudge-actions{align-items:center;gap:10px;display:inline-flex}.hifz-nudge-yes{min-height:38px;padding:7px 14px}.hifz-plan-strip-actions{align-items:center;gap:12px;display:inline-flex}@media(prefers-reduced-motion:reduce){.hqm-tile,.hqm-panel,.hifz-wizard-step,.hifz-nudge{animation:none}.hqm-tile,.hifz-wizard-dot i{transition:none}}.hifz-ready-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.hifz-ready-list li{border:.5px solid var(--line-strong);background:#fff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;font-size:.88rem;display:flex}.hifz-ready-item{color:var(--ink-soft);flex:auto}.hifz-ready-badge{background:var(--teal);color:#fff;white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:.74rem;font-weight:700}.hifz-ready-left{color:var(--ink-faint);white-space:nowrap;font-size:.78rem}.hifz-goal-ready{color:var(--teal);font-weight:650}.hifz-wizard-who{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.hifz-wizard-who-name{color:var(--ink);font-size:1.05rem;font-weight:700}.hifz-wizard-who-queue{color:var(--teal);background:var(--teal-light);border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:600}.hifz-wizard-bar{background:var(--teal-light);border-radius:999px;height:6px;margin:10px 0 2px;overflow:hidden}.hifz-wizard-bar-fill{border-radius:inherit;background:var(--teal);height:100%;transition:width .35s var(--ease,ease);display:block}.hqm-part-direction{flex-wrap:wrap;gap:8px;width:100%;margin-bottom:8px;display:flex}.hqm-surah-chips{flex-wrap:wrap;gap:6px;margin:10px 0 4px;display:flex}.hqm-surah-chip{border:1.5px solid var(--line-strong);background:var(--panel,#fff);font:inherit;color:var(--ink-soft);cursor:pointer;transition:border-color .15s var(--ease,ease),background .15s var(--ease,ease),transform .15s var(--ease,ease);border-radius:999px;padding:5px 12px;font-size:.8rem;font-weight:600}.hqm-surah-chip:hover:not(:disabled){border-color:var(--teal-mid);transform:translateY(-1px)}.hqm-surah-chip:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.hqm-surah-chip-on{border-color:var(--teal);background:var(--teal-light);color:var(--teal)}.hqm-surah-chip:disabled{cursor:default;opacity:.8}@media(prefers-reduced-motion:reduce){.hifz-wizard-bar-fill,.hqm-surah-chip{transition:none}.hqm-surah-chip:hover:not(:disabled){transform:none}}.subject-grid{grid-template-columns:1fr;gap:12px;margin-top:16px;display:grid}@media(min-width:720px){.subject-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1100px){.subject-grid{grid-template-columns:repeat(3,1fr)}}.subject-card{color:var(--ink);border-radius:var(--radius-md);background:#fff;border:1px solid #11231e1a;padding:16px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform 50ms;display:block}.subject-card:hover{border-color:#11231e40;box-shadow:0 2px 8px #11231e0f}.subject-card:active{transform:translateY(1px)}.subject-card-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.subject-card-head h3{color:var(--ink);margin:0;font-size:1.05rem;font-weight:600}.subject-card-count{color:var(--ink-soft);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.78rem}.subject-card-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.subject-card-stats div{flex-direction:column;gap:2px;min-width:0;display:flex}.subject-card-stats dt{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:600}.subject-card-stats dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:1rem;font-weight:600}.subject-card-list{cursor:default}.subject-card-classes{gap:6px;margin:0;padding:0;list-style:none;display:grid}.subject-card-classes li{border-top:1px solid #11231e0f;padding:6px 0;font-size:.9rem}.subject-card-classes li:first-child{border-top:none}.class-card-list{gap:10px;margin-top:16px;display:grid}.class-card{color:var(--ink);background:#fff;border:1px solid #11231e1a;border-radius:10px;grid-template-columns:1fr;gap:8px;padding:12px 14px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:grid}.class-card:hover{border-color:#11231e40;box-shadow:0 2px 8px #11231e0f}@media(min-width:720px){.class-card{grid-template-columns:1fr auto;align-items:center}}.class-card-main{flex-direction:column;gap:2px;min-width:0;display:flex}.class-card-main strong{font-size:.95rem;font-weight:600}.class-card-meta{color:var(--ink-soft);font-size:.78rem}.class-card-stats{color:var(--ink-soft);flex-wrap:wrap;gap:16px;font-size:.85rem;display:flex}.class-card-stats strong{color:var(--ink)}.class-card-unallocated{background:#e8a8380f;border-color:#e8a8384d}.class-card-unallocated:hover{border-color:#e8a83880}.class-summary-header{grid-template-columns:1fr;gap:12px;margin-bottom:16px;display:grid}.class-summary-title{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.class-summary-header h2{align-items:center;gap:10px;margin:0 0 4px;display:inline-flex}.class-summary-edit-inline{border:1px solid var(--line);width:28px;height:28px;color:var(--ink-faint);cursor:pointer;opacity:.55;transition:opacity .16s var(--ease),background .16s var(--ease),color .16s var(--ease),border-color .16s var(--ease);background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:.95rem;line-height:1;display:none}.class-summary-edit-inline:hover,.class-summary-edit-inline:focus-visible{opacity:1;background:var(--teal-light);color:var(--teal);border-color:var(--teal);outline:none}@media(min-width:720px){.class-summary-edit-inline{display:inline-flex}}.class-summary-edit-mobile{align-self:flex-start;margin-top:8px;display:inline-flex}@media(min-width:720px){.class-summary-edit-mobile{display:none}.class-summary-header{grid-template-columns:1fr auto;align-items:end}}.class-summary-cta{display:none}@media(min-width:720px){.class-summary-cta{display:inline-flex}}.class-summary-cta-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.class-summary-cta-mobile{text-align:center;z-index:50;justify-content:center;align-items:center;display:flex;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 6px 16px #11231e2e}@media(min-width:720px){.class-summary-cta-mobile{display:none}}@media(max-width:719px){.class-summary{padding-bottom:80px}}.class-summary-grid{grid-template-columns:1fr;gap:16px;display:grid}@media(min-width:720px){.class-summary-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1100px){.class-summary-grid{grid-template-columns:repeat(3,1fr)}}.class-summary-widget{margin:0}.class-summary-widget-wide{grid-column:1/-1}.class-summary-dl{grid-template-columns:1fr;gap:8px;margin:0;display:grid}.class-summary-dl div{border-top:1px solid #11231e0f;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:baseline;gap:8px;padding:4px 0;font-size:.85rem;display:grid}.class-summary-dl div:first-child{border-top:none}.class-summary-dl dt{color:var(--ink-soft);font-weight:500}.class-summary-dl dd{color:var(--ink);margin:0;font-weight:600}.class-age-spread{border-top:1px solid #11231e0f;margin-top:14px;padding-top:12px}.class-age-spread-header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.class-age-spread-title{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-size:.66rem;font-weight:600}.class-age-spread-meta{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.74rem}.class-age-bars{gap:4px;margin:0;padding:0;list-style:none;display:grid}.class-age-bar-row{grid-template-columns:2.4rem minmax(0,1fr) 1.4rem;align-items:center;gap:8px;display:grid}.class-age-bar-label{color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:600}.class-age-bar-label small{color:var(--ink-faint);margin-left:2px;font-size:.6rem;font-weight:500}.class-age-bar-track{background:#11231e0f;border-radius:7px;height:14px;overflow:hidden}.class-age-bar-fill{background:linear-gradient(90deg,var(--teal-mid),var(--teal));height:100%;transition:width .32s var(--ease);border-radius:7px;display:block}.class-age-bar-count{color:var(--ink-soft);text-align:right;font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:600}.class-age-spread-note{color:var(--ink-faint);margin:8px 0 0;font-size:.72rem}.roster-mark{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.roster-mark.is-saving{opacity:.6}.roster-mark-chip{border:1px solid var(--line);min-height:32px;color:var(--ink-soft);font:inherit;cursor:pointer;white-space:nowrap;transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease);background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:6px 14px;font-size:.82rem;font-weight:500;line-height:1.2;display:inline-flex}.roster-mark-chip:hover:not(:disabled):not(.is-selected){color:var(--ink);background:#11231e0d;border-color:#11231e33}.roster-mark-chip:disabled{cursor:default}.roster-mark-chip.is-selected{cursor:default;font-weight:600}.roster-mark-chip-present.is-selected{color:var(--teal);background:#17696f1f;border-color:#17696f73}.roster-mark-chip-absent.is-selected{color:var(--sunset);background:#b9572b24;border-color:#b9572b73}.roster-mark-error{color:var(--sunset);margin-top:4px;font-size:.7rem;display:block}.class-summary-actions{gap:12px;margin-top:12px;display:flex}.class-summary-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.class-summary-list li{border-top:1px solid #11231e0f;padding:6px 0;font-size:.85rem}.class-summary-list li:first-child{border-top:none}.classes-widget-grid{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:16px;display:grid}@media(min-width:720px){.classes-widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1100px){.classes-widget-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1500px){.classes-widget-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.classes-widget-grid-hero{grid-template-columns:1fr!important}.classes-widget-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:600}.classes-attendance-hero{flex-wrap:wrap;align-items:baseline;gap:10px;margin:12px 0 8px;display:flex}.classes-attendance-hero-num{font-variant-numeric:tabular-nums;color:var(--ink);font-size:2.6rem;font-weight:600;line-height:1}.classes-attendance-hero-label{color:var(--ink-soft);font-size:.9rem}.classes-subject-pct{flex-wrap:wrap;align-items:baseline;gap:8px;margin:8px 0 6px;display:flex}.classes-subject-pct-num{font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.5rem;font-weight:600;line-height:1}.classes-subject-pct-label{color:var(--ink-soft);font-size:.78rem}.classes-bar{background:#11231e14;border-radius:4px;height:8px;margin-top:6px;display:flex;overflow:hidden}.classes-subject-widget,.classes-class-widget{color:var(--ink);cursor:pointer;text-decoration:none}.classes-class-widget{cursor:default}.classes-class-widget-body{color:inherit;gap:6px;text-decoration:none;display:grid}.classes-class-widget-body:hover .classes-class-summary-link{text-decoration:underline}.classes-class-widget-cta{white-space:nowrap;min-height:36px;padding:6px 12px;font-size:.8rem}.classes-class-meta{color:var(--ink-soft);margin:0;font-size:.82rem}.classes-class-summary-link{color:var(--teal);margin:6px 0 0;font-size:.78rem;font-weight:600}.class-summary-threshold{align-items:center;gap:8px;display:flex}.class-summary-threshold select{min-height:36px;font-size:.85rem}@media(max-width:540px){.class-summary-widget .section-card-header{flex-direction:column;align-items:flex-start;gap:8px}.class-summary-threshold,.class-summary-threshold select{width:100%}}.class-row-list{gap:10px;margin-top:16px;display:grid}.class-row-gender-group{gap:10px;display:grid}.class-row-gender-group+.class-row-gender-group{margin-top:18px}.class-row-gender-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);align-items:baseline;gap:8px;margin:4px 0 2px;font-size:11px;font-weight:600;display:flex}.class-row{background:#fff;border:1px solid #11231e1a;border-radius:10px;grid-template-columns:1fr;gap:10px;padding:12px 14px;transition:border-color .15s,box-shadow .15s;display:grid}.class-row:hover{border-color:#11231e40;box-shadow:0 2px 8px #11231e0f}@media(min-width:720px){.class-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) 110px 150px;align-items:center}}@media(min-width:1100px){.class-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1.6fr) 120px 160px}}.class-row-main{color:var(--ink);align-items:center;gap:12px;min-width:0;text-decoration:none;display:flex}.class-row-icon{flex-shrink:0;font-size:1.6rem;line-height:1}.class-row-identity{flex-direction:column;gap:2px;min-width:0;display:flex}.class-row-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.class-row:hover .class-row-title{color:var(--teal)}.class-row-sub{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.class-row-stat{flex-direction:column;gap:2px;min-width:0;display:flex}.class-row-stat-num{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1rem;font-weight:600}.class-row-stat-num-muted{color:var(--ink-soft);font-weight:500}.class-row-stat-label{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.74rem;overflow:hidden}.class-row-bar{background:#11231e14;border-radius:3px;height:6px;margin-top:4px;display:flex;overflow:hidden}.class-row-badges{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;min-width:0;display:grid}.class-row-badge{background:#17696f0f;border:1px solid #17696f26;border-radius:6px;flex-direction:column;gap:2px;min-width:0;padding:6px 8px;display:flex}.class-row-badge-expected{background:#11231e0a;border-color:#11231e1a}.class-row-badge-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.66rem;font-weight:600;overflow:hidden}.class-row-badge-value{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}@media(min-width:720px)and (max-width:1099px){.class-row-badges{grid-template-columns:repeat(2,minmax(0,1fr))}}.class-row-actions{justify-content:flex-end;display:flex}.class-row-cta{white-space:nowrap;min-height:40px;padding:8px 14px;font-size:.8rem}@media(max-width:719px){.class-row{grid-template-columns:1fr}.class-row-stat-students,.class-row-stat-attendance{flex-flow:wrap;align-items:baseline;gap:6px}.class-row-stat-students .class-row-stat-label,.class-row-stat-attendance .class-row-stat-label{font-size:.8rem}.class-row-actions{justify-content:stretch}.class-row-cta{text-align:center;justify-content:center;width:100%}}.class-row-unallocated{background:#e8a8380f;border-color:#e8a8384d}.class-row-unallocated:hover{border-color:#e8a83880}.register-detail-panel{gap:12px;margin-top:12px;display:grid}.admin-register-detail-date{color:var(--ink-soft);align-items:center;gap:8px;font-size:.8rem;display:inline-flex}.admin-register-detail-date .admin-filter-input{min-width:150px}.admin-register-detail-saved-tag{color:var(--teal);margin-left:4px;font-size:.78rem;font-weight:600}.admin-register-detail-header{z-index:10;-webkit-backdrop-filter:saturate(140%)blur(8px);background:#faf7f1f0;border:1px solid #11231e14;border-radius:8px;flex-wrap:wrap;gap:12px;padding:10px 12px;position:sticky;top:0;box-shadow:0 2px 6px #11231e0d}.register-detail-loading,.register-detail-error,.register-detail-empty{color:var(--ink-soft);margin:0;font-size:.84rem}.register-detail-error{color:var(--berry)}.register-detail-group{background:#fff;border:1px solid #11231e14;border-radius:8px;gap:4px;padding:8px 10px;display:grid}.register-detail-group-present{background:#17696f0d;border-color:#17696f2e}.register-detail-group-late{background:#e8a83812;border-color:#e8a8384d}.register-detail-group-absent{background:#b9572b0f;border-color:#b9572b40}.register-detail-group-unmarked{background:#11231e0a;border-color:#11231e1f}.register-detail-group-header{border-bottom:1px dashed #11231e14;align-items:center;gap:8px;margin-bottom:4px;padding-bottom:4px;display:flex}.register-detail-group-emoji{font-size:.95rem;line-height:1}.register-detail-group-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink);font-size:.78rem;font-weight:600}.register-detail-group-count{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.75rem}.register-detail-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.register-detail-item{background:#fff9;border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 10px;display:flex}.register-detail-item-identity{flex:100%;min-width:0}.register-detail-status-toggle,.register-detail-minutes-late{flex:none}.register-detail-note-input,.register-detail-note-disabled{flex:240px;min-width:0}.register-detail-row-status{flex:none}@media(min-width:1100px){.register-detail-item-identity{flex:240px}}.register-detail-item-identity{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.register-detail-name{color:var(--ink);font-size:.88rem;font-weight:600}.register-detail-name-link{color:inherit;font:inherit;text-decoration:none}.register-detail-name-link:hover,.register-detail-name-link:focus-visible{text-decoration:underline}.register-detail-message-button{white-space:nowrap;margin-left:10px;font-size:.78rem;font-weight:500}.register-detail-notified{color:#92580a;cursor:help;background:#ffb8001f;border:1px solid #ffb80059;border-radius:999px;align-items:center;gap:6px;max-width:100%;margin-top:3px;padding:2px 8px;font-size:.74rem;line-height:1.3;display:inline-flex}.register-detail-notified-dot{background:#e0a106;border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 0 2px #ffb8002e}.register-detail-notified-label{letter-spacing:.01em;flex:none;font-weight:600}.register-detail-notified-text{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--ink-soft);flex:auto;font-weight:500;overflow:hidden}.register-detail-status-toggle{flex-wrap:nowrap;gap:4px;display:inline-flex}.register-detail-status-chip{border:1px solid var(--line);min-height:32px;color:var(--ink-soft);font:inherit;cursor:pointer;white-space:nowrap;transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease);background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:6px 14px;font-size:.82rem;font-weight:500;line-height:1.2;display:inline-flex}.register-detail-status-chip:hover:not(:disabled){color:var(--ink);background:#11231e0d;border-color:#11231e33}.register-detail-status-chip-label{font-weight:500}.register-detail-status-chip.is-selected{cursor:default;font-weight:600}.register-detail-status-chip-present.is-selected{color:var(--teal);background:#17696f1f;border-color:#17696f73}.register-detail-status-chip-late.is-selected{color:#8a5a14;background:#e8a8382e;border-color:#e8a8388c}.register-detail-status-chip-absent.is-selected{color:var(--sunset);background:#b9572b24;border-color:#b9572b73}.register-detail-minutes-late{color:var(--ink-soft);white-space:nowrap;align-items:center;gap:4px;font-size:.74rem;display:inline-flex}.register-detail-minutes-late-label{font-weight:500}.register-detail-minutes-late-input{width:48px;font:inherit;text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;background:#fff;border:1px solid #11231e1f;border-radius:4px;padding:3px 6px;font-size:.78rem}.register-detail-minutes-late-input:focus{border-color:var(--teal);outline:none}.register-detail-minutes-late-unit{color:var(--ink-faint)}.register-detail-note-input{width:100%;min-width:0;font:inherit;color:var(--ink);transition:border-color .14s var(--ease),background .14s var(--ease);background:#fff;border:1px solid #11231e1f;border-radius:4px;padding:5px 8px;font-size:.8rem;line-height:1.4}.register-detail-note-input:focus{border-color:var(--teal);outline:none}.register-detail-note-disabled{color:var(--ink-faint);font-size:.76rem;font-style:italic}.register-detail-row-status{align-items:center;min-width:0;display:inline-flex}.register-detail-note-status{color:var(--ink-soft);white-space:nowrap;font-size:.7rem}.register-detail-note-status-error{color:var(--berry)}.register-schedule-grid{grid-template-columns:1fr;gap:16px;margin-top:16px;display:grid}@media(min-width:960px){.register-schedule-grid{grid-template-columns:1fr 1fr;align-items:start}}.register-schedule-panel{border-radius:var(--radius-md);background:#fff;border:1px solid #11231e1a;gap:12px;padding:14px 14px 12px;display:grid}.register-schedule-header{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #11231e14;align-items:center;gap:10px;padding:4px 0 10px;display:flex}.register-schedule-header:hover .register-schedule-title{color:var(--teal,var(--ink))}.register-schedule-panel-open .register-schedule-header{border-bottom-color:#11231e2e}.register-schedule-icon{font-size:22px;line-height:1}.register-schedule-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ink);flex:1;margin:0;font-size:14px;font-weight:600;transition:color .15s}.register-schedule-count{color:#11231eb3;font-variant-numeric:tabular-nums;font-size:12px}.register-schedule-arrow{color:#11231e80;font-size:12px}.register-schedule-body{gap:10px;display:grid}.register-subject-tiles{gap:8px;display:grid}.register-subject-tile-wrap{gap:0;display:grid}.register-subject-tile{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:#fff;border:1px solid #11231e1f;border-radius:10px;gap:8px;padding:12px 14px;transition:border-color .15s,box-shadow .15s,background .15s;display:grid}.register-subject-tile:hover{background:#11231e05;border-color:#11231e47}.register-subject-tile-open{border-color:#11231e61;border-bottom-right-radius:0;border-bottom-left-radius:0;box-shadow:0 2px 8px #11231e0f}.register-subject-tile-head{grid-template-columns:1fr auto auto;align-items:baseline;gap:10px;display:grid}.register-subject-tile-title{color:var(--ink);font-size:14px;font-weight:600}.register-subject-tile-count{color:#11231eb3;font-variant-numeric:tabular-nums;font-size:12px}.register-subject-tile-arrow{color:#11231e80;font-size:12px}.register-subject-tile-stat{flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-width:0;display:flex}.register-subject-tile-stat-num{font-variant-numeric:tabular-nums;color:var(--ink);font-size:16px;font-weight:600}.register-subject-tile-stat-label{color:#11231eb3;font-size:12px}.register-subject-tile-bar{background:#11231e0f;border-radius:999px;flex-basis:100%;width:100%;height:4px;margin-top:2px;display:flex;overflow:hidden}.register-subject-tile-body{background:#11231e05;border:1px solid #11231e61;border-top:none;border-bottom-right-radius:10px;border-bottom-left-radius:10px;gap:8px;padding:12px;display:grid}.register-gender-tile-link{color:inherit;text-decoration:none}.register-gender-tile-link:hover .register-gender-tile-label{color:var(--teal,var(--ink))}.register-gender-tile-link .register-gender-tile-label{transition:color .15s}.register-gender-tiles{gap:8px;display:grid}.register-gender-tile-wrap{gap:0;display:grid}.register-gender-tile{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:#fff;border:1px solid #11231e1a;border-radius:10px;grid-template-columns:1fr auto auto auto;align-items:center;gap:12px;padding:12px 14px;transition:border-color .15s,box-shadow .15s,background .15s;display:grid}.register-gender-tile:hover{background:#11231e05;border-color:#11231e40}.register-gender-tile-open{border-color:#11231e59;border-bottom-right-radius:0;border-bottom-left-radius:0;box-shadow:0 2px 8px #11231e0f}.register-gender-tile-label{color:var(--ink);font-size:14px;font-weight:600}.register-gender-tile-meta{color:#11231eb3;align-items:baseline;gap:4px;font-size:12px;display:flex}.register-gender-tile-meta strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.register-gender-tile-taken{color:#11231eb3;white-space:nowrap;font-size:12px}.register-gender-tile-arrow{color:#11231e80;font-size:12px}.register-slice-rollup{border-radius:var(--radius-md);background:#fff;border:1px solid #11231e1f;gap:10px;margin-top:4px;padding:14px 16px;display:grid}.register-slice-rollup-headline{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.register-slice-rollup-num{font-variant-numeric:tabular-nums;color:var(--ink);font-size:28px;font-weight:600;line-height:1}.register-slice-rollup-label{color:#11231eb3;font-size:13px}.register-slice-rollup-stats{color:#11231ed9;flex-wrap:wrap;gap:6px 16px;font-size:13px;display:flex}.register-slice-rollup-bar{background:#11231e0f;border-radius:999px;width:100%;height:6px;display:flex;overflow:hidden}.register-class-rows{gap:8px;display:grid}.register-class-row{background:#fff;border:1px solid #11231e1a;border-radius:8px;grid-template-columns:1fr;gap:10px;padding:10px 12px;display:grid}@media(min-width:720px){.register-class-row{grid-template-columns:1.4fr 1fr auto;align-items:center}}.register-class-row-identity{align-items:center;gap:10px;min-width:0;display:flex}.register-class-row-icon{font-size:20px;line-height:1}.register-class-row-title{color:var(--ink);font-size:14px;display:block}.register-class-row-sub{color:#11231eb3;margin-top:2px;font-size:12px;display:block}.register-class-row-stat{flex-direction:column;gap:2px;min-width:0;display:flex}.register-class-row-stat-num{font-variant-numeric:tabular-nums;color:var(--ink);font-size:16px;font-weight:600}.register-class-row-stat-num-muted{color:#11231e66}.register-class-row-stat-label{color:#11231eb3;font-size:12px}.register-class-row-bar{background:#11231e0f;border-radius:999px;height:4px;margin-top:4px;display:flex;overflow:hidden}.register-class-row-actions{justify-content:flex-end;display:flex}.classes-schedule-group{margin-top:18px}.classes-schedule-header{align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.classes-schedule-title{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:0;font-size:1rem;font-weight:600}.meeting-days{gap:12px;margin-top:8px;display:grid}.meeting-days__grid{background:var(--bg-surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:6px;display:grid}.meeting-days__day{min-height:56px;color:var(--ink-soft);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:10px 4px 9px;transition:background .12s,color .12s,box-shadow .12s,transform .12s;display:flex;position:relative}.meeting-days__day:hover{color:var(--ink);background:#11231e0a}.meeting-days__day:focus-within{outline:2px solid var(--teal);outline-offset:2px}.meeting-days__day input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.meeting-days__day--on{background:var(--teal);color:#fff;box-shadow:0 1px #11231e0a,0 2px 6px #17696f40}.meeting-days__day--on:hover{background:var(--teal);color:#fff;transform:translateY(-1px)}.meeting-days__day-letter{letter-spacing:.02em;font-size:.95rem;font-weight:700;line-height:1}.meeting-days__day-label{text-transform:uppercase;letter-spacing:.08em;opacity:.75;font-size:.66rem;font-weight:600;line-height:1}.meeting-days__presets{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.meeting-days__presets-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-right:4px;font-size:.72rem;font-weight:600}.meeting-days__preset{appearance:none;border:1px solid var(--line-strong);background:var(--bg-surface);color:var(--ink-soft);border-radius:var(--radius-pill);cursor:pointer;padding:5px 11px;font-size:.76rem;font-weight:600;transition:background .12s,color .12s,border-color .12s}.meeting-days__preset:hover{border-color:var(--teal);color:var(--teal);background:var(--teal-light)}.meeting-days__preset--clear:hover{border-color:var(--line-strong);color:var(--ink);background:#11231e0a}.meeting-days__summary{color:var(--ink-soft);margin:0;font-size:.78rem}.meeting-days__summary strong{color:var(--ink);font-weight:600}.admin-compact-page{gap:4px}.admin-compact-page>.page-header,.admin-compact-page>.page-header-tight{gap:4px 8px;margin-bottom:2px}.admin-compact-page>.page-header h2,.admin-compact-page>.page-header-tight h2{font-size:1rem;line-height:1.2}.admin-compact-page>.page-header p{margin:2px 0 0;font-size:.82rem}.admin-compact-page .section-card,.admin-compact-page .panel.section-card,.admin-compact-page>.panel{padding:8px 10px}.admin-compact-page .section-card-header{margin-bottom:4px}.admin-compact-page .section-card-header h2{margin:0 0 2px;font-size:.95rem}.admin-compact-page .section-card-header p{margin:0;font-size:.78rem}.admin-compact-page .admin-compact-table{font-size:.82rem}.admin-compact-page .admin-compact-table th,.admin-compact-page .admin-compact-table td{vertical-align:middle;padding:4px 8px}.admin-compact-page .admin-compact-table td strong{font-size:.86rem}.admin-compact-page .admin-table:not(.admin-compact-table) th,.admin-compact-page .admin-table:not(.admin-compact-table) td{padding:5px 10px}.admin-compact-page .admin-inline-button{min-height:0;padding:3px 10px;font-size:.76rem;line-height:1.4}.admin-compact-page .admin-filter-bar-compact{gap:6px;margin-bottom:4px}.admin-compact-page .admin-filter-input{min-height:34px}.admin-compact-page .collapsible-panel-header,.admin-compact-page .collapsible-panel-body{padding:6px 10px}.whatsapp-send-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:#25d3660a;gap:8px;margin-top:12px;padding:12px;display:grid}.whatsapp-send-panel-header{flex-direction:column;gap:2px;display:flex}.whatsapp-send-panel-textarea{border:1px solid var(--line);border-radius:var(--radius-md);width:100%;min-height:200px;font:inherit;resize:vertical;color:var(--ink);background:#fff;padding:10px 12px;font-size:.88rem;line-height:1.4}.whatsapp-send-panel-actions{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.whatsapp-send-contact{grid-template-columns:auto auto;align-items:center;gap:6px 8px;display:grid}.whatsapp-send-contact-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);grid-column:1/-1;font-size:.66rem;font-weight:500}.whatsapp-send-contact-button{white-space:nowrap;text-decoration:none}.whatsapp-send-contact-number{font-size:.78rem}.whatsapp-send-panel-trailing{align-items:center;gap:8px;margin-left:auto;display:flex}@media(max-width:540px){.whatsapp-send-panel-actions{flex-direction:column;align-items:stretch}.whatsapp-send-contact{grid-template-columns:1fr}.whatsapp-send-contact-button{text-align:center;justify-content:center;width:100%}.whatsapp-send-panel-trailing{flex-direction:column;margin-left:0}.whatsapp-send-panel-trailing .ghost-button{text-align:center;justify-content:center;width:100%}.admin-compact-page .admin-compact-table th,.admin-compact-page .admin-compact-table td{padding:6px 8px}.admin-compact-page .admin-inline-button{padding:5px 12px;font-size:.8rem}}.admin-portal-root{--admin-canvas:#faf6ec;--admin-card:#fff;--admin-card-soft:#fbf8f1;--admin-line-soft:#11231e0a;--admin-card-shadow:0 1px 2px #11231e08, 0 0 0 1px #11231e1a;--admin-card-shadow-strong:0 2px 6px #11231e0d, 0 0 0 1px #11231e21;background:var(--admin-canvas);--checkbox-size:16px;font-family:Outfit,system-ui,-apple-system,sans-serif}.admin-portal-root.portal-app-shell-pinned,.admin-portal-root .portal-app-pinned-main,.admin-portal-root .portal-app-main,.admin-portal-root .portal-app-pinned-topbar{background:var(--admin-canvas)}.admin-portal-root .panel,.admin-portal-root .section-card{background:var(--admin-card);border-radius:var(--radius-md);box-shadow:var(--admin-card-shadow);border:0}.admin-portal-root .section-card-header,.admin-portal-root .section-card-actions{box-shadow:none;background:0 0;border:0;margin:0 0 4px;padding:0}.admin-portal-root .section-card-header h2{letter-spacing:0;text-transform:none;margin:0;font-size:.92rem;font-weight:600}.admin-portal-root .section-card-header{align-items:center}.admin-portal-root .section-card-header>div:first-child{margin:0}.admin-portal-root .primary-button{background:var(--sunset);color:#fff;box-shadow:none;border:0;padding:7px 14px;overflow:visible;transform:none}.admin-portal-root .primary-button:before,.admin-portal-root .primary-button:after{content:none;display:none}.admin-portal-root .primary-button:hover{filter:brightness(1.05);box-shadow:none;transform:none}.admin-portal-root .primary-button:active{filter:brightness(.95);box-shadow:none;transform:none}.admin-portal-root .primary-button:focus-visible{outline-offset:1px;outline:2px solid #17696f73}.admin-portal-root .ghost-button{background:var(--admin-card);border:0;padding:7px 14px;box-shadow:0 0 0 1px #11231e24}.admin-portal-root .ghost-button:hover{background:var(--admin-card-soft);box-shadow:0 0 0 1px #11231e3d}.admin-portal-root .ghost-button:focus-visible{outline-offset:1px;outline:2px solid #17696f59}.admin-portal-root .admin-inline-button{box-shadow:none;border-radius:var(--radius-xs);background:0 0;border:0;padding:2px 6px}.admin-portal-root .admin-inline-button:hover{background:#11231e0d}.admin-portal-root .collapsible-panel-header{padding:8px 12px}.admin-portal-root .collapsible-panel-body{padding:8px 12px 10px}.admin-portal-root .collapsible-panel-header h3,.admin-portal-root .collapsible-panel-header h4{margin:0;font-size:.92rem}.admin-portal-root .collapsible-panel-header p{margin:0;font-size:.78rem}.admin-portal-root .admin-class-manager-list{gap:6px}.admin-portal-root button.text-link{min-height:0}.admin-portal-root .admin-table button.text-link{min-height:0;padding:2px 6px}.admin-portal-root .page-container{gap:10px}.admin-portal-root .portal-app-pinned-sidebar{width:200px}.admin-portal-root .portal-app-pinned-sidebar-header{padding:8px 10px 6px}.admin-portal-root .portal-app-brand-eyebrow{letter-spacing:.08em;font-size:.6rem}.admin-portal-root .portal-app-brand-title{font-size:.95rem}.admin-portal-root .portal-app-pinned-search{padding:4px 8px 0}.admin-portal-root .portal-app-pinned-nav{gap:0;padding:2px 4px}.admin-portal-root .portal-app-pinned-nav .admin-sidebar-group{box-shadow:none;background:#fff;border:1px solid #11231e0f;border-radius:8px;gap:0;margin-bottom:4px;padding:2px}.admin-portal-root .portal-app-pinned-nav .admin-sidebar-link-active{color:var(--teal);background:#17696f24;font-weight:600}.admin-portal-root .portal-app-pinned-nav .admin-sidebar-link:hover{background:#17696f0f;border-color:#0000}.admin-portal-root .portal-app-pinned-sidebar{background:var(--admin-canvas);border-right:1px solid var(--admin-line-soft)}.admin-portal-root .portal-app-pinned-nav .admin-sidebar-group-label{letter-spacing:.1em;color:var(--ink-soft);margin:8px 8px 4px;font-size:.6rem;font-weight:600}.admin-portal-root .portal-app-pinned-nav .admin-sidebar-link{border-radius:5px;gap:8px;min-height:28px;padding:4px 8px;font-size:.78rem;line-height:1.2}.admin-portal-root .portal-app-pinned-nav .admin-sidebar-link-icon{flex:0 0 18px;width:18px;height:18px}.admin-portal-root .portal-app-pinned-footer{padding:6px}.admin-portal-root .admin-sidebar-account{gap:4px;padding:6px 8px}.admin-portal-root .admin-sidebar-account-label{font-size:.58rem}.admin-portal-root .portal-app-pinned-topbar{padding:6px 16px}.admin-portal-root .portal-app-main{--portal-pad-x:18px;--portal-pad-y:14px}.admin-portal-root .section-card{padding:8px 12px 10px}.admin-portal-root .section-card>.admin-table-shell{margin-top:0}.admin-portal-root .page-header-tight{gap:8px;margin-bottom:2px}.admin-portal-root .page-header-tight h2{margin:0;font-size:1.05rem}.admin-portal-root .page-header{box-shadow:none;background:0 0;border:0;gap:10px;margin-bottom:4px;padding:0}.admin-portal-root .page-header h2{margin:0;font-size:1.1rem}.admin-portal-root .page-header .eyebrow{letter-spacing:.08em;font-size:.62rem}.admin-portal-root .page-header p{margin:2px 0 0;font-size:.82rem}.admin-portal-root .admin-filter-bar-compact{gap:6px}.admin-portal-root .admin-filter-bar{gap:8px;padding:0}.admin-portal-root .admin-filter-field{gap:4px}.admin-portal-root .admin-filter-field>label,.admin-portal-root .admin-filter-field>span{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:.62rem;font-weight:500}.admin-portal-root .admin-filter-select,.admin-portal-root .admin-filter-input{padding:4px 8px;font-size:.82rem}.admin-portal-root .admin-inline-meta{gap:4px;font-size:.82rem}.admin-portal-root .primary-button,.admin-portal-root .ghost-button{border-radius:var(--radius-sm)}.admin-portal-root .primary-button{box-shadow:none}.admin-portal-root .admin-table{background:var(--admin-card);font-size:.86rem}.admin-portal-root .admin-table th{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);background:var(--admin-card-soft);border-bottom:1px solid var(--admin-line-soft);white-space:nowrap;padding:8px 12px;font-size:.66rem;font-weight:600}.admin-portal-root .admin-table td{border-bottom:1px solid var(--admin-line-soft)}.admin-portal-root .admin-compact-table th,.admin-portal-root .admin-compact-table td{padding:4px 10px}.admin-portal-root .admin-compact-table td{vertical-align:middle;height:34px;line-height:1.25}.admin-portal-root .admin-table tbody tr:hover{background:#17696f0d}.admin-portal-root .admin-table tbody tr.admin-expand-row:hover{box-shadow:none;background:0 0}.admin-portal-root .admin-table tbody tr.admin-expand-row>td{background:var(--admin-card-soft)}.admin-portal-root .admin-expand-row .admin-table tbody tr:hover{box-shadow:none}.admin-portal-root .admin-id-chip{color:var(--ink-soft);letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,monospace;font-size:.78rem}.admin-portal-root .admin-name-link{color:var(--ink);transition:color .12s var(--ease),border-color .12s var(--ease);border-bottom:1px solid #0000;font-weight:500;text-decoration:none}.admin-portal-root .admin-name-link:hover,.admin-portal-root .admin-name-link:focus-visible{color:var(--teal);border-bottom-color:currentColor;outline:none}.admin-portal-root .admin-sibling-jump{border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--bg-surface);width:22px;height:22px;color:var(--ink-soft);cursor:pointer;transition:background .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease);justify-content:center;align-items:center;margin-left:6px;padding:0;font-size:.78rem;line-height:1;display:inline-flex}.admin-portal-root .admin-sibling-jump:hover,.admin-portal-root .admin-sibling-jump:focus-visible{background:var(--teal-light);color:var(--teal);border-color:var(--teal);outline:none}.admin-portal-root .admin-sibling-jump:disabled{opacity:.4;cursor:default}.admin-portal-root .admin-filter-badge{border-radius:var(--radius-pill);min-width:28px;height:20px;color:var(--teal);letter-spacing:.04em;cursor:pointer;font-variant-numeric:tabular-nums;transition:background .12s var(--ease),filter .12s var(--ease);background:#17696f1f;border:0;justify-content:center;align-items:center;padding:0 8px;font-size:.7rem;font-weight:500;display:inline-flex}.admin-portal-root .admin-filter-badge:hover{background:#17696f33}.admin-portal-root .admin-filter-badge-neutral{color:var(--ink);background:#11231e12}.admin-portal-root .admin-filter-badge-neutral:hover{background:#11231e21}.admin-portal-root .admin-section-badge{border-radius:var(--radius-pill);letter-spacing:.06em;text-transform:uppercase;align-items:center;padding:2px 10px;font-size:.68rem;font-weight:500;display:inline-flex}.admin-portal-root .admin-section-badge-boys{color:var(--badge-boys);background:#3b82f61f}.admin-portal-root .admin-section-badge-girls{color:var(--badge-girls);background:#db27771f}.admin-portal-root .admin-section-badge-unknown{color:var(--ink-soft);background:#11231e0d}.admin-portal-root{--status-success:#15803d;--status-success-bg:#16a34a24;--status-warning:#a16207;--status-warning-bg:#f59e0b29;--status-danger:#b91c1c;--status-danger-bg:#dc26261f;--status-info:#1d4ed8;--status-info-bg:#3b82f61f;--badge-boys:#1d4ed8;--badge-girls:#9d174d;--status-neutral:var(--ink-soft);--status-neutral-bg:#11231e12}.admin-portal-root .badge{border-radius:var(--radius-pill);letter-spacing:.06em;text-transform:uppercase;padding:2px 10px;font-size:.68rem;font-weight:500}.admin-portal-root .badge-button{font:inherit;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:filter .14s var(--ease);background:0 0;border:0;font-size:.68rem;font-weight:500}.admin-portal-root .badge-button:hover,.admin-portal-root .badge-button:focus-visible{filter:brightness(.95);outline:none}.admin-portal-root .badge-button[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px}.admin-portal-root .badge-success{background:var(--status-success-bg);color:var(--status-success)}.admin-portal-root .badge-warning{background:var(--status-warning-bg);color:var(--status-warning)}.admin-portal-root .badge-danger{background:var(--status-danger-bg);color:var(--status-danger)}.admin-portal-root .badge-neutral{background:var(--status-neutral-bg);color:var(--status-neutral)}.admin-portal-root .badge-info{background:var(--status-info-bg);color:var(--status-info)}.admin-portal-root .admin-cell-year{color:var(--ink);font-weight:500}.admin-portal-root .admin-cell-age{color:var(--ink-soft);font-size:.78rem}.admin-portal-root .admin-tabular{font-variant-numeric:tabular-nums}:where(.admin-portal-root) strong{font-weight:600}.admin-portal-root .admin-name-id-superscript{color:var(--ink-faint);letter-spacing:.02em;vertical-align:baseline;margin-left:6px;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,monospace;font-size:.7rem;font-weight:400}.admin-portal-root .admin-contact-icon-button{border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--bg-surface);width:26px;height:26px;color:var(--ink-soft);cursor:pointer;transition:background .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease);justify-content:center;align-items:center;padding:0;font-size:.9rem;line-height:1;display:inline-flex}.admin-portal-root .admin-contact-icon-button:hover,.admin-portal-root .admin-contact-icon-button:focus-visible{background:var(--teal-light);color:var(--teal);border-color:var(--teal);outline:none}.admin-portal-root button.admin-section-badge{cursor:pointer;font:inherit;letter-spacing:.02em;transition:filter .12s var(--ease);border:0;font-size:.72rem;font-weight:500}.admin-portal-root button.admin-section-badge:hover,.admin-portal-root button.admin-section-badge:focus-visible{filter:brightness(.95);outline:none}.admin-portal-root .admin-form-shell{background:0 0;border:0;border-radius:0;gap:16px;padding:2px 0 0}.admin-portal-root .admin-form-section{border-bottom:1px solid var(--admin-line-soft);gap:0;margin-bottom:0;padding:0 0 8px}.admin-portal-root .admin-form-section h4{color:var(--ink-soft);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:600}.admin-portal-root .admin-form-section p{display:none}.admin-portal-root .admin-form-field{box-shadow:none;background:0 0;border:0;gap:5px;padding:0}.admin-portal-root .admin-form-field:focus-within{box-shadow:none;border:0}.admin-portal-root .admin-form-field>span{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;font-weight:600}.admin-portal-root .admin-form-field input:not([type=checkbox]):not([type=radio]),.admin-portal-root .admin-form-field select,.admin-portal-root .admin-form-field textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--admin-card);min-height:32px;box-shadow:none;padding:7px 10px;font-size:.88rem}.admin-portal-root .admin-form-field input:not([type=checkbox]):not([type=radio]):focus,.admin-portal-root .admin-form-field select:focus,.admin-portal-root .admin-form-field textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 2px #17696f2e}.admin-portal-root .admin-form-field textarea{resize:vertical;min-height:80px}.admin-portal-root .admin-form-actions{border-top:1px solid var(--admin-line-soft);margin-top:0;padding-top:12px}.admin-portal-root .admin-state-pills{border-radius:var(--radius-pill);background:var(--admin-card-soft);gap:0;padding:2px;display:inline-flex;box-shadow:inset 0 0 0 1px #11231e0d}.admin-portal-root .admin-state-pill{letter-spacing:.02em;color:var(--ink-soft);cursor:pointer;border-radius:var(--radius-pill);transition:background .12s var(--ease),color .12s var(--ease);background:0 0;border:0;padding:4px 12px;font-size:.74rem;font-weight:500}.admin-portal-root .admin-state-pill:hover{color:var(--ink)}.admin-portal-root .admin-state-pill-active{color:var(--ink);background:var(--admin-card);box-shadow:0 1px 2px #11231e14}.admin-portal-root .admin-state-pill-active.admin-state-pill-unpaid{color:#b91c1c}.admin-portal-root .admin-state-pill-active.admin-state-pill-partpaid{color:#a16207}.admin-portal-root .admin-state-pill-active.admin-state-pill-settled{color:#15803d}.admin-portal-root .db-panel-mini-row{flex-wrap:wrap;gap:14px;margin-top:4px;display:flex}.admin-portal-root .db-panel-mini-stat{color:var(--ink-soft);align-items:baseline;gap:4px;font-size:.74rem;display:inline-flex}.admin-portal-root .db-panel-mini-stat strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:600}.admin-portal-root .db-panel-mini-stat small{color:var(--ink-soft);letter-spacing:.04em;font-size:.7rem}.admin-portal-root .admin-mfilter{display:inline-block;position:relative}.admin-portal-root .admin-mfilter-button{border:1.5px solid var(--line-strong);background:var(--admin-card);min-height:34px;color:var(--ink);cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none;min-width:130px;max-width:240px;transition:background-color .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease);background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2317696f' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;border-radius:6px;padding:5px 24px 5px 11px;font-family:inherit;font-size:.82rem;overflow:hidden}.admin-portal-root .admin-mfilter-button:hover{border-color:var(--teal)}.admin-portal-root .admin-mfilter-button:focus-visible{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #17696f2e}.admin-portal-root .admin-mfilter-button-active{color:var(--teal);background-color:#17696f1a;border-color:#17696f73;font-weight:500}.admin-portal-root .admin-mfilter-pop{z-index:100;background:#fff;border:1px solid #11231e14;border-radius:6px;flex-direction:column;min-width:max-content;padding:0;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 16px #11231e1f}.admin-portal-root .admin-mfilter-item{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background 80ms var(--ease);white-space:nowrap;align-items:center;gap:6px;min-height:22px;padding:0 10px;font-size:.76rem;line-height:1;display:flex}.admin-portal-root .admin-mfilter-item:hover{background:#17696f0f}.admin-portal-root .admin-mfilter-item-checked{background:#17696f1a}.admin-portal-root .admin-mfilter-item-checked:hover{background:#17696f24}.admin-portal-root .admin-mfilter-item{--checkbox-size:14px}.admin-portal-root .admin-mfilter-item input[type=checkbox]{margin:0}.admin-portal-root .admin-mfilter-footer{border-top:1px solid #11231e14;margin-top:1px;padding:1px 10px}.admin-portal-root .admin-mfilter-clear{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:1px 0;font-size:.7rem;line-height:1.2}.admin-portal-root .admin-mfilter-clear:hover{color:var(--ink);text-decoration:underline}.admin-portal-root .admin-year-pill{border-radius:var(--radius-pill);background:var(--teal);color:#fff;letter-spacing:.04em;cursor:pointer;min-width:38px;height:20px;transition:filter .12s var(--ease),transform .12s var(--ease);border:0;justify-content:center;align-items:center;padding:0 8px;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,monospace;font-size:.7rem;font-weight:500;text-decoration:none;display:inline-flex}.admin-portal-root .admin-year-pill:hover,.admin-portal-root .admin-year-pill:focus-visible{filter:brightness(1.08);outline:none}.admin-portal-root .admin-year-pill-muted{color:var(--ink-soft);cursor:default;background:#11231e0f}.admin-portal-root .admin-year-program-card{border:1px solid var(--line-strong);background:var(--admin-card,#fff);color:inherit;transition:border-color .12s var(--ease),transform .12s var(--ease),box-shadow .12s var(--ease);border-radius:10px;padding:11px 14px;text-decoration:none;display:block}.admin-portal-root .admin-year-program-card:hover,.admin-portal-root .admin-year-program-card:focus-visible{border-color:var(--teal);outline:none;transform:translateY(-1px);box-shadow:0 2px 10px #11231e12}.admin-portal-root .admin-year-program-card:focus-visible{box-shadow:0 0 0 2px #17696f59}.admin-portal-root .admin-stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.admin-portal-root .admin-stat-card{background:var(--admin-card);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:none;gap:4px;padding:14px 16px;display:grid}.admin-portal-root .admin-stat-card-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-size:.66rem;font-weight:500}.admin-portal-root .admin-stat-card-value{color:var(--ink);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:500}.admin-portal-root .admin-stat-card-value-danger{color:var(--sunset)}.admin-portal-root .admin-stat-card-sub{color:var(--ink-soft);font-size:.78rem}.admin-portal-root .admin-breadcrumb{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:2px;margin:0 0 6px;font-size:.8rem;display:flex}.admin-portal-root .admin-breadcrumb a,.admin-portal-root .admin-breadcrumb-link{min-height:28px;color:var(--ink-soft);border-bottom:1px solid #0000;border-radius:6px;align-items:center;margin-left:-6px;padding:2px 6px;text-decoration:none;display:inline-flex;box-shadow:inset 0 -1px}@supports (color:color-mix(in lab,red,red)){.admin-portal-root .admin-breadcrumb a,.admin-portal-root .admin-breadcrumb-link{box-shadow:inset 0 -1px color-mix(in srgb,currentColor 35%,transparent)}}.admin-portal-root .admin-breadcrumb a:hover,.admin-portal-root .admin-breadcrumb-link:hover{color:var(--teal);background:currentColor}@supports (color:color-mix(in lab,red,red)){.admin-portal-root .admin-breadcrumb a:hover,.admin-portal-root .admin-breadcrumb-link:hover{background:color-mix(in srgb,currentColor 8%,transparent)}}.admin-portal-root .admin-breadcrumb a:hover,.admin-portal-root .admin-breadcrumb-link:hover{box-shadow:inset 0 -1px}.admin-portal-root .admin-breadcrumb a:focus-visible,.admin-portal-root .admin-breadcrumb-link:focus-visible{outline:2px solid var(--teal);outline-offset:1px}.admin-portal-root .admin-breadcrumb-sep{color:var(--ink-faint);-webkit-user-select:none;user-select:none;padding:0 2px}.admin-portal-root .admin-breadcrumb-current{color:var(--ink);padding:2px 0;font-weight:600}.admin-portal-root .admin-fee-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.admin-portal-root .admin-fee-card{background:var(--admin-card);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:none;gap:4px;padding:12px 14px;display:grid}.admin-portal-root .admin-fee-card-paid{background:#0f6b450f;border-color:#0f6b454d}.admin-portal-root .admin-fee-card-part{background:#a35c000f;border-color:#a35c0052}.admin-portal-root .admin-fee-card-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);justify-content:space-between;gap:6px;font-size:.62rem;font-weight:500;display:flex}.admin-portal-root .admin-fee-card-value{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:500}.admin-portal-root .admin-fee-card-sub{color:var(--ink-soft);font-size:.74rem}.admin-portal-root .admin-detail-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.admin-portal-root .admin-detail-header h2{flex-wrap:wrap;align-items:center;gap:10px;margin:0;display:flex}.admin-portal-root .admin-detail-header-actions{flex-wrap:wrap;gap:6px;display:flex}.admin-portal-root .admin-detail-subtitle{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:.84rem;display:flex}.admin-portal-root .admin-student-shell{gap:12px}.admin-portal-root .admin-student-header{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.admin-portal-root .admin-student-header-with-family{grid-template-columns:minmax(0,1fr) minmax(280px,360px)}.admin-portal-root .admin-student-header-main{background:var(--admin-card);border-radius:var(--radius-md);box-shadow:var(--admin-card-shadow);flex-direction:column;justify-content:center;gap:8px;padding:12px 14px;display:flex}.admin-portal-root .admin-student-header-title-row{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.admin-portal-root .admin-student-header-name{letter-spacing:-.01em;margin:0;font-size:1.4rem;font-weight:600}.admin-portal-root .admin-student-header-pills{flex-wrap:wrap;gap:6px;display:flex}.admin-portal-root .admin-student-header-pills .badge,.admin-portal-root .admin-student-header-pills .admin-section-badge{text-decoration:none}.admin-portal-root .admin-student-actions-bar{flex-wrap:wrap;gap:6px;display:flex}.admin-portal-root .admin-student-action{align-items:center;gap:5px;padding:5px 10px;font-size:.8rem;text-decoration:none;display:inline-flex}.admin-portal-root .admin-student-action span[aria-hidden=true]{font-size:.95rem}.admin-doc-menu-wrap{display:inline-flex;position:relative}.admin-doc-menu{z-index:30;background:var(--admin-card);min-width:220px;box-shadow:var(--admin-card-shadow-strong);border-radius:10px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);left:0}.admin-doc-menu-item{font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 10px;font-size:.82rem;font-weight:600;display:flex}.admin-doc-menu-item:hover{background:var(--teal-light)}.admin-doc-menu-right{left:auto;right:0}.admin-doc-menu-hint{color:var(--ink-soft);font-size:.72rem;font-weight:400}.admin-portal-root .admin-student-info-strip{background:var(--admin-card);border-radius:var(--radius-md);box-shadow:var(--admin-card-shadow);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;padding:10px 14px;display:grid}.admin-portal-root .admin-student-info-cell{gap:2px;min-width:0;display:grid}.admin-portal-root .admin-student-info-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-size:.62rem;font-weight:500}.admin-portal-root .admin-student-info-value{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;font-weight:500;overflow:hidden}.admin-portal-root .admin-family-panel{background:var(--admin-card);border-radius:var(--radius-md);box-shadow:var(--admin-card-shadow);flex-direction:column;align-self:stretch;gap:6px;min-height:0;padding:10px 12px;display:flex;overflow:hidden}.admin-portal-root .admin-family-panel-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.admin-portal-root .admin-family-panel-title{margin:0;font-size:.95rem;font-weight:600}.admin-portal-root .admin-family-panel-toggle{padding:4px 10px;font-size:.78rem}.admin-portal-root .admin-family-panel-meta{color:var(--ink-soft);font-size:.78rem}.admin-portal-root .admin-family-cards-grid{flex:auto;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-content:start;gap:6px;min-height:0;display:grid;overflow-y:auto}.admin-portal-root .admin-family-card{background:var(--admin-card-soft);border-radius:var(--radius-sm);color:inherit;transition:background .12s var(--ease);gap:1px;padding:6px 8px;text-decoration:none;display:grid}.admin-portal-root .admin-family-card:hover{background:#17696f14}.admin-portal-root .admin-family-card-top{align-items:center;gap:8px;display:flex}.admin-portal-root .admin-family-card-name{color:var(--ink);font-size:.86rem;font-weight:500}.admin-portal-root .admin-family-card-meta{color:var(--ink-soft);margin-left:0;font-size:.74rem}.admin-portal-root .admin-family-card-outstanding{font-size:.74rem;font-weight:500}.admin-portal-root .admin-family-card-outstanding-due{color:#b91c1c}.admin-portal-root .admin-family-card-outstanding-paid{color:#15803d}.admin-portal-root .admin-family-card-outstanding-none{color:var(--ink-faint);font-weight:500}.admin-portal-root .admin-family-panel-former{color:var(--ink-faint);margin:0;font-size:.74rem}.admin-portal-root .admin-family-agreements-body{gap:8px;margin-top:4px;display:grid}.admin-portal-root .admin-family-agreements-summary{color:var(--ink-soft);margin:0;font-size:.82rem}.admin-portal-root .admin-family-agreements-banner{background:var(--admin-card);border-radius:var(--radius-md);box-shadow:var(--admin-card-shadow);gap:8px;padding:12px 14px;display:grid}.admin-portal-root .admin-family-agreements-banner-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.admin-portal-root .admin-family-agreements-banner-meta{color:var(--ink-soft);font-size:.82rem}.admin-portal-root .admin-student-info-address{align-items:center;gap:4px;min-width:0;display:inline-flex}.admin-portal-root .admin-student-info-pin{flex-shrink:0;font-size:.9rem;text-decoration:none}.admin-portal-root .admin-student-info-address-text{color:inherit;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #0000;text-decoration:none;overflow:hidden}.admin-portal-root .admin-student-info-address-text:hover{border-bottom-color:currentColor}@media(max-width:880px){.admin-portal-root .admin-student-header{grid-template-columns:1fr}}.admin-portal-root .admin-modal,.admin-portal-root.modal-open .admin-modal{border-radius:var(--radius-md);box-shadow:0 8px 30px #11231e2e,0 0 0 1px #11231e14}.admin-portal-root .admin-modal-header{padding:14px 18px 8px}.admin-portal-root .admin-modal-header h3{letter-spacing:-.005em;font-size:1rem;font-weight:600}.admin-portal-root .admin-modal-header p{font-size:.82rem}.admin-portal-root .admin-modal-body{gap:10px;padding:0 18px 16px}.admin-modal{border-radius:var(--radius-md);font-family:Outfit,system-ui,-apple-system,sans-serif;box-shadow:0 8px 30px #11231e2e,0 0 0 1px #11231e14}.admin-modal-header{padding:14px 18px 8px}.admin-modal-header h3{letter-spacing:-.005em;font-size:1rem;font-weight:600}.admin-modal-header p{font-size:.82rem}.admin-modal-body{gap:10px;padding:0 18px 16px}.admin-modal-close{color:#11231e8c;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:1rem;line-height:1;transition:background .12s,color .12s;display:inline-flex}.admin-modal-close:hover{color:#11231ee6;background:#11231e0f}.admin-modal-close:focus-visible{outline-offset:1px;outline:2px solid #17696f73}.admin-modal{--checkbox-size:16px}.admin-modal .admin-form-shell{background:0 0;border:0;gap:14px;padding:2px 0 0}.admin-modal .admin-form-field{box-shadow:none;background:0 0;border:0;gap:5px;padding:0}.admin-modal .admin-form-field>span{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:.62rem;font-weight:600}.admin-modal .admin-form-field input:not([type=checkbox]):not([type=radio]),.admin-modal .admin-form-field select,.admin-modal .admin-form-field textarea{min-height:32px;box-shadow:none;background:#fff;border:1px solid #11231e1f;border-radius:6px;padding:7px 10px;font-size:.88rem}.admin-modal .admin-form-field input:not([type=checkbox]):not([type=radio]):focus,.admin-modal .admin-form-field select:focus,.admin-modal .admin-form-field textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 2px #17696f2e}.admin-modal .admin-form-actions{z-index:10;background:var(--bg-surface,#fff);border-top:1px solid #11231e0f;margin-top:4px;padding-top:12px;padding-bottom:12px;position:sticky;bottom:0}.admin-modal .primary-button{background:var(--sunset);color:#fff;box-shadow:none;border:0;padding:7px 14px;transform:none}.admin-modal .primary-button:hover{filter:brightness(1.05);box-shadow:none;transform:none}.admin-modal .primary-button:before,.admin-modal .primary-button:after{content:none;display:none}.admin-modal .ghost-button{background:#fff;border:0;padding:7px 14px;box-shadow:0 0 0 1px #11231e14}.admin-portal-root .whatsapp-send-panel{background:0 0;border:0;border-radius:0;gap:10px;margin-top:0;padding:0;display:grid}.admin-portal-root .whatsapp-send-panel-header{flex-direction:column;gap:2px;display:flex}.admin-portal-root .whatsapp-send-panel-header strong{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:.66rem;font-weight:600}.admin-portal-root .whatsapp-send-panel-header .text-muted{color:var(--ink-soft);font-size:.78rem!important}.admin-portal-root .whatsapp-send-panel-textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--admin-card);min-height:240px;box-shadow:none;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,monospace;font-size:.82rem;line-height:1.45}.admin-portal-root .whatsapp-send-panel-textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 2px #17696f2e}.admin-portal-root .whatsapp-send-panel-actions{border-top:1px solid var(--admin-line-soft);flex-wrap:wrap;align-items:flex-end;gap:10px;padding-top:8px;display:flex}.admin-portal-root .whatsapp-send-contact{background:0 0;grid-template-columns:1fr;gap:4px;padding:0;display:grid}.admin-portal-root .whatsapp-send-contact-eyebrow{letter-spacing:.1em;color:var(--ink-soft);font-size:.6rem;font-weight:600}.admin-portal-root .whatsapp-send-contact-button.primary-button{color:#fff;border-radius:var(--radius-sm);box-shadow:none;background:#15803d;padding:6px 12px;font-size:.82rem}.admin-portal-root .whatsapp-send-contact-button.primary-button:hover{filter:brightness(1.06)}.admin-portal-root .whatsapp-send-contact-number{color:var(--ink-soft);font-size:.74rem}.admin-portal-root .whatsapp-send-panel-trailing{align-items:center;gap:6px;margin-left:auto;display:flex}.contact-modal-stack{gap:14px;display:grid}.contact-modal-section{gap:4px;display:grid}.contact-modal-section-head{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);font-size:.62rem;font-weight:600}.contact-modal-table{border-collapse:collapse;width:100%;font-size:.86rem}.contact-modal-table th,.contact-modal-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #11231e0f;padding:6px 12px 6px 0}.contact-modal-table tr:last-child th,.contact-modal-table tr:last-child td{border-bottom:0}.contact-modal-table th{text-transform:uppercase;letter-spacing:.08em;width:78px;color:var(--ink-soft);font-size:.66rem;font-weight:600}.contact-modal-table td{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.contact-modal-value{color:var(--ink);font-weight:500}.contact-modal-relationship{color:var(--ink-soft);font-size:.78rem}.contact-modal-empty{color:#11231e66;font-size:.84rem}.contact-modal-wa{color:#15803d;border-bottom:1px solid #0000;align-items:center;gap:6px;padding:1px 0;text-decoration:none;display:inline-flex}.contact-modal-wa:hover{border-bottom-color:currentColor}.contact-modal-email{color:var(--ink,#11231e);word-break:break-all;border-bottom:1px solid #0000;text-decoration:none}.contact-modal-email:hover{border-bottom-color:#11231e66}.contact-modal-iconbtn{color:#11231e8c;cursor:pointer;background:0 0;border:0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-left:auto;padding:0;font-size:.88rem;display:inline-flex}.contact-modal-iconbtn:hover{color:var(--ink,#11231e);background:#11231e0f}.admin-portal-root .agreement-progress{gap:6px;margin:14px 0 2px;display:grid}.admin-portal-root .agreement-progress-label{color:var(--ink-soft);justify-content:space-between;align-items:baseline;font-size:.85rem;display:flex}.admin-portal-root .agreement-progress-label strong{color:var(--ink);font-variant-numeric:tabular-nums}.admin-portal-root .agreement-progress-track{background:var(--line);border-radius:999px;height:8px;overflow:hidden}.admin-portal-root .agreement-progress-fill{background:var(--teal);border-radius:999px;height:100%;transition:width .4s}.admin-portal-root .agreement-progress-fill-settled{background:#0f6b45}.admin-portal-root .primary-button,.admin-portal-root .ghost-button{font-size:.8rem;font-weight:500}.admin-portal-root .status-pill,.admin-portal-root .badge{font-weight:500}.admin-portal-root .admin-report-auto{background:var(--admin-card-soft);border-radius:var(--radius-sm);margin-bottom:12px;padding:10px 12px}.admin-portal-root .admin-report-auto-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:8px;font-size:.66rem;font-weight:600;display:inline-block}.admin-portal-root .admin-report-section{border-top:1px solid var(--admin-line-soft);padding:10px 0}.admin-portal-root .admin-report-section-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.admin-portal-root .admin-report-ratings{flex-wrap:wrap;gap:6px 16px;margin-bottom:4px;font-size:.85rem;display:flex}.admin-portal-root .admin-report-fields{margin-bottom:4px;font-size:.85rem}.admin-portal-root .admin-report-comment{color:var(--ink);margin:6px 0;font-size:.88rem}.admin-portal-root .admin-report-edit-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:10px;display:grid}.admin-portal-root .report-window-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-portal-root .report-window-tab{border:1px solid var(--admin-line-soft);background:var(--admin-card);border-radius:var(--radius-md);cursor:pointer;transition:border-color .14s var(--ease),background .14s var(--ease);align-items:center;gap:8px;padding:7px 14px;display:inline-flex}.admin-portal-root .report-window-tab:hover{border-color:var(--teal)}.admin-portal-root .report-window-tab.is-active{border-color:var(--teal);background:var(--teal-light)}.admin-portal-root .report-window-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.admin-portal-root .report-window-dot.is-open{background:var(--gold)}.admin-portal-root .report-window-dot.is-locked{background:var(--ink-faint)}.admin-portal-root .report-window-tab-title{color:var(--ink);font-size:.9rem;font-weight:600}.admin-portal-root .report-window-tab-meta{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-size:.7rem}.admin-portal-root .report-window-new{border:1px dashed var(--line-strong);border-radius:var(--radius-md);color:var(--teal);cursor:pointer;transition:background .14s var(--ease);background:0 0;padding:7px 14px;font-size:.85rem;font-weight:500}.admin-portal-root .report-window-new:hover{background:var(--teal-light)}.admin-portal-root .report-overview{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.admin-portal-root .report-overview-stat{flex-direction:column;flex-shrink:0;display:flex}.admin-portal-root .report-overview-pct{color:var(--teal);font-size:2.1rem;font-weight:700;line-height:1.05}.admin-portal-root .report-overview-pct-label{color:var(--ink-soft);font-size:.75rem}.admin-portal-root .report-overview-detail{flex-direction:column;flex:1;gap:8px;min-width:240px;display:flex}.admin-portal-root .report-overview-bar{height:12px}.admin-portal-root .report-overview-counts{flex-wrap:wrap;align-items:center;gap:8px;font-size:.85rem;display:flex}.admin-portal-root .report-workspace{grid-template-columns:290px minmax(0,1fr);align-items:start;gap:16px;display:grid}.admin-portal-root .report-class-rail-wrap{position:sticky;top:12px}.admin-portal-root .report-class-rail{flex-direction:column;gap:6px;max-height:72vh;padding-right:2px;display:flex;overflow-y:auto}.admin-portal-root .report-class-card{text-align:left;border:1px solid var(--admin-line-soft);background:var(--admin-card);border-radius:var(--radius-md);cursor:pointer;font:inherit;transition:border-color .14s var(--ease),background .14s var(--ease);flex-direction:column;flex-shrink:0;gap:4px;padding:9px 11px;display:flex}.admin-portal-root .report-class-card:hover{border-color:var(--teal)}.admin-portal-root .report-class-card.is-active{border-color:var(--teal);background:var(--teal-light)}.admin-portal-root .report-class-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.admin-portal-root .report-class-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.admin-portal-root .report-class-count{color:var(--ink-soft);flex-shrink:0;font-size:.8rem}.admin-portal-root .report-class-count.is-complete{color:var(--teal);font-weight:600}.admin-portal-root .report-class-teacher{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.admin-portal-root .report-class-bar{border-radius:var(--radius-pill);background:var(--line);height:8px;display:flex;overflow:hidden}.admin-portal-root .report-class-bar-done{background:var(--teal)}.admin-portal-root .report-class-bar-partial{background:var(--gold)}.admin-portal-root .report-class-pct{color:var(--ink-soft);white-space:nowrap;font-size:.72rem}.admin-portal-root .report-students-panel{min-width:0}.admin-portal-root .report-toolbar-spacer{flex:1}.admin-portal-root .report-shown-count{margin:0 0 8px;font-size:.85rem}@media(max-width:900px){.admin-portal-root .report-workspace{grid-template-columns:1fr}.admin-portal-root .report-class-rail-wrap{position:static}.admin-portal-root .report-class-rail{max-height:260px}}.admin-portal-root .report-facet-chip{border:1px solid var(--line-strong);background:var(--admin-card);border-radius:var(--radius-pill);height:30px;font:inherit;color:var(--ink-soft);cursor:pointer;transition:border-color .14s var(--ease),background .14s var(--ease),color .14s var(--ease);flex-shrink:0;align-items:center;gap:7px;padding:0 12px;font-size:.8rem;font-weight:500;display:inline-flex}.admin-portal-root .report-facet-chip:hover{border-color:var(--teal);color:var(--teal)}.admin-portal-root .report-facet-chip.is-active{border-color:var(--teal);background:var(--teal-light);color:var(--teal);font-weight:600}.admin-portal-root .report-facet-divider{background:var(--line-strong);flex-shrink:0;width:1px;height:18px}.admin-portal-root .admin-compact-page .report-overview{gap:14px}.admin-portal-root .admin-compact-page .report-overview-pct{font-size:1.6rem}.admin-portal-root .admin-compact-page .report-overview-detail{gap:5px;min-width:200px}.admin-portal-root .admin-compact-page .report-overview-bar{height:9px}.admin-portal-root .admin-compact-page .report-overview-counts{gap:6px;font-size:.8rem}.admin-portal-root .admin-compact-page .report-workspace{gap:10px}.admin-portal-root .admin-compact-page .report-class-rail{gap:4px}.admin-portal-root .admin-compact-page .report-class-card{gap:2px;padding:5px 9px}.admin-portal-root .admin-compact-page .report-class-bar{height:5px}.admin-portal-root .admin-compact-page .report-shown-count{margin-bottom:5px;font-size:.8rem}.admin-portal-root .admin-compact-page .report-students-panel .status-pill{padding:1px 8px;font-size:.68rem}.admin-portal-root .report-chip-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.admin-portal-root .report-chip-dot-submitted{background:var(--teal)}.admin-portal-root .report-chip-dot-in_progress{background:var(--gold)}.admin-portal-root .report-chip-dot-not_started{background:var(--ink-faint)}.admin-portal-root .report-workspace-filterbar{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;display:flex}.admin-portal-root .report-workspace-filterbar .ghost-button{align-items:center;height:30px;padding:0 14px;font-size:.8rem;display:inline-flex}.admin-portal-root .report-search{box-sizing:border-box;border:1px solid var(--line-strong);background:var(--admin-card);border-radius:var(--radius-pill);min-width:160px;height:30px;font:inherit;color:var(--ink);transition:border-color .14s var(--ease);flex:0 240px;padding:0 14px;font-size:.8rem}.admin-portal-root .report-search::placeholder{color:var(--ink-faint)}.admin-portal-root .report-search:focus{border-color:var(--teal);outline:none}.admin-portal-root .report-select-bar{border:1px solid var(--teal);background:var(--teal-light);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;padding:8px 12px;display:flex}.admin-portal-root .report-select-count{color:var(--teal);white-space:nowrap;font-size:.85rem;font-weight:600}.admin-portal-root .report-select-spacer{flex:1}.admin-portal-root .report-select-th{width:34px}.admin-portal-root .report-select-checkbox{cursor:pointer;vertical-align:middle}.admin-portal-root .report-row-selected td{background:var(--teal-light)}.admin-portal-root .report-select-bar-sticky{background:#eaf3f2;margin-top:10px;position:sticky;bottom:10px;box-shadow:0 4px 16px #11231e1f}.admin-portal-root a.admin-fee-card-link{color:inherit;cursor:pointer;transition:border-color .16s var(--ease),box-shadow .16s var(--ease),transform .16s var(--ease);text-decoration:none}.admin-portal-root a.admin-fee-card-link:hover{border-color:var(--teal,#11696f8c);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.admin-portal-root a.admin-fee-card-link:focus-visible{outline:2px solid var(--teal,#17696f);outline-offset:2px}.admin-portal-root .admin-fee-card-value{align-items:center;gap:7px;display:flex}.admin-portal-root .admin-fee-card-arrow{width:13px;height:13px;color:var(--teal,#17696f);opacity:.75;flex:none}.admin-portal-root a.admin-fee-card-link:hover .admin-fee-card-arrow{opacity:1}@media(prefers-reduced-motion:reduce){.admin-portal-root a.admin-fee-card-link:hover{transform:none}}.dsh,.dsh-modal{--dsh-card:#fffdf9;--dsh-card-soft:var(--bg-surface);--dsh-ring:0 0 0 1px #11231e17;--dsh-ring-strong:0 0 0 1px #11231e24;--dsh-lift:0 1px 2px #11231e0a, 0 10px 24px #11231e12;--dsh-1:4px;--dsh-2:6px;--dsh-3:8px;--dsh-4:10px;--dsh-5:12px;--dsh-6:16px;--dsh-7:20px;--dsh-8:26px;--dsh-radius:16px;--dsh-radius-sm:11px;--dsh-pad:18px;--dsh-gap:12px;--dsh-band:#0a5d2c;--dsh-ease:cubic-bezier(.22, 1, .36, 1);--dsh-fast:.16s;--dsh-slow:.34s}.dsh{gap:var(--dsh-gap);grid-template-columns:minmax(0,1fr);align-content:start;min-width:0;display:grid}.dsh>*{min-width:0}.admin-portal-root .dsh{--dsh-card:var(--admin-card,#fff);--dsh-card-soft:var(--admin-card-soft,#fbf8f1);--dsh-ring:var(--admin-card-shadow,0 0 0 1px #11231e1a);--dsh-ring-strong:var(--admin-card-shadow-strong,0 0 0 1px #11231e21)}@keyframes dsh-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.dsh>*{animation:dsh-rise var(--dsh-slow) var(--dsh-ease) backwards;animation-delay:calc(min(var(--dsh-i,0),8)*45ms)}@media(prefers-reduced-motion:reduce){.dsh>*{animation:none}}.dsh-greet{justify-content:space-between;align-items:flex-end;gap:var(--dsh-6);padding:var(--dsh-1) 0 var(--dsh-2);flex-wrap:wrap;display:flex}.dsh-greet-copy{min-width:0}.dsh-headrow{gap:var(--dsh-gap);grid-template-columns:minmax(0,1fr);align-items:end;display:grid}.dsh-headrow>*{min-width:0}@media(min-width:1080px){.dsh-headrow{align-items:center;gap:var(--dsh-6);grid-template-columns:minmax(0,1fr) minmax(310px,400px)}.dsh-headrow .dsh-greet{padding-bottom:0}.dsh-headrow:has(>:only-child){grid-template-columns:minmax(0,1fr)}}.dsh-eyebrow{margin:0 0 var(--dsh-1);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-faint);font-size:.66rem;font-weight:700}.dsh-title{letter-spacing:-.03em;color:var(--ink);margin:0;font-size:clamp(1.45rem,2.4vw,1.95rem);font-weight:700;line-height:1.12}.dsh-sub{margin:var(--dsh-2) 0 0;color:var(--ink-soft);max-width:62ch;font-size:.84rem;font-weight:450}.dsh-greet-actions{align-items:center;gap:var(--dsh-3);flex-wrap:wrap;display:flex}.dsh-greet-chips{align-items:center;gap:var(--dsh-2);margin-top:var(--dsh-3);flex-wrap:wrap;min-width:0;display:flex}.dsh-greet-chips .dsh-badge{white-space:normal;text-align:left;max-width:100%}.dsh-greet-avatar,.dsh-greet-end,.dsh-greet-end:empty{display:none}@media(max-width:960px){.dsh-greet{align-items:center;gap:var(--dsh-4);margin:calc(var(--portal-pad-y,14px) * -1) calc(var(--portal-pad-x,14px) * -1) 0;background:var(--dsh-band);box-shadow:0 -1px 0 0 var(--dsh-band);flex-wrap:nowrap;padding:18px 16px 20px;animation:none}.dsh-greet .dsh-eyebrow{letter-spacing:.01em;text-transform:none;color:#ffffffb8;margin-bottom:3px;font-size:.78rem;font-weight:500}.dsh-greet .dsh-title{letter-spacing:-.02em;color:#fff;font-size:1.3rem;font-weight:650}.dsh-greet .dsh-sub{display:none}.dsh-greet .dsh-greet-copy:not(:has(.dsh-eyebrow)) .dsh-sub{color:#ffffffd1;margin-top:2px;font-size:.78rem;display:block}.dsh-greet .dsh-badge{color:#fff;background:#ffffff29;box-shadow:inset 0 0 0 1px #ffffff38}.dsh-greet-end{flex:none;align-items:center;gap:8px;display:flex}.dsh-greet-bell .pchr-chip{color:#fff;cursor:pointer;width:42px;height:42px;transition:background var(--dsh-fast) var(--dsh-ease);background:#ffffff29;border:0;border-radius:50%;place-items:center;padding:0;display:grid;box-shadow:inset 0 0 0 1px #ffffff47}.dsh-greet-bell .pchr-chip:hover,.dsh-greet-bell .pchr-chip:active{background:#ffffff42}.dsh-greet-bell .pchr-chip:focus-visible{outline-offset:2px;outline:2px solid #fff}.dsh-greet-bell .pchr-chip svg{width:19px;height:19px}.dsh-greet-end{position:relative}.pchr .dsh-greet-bell .pchr-bell{position:static}.dsh-greet-avatar{color:#fff;letter-spacing:.02em;width:46px;height:46px;transition:background var(--dsh-fast) var(--dsh-ease);background:#ffffff29;border-radius:50%;flex:none;place-items:center;font-size:.88rem;font-weight:700;text-decoration:none;display:grid;box-shadow:inset 0 0 0 1px #ffffff47}.dsh-greet-avatar:hover,.dsh-greet-avatar:active{background:#ffffff42;text-decoration:none}.dsh-greet-avatar:focus-visible{outline-offset:2px;outline:2px solid #fff}}.admin-modal.dsh-modal .admin-modal-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dsh-modal .dsh-hours-form,.dsh-modal .dsh-hours-error{margin-inline:0}.dsh-modal .dsh-hours-form{border-top:0;padding-top:0}.dsh-hours{border-radius:var(--dsh-radius);background:var(--dsh-card);box-shadow:var(--dsh-ring);overflow:hidden}.dsh-hours-row{align-items:center;gap:var(--dsh-4);padding:var(--dsh-5) var(--dsh-6);display:flex}.dsh-hours-icon{width:42px;height:42px;color:var(--status-warning);background:var(--status-warning-bg);transition:color var(--dsh-slow) var(--dsh-ease),background var(--dsh-slow) var(--dsh-ease);border-radius:50%;flex:none;place-items:center;display:grid}.dsh-hours-done .dsh-hours-icon{color:var(--status-success);background:var(--status-success-bg)}.dsh-hours-copy{flex:auto;gap:2px;min-width:0;display:grid}.dsh-hours-title{letter-spacing:-.015em;color:var(--ink);font-size:.9rem;font-weight:650;line-height:1.25}.dsh-hours-meta{font-variant-numeric:tabular-nums;color:var(--ink-soft);font-size:.76rem;font-weight:450;line-height:1.3}.dsh-hours-action{border-radius:var(--radius-pill);background:var(--teal-light);min-height:38px;color:var(--teal);font:inherit;cursor:pointer;white-space:nowrap;transition:background var(--dsh-fast) var(--dsh-ease),transform 90ms var(--dsh-ease);border:0;flex:none;padding:8px 16px;font-size:.82rem;font-weight:650}.dsh-hours-action:hover{background:var(--teal-mid)}.dsh-hours-action:active{transform:translateY(1px)}.dsh-hours-action:focus-visible{box-shadow:var(--shadow-focus);outline:none}.dsh-hours-drawer{transition:grid-template-rows .26s var(--dsh-ease);grid-template-rows:0fr;display:grid}.dsh-hours-drawer[data-open=true]{grid-template-rows:1fr}.dsh-hours-drawer-inner{min-height:0;overflow:hidden}.dsh-hours-form{align-items:flex-end;gap:var(--dsh-4);margin:0 var(--dsh-6) var(--dsh-5);padding-top:var(--dsh-5);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.dsh-hours-field{gap:4px;display:grid}.dsh-hours-field>span{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-size:.66rem;font-weight:700}.dsh-hours-field>input{border:1px solid var(--line-strong);background:var(--dsh-card-soft);width:120px;min-height:40px;font:inherit;font-variant-numeric:tabular-nums;color:var(--ink);border-radius:11px;padding:8px 12px;font-size:.88rem}.dsh-hours-field>input:focus{border-color:var(--teal);box-shadow:var(--shadow-focus);outline:none}.dsh-hours-fixed{color:var(--ink-soft);margin:0;padding-bottom:11px;font-size:.8rem;font-weight:450}.dsh-hours-fixed strong{font-variant-numeric:tabular-nums;color:var(--ink)}.dsh-hours-other{color:var(--teal);white-space:nowrap;margin-left:auto;padding-bottom:10px;font-size:.78rem;font-weight:600;text-decoration:none}.dsh-hours-other:hover{text-decoration:underline}.dsh-hours-error{margin:0 var(--dsh-6) var(--dsh-5);color:var(--status-danger);font-size:.78rem;font-weight:500}.dsh-hours-form .primary-button{min-height:40px;padding:9px 20px;font-size:.82rem}@media(prefers-reduced-motion:reduce){.dsh-hours-drawer{transition:none}}.dsh-rail{align-items:center;gap:var(--dsh-3);padding:var(--dsh-5);border-radius:var(--dsh-radius);background:linear-gradient(135deg,var(--status-warning-bg),#a35c0009);box-shadow:0 0 0 1px var(--status-warning-border);display:flex}.dsh-rail-track{align-items:stretch;gap:var(--dsh-3);flex:auto;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));min-width:0;display:grid}.dsh-rail-label{align-self:center;align-items:center;gap:var(--dsh-2);padding-right:var(--dsh-2);letter-spacing:-.01em;color:var(--status-warning);white-space:nowrap;flex:none;font-size:.78rem;font-weight:700;display:inline-flex}.dsh-rail-item{justify-content:space-between;align-items:center;gap:var(--dsh-3);min-width:0;min-height:56px;padding:var(--dsh-4) var(--dsh-5);border-radius:var(--dsh-radius-sm);background:var(--dsh-card);box-shadow:var(--dsh-ring);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform var(--dsh-fast) var(--dsh-ease),box-shadow var(--dsh-fast) var(--dsh-ease);border:0;text-decoration:none;display:flex}.dsh-rail-item:hover{box-shadow:var(--dsh-ring-strong),var(--dsh-lift);text-decoration:none;transform:translateY(-2px)}.dsh-rail-item:focus-visible{box-shadow:var(--shadow-focus);outline:none}.dsh-rail-copy{gap:1px;min-width:0;display:grid}.dsh-rail-num{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.2rem;font-weight:700;line-height:1.05}.dsh-rail-text{color:var(--ink-soft);font-size:.72rem;font-weight:500;line-height:1.3}.dsh-chev{color:var(--ink-faint);transition:transform var(--dsh-fast) var(--dsh-ease),color var(--dsh-fast) var(--dsh-ease);flex:none}.dsh-rail-item:hover .dsh-chev,.dsh-row:hover .dsh-chev{color:var(--teal);transform:translate(2px)}.dsh-clear{align-items:center;gap:var(--dsh-3);padding:var(--dsh-5) var(--dsh-6);border-radius:var(--dsh-radius);background:var(--status-success-bg);box-shadow:0 0 0 1px var(--status-success-border);color:var(--ink);font-size:.84rem;font-weight:500;display:flex}.dsh-clear-tick{background:var(--status-success);color:#fff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid}.dsh-stats{gap:var(--dsh-4);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.dsh-stat{gap:var(--dsh-1);padding:var(--dsh-5) var(--dsh-6);border-radius:var(--dsh-radius-sm);background:var(--dsh-card);box-shadow:var(--dsh-ring);color:inherit;font:inherit;text-align:left;min-width:0;transition:transform var(--dsh-fast) var(--dsh-ease),box-shadow var(--dsh-fast) var(--dsh-ease);border:0;align-content:start;text-decoration:none;display:grid}a.dsh-stat,button.dsh-stat{cursor:pointer}a.dsh-stat:hover,button.dsh-stat:hover{box-shadow:var(--dsh-ring-strong),var(--dsh-lift);text-decoration:none;transform:translateY(-2px)}a.dsh-stat:focus-visible,button.dsh-stat:focus-visible{box-shadow:var(--shadow-focus);outline:none}.dsh-stat-head{align-items:center;gap:var(--dsh-2);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);font-size:.67rem;font-weight:700;display:flex}.dsh-stat-head svg{color:var(--teal);flex:none}.dsh-stat-value{letter-spacing:-.035em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;color:var(--ink);font-size:clamp(1.5rem,2.6vw,1.95rem);font-weight:600;line-height:1.05}.dsh-stat-note{color:var(--ink-soft);font-size:.74rem;font-weight:450;line-height:1.35}.dsh-grid{gap:var(--dsh-gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:stretch;display:grid}.dsh-grid-lead{gap:var(--dsh-gap);grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);align-items:start;display:grid}.dsh-span-2{grid-column:span 2}.dsh-col,.dsh-aside{gap:var(--dsh-gap);align-content:start;min-width:0;display:grid}.dsh-card{min-width:0;padding:var(--dsh-pad);border-radius:var(--dsh-radius);background:var(--dsh-card);box-shadow:var(--dsh-ring);flex-direction:column;display:flex;container-type:inline-size}.dsh-card-head{justify-content:space-between;align-items:flex-start;gap:var(--dsh-4);margin-bottom:var(--dsh-5);display:flex}.dsh-card-title{letter-spacing:-.015em;color:var(--ink);margin:0;font-size:.96rem;font-weight:650;line-height:1.25}.dsh-card-sub{color:var(--ink-soft);margin:3px 0 0;font-size:.75rem;font-weight:450;line-height:1.35}.dsh-card-actions{align-items:center;gap:var(--dsh-2);flex:none;display:flex}.dsh-card-foot{padding-top:var(--dsh-4);margin-top:auto}.dsh-icon{width:38px;height:38px;color:var(--teal);background:var(--teal-light);border-radius:11px;flex:none;place-items:center;display:grid}.dsh-icon-sunset{color:var(--sunset);background:var(--sunset-light)}.dsh-icon-gold{color:var(--gold);background:#a57a161a}.dsh-icon-berry{color:var(--berry);background:#7a2f5217}.dsh-list{display:grid}.dsh-row{justify-content:space-between;align-items:center;gap:var(--dsh-4);width:100%;min-height:56px;padding:var(--dsh-4) 0;border:0;border-bottom:1px solid var(--line);color:inherit;font:inherit;text-align:left;min-width:0;transition:background var(--dsh-fast) var(--dsh-ease);background:0 0;text-decoration:none;display:flex}.dsh-row:last-child{border-bottom:0}a.dsh-row,button.dsh-row{cursor:pointer}a.dsh-row:hover,button.dsh-row:hover{background:linear-gradient(90deg,var(--teal-light),#17696f05);margin-inline:calc(var(--dsh-pad) * -1);padding-inline:var(--dsh-pad);text-decoration:none}a.dsh-row:focus-visible,button.dsh-row:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--dsh-radius-sm);outline:none}.dsh-row-lead{align-items:center;gap:var(--dsh-4);min-width:0;display:flex}.dsh-row-copy{gap:2px;min-width:0;display:grid}.dsh-row-title{-webkit-line-clamp:2;line-clamp:2;letter-spacing:-.01em;color:var(--ink);overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:.855rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.dsh-row-meta{-webkit-line-clamp:2;line-clamp:2;color:var(--ink-soft);-webkit-box-orient:vertical;font-size:.735rem;font-weight:450;line-height:1.3;display:-webkit-box;overflow:hidden}.dsh-row-end{align-items:center;gap:var(--dsh-3);flex:none;display:flex}.dsh-row-num{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:1rem;font-weight:650}.dsh-ring-mini{background:conic-gradient(var(--dsh-ring-stops,var(--line) 0 100%));border-radius:50%;flex:none;width:30px;height:30px;-webkit-mask:radial-gradient(closest-side,#0000 61%,#000 62%);mask:radial-gradient(closest-side,#0000 61%,#000 62%)}.dsh-avatar{background:var(--teal-light);width:34px;height:34px;color:var(--teal);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-size:.68rem;font-weight:700;display:grid}.dsh-badge{align-items:center;gap:var(--dsh-1);border-radius:var(--radius-pill);letter-spacing:.01em;white-space:nowrap;min-height:24px;color:var(--ink-soft);background:var(--status-neutral-bg);padding:3px 9px;font-size:.68rem;font-weight:700;display:inline-flex}.dsh-badge-ok{color:var(--status-success);background:var(--status-success-bg)}.dsh-badge-warn{color:var(--status-warning);background:var(--status-warning-bg)}.dsh-badge-danger{color:var(--status-danger);background:var(--status-danger-bg)}.dsh-badge-info{color:var(--teal);background:var(--teal-light)}.dsh-check-title{align-items:center;gap:var(--dsh-3);display:inline-flex}.dsh-dot{background:var(--teal);border-radius:50%;flex:none;width:7px;height:7px}.dsh-dot-warn{background:var(--status-warning)}.dsh-dot-danger{background:var(--status-danger)}.dsh-dot-done{background:var(--status-success)}.dsh-mini{gap:var(--dsh-2);grid-template-columns:repeat(auto-fit,minmax(84px,1fr));display:grid}.dsh-mini-cell{padding:var(--dsh-4) var(--dsh-4);border-radius:var(--dsh-radius-sm);background:var(--dsh-card-soft);color:inherit;font:inherit;text-align:left;min-width:0;transition:background var(--dsh-fast) var(--dsh-ease),transform var(--dsh-fast) var(--dsh-ease);border:0;gap:2px;text-decoration:none;display:grid}button.dsh-mini-cell,a.dsh-mini-cell{cursor:pointer}button.dsh-mini-cell:hover,a.dsh-mini-cell:hover{background:var(--teal-light);text-decoration:none;transform:translateY(-1px)}button.dsh-mini-cell:focus-visible,a.dsh-mini-cell:focus-visible{box-shadow:var(--shadow-focus);outline:none}.dsh-mini-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.25rem;font-weight:650;line-height:1.05}.dsh-mini-value-warn{color:var(--status-warning)}.dsh-mini-value-danger{color:var(--status-danger)}.dsh-mini-value-ok{color:var(--status-success)}.dsh-mini-label{color:var(--ink-soft);font-size:.69rem;font-weight:500;line-height:1.25}.dsh-bars{gap:var(--dsh-1);display:grid}.dsh-bar{align-items:center;gap:var(--dsh-4);width:100%;padding:var(--dsh-2) var(--dsh-2);margin-inline:calc(var(--dsh-2) * -1);border-radius:var(--dsh-radius-sm);color:inherit;font:inherit;text-align:left;transition:background var(--dsh-fast) var(--dsh-ease);background:0 0;border:0;grid-template-columns:minmax(0,1.35fr) minmax(48px,.9fr) auto;text-decoration:none;display:grid}button.dsh-bar:not(:disabled),a.dsh-bar{cursor:pointer}button.dsh-bar:not(:disabled):hover,a.dsh-bar:hover{background:var(--teal-light);text-decoration:none}button.dsh-bar:focus-visible,a.dsh-bar:focus-visible{box-shadow:var(--shadow-focus);outline:none}button.dsh-bar:disabled{cursor:default}.dsh-bar-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.79rem;font-weight:550;overflow:hidden}.dsh-bar-track{border-radius:var(--radius-pill);background:#11231e0f;height:6px;overflow:hidden}.dsh-bar-fill{border-radius:inherit;background:var(--teal);transform-origin:0;height:100%;animation:dsh-bar-grow .62s var(--dsh-ease) backwards}.dsh-bar-fill-warn{background:var(--status-warning)}.dsh-bar-fill-danger{background:var(--status-danger)}@keyframes dsh-bar-grow{0%{transform:scaleX(0)}to{transform:none}}@media(prefers-reduced-motion:reduce){.dsh-bar-fill{animation:none}}@container (max-width:340px){.dsh-bar{grid-template-columns:minmax(0,1fr) auto}.dsh-bar-track{display:none}}.dsh-bar-stat{font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;font-size:.76rem;font-weight:650}.dsh-bar-stat em{color:var(--ink-faint);font-style:normal;font-weight:500}.dsh-bar-stat em:before{content:"·";color:var(--line-strong);margin:0 5px}.dsh-hero{padding:var(--dsh-7);border-radius:var(--dsh-radius);background:radial-gradient(120% 140% at 100% 0%,#17696f24,transparent 58%),linear-gradient(150deg,#17696f17,var(--dsh-card) 62%);box-shadow:var(--dsh-ring),0 12px 32px #17696f17;position:relative;overflow:hidden}.dsh-hero-head{justify-content:space-between;align-items:flex-start;gap:var(--dsh-4);display:flex}.dsh-hero-title{letter-spacing:-.03em;color:var(--ink);margin:0;font-size:clamp(1.2rem,2vw,1.55rem);font-weight:650;line-height:1.15}.dsh-hero-meta{align-items:center;gap:var(--dsh-6);margin:var(--dsh-5) 0 0;color:var(--ink-soft);flex-wrap:wrap;font-size:.78rem;font-weight:500;display:flex}.dsh-hero-meta span{align-items:center;gap:var(--dsh-2);display:inline-flex}.dsh-hero-meta svg{color:var(--teal);flex:none}.dsh-hero-actions{align-items:center;gap:var(--dsh-3);margin-top:var(--dsh-6);flex-wrap:wrap;display:flex}.dsh-steps{gap:var(--dsh-3);margin:var(--dsh-6) 0 0;grid-template-columns:repeat(3,1fr);display:grid}.dsh-step{letter-spacing:.005em;color:var(--ink-faint);font-size:.71rem;font-weight:600}.dsh-step:before{content:"";height:4px;margin-bottom:var(--dsh-2);border-radius:var(--radius-pill);transition:background var(--dsh-slow) var(--dsh-ease);background:#11231e17;display:block}.dsh-step-now{color:var(--teal)}.dsh-step-now:before{background:var(--teal)}.dsh-step-done{color:var(--status-success)}.dsh-step-done:before{background:var(--status-success)}.dsh-tile{justify-content:space-between;align-items:center;gap:var(--dsh-4);padding:var(--dsh-4) var(--dsh-5);border-radius:var(--dsh-radius-sm);background:var(--dsh-card-soft);color:inherit;font:inherit;text-align:left;cursor:pointer;min-width:0;transition:background var(--dsh-fast) var(--dsh-ease),transform var(--dsh-fast) var(--dsh-ease);border:0;text-decoration:none;display:flex}.dsh-tile:hover{background:var(--teal-light);text-decoration:none;transform:translateY(-1px)}.dsh-tile:focus-visible{box-shadow:var(--shadow-focus);outline:none}.dsh-empty{padding:var(--dsh-6) 0;color:var(--ink-faint);text-align:center;margin:0;font-size:.8rem;font-weight:450}.dsh-note{color:var(--ink-faint);margin:0;font-size:.75rem;font-weight:450}.dsh-more{border-radius:var(--dsh-radius);background:var(--dsh-card);box-shadow:var(--dsh-ring)}.dsh-more>summary{justify-content:space-between;align-items:center;gap:var(--dsh-4);padding:var(--dsh-5) var(--dsh-pad);border-radius:var(--dsh-radius);letter-spacing:-.01em;color:var(--ink);cursor:pointer;font-size:.86rem;font-weight:600;list-style:none;display:flex}.dsh-more>summary::-webkit-details-marker{display:none}.dsh-more>summary::marker{content:""}.dsh-more>summary:hover{background:var(--dsh-card-soft)}.dsh-more>summary:focus-visible{box-shadow:var(--shadow-focus);outline:none}.dsh-more-hint{color:var(--ink-faint);font-size:.73rem;font-weight:450}.dsh-more-caret{color:var(--ink-faint);transition:transform var(--dsh-fast) var(--dsh-ease);flex:none}.dsh-more[open] .dsh-more-caret{transform:rotate(90deg)}.dsh-more-body{padding:0 var(--dsh-pad) var(--dsh-pad)}.dsh-scroll{-webkit-overflow-scrolling:touch;border-radius:var(--dsh-radius-sm);overflow-x:auto}@media(max-width:900px){.dsh-grid-lead{grid-template-columns:minmax(0,1fr)}.dsh-span-2{grid-column:auto}.dsh-aside{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}@media(max-width:960px){.dsh{--dsh-gap:10px;--dsh-pad:16px}.dsh-greet{align-items:flex-start}}@media(max-width:760px){.dsh{--dsh-pad:15px;--dsh-radius:15px}.dsh-greet{padding:16px 14px 18px}.dsh-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dsh-hero{padding:var(--dsh-6)}}@media(max-width:560px){.dsh-rail{padding:var(--dsh-4);display:block;position:relative;overflow:hidden}.dsh-rail:has(.dsh-rail-item:nth-child(2)):after{content:"";border-radius:0 var(--dsh-radius) var(--dsh-radius) 0;pointer-events:none;background:linear-gradient(90deg,#0000,#a35c001f);width:28px;position:absolute;top:0;bottom:0;right:0}.dsh-rail-item:only-child{width:100%}.dsh-rail-label{margin-bottom:var(--dsh-3);padding-right:0;display:flex}.dsh-rail-track{scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(var(--dsh-4) * -1);padding-inline:var(--dsh-4);scroll-padding-inline:var(--dsh-4);flex-wrap:nowrap;display:flex;overflow-x:auto}.dsh-rail-track::-webkit-scrollbar{display:none}.dsh-rail-item{scroll-snap-align:start;flex:none;width:min(72vw,240px)}.dsh-mini{grid-template-columns:repeat(2,minmax(0,1fr))}.dsh-bar{grid-template-columns:minmax(0,1fr) auto}.dsh-bar-track{display:none}.dsh-row{min-height:52px}.dsh-row-title{font-size:.83rem}.dsh-hero-actions{gap:var(--dsh-3);grid-template-columns:minmax(0,1fr);display:grid}.dsh-hero-actions>*{width:100%}}@media(max-width:430px){.dsh-greet .dsh-title{font-size:1.2rem}.dsh-greet-avatar{width:42px;height:42px;font-size:.82rem}.dsh-hours-row{padding:var(--dsh-4) var(--dsh-5);gap:var(--dsh-3)}.dsh-hours-icon{width:38px;height:38px}.dsh-hours-action{padding:7px 13px;font-size:.78rem}.dsh-hours-form{margin-inline:var(--dsh-5);gap:var(--dsh-3)}.dsh-hours-error{margin-inline:var(--dsh-5)}.dsh-hours-field{flex:120px}.dsh-hours-field>input{width:100%}.dsh-hours-form .primary-button{flex:100%}.dsh-hours-other{margin-left:0;padding-bottom:0}.dsh-stat{padding:var(--dsh-4) var(--dsh-5)}.dsh-stat-value{font-size:1.3rem}.dsh-stat-head{letter-spacing:.05em;font-size:.62rem}.dsh-stat-note{font-size:.68rem}}@media(max-width:380px){.dsh{--dsh-pad:13px}.dsh-steps{gap:var(--dsh-2)}.dsh-step{font-size:.66rem}.dsh-hero-meta{gap:var(--dsh-3) var(--dsh-5);font-size:.74rem}}@media(max-width:330px){.dsh-stats{grid-template-columns:minmax(0,1fr)}}.dsh-headrow>.portal-notice-slot{grid-column:1/-1}@media(min-width:1080px){.dsh-headrow>.portal-notice-slot{order:1}}@media(min-width:961px){.pchr{--pchr-bg-top:#0a5d2c;--pchr-bg-bottom:#063c1d;--pchr-line:#ffffff24;--pchr-ink:#fff;--pchr-ink-muted:#e3f1e8;--pchr-ink-faint:#bcd6c7;--pchr-mint:#bdead0;--pchr-mint-rgb:189, 234, 208;--pchr-tile:#ffffff29;--pchr-fill:#ffffff14;--pchr-fill-hover:#ffffff21;--pchr-fill-active:#ffffff2e;--pchr-width:248px;--pchr-topbar-height:60px}.pchr .portal-app-main{--portal-pad-x:22px;--portal-pad-y:32px;padding-left:calc(var(--portal-pad-x) + var(--sb-track,10px))}.portal-app-shell-pinned.pchr{grid-template-columns:var(--pchr-width) minmax(0,1fr)}.portal-app-shell-pinned.pchr .portal-app-pinned-sidebar{width:var(--pchr-width);background:linear-gradient(180deg,var(--pchr-bg-top) 0%,var(--pchr-bg-bottom) 100%);border-right:1px solid var(--pchr-line);box-shadow:none;color:var(--pchr-ink-muted);border-radius:0}.portal-app-shell-pinned.pchr .pchr-brand{height:var(--pchr-topbar-height);box-sizing:border-box;border-bottom:1px solid var(--pchr-line);align-items:center;gap:10px;padding:0 14px;display:flex}.pchr .pchr-logo{background:var(--pchr-tile);color:#fff;border-radius:10px;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;box-shadow:inset 0 1px #fff3}.pchr .pchr-logo-mark{width:27px;height:27px;display:block}.pchr .pchr-brand-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.pchr .pchr-brand-name{letter-spacing:-.01em;color:var(--pchr-ink);overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.94rem;font-weight:700;line-height:1.18;display:-webkit-box;overflow:hidden}.pchr .pchr-brand-role{color:var(--pchr-ink-faint);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:500;line-height:1.2;overflow:hidden}.portal-app-shell-pinned.pchr .portal-app-pinned-nav{gap:0;padding:10px 10px 6px}.portal-app-shell-pinned.pchr .portal-app-pinned-nav .admin-sidebar-group{box-shadow:none;background:0 0;border:0;gap:1px;margin:0 0 10px;padding:0}.portal-app-shell-pinned.pchr .portal-app-pinned-nav .admin-sidebar-group-label{letter-spacing:.08em;text-transform:uppercase;color:var(--pchr-ink-faint);margin:0 10px 4px;font-size:.64rem;font-weight:600}.portal-app-shell-pinned.pchr .portal-app-pinned-nav .admin-sidebar-link{min-height:32px;color:var(--pchr-ink-muted);background:0 0;border:1px solid #0000;border-radius:10px;gap:10px;padding:6px 10px;font-size:.84rem;font-weight:500;line-height:1.25}.portal-app-shell-pinned.pchr .portal-app-pinned-nav .admin-sidebar-link:hover{background:var(--pchr-fill);color:var(--pchr-ink);box-shadow:none;border-color:#0000;transform:none}.portal-app-shell-pinned.pchr .portal-app-pinned-nav .admin-sidebar-link:active{transform:none}.portal-app-shell-pinned.pchr .portal-app-pinned-nav .admin-sidebar-link-active,.portal-app-shell-pinned.pchr .portal-app-pinned-nav .admin-sidebar-link-active:hover{background:var(--pchr-fill-active);color:var(--pchr-ink);box-shadow:inset 0 0 0 1px rgba(var(--pchr-mint-rgb),.28);border-color:#0000;font-weight:600}.portal-app-shell-pinned.pchr .portal-app-pinned-nav .admin-sidebar-link-icon{opacity:.82;flex:0 0 18px;width:18px;height:18px}.portal-app-shell-pinned.pchr .portal-app-pinned-nav .admin-sidebar-link:hover .admin-sidebar-link-icon{opacity:1}.portal-app-shell-pinned.pchr .portal-app-pinned-nav .admin-sidebar-link-active .admin-sidebar-link-icon{opacity:1;color:var(--pchr-mint)}.portal-app-shell-pinned.pchr .portal-app-pinned-footer{border-top:1px solid var(--pchr-line);padding:10px}.portal-app-shell-pinned.pchr .admin-sidebar-account{background:var(--pchr-fill);border:1px solid var(--pchr-line);box-shadow:none;color:var(--pchr-ink);border-radius:10px;gap:8px;padding:10px}.pchr .admin-sidebar-account-label{color:var(--pchr-ink-faint)}.pchr .admin-sidebar-account strong{color:var(--pchr-ink);font-weight:600}.pchr .admin-sidebar-account .ghost-button{background:var(--pchr-fill);border:1px solid var(--pchr-line);color:var(--pchr-ink-muted)}.pchr .admin-sidebar-account .ghost-button:hover{background:var(--pchr-fill-hover);color:var(--pchr-ink)}.pchr .admin-sidebar-account .role-switcher-trigger{background:var(--pchr-fill);border-color:var(--pchr-line);color:var(--pchr-ink-muted)}.pchr .admin-sidebar-account .role-switcher-trigger:hover:not(:disabled){background:var(--pchr-fill-hover);border-color:rgba(var(--pchr-mint-rgb),.4)}.pchr .admin-sidebar-account .role-switcher-trigger>svg:first-child{color:var(--pchr-mint)}.pchr .pchr-topbar{z-index:30;height:var(--pchr-topbar-height);background:var(--pchr-bg-top);border-bottom:1px solid var(--pchr-line);align-items:center;gap:12px;padding:0 18px;display:flex;position:sticky;top:0}.pchr .pchr-search{flex:0 420px;min-width:0;display:flex}.pchr .pchr-search>*{flex:1;min-width:0}.pchr .pchr-topbar-end{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.pchr .portal-app-pinned-topbar{top:var(--pchr-topbar-height)}.pchr .pchr-search .cmd-trigger{border-radius:var(--radius-pill);border:1px solid var(--pchr-line);background:var(--pchr-fill);width:100%;min-width:0;height:38px;color:var(--pchr-ink-faint);padding:0 14px;font-size:.8rem}.pchr .pchr-search .cmd-trigger:hover{background:var(--pchr-fill-hover);border-color:rgba(var(--pchr-mint-rgb),.35);color:var(--pchr-ink);box-shadow:none;transform:none}.pchr .pchr-search .cmd-trigger-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pchr .pchr-search .cmd-trigger-kbd{background:var(--pchr-fill);border-color:var(--pchr-line);color:var(--pchr-ink-faint)}.pchr .pchr-chip{border:1px solid var(--pchr-line);background:var(--pchr-fill);width:40px;height:40px;color:var(--pchr-ink-muted);cursor:pointer;transition:background .16s var(--ease),border-color .16s var(--ease),color .16s var(--ease),transform .16s var(--ease);border-radius:50%;flex:0 0 40px;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex;position:relative}.pchr .pchr-chip:hover{background:var(--pchr-fill-hover);border-color:rgba(var(--pchr-mint-rgb),.4);color:var(--pchr-ink);transform:translateY(-1px)}.pchr .pchr-chip:active{transform:translateY(0)}.pchr .pchr-chip svg{width:18px;height:18px}.pchr .pchr-chip-dot{background:var(--sunset);width:8px;height:8px;box-shadow:0 0 0 2px var(--pchr-bg-top);border-radius:50%;position:absolute;top:8px;right:9px}.pchr .pchr-avatar{background:rgba(var(--pchr-mint-rgb),.16);border-color:rgba(var(--pchr-mint-rgb),.3);color:var(--pchr-mint);letter-spacing:.02em;font-size:.8rem;font-weight:700}.pchr .pchr-avatar:hover{background:rgba(var(--pchr-mint-rgb),.24);border-color:rgba(var(--pchr-mint-rgb),.5);color:var(--pchr-ink)}.pchr .portal-app-header{background:linear-gradient(180deg,var(--pchr-bg-top) 0%,var(--pchr-bg-bottom) 100%);-webkit-backdrop-filter:none;border-bottom:1px solid var(--pchr-line);box-shadow:none;color:var(--pchr-ink-muted)}.pchr .portal-app-brand-eyebrow{color:var(--pchr-ink-faint)}.pchr .portal-app-brand-title{color:var(--pchr-ink)}.pchr .portal-app-nav{background:var(--pchr-fill);border-color:var(--pchr-line)}.pchr .portal-app-nav-link{color:var(--pchr-ink-muted)}.pchr .portal-app-nav-link:hover{background:var(--pchr-fill-hover);color:var(--pchr-ink)}.pchr .portal-app-nav-link-active,.pchr .portal-app-nav-link-active:hover{background:var(--pchr-line);color:var(--pchr-mint);box-shadow:inset 0 0 0 1px rgba(var(--pchr-mint-rgb),.2)}.pchr .portal-app-header .portal-nav-dot{box-shadow:0 0 0 2px var(--pchr-bg-top)}.pchr .portal-app-user-chip{background:var(--pchr-fill);color:var(--pchr-ink-muted)}.pchr .portal-app-signout-btn{border-color:var(--pchr-line);color:var(--pchr-ink-muted)}.pchr .portal-app-signout-btn:hover{background:var(--pchr-fill-hover);color:var(--pchr-ink);border-color:#ffffff57}.pchr .portal-app-menu-btn{border-color:var(--pchr-line);color:var(--pchr-ink-muted)}.pchr .portal-app-menu-btn:hover{background:var(--pchr-fill-hover);border-color:rgba(var(--pchr-mint-rgb),.4);color:var(--pchr-mint)}.pchr .portal-app-header .role-switcher-trigger{background:var(--pchr-fill);border-color:var(--pchr-line);color:var(--pchr-ink-muted)}.pchr .portal-app-header .role-switcher-trigger:hover:not(:disabled){background:var(--pchr-fill-hover);border-color:rgba(var(--pchr-mint-rgb),.4)}.pchr .portal-app-header .role-switcher-trigger>svg:first-child{color:var(--pchr-mint)}.pchr .portal-app-header-extra .cmd-trigger{border-color:var(--pchr-line);background:var(--pchr-fill);color:var(--pchr-ink-faint)}.pchr .portal-app-header-extra .cmd-trigger:hover{background:var(--pchr-fill-hover);border-color:rgba(var(--pchr-mint-rgb),.35);color:var(--pchr-ink);box-shadow:none}.pchr .portal-app-header-extra .cmd-trigger-kbd{background:var(--pchr-fill);border-color:var(--pchr-line);color:var(--pchr-ink-faint)}.pchr .snv-slot{min-width:0}.pchr .snv-row{min-width:0;position:relative}.pchr .snv-row .admin-sidebar-link{box-sizing:border-box;width:100%}.pchr .snv-pin{width:24px;height:24px;color:var(--pchr-ink-faint);opacity:0;cursor:pointer;transition:opacity .12s var(--ease),background .12s var(--ease),color .12s var(--ease);background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.pchr .snv-row:hover .snv-pin,.pchr .snv-pin:focus-visible,.pchr .snv-pin-active{opacity:1}.pchr .snv-row:hover .cv-nav-badge,.pchr .snv-row:focus-within .cv-nav-badge{opacity:0}.pchr .snv-pin:hover{background:var(--pchr-fill-hover);color:var(--pchr-ink)}.pchr .snv-pin:disabled{opacity:0;cursor:default}.pchr .snv-row:hover .snv-pin:disabled{opacity:.35}.pchr .snv-pin-active{color:var(--pchr-mint)}.pchr .snv-pinned-target{box-shadow:inset 0 0 0 1px rgba(var(--pchr-mint-rgb),.35);border-radius:12px}.pchr .snv-row-dragging{opacity:.45}.pchr .snv-drop-line{background:var(--pchr-mint);border-radius:1px;height:2px;margin:1px 8px}.pchr .snv-hint,.pchr .snv-notice{color:var(--pchr-ink-faint);margin:2px 10px 6px;font-size:.72rem;line-height:1.35}.pchr .snv-notice{color:var(--pchr-mint)}.pchr .snv-dot{background:var(--sunset);border-radius:50%;flex:0 0 7px;width:7px;height:7px;box-shadow:0 0 0 2px #ffffff40}}.pchr .pchr-bell{position:relative}.pchr .pchr-chip-count{box-sizing:border-box;background:var(--sunset);color:#fff;min-width:17px;height:17px;box-shadow:0 0 0 2px var(--pchr-bg-top,var(--dsh-band,#0a5d2c));border-radius:9px;justify-content:center;align-items:center;padding:0 4px;font-size:.64rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-4px;right:-4px}.pchr .pchr-pop{z-index:60;width:380px;max-height:480px;color:var(--ink,#1f2a24);background:#fff;border:1px solid #0f3d2a24;border-radius:14px;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto;box-shadow:0 18px 44px #092a1a3d}.pchr .pchr-pop-head{border-bottom:1px solid #0f3d2a1a;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px 10px;font-size:.86rem;display:flex}.pchr .pchr-pop-head .text-link{font-size:.78rem}.pchr .pchr-pop-empty{color:#1f2a249e;margin:0;padding:22px 16px 24px;font-size:.82rem;line-height:1.5}.pchr .pchr-pop-list{gap:2px;margin:0;padding:6px;list-style:none;display:grid}.pchr .pchr-pop-item{color:inherit;border-radius:10px;align-items:flex-start;gap:10px;padding:9px 10px;text-decoration:none;display:flex}.pchr .pchr-pop-item:hover{background:#0a5d2c12}.pchr .pchr-pop-icon{color:#0a5d2c;background:#0a5d2c17;border-radius:9px;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;margin-top:1px;display:inline-flex}.pchr .pchr-pop-icon-notice{color:var(--sunset);background:#b9572b1a}.pchr .pchr-pop-icon-note{color:#1f2a24bf;background:#1f2a2412}.pchr .pchr-pop-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pchr .pchr-pop-title{color:#1f2a24;font-size:.82rem;font-weight:600;line-height:1.3}.pchr .pchr-pop-item-unread .pchr-pop-title{color:#143324}.pchr .pchr-pop-detail{color:#1f2a249e;overflow-wrap:anywhere;font-size:.76rem;line-height:1.35}.pchr .pchr-pop-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:5px;margin-top:1px;display:flex}.pchr .pchr-pop-when{white-space:nowrap;color:#1f2a2480;font-size:.68rem}.pchr .pchr-pop-dot{background:var(--sunset);border-radius:50%;width:8px;height:8px}.pchr .pchr-pop-foot{color:var(--teal);background:#f4f8f5;border-top:1px solid #0f3d2a1a;border-radius:0 0 13px 13px;justify-content:space-between;align-items:center;gap:10px;padding:11px 16px;font-size:.82rem;font-weight:600;text-decoration:none;display:flex;position:sticky;bottom:0}.pchr .pchr-pop-foot:hover{background:#0a5d2c17}.pchr .pchr-pop-foot:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}@media(max-width:960px){.pchr .pchr-pop{width:min(360px,100vw - 28px);max-height:min(60vh,420px)}.auth-shell,.portal-header,.portal-topbar,.page-header,.section-card-header,.stat-grid,.detail-grid,.list-row{grid-template-columns:1fr;display:grid}.screen-shell{padding:14px}.admin-shell{grid-template-columns:minmax(0,1fr);gap:12px}.admin-sidebar{z-index:60;border-radius:0 var(--radius-xl) var(--radius-xl) 0;width:min(82vw,300px);height:100vh;max-height:100vh;padding:16px 14px 20px;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(calc(-100% - 20px))}.admin-sidebar.admin-sidebar-open{transform:translate(0)}.admin-sidebar-shell-controls{top:3px}.admin-main-with-shell-control .page-container>.page-header:first-child,.admin-main-with-shell-control .admin-content>.portal-drawer-header:first-child{min-height:44px;padding-left:56px}.admin-filter-bar,.admin-dashboard-mix-grid,.admin-dashboard-mix-stats,.admin-profile-sections,.admin-profile-hero,.admin-header-profile,.admin-info-grid,.admin-finance-summary-grid,.admin-summary-card-row,.admin-form-grid,.admin-parent-summary-grid,.admin-class-assignment-row,.admin-class-subject-toolbar{grid-template-columns:1fr;display:grid}.admin-modal-backdrop{padding:10px}.admin-modal{max-height:calc(100vh - 20px)}.admin-modal-header,.admin-school-drilldown-form{grid-template-columns:1fr;display:grid}.portal-header-actions,.parent-nav,.admin-subnav-links,.teacher-students-grid,.admin-insight-row{width:100%}.admin-header-profile,.admin-filter-bar{align-items:stretch}.admin-header-profile{gap:8px}.admin-filter-bar>label,.admin-filter-bar>.admin-filter-field,.admin-filter-bar>.admin-teaching-group-filter,.admin-filter-bar>button,.admin-form-actions>button,.admin-subnav-action{width:100%}.admin-form-field{padding:12px}.admin-inline-meta{justify-items:start}.profile-chip{overflow-wrap:anywhere;max-width:100%}.admin-subnav{grid-template-columns:1fr;display:grid}.admin-subnav-body{grid-template-columns:1fr}.admin-subnav-context,.admin-subnav-context-copy{text-align:left;justify-items:start}.teacher-students-grid,.admin-insight-row,.admin-profile-sections,.ui-level-test-chart-grid{grid-template-columns:1fr}.admin-class-manager-row{grid-template-columns:1fr auto;align-items:center;gap:6px;display:grid}.admin-class-inline-field{grid-column:1/-1}.admin-class-row-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-start}.admin-class-student-row{flex-wrap:wrap}.admin-waiting-row{grid-template-columns:1fr;gap:6px}.admin-waiting-actions{justify-content:flex-start;padding-top:4px}.admin-class-row-summary{flex-direction:column;flex:none;align-items:flex-end;gap:2px}.admin-dashboard-mix-section,.admin-dashboard-mix-grid,.admin-dashboard-mix-stats{grid-template-columns:1fr}}@media(max-width:760px){.screen-shell{padding:10px}.panel,.auth-panel,.panel-center,.section-card,.empty-state{border-radius:var(--radius-lg);padding:12px}.admin-filter-bar{padding:12px}.collapsible-panel-body{padding:14px}.admin-table-shell{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-table{font-size:.82rem}.admin-table th,.admin-table td{white-space:nowrap;padding:6px 8px}.admin-table td.admin-table-cell-wrap,.admin-table td.admin-table-cell-wide{white-space:normal}.admin-table-mobile-rows-shell{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-table.admin-table-mobile-cards,.admin-table.admin-table-mobile-cards thead,.admin-table.admin-table-mobile-cards tbody,.admin-table.admin-table-mobile-cards tr,.admin-table.admin-table-mobile-cards td{width:100%;display:block}.admin-table.admin-table-mobile-cards{font-size:inherit}.admin-table.admin-table-mobile-cards thead{display:none}.admin-table.admin-table-mobile-cards tbody{grid-template-columns:1fr;gap:8px;display:grid}.admin-table.admin-table-mobile-cards tbody tr{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;gap:0;display:grid;overflow:hidden}.admin-table.admin-table-mobile-cards th,.admin-table.admin-table-mobile-cards td{white-space:normal;border:0;padding:0}.admin-table.admin-table-mobile-cards tbody tr td:first-child{border-bottom:1px solid var(--line);padding:12px 14px 11px;font-size:.94rem;display:block}.admin-table.admin-table-mobile-cards tbody tr td:first-child:before{display:none}.admin-table.admin-table-mobile-cards td{border-bottom:1px solid #11231e0b;grid-template-columns:82px 1fr;align-items:baseline;gap:10px;padding:6px 14px;display:grid}.admin-table.admin-table-mobile-cards td:before{content:attr(data-label);color:var(--ink-faint);letter-spacing:.09em;text-transform:uppercase;padding-top:2px;font-size:.67rem;font-weight:700}.admin-table.admin-table-mobile-cards td.admin-table-actions{background:#11231e05;border-top:1px solid #11231e0e;border-bottom:0;flex-wrap:wrap;gap:6px;padding:9px 14px 11px;display:flex}.admin-table.admin-table-mobile-cards td.admin-table-actions:before{display:none}.admin-modal-backdrop{padding:6px}.admin-modal{width:100%;max-height:calc(100vh - 12px)}.admin-form-actions{justify-content:stretch}.ui-level-test-bar-row{grid-template-columns:1fr}.ui-level-test-bar-value{text-align:left}.ui-level-test-pagination{justify-content:flex-start}.admin-subnav-links{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:3px;overflow-x:auto}.admin-subnav-link{white-space:nowrap;flex-shrink:0;padding:7px 14px;font-size:.82rem}.parent-nav{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:3px;overflow-x:auto}.parent-nav-link{white-space:nowrap;flex-shrink:0;padding:7px 14px;font-size:.82rem}.primary-button,.ghost-button{min-height:44px;padding:11px 20px}}img{-webkit-user-drag:none;user-drag:none}.lockdown-menu{z-index:9999;background:var(--bg-surface,#fff);border:1px solid var(--line-strong,#d6d3cc);border-radius:8px;min-width:140px;padding:4px;font-family:inherit;position:fixed;box-shadow:0 8px 24px #0000001f}.lockdown-menu__item{text-align:left;width:100%;font:inherit;color:var(--ink,#1b1b1b);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 14px;font-size:14px;display:block}.lockdown-menu__item:hover,.lockdown-menu__item:focus{background:var(--teal-light,#e6f4f1);color:var(--ink,#1b1b1b);outline:none}@layer theme{:root,:host{--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--blur-2xl:40px;--blur-3xl:64px;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-leaf-50:#ecfff2;--color-leaf-100:#d2fde0;--color-leaf-200:#a4f8c1;--color-leaf-300:#6cee9a;--color-leaf-400:#34dd72;--color-leaf-500:#15a04a;--color-leaf-600:#0e8a3f;--color-leaf-700:#0a6c33;--color-leaf-800:#0a5d2c;--color-leaf-900:#073e1e;--color-leaf-950:#032311;--color-cream:#faf7f1;--color-cream-100:#f5efe2;--color-cream-200:#ece4cf;--color-ink:#0d1f1a;--color-ink-soft:#2c4138;--color-ink-muted:#5b6f66;--color-ink-faint:#8e9c95;--color-gold-600:#ad8425;--color-clay-500:#b9572b;--color-line:#0d1f1a14;--color-line-strong:#0d1f1a29;--font-marketing-sans:"Outfit", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-marketing-display:"Instrument Serif", "Fraunces", Georgia, serif;--ease-out-quart:cubic-bezier(.22, 1, .36, 1);--ease-out-back:cubic-bezier(.34, 1.56, .64, 1)}}@layer base{.marketing-root *,.marketing-root :before,.marketing-root :after{box-sizing:border-box;border:0 solid var(--color-line)}.marketing-root h1,.marketing-root h2,.marketing-root h3,.marketing-root h4,.marketing-root h5,.marketing-root h6,.marketing-root p,.marketing-root figure,.marketing-root blockquote,.marketing-root dl,.marketing-root dd{margin:0}.marketing-root h1,.marketing-root h2,.marketing-root h3,.marketing-root h4,.marketing-root h5,.marketing-root h6{font-size:inherit;font-weight:inherit;letter-spacing:-.02em}.marketing-root a{color:inherit;background-color:#0000;text-decoration:none}.marketing-root a:hover{text-decoration:none}.marketing-root button,.marketing-root input,.marketing-root select,.marketing-root textarea{font-feature-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}.marketing-root button,.marketing-root [role=button]{cursor:pointer;background-color:#0000;background-image:none;border:0}.marketing-root button:disabled,.marketing-root [role=button]:disabled{cursor:not-allowed}.marketing-root ol,.marketing-root ul,.marketing-root menu{margin:0;padding:0;list-style:none}.marketing-root img,.marketing-root svg,.marketing-root video,.marketing-root canvas,.marketing-root audio,.marketing-root iframe,.marketing-root embed,.marketing-root object{vertical-align:middle;display:block}.marketing-root img,.marketing-root video{max-width:100%;height:auto}.marketing-root summary{cursor:pointer;list-style:none;display:list-item}.marketing-root summary::-webkit-details-marker{display:none}.marketing-root summary::marker{content:""}.marketing-root hr{height:0;color:inherit;border-top-width:1px}.marketing-root b,.marketing-root strong{font-weight:bolder}.marketing-root small{font-size:80%}.marketing-root abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.marketing-root mark{color:inherit;background-color:#0000}.marketing-root::selection{background:var(--color-leaf-500);color:#fff}.marketing-root ::selection{background:var(--color-leaf-500);color:#fff}}@layer components{.marketing-root .container-x{max-width:var(--container-7xl);padding-inline:calc(var(--spacing) * 5);margin-inline:auto}@media(min-width:40rem){.marketing-root .container-x{padding-inline:calc(var(--spacing) * 8)}}.marketing-root .eyebrow{align-items:center;gap:calc(var(--spacing) * 2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-tracking:.18em;letter-spacing:.18em;text-transform:uppercase;color:var(--color-leaf-700);display:inline-flex}.marketing-root .btn{justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));min-height:48px;transition:transform .22s var(--ease-out-quart),background .2s ease,color .2s ease,box-shadow .22s ease;border-radius:3.40282e38px;padding:0 28px;display:inline-flex}.marketing-root .btn:hover{transform:translateY(-1px)}.marketing-root .btn:active{transform:translateY(0)}.marketing-root .btn-primary{background:var(--color-leaf-500);color:#fff;box-shadow:0 1px #ffffff2e inset,0 8px 24px -8px var(--color-leaf-500)}.marketing-root .btn-primary:hover{background:var(--color-leaf-600);box-shadow:0 1px #ffffff2e inset,0 14px 32px -10px var(--color-leaf-500)}.marketing-root .btn-ghost{color:var(--color-ink);border:1px solid var(--color-line-strong);background:0 0}.marketing-root .btn-ghost:hover{border-color:var(--color-ink);background:#fff}.marketing-root .btn-dark{background:var(--color-ink);color:#fff}.marketing-root .btn-dark:hover{background:var(--color-leaf-800)}.marketing-root .pattern-arabesque{background-image:radial-gradient(circle at 25% 25%,#ffffff0f 1.5px,#0000 2px),radial-gradient(circle at 75% 75%,#ffffff0d 1px,#0000 2px),radial-gradient(circle,#ffffff0a 1px,#0000 2px);background-size:56px 56px,36px 36px,24px 24px}.marketing-root .nav-frosted{border-bottom:1px solid var(--color-line);background:#faf7f1}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.marketing-root .nav-frosted{-webkit-backdrop-filter:saturate(140%)blur(16px);backdrop-filter:saturate(140%)blur(16px);background:#faf7f1e0}}.marketing-root .card{border:1px solid var(--color-line);background:#fff;border-radius:24px;box-shadow:0 1px 3px #0d1f1a0a,0 12px 40px -16px #0d1f1a1a}.marketing-root .card-hover{transition:transform .32s var(--ease-out-quart),box-shadow .32s ease,border-color .22s ease}.marketing-root .card-hover:hover{border-color:var(--color-line-strong);transform:translateY(-4px);box-shadow:0 1px 3px #0d1f1a0a,0 24px 60px -16px #0d1f1a2e}.marketing-root .phone-frame{background:linear-gradient(#0a3a1d,#062611);border-radius:38px;padding:6px;box-shadow:inset 0 0 0 1px #ffffff0f,0 30px 60px -20px #0d1f1a73,0 0 80px -20px #15a04a59}.marketing-root .phone-screen{background:var(--color-cream);aspect-ratio:9/19.5;border-radius:32px;overflow:hidden}.marketing-root .device-frame{will-change:width,height,border-radius;background:linear-gradient(#0a3a1d,#062611);flex-direction:column;padding:6px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0f,0 30px 60px -20px #0d1f1a73,0 0 80px -20px #15a04a59}.marketing-root .device-screen{background:var(--color-cream);border-radius:inherit;flex:1;overflow:hidden}.marketing-root .device-frame[data-device=mobile] .device-screen{border-radius:32px}.marketing-root .device-frame[data-device=desktop] .device-screen{border-radius:0 0 8px 8px}.marketing-root .device-screen img,.marketing-root .device-screen video{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.marketing-root .device-frame[data-device=desktop] .device-screen img{object-fit:contain;object-position:center;background:var(--color-cream)}.marketing-root .browser-bar{background:linear-gradient(#ffffff05,#0000002e);border-bottom:1px solid #ffffff0d;border-top-left-radius:8px;border-top-right-radius:8px;flex-shrink:0;align-items:center;gap:7px;padding:10px 14px;display:flex}.marketing-root .browser-dot{border-radius:50%;width:11px;height:11px;box-shadow:inset 0 1px #00000040}.marketing-root .browser-dot-red{background:#ff5f57}.marketing-root .browser-dot-yellow{background:#febc2e}.marketing-root .browser-dot-green{background:#28c840}.marketing-root .browser-url{letter-spacing:.02em;color:#ffffff8c;white-space:nowrap;text-overflow:ellipsis;margin-left:12px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;overflow:hidden}.marketing-root .stat-num{font-family:var(--font-marketing-display);letter-spacing:-.04em;font-weight:400;line-height:.95}.marketing-root .hairline{background:var(--color-line);height:1px}.marketing-root .bg-mesh-leaf{background:radial-gradient(ellipse 80% 60% at 12% 0%,#15a04a2e,transparent 60%),radial-gradient(ellipse 60% 50% at 90% 10%,#c89b3c1a,transparent 65%),radial-gradient(ellipse 100% 60% at 50% 110%,#0a5d2c1a,transparent 70%),var(--color-cream)}.marketing-root .bg-deep-leaf{background:radial-gradient(ellipse 70% 60% at 20% 0%,#ffffff0a,transparent 60%),radial-gradient(ellipse 60% 60% at 100% 100%,#c89b3c1a,transparent 60%),linear-gradient(180deg,var(--color-leaf-800) 0%,var(--color-leaf-900) 100%)}.marketing-root .text-balance{text-wrap:balance}.marketing-root .text-pretty{text-wrap:pretty}@keyframes marketing-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes marketing-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.marketing-root .animate-float{animation:6s ease-in-out infinite marketing-float}.marketing-root .animate-rise{animation:marketing-rise .7s var(--ease-out-quart) both}.marketing-root .reveal{opacity:0;transition:opacity .7s var(--ease-out-quart),transform .7s var(--ease-out-quart);transform:translateY(18px)}.marketing-root .reveal.is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.marketing-root .reveal{opacity:1;transition:none;transform:none}}@media print{.marketing-root .reveal{opacity:1;transform:none}}.marketing-root .booking-card{border:1px solid var(--color-line);color:var(--color-ink);background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 1px 2px #0d1f1a0a,0 18px 50px -22px #0d1f1a38}.marketing-root .booking-rail{border-bottom:1px solid var(--color-line);background:#fff}.marketing-root .booking-rail-track{background:var(--color-cream-200);width:100%;height:4px}.marketing-root .booking-rail-fill{background:linear-gradient(90deg,var(--color-leaf-600),var(--color-leaf-400));height:100%}.marketing-root .booking-held{background:linear-gradient(180deg,var(--color-leaf-800),var(--color-leaf-900));align-items:center;gap:12px;padding:12px 20px;display:flex}@media(min-width:640px){.marketing-root .booking-held{padding-inline:36px}}.marketing-root .booking-held-dot{background:var(--color-leaf-400);border-radius:50%;flex:none;width:9px;height:9px;animation:2.6s ease-out infinite booking-pulse;box-shadow:0 0 #34dd728c}@keyframes booking-pulse{0%{box-shadow:0 0 #34dd7280}70%{box-shadow:0 0 0 9px #34dd7200}to{box-shadow:0 0 #34dd7200}}.marketing-root .booking-held-change{color:#fff;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:999px;flex:none;min-height:34px;padding:0 14px;font-size:12.5px;font-weight:600;transition:background .18s,border-color .18s}.marketing-root .booking-held-change:hover{background:#fff3;border-color:#ffffff73}.marketing-root .booking-input{border:1px solid var(--color-line-strong);width:100%;color:var(--color-ink);background:#fff;border-radius:14px;padding:13px 15px;font-size:16px;line-height:1.5;transition:border-color .16s,box-shadow .16s,background .16s}.marketing-root .booking-input::placeholder{color:var(--color-ink-faint)}.marketing-root .booking-input:hover{border-color:#0d1f1a47}.marketing-root .booking-input:focus{border-color:var(--color-leaf-500);outline:none;box-shadow:0 0 0 3px #15a04a29}.marketing-root .booking-input.is-missing{background:#b9572b08;border-color:#b9572b8c}.marketing-root .booking-tile{text-align:left;border:1px solid var(--color-line-strong);background:#fff;border-radius:16px;align-items:center;gap:12px;width:100%;min-height:54px;padding:11px 14px;transition:border-color .16s,background .16s,box-shadow .16s,transform .12s;display:flex}.marketing-root .booking-tile:hover{border-color:var(--color-leaf-400);background:var(--color-leaf-50)}.marketing-root .booking-tile:active{transform:scale(.99)}.marketing-root .booking-tile[data-on]{border-color:var(--color-leaf-500);background:var(--color-leaf-50);box-shadow:inset 0 0 0 1px var(--color-leaf-500)}.marketing-root .booking-tile[data-missing]{border-color:#b9572b66}.marketing-root .booking-tile-label{color:var(--color-ink);font-size:15px;font-weight:500;line-height:1.35}.marketing-root .booking-tile[data-on] .booking-tile-label{color:var(--color-leaf-900);font-weight:600}.marketing-root .booking-tick{border:1px solid var(--color-line-strong);background:#fff;flex:none;justify-content:center;align-items:center;width:22px;height:22px;transition:background .16s,border-color .16s;display:inline-flex}.marketing-root .booking-tick.is-box{border-radius:7px}.marketing-root .booking-tick.is-dot{border-radius:50%}.marketing-root .booking-tile[data-on] .booking-tick{background:var(--color-leaf-500);border-color:var(--color-leaf-500)}.marketing-root .booking-day{border:1px solid var(--color-line-strong);text-align:center;background:#fff;border-radius:18px;padding:11px 2px 10px;transition:border-color .16s,background .16s,box-shadow .2s,transform .12s}.marketing-root .booking-day:hover{border-color:var(--color-leaf-400);background:var(--color-leaf-50)}.marketing-root .booking-day:active{transform:scale(.98)}.marketing-root .booking-day[data-on]{background:linear-gradient(180deg,var(--color-leaf-500),var(--color-leaf-600));box-shadow:0 12px 24px -12px var(--color-leaf-500);border-color:#0000}.marketing-root .booking-day-wd{color:var(--color-ink-muted);font-size:11.5px;display:block}.marketing-root .booking-day-num{font-variant-numeric:tabular-nums;color:var(--color-ink);margin-top:2px;font-size:21px;font-weight:600;line-height:1;display:block}.marketing-root .booking-day-mo{color:var(--color-ink-faint);margin-top:3px;font-size:11px;display:block}.marketing-root .booking-day[data-on] .booking-day-wd,.marketing-root .booking-day[data-on] .booking-day-mo{color:#ffffffc7}.marketing-root .booking-day[data-on] .booking-day-num{color:#fff}.marketing-root .booking-time{border:1px solid var(--color-line-strong);white-space:nowrap;font-variant-numeric:tabular-nums;min-height:52px;color:var(--color-ink);background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:14.5px;font-weight:600;transition:border-color .16s,background .16s,color .16s,box-shadow .2s,transform .12s;display:inline-flex}.marketing-root .booking-time:hover:not(:disabled){border-color:var(--color-leaf-400);background:var(--color-leaf-50)}.marketing-root .booking-time:active:not(:disabled){transform:scale(.98)}.marketing-root .booking-time:disabled{cursor:not-allowed;opacity:.45;background:var(--color-line-soft,#f4f2ee);text-decoration:line-through}.marketing-root .booking-time[data-on]{background:linear-gradient(180deg,var(--color-leaf-500),var(--color-leaf-600));color:#fff;box-shadow:0 12px 24px -12px var(--color-leaf-500);border-color:#0000}.marketing-root .booking-ticket,.marketing-root .booking-done-head{background:radial-gradient(ellipse 70% 60% at 20% 0%,#ffffff0d,transparent 60%),linear-gradient(180deg,var(--color-leaf-800) 0%,var(--color-leaf-900) 100%)}.marketing-root .booking-ticket{border-radius:20px;padding:20px}.marketing-root .booking-done-head{text-align:center;padding:44px 20px 40px}@media(min-width:640px){.marketing-root .booking-done-head{padding-inline:40px}}.marketing-root .booking-ticket-change{color:#fff;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:999px;align-items:center;gap:7px;min-height:36px;margin-top:14px;padding:0 14px;font-size:12.5px;font-weight:600;transition:background .18s;display:inline-flex}.marketing-root .booking-ticket-change:hover{background:#fff3}.marketing-root .booking-review-row{border-top:1px solid var(--color-line);padding:11px 0}.marketing-root .booking-review-row:last-child{border-bottom:1px solid var(--color-line)}@media(min-width:640px){.marketing-root .booking-review-row{grid-template-columns:minmax(0,7fr) minmax(0,9fr);gap:18px;display:grid}}.mockup-root{--m-bg:#f5efe2;--m-bg-surface:#faf7f1;--m-ink:#11231e;--m-ink-soft:#4a5e57;--m-ink-muted:#6b7e78;--m-ink-faint:#94a5a0;--m-line:#11231e14;--m-line-strong:#11231e29;--m-teal:#17696f;--m-teal-light:#17696f1a;--m-teal-mid:#17696f2e;--m-gold:#a57a16;--m-gold-light:#a57a161a;--m-sunset:#b9572b;--m-sunset-light:#b9572b1a;--m-berry:#7a2f52;--m-berry-light:#7a2f521a;--m-leaf:#15a04a;--m-leaf-deep:#0a5d2c;color:var(--m-ink);background:var(--m-bg);font-feature-settings:"ss01","cv05";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;width:100%;height:100%;font-family:Outfit,ui-sans-serif,system-ui,sans-serif;display:flex;overflow:hidden}.mockup-root *,.mockup-root :before,.mockup-root :after{box-sizing:border-box}.mockup-root h1,.mockup-root h2,.mockup-root h3,.mockup-root h4,.mockup-root h5,.mockup-root h6,.mockup-root p,.mockup-root ul,.mockup-root ol,.mockup-root figure,.mockup-root dl,.mockup-root dd{margin:0;padding:0}.mockup-root ul,.mockup-root ol{list-style:none}.mockup-root button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.mk-status{color:var(--m-ink);letter-spacing:-.01em;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 22px 6px;font-size:13px;font-weight:600;display:flex}.mk-status-icons{color:var(--m-ink);align-items:center;gap:5px;display:inline-flex}.mk-status-icons svg{width:14px;height:14px;display:block}.mk-portal-header{border-bottom:1px solid var(--m-line);background:#fffdf9f0;flex-shrink:0;align-items:center;gap:10px;padding:10px 16px 12px;display:flex}.mk-portal-brand{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.mk-portal-brand-mark{background:linear-gradient(140deg,var(--m-leaf),var(--m-leaf-deep));color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:800;display:inline-flex}.mk-portal-brand-text{color:var(--m-ink);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.mk-portal-avatar{background:var(--m-teal-light);width:28px;height:28px;color:var(--m-teal);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.mk-page{flex-direction:column;flex:1;gap:14px;min-height:0;padding:16px;display:flex;overflow:hidden}.mk-page-desktop{gap:14px;padding:18px 22px}.mk-panel{background:var(--m-bg-surface);border:1px solid var(--m-line);border-radius:14px;padding:14px;box-shadow:0 1px 2px #11231e0a}.mk-panel-tight{padding:12px 14px}.mk-section-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.mk-section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--m-ink-muted);font-size:9.5px;font-weight:700}.mk-section-link{color:var(--m-teal);font-size:11.5px;font-weight:600}.mk-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--m-ink-muted);font-size:9px;font-weight:700}.mk-badge{background:var(--m-line);color:var(--m-ink-soft);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:10.5px;font-weight:600;line-height:1.4;display:inline-flex}.mk-badge-success{background:var(--m-teal-light);color:var(--m-teal)}.mk-badge-warning{background:var(--m-gold-light);color:var(--m-gold)}.mk-badge-danger{background:var(--m-sunset-light);color:var(--m-sunset)}.mk-badge-neutral{background:var(--m-line);color:var(--m-ink-soft)}.mk-badge-leaf{color:var(--m-leaf-deep);background:#15a04a1f}.mk-pill{background:var(--m-bg);color:var(--m-ink-soft);border:1px solid var(--m-line);border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:10.5px;font-weight:600;display:inline-flex}.mk-pill-rate,.mk-pill-present{background:var(--m-teal-light);color:var(--m-teal);border-color:#0000}.mk-pill-late{background:var(--m-gold-light);color:var(--m-gold);border-color:#0000}.mk-pill-absent{background:var(--m-sunset-light);color:var(--m-sunset);border-color:#0000}.mk-pill-cleared{background:var(--m-teal-light);color:var(--m-teal);border-color:#0000}.mk-diary-card{background:var(--m-bg-surface);border:1px solid var(--m-line);border-left:3px solid var(--m-teal);border-radius:12px;flex-direction:column;gap:9px;padding:13px 14px;display:flex}.mk-diary-card-success{border-left-color:var(--m-teal)}.mk-diary-card-warning{border-left-color:var(--m-gold)}.mk-diary-card-danger{border-left-color:var(--m-sunset)}.mk-diary-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mk-diary-date{color:var(--m-ink);font-size:12.5px;font-weight:700}.mk-diary-subject{color:var(--m-ink-muted);font-size:11px}.mk-diary-block{gap:2px;display:grid}.mk-diary-block-label{letter-spacing:.1em;text-transform:uppercase;color:var(--m-ink-muted);font-size:9.5px;font-weight:700}.mk-diary-block-body{color:var(--m-ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.mk-banner{background:var(--m-gold-light);color:var(--m-gold);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-size:11.5px;font-weight:600;display:flex}.mk-banner-cta{background:var(--m-gold);color:#fff;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600}.mk-quicklink{background:var(--m-bg-surface);border:1px solid var(--m-line);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:12.5px;display:flex}.mk-quicklink-label{color:var(--m-ink);align-items:center;gap:8px;font-weight:600;display:inline-flex}.mk-quicklink-pills{flex-wrap:wrap;gap:5px;display:inline-flex}.mk-quicklink-arrow{color:var(--m-ink-faint);font-size:16px;line-height:1}.mk-dot{background:var(--m-sunset);border-radius:50%;width:7px;height:7px;display:inline-block}.mk-merit-card{color:#fff;background:linear-gradient(155deg,#126066,#0e4d52);border-radius:16px;flex-direction:column;gap:10px;padding:16px;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 28px -10px #17696f73}.mk-merit-card:before{content:"";opacity:.6;pointer-events:none;background-image:radial-gradient(circle at 80% 20%,#ffffff14 1px,#0000 2px),radial-gradient(circle at 30% 70%,#ffffff0f 1px,#0000 2px);background-size:32px 32px;position:absolute;inset:0}.mk-merit-head{justify-content:space-between;align-items:center;display:flex;position:relative}.mk-merit-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#ffffffb3;font-size:9px;font-weight:700}.mk-merit-total{align-items:baseline;gap:6px;display:inline-flex;position:relative}.mk-merit-total-num{letter-spacing:-.03em;font-size:30px;font-weight:800;line-height:1}.mk-merit-total-label{color:#ffffffb3;font-size:10.5px;font-weight:600}.mk-merit-progress{color:#fffc;font-size:11px;position:relative}.mk-merit-stars{grid-template-columns:repeat(10,1fr);gap:5px;display:grid;position:relative}.mk-merit-star{aspect-ratio:1;color:#ffffff2e;justify-content:center;align-items:center;display:inline-flex}.mk-merit-star svg{width:100%;height:100%;display:block}.mk-merit-star-filled{color:#f5c43d}.mk-award{justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.mk-award+.mk-award{border-top:1px solid var(--m-line)}.mk-award-left{align-items:center;gap:9px;display:flex}.mk-award-avatar{background:var(--m-teal-light);width:28px;height:28px;color:var(--m-teal);border-radius:999px;justify-content:center;align-items:center;font-size:10.5px;font-weight:700;display:inline-flex}.mk-award-name{color:var(--m-ink);font-size:12px;font-weight:600}.mk-award-when{color:var(--m-ink-muted);font-size:10.5px}.mk-award-stat{color:var(--m-gold);align-items:center;gap:4px;font-size:12px;font-weight:700;display:inline-flex}.mk-greeting{padding:4px 2px 0}.mk-greeting-salaam{color:var(--m-ink);letter-spacing:-.01em;font-size:17px;font-weight:700;line-height:1.2}.mk-greeting-sub{color:var(--m-ink-muted);margin-top:2px;font-size:11.5px}.mk-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.mk-kpi{background:var(--m-bg-surface);border:1px solid var(--m-line);border-radius:12px;flex-direction:column;gap:4px;padding:11px 14px;display:flex}.mk-kpi-head{align-items:center;gap:6px;display:flex}.mk-kpi-icon{background:var(--m-teal-light);width:22px;height:22px;color:var(--m-teal);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.mk-kpi-icon-sunset{background:var(--m-sunset-light);color:var(--m-sunset)}.mk-kpi-icon-gold{background:var(--m-gold-light);color:var(--m-gold)}.mk-kpi-label{letter-spacing:.1em;text-transform:uppercase;color:var(--m-ink-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:9px;font-weight:700;overflow:hidden}.mk-kpi-value{color:var(--m-ink);letter-spacing:-.01em;font-size:22px;font-weight:700;line-height:1.05}.mk-kpi-value-teal{color:var(--m-teal)}.mk-kpi-value-sunset{color:var(--m-sunset)}.mk-kpi-sub{color:var(--m-ink-muted);font-size:10px}.mk-donut{display:inline-block;position:relative}.mk-donut svg{display:block;transform:rotate(-90deg)}.mk-donut-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.mk-donut-num{color:var(--m-ink);font-size:17px;font-weight:700;line-height:1}.mk-donut-label{color:var(--m-ink-muted);text-transform:uppercase;letter-spacing:.08em;font-size:8.5px;font-weight:600}.mk-class-card{background:var(--m-bg-surface);border:1px solid var(--m-line);border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.mk-class-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.mk-class-card-title{color:var(--m-ink);letter-spacing:-.01em;font-size:13px;font-weight:700}.mk-class-card-meta{color:var(--m-ink-muted);margin-top:1px;font-size:10.5px}.mk-class-card-donut{justify-content:center;display:flex}.mk-class-card-cta{background:var(--m-teal);color:#fff;border-radius:999px;justify-content:center;align-items:center;padding:8px 12px;font-size:11.5px;font-weight:600;display:inline-flex}.mk-tabbar{border-top:1px solid var(--m-line);background:#fffdf9f5;flex-shrink:0;grid-template-columns:repeat(4,1fr);padding:5px 2px;display:grid}.mk-tab{color:var(--m-ink-faint);flex-direction:column;align-items:center;gap:2px;padding:5px 4px;font-size:9.5px;font-weight:600;display:flex}.mk-tab svg{width:18px;height:18px}.mk-tab-active{color:var(--m-teal);position:relative}.mk-tab-active:before{content:"";background:var(--m-teal);border-radius:0 0 4px 4px;width:22px;height:2.5px;position:absolute;top:-5px;left:50%;transform:translate(-50%)}.mk-browser-chrome{border-bottom:1px solid var(--m-line);background:#f5efe2f5;flex-shrink:0;align-items:center;gap:18px;padding:8px 14px;display:flex}.mk-browser-nav{align-items:center;gap:4px;display:inline-flex}.mk-browser-nav span{width:18px;height:18px;color:var(--m-ink-faint);justify-content:center;align-items:center;font-size:11px;display:inline-flex}.mk-browser-url-bar{border:1px solid var(--m-line);color:var(--m-ink-muted);text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:6px;flex:1;padding:5px 10px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;overflow:hidden}.mk-desktop-body{flex:1;grid-template-columns:145px minmax(0,1fr);min-height:0;display:grid}.mk-desktop-side{border-right:1px solid var(--m-line);background:#f5efe28c;flex-direction:column;gap:10px;padding:12px 8px;display:flex;overflow:hidden}.mk-desktop-side-brand{flex-direction:column;gap:2px;padding:0 6px;display:flex}.mk-desktop-side-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--m-ink-faint);font-size:9px;font-weight:700}.mk-desktop-side-title{color:var(--m-ink);font-size:12px;font-weight:700}.mk-desktop-nav{flex-direction:column;gap:1px;display:flex}.mk-desktop-nav-item{color:var(--m-ink-soft);border-radius:7px;align-items:center;gap:7px;padding:5px 8px;font-size:10.5px;font-weight:500;display:flex}.mk-desktop-nav-item svg{width:12px;height:12px}.mk-desktop-nav-active{background:var(--m-teal-light);color:var(--m-teal);font-weight:600}.mk-desktop-main{flex-direction:column;gap:10px;min-width:0;min-height:0;padding:14px 16px;display:flex;overflow:hidden}.mk-desktop-main .mk-kpi{gap:3px;padding:9px 11px}.mk-desktop-main .mk-kpi-value{letter-spacing:-.02em;font-size:16px}.mk-desktop-main .mk-kpi-sub{font-size:9px}.mk-hero-strip{background:var(--m-bg-surface);border:1px solid var(--m-line);border-radius:12px;align-items:center;gap:14px;padding:11px 14px;display:flex}.mk-hero-main{flex-direction:column;gap:1px;display:flex}.mk-hero-label{letter-spacing:.12em;text-transform:uppercase;color:var(--m-ink-muted);font-size:8.5px;font-weight:700}.mk-hero-count{color:var(--m-ink);letter-spacing:-.02em;font-size:26px;font-weight:800;line-height:1.05}.mk-hero-divider{background:var(--m-line);align-self:stretch;width:1px}.mk-hero-pills{flex-wrap:wrap;gap:8px;display:flex}.mk-hero-stat{flex-direction:column;gap:1px;padding-right:10px;display:flex}.mk-hero-stat-value{color:var(--m-ink);font-size:14px;font-weight:700}.mk-hero-stat-label{letter-spacing:.1em;text-transform:uppercase;color:var(--m-ink-muted);font-size:8.5px;font-weight:600}.mk-desktop-grid{flex:1;grid-template-columns:1.3fr 1fr;gap:12px;min-height:0;display:grid;overflow:hidden}.mk-desktop-grid-col{flex-direction:column;gap:12px;min-height:0;display:flex}.mk-list{flex-direction:column;display:flex}.mk-list-row{justify-content:space-between;align-items:center;padding:9px 4px;display:flex}.mk-list-row+.mk-list-row{border-top:1px solid var(--m-line)}.mk-list-name{color:var(--m-ink);font-size:12px;font-weight:600}.mk-list-meta{color:var(--m-ink-muted);font-size:10.5px}.mk-reg-row{grid-template-columns:1fr auto;align-items:center;gap:10px;padding:8px 0;display:grid}.mk-reg-row+.mk-reg-row{border-top:1px solid var(--m-line)}.mk-reg-name{color:var(--m-ink);font-size:12px;font-weight:600}.mk-reg-actions{gap:4px;display:inline-flex}.mk-reg-chip{background:var(--m-bg);color:var(--m-ink-faint);border:1px solid var(--m-line);letter-spacing:.04em;border-radius:999px;padding:4px 9px;font-size:10px;font-weight:700}.mk-reg-chip-selected.mk-reg-chip-present{background:var(--m-teal);color:#fff;border-color:#0000}.mk-reg-chip-selected.mk-reg-chip-late{background:var(--m-gold);color:#fff;border-color:#0000}.mk-reg-chip-selected.mk-reg-chip-absent{background:var(--m-sunset);color:#fff;border-color:#0000}.mk-cohort-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(60px,80px) auto;align-items:center;gap:10px;padding:8px 0;font-size:11px;display:grid}.mk-cohort-row+.mk-cohort-row{border-top:1px solid var(--m-line)}.mk-cohort-name{color:var(--m-ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.mk-cohort-system{color:var(--m-ink-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mk-cohort-bar{background:var(--m-line);border-radius:999px;height:5px;overflow:hidden}.mk-cohort-bar-fill{background:var(--m-teal);border-radius:999px;height:100%}.mk-finance-top{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mk-finance-stat{background:var(--m-bg-surface);border:1px solid var(--m-line);border-radius:12px;flex-direction:column;gap:3px;padding:11px 13px;display:flex}.mk-finance-stat-label{letter-spacing:.1em;text-transform:uppercase;color:var(--m-ink-muted);font-size:9.5px;font-weight:700}.mk-finance-stat-value{color:var(--m-ink);letter-spacing:-.01em;font-size:19px;font-weight:700}.mk-finance-stat-value-teal{color:var(--m-teal)}.mk-finance-stat-value-sunset{color:var(--m-sunset)}.mk-payment-row{justify-content:space-between;align-items:center;padding:9px 0;font-size:11.5px;display:flex}.mk-payment-row+.mk-payment-row{border-top:1px solid var(--m-line)}.mk-payment-info{flex-direction:column;gap:1px;display:flex}.mk-payment-date{color:var(--m-ink);font-weight:600}.mk-payment-method{color:var(--m-ink-muted);font-size:10px}.mk-payment-amt{color:var(--m-teal);font-variant-numeric:tabular-nums;font-weight:700}.mk-annotation{background:var(--m-bg-surface);border:1px solid var(--m-line);color:var(--m-ink);border-radius:999px;align-items:center;gap:10px;max-width:260px;padding:8px 12px;font-size:12px;display:flex;box-shadow:0 4px 14px -6px #0d1f1a1f}.mk-annotation-pin{background:var(--m-leaf);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:800;display:inline-flex;box-shadow:0 2px 6px #15a04a66}.mk-annotation-text{color:var(--m-ink);letter-spacing:-.005em;font-size:12px;font-weight:600;line-height:1.3}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.-inset-10{inset:calc(var(--spacing) * -10)}.inset-0{inset:calc(var(--spacing) * 0)}.-top-16{top:calc(var(--spacing) * -16)}.-top-56{top:calc(var(--spacing) * -56)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.-right-12{right:calc(var(--spacing) * -12)}.right-0{right:calc(var(--spacing) * 0)}.right-3{right:calc(var(--spacing) * 3)}.-bottom-12{bottom:calc(var(--spacing) * -12)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-\[-8rem\]{bottom:-8rem}.-left-24{left:calc(var(--spacing) * -24)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.-z-10{z-index:-10}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\[70\]{z-index:70}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.-my-1{margin-block:calc(var(--spacing) * -1)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.-mt-40{margin-top:calc(var(--spacing) * -40)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-20{margin-top:calc(var(--spacing) * 20)}.mt-32{margin-top:calc(var(--spacing) * 32)}.mt-\[1px\]{margin-top:1px}.mt-\[3px\]{margin-top:3px}.mt-\[5px\]{margin-top:5px}.mt-auto{margin-top:auto}.-mr-1\.5{margin-right:calc(var(--spacing) * -1.5)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[16\/10\]{aspect-ratio:16/10}.aspect-video{aspect-ratio:var(--aspect-video)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-\[8px\]{height:8px}.h-\[74px\]{height:74px}.h-\[280px\]{height:280px}.h-\[420px\]{height:420px}.h-\[560px\]{height:560px}.h-full{height:100%}.h-px{height:1px}.max-h-\[92vh\]{max-height:92vh}.\!min-h-\[38px\]{min-height:38px!important}.\!min-h-\[40px\]{min-height:40px!important}.\!min-h-\[44px\]{min-height:44px!important}.\!min-h-\[46px\]{min-height:46px!important}.\!min-h-\[50px\]{min-height:50px!important}.\!min-h-\[54px\]{min-height:54px!important}.min-h-\[24px\]{min-height:24px}.min-h-\[30px\]{min-height:30px}.min-h-\[32px\]{min-height:32px}.min-h-\[40px\]{min-height:40px}.min-h-\[44px\]{min-height:44px}.min-h-\[46px\]{min-height:46px}.min-h-\[56px\]{min-height:56px}.min-h-\[64px\]{min-height:64px}.min-h-\[calc\(100vh-4rem\)\]{min-height:calc(100vh - 4rem)}.w-2{width:calc(var(--spacing) * 2)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-20{width:calc(var(--spacing) * 20)}.w-\[8px\]{width:8px}.w-\[74px\]{width:74px}.w-\[140\%\]{width:140%}.w-\[280px\]{width:280px}.w-\[420px\]{width:420px}.w-\[560px\]{width:560px}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[26ch\]{max-width:26ch}.max-w-\[58ch\]{max-width:58ch}.max-w-\[68ch\]{max-width:68ch}.max-w-\[1100px\]{max-width:1100px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-24>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 24) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 24) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-x-10{column-gap:calc(var(--spacing) * 10)}.gap-x-12{column-gap:calc(var(--spacing) * 12)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-2\.5{row-gap:calc(var(--spacing) * 2.5)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.gap-y-10{row-gap:calc(var(--spacing) * 10)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-\[color\:var\(--color-line\)\]>:not(:last-child)){border-color:var(--color-line)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[32px\]{border-radius:32px}.rounded-\[36px\]{border-radius:36px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-\[28px\]{border-top-left-radius:28px;border-top-right-radius:28px}.\!border{border-style:var(--tw-border-style)!important;border-width:1px!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.\!border-white\/30{border-color:#ffffff4d!important}@supports (color:color-mix(in lab,red,red)){.\!border-white\/30{border-color:color-mix(in oklab,var(--color-white) 30%,transparent)!important}}.border-\[color\:var\(--color-leaf-200\)\]{border-color:var(--color-leaf-200)}.border-\[color\:var\(--color-line\)\]{border-color:var(--color-line)}.border-\[color\:var\(--color-line-strong\)\]{border-color:var(--color-line-strong)}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.border-white\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.border-white\/30{border-color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.\!bg-white{background-color:var(--color-white)!important}.bg-\[color\:var\(--color-cream\)\]{background-color:var(--color-cream)}.bg-\[color\:var\(--color-cream-100\)\]{background-color:var(--color-cream-100)}.bg-\[color\:var\(--color-cream-200\)\]{background-color:var(--color-cream-200)}.bg-\[color\:var\(--color-leaf-50\)\]{background-color:var(--color-leaf-50)}.bg-\[color\:var\(--color-leaf-100\)\]{background-color:var(--color-leaf-100)}.bg-\[color\:var\(--color-leaf-500\)\]{background-color:var(--color-leaf-500)}.bg-\[color\:var\(--color-leaf-950\)\]\/55{background-color:#0323118c}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:var\(--color-leaf-950\)\]\/55{background-color:color-mix(in oklab,var(--color-leaf-950) 55%,transparent)}}.bg-\[color\:var\(--color-line\)\]{background-color:var(--color-line)}.bg-\[color\:var\(--color-line-strong\)\]{background-color:var(--color-line-strong)}.bg-black\/35{background-color:#00000059}@supports (color:color-mix(in lab,red,red)){.bg-black\/35{background-color:color-mix(in oklab,var(--color-black) 35%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.bg-white\/92{background-color:#ffffffeb}@supports (color:color-mix(in lab,red,red)){.bg-white\/92{background-color:color-mix(in oklab,var(--color-white) 92%,transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-white\/95{background-color:color-mix(in oklab,var(--color-white) 95%,transparent)}}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black\/35{--tw-gradient-from:#00000059}@supports (color:color-mix(in lab,red,red)){.from-black\/35{--tw-gradient-from:color-mix(in oklab, var(--color-black) 35%, transparent)}}.from-black\/35{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-black\/45{--tw-gradient-from:#00000073}@supports (color:color-mix(in lab,red,red)){.from-black\/45{--tw-gradient-from:color-mix(in oklab, var(--color-black) 45%, transparent)}}.from-black\/45{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-transparent{--tw-gradient-via:transparent;--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-cover{object-fit:cover}.object-top{object-position:top}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.\!px-4{padding-inline:calc(var(--spacing) * 4)!important}.\!px-5{padding-inline:calc(var(--spacing) * 5)!important}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3\.5{padding-top:calc(var(--spacing) * 3.5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pt-20{padding-top:calc(var(--spacing) * 20)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-7{padding-bottom:calc(var(--spacing) * 7)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pb-48{padding-bottom:calc(var(--spacing) * 48)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-11{padding-left:calc(var(--spacing) * 11)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\!text-\[16px\]{font-size:16px!important}.text-\[10\.5px\]{font-size:10.5px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14\.5px\]{font-size:14.5px}.text-\[14px\]{font-size:14px}.text-\[15\.5px\]{font-size:15.5px}.text-\[15px\]{font-size:15px}.text-\[16\.5px\]{font-size:16.5px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[19px\]{font-size:19px}.text-\[20px\]{font-size:20px}.text-\[21px\]{font-size:21px}.text-\[22px\]{font-size:22px}.text-\[23px\]{font-size:23px}.text-\[24px\]{font-size:24px}.text-\[27px\]{font-size:27px}.text-\[28px\]{font-size:28px}.text-\[32px\]{font-size:32px}.text-\[34px\]{font-size:34px}.text-\[38px\]{font-size:38px}.text-\[40px\]{font-size:40px}.text-\[44px\]{font-size:44px}.text-\[48px\]{font-size:48px}.text-\[56px\]{font-size:56px}.text-\[84px\]{font-size:84px}.leading-\[0\.85\]{--tw-leading:.85;line-height:.85}.leading-\[0\.95\]{--tw-leading:.95;line-height:.95}.leading-\[1\.04\]{--tw-leading:1.04;line-height:1.04}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.06\]{--tw-leading:1.06;line-height:1.06}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-\[1\.7\]{--tw-leading:1.7;line-height:1.7}.leading-\[1\.12\]{--tw-leading:1.12;line-height:1.12}.leading-\[1\.14\]{--tw-leading:1.14;line-height:1.14}.leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.leading-\[1\.65\]{--tw-leading:1.65;line-height:1.65}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.09em\]{--tw-tracking:.09em;letter-spacing:.09em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.13em\]{--tw-tracking:.13em;letter-spacing:.13em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.15em\]{--tw-tracking:.15em;letter-spacing:.15em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.\!text-\[color\:var\(--color-leaf-200\)\]{color:var(--color-leaf-200)!important}.\!text-\[color\:var\(--color-leaf-800\)\]{color:var(--color-leaf-800)!important}.\!text-white{color:var(--color-white)!important}.text-\[color\:\.\.\.\]{color:...}.text-\[color\:var\(--color-ink\)\]{color:var(--color-ink)}.text-\[color\:var\(--color-ink-faint\)\]{color:var(--color-ink-faint)}.text-\[color\:var\(--color-ink-muted\)\]{color:var(--color-ink-muted)}.text-\[color\:var\(--color-ink-soft\)\]{color:var(--color-ink-soft)}.text-\[color\:var\(--color-leaf-200\)\]{color:var(--color-leaf-200)}.text-\[color\:var\(--color-leaf-300\)\]{color:var(--color-leaf-300)}.text-\[color\:var\(--color-leaf-500\)\]{color:var(--color-leaf-500)}.text-\[color\:var\(--color-leaf-600\)\]{color:var(--color-leaf-600)}.text-\[color\:var\(--color-leaf-700\)\]{color:var(--color-leaf-700)}.text-\[color\:var\(--color-leaf-800\)\]{color:var(--color-leaf-800)}.text-\[color\:var\(--color-leaf-900\)\]{color:var(--color-leaf-900)}.text-inherit{color:inherit}.text-line{color:var(--color-line)}.text-white{color:var(--color-white)}.text-white\/30{color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.text-white\/30{color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.text-white\/50{color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.text-white\/65{color:#ffffffa6}@supports (color:color-mix(in lab,red,red)){.text-white\/65{color:color-mix(in oklab,var(--color-white) 65%,transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.text-white\/75{color:#ffffffbf}@supports (color:color-mix(in lab,red,red)){.text-white\/75{color:color-mix(in oklab,var(--color-white) 75%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.text-white\/85{color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){.text-white\/85{color:color-mix(in oklab,var(--color-white) 85%,transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\/90{color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.opacity-\[0\.06\]{opacity:.06}.opacity-\[0\.07\]{opacity:.07}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-white\/15{--tw-ring-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.ring-white\/15{--tw-ring-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-2xl{--tw-blur:blur(var(--blur-2xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-\[3px\]{--tw-backdrop-blur:blur(3px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-500{--tw-duration:.5s;transition-duration:.5s}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.group-open\:hidden:is(:where(.group):is([open],:popover-open,:open) *){display:none}.group-open\:inline:is(:where(.group):is([open],:popover-open,:open) *){display:inline}.group-open\:rotate-45:is(:where(.group):is([open],:popover-open,:open) *){rotate:45deg}.group-open\:rotate-180:is(:where(.group):is([open],:popover-open,:open) *){rotate:180deg}.group-open\/d\:hidden:is(:where(.group\/d):is([open],:popover-open,:open) *){display:none}.group-open\/d\:inline:is(:where(.group\/d):is([open],:popover-open,:open) *){display:inline}.group-open\/d\:rotate-180:is(:where(.group\/d):is([open],:popover-open,:open) *){rotate:180deg}@media(hover:hover){.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:scale-\[1\.03\]:is(:where(.group):hover *){scale:1.03}.group-hover\:bg-white:is(:where(.group):hover *){background-color:var(--color-white)}.group-hover\:text-\[color\:var\(--color-leaf-700\)\]:is(:where(.group):hover *){color:var(--color-leaf-700)}}.first\:mt-0:first-child{margin-top:calc(var(--spacing) * 0)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:pb-0:last-child{padding-bottom:calc(var(--spacing) * 0)}@media(hover:hover){.hover\:border-\[color\:var\(--color-ink\)\]:hover{border-color:var(--color-ink)}.hover\:border-\[color\:var\(--color-leaf-500\)\]:hover{border-color:var(--color-leaf-500)}.hover\:border-\[color\:var\(--color-leaf-600\)\]:hover{border-color:var(--color-leaf-600)}.hover\:border-\[color\:var\(--color-line-strong\)\]:hover{border-color:var(--color-line-strong)}.hover\:border-white\/40:hover{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/40:hover{border-color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.hover\:\!bg-\[color\:var\(--color-leaf-100\)\]:hover{background-color:var(--color-leaf-100)!important}.hover\:\!bg-white\/10:hover{background-color:#ffffff1a!important}@supports (color:color-mix(in lab,red,red)){.hover\:\!bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)!important}}.hover\:bg-\[color\:var\(--color-leaf-50\)\]:hover{background-color:var(--color-leaf-50)}.hover\:bg-\[var\(--color-leaf-100\)\]:hover{background-color:var(--color-leaf-100)}.hover\:bg-white\/15:hover{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/15:hover{background-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.hover\:text-\[color\:var\(--color-ink\)\]:hover{color:var(--color-ink)}.hover\:text-\[color\:var\(--color-leaf-700\)\]:hover{color:var(--color-leaf-700)}.hover\:text-\[color\:var\(--color-leaf-800\)\]:hover{color:var(--color-leaf-800)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-\[color\:var\(--color-leaf-700\)\]:focus{border-color:var(--color-leaf-700)}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[color\:var\(--color-leaf-200\)\]:focus{--tw-ring-color:var(--color-leaf-200)}.focus\:ring-\[color\:var\(--color-leaf-500\)\]:focus{--tw-ring-color:var(--color-leaf-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-\[color\:var\(--color-leaf-500\)\]:focus-visible{border-color:var(--color-leaf-500)}.active\:scale-\[0\.98\]:active{scale:.98}.active\:scale-\[0\.99\]:active{scale:.99}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:bottom-\[-10rem\]{bottom:-10rem}.sm\:-mt-48{margin-top:calc(var(--spacing) * -48)}.sm\:mt-0{margin-top:calc(var(--spacing) * 0)}.sm\:mt-20{margin-top:calc(var(--spacing) * 20)}.sm\:mt-24{margin-top:calc(var(--spacing) * 24)}.sm\:ml-auto{margin-left:auto}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:inline-block{display:inline-block}.sm\:inline-flex{display:inline-flex}.sm\:\!min-h-\[48px\]{min-height:48px!important}.sm\:w-\[300px\]{width:300px}.sm\:w-auto{width:auto}.sm\:max-w-\[460px\]{max-width:460px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-center{align-items:center}.sm\:gap-5{gap:calc(var(--spacing) * 5)}.sm\:gap-16{gap:calc(var(--spacing) * 16)}:where(.sm\:space-y-32>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 32) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 32) * calc(1 - var(--tw-space-y-reverse)))}.sm\:gap-x-7{column-gap:calc(var(--spacing) * 7)}.sm\:rounded-\[28px\]{border-radius:28px}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-7{padding:calc(var(--spacing) * 7)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:p-9{padding:calc(var(--spacing) * 9)}.sm\:p-10{padding:calc(var(--spacing) * 10)}.sm\:\!px-5{padding-inline:calc(var(--spacing) * 5)!important}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-9{padding-inline:calc(var(--spacing) * 9)}.sm\:px-12{padding-inline:calc(var(--spacing) * 12)}.sm\:py-9{padding-block:calc(var(--spacing) * 9)}.sm\:py-16{padding-block:calc(var(--spacing) * 16)}.sm\:py-20{padding-block:calc(var(--spacing) * 20)}.sm\:py-24{padding-block:calc(var(--spacing) * 24)}.sm\:py-28{padding-block:calc(var(--spacing) * 28)}.sm\:py-32{padding-block:calc(var(--spacing) * 32)}.sm\:pt-14{padding-top:calc(var(--spacing) * 14)}.sm\:pt-16{padding-top:calc(var(--spacing) * 16)}.sm\:pt-20{padding-top:calc(var(--spacing) * 20)}.sm\:pt-24{padding-top:calc(var(--spacing) * 24)}.sm\:pt-28{padding-top:calc(var(--spacing) * 28)}.sm\:pb-14{padding-bottom:calc(var(--spacing) * 14)}.sm\:pb-16{padding-bottom:calc(var(--spacing) * 16)}.sm\:pb-24{padding-bottom:calc(var(--spacing) * 24)}.sm\:pb-28{padding-bottom:calc(var(--spacing) * 28)}.sm\:pb-32{padding-bottom:calc(var(--spacing) * 32)}.sm\:pb-56{padding-bottom:calc(var(--spacing) * 56)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.sm\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.sm\:text-\[17\.5px\]{font-size:17.5px}.sm\:text-\[17px\]{font-size:17px}.sm\:text-\[18px\]{font-size:18px}.sm\:text-\[19px\]{font-size:19px}.sm\:text-\[21px\]{font-size:21px}.sm\:text-\[28px\]{font-size:28px}.sm\:text-\[30px\]{font-size:30px}.sm\:text-\[32px\]{font-size:32px}.sm\:text-\[34px\]{font-size:34px}.sm\:text-\[40px\]{font-size:40px}.sm\:text-\[44px\]{font-size:44px}.sm\:text-\[46px\]{font-size:46px}.sm\:text-\[48px\]{font-size:48px}.sm\:text-\[52px\]{font-size:52px}.sm\:text-\[56px\]{font-size:56px}.sm\:text-\[64px\]{font-size:64px}.sm\:text-\[68px\]{font-size:68px}.sm\:text-\[120px\]{font-size:120px}}@media(min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-8{grid-column:span 8/span 8}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:gap-8{gap:calc(var(--spacing) * 8)}.md\:gap-10{gap:calc(var(--spacing) * 10)}}@media(min-width:64rem){.lg\:sticky{position:sticky}.lg\:top-24{top:calc(var(--spacing) * 24)}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-start-1{grid-column-start:1}.lg\:col-start-2{grid-column-start:2}.lg\:row-span-2{grid-row:span 2/span 2}.lg\:row-start-1{grid-row-start:1}.lg\:row-start-2{grid-row-start:2}.lg\:mr-0{margin-right:calc(var(--spacing) * 0)}.lg\:ml-auto{margin-left:auto}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:w-\[22rem\]{width:22rem}.lg\:max-w-sm{max-width:var(--container-sm)}.lg\:shrink-0{flex-shrink:0}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-start{align-items:flex-start}.lg\:gap-4{gap:calc(var(--spacing) * 4)}.lg\:gap-16{gap:calc(var(--spacing) * 16)}.lg\:gap-20{gap:calc(var(--spacing) * 20)}.lg\:gap-x-10{column-gap:calc(var(--spacing) * 10)}.lg\:gap-x-12{column-gap:calc(var(--spacing) * 12)}.lg\:gap-y-10{row-gap:calc(var(--spacing) * 10)}.lg\:px-16{padding-inline:calc(var(--spacing) * 16)}.lg\:pt-8{padding-top:calc(var(--spacing) * 8)}.lg\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.lg\:text-\[66px\]{font-size:66px}.lg\:text-\[80px\]{font-size:80px}.lg\:text-\[140px\]{font-size:140px}}@media(min-width:48rem){.md\:\[\&\>\*\:first-child\]\:order-2>:first-child{order:2}}}.marketing-root{font-family:var(--font-marketing-sans);color:var(--color-ink);background:var(--color-cream);font-feature-settings:"ss01","cv05";text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}.marketing-root .display{font-family:var(--font-marketing-display);letter-spacing:-.025em;font-weight:400}.marketing-root .tabular{font-variant-numeric:tabular-nums}.marketing-root :focus-visible{outline:2px solid var(--color-leaf-500);outline-offset:3px;border-radius:6px}@media(prefers-reduced-motion:reduce){.marketing-root *,.marketing-root :before,.marketing-root :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.signin-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);animation:signin-fade .18s var(--ease-out-quart,ease-out);background:#07120e8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.signin-modal-card{color:#0d1f1a;width:100%;max-width:420px;animation:signin-rise .22s var(--ease-out-quart,ease-out);background:#faf7f1;border:1px solid #0d1f1a14;border-radius:24px;padding:36px 28px 28px;font-family:Outfit,ui-sans-serif,system-ui,sans-serif;position:relative;box-shadow:0 30px 80px -20px #0d1f1a73}.signin-modal-close{color:#2c4138;cursor:pointer;background:#fff;border:1px solid #0d1f1a1f;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .16s,color .16s;display:inline-flex;position:absolute;top:14px;right:14px}.signin-modal-close:hover{color:#0d1f1a;background:#f5efe2}.signin-modal-title{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:600}.signin-modal-sub{color:#2c4138;margin:8px 0 0;font-size:14.5px;line-height:1.5}.signin-modal-google{justify-content:center;margin-top:22px;display:flex}.signin-modal-status{color:#5b6f66;text-align:center;margin:14px 0 0;font-size:13.5px}.signin-modal-error{color:#b9572b;text-align:center;margin:14px 0 0;font-size:13.5px}.signin-modal-foot{color:#5b6f66;text-align:center;margin:22px 0 0;font-size:13.5px}.signin-modal-link{color:#0a6c33;font-weight:600;text-decoration:none}.signin-modal-link:hover{text-decoration:underline}@keyframes signin-fade{0%{opacity:0}to{opacity:1}}@keyframes signin-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.marketing-root .login-google-slot{justify-content:center;min-height:44px;display:flex}.marketing-root .pricing-range{cursor:pointer;height:48px;margin:0;padding:0}.marketing-root .pricing-range::-webkit-slider-runnable-track{background:0 0;height:48px}.marketing-root .pricing-range::-moz-range-track{background:0 0;height:48px}.marketing-root .pricing-range::-webkit-slider-thumb{appearance:none;border:3px solid var(--color-leaf-500);width:28px;height:28px;transition:transform .12s var(--ease-out-back),box-shadow .12s;background:#fff;border-radius:9999px;margin-top:10px;box-shadow:0 6px 16px -4px #0a6c3380,0 0 0 1px #0d1f1a14}.marketing-root .pricing-range::-moz-range-thumb{border:3px solid var(--color-leaf-500);width:28px;height:28px;transition:transform .12s var(--ease-out-back),box-shadow .12s;background:#fff;border-radius:9999px;box-shadow:0 6px 16px -4px #0a6c3380,0 0 0 1px #0d1f1a14}.marketing-root .pricing-range:hover::-webkit-slider-thumb{transform:scale(1.08);box-shadow:0 8px 20px -4px #0a6c3399}.marketing-root .pricing-range:focus-visible::-webkit-slider-thumb{transform:scale(1.08);box-shadow:0 8px 20px -4px #0a6c3399}.marketing-root .pricing-range:hover::-moz-range-thumb{transform:scale(1.08);box-shadow:0 8px 20px -4px #0a6c3399}.marketing-root .pricing-range:focus-visible::-moz-range-thumb{transform:scale(1.08);box-shadow:0 8px 20px -4px #0a6c3399}.marketing-root .pricing-range:focus{outline:none}@media(prefers-reduced-motion:reduce){.marketing-root .pricing-range::-webkit-slider-thumb{transition:none}.marketing-root .pricing-range::-moz-range-thumb{transition:none}}.marketing-root .whatsnew-entry{gap:16px;padding-bottom:40px;scroll-margin-top:88px;display:grid}@media(max-width:899.98px){.marketing-root .whatsnew-rail{display:none}}@media(min-width:900px){.marketing-root .whatsnew-entry{grid-template-columns:190px minmax(0,1fr);gap:40px;padding-bottom:56px}.marketing-root .whatsnew-rail{text-align:right;padding-top:4px;padding-right:40px;position:relative}.marketing-root .whatsnew-rail:after{content:"";background:var(--color-line);width:1px;height:calc(100% + 56px);position:absolute;top:12px;right:0}.marketing-root .whatsnew-entry-last .whatsnew-rail:after{height:0}.marketing-root .whatsnew-rail:before{content:"";background:var(--color-leaf-500);width:9px;height:9px;box-shadow:0 0 0 4px var(--color-cream);border-radius:50%;position:absolute;top:8px;right:-4.5px}}.marketing-root .whatsnew-rail time{letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--color-ink);font-size:14px;font-weight:600;display:block}.marketing-root .whatsnew-rail-year{font-variant-numeric:tabular-nums;color:var(--color-ink-faint);margin-top:2px;font-size:13px;display:block}.marketing-root .whatsnew-tag{text-transform:uppercase;letter-spacing:.14em;border-radius:999px;align-items:center;padding:5px 11px;font-size:11px;font-weight:600;display:inline-flex}.marketing-root .whatsnew-inline-date{font-variant-numeric:tabular-nums;color:var(--color-ink-faint);font-size:13px;font-weight:500}@media(min-width:900px){.marketing-root .whatsnew-inline-date{display:none}}.marketing-root .whatsnew-title{letter-spacing:-.02em;text-wrap:balance;margin:16px 0 0;font-size:1.5rem;font-weight:400;line-height:1.2}@media(min-width:640px){.marketing-root .whatsnew-title{font-size:1.85rem}}.marketing-root .whatsnew-title a{color:inherit;text-decoration:none}.marketing-root .whatsnew-title a:hover{color:var(--color-leaf-700)}.marketing-root .whatsnew-title-icon{opacity:0;width:.6em;height:.6em;margin-left:.34em;transition:opacity .16s;display:inline-block}.marketing-root .whatsnew-title a:hover .whatsnew-title-icon,.marketing-root .whatsnew-title a:focus-visible .whatsnew-title-icon{opacity:.5}.marketing-root .whatsnew-foot{border-top:1px solid var(--color-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:22px;padding-top:16px;display:flex}.marketing-root .whatsnew-who{color:var(--color-ink-muted);margin:0;font-size:13px}.marketing-root .whatsnew-who span{text-transform:uppercase;letter-spacing:.1em;color:var(--color-ink-soft);margin-right:8px;font-size:11px;font-weight:600}.marketing-root .whatsnew-copy{color:var(--color-ink-muted);border:1px solid var(--color-line);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:7px;min-height:36px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.marketing-root .whatsnew-copy:hover{color:var(--color-leaf-700);border-color:var(--color-line-strong);background:var(--color-leaf-50)}.marketing-root .whatsnew-copy-icon{width:14px;height:14px}.marketing-root .whatsnew-closing{border:1px dashed var(--color-line-strong);background:var(--color-cream-100);border-radius:24px;margin-top:8px;padding:28px 24px}@media(min-width:900px){.marketing-root .whatsnew-closing{margin-left:230px;padding:30px 34px}}.marketing-root .whatsnew-closing p{max-width:62ch;color:var(--color-ink-soft);margin:0;font-size:15px;line-height:1.7}.marketing-root .whatsnew-closing a{color:var(--color-leaf-700);font-weight:600}.marketing-root .whatsnew-more{padding-bottom:32px;display:flex}@media(min-width:900px){.marketing-root .whatsnew-more{margin-left:230px}}.mdemo{flex-direction:column;align-items:center;width:100%;display:flex}.mdemo-toolbar{justify-content:space-between;align-items:center;gap:10px;width:100%;margin-bottom:12px;display:flex}.mdemo-seg{background:#ffffff17;border:1px solid #ffffff29;border-radius:999px;padding:3px;display:inline-flex}.mdemo-seg button{color:#ffffffbf;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;min-height:34px;padding:6px 14px;font-size:13px;font-weight:500;display:inline-flex}.mdemo-seg button[aria-pressed=true]{color:#fff;background:#15a04a}.mdemo-iconbtn{cursor:pointer;color:#fff;background:0 0;border:1px solid #ffffff38;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.mdemo-iconbtn:hover{background:#ffffff1a}.mdemo-stage{justify-content:center;width:100%;display:flex}.mdemo-frame{background:#f6f2ea;position:relative;overflow:hidden}.mdemo-frame-phone{border:8px solid #10140f;border-radius:34px;box-shadow:0 24px 70px -18px #0000008c}.mdemo-frame-desktop{border:1px solid #00000059;border-radius:14px;box-shadow:0 24px 70px -18px #0000008c}.mdemo-desktop-bar{background:#10140f;align-items:center;gap:6px;padding:8px 12px;display:flex}.mdemo-desktop-bar span{background:#ffffff47;border-radius:50%;width:9px;height:9px}.mdemo-desktop-bar .mdemo-url{color:#ffffffa6;text-align:center;background:#ffffff1f;border-radius:999px;flex:1;width:auto;height:auto;margin-left:8px;padding:3px 12px;font-size:10.5px}.mdemo-scaler{transform-origin:0 0;position:relative}.mdemo-screen{background:#f6f2ea;flex-direction:column;animation:.32s mdemo-flip;display:flex;position:absolute;inset:0}@keyframes mdemo-flip{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.mdemo-portal-tag{letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-self:flex-start;margin:10px 14px 0;padding:4px 10px;font-size:11px;font-weight:700}.mdemo-portal-teacher{color:#0a6c33;background:#dcefe2}.mdemo-portal-parent{color:#274f8f;background:#e3ecfa}.mdemo-portal-leader{color:#7a5417;background:#f3e8d8}.mdemo-portal-public{color:#55407e;background:#ece7f5}.mdemo-nav{padding:8px 14px 10px}.mdemo-nav h4{color:#10140f;letter-spacing:-.01em;margin:0;font-size:17px;font-weight:700}.mdemo-nav p{color:#6b6f66;margin:2px 0 0;font-size:12.5px}.mdemo-body{flex-direction:column;flex:1;gap:8px;padding:4px 12px 12px;display:flex;overflow:hidden}.mdemo-stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mdemo-stat{background:#fff;border:1px solid #e6e0d2;border-radius:12px;padding:10px 12px}.mdemo-stat b{color:#10140f;letter-spacing:-.02em;font-size:20px;display:block}.mdemo-stat span{color:#6b6f66;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.mdemo-stat-ok b{color:#0a6c33}.mdemo-stat-warn b{color:#ad6a10}.mdemo-stat-bad b{color:#a3243c}.mdemo-row{background:#fff;border:1px solid #e6e0d2;border-radius:12px;align-items:center;gap:10px;padding:9px 12px;display:flex}.mdemo-avatar{color:#0a6c33;background:#dcefe2;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:inline-flex}.mdemo-row-main{flex:1;min-width:0}.mdemo-row-main b{color:#10140f;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;display:block;overflow:hidden}.mdemo-row-main span{color:#6b6f66;white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.mdemo-badge{color:#55584f;background:#eee9dd;border-radius:999px;flex-shrink:0;padding:3px 9px;font-size:11px;font-weight:700}.mdemo-badge-ok{color:#0a6c33;background:#dcefe2}.mdemo-badge-warn{color:#8a5c10;background:#f7e8cf}.mdemo-badge-bad{color:#a3243c;background:#f7dede}.mdemo-badge-info{color:#274f8f;background:#e3ecfa}.mdemo-stars{color:#d9a514;letter-spacing:1px;flex-shrink:0;font-size:13px}.mdemo-btn{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:10px 18px;font-size:14px;font-weight:600;display:inline-flex}.mdemo-btn-primary{color:#fff;background:#15a04a}.mdemo-btn-ghost{color:#10140f;background:#fff;border-color:#d8d2c2}.mdemo-btn-full{width:100%}.mdemo-input{background:#fff;border:1px solid #d8d2c2;border-radius:12px;padding:8px 12px}.mdemo-input label{color:#6b6f66;text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:600;display:block}.mdemo-input div{color:#10140f;min-height:18px;margin-top:2px;font-size:14px}.mdemo-input .mdemo-ph{color:#a9ac9f}.mdemo-input-big div{min-height:44px}.mdemo-chips{flex-wrap:wrap;gap:6px;display:flex}.mdemo-chip{color:#55584f;background:#fff;border:1px solid #d8d2c2;border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600}.mdemo-chip-on{color:#fff;background:#15a04a;border-color:#15a04a}.mdemo-banner{border-radius:12px;padding:9px 12px;font-size:13px;line-height:1.45}.mdemo-banner-ok{color:#0a5227;background:#dcefe2}.mdemo-banner-info{color:#1d3f78;background:#e3ecfa}.mdemo-banner-warn{color:#7c500a;background:#f7e8cf}.mdemo-note{color:#55584f;padding:0 2px;font-size:13px;line-height:1.5}.mdemo-heading{color:#6b6f66;text-transform:uppercase;letter-spacing:.1em;margin-top:4px;padding:0 2px;font-size:12px;font-weight:700}.mdemo-squares{background:#fff;border:1px solid #e6e0d2;border-radius:12px;grid-template-columns:repeat(10,1fr);gap:4px;padding:10px;display:grid}.mdemo-sq{aspect-ratio:1;background:#edeadf;border-radius:4px}.mdemo-sq-on{background:#15a04a}.mdemo-sq-gap{background:#e8b7b7}.mdemo-progress{background:#fff;border:1px solid #e6e0d2;border-radius:12px;padding:9px 12px}.mdemo-progress span{color:#10140f;font-size:12.5px;font-weight:600}.mdemo-progress-track{background:#edeadf;border-radius:999px;height:7px;margin-top:6px;overflow:hidden}.mdemo-progress-fill{background:#15a04a;border-radius:999px;height:100%}.mdemo-spot{z-index:5;cursor:pointer;background:0 0;border:2.5px solid #6cee9a;border-radius:14px;padding:0;transition:left .3s,top .3s,width .3s,height .3s;animation:1.6s ease-in-out infinite mdemo-pulse;position:absolute;box-shadow:0 0 0 4000px #080e098c}@keyframes mdemo-pulse{0%,to{border-color:#6cee9a}50%{border-color:#6cee9a59}}.mdemo-caption{text-align:center;color:#fff;text-wrap:balance;width:100%;min-height:3em;margin-top:14px;padding:0 4px;font-size:clamp(14px,2.4vw,16.5px);line-height:1.5}.mdemo-dots{justify-content:center;gap:5px;margin-top:4px;display:flex}.mdemo-dot{background:#ffffff40;border-radius:50%;width:6px;height:6px;transition:background .2s}.mdemo-dot-on{background:#6cee9a}.mdemo-controls{justify-content:center;align-items:center;gap:10px;margin-top:12px;display:flex}.mdemo-ctl{cursor:pointer;color:#fff;min-height:44px;font:inherit;background:0 0;border:1px solid #ffffff40;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:8px 18px;font-size:14px;font-weight:600;display:inline-flex}.mdemo-ctl:hover{background:#ffffff1a}.mdemo-ctl-primary{background:#15a04a;border-color:#15a04a}.mdemo-ctl-primary:hover{background:#0e8a3f}.mdemo-ctl[disabled]{opacity:.35;cursor:default}.mdemo-full{z-index:1200;background:#07190ef7;flex-direction:column;justify-content:center;align-items:center;padding:clamp(12px,3vw,40px);display:flex;position:fixed;inset:0;overflow:auto}.mdemo-app{background:#f6f2ea;flex-direction:column;display:flex;position:absolute;inset:0}.mdemo-appbar{justify-content:space-between;align-items:center;gap:8px;padding:10px 12px 4px;display:flex}.mdemo-switch{background:#fff;border:1px solid #d8d2c2;border-radius:999px;padding:2px;display:inline-flex}.mdemo-switch button{color:#55584f;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:999px;padding:5px 10px;font-size:11.5px;font-weight:600}.mdemo-switch button[aria-pressed=true]{color:#fff;background:#15a04a}.mdemo-appbody{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:8px;min-height:0;padding:4px 12px 12px;display:flex;overflow-y:auto}.mdemo-hintbar{color:#fff;background:#0d1f1a;flex-shrink:0;padding:8px 14px;font-size:12.5px;line-height:1.45}.mdemo-hintbar-done{background:#0a6c33}.mdemo-tabbar{scrollbar-width:none;background:#fff;border-top:1px solid #e6e0d2;flex-shrink:0;display:flex;overflow-x:auto}.mdemo-tabbar::-webkit-scrollbar{display:none}.mdemo-tabbtn{cursor:pointer;min-width:62px;font:inherit;color:#6b6f66;background:0 0;border:0;flex:1 0 auto;padding:10px 8px 12px;font-size:11px;font-weight:600}.mdemo-tabbtn-on{color:#0a6c33;box-shadow:inset 0 2.5px #15a04a}.mdemo-tap{cursor:pointer;text-align:left}button.mdemo-row{font:inherit}.mdemo-tap:active{transform:scale(.985)}.mdemo-btn[disabled]{opacity:.45;cursor:default}.mdemo-field{width:100%;font:inherit;color:#10140f;resize:none;background:0 0;border:0;outline:none;margin-top:2px;padding:0;font-size:14px;display:block}.mdemo-field::placeholder{color:#a9ac9f}.mdemo-mushaf{text-align:center;background:#fff;border:1px solid #e6e0d2;border-radius:12px;padding:12px 10px;line-height:2.1}.mdemo-word{cursor:pointer;color:#10140f;background:0 0;border:0;border-radius:6px;padding:0 4px;font-family:inherit;font-size:21px;display:inline-block}.mdemo-word-slip{color:#a3243c;background:#f7dede}.marketing-root .booking-done-halo{pointer-events:none;border:1.5px solid #34dd7280;border-radius:50%;width:74px;height:74px;margin-left:-37px;animation:3.4s cubic-bezier(.22,1,.36,1) infinite booking-halo;position:absolute;top:44px;left:50%}.marketing-root .booking-done-halo-2{animation-delay:1.7s}@keyframes booking-halo{0%{opacity:.55;transform:scale(1)}70%{opacity:0;transform:scale(3.4)}to{opacity:0;transform:scale(3.4)}}.marketing-root .booking-done-via{color:#fff;background:#ffffff1a;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:8px;min-height:38px;padding:0 16px;font-size:13.5px;font-weight:600;display:inline-flex}.marketing-root .booking-done-slot{border:1px solid var(--color-leaf-200);background:radial-gradient(ellipse 80% 70% at 50% 0%,#15a04a17,transparent 70%),var(--color-leaf-50);text-align:center;border-radius:20px;padding:22px 20px}[data-booking-page] p{color:inherit}[data-booking-page] .booking-eyebrow,[data-booking-page] .eyebrow,[data-booking-page] .booking-step{color:var(--color-leaf-700)}[data-booking-page] .booking-lede{color:var(--color-ink-soft)}[data-booking-page] .booking-hint{color:var(--color-ink-muted)}[data-booking-page] .booking-faint{color:var(--color-ink-faint)}[data-booking-page] .booking-body{color:var(--color-ink)}[data-booking-page] .booking-ticket p,[data-booking-page] .booking-done-head p{color:#fff}[data-booking-page] .booking-ticket .booking-on-dark-accent{color:var(--color-leaf-300)}.signin-card-intro,.signin-card-note{color:var(--color-ink-soft)}.signin-panel{border:1px solid var(--color-leaf-200);text-align:center;background:linear-gradient(#f4fff8,#eafcf1);border-radius:16px;padding:18px 18px 20px}.signin-panel-icon{width:44px;height:44px;color:var(--color-leaf-700);box-shadow:0 1px 2px #0d1f1a0f,0 0 0 1px var(--color-leaf-200);background:#fff;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 10px;display:flex}.signin-panel-title{letter-spacing:-.01em;color:var(--color-ink);margin:0;font-size:19px;font-weight:700;line-height:1.25}.signin-panel-body{color:var(--color-ink-soft);margin:6px 0 0;font-size:14.5px;line-height:1.5}.signin-panel-body strong{color:var(--color-ink);font-weight:600}.signin-step-tag{background:var(--color-leaf-100);color:var(--color-leaf-800);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;margin:0 0 8px;padding:3px 10px;font-size:11.5px;font-weight:700;display:inline-block}.signin-field-label{color:var(--color-ink-soft);font-size:13.5px;font-weight:600;display:block}.signin-code-label{text-align:center;color:var(--color-ink);margin:22px 0 0;font-size:15.5px;font-weight:700}.signin-otp{cursor:text;margin-top:10px;display:block;position:relative}.signin-otp-input{z-index:2;color:#0000;-webkit-text-fill-color:transparent;caret-color:#0000;cursor:text;background:0 0;border:0;border-radius:14px;width:100%;height:100%;margin:0;padding:0;font-size:16px;position:absolute;inset:0}.signin-otp-input:focus,.signin-otp-input:focus-visible{box-shadow:none;border:0;outline:none}.signin-otp-slots{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.signin-otp-slot{border:2px solid var(--color-line-strong);font-variant-numeric:tabular-nums;min-height:58px;color:var(--color-ink);background:#fff;border-radius:14px;justify-content:center;align-items:center;font-size:26px;font-weight:700;line-height:1;transition:border-color .14s,background-color .14s;display:flex}.signin-otp-slot.is-filled{border-color:var(--color-leaf-500)}.signin-otp-slot.is-active{border-color:var(--color-leaf-500);background:var(--color-leaf-50);animation:signin-otp-pulse 1.6s var(--ease-out-quart) infinite}.signin-otp-slot.is-invalid{border-color:var(--status-danger);background:var(--status-danger-bg)}@keyframes signin-otp-pulse{0%{box-shadow:0 0 #15a04a52}70%{box-shadow:0 0 0 7px #15a04a00}to{box-shadow:0 0 #15a04a00}}@media(prefers-reduced-motion:reduce){.signin-otp-slot.is-active{animation:none}}.signin-otp-input:focus-visible~.signin-otp-slots .signin-otp-slot.is-active,.signin-otp-input:focus~.signin-otp-slots .signin-otp-slot.is-active{border-color:var(--color-leaf-600)}.signin-code-hint{text-align:center;color:var(--color-ink-muted);margin:12px 0 0;font-size:13px;line-height:1.55}.signin-code-hint strong{color:var(--color-ink-soft);font-weight:700}.signin-code-notice{text-align:center;color:var(--color-ink-soft);margin:12px 0 0;font-size:13px}@media(max-width:380px){.signin-otp-slots{gap:6px}.signin-otp-slot{border-radius:12px;min-height:52px;font-size:23px}}.signin-fold{border:1px solid var(--color-line);width:100%;min-height:44px;color:var(--color-ink-muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:6px;margin-top:18px;padding:0 14px;font-size:13.5px;font-weight:600;transition:border-color .14s,color .14s,background-color .14s;display:flex}.signin-fold:hover{border-color:var(--color-line-strong);color:var(--color-ink-soft);background:#fff9}.signin-fold-chevron{display:inline-flex}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@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}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
