/* Generated from src/design-system. Do not edit. */
:root {
  --alma-color-blue: #4175C8;
  --alma-color-orange: #EB562A;
  --alma-color-orangeAction: #CE4B25;
  --alma-color-white: #FFFFFF;
  --alma-color-gray100: #EEEEEE;
  --alma-color-graphite: #222222;
  --alma-color-black: #000000;
  --alma-color-muted: #7B7B7B;
  --alma-space-1: 4px;
  --alma-space-2: 8px;
  --alma-space-3: 12px;
  --alma-space-4: 16px;
  --alma-space-5: 24px;
  --alma-space-6: 32px;
  --alma-space-7: 48px;
  --alma-radius-none: 0;
  --alma-radius-sm: 2px;
  --alma-radius-md: 4px;
  --alma-radius-lg: 6px;
  --alma-radius-xl: 8px;
  --alma-shadow-card: 0 4px 14px rgba(0,0,0,.10);
  --alma-shadow-overlay: 0 18px 50px rgba(0,0,0,.24);
  --alma-surface-canvas: #FAFAF8;
  --alma-surface-card: #FFFFFF;
  --alma-surface-elevated: #FFFFFF;
  --alma-surface-strong: #F3F4F2;
  --alma-text-primary: #171717;
  --alma-text-secondary: #656565;
  --alma-text-inverse: #FFFFFF;
  --alma-border-default: #DCDDD8;
  --alma-border-strong: #BFC1BB;
  --alma-action-primary: #CE4B25;
  --alma-action-primaryHover: #B74320;
  --alma-action-primaryText: #FFFFFF;
  --alma-action-secondary: #FFFFFF;
  --alma-navigation-active: #E8EFFA;
  --alma-status-success: #197A57;
  --alma-status-successSurface: #E7F5EF;
  --alma-status-warning: #8F5F00;
  --alma-status-warningSurface: #FFF3D6;
  --alma-status-error: #B42318;
  --alma-status-errorSurface: #FDECEC;
  --alma-status-info: #2B62AA;
  --alma-status-infoSurface: #E8EFFA;
  --alma-motion-fast: 160ms;
  --alma-motion-normal: 220ms;
  --alma-motion-overlay: 300ms;
  --alma-motion-standard: cubic-bezier(.2,.8,.2,1);
  --alma-motion-entrance: cubic-bezier(.16,1,.3,1);
}
:root[data-theme="dark"], body.theme-dark {
  --alma-surface-canvas: #11161C;
  --alma-surface-card: #182029;
  --alma-surface-elevated: #202A35;
  --alma-surface-strong: #293542;
  --alma-text-primary: #F4F7FA;
  --alma-text-secondary: #B4C0CC;
  --alma-text-inverse: #11161C;
  --alma-border-default: #394653;
  --alma-border-strong: #586777;
  --alma-action-primary: #CE4B25;
  --alma-action-primaryHover: #E66740;
  --alma-action-primaryText: #FFFFFF;
  --alma-action-secondary: #202A35;
  --alma-navigation-active: #263A57;
  --alma-status-success: #57B98D;
  --alma-status-successSurface: #163C30;
  --alma-status-warning: #F1C56C;
  --alma-status-warningSurface: #473816;
  --alma-status-error: #F28B82;
  --alma-status-errorSurface: #4A2020;
  --alma-status-info: #8DB8F4;
  --alma-status-infoSurface: #203C60;
}
  *, *::before, *::after { box-sizing: border-box; }
  button, input, select, textarea { font: inherit; }
  button, select { cursor: pointer; }
  button:disabled, input:disabled, select:disabled, textarea:disabled { cursor: not-allowed; opacity: .55; }


  :root { color-scheme: light; --alma-font: Inter, Roboto, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
  :root[data-theme="dark"], body.theme-dark { color-scheme: dark; }


  .alma-type-display { font: 600 48px/1.08 var(--alma-font); letter-spacing: 0; }
  .alma-type-page-title { font: 700 32px/1.15 var(--alma-font); letter-spacing: 0; }
  .alma-type-section-title { font: 600 24px/1.2 var(--alma-font); letter-spacing: 0; }
  .alma-type-card-title { font: 600 20px/1.25 var(--alma-font); letter-spacing: 0; }
  .alma-type-body { font: 400 16px/1.5 var(--alma-font); }
  .alma-type-compact { font: 400 14px/1.45 var(--alma-font); }
  .alma-type-label { font: 600 14px/1.3 var(--alma-font); }
  .alma-type-metadata { font: 500 12px/1.35 var(--alma-font); }


  :root { --alma-focus-ring: 0 0 0 3px color-mix(in srgb, var(--alma-action-primary) 28%, transparent); }
  .alma-button, body.ui-v2 .btn, body.ui-v2 .btn-v2, body.ui-v2 .mobile-action-btn-v2 {
    min-height: 40px; border: 1px solid var(--alma-border-default); border-radius: var(--alma-radius-md); padding: 8px 12px;
    background: var(--alma-action-secondary); color: var(--alma-text-primary); font: 600 14px/1.2 var(--alma-font);
    transition: background-color var(--alma-motion-fast) var(--alma-motion-standard), border-color var(--alma-motion-fast) var(--alma-motion-standard), color var(--alma-motion-fast) var(--alma-motion-standard), box-shadow var(--alma-motion-fast) var(--alma-motion-standard);
  }
  .alma-button:hover, body.ui-v2 .btn:hover, body.ui-v2 .btn-v2:hover, body.ui-v2 .mobile-action-btn-v2:hover { border-color: var(--alma-border-strong); box-shadow: 0 2px 6px rgba(0,0,0,.10); transform: none; }
  .alma-button:focus-visible, body.ui-v2 button:focus-visible, body.ui-v2 a:focus-visible, body.ui-v2 input:focus-visible, body.ui-v2 select:focus-visible, body.ui-v2 textarea:focus-visible { outline: none; box-shadow: var(--alma-focus-ring); }
  .alma-button--primary, body.ui-v2 .btn.primary, body.ui-v2 .btn-v2.primary, body.ui-v2 .mobile-action-btn-v2.primary { background: var(--alma-action-primary) !important; border-color: var(--alma-action-primary) !important; color: var(--alma-action-primaryText) !important; }
  #loggedOut .btn.primary.alma-button--primary { background: var(--alma-action-primary) !important; border-color: var(--alma-action-primary) !important; color: var(--alma-action-primaryText) !important; }
  .alma-button--primary:hover, body.ui-v2 .btn.primary:hover, body.ui-v2 .btn-v2.primary:hover, body.ui-v2 .mobile-action-btn-v2.primary:hover { background: var(--alma-action-primary-hover) !important; border-color: var(--alma-action-primary-hover) !important; }
  .alma-button--danger { background: var(--alma-status-error-surface); border-color: var(--alma-status-error); color: var(--alma-status-error); }
  .alma-card, body.ui-v2 .surface-v2, body.ui-v2 .task-create-panel, body.ui-v2 .v2-modal-panel, body.ui-v2 .confirm-dialog { background: var(--alma-surface-card); border-color: var(--alma-border-default); border-radius: var(--alma-radius-xl); box-shadow: var(--alma-shadow-card); }
  .alma-card--brand { border-left: 3px solid var(--alma-action-primary); }
  .alma-kpi-card { border-top: 3px solid var(--alma-action-primary); }
  .alma-field, body.ui-v2 input, body.ui-v2 select, body.ui-v2 textarea { border-color: var(--alma-border-default); background: var(--alma-surface-elevated); color: var(--alma-text-primary); border-radius: var(--alma-radius-md); }
  .alma-field:focus, body.ui-v2 input:focus, body.ui-v2 select:focus, body.ui-v2 textarea:focus { border-color: var(--alma-action-primary); }
  .alma-modal, body.ui-v2 .v2-modal-backdrop { animation: alma-overlay-in var(--alma-motion-overlay) var(--alma-motion-entrance) both; }
  .alma-bottom-sheet { border-radius: var(--alma-radius-xl) var(--alma-radius-xl) 0 0; }
  .alma-badge { display: inline-flex; align-items: center; min-height: 22px; padding: 3px 7px; border-radius: 999px; font: 600 12px/1 var(--alma-font); background: var(--alma-navigation-active); color: var(--alma-action-primary-hover); }
  .alma-fab { border-radius: 50%; min-width: 48px; min-height: 48px; }
  .alma-test-mode-card, body.ui-v2 .task-dryrun-result { background: var(--alma-status-info-surface); border-color: var(--alma-status-info); color: var(--alma-text-primary); border-radius: var(--alma-radius-xl); }
  @keyframes alma-overlay-in { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }
  @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
  @media (max-width: 640px) { .alma-button, body.ui-v2 .btn, body.ui-v2 .btn-v2, body.ui-v2 .mobile-action-btn-v2 { min-height: 44px; } body.ui-v2 .task-create-panel, body.ui-v2 .v2-modal-panel { border-radius: 0; } }


/*
 * DS-1B compatibility rollout.
 *
 * This layer maps the existing portal's feature-owned selectors to the ALMA
 * design system. It deliberately does not alter DOM structure or handlers:
 * task, calendar, report, standards and voice behavior remain feature-owned.
 */

/* Legacy variables now resolve to semantic design tokens. */
:root,
body.ui-v2 {
  --bg: var(--alma-surface-canvas);
  --panel: var(--alma-surface-card);
  --panel-muted: var(--alma-surface-strong);
  --surface: var(--alma-surface-card);
  --app-surface-solid: var(--alma-surface-card);
  --text: var(--alma-text-primary);
  --text-primary: var(--alma-text-primary);
  --text-muted: var(--alma-text-secondary);
  --text-secondary: var(--alma-text-secondary);
  --muted: var(--alma-text-secondary);
  --border: var(--alma-border-default);
  --border-strong: var(--alma-border-strong);
  --brand: var(--alma-action-primary);
  --brand-dark: var(--alma-action-primary-hover);
  --brand-soft: var(--alma-navigation-active);
  --accent: var(--alma-action-primary);
  --danger: var(--alma-status-error);
  --danger-soft: var(--alma-status-error-surface);
  --warning: var(--alma-status-warning);
  --warning-soft: var(--alma-status-warning-surface);
  --ok: var(--alma-status-success);
  --success: var(--alma-status-success);
  --success-soft: var(--alma-status-success-surface);
  --info: var(--alma-status-info);
  --info-soft: var(--alma-status-info-surface);
  --radius: var(--alma-radius-lg);
  --radius-sm: var(--alma-radius-md);
  --radius-lg: var(--alma-radius-xl);
  --shadow: var(--alma-shadow-card);
  --shadow-panel: var(--alma-shadow-card);
  --v2-bg: var(--alma-surface-canvas);
  --v2-ink: var(--alma-text-primary);
  --v2-muted: var(--alma-text-secondary);
  --v2-line: var(--alma-border-default);
  --v2-glass: var(--alma-surface-card);
  --v2-glass-strong: var(--alma-surface-elevated);
  --v2-shadow: var(--alma-shadow-card);
}

body,
body.ui-v2 {
  background: var(--alma-surface-canvas);
  color: var(--alma-text-primary);
  font-family: var(--alma-font);
}

body.ui-v2 .app {
  background: var(--alma-surface-canvas);
}

/* Shared controls: square, dense, predictable operational geometry. */
body.ui-v2 :is(.btn, .btn-v2, .mobile-action-btn-v2, .nav-item-v2, .saved-view-v2, .person-filter-v2, .filter-btn, .calendar-view-btn-v2, .report-pack-tab, .snapshot-report-tab, .report-module-tab, .report-mobile-tab) {
  border-radius: var(--alma-radius-md);
  font-family: var(--alma-font);
  letter-spacing: 0;
  transition: background-color var(--alma-motion-fast) var(--alma-motion-standard), border-color var(--alma-motion-fast) var(--alma-motion-standard), color var(--alma-motion-fast) var(--alma-motion-standard), box-shadow var(--alma-motion-fast) var(--alma-motion-standard);
}

body.ui-v2 :is(.btn, .btn-v2, .mobile-action-btn-v2) {
  min-height: 40px;
  background: var(--alma-action-secondary);
  border-color: var(--alma-border-default);
  color: var(--alma-text-primary);
  box-shadow: none;
}

body.ui-v2 :is(.btn, .btn-v2, .mobile-action-btn-v2):hover {
  background: var(--alma-surface-strong);
  border-color: var(--alma-border-strong);
  box-shadow: none;
  transform: none;
}

body.ui-v2 :is(.btn.primary, .btn-v2.primary, .mobile-action-btn-v2.primary, .calendar-view-btn-v2.active, .report-pack-tab.active, .snapshot-report-tab.active, .report-module-tab.active, .btn.action-active) {
  background: var(--alma-action-primary);
  border-color: var(--alma-action-primary);
  color: var(--alma-action-primaryText);
  box-shadow: none;
}

body.ui-v2 :is(.btn.problem, .btn.danger, .btn-v2.danger, .btn.action-problem-active) {
  background: var(--alma-status-error-surface);
  border-color: var(--alma-status-error);
  color: var(--alma-status-error);
}

body.ui-v2 :is(.btn.ghost, .btn-v2.ghost) {
  background: transparent;
  border-color: transparent;
}

body.ui-v2 :is(button, a, input, select, textarea, summary):focus-visible {
  outline: none;
  box-shadow: var(--alma-focus-ring);
  position: relative;
  z-index: 1;
}

body.ui-v2 :is(input, select, textarea, .search-v2, .calendar-search-v2) {
  min-height: 40px;
  border-radius: var(--alma-radius-md);
  border-color: var(--alma-border-default);
  background: var(--alma-surface-elevated);
  color: var(--alma-text-primary);
  font-family: var(--alma-font);
}

body.ui-v2 :is(input, select, textarea, .search-v2, .calendar-search-v2):focus {
  border-color: var(--alma-action-primary);
  box-shadow: var(--alma-focus-ring);
  background: var(--alma-surface-elevated);
}

body.ui-v2 :is(label, .field label, .deadline-field-v2 label, .snapshot-report-form .field label, .mobile-calendar-field-v2 label) {
  color: var(--alma-text-secondary);
  font: 600 12px/1.35 var(--alma-font);
  letter-spacing: 0;
}

/* Shell and navigation. */
body.ui-v2 .nav-rail,
body.ui-v2 .command-bar,
body.ui-v2 .surface-v2,
body.ui-v2 .calendar-panel-v2,
body.ui-v2 .snapshot-report-panel,
body.ui-v2 .report-mobile-card {
  border-color: var(--alma-border-default);
  border-radius: var(--alma-radius-xl);
  background: var(--alma-surface-card);
  box-shadow: var(--alma-shadow-card);
  backdrop-filter: none;
}

body.ui-v2 .nav-rail { gap: var(--alma-space-4); padding: var(--alma-space-4); }
body.ui-v2 .nav-brand-v2,
body.ui-v2 .panel-head-v2,
body.ui-v2 .calendar-head-v2,
body.ui-v2 .v2-list-footer { border-color: var(--alma-border-default); background: var(--alma-surface-elevated); }
body.ui-v2 .nav-brand-v2 b,
body.ui-v2 .module-title-v2 h1,
body.ui-v2 .panel-head-v2 h2,
body.ui-v2 .calendar-head-v2 h2 { color: var(--alma-text-primary); letter-spacing: 0; }
body.ui-v2 :is(.nav-brand-v2 span, .module-title-v2 p, .nav-section-title, .panel-head-v2 span, .calendar-head-v2 span, .v2-list-footer) { color: var(--alma-text-secondary); }

body.ui-v2 :is(.nav-item-v2, .saved-view-v2, .person-filter-v2) {
  min-height: 40px;
  color: var(--alma-text-primary);
}
body.ui-v2 :is(.nav-item-v2:hover, .saved-view-v2:hover, .person-filter-v2:hover) {
  background: var(--alma-surface-strong);
  border-color: var(--alma-border-default);
  transform: none;
}
body.ui-v2 :is(.nav-item-v2.active, .saved-view-v2.active, .person-filter-v2.active) {
  background: var(--alma-navigation-active);
  border-color: var(--alma-action-primary);
  color: var(--alma-action-primary-hover);
}
body.ui-v2 :is(.nav-item-v2 .ico, .nav-badge-v2) { color: var(--alma-action-primary); }
body.ui-v2 .nav-badge-v2 { border-radius: var(--alma-radius-md); background: var(--alma-surface-strong); }

/* Cards, lists, badges, and system feedback. */
body.ui-v2 :is(.kpi-v2, .critical-item-v2, .insight-card-v2, .task-row-v2, .snapshot-report-row, .snapshot-report-task, .report-topic, .meeting-card, .agenda-card, .decision-card, .attachment-card-v2) {
  border-color: var(--alma-border-default);
  border-radius: var(--alma-radius-lg);
  background: var(--alma-surface-card);
  box-shadow: none;
}
body.ui-v2 :is(.kpi-v2, .critical-item-v2, .insight-card-v2, .snapshot-report-row, .meeting-card):hover {
  border-color: var(--alma-border-strong);
  box-shadow: var(--alma-shadow-card);
  transform: none;
}
body.ui-v2 :is(.kpi-v2.active, .snapshot-report-row.active, .task-row-v2.selected, .task-row-v2:hover) {
  background: var(--alma-navigation-active);
  border-color: var(--alma-action-primary);
}
body.ui-v2 :is(.kpi-v2 .label, .kpi-v2 .hint, .task-main-v2 small, .task-cell-v2, .task-last-entry-v2, .report-kpi .label, .report-kpi .hint, .snapshot-report-row-meta, .snapshot-report-task .meta) { color: var(--alma-text-secondary); }
body.ui-v2 :is(.kpi-v2 .value, .task-main-v2 b, .snapshot-report-row strong, .snapshot-report-task strong) { color: var(--alma-text-primary); }

body.ui-v2 :is(.badge, .alma-badge, .task-indicator-v2, .snapshot-status-badge, .snapshot-report-status, .meeting-status-badge, .decision-status-badge, .agenda-priority-badge) {
  border: 1px solid var(--alma-border-default);
  border-radius: var(--alma-radius-md);
  background: var(--alma-surface-strong);
  color: var(--alma-text-secondary);
  font-family: var(--alma-font);
}
body.ui-v2 :is(.badge.brand, .task-indicator-v2.has-data, .snapshot-status-badge.brand) { background: var(--alma-navigation-active); border-color: var(--alma-action-primary); color: var(--alma-action-primary-hover); }
body.ui-v2 :is(.badge.ok, .meeting-status-badge.completed, .decision-status-badge.completed) { background: var(--alma-status-success-surface); border-color: var(--alma-status-success); color: var(--alma-status-success); }
body.ui-v2 :is(.badge.warn, .agenda-priority-badge.high, .agenda-priority-badge.urgent) { background: var(--alma-status-warning-surface); border-color: var(--alma-status-warning); color: var(--alma-status-warning); }
body.ui-v2 :is(.badge.danger, .snapshot-review-badge) { background: var(--alma-status-error-surface); border-color: var(--alma-status-error); color: var(--alma-status-error); }

body.ui-v2 :is(.empty, .loading, .snapshot-report-empty, .snapshot-report-loading, .system-note) {
  border-color: var(--alma-border-default);
  border-radius: var(--alma-radius-lg);
  background: var(--alma-surface-strong);
  color: var(--alma-text-secondary);
}
body.ui-v2 :is(.error, .snapshot-report-error, .deadline-error-v2, .voice-draft-error-v2) {
  border-color: var(--alma-status-error);
  border-radius: var(--alma-radius-lg);
  background: var(--alma-status-error-surface);
  color: var(--alma-status-error);
}

/* Forms, task-create, custom schedule and all overlay variants. */
body.ui-v2 :is(.v2-modal-backdrop, .attachment-preview-backdrop-v2, .voice-draft-backdrop-v2, .task-create-backdrop, .confirm-dialog-backdrop) {
  background: color-mix(in srgb, var(--alma-text-primary) 38%, transparent);
  backdrop-filter: none;
}
body.ui-v2 :is(.v2-modal-panel, .task-create-panel, .permission-panel, .settings-panel-v2, .calendar-desktop-modal-card-v2, .attachment-preview-panel-v2, .voice-draft-panel-v2, .confirm-dialog) {
  border-color: var(--alma-border-default);
  border-radius: var(--alma-radius-xl);
  background: var(--alma-surface-card);
  box-shadow: var(--alma-shadow-overlay);
}
body.ui-v2 :is(.v2-modal-head, .permission-head, .voice-draft-head-v2, .attachment-preview-head-v2, .mobile-calendar-sheet-head-v2) {
  border-color: var(--alma-border-default);
  background: var(--alma-surface-elevated);
}
body.ui-v2 :is(.v2-modal-body, .permission-body, .voice-draft-body-v2, .attachment-preview-body-v2) { background: var(--alma-surface-card); }
body.ui-v2 :is(.v2-modal-foot, .permission-footer, .voice-draft-footer-v2, .mobile-calendar-sheet-footer-v2, .task-create-footer) {
  border-color: var(--alma-border-default);
  background: var(--alma-surface-elevated);
}
body.ui-v2 :is(.task-type-card-v2, .calendar-add-type-card-v2, .calendar-form-section, .calendar-reminder-fields-v2, .deadline-current-v2, .voice-draft-card-v2, .voice-mode-card-v2, .voice-draft-quiz-v2, .custom-schedule-card, .custom-schedule-picker) {
  border-color: var(--alma-border-default);
  border-radius: var(--alma-radius-lg);
  background: var(--alma-surface-strong);
  box-shadow: none;
}
body.ui-v2 :is(.task-type-card-v2.selected, .calendar-add-type-card-v2.selected, .voice-mode-card-v2.selected, .voice-draft-option-v2.selected) {
  border-color: var(--alma-action-primary);
  background: var(--alma-navigation-active);
}
body.ui-v2 .task-dryrun-result { border-radius: var(--alma-radius-lg); box-shadow: none; }

/* Calendar uses the shared operational surface and semantic event states. */
body.ui-v2 :is(.calendar-view-switch-v2, .alma-calendar-toolbar, .calendar-desktop-toolbar) {
  border-color: var(--alma-border-default);
  border-radius: var(--alma-radius-lg);
  background: var(--alma-surface-strong);
}
body.ui-v2 :is(.calendar-day-v2, .alma-calendar-day-cell, .alma-calendar-time-slot, .alma-calendar-all-day, .alma-calendar-details, .alma-calendar-agenda) {
  border-color: var(--alma-border-default);
  border-radius: var(--alma-radius-md);
  background: var(--alma-surface-card);
  color: var(--alma-text-primary);
}
body.ui-v2 :is(.calendar-day-v2.today, .alma-calendar-day-cell.is-today) { border-color: var(--alma-action-primary); box-shadow: inset 0 0 0 1px var(--alma-action-primary); }
body.ui-v2 :is(.calendar-day-v2.selected, .alma-calendar-day-cell.is-selected) { background: var(--alma-navigation-active); outline-color: var(--alma-action-primary); }
body.ui-v2 :is(.calendar-day-v2.weekend, .alma-calendar-day-cell.is-weekend) { background: var(--alma-surface-strong); }
body.ui-v2 :is(.calendar-event-v2, .alma-calendar-event-chip, .calendar-event-chip-v2) {
  border: 1px solid var(--alma-action-primary);
  border-radius: var(--alma-radius-sm);
  background: var(--alma-navigation-active);
  color: var(--alma-action-primary-hover);
}
body.ui-v2 :is(.alma-calendar-event-chip--private, .calendar-event-v2.private) { border-color: var(--alma-status-info); background: var(--alma-status-info-surface); color: var(--alma-status-info); }
body.ui-v2 :is(.alma-calendar-event-chip.is-done, .calendar-event-v2.done) { border-color: var(--alma-status-success); background: var(--alma-status-success-surface); color: var(--alma-status-success); }

/* Reports and analytical surfaces remain dense but inherit the same system. */
body.ui-v2 :is(.report-table-wrap, .snapshot-report-table-wrap) { border-color: var(--alma-border-default); border-radius: var(--alma-radius-lg); background: var(--alma-surface-card); }
body.ui-v2 :is(.report-table, .snapshot-report-table) { background: var(--alma-surface-card); color: var(--alma-text-primary); }
body.ui-v2 :is(.report-table th, .snapshot-report-table th) { background: var(--alma-surface-strong); border-color: var(--alma-border-default); color: var(--alma-text-secondary); }
body.ui-v2 :is(.report-table td, .snapshot-report-table td) { border-color: var(--alma-border-default); }
body.ui-v2 :is(.report-table tr:hover, .snapshot-report-table tr:hover, .report-owner-detail) { background: var(--alma-navigation-active); }
body.ui-v2 :is(.report-kpi, .snapshot-report-kpi, .snapshot-report-evidence-card, .report-decision, .snapshot-share-row, .snapshot-ai-card, .snapshot-ai-person) {
  border-color: var(--alma-border-default);
  border-radius: var(--alma-radius-lg);
  background: var(--alma-surface-strong);
}

/* Voice preserves its feature states while adopting the shared visual contract. */
body.ui-v2 :is(.voice-draft-fab-v2, .alma-fab) {
  border-radius: var(--alma-radius-lg);
  border-color: var(--alma-action-primary);
  background: var(--alma-action-primary);
  color: var(--alma-action-primaryText);
  box-shadow: var(--alma-shadow-card);
}
body.ui-v2 :is(.voice-draft-chip-v2, .voice-draft-option-v2, .voice-draft-notice-v2, .voice-chat-bubble-v2, .voice-realtime-panel-v2) {
  border-color: var(--alma-border-default);
  border-radius: var(--alma-radius-lg);
  background: var(--alma-surface-strong);
  color: var(--alma-text-primary);
}
body.ui-v2 .voice-chat-bubble-v2.assistant { background: var(--alma-navigation-active); border-color: var(--alma-action-primary); }
body.ui-v2 .voice-btn.recording { background: var(--alma-status-error-surface); border-color: var(--alma-status-error); color: var(--alma-status-error); }

/* Shared overlay feedback should never rely on a pill shape or perpetual motion. */
body.ui-v2 .toast { border-color: var(--alma-border-strong); border-radius: var(--alma-radius-lg); background: var(--alma-surface-elevated); color: var(--alma-text-primary); box-shadow: var(--alma-shadow-overlay); transition: opacity var(--alma-motion-normal) var(--alma-motion-standard), transform var(--alma-motion-normal) var(--alma-motion-standard); }

/*
 * The production compatibility page has a late operational-skin theme that
 * sets app/ops aliases and primary backgrounds with !important. Re-own those
 * aliases here, at the same theme scope, so the design-system layer remains
 * visible without replacing feature markup or event handlers.
 */
:root[data-theme] body.ui-v2 {
  --app-bg: var(--alma-surface-canvas) !important;
  --app-bg-elevated: var(--alma-surface-elevated) !important;
  --app-surface: var(--alma-surface-card) !important;
  --app-surface-solid: var(--alma-surface-card) !important;
  --app-surface-soft: var(--alma-surface-strong) !important;
  --app-surface-subtle: var(--alma-surface-strong) !important;
  --app-text: var(--alma-text-primary) !important;
  --app-text-strong: var(--alma-text-primary) !important;
  --app-muted: var(--alma-text-secondary) !important;
  --app-subtle: var(--alma-text-secondary) !important;
  --app-border: var(--alma-border-default) !important;
  --app-brand: var(--alma-action-primary) !important;
  --app-brand-dark: var(--alma-action-primary-hover) !important;
  --app-brand-soft: var(--alma-navigation-active) !important;
  --app-warning: var(--alma-status-warning) !important;
  --app-danger: var(--alma-status-error) !important;
  --app-success: var(--alma-status-success) !important;
  --d-brand: var(--alma-action-primary) !important;
  --d-brand-dark: var(--alma-action-primary-hover) !important;
  --m-blue: var(--alma-action-primary) !important;
  --ops-accent: var(--alma-action-primary) !important;
  --ops-accent-soft: var(--alma-navigation-active) !important;
  --ops-focus: var(--alma-focus-ring) !important;
  --brand: var(--alma-action-primary) !important;
  --brand-dark: var(--alma-action-primary-hover) !important;
  --brand-soft: var(--alma-navigation-active) !important;
}

:root[data-theme] body.ui-v2 .app {
  background: var(--alma-surface-canvas) !important;
  background-image: none !important;
}

:root[data-theme] body.ui-v2 :is(.btn.primary, .btn-v2.primary, .mobile-icon-btn-v2.primary, .mobile-action-btn-v2.primary, .task-actions-v2 .btn.small.action-active, .task-actions-v2 .btn.small.action-current, .report-module-tab.active, .report-pack-tab.active, .snapshot-report-tab.active) {
  background: var(--alma-action-primary) !important;
  background-image: none !important;
  border-color: var(--alma-action-primary) !important;
  color: var(--alma-action-primaryText) !important;
  box-shadow: none !important;
}

:root[data-theme] body.ui-v2 :is(.btn.primary, .btn-v2.primary, .mobile-icon-btn-v2.primary, .mobile-action-btn-v2.primary, .task-actions-v2 .btn.small.action-active, .task-actions-v2 .btn.small.action-current):hover {
  background: var(--alma-action-primary-hover) !important;
  border-color: var(--alma-action-primary-hover) !important;
}

:root[data-theme] body.ui-v2 :is(.nav-rail, .command-bar, .surface-v2, .calendar-panel-v2, .snapshot-report-panel, .report-mobile-card, .report-cockpit, .snapshot-report-task, .snapshot-report-kpi, .snapshot-report-evidence-card, .snapshot-share-row, .snapshot-ai-card, .snapshot-ai-person, .report-decision) {
  background: var(--alma-surface-card) !important;
  background-image: none !important;
  border-color: var(--alma-border-default) !important;
  border-radius: var(--alma-radius-lg) !important;
  box-shadow: none !important;
}

:root[data-theme] body.ui-v2 :is(.nav-item-v2.active, .saved-view-v2.active, .person-filter-v2.active, .task-row-v2.selected, .snapshot-report-row.active, .report-table tr:hover, .snapshot-report-table tr:hover) {
  background: var(--alma-navigation-active) !important;
  border-color: var(--alma-action-primary) !important;
  color: var(--alma-text-primary) !important;
  box-shadow: none !important;
}

/* Standards and LMS inherit the same semantic layer through the compatibility assets. */
:is(body.alma-standards-route, body.alma-standard-full-route, body.alma-material-detail, body.alma-standards-redesigned) {
  background: var(--alma-surface-canvas);
  color: var(--alma-text-primary);
  font-family: var(--alma-font);
}

:is(.alma-standards-intro, .alma-standard-practical, .alma-standard-practical__block, .alma-role-panel__intro, .alma-role-panel__outcome, .alma-learning-section, .alma-point, .alma-material, .alma-check-item, .alma-check-note, .alma-standard-full__header, .alma-material-full__header, .alma-standard-full__section, .alma-material-full__purpose, .alma-standard-full__example, .alma-material-full__purpose, .alma-training-rail, .alma-training-content, .alma-training-link-panel, .alma-training-link-panel__proof div) {
  border-color: var(--alma-border-default) !important;
  border-radius: var(--alma-radius-xl) !important;
  background: var(--alma-surface-card) !important;
  color: var(--alma-text-primary) !important;
  box-shadow: var(--alma-shadow-card) !important;
}

:is(.alma-standards-intro p, .alma-training-header__meta, .alma-training-rail__note, .alma-role-panel__source, .alma-standard-full__lead, .alma-standard-full__meta, .alma-material-full__meta, .alma-training-link-panel__source, .alma-training-link-panel__eyebrow) { color: var(--alma-text-secondary) !important; }

:is(.alma-training-tabs button, .alma-point__link, .alma-standard-full__back, .alma-material-full__back, .alma-standard-action, .alma-standard-full__material-link, .alma-training-link-panel__actions a, .alma-standard-modal__open, .alma-standard-modal__close) {
  min-height: 40px;
  border-color: var(--alma-border-default) !important;
  border-radius: var(--alma-radius-md) !important;
  background: var(--alma-action-secondary) !important;
  color: var(--alma-text-primary) !important;
  font-family: var(--alma-font) !important;
  box-shadow: none !important;
}

:is(.alma-training-tabs button[aria-selected="true"], .alma-standard-action--primary, .alma-standard-modal__close, .alma-standard-card-foot span) {
  border-color: var(--alma-action-primary) !important;
  background: var(--alma-action-primary) !important;
  color: var(--alma-action-primaryText) !important;
}

:is(.alma-point[open], .alma-point:hover, .alma-material:hover, a[data-alma-standard-card]:hover) {
  border-color: var(--alma-action-primary) !important;
  background: var(--alma-navigation-active) !important;
  box-shadow: var(--alma-shadow-card) !important;
  transform: none !important;
}

:is(.alma-standard-modal, .alma-standard-modal__panel) { border-radius: var(--alma-radius-xl); }
.alma-standard-modal { background: color-mix(in srgb, var(--alma-text-primary) 38%, transparent); backdrop-filter: none; }
.alma-standard-modal__panel, .alma-standard-modal__header { border-color: var(--alma-border-default); background: var(--alma-surface-card); }
:is(.alma-standards-route, .alma-standard-full-route, .alma-material-detail) :is(a, button, summary):focus-visible { outline: none; box-shadow: var(--alma-focus-ring); }

@media (max-width: 768px) {
  body.ui-v2 .app { padding: var(--alma-space-2); }
  body.ui-v2 :is(.nav-rail, .command-bar, .surface-v2, .calendar-panel-v2, .snapshot-report-panel) { border-radius: var(--alma-radius-lg); }
  body.ui-v2 :is(.v2-modal-panel, .task-create-panel, .permission-panel, .settings-panel-v2, .calendar-desktop-modal-card-v2, .voice-draft-panel-v2) { border-radius: var(--alma-radius-lg) var(--alma-radius-lg) 0 0; }
  body.ui-v2 :is(.btn, .btn-v2, .mobile-action-btn-v2, .nav-item-v2, .saved-view-v2, .person-filter-v2) { min-height: 44px; }
  body.ui-v2 :is(.mobile-bottom-nav-v2, #mobileShell nav) { background: var(--alma-surface-elevated); border-color: var(--alma-border-default); padding-bottom: max(var(--alma-space-2), env(safe-area-inset-bottom)); }
  :is(.alma-standard-modal__panel, .alma-training-link-panel, .alma-training-rail, .alma-training-content) { border-radius: var(--alma-radius-lg) !important; }
}

@media (prefers-reduced-motion: reduce) {
  body.ui-v2 :is(.voice-btn.recording, .voice-draft-pulse-v2) { animation: none; }
}

/*
 * ALMA AUTO reference visual pass.
 *
 * The public brand site uses a quiet canvas, strong type hierarchy, one
 * orange commitment action and blue only as a navigational signal. These
 * overrides transfer that visual grammar to the operational shell while
 * retaining every legacy element, event handler and route.
 */
body.ui-v2 {
  background: var(--alma-surface-canvas);
}

body.ui-v2 .app {
  background: var(--alma-surface-canvas) !important;
}

body.ui-v2 :is(.nav-rail, .command-bar, .surface-v2, .calendar-panel-v2, .snapshot-report-panel, .report-mobile-card, .report-cockpit) {
  border-radius: var(--alma-radius-none) !important;
  box-shadow: none !important;
}

body.ui-v2 .nav-rail {
  background: var(--alma-surface-card) !important;
  border: 0 !important;
  border-right: 1px solid var(--alma-border-default) !important;
  gap: var(--alma-space-2);
  padding: var(--alma-space-3) var(--alma-space-2);
}

body.ui-v2 .nav-brand-v2 {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--alma-border-default) !important;
  border-radius: 0 !important;
  margin-bottom: var(--alma-space-2);
  padding-bottom: var(--alma-space-3);
}

body.ui-v2 :is(.nav-item-v2, .saved-view-v2, .person-filter-v2) {
  border: 0 !important;
  border-left: 3px solid transparent !important;
  border-radius: 0 !important;
  color: var(--alma-text-secondary);
  min-height: 44px;
}

body.ui-v2 :is(.nav-item-v2:hover, .saved-view-v2:hover, .person-filter-v2:hover) {
  background: var(--alma-surface-strong) !important;
  border-left-color: var(--alma-border-strong) !important;
  color: var(--alma-text-primary);
}

body.ui-v2 :is(.nav-item-v2.active, .saved-view-v2.active, .person-filter-v2.active) {
  background: var(--alma-navigation-active) !important;
  border-left-color: var(--alma-color-blue) !important;
  border-color: transparent !important;
  border-left-color: var(--alma-color-blue) !important;
  color: var(--alma-text-primary) !important;
}

body.ui-v2 .command-bar {
  background: var(--alma-surface-card) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--alma-border-default) !important;
  padding: var(--alma-space-5) var(--alma-space-6) var(--alma-space-4);
}

