:root, .device[data-access-theme="light"], #loginOverlay[data-admin-theme="light"] { --av-app-max: 760px; --av-page-x: 16px; --av-page-y: 18px; --av-bg-app: #e8f0f4; --av-surface-1: #eff4f7; --av-surface-2: #e8f0f4; --av-surface-elevated: #ffffff; --av-surface-glass: var(--av-surface-1); --av-text-primary: #203640; --av-text-secondary: #546d79; --av-text-muted: #546d79; --av-accent: #008f91; --av-accent-strong: #007c82; --av-accent-soft: rgba(0,143,145,.075); --av-accent-gradient: linear-gradient(145deg,#007f84,#006f77); --av-focus: #007d82; --av-focus-ring: none; --av-border-subtle: rgba(40,76,94,.10); --av-border-default: rgba(40,76,94,.16); --av-success: #197953; --av-success-soft: #e1f3e9; --av-warning: #91551a; --av-warning-soft: #fff1dd; --av-break-accent: #d7922b; --av-break-soft: rgba(215,146,43,.16); --av-danger: #a93542; --av-danger-soft: #ffebed; --av-info: var(--av-accent-strong); --av-info-soft: var(--av-accent-soft); --av-radius-xs: 9px; --av-radius-sm: 12px; --av-radius-md: 16px; --av-radius-lg: 21px; --av-radius-xl: 26px; --av-radius-card: 20px; --av-radius-pill: 999px; --av-space-1: 4px; --av-space-2: 8px; --av-space-3: 12px; --av-space-4: 16px; --av-space-5: 20px; --av-space-6: 24px; --av-space-8: 32px; --av-space-10: 40px; --av-control-h: 44px; --av-control-h-sm: 40px; --av-tap-min: 44px; --av-icon-size-sm: 20px; --av-icon-size-md: 24px; --av-icon-size-lg: 28px; --av-icon-stroke: 1.9; --av-font-sans: "Commissioner",system-ui,-apple-system,"Segoe UI",Arial,sans-serif; --av-type-display-size: 32px; --av-type-page-title-size: 24px; --av-type-section-title-size: 18px; --av-type-card-title-size: 16px; --av-type-body-size: 14px; --av-type-secondary-size: 13px; --av-type-caption-size: 11px; --av-type-label-size: 12px; --av-shadow-sm: 0 1px 3px rgba(31,54,64,.05); --av-shadow-base: 0 6px 24px rgba(31,54,64,.06); --av-shadow-lg: 0 18px 55px rgba(26,48,58,.14); --av-shadow-card: 0 4px 13px -5px #234b5d26,0 1px 3px #234b5d0b; --av-shadow-float: 0 8px 20px -8px #234b5d36,0 1px 3px #234b5d12; --av-shadow-modal: 0 16px 42px -20px #1438464d; --av-accent-glow: 0 8px 20px -13px color-mix(in srgb,var(--av-accent) 55%,transparent); --av-motion-fast: var(--av-motion-interaction,130ms); --av-motion-base: var(--av-motion-ui,180ms); --av-motion-slow: 240ms;  --av-time-track: var(--av-well); --av-time-fill: var(--av-accent); --av-mobile-dock-clearance: 100px; --app-max: var(--av-app-max); --page-x: var(--av-page-x); --page-y: var(--av-page-y); --bg: var(--av-bg-app); --panel: var(--av-surface-1); --panel-2: var(--av-surface-2); --text: var(--av-text-primary); --muted: var(--av-text-secondary); --faint: var(--av-text-muted); --accent: var(--av-accent); --accent-strong: var(--av-accent-strong); --accent-soft: var(--av-accent-soft); --border: var(--av-border-default); --border-soft: var(--av-border-subtle); --grad: var(--av-accent-gradient); --danger: var(--av-danger); --danger-soft: var(--av-danger-soft); --warn: var(--av-warning); --warn-soft: var(--av-warning-soft); --warning: var(--av-warning); --warning-soft: var(--av-warning-soft); --ok: var(--av-success); --ok-soft: var(--av-success-soft); --success: var(--av-success); --success-soft: var(--av-success-soft); --shadow-sm: var(--av-shadow-sm); --shadow: var(--av-shadow-base); --shadow-lg: var(--av-shadow-lg); --shadow-card: var(--av-shadow-card); --shadow-float: var(--av-shadow-float); --shadow-modal: var(--av-shadow-modal); --radius-xs: var(--av-radius-xs); --radius-sm: var(--av-radius-sm); --radius-md: var(--av-radius-md); --radius-lg: var(--av-radius-lg); --radius-xl: var(--av-radius-xl); --radius: var(--av-radius-card); --control-h: var(--av-control-h); --control-h-sm: var(--av-control-h-sm); --focus-ring: var(--av-focus-ring); --ui-focus: var(--av-focus); --ui-time-track: var(--av-time-track); --ui-time-fill: var(--av-time-fill); --ui-motion: var(--av-motion-base); --av-well: #e1eaf0; --av-accent-ink: #fff; --av-shadow-well: inset 0 2px 5px #31546617,inset 0 -1px 2px #ffffff80; --av-shadow-control: inset 0 1px 2px #ffffffb3,0 4px 8px -3px #1c415036,0 1px 3px #1c415012; --av-shadow-pressed: inset 0 2px 5px #29475925; --av-card-end:#fafcfd;--av-raised:#ffffff;--av-raised-end:#f5fafc;--av-primary-gradient:linear-gradient(145deg,#007f84,#006f77);--av-primary-ink:#fff;--av-primary-color:#007f84;--av-divider:rgba(84,109,121,.13);--av-focus-action:#e2edf3;--av-focus-well:#d9e5ed;--av-selected-ink:#006d77;--av-shadow-primary:inset 0 1px 2px #ffffff35,0 4px 9px -4px #006b7d52;--av-primary-focus:linear-gradient(180deg,#006e75,#00646b);--av-card-bg:linear-gradient(180deg,var(--av-surface-elevated),var(--av-card-end));--av-control-bg:linear-gradient(180deg,var(--av-raised),var(--av-raised-end));--av-parent-input-well:#e1eaf0;--st-hero-surface:#eff4f7;--av-selected-bg:var(--av-control-bg);--av-secondary-bg:var(--av-control-bg);--av-lesson-bg:var(--av-card-bg);--av-lesson-shadow:0 3px 8px -4px #234b5d40;--av-icon-tile-bg:var(--av-control-bg);}
html[data-theme="dark"], .device[data-access-theme="dark"], #loginOverlay[data-admin-theme="dark"] { color-scheme: dark; --av-bg-app: #0c1921; --av-surface-1: #13242d; --av-surface-2: #0f2029; --av-surface-elevated: #20343f; --av-surface-glass: var(--av-surface-1); --av-text-primary: #f0f6f8; --av-text-secondary: #adc2cc; --av-text-muted: #adc2cc; --av-accent: #3bd7c6; --av-accent-strong: #18aa9d; --av-accent-soft: rgba(59,215,198,.10); --av-focus: #82d9ca; --av-focus-ring: none; --av-border-default: rgba(184,214,225,.16); --av-border-subtle: rgba(184,214,225,.10); --av-danger: #ff9b93; --av-danger-soft: #3a2529; --av-warning: #edc276; --av-warning-soft: #332c20; --av-break-accent: #e6b65b; --av-break-soft: rgba(230,182,91,.14); --av-success: #83d8ad; --av-success-soft: #1c342e; --av-shadow-sm: none; --av-shadow-base: 0 6px 24px #0002; --av-shadow-lg: 0 18px 55px #0005; --av-shadow-card: 0 5px 14px -4px #0005,0 1px 3px #0002; --av-shadow-float: 0 9px 20px -7px #0007,0 1px 3px #0003; --av-shadow-modal: 0 18px 46px -19px #0009; --av-time-track: #365d5d; --av-time-fill: #82d9ca; --av-well: #0c1d26; --av-accent-ink: #082622; --av-shadow-well: inset 0 2px 5px #0005,inset 0 -1px 2px #62839616; --av-shadow-control: inset 0 1px 2px #d3eaf21b,0 4px 8px -2px #0006,0 1px 3px #0004; --av-shadow-pressed: inset 0 3px 6px #0006; --av-card-end:#1a2f39;--av-raised:#395c6b;--av-raised-end:#2e4d5b;--av-accent-gradient:linear-gradient(145deg,#43cdbb,#27b4a5);--av-primary-gradient:linear-gradient(180deg,#248175 0%,#1e7d72 70%,#1b7a70 100%);--av-primary-ink:#f5fffc;--av-primary-color:#248175;--av-divider:rgba(183,203,211,.13);--av-focus-action:#4b6b7a;--av-focus-well:#18313c;--av-selected-ink:#7bddcf;--av-shadow-primary:inset 0 1px 2px rgba(230,255,249,.32),0 4px 9px -3px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.14);--av-primary-focus:linear-gradient(180deg,#1d776d,#176f66);--av-card-bg:linear-gradient(180deg,var(--av-surface-elevated),var(--av-card-end));--av-control-bg:linear-gradient(180deg,var(--av-raised),var(--av-raised-end));--av-parent-input-well:#10232e;--st-hero-surface:#172e39;--av-selected-bg:linear-gradient(180deg,#2c4652,#243b46);--av-secondary-bg:linear-gradient(180deg,#29444f,#213943);--av-lesson-bg:var(--av-card-bg);--av-lesson-shadow:0 3px 8px -4px #0008;--av-icon-tile-bg:linear-gradient(180deg,#304b55,#253d47);}
@media (max-width: 430px) {
  :root {  --av-page-x:12px;--av-page-y:14px; }
}
@media (max-width: 370px) {
  :root { --av-control-h:40px; }
}
.avera-icon-button { box-sizing: border-box; display: grid; place-items: center; width: 40px; height: 40px; min-width: 40px; min-height: 40px; margin: 0px; padding: 10px; color: var(--av-text-primary); box-shadow: var(--av-shadow-control); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; line-height: 1; cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: transparent; background: var(--av-control-bg); }
.avera-icon-button svg { display: block; width: 18px; height: 18px; fill: none; stroke: currentcolor; stroke-width: var(--av-icon-stroke); stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.avera-icon-button:active { transform: scale(0.95); background: var(--av-control-bg); }
.avera-icon-button:focus-visible { outline-offset: 3px; background:var(--av-focus-action);}
.avera-modal-close { box-sizing: border-box; position: relative; flex: 0 0 38px; display: grid; place-items: center; width: 38px; height: 38px; min-width: 38px; min-height: 38px; margin: 0px; padding: 0px; color: var(--av-text-primary); box-shadow: var(--av-shadow-control); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; line-height: 1; cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: transparent; background: var(--av-control-bg); }
.avera-modal-close svg { width: 18px; height: 18px; display: block; fill: none; stroke: currentcolor; stroke-width: var(--av-icon-stroke); stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
html[data-theme="dark"] .avera-modal-close { border-color: transparent; background: var(--av-control-bg); box-shadow:var(--av-shadow-control);}
@media (hover: hover) and (pointer: fine) {
  .avera-modal-close:hover { color: var(--av-text-primary); box-shadow: var(--av-shadow-control); transform: rotate(4deg) scale(1.02); background: var(--av-focus-action); }
}
.avera-modal-close:active { transform: scale(0.92); }
.avera-modal-close:focus-visible { outline-offset: 3px; background:var(--av-focus-action);}
.avera-modal-close--corner { position: absolute; top: 14px; z-index: 80; }
@media (max-width: 640px) {
  .avera-modal-close--corner { top: 12px; left: 12px; right: auto; }
}
#loginOverlay > .roleBox{ position: relative; }
#feedbackOverlay > .feedbackBox{ position: relative; }
#installOverlay > .installBox{ position: relative; }
#themeOverlay > .themeBox{ position: relative; }
.avera-about-hero-card{ position: relative; }
#toast { position: fixed; left: 50%; bottom: calc(var(--av-mobile-dock-clearance) + env(safe-area-inset-bottom)); transform: translate(-50%, 8px); z-index: 100000; max-width: min(440px, -32px + 100vw); width: max-content; box-sizing: border-box; padding: 12px 16px; color: var(--av-text-primary); box-shadow: rgba(0, 0, 0, 0.133) 0px 6px 24px; opacity: 0; visibility: hidden; pointer-events: none; font-size: 13px; font-weight: 500; line-height: 1.45; overflow-wrap: anywhere; background: var(--av-surface-1); }
#toast.show { opacity: 1; visibility: visible; transform: translate(-50%, 0px); }
#toast.success { }
@media (prefers-reduced-motion: reduce) {
  .avera-icon-button{ transition: none; }
.avera-modal-close{ transition: none; }
#toast{ transition: none; }
  .avera-icon-button:active, .avera-modal-close:hover, .avera-modal-close:active { transform: none; }
}
.avera-modal-close--corner { left: auto !important; right: 14px !important; }
@media (max-width: 640px) {
  .avera-modal-close--corner { left: auto !important; right: 12px !important; }
}
#roleOverlay { display: none !important; }
html{ font-family: var(--av-font-sans) !important; }
body{ font-family: var(--av-font-sans) !important; }
button{ font-family: var(--av-font-sans) !important; }
input{ font-family: var(--av-font-sans) !important; }
select{ font-family: var(--av-font-sans) !important; }
textarea{ font-family: var(--av-font-sans) !important; }
option{ font-family: var(--av-font-sans) !important; }
body:not([data-role="staff"]) { --bg: var(--av-bg-app); --panel: var(--av-surface-1); --panel-2: var(--av-surface-2); --text: var(--av-text-primary); --muted: var(--av-text-secondary); --faint: var(--av-text-muted); --accent: var(--av-accent); --accent-strong: var(--av-accent); --accent-soft: var(--av-accent-soft); --border: var(--av-border-default); --border-soft: var(--av-border-subtle); color: var(--av-text-primary); }
:where(button, a, input, textarea, select, summary, [role="button"]):focus-visible { outline-offset: 3px; }
.av-surface { background:var(--av-card-bg); box-shadow: var(--av-shadow-card); border-radius: 22px; }
.av-well { background:var(--av-well); box-shadow: var(--av-shadow-well); border-radius: 16px; }
.av-control { background:var(--av-control-bg); box-shadow: var(--av-shadow-control); border: 0px; border-radius: 13px; min-height: 44px; color: var(--av-text-primary); transition:transform var(--av-motion-fast) var(--av-ease-standard),box-shadow var(--av-motion-fast) var(--av-ease-standard),color var(--av-motion-fast) var(--av-ease-standard),background-color var(--av-motion-base) var(--av-ease-standard); }
.av-control:active { box-shadow: var(--av-shadow-pressed); transform: translateY(1px); }
.av-primary { background:var(--av-primary-gradient); color: var(--av-primary-ink); box-shadow:var(--av-shadow-primary);}
:is(.av-primary,.btn.primary,.avk-btn.primary,.pak-t-btn.primary,.au-workspace-primary,.au-primary,.ae-primary,.sa-primary,.sp-primary,.ad-primary,.pn-primary,.a2-primary,.at-send,.at-home-action,.parent-primary,.cta):focus-visible,.device[data-access-theme] .cta:focus-visible{outline:none;background:var(--av-primary-focus);color:var(--av-primary-ink);box-shadow:var(--av-shadow-primary);filter:none}

.avera-icon-button, .avera-modal-close { background:var(--av-control-bg)!important; border:0!important; box-shadow:var(--av-shadow-control)!important; width:44px;height:44px;min-width:44px;min-height:44px;color:var(--av-text-primary)!important;}
.avera-icon-button:active, .avera-modal-close:active { box-shadow: var(--av-shadow-pressed); transform: translateY(1px); }
.avera-modal-close--corner { left: auto; right: 14px; }
@media (prefers-reduced-motion: reduce) {
  .av-control { transition: none; transform: none; }
}
.av-confirm { border: 0px; border-radius: 25px; padding: 26px; max-width: 430px; width: calc(-32px + 100vw); background: var(--av-surface-1); color: var(--av-text-primary); box-shadow: var(--av-shadow-modal); }
.av-confirm::backdrop { background: rgba(5, 15, 21, 0.58); }
.av-confirm h2 { font-size: 23px; line-height: 1.2; letter-spacing: -0.03em; margin: 0px 0px 14px; }
.av-confirm p { font-size: 14px; line-height: 1.55; color: var(--av-text-secondary); margin: 0px 0px 24px; }
.av-confirm-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.av-confirm-actions button { padding: 12px 16px; min-height: 48px; font-size: 13px; }

/* Shared motion language: brief, responsive and never continuously decorative. */
@keyframes av-page-enter { from { opacity:0; transform:translate3d(0,10px,0) scale(.995); } to { opacity:1; transform:none; } }
@keyframes av-dialog-enter { from { opacity:0; transform:translate3d(0,14px,0) scale(.985); } to { opacity:1; transform:none; } }
@keyframes av-backdrop-enter { from { opacity:0; } to { opacity:1; } }
#mobileContent.av-page-enter { animation:av-page-enter 340ms cubic-bezier(.16,1,.3,1) both; }
:where(.au-dialog,.av-confirm,.av-release,.at-sheet,.au-special-dialog)[open] { animation:av-dialog-enter var(--av-motion-panel) var(--av-ease-enter) both; transform-origin:50% 24%; }
:where(.au-dialog,.av-confirm,.av-release,.at-sheet,.au-special-dialog)::backdrop { animation:av-backdrop-enter var(--av-motion-ui) var(--av-ease-enter) both; }
:where(.roleOverlay,.notice-center-overlay,.notice-overlay,.pak-t-overlay).open { animation:av-backdrop-enter var(--av-motion-ui) var(--av-ease-enter) both; }
:where(.roleOverlay.open>.roleBox,.notice-center-overlay.open>.notice-center-dialog,.notice-overlay.open>.notice-dialog,.pak-t-overlay.open>.pak-t-sheet) { animation:av-dialog-enter var(--av-motion-panel) var(--av-ease-enter) both; transform-origin:50% 24%; }
@media (hover:hover) and (pointer:fine) { .av-control:hover { transform:translateY(-1px); } }
@media (prefers-reduced-motion: reduce) {
  #mobileContent.av-page-enter{ animation:none!important; }
:where(.au-dialog,.av-confirm,.av-release,.at-sheet,.au-special-dialog)[open]{ animation:none!important; }
:where(.au-dialog,.av-confirm,.av-release,.at-sheet,.au-special-dialog)::backdrop{ animation:none!important; }
:where(.roleOverlay,.notice-center-overlay,.notice-overlay,.pak-t-overlay).open{ animation:none!important; }
:where(.roleOverlay.open>.roleBox,.notice-center-overlay.open>.notice-center-dialog,.notice-overlay.open>.notice-dialog,.pak-t-overlay.open>.pak-t-sheet){ animation:none!important; }
}

/* Stage 1: shared geometry and state rules for existing base controls. */
.avera-icon-button,.avera-modal-close{flex:0 0 44px;border-radius:13px;transition:transform var(--av-motion-interaction) var(--av-ease-standard),box-shadow var(--av-motion-interaction) var(--av-ease-standard),color var(--av-motion-ui) var(--av-ease-standard)}
:where(button,a,input,textarea,select,summary,[role="button"]):focus-visible{outline:none;outline-offset:3px;filter:brightness(1.13)}
:where(.av-control,.avera-icon-button,.avera-modal-close):disabled{opacity:.5;cursor:default;box-shadow:none!important;transform:none!important;pointer-events:auto}
.avera-modal-close:hover{transform:none}
:where(.av-control,.avera-icon-button,.avera-modal-close):not(:disabled):active{transform:translateY(1px);box-shadow:var(--av-shadow-pressed)!important}
@media(prefers-reduced-motion:reduce){.av-control,.avera-icon-button,.avera-modal-close{transition:none!important;transform:none!important}}

.av-control:not(.av-primary):focus-visible{outline:none;outline-offset:3px;background:var(--av-focus-action);}
.avera-icon-button:focus-visible{outline:none;outline-offset:3px;background:var(--av-focus-action);}
.avera-modal-close:focus-visible{outline:none;outline-offset:3px;background:var(--av-focus-action);}
.at-close:focus-visible{outline:none;outline-offset:3px}


/* RC22: one dismiss control, 44px hit area with a restrained 36px surface. */
html body :is(.avera-modal-close,.au-dialog>header>[data-close],#averaAccounts [data-sa="close"]:not([data-av-control]),.ae-side-title [data-ae="close"],#loginOverlay #loginClose,#aboutClose:not([data-av-control]),#feedbackClose,#themeOverlayClose,.avr-close,.at-close,.av-special-close,.a2-sheet [data-a2-close],#avera-update-ready [data-update-dismiss]){
 position:relative;box-sizing:border-box;display:grid!important;place-items:center;flex:0 0 44px;width:44px!important;height:44px!important;min-width:44px;min-height:44px;margin:0;padding:0!important;border:0!important;border-radius:14px!important;background:var(--av-control-bg)!important;background-image:var(--av-control-bg)!important;color:var(--av-text-primary)!important;box-shadow:var(--av-shadow-control)!important;line-height:1;cursor:pointer;isolation:isolate;touch-action:manipulation;transition:color var(--av-motion-ui) var(--av-ease-standard),transform var(--av-motion-interaction) var(--av-ease-standard);transform:none;
}
html body :is(.avera-modal-close,.au-dialog>header>[data-close],#averaAccounts [data-sa="close"]:not([data-av-control]),.ae-side-title [data-ae="close"],#loginOverlay #loginClose,#aboutClose:not([data-av-control]),#feedbackClose,#themeOverlayClose,.avr-close,.at-close,.av-special-close,.a2-sheet [data-a2-close],#avera-update-ready [data-update-dismiss])::before{
 content:""!important;position:absolute;inset:4px!important;border:1px solid var(--av-border-subtle)!important;border-radius:11px!important;background:var(--av-surface-elevated)!important;box-shadow:var(--av-shadow-control)!important;pointer-events:none;backdrop-filter:none!important;
}
html body :is(.avera-modal-close,.au-dialog>header>[data-close],#averaAccounts [data-sa="close"]:not([data-av-control]),.ae-side-title [data-ae="close"],#loginOverlay #loginClose,#aboutClose:not([data-av-control]),#feedbackClose,#themeOverlayClose,.avr-close,.at-close,.av-special-close,.a2-sheet [data-a2-close],#avera-update-ready [data-update-dismiss])::after{content:none!important}
html body :is(.avera-modal-close,.au-dialog>header>[data-close],#averaAccounts [data-sa="close"]:not([data-av-control]),.ae-side-title [data-ae="close"],#loginOverlay #loginClose,#aboutClose:not([data-av-control]),#feedbackClose,#themeOverlayClose,.avr-close,.at-close,.av-special-close,.a2-sheet [data-a2-close],#avera-update-ready [data-update-dismiss]) svg{position:relative;z-index:1;display:block;width:18px!important;height:18px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
html body :is(.avera-modal-close,.au-dialog>header>[data-close],#averaAccounts [data-sa="close"]:not([data-av-control]),.ae-side-title [data-ae="close"],#loginOverlay #loginClose,#aboutClose:not([data-av-control]),#feedbackClose,#themeOverlayClose,.avr-close,.at-close,.av-special-close,.a2-sheet [data-a2-close],#avera-update-ready [data-update-dismiss]):focus-visible{outline:none!important;outline-offset:2px;background:var(--av-focus-action);}
html body :is(.avera-modal-close,.au-dialog>header>[data-close],#averaAccounts [data-sa="close"]:not([data-av-control]),.ae-side-title [data-ae="close"],#loginOverlay #loginClose,#aboutClose:not([data-av-control]),#feedbackClose,#themeOverlayClose,.avr-close,.at-close,.av-special-close,.a2-sheet [data-a2-close],#avera-update-ready [data-update-dismiss]):active{transform:translateY(1px)}
html body :is(.avera-modal-close,.au-dialog>header>[data-close],#averaAccounts [data-sa="close"]:not([data-av-control]),.ae-side-title [data-ae="close"],#loginOverlay #loginClose,#aboutClose:not([data-av-control]),#feedbackClose,#themeOverlayClose,.avr-close,.at-close,.av-special-close,.a2-sheet [data-a2-close],#avera-update-ready [data-update-dismiss]):active::before{box-shadow:var(--av-shadow-pressed)!important}
@media(hover:hover){html body :is(.avera-modal-close,.au-dialog>header>[data-close],#averaAccounts [data-sa="close"]:not([data-av-control]),.ae-side-title [data-ae="close"],#loginOverlay #loginClose,#aboutClose:not([data-av-control]),#feedbackClose,#themeOverlayClose,.avr-close,.at-close,.av-special-close,.a2-sheet [data-a2-close],#avera-update-ready [data-update-dismiss]):hover{color:var(--av-text-primary)!important;transform:none}}
@media(prefers-reduced-motion:reduce){html body .avera-modal-close{transition:none!important;transform:none!important}}

html body :is(.avera-modal-close--corner,.avr-close,.at-dialog .at-close,.av-special-v2 .av-special-close){position:absolute!important}
/* RC22 update offer keeps the existing nonmodal semantics and coordinator. */
html body #avera-update-ready.au-update-ready{z-index:1200;inset:auto 16px calc(var(--av-mobile-dock-clearance,100px) + env(safe-area-inset-bottom));width:calc(100% - 32px);max-width:480px;margin:0 0 0 auto;padding:18px;border:1px solid transparent;border-radius:20px;background:var(--av-surface-1);color:var(--av-text-primary);box-shadow:var(--av-shadow-modal);font:14px/1.45 var(--av-font-sans)}
html body #avera-update-ready[hidden]{display:none!important}
#avera-update-ready .av-update-head{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:start}
#avera-update-ready .av-update-head strong{display:block;font-size:17px;line-height:1.25;padding-top:6px;color:var(--av-text-primary)}
#avera-update-ready [data-update-text]{margin:10px 0 16px;color:var(--av-text-secondary)}
#avera-update-ready .av-shell-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
#avera-update-ready [data-update-recovery]{display:block;margin-top:12px;color:var(--av-accent-strong);font-weight:650}
#avera-update-ready [data-update-recovery][hidden]{display:none}
#avera-update-ready[aria-busy="true"] [data-update-now]{cursor:progress}
@media(max-width:640px){html body #avera-update-ready.au-update-ready{left:12px;right:12px;width:calc(100% - 24px);max-width:none;padding:16px;bottom:calc(100px + env(safe-area-inset-bottom))}}


/* RC23: reset native bevels at the shared control foundation; preserve depth. */
:where(button,input[type="button"],input[type="submit"],fieldset){appearance:none;border-style:solid;border-width:1px;border-color:var(--av-border-default);background-clip:padding-box}
:root{--av-shadow-control:inset 0 1px 2px #ffffffb3,0 4px 8px -3px #1c415036,0 1px 3px #1c415012;--av-shadow-card:0 4px 13px -5px #234b5d26,0 1px 3px #234b5d0b;--av-shadow-well:inset 0 2px 5px #31546617,inset 0 -1px 2px #ffffff80;--av-shadow-pressed:inset 0 2px 5px #29475925;--av-bg-app:#e8f0f4;--av-surface-1:#eff4f7;--av-surface-2:#e8f0f4;--av-surface-elevated:#ffffff;--av-card-end:#fafcfd;--av-raised:#ffffff;--av-raised-end:#f5fafc;--av-well:#e1eaf0;--av-text-primary:#203640;--av-text-secondary:#546d79;--av-text-muted:#546d79;--av-accent-gradient:linear-gradient(145deg,#007f84,#006f77);--av-accent-ink:#fff;--av-primary-gradient:linear-gradient(145deg,#007f84,#006f77);--av-primary-ink:#fff;--av-primary-color:#007f84;--av-border-subtle:rgba(40,76,94,.10);--av-border-default:rgba(40,76,94,.16);--av-divider:rgba(84,109,121,.13);--av-focus-action:#e2edf3;--av-focus-well:#d9e5ed;--av-selected-ink:#006d77;--av-focus-ring:none;--av-shadow-modal:0 16px 42px -20px #1438464d;--av-shadow-primary:inset 0 1px 2px #ffffff35,0 4px 9px -4px #006b7d52;--av-primary-focus:linear-gradient(180deg,#006e75,#00646b);--av-shadow-float:0 8px 20px -8px #234b5d36,0 1px 3px #234b5d12;--av-card-bg:linear-gradient(180deg,var(--av-surface-elevated),var(--av-card-end));--av-control-bg:linear-gradient(180deg,var(--av-raised),var(--av-raised-end));--av-selected-bg:var(--av-control-bg);--av-secondary-bg:var(--av-control-bg);--av-lesson-bg:var(--av-card-bg);--av-lesson-shadow:0 3px 8px -4px #234b5d40;--av-icon-tile-bg:var(--av-control-bg);}
html[data-theme="dark"]{--av-shadow-control:inset 0 1px 2px #d3eaf21b,0 4px 8px -2px #0006,0 1px 3px #0004;--av-shadow-card:0 5px 14px -4px #0005,0 1px 3px #0002;--av-shadow-well:inset 0 2px 5px #0005,inset 0 -1px 2px #62839616;--av-shadow-pressed:inset 0 3px 6px #0006;--av-bg-app:#0c1921;--av-surface-1:#13242d;--av-surface-2:#0f2029;--av-surface-elevated:#20343f;--av-card-end:#1a2f39;--av-raised:#395c6b;--av-raised-end:#2e4d5b;--av-well:#0c1d26;--av-text-primary:#f0f6f8;--av-text-secondary:#adc2cc;--av-text-muted:#adc2cc;--av-accent-gradient:linear-gradient(145deg,#43cdbb,#27b4a5);--av-accent-ink:#082622;--av-primary-gradient:linear-gradient(180deg,#248175 0%,#1e7d72 70%,#1b7a70 100%);--av-primary-ink:#f5fffc;--av-primary-color:#248175;--av-border-subtle:rgba(184,214,225,.10);--av-border-default:rgba(184,214,225,.16);--av-divider:rgba(183,203,211,.13);--av-focus-action:#4b6b7a;--av-focus-well:#18313c;--av-selected-ink:#7bddcf;--av-focus-ring:none;--av-shadow-modal:0 18px 46px -19px #0009;--av-shadow-primary:inset 0 1px 2px rgba(230,255,249,.32),0 4px 9px -3px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.14);--av-primary-focus:linear-gradient(180deg,#1d776d,#176f66);--av-shadow-float:0 9px 20px -7px #0007,0 1px 3px #0003;--av-card-bg:linear-gradient(180deg,var(--av-surface-elevated),var(--av-card-end));--av-control-bg:linear-gradient(180deg,var(--av-raised),var(--av-raised-end));--av-selected-bg:linear-gradient(180deg,#2c4652,#243b46);--av-secondary-bg:linear-gradient(180deg,#29444f,#213943);--av-lesson-bg:var(--av-card-bg);--av-lesson-shadow:0 3px 8px -4px #0008;--av-icon-tile-bg:linear-gradient(180deg,#304b55,#253d47);}
html body :is(.notice-history-card,.notice-admin-item,.information-card){border:1px solid transparent!important;background-image:var(--av-card-bg)!important;box-shadow:var(--av-shadow-card)!important}
html body :is(.notice-history-card,.notice-admin-item)::before,html body :is(.notice-history-card,.notice-admin-item)::after{content:none!important}
html body .notice-history-card.unread{border-color:transparent!important}
html body :is(.aw-week-arrow,.av-import-arrow){box-sizing:border-box;display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:1px solid transparent!important;border-radius:13px;background:var(--av-control-bg)!important;background-image:var(--av-control-bg)!important;color:var(--av-text-primary);box-shadow:var(--av-shadow-control)!important;touch-action:manipulation}
html body :is(.aw-week-arrow,.av-import-arrow)::before,html body :is(.aw-week-arrow,.av-import-arrow)::after{content:none!important}
html body :is(.aw-week-arrow,.av-import-arrow) svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
html body :is(.aw-week-arrow,.av-import-arrow):not(:disabled):active{box-shadow:var(--av-shadow-pressed)!important;transform:translateY(1px)}
html body :is(.aw-week-arrow,.av-import-arrow):disabled{opacity:.45;box-shadow:none!important}
html body :is(.aw-week-arrow,.av-import-arrow):focus-visible{outline:none;outline-offset:3px;background:var(--av-focus-action);}
html body[data-role="staff"] [data-av-selectable]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;background:transparent!important;padding:0!important;max-height:320px;overflow:auto;overscroll-behavior:contain}
html body [data-av-selectable] .av-selectable{box-sizing:border-box;display:flex!important;align-items:center;gap:9px;min-height:52px;min-width:0;padding:10px 12px!important;border:1px solid var(--av-border-default)!important;border-radius:14px!important;background:var(--av-surface-elevated)!important;color:var(--av-text-primary)!important;box-shadow:var(--av-shadow-control)!important;font-size:13px!important;line-height:1.3!important;cursor:pointer;transition:background-color var(--av-motion-ui) var(--av-ease-standard),box-shadow var(--av-motion-interaction) var(--av-ease-standard)}
html body [data-av-selectable] .av-selectable input{flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:var(--av-accent)}
html body [data-av-selectable] .av-selectable span{min-width:0;overflow-wrap:anywhere}
html body [data-av-selectable] .av-selectable:has(input:checked){border-color:var(--av-accent)!important;background:var(--av-accent-soft)!important;box-shadow:var(--av-shadow-pressed)!important;color:var(--av-accent-strong)!important}
html body [data-av-selectable] .av-selectable:focus-within{outline:none;outline-offset:-2px}
html body [data-av-selectable] .av-selectable:active{box-shadow:var(--av-shadow-pressed)!important}
html body [data-av-selectable] .av-selectable.is-long{grid-column:1/-1}
html body[data-role="staff"] [data-av-selectable="teachers"]{grid-template-columns:minmax(0,1fr)!important}
html body [data-av-selectable="teachers"] .av-selectable{height:52px;padding-block:8px!important}
html body [data-av-selectable="teachers"] .av-selectable span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-height:34px}
html body[data-role="staff"] [data-av-selectable][hidden]{display:none!important}
html body[data-role="staff"] [data-av-selectable] .av-selectable{height:52px!important;min-height:52px!important;padding-block:8px!important}
html body [data-av-selectable] .av-selectable::before,html body [data-av-selectable] .av-selectable::after{content:none!important}
@media(min-width:1100px){html body [data-av-selectable="groups"]{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(hover:hover){html body [data-av-selectable] .av-selectable:hover{border-color:var(--av-accent)!important}}
@media(prefers-reduced-motion:reduce){html body :is(.aw-week-arrow,.av-import-arrow,.av-selectable){transition:none!important;transform:none!important}}

/* Keyboard access remains visible in system high-contrast mode. */
@media(forced-colors:active){:where(button,a,input,textarea,select,summary,[role="button"]):focus-visible{outline:2px solid Highlight!important;outline-offset:3px;filter:none}}
