/* V6.212 — semantic colors for the application and its body-level portals.
   The school color stays --primary; operational contrast uses --dm-action-bg.
   Screen-only overrides leave exported/printed documents on white paper. */
@media screen {
 :root,html[data-dm-theme=light]{
  color-scheme:light;
  --dm-canvas:#f5f2ff;--dm-ink:#25213d;--dm-muted:#625b76;--dm-ink-2:#49415e;
  --surface:#fff;--surface-2:#f1ecfb;--dm-line:#e4def0;--dm-border-strong:#baabc9;
  --dm-brand-soft:#eee7ff;--dm-brand-border:#d6c8ef;--dm-accent-text:#50319a;--dm-accent-solid:#6947eb;
  --dm-success-soft:#e7f4ec;--dm-success-text:#246449;--dm-success-border:#badcc9;
  --dm-warning-soft:#fbefdc;--dm-warning-text:#805315;--dm-warning-border:#e9d1aa;
  --dm-danger-soft:#fbe9ed;--dm-danger-text:#a52c4b;--dm-danger-border:#e8bdc7;
  --dm-badge-bg:#b52255;--dm-badge-text:#fff;--dm-scrim:#17132380;
  --dm-shadow:0 7px 24px #3c286909;--dm-chat-own:#eee7ff;--dm-chat-own-text:#352457;
 }
 html[data-dm-theme=dark]{
  color-scheme:dark;
  --dm-canvas:#171323;--dm-ink:#f4f0ff;--dm-muted:#c2b8d1;--dm-ink-2:#e0d5ef;
  --surface:#241d34;--surface-2:#302640;--dm-line:#483c60;--dm-border-strong:#685681;
  --dm-brand-soft:#3b2d57;--dm-brand-border:#695386;--dm-accent-text:#dccbff;--dm-accent-solid:#6947eb;
  --dm-success-soft:#243b32;--dm-success-text:#ade8c7;--dm-success-border:#476c57;
  --dm-warning-soft:#403524;--dm-warning-text:#efd09c;--dm-warning-border:#7a6240;
  --dm-danger-soft:#442d3c;--dm-danger-text:#ffb9c8;--dm-danger-border:#855368;
  --dm-badge-bg:#b52255;--dm-badge-text:#fff;--dm-scrim:#080510a6;
  --dm-shadow:0 7px 24px #0002;--dm-chat-own:#49346d;--dm-chat-own-text:#fff;
 }
 /* Historical aliases resolve to the same active palette. */
 html:root{
  --bg:var(--dm-canvas);--dm-bg:var(--dm-canvas);--dm-bg-2:var(--surface-2);
  --ink:var(--dm-ink);--text:var(--dm-ink);--dm-text:var(--dm-ink);
  --muted:var(--dm-muted);--text-muted:var(--dm-muted);--dm-text-soft:var(--dm-muted);
  --line:var(--dm-line);--border:var(--dm-line);--dm-border:var(--dm-line);--dm-hairline:var(--dm-line);
  --dm-card:var(--surface);--dm-surface:var(--surface);--dm-surface-solid:var(--surface);
  --dm-brand-soft-2:var(--surface-2);--dm-brand-solid:var(--dm-action-bg,var(--primary));
  --dm-danger:var(--dm-danger-text);--red:var(--dm-danger-text);--red-soft:var(--dm-danger-soft);
  --dm-success:var(--dm-success-text);--green:var(--dm-success-text);--green-soft:var(--dm-success-soft);
  --dm-warning:var(--dm-warning-text);--orange:var(--dm-warning-text);--orange-soft:var(--dm-warning-soft);
  --shadow:var(--dm-shadow);
 }
 html body{background:var(--dm-canvas)!important;color:var(--dm-ink)!important}
 html body :is(#app,#modalWrap,#mobileMorePortal,.dm-unified-notice,.dm-notice-panel){caret-color:var(--dm-ink)}
 html body :is(#modalWrap,.mobile-more-backdrop){background:var(--dm-scrim)!important}
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal,.dm-unified-notice,.dm-notice-panel) :is(.panel-head,.modal-head,.modal-foot,.mobile-more-sheet,.mobile-more-head,.mobile-more-grid,.mobile-more-grid button,.mobile-more-logout,.dm-teacher-message-head){background:var(--surface)!important;color:var(--dm-ink)!important;border-color:var(--dm-line)!important}
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal,.dm-unified-notice,.dm-notice-panel) :is(.btn-primary,.dm-access-enter,.btn-dark){background:var(--dm-action-bg,var(--primary))!important;color:#fff!important;border-color:var(--dm-action-bg,var(--primary))!important}
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal,.dm-unified-notice,.dm-notice-panel) :is(.btn-primary,.dm-access-enter,.btn-dark) :is(span,strong,small){color:inherit!important}
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal,.dm-unified-notice,.dm-notice-panel) :is(.btn-soft,.dm-appearance-options button.active){background:var(--dm-brand-soft)!important;color:var(--dm-accent-text)!important;border-color:var(--dm-brand-border)!important}
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal,.dm-unified-notice,.dm-notice-panel) :is(.btn-ghost,.icon-btn,.dm-access-close,.calendar-arrow){background:var(--surface-2)!important;color:var(--dm-ink-2)!important;border-color:var(--dm-border-strong)!important}
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal,.dm-unified-notice,.dm-notice-panel) :is(.btn-success,.status.ok,.att-dot.p,.renewal-ok,.permission-yes){background:var(--dm-success-soft)!important;color:var(--dm-success-text)!important;border-color:var(--dm-success-border)!important}
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal,.dm-unified-notice,.dm-notice-panel) :is(.btn-orange,.status.warn,.att-dot.na){background:var(--dm-warning-soft)!important;color:var(--dm-warning-text)!important;border-color:var(--dm-warning-border)!important}
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal,.dm-unified-notice,.dm-notice-panel) :is(.btn-danger,.btn-danger-soft,.status.bad,.att-dot.a){background:var(--dm-danger-soft)!important;color:var(--dm-danger-text)!important;border-color:var(--dm-danger-border)!important}
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal,.dm-unified-notice,.dm-notice-panel) :is(.status,.btn-soft,.btn-ghost,.btn-success,.btn-orange,.btn-danger,.btn-danger-soft,.renewal-ok) :is(span,strong,small){color:inherit!important}
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal) :is(input:not([data-dm-search-ready]):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=file]),textarea,select){background:var(--surface-2)!important;color:var(--dm-ink)!important;border-color:var(--dm-border-strong)!important}
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal) :is(input,textarea)::placeholder{color:var(--dm-muted)!important;opacity:1}
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal) :is(input[type=checkbox],input[type=radio],input[type=range]){accent-color:var(--dm-action-bg,var(--primary));color:var(--dm-ink)}
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal) input[type=file]{color:var(--dm-ink)!important;background:var(--surface-2)!important;border-color:var(--dm-border-strong)!important}
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal) input::file-selector-button{background:var(--dm-brand-soft);color:var(--dm-accent-text);border:1px solid var(--dm-brand-border);border-radius:8px;padding:8px 12px;cursor:pointer}
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal) :is(button,input,textarea,select,a,summary):focus-visible{outline:2px solid var(--dm-accent-text)!important;outline-offset:3px}
 /* Secondary copy uses an AA-readable neutral in either theme. */
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal) :is(.panel-sub,.field-help,.eyebrow,.dm-page-kicker,.dm-chat-compose>small,.dm-chat-peer-copy small,.teacher-section-head p,.teacher-profile-contact,.staff-profile-contact,.staff-profile-state small,.profile-data-list>div>span,.teacher-payroll-values span,.teacher-payroll-kpi>span,.teacher-payroll-kpi>small,.teacher-expense-field>label,.monthly-report-field>label,.annual-report-field>label,.home-quick-actions small,.student-summary-card small,.teacher-own-course p,.teacher-own-course .grow>span,.admin-details-hint,.dm-agenda-weekdays,.dm-agenda-legend,.dm-agenda-day-empty,.dm-student-mobile-detail,.dm-student-desktop-detail,.dm-course-facts span,.dm-course-fee em){color:var(--dm-muted)!important}
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal) :is(.calendar-nav strong,.enrollment-name,.course-detail-kpi strong,.super-revenue-card strong,.super-ratio-list strong){color:var(--dm-ink)!important}
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal) :is(.section-title,.dashboard-section-label,.dm-mail-dot,.dm-mail-folders button.active,.cash-filter-tabs button.active,.cash-filter-tabs button.active>span,.dm-text-button){color:var(--dm-accent-text)!important}
 html body :is(#app #content,#modalWrap .modal) :is(.amount-ok,.amount-due,.teacher-payroll-due b){color:var(--dm-danger-text)!important}
 html body :is(#app #content,#modalWrap .modal) .amount-ok{color:var(--dm-success-text)!important}
 html body :is(#app #content,#modalWrap .modal) .dm-student-chips .btn.selected{background:var(--dm-brand-soft)!important;color:var(--dm-accent-text)!important;border-color:var(--dm-brand-border)!important}
 html body :is(#app,#modalWrap,#mobileMorePortal) :is(.dm-menu-count,.dm-communication-count,.teacher-nav-message-count){background:var(--dm-badge-bg)!important;color:var(--dm-badge-text)!important;border:1px solid var(--surface)!important}
 html body :is(#app #content,#app .teacher-app) .dm-chat-bubble{background:var(--surface-2)!important;color:var(--dm-ink)!important;border-color:var(--dm-line)!important}
 html body :is(#app #content,#app .teacher-app) .dm-chat-message.own .dm-chat-bubble{background:var(--dm-chat-own)!important;color:var(--dm-chat-own-text)!important;border-color:var(--dm-brand-border)!important}
 html body :is(#app #content,#app .teacher-app) .dm-chat-message .dm-chat-stamp,
 html body :is(#app #content,#app .teacher-app) .dm-chat-message .dm-chat-stamp :is(time,.dm-chat-receipt,.dm-chat-receipt-label,.dm-chat-incoming-state){color:var(--dm-muted)!important}
 html body :is(#app #content,#app .teacher-app) .dm-chat-message.own .dm-chat-stamp,
 html body :is(#app #content,#app .teacher-app) .dm-chat-message.own .dm-chat-stamp :is(time,.dm-chat-receipt,.dm-chat-receipt-label){color:var(--dm-chat-own-text)!important;opacity:1!important}
 html body #app .teacher-school-brand .school-brand-initials{background:var(--dm-brand-soft)!important;color:var(--dm-accent-text)!important;border-color:var(--dm-brand-border)!important}
 html body #app :is(.mobile-nav,.teacher-bottom-nav){background:var(--surface)!important;border-color:var(--dm-line)!important}
 html body #app :is(.mobile-nav,.teacher-bottom-nav) button:not(.active){color:var(--dm-muted)!important}
 html body #app :is(.mobile-nav,.teacher-bottom-nav) button.active{background:var(--dm-brand-soft)!important;color:var(--dm-accent-text)!important}
 html body #app :is(.mobile-nav,.teacher-bottom-nav) button.active>.dm-tab-icon{background:var(--dm-action-bg,var(--primary))!important;color:#fff!important}
 html body #app .teacher-bottom-nav button>span{color:inherit!important}
 html[data-dm-theme=dark] body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal) :is(.shell,.premium-teacher-app,.dm-teacher-messages,.dm-chat-thread,.dm-chat-messages){background:var(--dm-canvas)!important;color:var(--dm-ink)!important}
 html[data-dm-theme=dark] body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal) :is(.super-revenue-card,.super-ratio-list>div,.course-detail-kpi,.due-calculation,.enrollment-check,.schedule-box,.teacher-course-choice,.lesson-history-panel,.dm-access-section,.receipt-count-label,.toolbar-counter,.course-register-month-wrap,.month-weekday){background:var(--surface-2)!important;color:var(--dm-ink)!important;border-color:var(--dm-line)!important}
 html[data-dm-theme=dark] body :is(#app #content,#modalWrap .modal) :is(.enrollment-check.selected,.teacher-course-choice.selected){background:var(--dm-brand-soft)!important;border-color:var(--dm-brand-border)!important}
 html[data-dm-theme=dark] body :is(#app #content,#modalWrap .modal) .teacher-course-check{background:var(--surface-2)!important;color:var(--dm-accent-text)!important;border-color:var(--dm-border-strong)!important}
 html[data-dm-theme=dark] body :is(#app #content,#modalWrap .modal) table :is(td,th){background:var(--surface)!important;border-color:var(--dm-line)!important;color:var(--dm-ink-2)!important}
 html[data-dm-theme=dark] body :is(#app #content,#modalWrap .modal) table th{background:var(--surface-2)!important;color:var(--dm-muted)!important}
 html[data-dm-theme=dark] body #app #content table tbody tr:hover>td{background:var(--surface-2)!important}
 html[data-dm-theme=dark] body :is(#app #content,#app .teacher-app,#modalWrap .modal) :is(.home-quick-actions button>span,.teacher-blocked-card-icon,.teacher-profile-avatar,.economic-percent,.location-brand-initials){background:var(--dm-brand-soft)!important;color:var(--dm-accent-text)!important;border-color:var(--dm-brand-border)!important}
 html[data-dm-theme=dark] body #app .location-brand-initials{background:var(--dm-brand-soft)!important;color:var(--dm-accent-text)!important}
 html[data-dm-theme=dark] body :is(#app #content,#modalWrap .modal) :is(.dm-access-section-heading span,.enrollment-meta,.super-revenue-card span,.super-revenue-card small,.super-ratio-list span,.super-ratio-list small,.course-detail-kpi span){color:var(--dm-muted)!important}
 html[data-dm-theme=dark] body :is(#app #content,#app .teacher-app) :is(.dm-chat-contact-meta time,.dm-agenda-day-empty){color:var(--dm-muted)!important}
 html[data-dm-theme=dark] body #app #content .dm-mail-thread article.outgoing{background:var(--dm-brand-soft)!important}
 html[data-dm-theme=dark] body :is(#app,#modalWrap) :is(.chart text,.annual-chart text){fill:var(--dm-muted)!important}
 html[data-dm-theme=dark] body :is(#app,#modalWrap) .chart .grid{stroke:var(--dm-line)!important}
 /* Complete profile/helper copy and state labels. */
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal) :is(.student-profile-kpis small,.teacher-profile-kpis small,.staff-profile-kpis small,.profile-course-row small,.teacher-profile-course-row small,.profile-history-row small,.lock-note,.dashboard-date-card small,.dm-task-eyebrow,.attendance-date-card small,.dm-communication-empty,.tag){color:var(--dm-muted)!important}
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal) :is(.performance-rank,.economic-percent){background:var(--dm-brand-soft)!important;color:var(--dm-accent-text)!important}
 html body #app .location-brand-initials{color:var(--dm-accent-text)!important;background:var(--dm-brand-soft)!important}
 html body :is(#app #content,#modalWrap .modal) .dm-task-priority{background:var(--dm-warning-soft)!important;color:var(--dm-warning-text)!important}
 html body :is(#app #content,#app .teacher-app) .dm-agenda-calendar .dm-agenda-day .dm-agenda-day-empty{color:var(--dm-muted)!important}
 html[data-dm-theme] body #app .teacher-bottom-nav .teacher-nav-message-count{color:var(--dm-badge-text)!important}
 html[data-dm-theme=dark] body #modalWrap .modal .enrollment-card{background:var(--surface-2)!important;border-color:var(--dm-line)!important}
 html[data-dm-theme=dark] body #modalWrap .modal .enrollment-card.selected{background:var(--dm-brand-soft)!important;border-color:var(--dm-brand-border)!important}
 html[data-dm-theme=dark] body #app #content .student-summary-card>.icon{background:var(--dm-brand-soft)!important;color:var(--dm-accent-text)!important}
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal) :is(button,.btn,.icon-btn,input,textarea,select){transition-property:transform,box-shadow,opacity!important}
 html body :is(#app #content,#modalWrap .modal) table th{color:var(--dm-muted)!important}
 html body #modalWrap .modal .due-calculation strong{color:var(--dm-accent-text)!important}
 html body :is(#app #content,#app .teacher-app,#modalWrap .modal,#mobileMorePortal) :is(.dm-access-intro,.dm-access-clear,.dm-access-agenda-counts,.dm-access-agenda-list small,.dm-access-stat small,.dm-access-stat span){color:var(--dm-muted)!important}
 html body :is(#app #content,#modalWrap .modal) .due-calculation strong{color:var(--dm-accent-text)!important}
 html body #modalWrap #dmAccessSummaryTitle{color:var(--dm-ink)!important}
 html body #modalWrap .modal .dm-access-threads .dm-chat-avatar{background:var(--dm-brand-soft)!important;color:var(--dm-accent-text)!important}
 html body :is(#app #content,#modalWrap .modal) .location-brand-initials{background:var(--dm-brand-soft)!important;color:var(--dm-accent-text)!important}
 html body :is(#app #content,#modalWrap .modal) .dm-doc-state.none{background:var(--surface-2)!important;color:var(--dm-muted)!important}
 html[data-dm-theme=dark] body #modalWrap .modal .location-logo-editor{background:var(--surface-2)!important;border-color:var(--dm-line)!important}
 html body #app .login-wrap{background:radial-gradient(ellipse at 20% 10%,#493168,transparent 65%),#211933!important}
 html body #app .login-card :is(p,.login-security){color:var(--dm-muted)!important}
 html body #app .login-card input{font-size:16px!important}
 html body #app .school-chip .school-brand-initials{display:grid!important;place-items:center!important;background:var(--dm-brand-soft)!important;color:var(--dm-accent-text)!important;font-size:13px!important;font-weight:700!important;letter-spacing:0!important;line-height:1!important;margin:0!important;flex-shrink:0}
 html body #app .login-live-badge{background:var(--dm-brand-soft)!important;color:var(--dm-accent-text)!important;border-color:var(--dm-brand-border)!important}
 html body #app .login-card>.dm-brand-lockup{min-width:0;max-width:100%;gap:10px!important}
 @media(max-width:380px){
  html body #app .login-card{padding:22px!important;min-width:0;max-width:100%}
  html body #app .login-card>.dm-brand-lockup .dm-brand-mark{width:48px!important;height:48px!important;flex:0 0 48px!important}
  html body #app .login-card>.dm-brand-lockup .dm-brand-name{font-size:22px!important;white-space:normal!important}
  html body #app .login-card>.dm-brand-lockup .dm-brand-tagline{font-size:8px!important;letter-spacing:.12em!important;white-space:normal!important}
  html body #app .login-card h1{font-size:25px!important}
 }
 html body #modalWrap .dm-admin-access-body .field-help{font-size:13px!important;line-height:1.55!important}
 /* V6.213: opaque message previews and stable title/close alignment. */
 html body #dmUnifiedNotice{background:var(--surface)!important;color:var(--dm-ink)!important;border-color:var(--dm-brand-border)!important;box-shadow:0 16px 48px #0003,0 0 0 1px var(--dm-brand-soft),0 0 22px var(--dm-brand-soft)!important;display:grid!important;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:12px!important;isolation:isolate}
 html body #dmUnifiedNotice>div{min-width:0}
 html body #dmUnifiedNotice>div>strong{display:block;padding-right:44px;line-height:1.45;color:var(--dm-ink)!important;overflow-wrap:anywhere}
 html body #dmUnifiedNotice :is(p,small){color:var(--dm-muted)!important;overflow-wrap:anywhere}
 html body #dmUnifiedNotice>.icon-btn{position:absolute;right:12px;top:12px;width:40px!important;height:40px!important;min-height:40px!important;display:grid;place-items:center;padding:0!important;background:var(--surface-2)!important;color:var(--dm-ink-2)!important;border:1px solid var(--dm-line)!important;border-radius:12px!important}
 html body #dmUnifiedNotice .dm-home-support-icon{width:34px!important;height:34px!important;background:var(--dm-brand-soft)!important;color:var(--dm-accent-text)!important;border-color:var(--dm-brand-border)!important;box-shadow:none!important}
 html body #dmUnifiedNotice .dm-toast-actions .btn{justify-content:space-between;text-align:left;min-width:0;line-height:1.45}
 html body #dmUnifiedNotice :is(button,a):focus-visible{outline:2px solid var(--dm-accent-text)!important;outline-offset:3px}
 html body #dmUnifiedNotice:focus-within{outline:2px solid var(--dm-accent-text)!important;outline-offset:3px}
 html body #modalWrap .modal-head>div{min-width:0}
 html body #modalWrap .modal-head>.icon-btn{flex-shrink:0!important;align-self:flex-start}
 @media(max-width:700px){html body #dmUnifiedNotice .dm-toast-actions .btn{width:100%;min-height:44px!important}}
 /* Stable mobile layout: no clipped form text or brand/title overlap. */
 html body :is(#app #content,#modalWrap .modal) :is(.field,.grow,.dm-mail-reader,.dm-chat-peer-copy){min-width:0}
 html body :is(#app #content,#modalWrap .modal) :is(.modal-head h2,.modal-head strong,.student-profile-head h2,.teacher-profile-head h2,.staff-profile-head h2){overflow-wrap:anywhere}
 @media(max-width:700px){
  html body #app .topbar .topbar-right{background:transparent!important}
  html body #app .topbar .mobile-school-brand{min-width:0;flex:1}
  html body #app .topbar .mobile-school-brand>div{min-width:0}
  html body #app .topbar .mobile-school-brand strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  html body #app .teacher-head-actions{flex-shrink:0}
  html body #app #content .students-table-wrap tbody>tr>td{background:transparent!important}
  html body :is(#app #content,#modalWrap .modal) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),textarea,select){font-size:16px!important}
 }
 @media(prefers-reduced-motion:reduce){html body :is(#app,#modalWrap,#mobileMorePortal) *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
}
/* The account's display preference never recolors document paper. */
@media print {
 html body{background:#fff!important;color:#182c35!important;color-scheme:light}
 html body .payment-receipt{background:#fff!important;color:#182c35!important;color-scheme:light}
}