body.ui-v2 .module-title-v2 h1 {
  color: var(--alma-text-primary);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0;
}

body.ui-v2 .module-title-v2 p {
  color: var(--alma-text-secondary);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
}

body.ui-v2 :is(.btn, .btn-v2, .mobile-action-btn-v2, .mobile-icon-btn-v2) {
  border-radius: var(--alma-radius-sm) !important;
  font-weight: 600;
}

body.ui-v2 :is(.btn.primary, .btn-v2.primary, .mobile-action-btn-v2.primary, .mobile-icon-btn-v2.primary) {
  background: var(--alma-action-primary) !important;
  border-color: var(--alma-action-primary) !important;
}

#loggedOut a[href$="login"].btn.primary {
  background: var(--alma-action-primary) !important;
  border-color: var(--alma-action-primary) !important;
  color: var(--alma-action-primaryText) !important;
}

body.ui-v2 :is(.calendar-view-btn-v2.active, .report-module-tab.active, .report-pack-tab.active, .snapshot-report-tab.active) {
  background: var(--alma-color-blue) !important;
  border-color: var(--alma-color-blue) !important;
  color: var(--alma-text-inverse) !important;
}

body.ui-v2 :is(.kpi-v2, .critical-item-v2, .insight-card-v2, .task-row-v2, .snapshot-report-row, .snapshot-report-task, .report-topic, .meeting-card, .agenda-card, .decision-card, .attachment-card-v2, .report-kpi, .snapshot-report-kpi, .snapshot-report-evidence-card, .report-decision, .snapshot-share-row, .snapshot-ai-card, .snapshot-ai-person) {
  background: var(--alma-surface-card) !important;
  border-color: var(--alma-border-default) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.ui-v2 :is(.kpi-v2, .critical-item-v2, .insight-card-v2, .snapshot-report-row, .meeting-card):hover {
  background: var(--alma-surface-strong) !important;
  border-color: var(--alma-border-strong) !important;
  box-shadow: none !important;
}

body.ui-v2 :is(.kpi-v2.active, .snapshot-report-row.active, .task-row-v2.selected, .task-row-v2:hover) {
  background: var(--alma-navigation-active) !important;
  border-color: var(--alma-color-blue) !important;
}

body.ui-v2 :is(.panel-head-v2, .calendar-head-v2, .v2-list-footer, .report-table th, .snapshot-report-table th) {
  background: var(--alma-surface-strong) !important;
  border-color: var(--alma-border-default) !important;
}

body.ui-v2 :is(.badge, .alma-badge, .task-indicator-v2, .snapshot-status-badge, .snapshot-report-status, .meeting-status-badge, .decision-status-badge, .agenda-priority-badge) {
  border-radius: var(--alma-radius-sm) !important;
  font-size: 12px;
  font-weight: 600;
}

body.ui-v2 :is(.v2-modal-panel, .task-create-panel, .permission-panel, .settings-panel-v2, .calendar-desktop-modal-card-v2, .attachment-preview-panel-v2, .voice-draft-panel-v2, .confirm-dialog) {
  border-radius: var(--alma-radius-xl) !important;
  box-shadow: var(--alma-shadow-overlay) !important;
}

body.ui-v2 :is(.task-type-card-v2, .calendar-add-type-card-v2, .calendar-form-section, .calendar-reminder-fields-v2, .deadline-current-v2, .voice-draft-card-v2, .voice-mode-card-v2, .voice-draft-quiz-v2, .custom-schedule-card, .custom-schedule-picker) {
  background: var(--alma-surface-card) !important;
  border-radius: var(--alma-radius-sm) !important;
}

body.ui-v2 :is(.task-type-card-v2.selected, .calendar-add-type-card-v2.selected, .voice-mode-card-v2.selected, .voice-draft-option-v2.selected) {
  background: var(--alma-navigation-active) !important;
  border-left: 3px solid var(--alma-color-blue) !important;
}

body.ui-v2 :is(.calendar-day-v2, .alma-calendar-day-cell, .alma-calendar-time-slot, .alma-calendar-all-day, .alma-calendar-details, .alma-calendar-agenda, .calendar-event-v2, .alma-calendar-event-chip, .calendar-event-chip-v2) {
  border-radius: 0 !important;
}

@media (max-width: 768px) {
  body.ui-v2 .app {
    padding: 0;
  }

  body.ui-v2 .command-bar {
    padding: var(--alma-space-4) var(--alma-space-3) var(--alma-space-3);
  }

  body.ui-v2 .module-title-v2 h1 {
    font-size: 22px;
  }

  body.ui-v2 :is(.surface-v2, .calendar-panel-v2, .snapshot-report-panel, .report-mobile-card, .kpi-v2, .task-row-v2, .insight-card-v2) {
    border-radius: 0 !important;
  }

  body.ui-v2 :is(.mobile-bottom-nav-v2, #mobileShell nav) {
    background: var(--alma-surface-card) !important;
    border-top: 1px solid var(--alma-border-default) !important;
    box-shadow: 0 -4px 14px color-mix(in srgb, var(--alma-text-primary) 8%, transparent) !important;
  }
}

/*
 * Light operational geometry reset.
 *
 * The reconciled task shell still includes a late legacy "lux" theme with
 * gradients, blur and decorative radii. Keep that feature-owned CSS intact,
 * but win its cascade here with source-owned semantic tokens. This is a
 * visual bridge only: DOM structure, listeners and task data stay unchanged.
 */
:root[data-theme="light"] body.ui-v2 {
  --v2-bg: var(--alma-surface-canvas) !important;
  --v2-ink: var(--alma-text-primary) !important;
  --v2-muted: var(--alma-text-secondary) !important;
  --v2-line: var(--alma-border-default) !important;
  --v2-glass: var(--alma-surface-card) !important;
  --v2-glass-strong: var(--alma-surface-card) !important;
  --v2-shadow: none !important;
  --app-bg: var(--alma-surface-canvas) !important;
  --app-surface: var(--alma-surface-card) !important;
  --app-surface-solid: var(--alma-surface-card) !important;
  --app-surface-soft: var(--alma-surface-strong) !important;
  --app-text: var(--alma-text-primary) !important;
  --app-muted: var(--alma-text-secondary) !important;
  --app-border: var(--alma-border-default) !important;
  --d-brand: var(--alma-color-blue) !important;
  --d-brand-soft: var(--alma-navigation-active) !important;
  --d-text: var(--alma-text-primary) !important;
  --d-muted: var(--alma-text-secondary) !important;
  --d-border: var(--alma-border-default) !important;
  --d-shadow-card: none !important;
  --lux-aubergine: var(--alma-text-primary) !important;
  --lux-champagne: var(--alma-surface-strong) !important;
  --lux-ivory: var(--alma-surface-canvas) !important;
  --lux-gradient-glass: var(--alma-surface-card) !important;
  --lux-gradient-soft: var(--alma-surface-strong) !important;
  --lux-shadow-card: none !important;
  --lux-shadow-panel: none !important;
  --lux-radius-card: var(--alma-radius-none) !important;
  --lux-radius-control: var(--alma-radius-sm) !important;
  background: var(--alma-surface-canvas) !important;
  background-image: none !important;
  color: var(--alma-text-primary) !important;
}

:root[data-theme="light"] body.ui-v2 .app,
:root[data-theme="light"] body.ui-v2 .app-shell-v2,
:root[data-theme="light"] body.ui-v2 .mobile-app-shell-v2 {
  background: var(--alma-surface-canvas) !important;
  background-image: none !important;
  box-shadow: none !important;
}

@media (min-width: 1181px) {
  :root[data-theme="light"] body.ui-v2 .app {
    padding: var(--alma-space-2) !important;
  }

  :root[data-theme="light"] body.ui-v2 .app-shell-v2 {
    grid-template-columns: 216px minmax(0, 1fr) 320px !important;
    gap: var(--alma-space-2) !important;
  }
}

:root[data-theme="light"] body.ui-v2 :is(
  .nav-rail,
  .command-bar,
  .surface-v2,
  .task-detail-panel,
  .calendar-panel-v2,
  .snapshot-report-panel,
  .report-mobile-card,
  .report-cockpit,
  .task-create-panel,
  .v2-modal-panel,
  .permission-panel,
  .settings-panel-v2,
  .calendar-desktop-modal-card-v2,
  .voice-draft-panel-v2,
  .confirm-dialog
) {
  background: var(--alma-surface-card) !important;
  background-image: none !important;
  border-color: var(--alma-border-default) !important;
  border-radius: var(--alma-radius-none) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  filter: none !important;
}

:root[data-theme="light"] body.ui-v2 .nav-rail {
  border: 1px solid var(--alma-border-default) !important;
  border-right-color: var(--alma-border-default) !important;
  padding: var(--alma-space-3) var(--alma-space-2) !important;
  gap: var(--alma-space-2) !important;
}

:root[data-theme="light"] body.ui-v2 .nav-brand-v2 {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--alma-border-default) !important;
  border-radius: var(--alma-radius-none) !important;
  box-shadow: none !important;
  padding: var(--alma-space-2) var(--alma-space-2) var(--alma-space-3) !important;
}

