.dodo-toast-host[data-v-5b580d4f]{position:fixed;z-index:10060;left:50%;top:max(4.25rem,calc(env(safe-area-inset-top) + 3.25rem));transform:translate(-50%);transform-origin:center center;display:flex;align-items:flex-start;gap:.55rem;max-width:min(22rem,calc(100vw - 2rem));padding:.65rem 1.1rem .65rem .85rem;border-radius:12px;border:1px solid var(--ds-accent-a28, rgba(22, 179, 100, .28));border-left:4px solid var(--ds-accent, #16b364);background:var(--ds-accent-soft, #eaf7ef);color:var(--ds-text, var(--text-color, #0f172a));font-size:var(--ds-font-base, .92rem);line-height:1.45;text-align:left;box-shadow:0 10px 30px #0f172a24;pointer-events:none}.dodo-toast-icon[data-v-5b580d4f]{flex:0 0 auto;display:flex;align-items:center;justify-content:center;margin-top:.12rem;color:var(--ds-accent-deep, #087443);opacity:.92}.dodo-toast-glyph[data-v-5b580d4f]{display:block}.dodo-toast-message[data-v-5b580d4f]{flex:1;min-width:0;word-break:break-word;white-space:pre-line}.dodo-toast-host.is-success[data-v-5b580d4f]{border-left-color:var(--ds-accent, #16b364);border-color:var(--ds-accent-a28, rgba(22, 179, 100, .28));background:var(--ds-accent-soft, #eaf7ef)}.dodo-toast-host.is-success .dodo-toast-icon[data-v-5b580d4f]{color:var(--ds-accent-deep, #087443)}.dodo-toast-host.is-error[data-v-5b580d4f]{border-left-color:var(--ds-danger, #dc2626);border-color:#dc262647;background:#fef2f2}.dodo-toast-host.is-error .dodo-toast-icon[data-v-5b580d4f]{color:var(--ds-danger, #b91c1c)}.dodo-toast-host.is-warning[data-v-5b580d4f]{border-left-color:var(--ds-warning, #d97706);border-color:#d9770647;background:#fffbeb}.dodo-toast-host.is-warning .dodo-toast-icon[data-v-5b580d4f]{color:var(--ds-warning, #b45309)}.dodo-toast-host.is-info[data-v-5b580d4f]{border-left-color:var(--ds-accent, #16b364);border-color:var(--ds-accent-a28, rgba(22, 179, 100, .28));background:var(--ds-accent-soft, #eaf7ef)}.dodo-toast-host.is-info .dodo-toast-icon[data-v-5b580d4f]{color:var(--ds-accent-deep, #087443)}.dodo-toast-enter-active[data-v-5b580d4f],.dodo-toast-leave-active[data-v-5b580d4f]{transition:opacity .22s ease,transform .22s ease}.dodo-toast-enter-from[data-v-5b580d4f],.dodo-toast-leave-to[data-v-5b580d4f]{opacity:0;transform:translate(-50%) scaleX(.72)}.dodo-toast-enter-to[data-v-5b580d4f],.dodo-toast-leave-from[data-v-5b580d4f]{opacity:1;transform:translate(-50%) scaleX(1)}.app-offline-banner[data-v-20f20dbb]{position:sticky;top:0;z-index:40;padding:.45rem .75rem;font-size:var(--ds-font-sm, .85rem);line-height:1.35;text-align:center;color:#7a2e0e;background:#fff7ed;border-bottom:1px solid #fdba74}:root{--ds-font-2xs: .68rem;--ds-font-caption: .78rem;--ds-font-xs: .75rem;--ds-font-sm: .82rem;--ds-font-base: .88rem;--ds-font-md: .95rem;--ds-font-lg: 1rem;--ds-font-xl: 1.05rem;--ds-font-2xl: 1.125rem;--ds-font-menu: 1.15rem;--ds-font-3xl: 1.35rem;--ds-font-icon: 1.25rem;--ds-font-stat: 1.5rem;--ds-font-display: clamp(1.875rem, 6vw, 3.25rem)}body{font-size:var(--ds-font-base);line-height:1.5}h2{font-size:var(--ds-font-lg);font-weight:700;line-height:1.3}.admin-section-title,.admin-directory-section-title{margin:0 0 .75rem;font-size:var(--ds-font-lg);font-weight:700;line-height:1.3;color:var(--ds-text)}.ds-text-page-title{font-size:var(--ds-font-xl);font-weight:700;line-height:1.3;color:var(--ds-text)}.ds-text-body{font-size:var(--ds-font-base);line-height:1.5;color:var(--ds-text)}.ds-text-muted-block{font-size:var(--ds-font-sm);line-height:1.5;color:var(--ds-text-muted)}.ds-text-caption{font-size:var(--ds-font-xs);line-height:1.35;color:var(--ds-text-muted)}.app-page-head{display:grid;grid-template-columns:1fr;align-items:center;gap:.35rem;box-sizing:border-box;min-height:var(--shell-page-head-min-height);padding:.45rem .65rem;background:var(--ds-panel-surface);border-bottom:1px solid var(--ds-border);flex-shrink:0}.app-page-head--with-back{grid-template-columns:2.25rem minmax(0,1fr) auto}.app-page-head--full:not(.app-page-head--with-back),.app-page-head--minimal:not(.app-page-head--with-back){grid-template-columns:minmax(0,1fr) auto;padding:.45rem var(--shell-page-inline-pad) .45rem .85rem}.app-page-head--minimal:not(.app-page-head--with-back){padding-top:.4rem;padding-bottom:.4rem}.app-page-head-btn{border:none;background:transparent;padding:.2rem;color:var(--ds-text);cursor:pointer;display:flex;align-items:center;justify-content:center}.app-page-head-brand{display:flex;align-items:center;gap:.5rem;min-width:0}.app-page-head-sidebar-toggle{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0;padding:0;border:1px solid var(--ds-accent-a20);border-radius:10px;background:#fff;color:var(--ds-accent-deep);font-size:var(--ds-font-lg);line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease}.app-page-head-sidebar-toggle:hover{background:var(--ds-accent-soft);border-color:var(--ds-accent-a35)}.app-page-head-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-page-head-icon .nav-icon-chip--md{border-radius:50%}.app-page-head-text{display:flex;flex-direction:column;gap:.05rem;min-width:0}.app-page-head-text strong,.app-page-head-minimal-title{font-size:var(--ds-font-xl);font-weight:700}.app-page-head-minimal-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-page-head-sub{font-size:var(--ds-font-2xs);line-height:1.2;color:var(--ds-text-muted)}.app-page-head-spacer{width:2.25rem}.app-page-head-trailing{display:inline-flex;align-items:center;justify-content:flex-end;gap:.35rem;min-height:2.5rem}.app-page-head-actions{display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.app-page-head-menu{gap:.35rem;min-height:2.5rem;padding:.35rem .7rem;border:1px solid var(--ds-accent-a35);border-radius:999px;background:#fff;color:var(--ds-accent-deep);font-size:var(--ds-font-sm);font-weight:700;line-height:1;box-shadow:0 1px 0 var(--ds-accent-a20);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.app-page-head-menu:hover{background:var(--ds-accent-soft);border-color:var(--ds-accent)}.app-page-head-menu-wrap{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.app-page-head-menu-icon{font-size:var(--ds-font-menu);line-height:1}.app-page-head-menu-label{letter-spacing:.02em}.app-page-head-menu--coach{animation:app-page-head-menu-pulse 1.2s ease-in-out 2}.app-page-head-menu-coach{position:absolute;top:calc(100% + .55rem);right:0;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:.45rem;min-width:10.5rem;max-width:min(16rem,72vw);padding:.7rem .85rem;border:1px solid var(--ds-border);border-radius:12px;background:var(--ds-panel-surface, #fff);color:var(--ds-text);box-shadow:0 10px 28px #0f282324}.app-page-head-menu-coach:before{content:"";position:absolute;top:-6px;right:1.35rem;width:12px;height:12px;border-top:1px solid var(--ds-border);border-left:1px solid var(--ds-border);background:inherit;transform:rotate(45deg)}.app-page-head-menu-coach-text{margin:0;font-size:var(--ds-font-sm);font-weight:600;line-height:1.35;text-align:right}.app-page-head-menu-coach-dismiss{margin:0;padding:.2rem .45rem;border:none;border-radius:8px;background:transparent;color:var(--ds-accent-deep);font-size:var(--ds-font-2xs);font-weight:700;cursor:pointer}.app-page-head-menu-coach-dismiss:hover{background:var(--ds-accent-soft)}@keyframes app-page-head-menu-pulse{0%,to{box-shadow:0 1px 0 var(--ds-accent-a20)}50%{box-shadow:0 0 0 4px var(--ds-accent-a20),0 1px 0 var(--ds-accent-a20)}}@media (prefers-reduced-motion: reduce){.app-page-head-menu--coach{animation:none}}html[data-viewport=phone] .app-page-head-sub{display:none}html[data-viewport=phone] .app-page-head{padding-top:.2rem;padding-bottom:.2rem;gap:.2rem}html[data-viewport=phone] .app-page-head-text strong,html[data-viewport=phone] .app-page-head-minimal-title{font-size:var(--ds-font-base);font-weight:700}html[data-viewport=phone] .app-page-head-trailing{min-height:2rem}html[data-viewport=phone] .app-page-head-menu{min-height:2rem;padding:.2rem .55rem;font-size:var(--ds-font-xs)}html[data-viewport=phone] .app-page-head-menu-label{display:none}@media (max-width: 599px){.app-page-head-sub{display:none}.app-page-head{padding-top:.2rem;padding-bottom:.2rem;gap:.2rem}.app-page-head-text strong,.app-page-head-minimal-title{font-size:var(--ds-font-base);font-weight:700}.app-page-head-trailing{min-height:2rem}.app-page-head-menu{min-height:2rem;padding:.2rem .55rem;font-size:var(--ds-font-xs)}.app-page-head-menu-label{display:none}}html[data-app-theme=dodo],html:not([data-app-theme]){--ds-accent: #16b364;--ds-accent-deep: #087443;--ds-accent-soft: #eaf7ef;--ds-accent-muted: #1f8b5a;--ds-bg: #f4fbf7;--ds-text: #10201a;--ds-text-muted: #577064;--ds-border: rgba(22, 179, 100, .16);--ds-shadow: rgba(17, 87, 54, .12);--ds-gradient-end: #67d99a;--ds-accent-a12: rgba(22, 179, 100, .12);--ds-accent-a14: rgba(22, 179, 100, .14);--ds-accent-a16: rgba(22, 179, 100, .16);--ds-accent-a18: rgba(22, 179, 100, .18);--ds-accent-a20: rgba(22, 179, 100, .2);--ds-accent-a22: rgba(22, 179, 100, .22);--ds-accent-a28: rgba(22, 179, 100, .28);--ds-accent-a35: rgba(22, 179, 100, .35)}html[data-app-theme=ocean]{--ds-accent: #0284c7;--ds-accent-deep: #0369a1;--ds-accent-soft: #e0f2fe;--ds-accent-muted: #155e75;--ds-bg: #f0f9ff;--ds-text: #082f49;--ds-text-muted: #155e75;--ds-border: rgba(2, 132, 199, .16);--ds-shadow: rgba(3, 105, 161, .12);--ds-gradient-end: #7dd3fc;--ds-accent-a12: rgba(2, 132, 199, .12);--ds-accent-a14: rgba(2, 132, 199, .14);--ds-accent-a16: rgba(2, 132, 199, .16);--ds-accent-a18: rgba(2, 132, 199, .18);--ds-accent-a20: rgba(2, 132, 199, .2);--ds-accent-a22: rgba(2, 132, 199, .22);--ds-accent-a28: rgba(2, 132, 199, .28);--ds-accent-a35: rgba(2, 132, 199, .35)}html[data-app-theme=sunset]{--ds-accent: #ea580c;--ds-accent-deep: #c2410c;--ds-accent-soft: #ffedd5;--ds-accent-muted: #9a3412;--ds-bg: #fff7ed;--ds-text: #7c2d12;--ds-text-muted: #9a3412;--ds-border: rgba(234, 88, 12, .16);--ds-shadow: rgba(194, 65, 12, .12);--ds-gradient-end: #fdba74;--ds-accent-a12: rgba(234, 88, 12, .12);--ds-accent-a14: rgba(234, 88, 12, .14);--ds-accent-a16: rgba(234, 88, 12, .16);--ds-accent-a18: rgba(234, 88, 12, .18);--ds-accent-a20: rgba(234, 88, 12, .2);--ds-accent-a22: rgba(234, 88, 12, .22);--ds-accent-a28: rgba(234, 88, 12, .28);--ds-accent-a35: rgba(234, 88, 12, .35)}html[data-app-theme=lavender]{--ds-accent: #7c3aed;--ds-accent-deep: #6d28d9;--ds-accent-soft: #ede9fe;--ds-accent-muted: #6b21a8;--ds-bg: #faf5ff;--ds-text: #4c1d95;--ds-text-muted: #6b21a8;--ds-border: rgba(124, 58, 237, .16);--ds-shadow: rgba(109, 40, 217, .12);--ds-gradient-end: #c4b5fd;--ds-accent-a12: rgba(124, 58, 237, .12);--ds-accent-a14: rgba(124, 58, 237, .14);--ds-accent-a16: rgba(124, 58, 237, .16);--ds-accent-a18: rgba(124, 58, 237, .18);--ds-accent-a20: rgba(124, 58, 237, .2);--ds-accent-a22: rgba(124, 58, 237, .22);--ds-accent-a28: rgba(124, 58, 237, .28);--ds-accent-a35: rgba(124, 58, 237, .35)}html[data-app-theme=rose]{--ds-accent: #e11d48;--ds-accent-deep: #be123c;--ds-accent-soft: #ffe4e6;--ds-accent-muted: #9f1239;--ds-bg: #fff1f2;--ds-text: #881337;--ds-text-muted: #9f1239;--ds-border: rgba(225, 29, 72, .16);--ds-shadow: rgba(190, 18, 60, .12);--ds-gradient-end: #fda4af;--ds-accent-a12: rgba(225, 29, 72, .12);--ds-accent-a14: rgba(225, 29, 72, .14);--ds-accent-a16: rgba(225, 29, 72, .16);--ds-accent-a18: rgba(225, 29, 72, .18);--ds-accent-a20: rgba(225, 29, 72, .2);--ds-accent-a22: rgba(225, 29, 72, .22);--ds-accent-a28: rgba(225, 29, 72, .28);--ds-accent-a35: rgba(225, 29, 72, .35)}html[data-app-theme=slate]{--ds-accent: #475569;--ds-accent-deep: #334155;--ds-accent-soft: #f1f5f9;--ds-accent-muted: #64748b;--ds-bg: #f8fafc;--ds-text: #1e293b;--ds-text-muted: #64748b;--ds-border: rgba(71, 85, 105, .16);--ds-shadow: rgba(51, 65, 85, .12);--ds-gradient-end: #94a3b8;--ds-accent-a12: rgba(71, 85, 105, .12);--ds-accent-a14: rgba(71, 85, 105, .14);--ds-accent-a16: rgba(71, 85, 105, .16);--ds-accent-a18: rgba(71, 85, 105, .18);--ds-accent-a20: rgba(71, 85, 105, .2);--ds-accent-a22: rgba(71, 85, 105, .22);--ds-accent-a28: rgba(71, 85, 105, .28);--ds-accent-a35: rgba(71, 85, 105, .35)}:root{--ds-brand-primary: var(--ds-accent);--ds-brand-deep: var(--ds-accent-deep);--ds-brand-soft: var(--ds-accent-soft);--ds-brand-muted: var(--ds-accent-muted);--ds-brand-bg: var(--ds-bg);--ds-brand-gradient-end: var(--ds-gradient-end);--ds-brand-border: var(--ds-border);--ds-brand-shadow: var(--ds-shadow);--ds-brand-text: var(--ds-text);--ds-brand-text-muted: var(--ds-text-muted)}html[data-org-brand=active]{--ds-brand-text: var(--ds-brand-deep);--ds-brand-text-muted: var(--ds-brand-muted)}.auth-page{background:radial-gradient(circle at 0% 0%,var(--ds-accent-a18),transparent 42%),var(--ds-brand-bg)}.auth-page .eyebrow{color:var(--ds-brand-muted)}.auth-page h1,.auth-page .login-form label,.auth-page .remember-login,.auth-page .role-switch button{color:var(--ds-brand-deep)}.auth-page .auth-aside{background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.34),transparent 30%),linear-gradient(145deg,var(--ds-brand-primary),var(--ds-brand-deep))}.auth-page .role-switch{background:var(--ds-brand-soft)}.auth-page .role-switch button.active{color:var(--ds-brand-deep);box-shadow:0 8px 22px var(--ds-brand-shadow)}.auth-page input,.auth-page select,.auth-page textarea{border-color:var(--ds-brand-border);background-color:#fff;color:var(--ds-brand-text)}.auth-page input:focus,.auth-page select:focus,.auth-page textarea:focus{border-color:var(--ds-brand-primary);box-shadow:0 0 0 4px var(--ds-accent-a18)}.auth-page .remember-login input[type=checkbox]{accent-color:var(--ds-brand-primary)}.auth-page .primary-button{background:linear-gradient(135deg,var(--ds-brand-primary),var(--ds-brand-deep));box-shadow:0 16px 34px var(--ds-brand-shadow)}.auth-page .auth-card,.auth-page .auth-aside{border-color:var(--ds-brand-border);box-shadow:0 24px 80px var(--ds-brand-shadow)}.auth-page .auth-card{color:var(--ds-brand-text)}.auth-page .auth-card h2{color:var(--ds-brand-deep)}.auth-page .auth-card .muted,.auth-page .auth-card .lead{color:var(--ds-brand-text-muted)}html[data-org-brand=active] .tab-sidebar-brand .eyebrow{color:var(--ds-brand-muted)}html[data-org-brand=active] .tab-sidebar-brand h1{color:var(--ds-text)}html[data-app-font-scale=standard]{font-size:100%}html[data-app-font-scale=large]{font-size:112.5%}html[data-app-font-scale=xlarge]{font-size:125%}html[data-icon-mode=plain] .tab-badge{background:var(--ds-text-muted)}html[data-icon-mode=plain] .tab-link.active .tab-badge{background:var(--ds-accent-deep)}.nav-icon-chip{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ds-text-muted);transition:background .15s ease,color .15s ease,box-shadow .15s ease}.nav-icon-chip--sm{width:32px;height:32px;border-radius:10px}.nav-icon-chip--md{width:40px;height:40px;border-radius:50%}.nav-icon-chip--lg{width:44px;height:44px;border-radius:12px}.nav-icon-chip--inline{width:auto;height:auto;background:transparent}html:not([data-icon-mode=tonal]) .nav-icon-chip{background:transparent;color:var(--ds-text-muted)}html:not([data-icon-mode=tonal]) .nav-icon-chip.is-active{color:var(--ds-accent)}[data-icon-mode=plain] .nav-icon-chip{background:transparent!important;box-shadow:none!important;color:var(--ds-text-muted)}[data-icon-mode=plain] .nav-icon-chip.is-active{color:var(--ds-accent)}[data-icon-mode=tonal] .nav-icon-chip--sm.tone-blue,[data-icon-mode=tonal] .nav-icon-chip--md.tone-blue,[data-icon-mode=tonal] .nav-icon-chip--lg.tone-blue{background:#eff6ff;color:#3b82f6}[data-icon-mode=tonal] .nav-icon-chip--sm.tone-green,[data-icon-mode=tonal] .nav-icon-chip--md.tone-green,[data-icon-mode=tonal] .nav-icon-chip--lg.tone-green{background:var(--ds-accent-soft);color:var(--ds-accent)}[data-icon-mode=tonal] .nav-icon-chip--sm.tone-rose,[data-icon-mode=tonal] .nav-icon-chip--md.tone-rose,[data-icon-mode=tonal] .nav-icon-chip--lg.tone-rose{background:#fff1f2;color:#e11d48}[data-icon-mode=tonal] .nav-icon-chip--sm.tone-amber,[data-icon-mode=tonal] .nav-icon-chip--md.tone-amber,[data-icon-mode=tonal] .nav-icon-chip--lg.tone-amber{background:#fffbeb;color:#d97706}[data-icon-mode=tonal] .nav-icon-chip--sm.tone-orange,[data-icon-mode=tonal] .nav-icon-chip--md.tone-orange,[data-icon-mode=tonal] .nav-icon-chip--lg.tone-orange{background:#fff7ed;color:#ea580c}[data-icon-mode=tonal] .nav-icon-chip--sm.tone-purple,[data-icon-mode=tonal] .nav-icon-chip--md.tone-purple,[data-icon-mode=tonal] .nav-icon-chip--lg.tone-purple{background:#f5f3ff;color:#7c3aed}[data-icon-mode=tonal] .nav-icon-chip--inline.tone-blue{color:#3b82f6}[data-icon-mode=tonal] .nav-icon-chip--inline.tone-green{color:var(--ds-accent)}[data-icon-mode=tonal] .nav-icon-chip--inline.tone-amber{color:#eab308}[data-icon-mode=tonal] .nav-icon-chip--inline.tone-rose{color:#e11d48}[data-icon-mode=tonal] .nav-icon-chip--inline.tone-orange{color:#ea580c}[data-icon-mode=tonal] .nav-icon-chip--inline.tone-purple{color:#7c3aed}[data-icon-mode=plain] .nav-icon-chip--inline{color:var(--ds-text-muted)}[data-icon-mode=plain] .nav-icon-chip--inline.is-active{color:var(--ds-accent)}.settings-icon-preview{display:flex;flex-wrap:wrap;gap:12px;padding:.35rem 1rem .5rem}.settings-icon-preview-caption{margin:0;padding:.15rem 1rem .35rem;font-size:var(--ds-font-xs);color:var(--ds-text-muted)}:root{--ds-accent: #16b364;--ds-accent-deep: #087443;--ds-accent-soft: #eaf7ef;--ds-accent-muted: #1f8b5a;--ds-bg: #f4fbf7;--ds-text: #10201a;--ds-text-muted: #577064;--ds-border: rgba(22, 179, 100, .16);--ds-shadow: rgba(17, 87, 54, .12);--ds-gradient-end: #67d99a;--ds-accent-a12: rgba(22, 179, 100, .12);--ds-accent-a14: rgba(22, 179, 100, .14);--ds-accent-a16: rgba(22, 179, 100, .16);--ds-accent-a18: rgba(22, 179, 100, .18);--ds-accent-a20: rgba(22, 179, 100, .2);--ds-accent-a22: rgba(22, 179, 100, .22);--ds-accent-a28: rgba(22, 179, 100, .28);--ds-accent-a35: rgba(22, 179, 100, .35);--ds-panel-corner-glow: radial-gradient( circle at 88% 0%, var(--ds-accent-a18), transparent 26% );--ds-panel-surface-fill: rgba(255, 255, 255, .96);--ds-panel-surface: var(--ds-panel-corner-glow), var(--ds-panel-surface-fill);--ds-panel-accent-surface: var(--ds-panel-corner-glow), var(--ds-accent-soft);--ds-panel-elevation: 0 24px 80px var(--ds-shadow);--ds-panel-elevation-md: 0 12px 40px var(--ds-shadow);--ds-panel-elevation-sm: 0 10px 28px var(--ds-shadow);--shell-action-rail-width: 52px;--shell-page-inline-pad: .75rem;--shell-page-head-min-height: 4.25rem;--shell-page-content-pad-top: .65rem;--ds-page-region-gap: 1rem;--shell-bottom-tab-clearance: 4.75rem;--shell-bottom-tab-float-gap: 0;--shell-top-banner-row-height: 2.25rem;--shell-entered-identity-offset: var(--shell-top-banner-row-height);--shell-action-rail-pad-top: calc((var(--shell-page-head-min-height) - 2.5rem) / 2);color:var(--ds-text);background:var(--ds-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}html[data-viewport=phone]{--shell-page-head-min-height: 2.75rem;--shell-page-content-pad-top: .35rem;--shell-bottom-tab-float-gap: 0;--shell-bottom-tab-clearance: 2.85rem;--shell-page-inline-pad: .55rem}html[data-viewport=phone][data-phone-bottom-nav-content=icon_label]{--shell-bottom-tab-clearance: 3.85rem}html[data-viewport=phone][data-phone-bottom-nav-content=label]{--shell-bottom-tab-clearance: 3.15rem}html[data-viewport=phone][data-phone-bottom-nav-placement=floating],html[data-viewport=phone]:not([data-phone-bottom-nav-placement=fixed]){--shell-bottom-tab-float-gap: .65rem}html[data-viewport=phone][data-phone-bottom-nav-placement=fixed]{--shell-bottom-tab-float-gap: 0}html[data-panel-elevation=hide]{--ds-panel-elevation: none;--ds-panel-elevation-md: none;--ds-panel-elevation-sm: none}html[data-panel-corner-glow=hide]{--ds-panel-corner-glow: none;--ds-panel-surface: var(--ds-panel-surface-fill);--ds-panel-accent-surface: var(--ds-accent-soft)}@media (max-width: 599px){:root{--shell-page-head-min-height: 2.75rem;--shell-page-content-pad-top: .35rem;--shell-bottom-tab-float-gap: .65rem;--shell-bottom-tab-clearance: 2.85rem;--shell-page-inline-pad: .55rem}html[data-phone-bottom-nav-content=icon_label]{--shell-bottom-tab-clearance: 3.85rem}html[data-phone-bottom-nav-content=label]{--shell-bottom-tab-clearance: 3.15rem}html[data-phone-bottom-nav-placement=fixed]{--shell-bottom-tab-float-gap: 0}}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh}button{font:inherit;cursor:pointer}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{font-family:inherit;font-size:var(--ds-font-base);font-weight:400;line-height:1.5}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file])::placeholder,textarea::placeholder{color:var(--ds-text-muted);font-weight:400;opacity:1}.auth-page{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding:0;gap:0}.auth-page-body{flex:1;display:grid;min-height:0;padding:20px;gap:18px}.compact-auth-page{justify-content:center;align-items:center;padding:20px}.compact-auth-page .auth-card{width:min(480px,100%)}.auth-card,.auth-aside,.hero-panel,.card-panel{border:1px solid var(--ds-border);border-radius:28px}.auth-card,.hero-panel,.card-panel{box-shadow:var(--ds-panel-elevation)}.auth-aside{box-shadow:0 24px 80px var(--ds-shadow)}.auth-card{align-self:center;padding:28px;background:#ffffffeb}.auth-aside{display:none;align-items:end;min-height:360px;padding:32px;color:#fff;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.34),transparent 30%),linear-gradient(145deg,var(--ds-accent),var(--ds-accent-deep))}.eyebrow,.muted{margin:0 0 8px;color:var(--ds-accent-muted);font-size:var(--ds-font-sm);font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:10px;font-size:var(--ds-font-display);line-height:1.05}h2{margin-bottom:10px}.lead{color:var(--ds-text-muted);line-height:1.7}.role-switch{display:grid;grid-template-columns:1fr 1fr;margin:24px 0;padding:5px;border-radius:999px;background:var(--ds-accent-soft)}.role-switch--triple{grid-template-columns:repeat(3,1fr)}.role-switch button,.ghost-button,.btn.btn-ghost{border:0;border-radius:999px;background:transparent;color:var(--ds-accent-deep);padding:11px 16px;font:inherit;font-size:var(--ds-font-base);font-weight:700}.role-switch button.active{background:#fff;color:var(--ds-accent-deep);box-shadow:0 8px 22px var(--ds-shadow)}.login-form{display:grid;gap:14px}.login-form label{display:grid;gap:7px;color:var(--ds-accent-deep);font-weight:700}.remember-login{display:flex!important;align-items:center;gap:10px;font-weight:600}.remember-login input[type=checkbox]{width:18px;height:18px;margin:0;padding:0;accent-color:var(--ds-accent)}input,select,textarea{width:100%;border:1px solid var(--ds-border);border-radius:18px;background-color:var(--ds-bg);color:var(--ds-text);padding:13px 15px;outline:none}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select{min-height:3.25rem}select{-webkit-appearance:none;-moz-appearance:none;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' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23667085' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:.75rem;padding-right:2.5rem}textarea{min-height:130px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--ds-accent);box-shadow:0 0 0 4px var(--ds-accent-a12)}.primary-button,.btn.btn-primary{border:0;border-radius:18px;background:linear-gradient(135deg,var(--ds-accent),var(--ds-accent-deep));color:#fff;padding:14px 18px;font:inherit;font-size:var(--ds-font-base);font-weight:800;box-shadow:0 16px 34px var(--ds-shadow)}.primary-button:disabled,.btn.btn-primary:disabled{cursor:default;opacity:.62}.ghost-button,.btn.btn-ghost{border:1px solid var(--ds-border);background:#fff}a.ghost-button,a.primary-button,a.btn.btn-ghost,a.btn.btn-primary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box;cursor:pointer}.finish-button{margin-left:10px}.form-error{color:#b42318;font-weight:700}.form-warn{color:#b54708;font-weight:700}.success-text{color:var(--ds-accent-deep);font-weight:800}.pill{display:inline-flex;margin-bottom:18px;border-radius:999px;background:#ffffff29;padding:8px 12px;font-weight:800}.app-shell{width:min(1180px,100%);min-height:100vh;min-height:100dvh;margin:0 auto;padding:18px}.ds-text-link{color:var(--ds-accent);font-weight:600;font-size:var(--ds-font-base);text-decoration:underline;text-decoration-color:var(--ds-accent-a35);text-underline-offset:.15em;background:var(--ds-accent-a12);border-radius:4px;padding:0 .12em}.ds-text-link:hover{color:var(--ds-accent-deep);text-decoration-color:var(--ds-accent-deep);background:var(--ds-accent-a22)}.ds-text-link:visited{color:var(--ds-accent)}button.ds-text-link{border:0;font:inherit;cursor:pointer}.ds-link-button,a.ds-link-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:1px solid var(--ds-border);border-radius:999px;background:#ffffffeb;color:var(--ds-accent-deep);padding:.45rem .85rem;font-size:var(--ds-font-sm);font-weight:700;line-height:1.3;text-decoration:none;white-space:nowrap;box-shadow:0 4px 14px var(--ds-shadow);transition:background .15s ease,border-color .15s ease,color .15s ease}.ds-link-button:hover{background:var(--ds-accent-soft);border-color:var(--ds-accent-a28);color:var(--ds-accent-deep)}.ds-link-button--compact{padding:.3rem .62rem;font-size:var(--ds-font-xs)}.ds-link-button-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}.ds-link-button-row--tight{margin-top:0;gap:.35rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.dashboard-grid{display:grid;gap:16px}.dashboard-grid.stack-layout,.dashboard-grid.reports-layout,.dashboard-grid.home-layout,.dashboard-grid.me-layout{grid-template-columns:minmax(0,1fr)}.dashboard-grid.stack-layout>*,.dashboard-grid.home-layout>*,.dashboard-grid.me-layout>*,.dashboard-grid.reports-layout>.hero-panel,.dashboard-grid.reports-layout>.report-curve-panel,.dashboard-grid.reports-layout>.reports-hub,.dashboard-grid.reports-layout>.card-panel,.dashboard-grid.reports-layout>.reports-columns,.dashboard-grid.reports-layout>.reports-stage-grades,.dashboard-grid.reports-layout>.report-error{grid-column:1 / -1;min-width:0;width:100%}.home-main-grid,.home-card-mosaic,.me-card-mosaic{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}@media (min-width: 768px){.home-main-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start}.home-main-grid.home-main-grid--single{grid-template-columns:minmax(0,1fr)}.home-card-mosaic,.me-card-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.me-card-mosaic.me-card-mosaic--inbox{grid-template-columns:minmax(0,1fr)}}@media (min-width: 1025px){.home-card-mosaic.home-card-mosaic--classes{grid-template-columns:repeat(3,minmax(0,1fr))}.home-layout>.hero-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:1.25rem;row-gap:.65rem;align-items:start}.home-layout>.hero-panel>.metric-row{grid-column:1 / -1}.home-layout>.hero-panel>.primary-button{grid-column:2;grid-row:2;align-self:center;width:auto;max-width:18rem;white-space:normal;text-align:center}.home-layout>.hero-panel>.student-home-practice-quota{grid-column:1;grid-row:2;max-width:36rem}.home-layout>.hero-panel>.muted,.home-layout>.hero-panel>.form-error{grid-column:1;max-width:36rem}}.dashboard-grid.stack-layout>.home-card-mosaic,.dashboard-grid.stack-layout>.me-card-mosaic{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}@media (min-width: 768px){.dashboard-grid.stack-layout>.home-card-mosaic,.dashboard-grid.stack-layout>.me-card-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}}.speaking-grid{display:grid;gap:16px;grid-template-columns:1fr}.speaking-grid>.hero-panel,.speaking-grid>.speaking-feedback-panel{grid-column:1 / -1}.search-panel input[type=search]{margin-top:8px}.provider-badge{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:.4rem;margin-top:8px;border-radius:999px;background:var(--ds-accent-soft);padding:6px 12px;font-size:var(--ds-font-xs);letter-spacing:.04em;text-transform:none;white-space:nowrap;max-width:100%}.provider-badge__label{flex:0 0 auto;line-height:1.2}.provider-badge .status-pill{flex:0 0 auto;margin:0}.status-pill{display:inline-flex;border-radius:999px;background:var(--ds-accent-soft);color:var(--ds-accent-deep);padding:4px 10px;font-size:var(--ds-font-xs);font-weight:700}.status-pill--mock{background:#fff4e5;color:#b54708}.status-pill--warn{background:#f59e0b29;color:#b45309}.hero-panel,.card-panel{padding:22px;background:var(--ds-panel-surface)}.ds-panel-surface-accent,html[data-student-surface] .hero-panel,html[data-student-surface] .card-panel{position:relative;overflow:hidden;background:var(--ds-panel-surface);border-color:var(--ds-border)}.card-panel p,.hero-panel p{color:var(--ds-text-muted);line-height:1.7}.hero-panel p.form-error,.card-panel p.form-error{color:#b42318;font-weight:700}.card-panel p.standard-speech-text,.hero-panel p.standard-speech-text,.card-panel p.user-speech-text,.hero-panel p.user-speech-text{color:var(--ds-accent-deep)}.progress-track{overflow:hidden;height:10px;border-radius:999px;background:var(--ds-accent-soft)}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ds-accent),var(--ds-gradient-end))}.metric-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.metric-row span{border-radius:999px;background:var(--ds-accent-soft);color:var(--ds-accent-deep);padding:6px 10px;font-size:var(--ds-font-sm);font-weight:700}.report-panel{grid-column:1 / -1}.student-status-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.student-status-list span{border-radius:12px;background:#fff;border:1px solid var(--ds-border);color:var(--ds-accent-deep);padding:6px 8px;font-size:var(--ds-font-sm)}.stack-list{display:grid;gap:10px}.list-row{display:grid;gap:4px;border-radius:16px;border:1px solid transparent;background:var(--ds-bg);padding:12px;color:var(--ds-text);font:inherit;text-align:left}.list-row strong{color:var(--ds-text);font-size:var(--ds-font-base);font-weight:700;line-height:1.35}.selected-row{border-color:var(--ds-accent);background:var(--ds-accent-soft);box-shadow:inset 4px 0 0 var(--ds-accent),0 0 0 1px var(--ds-accent-a18);color:var(--ds-accent-deep)}.selected-row>strong{color:var(--ds-accent-deep)}.overdue-row,.due-soon-row{border:1px solid rgba(181,71,8,.35);background:#fff8ef}.clickable-row{text-align:left;cursor:pointer}.clickable-row:not(.selected-row){border-color:transparent}.clickable-row:focus-visible{outline:2px solid var(--ds-accent-a35);outline-offset:2px}.ds-top-loading{position:fixed;top:0;left:0;right:0;z-index:1200;height:3px;pointer-events:none;overflow:hidden;background:var(--ds-accent-a12)}.ds-top-loading__bar{width:40%;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--ds-accent),var(--ds-accent-deep));animation:ds-top-loading-slide 1.05s ease-in-out infinite}@keyframes ds-top-loading-slide{0%{transform:translate(-120%)}to{transform:translate(320%)}}@media (prefers-reduced-motion: reduce){.ds-top-loading__bar{width:100%;animation:none;opacity:.85}.voice-input-button--active,.voice-input-button--emphasis.voice-input-button--active,.voice-input-button--hold.voice-input-button--active,.app-busy-overlay__spinner{animation:none!important;transition:none!important}}.list-row>span,.list-row .me-summary-row__main>span{color:var(--ds-text-muted);font-size:var(--ds-font-sm);line-height:1.45}.speaking-feedback-panel .feedback-block{margin-top:14px}.speaking-feedback-panel .feedback-label{margin:0 0 6px;color:var(--ds-accent-deep);font-size:var(--ds-font-base);font-weight:800}.standard-speech-text{margin:0;padding:14px 16px;border-radius:16px;background:linear-gradient(180deg,var(--ds-bg) 0%,var(--ds-accent-soft) 100%);border:1px solid var(--ds-accent-a28);color:var(--ds-accent-deep);font-size:var(--ds-font-lg);font-weight:800;line-height:1.7}.practice-suggestion-text{margin:0;color:var(--ds-accent-deep);font-size:var(--ds-font-md);font-weight:700;line-height:1.7}.feedback-block--suggestion{padding-top:4px;border-top:1px dashed var(--ds-border)}.assignment-form{display:grid;gap:12px;margin-top:18px}.assignment-form label{display:grid;gap:6px;color:var(--ds-accent-deep);font-weight:700}.assignment-form label.assignment-overrides__check{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:.5rem;width:fit-content;max-width:100%;justify-self:start;white-space:nowrap}.practice-field{display:grid;gap:6px;margin:12px 0;color:var(--ds-accent-deep);font-weight:700}.practice-field-hint{font-weight:500;font-size:var(--ds-font-sm)}.practice-input-bar{display:grid;gap:10px;margin:12px 0}.voice-input-button{justify-self:start}.voice-input-button:not(:disabled){cursor:pointer;opacity:1}.voice-input-button:disabled{opacity:.72;cursor:not-allowed}.voice-input-button--active{border-color:#c24141;color:#c24141}.voice-input-interim{margin:0}.inline-fields{display:grid;gap:12px}@media (min-width: 600px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid.stack-layout,.dashboard-grid.reports-layout,.dashboard-grid.home-layout,.dashboard-grid.me-layout{grid-template-columns:minmax(0,1fr)}.hero-panel,.report-panel,.search-panel{grid-column:1 / -1}.speaking-grid.dashboard-grid{grid-template-columns:1fr}}@media (min-width: 600px){.auth-page-body{grid-template-columns:minmax(360px,480px) 1fr;align-items:stretch;padding:34px}.auth-page.compact-auth-page{justify-content:center;padding:34px}.auth-aside{display:flex}.inline-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1025px){.dashboard-grid{grid-template-columns:1.35fr 1fr 1fr}.dashboard-grid.stack-layout,.dashboard-grid.reports-layout,.dashboard-grid.home-layout,.dashboard-grid.me-layout{grid-template-columns:minmax(0,1fr)}.speaking-grid.dashboard-grid{grid-template-columns:1fr}.hero-panel,.search-panel{grid-column:auto}.dashboard-grid.stack-layout>.hero-panel,.dashboard-grid.stack-layout>.search-panel,.dashboard-grid.home-layout>.hero-panel,.dashboard-grid.home-layout>.search-panel,.dashboard-grid.me-layout>.hero-panel,.dashboard-grid.me-layout>.search-panel,.dashboard-grid.reports-layout>.hero-panel,.dashboard-grid.reports-layout>.search-panel{grid-column:1 / -1}.speaking-grid .hero-panel,.speaking-grid .speaking-feedback-panel,.report-panel{grid-column:1 / -1}}.student-lesson h1{margin:.35rem 0 1rem}.student-lesson__steps{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.student-lesson__steps .ghost-button.is-active{border-color:var(--ds-accent);color:var(--ds-accent)}.student-lesson__body{margin-bottom:1.25rem}.student-lesson__markdown{white-space:pre-wrap;line-height:1.6}.student-lesson__adaptation{margin:0 0 1rem;padding:.75rem .9rem;border-left:3px solid var(--ds-accent-a35);background:var(--ds-accent-a12)}.student-lesson__block-note{margin:0 0 .75rem}.student-lesson__assets{display:grid;gap:.85rem;margin:0 0 1rem}.student-lesson__asset--image img{display:block;max-width:min(100%,520px);max-height:320px;object-fit:contain;border-radius:.5rem}.student-lesson__asset--image figcaption{margin-top:.35rem;font-size:var(--ds-font-sm)}.student-lesson__asset--audio audio{width:min(100%,420px);margin-top:.35rem}.student-lesson__vocab{margin:.75rem 0 0;padding-left:1.1rem}.student-lesson__actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.ds-btn-row{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem;box-sizing:border-box}.ds-btn-stack{display:grid;gap:.55rem;justify-items:start;margin-top:.75rem;box-sizing:border-box}.ds-btn-row .primary-button,.ds-btn-row .ghost-button,.ds-btn-row .btn.btn-primary,.ds-btn-row .btn.btn-ghost,.ds-btn-stack .primary-button,.ds-btn-stack .ghost-button,.ds-btn-stack .btn.btn-primary,.ds-btn-stack .btn.btn-ghost,.primary-button.detail-button,.ghost-button.detail-button,.btn.btn-primary.detail-button,.btn.btn-ghost.detail-button{box-sizing:border-box;min-height:2.25rem;padding:.45rem .9rem;font-size:var(--ds-font-sm);font-weight:700;line-height:1.25;border-radius:999px;margin-top:0;box-shadow:none}.ds-btn-row .primary-button,.ds-btn-stack .primary-button,.primary-button.detail-button{font-weight:800}.detail-button{margin-top:0}:not(.ds-btn-row):not(.ds-btn-stack)>:not(button):not(a):not(.ds-btn-row):not(.ds-btn-stack)+.detail-button{margin-top:.75rem}:not(.ds-btn-row):not(.ds-btn-stack)>.detail-button+.detail-button{margin-top:.55rem}.ds-table-actions{display:inline-flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:.2rem}.ds-table-actions .primary-button,.ds-table-actions .ghost-button,.ds-table-actions .btn.btn-primary,.ds-table-actions .btn.btn-ghost,.primary-button.ds-btn--table,.ghost-button.ds-btn--table,.ghost-button.admin-directory-table__action-button,.primary-button.admin-directory-table__action-button,.admin-directory-table__action-button{box-sizing:border-box;min-height:0;margin-top:0;padding:.28rem .5rem;font-size:var(--ds-font-xs);font-weight:600;line-height:1.15;border-radius:999px;box-shadow:none;white-space:nowrap}.ds-btn-seg-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.ds-btn-seg-row .ds-btn--seg,.ds-btn-seg-row>.ghost-button,.ds-btn--seg{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:unset;padding:11px 16px;border:1px solid var(--ds-border);border-radius:999px;background:#fff;color:var(--ds-accent-deep);font:inherit;font-size:var(--ds-font-base);font-weight:700;line-height:1.25;margin-top:0;box-shadow:none;cursor:pointer}.ds-btn-seg-row .ds-btn--seg:hover,.ds-btn-seg-row>.ghost-button:hover,.ds-btn--seg:hover{border-color:var(--ds-accent);background:var(--ds-accent-soft)}.ds-btn-seg-row .ds-btn--seg.is-active,.ds-btn-seg-row .ds-btn--seg[aria-selected=true],.ds-btn-seg-row .ds-btn--seg.selected-row,.ds-btn-seg-row>.ghost-button.selected-row,.ds-btn--seg.is-active,.ds-btn--seg[aria-selected=true],.ds-btn--seg.selected-row{border-color:var(--ds-accent);background:var(--ds-accent-soft);color:var(--ds-accent-deep);box-shadow:inset 4px 0 0 var(--ds-accent),0 0 0 1px var(--ds-accent-a18)}.ds-btn--seg:disabled,.ds-btn-seg-row .ds-btn--seg:disabled{cursor:not-allowed;opacity:.55}.msg-core__toolbar-actions,.admin-reports-class-toolbar,.admin-home-quick-links,.admin-directory-manual-toolbar,.admin-directory-filter-actions,.admin-directory-workspace__actions,.teacher-home-pending-request-actions,.msg-composer__actions,.msg-error-state__actions,.error-actions,.reports-hub__filters,.reports-hub__pager,.report-curve-panel__actions,.report-curve-panel__filters,.report-curve-panel__month-spans{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.msg-core__toolbar-actions .primary-button,.msg-core__toolbar-actions .ghost-button,.admin-reports-class-toolbar .primary-button,.admin-reports-class-toolbar .ghost-button,.admin-home-quick-links .primary-button,.admin-home-quick-links .ghost-button,.admin-directory-manual-toolbar .primary-button,.admin-directory-manual-toolbar .ghost-button,.admin-directory-filter-actions .primary-button,.admin-directory-filter-actions .ghost-button,.admin-directory-workspace__actions .primary-button,.admin-directory-workspace__actions .ghost-button,.admin-directory-bulk-menu__panel .primary-button,.admin-directory-bulk-menu__panel .ghost-button,.ghost-button.admin-directory-bulk-action,.ghost-button.admin-directory-bulk-delete,.ghost-button.admin-directory-pager-button,.app-edit-dialog__actions .primary-button,.app-edit-dialog__actions .ghost-button,.settings-form-actions .primary-button,.settings-form-actions .ghost-button,.settings-privacy-actions .primary-button,.settings-privacy-actions .ghost-button,.settings-row--privacy-scope .primary-button,.settings-row--privacy-scope .ghost-button,.admin-me-actions .primary-button,.admin-me-actions .ghost-button,.teacher-home-pending-request-actions .primary-button,.teacher-home-pending-request-actions .ghost-button,.msg-composer__actions .primary-button,.msg-composer__actions .ghost-button,.msg-error-state__actions .primary-button,.msg-error-state__actions .ghost-button,.error-actions .primary-button,.error-actions .ghost-button,.msg-composer .primary-button,.msg-composer .ghost-button,.reports-hub__filters .primary-button,.reports-hub__filters .ghost-button,.reports-hub__pager .primary-button,.reports-hub__pager .ghost-button,.report-curve-panel__actions .primary-button,.report-curve-panel__actions .ghost-button,.report-curve-panel__filters .primary-button,.report-curve-panel__filters .ghost-button,.report-curve-panel__month-spans .primary-button,.report-curve-panel__month-spans .ghost-button{box-sizing:border-box;min-height:2.25rem;padding:.45rem .9rem;font-size:var(--ds-font-sm);font-weight:700;line-height:1.25;border-radius:999px;margin-top:0;box-shadow:none}.msg-core__toolbar-actions .primary-button,.admin-reports-class-toolbar .primary-button,.admin-home-quick-links .primary-button,.admin-directory-filter-actions .primary-button,.app-edit-dialog__actions .primary-button,.settings-form-actions .primary-button,.settings-privacy-actions .primary-button,.settings-row--privacy-scope .primary-button,.teacher-home-pending-request-actions .primary-button,.msg-composer__actions .primary-button,.msg-error-state__actions .primary-button,.msg-composer .primary-button,.reports-hub__filters .primary-button,.report-curve-panel__actions .primary-button{font-weight:800}.admin-directory-table__action-buttons{display:inline-flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:.2rem}.admin-directory-table__action-buttons .primary-button,.admin-directory-table__action-buttons .ghost-button,.admin-directory-table__action-buttons .ghost-button.admin-directory-table__action-button,.admin-directory-table__action-buttons .primary-button.admin-directory-table__action-button{box-sizing:border-box;min-height:0;margin-top:0;padding:.28rem .5rem;font-size:var(--ds-font-xs);font-weight:600;line-height:1.15;border-radius:999px;box-shadow:none;white-space:nowrap}.admin-me-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem}.dodo-app-error-shell{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1.25rem,env(safe-area-inset-bottom));background:var(--ds-bg, var(--bg-color, #f8fafc));box-sizing:border-box}.dodo-app-error-shell__card{width:min(100%,24rem);padding:1.5rem 1.25rem 1.35rem;border-radius:18px;border:1px solid var(--ds-border, rgba(15, 23, 42, .1));background:var(--ds-card, #fff);box-shadow:0 14px 36px #0f172a14;text-align:center}.dodo-app-error-shell__badge{display:inline-flex;margin:0 0 .65rem;padding:.18rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--ds-accent-deep, #087443);background:var(--ds-accent-soft, #eaf7ef)}.dodo-app-error-shell__title{margin:0 0 .5rem;font-size:1.2rem;line-height:1.3;color:var(--ds-text, #0f172a)}.dodo-app-error-shell__body{margin:0 0 1rem;font-size:.92rem;line-height:1.55;color:var(--ds-muted, #64748b)}.dodo-app-error-shell__from{margin:0 0 1rem;font-size:.78rem;line-height:1.4;color:var(--ds-muted, #94a3b8);word-break:break-all}.dodo-app-error-shell__actions{display:flex;flex-direction:column;gap:.55rem}.dodo-app-error-shell__btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.45rem;padding:.5rem 1rem;border-radius:12px;border:1px solid var(--ds-border, rgba(15, 23, 42, .12));background:transparent;color:var(--ds-text, #0f172a);font-size:.9rem;font-weight:600;text-decoration:none;cursor:pointer}.dodo-app-error-shell__btn--primary{border-color:transparent;background:var(--ds-accent, #16b364);color:#fff}.dodo-app-error-shell__btn:disabled{opacity:.55;cursor:not-allowed}