:root[data-theme="light"] body.ui-v2 :is(.nav-section-title, .nav-item-v2, .saved-view-v2, .person-filter-v2) {
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

:root[data-theme="light"] body.ui-v2 .nav-section-title {
  color: var(--alma-text-secondary) !important;
  font-size: 11px !important;
  text-transform: none !important;
}

:root[data-theme="light"] body.ui-v2 :is(.nav-item-v2, .saved-view-v2, .person-filter-v2) {
  background: transparent !important;
  border: 0 !important;
  border-left: 3px solid transparent !important;
  border-radius: var(--alma-radius-none) !important;
  color: var(--alma-text-secondary) !important;
  min-height: 40px !important;
}

:root[data-theme="light"] body.ui-v2 :is(.nav-item-v2:hover, .saved-view-v2:hover, .person-filter-v2:hover) {
  background: var(--alma-surface-strong) !important;
  border-left-color: var(--alma-border-strong) !important;
  color: var(--alma-text-primary) !important;
}

:root[data-theme="light"] body.ui-v2 :is(.nav-item-v2.active, .saved-view-v2.active, .person-filter-v2.active) {
  background: var(--alma-navigation-active) !important;
  border-color: transparent !important;
  border-left-color: var(--alma-color-blue) !important;
  color: var(--alma-text-primary) !important;
}

:root[data-theme="light"] body.ui-v2 .command-bar {
  border: 1px solid var(--alma-border-default) !important;
  padding: var(--alma-space-4) var(--alma-space-5) !important;
}

:root[data-theme="light"] body.ui-v2 .module-title-v2 h1 {
  color: var(--alma-text-primary) !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.16 !important;
}

:root[data-theme="light"] body.ui-v2 .module-title-v2 p {
  color: var(--alma-text-secondary) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

:root[data-theme="light"] body.ui-v2 :is(.btn, .btn-v2, .mobile-action-btn-v2, .mobile-icon-btn-v2, .calendar-view-btn-v2, .report-pack-tab, .snapshot-report-tab, .report-module-tab) {
  background: var(--alma-surface-card) !important;
  background-image: none !important;
  border-color: var(--alma-border-default) !important;
  border-radius: var(--alma-radius-sm) !important;
  box-shadow: none !important;
  color: var(--alma-text-primary) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

:root[data-theme="light"] body.ui-v2 :is(.btn:hover, .btn-v2:hover, .mobile-action-btn-v2:hover, .mobile-icon-btn-v2:hover) {
  background: var(--alma-surface-strong) !important;
  border-color: var(--alma-border-strong) !important;
  box-shadow: none !important;
  transform: none !important;
}

:root[data-theme="light"] body.ui-v2 :is(.btn.primary, .btn-v2.primary, .mobile-action-btn-v2.primary, .mobile-icon-btn-v2.primary) {
  background: var(--alma-action-primary) !important;
  border-color: var(--alma-action-primary) !important;
  color: var(--alma-action-primaryText) !important;
}

:root[data-theme="light"] body.ui-v2 :is(.calendar-view-btn-v2.active, .report-module-tab.active, .report-pack-tab.active, .snapshot-report-tab.active) {
  background: var(--alma-color-blue) !important;
  border-color: var(--alma-color-blue) !important;
  color: var(--alma-text-inverse) !important;
}

:root[data-theme="light"] body.ui-v2 .executive-kpi-strip {
  gap: var(--alma-space-2) !important;
}

:root[data-theme="light"] body.ui-v2 .kpi-v2 {
  background: var(--alma-surface-strong) !important;
  background-image: none !important;
  border: 1px solid var(--alma-border-default) !important;
  border-radius: var(--alma-radius-none) !important;
  box-shadow: none !important;
  min-height: 88px !important;
  padding: var(--alma-space-3) !important;
}

:root[data-theme="light"] body.ui-v2 .kpi-v2::before,
:root[data-theme="light"] body.ui-v2 .kpi-v2::after {
  display: none !important;
}

:root[data-theme="light"] body.ui-v2 .kpi-v2.active {
  background: var(--alma-navigation-active) !important;
  border-color: var(--alma-color-blue) !important;
}

:root[data-theme="light"] body.ui-v2 .kpi-v2 .label {
  color: var(--alma-text-secondary) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

:root[data-theme="light"] body.ui-v2 .kpi-v2 .value {
  color: var(--alma-text-primary) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

:root[data-theme="light"] body.ui-v2 .kpi-v2 .hint {
  color: var(--alma-text-secondary) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

:root[data-theme="light"] body.ui-v2 :is(.panel-head-v2, .calendar-head-v2, .v2-list-footer, .report-table th, .snapshot-report-table th) {
  background: var(--alma-surface-strong) !important;
  background-image: none !important;
  border-color: var(--alma-border-default) !important;
  box-shadow: none !important;
}

:root[data-theme="light"] body.ui-v2 :is(.panel-head-v2 h2, .calendar-head-v2 h2) {
  color: var(--alma-text-primary) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

:root[data-theme="light"] body.ui-v2 :is(.panel-head-v2 span, .calendar-head-v2 span, .task-list-header-v2, .report-table th, .snapshot-report-table th) {
  color: var(--alma-text-secondary) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

:root[data-theme="light"] body.ui-v2 :is(.task-list-header-v2, .task-row-v2) {
  background: var(--alma-surface-card) !important;
  background-image: none !important;
  border-color: var(--alma-border-default) !important;
  border-radius: var(--alma-radius-none) !important;
  box-shadow: none !important;
}

:root[data-theme="light"] body.ui-v2 .task-row-v2.priority-task-v2 {
  background: var(--alma-surface-card) !important;
  box-shadow: inset 3px 0 0 var(--alma-status-error) !important;
}

:root[data-theme="light"] body.ui-v2 :is(.task-row-v2:hover, .task-row-v2.selected, .task-row-v2.priority-task-v2:hover, .task-row-v2.priority-task-v2.selected) {
  background: var(--alma-navigation-active) !important;
  border-color: var(--alma-color-blue) !important;
}

:root[data-theme="light"] body.ui-v2 .risk-stripe-v2 {
  border-radius: var(--alma-radius-none) !important;
  width: 3px !important;
}

:root[data-theme="light"] body.ui-v2 :is(.task-main-v2 b, .detail-title-v2) {
  color: var(--alma-text-primary) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

:root[data-theme="light"] body.ui-v2 :is(.task-main-v2 small, .task-cell-v2, .task-last-entry-v2) {
  color: var(--alma-text-secondary) !important;
  font-weight: 400 !important;
}

:root[data-theme="light"] body.ui-v2 :is(.badge, .alma-badge, .task-indicator-v2, .snapshot-status-badge, .snapshot-report-status, .meeting-status-badge, .decision-status-badge, .agenda-priority-badge) {
  border-radius: var(--alma-radius-sm) !important;
  box-shadow: none !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

:root[data-theme="light"] body.ui-v2 :is(.meta-tile-v2, .decision-item-v2, .task-person-card, .report-kpi, .snapshot-report-kpi, .snapshot-report-evidence-card, .report-decision, .snapshot-share-row, .snapshot-ai-card, .snapshot-ai-person) {
  background: var(--alma-surface-strong) !important;
  background-image: none !important;
  border-color: var(--alma-border-default) !important;
  border-radius: var(--alma-radius-none) !important;
  box-shadow: none !important;
}

:root[data-theme="light"] body.ui-v2 :is(.meta-tile-v2 span, .decision-item-v2 span) {
  color: var(--alma-text-secondary) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

:root[data-theme="light"] body.ui-v2 :is(.calendar-day-v2, .alma-calendar-day-cell, .alma-calendar-time-slot, .alma-calendar-all-day, .alma-calendar-details, .alma-calendar-agenda, .calendar-event-v2, .alma-calendar-event-chip, .calendar-event-chip-v2) {
  background-image: none !important;
  border-radius: var(--alma-radius-none) !important;
  box-shadow: none !important;
}

/* The task creator has a late feature stylesheet with ID-level selectors. */
:root[data-theme="light"] body.ui-v2 #taskCreatePanel.task-create-panel.open,
:root[data-theme="light"] body.ui-v2 #taskCreatePanel .permission-head,
:root[data-theme="light"] body.ui-v2 #taskCreatePanel .task-create-type,
:root[data-theme="light"] body.ui-v2 #taskCreatePanel .single-task-time-fields,
:root[data-theme="light"] body.ui-v2 #taskCreatePanel .daily-control-fields,
:root[data-theme="light"] body.ui-v2 #taskCreatePanel .task-create-footer,
:root[data-theme="light"] body.ui-v2 #taskCreatePanel .task-date-picker,
:root[data-theme="light"] body.ui-v2 #taskCreatePanel .custom-date-row {
  background: var(--alma-surface-card) !important;
  background-image: none !important;
  border-color: var(--alma-border-default) !important;
  border-radius: var(--alma-radius-none) !important;
  box-shadow: none !important;
  color: var(--alma-text-primary) !important;
}

:root[data-theme="light"] body.ui-v2 #taskCreatePanel .permission-head {
  background: var(--alma-surface-strong) !important;
}

:root[data-theme="light"] body.ui-v2 #taskCreatePanel :is(.permission-head h2, .permission-head span, .field label, .task-create-type > label, .custom-schedule-toolbar label) {
  color: var(--alma-text-primary) !important;
  letter-spacing: 0 !important;
}

:root[data-theme="light"] body.ui-v2 #taskCreatePanel :is(.permission-head span, .field label, .task-create-type > label, .custom-schedule-toolbar label) {
  color: var(--alma-text-secondary) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

:root[data-theme="light"] body.ui-v2 #taskCreatePanel :is(input:not([type="checkbox"]), select, textarea, .task-type-segment, .task-date-picker-day, .task-create-close-v2, .task-create-attachment) {
  background: var(--alma-surface-card) !important;
  background-image: none !important;
  border-color: var(--alma-border-default) !important;
  border-radius: var(--alma-radius-sm) !important;
  box-shadow: none !important;
  color: var(--alma-text-primary) !important;
}

:root[data-theme="light"] body.ui-v2 #taskCreatePanel :is(input:not([type="checkbox"]), select, textarea):focus {
  border-color: var(--alma-color-blue) !important;
  box-shadow: var(--alma-focus-ring) !important;
}

:root[data-theme="light"] body.ui-v2 #taskCreatePanel .task-type-segment.active,
:root[data-theme="light"] body.ui-v2 #taskCreatePanel .task-date-picker-day.is-selected {
  background: var(--alma-navigation-active) !important;
  border-color: var(--alma-color-blue) !important;
  box-shadow: inset 3px 0 0 var(--alma-color-blue) !important;
  color: var(--alma-text-primary) !important;
}

:root[data-theme="light"] body.ui-v2 #taskCreatePanel .task-create-footer .btn.primary {
  background: var(--alma-action-primary) !important;
  border-color: var(--alma-action-primary) !important;
  border-radius: var(--alma-radius-sm) !important;
  box-shadow: none !important;
  color: var(--alma-action-primaryText) !important;
}

@media (max-width: 768px) {
  :root[data-theme="light"] body.ui-v2 .app {
    padding: 0 !important;
  }

  :root[data-theme="light"] body.ui-v2 .command-bar {
    padding: var(--alma-space-3) !important;
  }

  :root[data-theme="light"] body.ui-v2 .module-title-v2 h1 {
    font-size: 22px !important;
  }

  :root[data-theme="light"] body.ui-v2 :is(.mobile-bottom-nav-v2, #mobileShell nav) {
    background: var(--alma-surface-card) !important;
    background-image: none !important;
    border-top: 1px solid var(--alma-border-default) !important;
    border-radius: var(--alma-radius-none) !important;
    box-shadow: none !important;
  }

  :root[data-theme="light"] body.ui-v2 :is(.mobile-task-card-v2, .mobile-task-row-v2, .mobile-person-card-v2, .mobile-report-card-v2, .mobile-report-kpi-v2) {
    background: var(--alma-surface-card) !important;
    background-image: none !important;
    border-color: var(--alma-border-default) !important;
    border-radius: var(--alma-radius-none) !important;
    box-shadow: none !important;
  }
}


.alma-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.alma-stack { display:grid; gap:var(--alma-space-3); }
