/* Modern Alpha Slice 1. Approved semantic mapping 77:379; depth 75:823;
   constrained R01 176:20/218/391; exact Slant 149:490. This is the sole
   owner-theme adapter, loaded last on the explicit authenticated head list.
   Layout, timing and controllers remain owned by the accepted styles/scripts.
   Public documents/Preview do not load it. Print uses the preserved Light CSS. */
@media screen {
html[data-modern-shell][data-theme="light"] {
  color-scheme: light;
  --modern-surface-canvas: #EDF0EF;
  --modern-surface-navigation: #E0E4E3;
  --modern-surface-working: #FFFFFF;
  --modern-surface-elevated: #FFFFFF;
  --modern-surface-sheet: #FFFFFF;
  --modern-surface-input: #F4F6F5;
  --modern-surface-search: #FFFFFF;
  --modern-border-divider: #D8DEDB;
  --modern-border-control: #7C8C85;
  --modern-border-strong: #52605B;
  --modern-text-primary: #192521;
  --modern-text-muted: #52605B;
  --modern-text-disabled: #52605B;
  --modern-action-primary: #203B32;
  --modern-action-onPrimary: #FFFFFF;
  --modern-selection-background: #D9E7E0;
  --modern-selection-indicator: #28664E;
  --modern-focus-ring: #28664E;
  --modern-action-primary-hover: #294A3E;
  --modern-surface-interactive-hover: #F4F6F5;
  --modern-selection-hover: #E2EDE7;
  --modern-action-primary-pressed: #172D25;
  --modern-surface-interactive-pressed: #EDF0EF;
  --modern-selection-pressed: #D2E0D8;
  --modern-link-default: #28664E;
  --modern-link-hover: #192521;
  --modern-link-pressed: #52605B;
  --modern-action-destructive-foreground: #8B4C51;
  --modern-state-success-background: #C7D9CF;
  --modern-state-success-foreground: #355B48;
  --modern-state-warning-background: #F3EEE5;
  --modern-state-warning-foreground: #775926;
  --modern-state-error-background: #F2DEDD;
  --modern-state-error-foreground: #8B4C51;
  --modern-state-info-background: #E0E8F1;
  --modern-state-info-foreground: #304F69;
  --modern-state-pending-background: #F4F6F5;
  --modern-state-pending-foreground: #52605B;
  --modern-booking-inquiry-background: #C7C3EC;
  --modern-booking-direct-background: #C7D9CF;
  --modern-workflow-booked-background: #E0E8F1;
  --modern-workflow-work-background: #E9E5F1;
  --modern-workflow-ready-background: #F2DEDD;
  --modern-financial-income: #355B48;
  --modern-financial-outflow: #8B4C51;
  --modern-depth-control: 0 2px 2px 0 rgb(7% 11% 13% / 16%);
  --modern-depth-raised: 0 7px 22px 0 rgb(7% 11% 13% / 8%), 0 1px 2px 0 rgb(7% 11% 13% / 4%);
  --modern-depth-sheet: 0 20px 48px 0 rgb(7% 11% 13% / 20%), 0 1px 2px 0 rgb(7% 11% 13% / 4%);
  --modern-overlay-context: rgb(18 27 33 / 14%);
  --modern-overlay-modal: rgb(18 27 33 / 18%);
}
html[data-modern-shell][data-theme="dark"] {
  color-scheme: dark;
  --modern-surface-canvas: #24282E;
  --modern-surface-navigation: #1D2025;
  --modern-surface-working: #30363D;
  --modern-surface-elevated: #30363D;
  --modern-surface-sheet: #30363D;
  --modern-surface-input: #272C33;
  --modern-surface-search: #30363D;
  --modern-border-divider: #505861;
  --modern-border-control: #87909B;
  --modern-border-strong: #B6C0C9;
  --modern-text-primary: #F1F3F2;
  --modern-text-muted: #B6C0C9;
  --modern-text-disabled: #B6C0C9;
  --modern-action-primary: #EAC66F;
  --modern-action-onPrimary: #24221D;
  --modern-selection-background: #274C60;
  --modern-selection-indicator: #9BCDDF;
  --modern-focus-ring: #9BCDDF;
  --modern-action-primary-hover: #F1D18C;
  --modern-surface-interactive-hover: #3B434B;
  --modern-selection-hover: #295063;
  --modern-action-primary-pressed: #D9B65F;
  --modern-surface-interactive-pressed: #272C33;
  --modern-selection-pressed: #214354;
  --modern-link-default: #9BCDDF;
  --modern-link-hover: #F1F3F2;
  --modern-link-pressed: #B6C0C9;
  --modern-action-destructive-foreground: #E5B9B7;
  --modern-state-success-background: #294239;
  --modern-state-success-foreground: #BCD4C5;
  --modern-state-warning-background: #4D4840;
  --modern-state-warning-foreground: #EAC66F;
  --modern-state-error-background: #643D43;
  --modern-state-error-foreground: #E5B9B7;
  --modern-state-info-background: #304F69;
  --modern-state-info-foreground: #9BCDDF;
  --modern-state-pending-background: #272C33;
  --modern-state-pending-foreground: #B6C0C9;
  --modern-booking-inquiry-background: #494562;
  --modern-booking-direct-background: #294239;
  --modern-workflow-booked-background: #304F69;
  --modern-workflow-work-background: #494562;
  --modern-workflow-ready-background: #643D43;
  --modern-financial-income: #BCD4C5;
  --modern-financial-outflow: #E5B9B7;
  --modern-depth-control: 0 2px 2px 0 rgb(0 0 0 / 20%);
  --modern-depth-raised: 0 7px 22px 0 rgb(0 0 0 / 20%), 0 1px 2px 0 rgb(0 0 0 / 10%);
  --modern-depth-sheet: 0 20px 48px 0 rgb(0 0 0 / 36%), 0 1px 2px 0 rgb(0 0 0 / 16%);
  --modern-overlay-context: rgb(0 0 0 / 24%);
  --modern-overlay-modal: rgb(0 0 0 / 28%);
}
/* Rebind aliases at the body, where the accepted workspace defines them.
   Ink remains text; borders/actions below receive their own semantic roles. */
html[data-modern-shell], html[data-modern-shell] body.alpha-app {
  --foundation-canvas: var(--modern-surface-canvas);
  --foundation-paper: var(--modern-surface-navigation);
  --foundation-sheet: var(--modern-surface-working);
  --foundation-cascade: none;
  --workspace-field: var(--modern-surface-canvas);
  --workspace-paper: var(--modern-surface-navigation);
  --workspace-white: var(--modern-surface-working);
  --workspace-ink: var(--modern-text-primary);
  --workspace-muted: var(--modern-text-muted);
  --workspace-rule: var(--modern-border-divider);
  --workspace-focus: var(--modern-focus-ring);
  --workspace-blue: var(--modern-selection-background);
  --workspace-lilac: var(--modern-booking-inquiry-background);
  --workspace-coral: var(--modern-state-error-background);
  --workspace-remaining: var(--modern-state-warning-background);
  --workspace-received: var(--modern-state-success-background);
  --workspace-action: var(--modern-selection-background);
  --bg: var(--modern-surface-canvas);
  --surface: var(--modern-surface-working);
  --surface-2: var(--modern-surface-input);
  --panel: var(--modern-surface-working);
  --panel-2: var(--modern-surface-input);
  --text: var(--modern-text-primary);
  --text-2: var(--modern-text-muted);
  --text-3: var(--modern-text-muted);
  --mute: var(--modern-text-muted);
  --dim: var(--modern-text-disabled);
  --border: var(--modern-border-divider);
  --border-2: var(--modern-border-control);
  --line: var(--modern-border-divider);
  --line-2: var(--modern-border-control);
  --accent: var(--modern-action-primary);
  --accent-hover: var(--modern-action-primary-hover);
  --g-base: var(--modern-state-success-foreground);
  --g-text: var(--modern-state-success-foreground);
  --g-wash: var(--modern-state-success-background);
  --g-line: var(--modern-border-control);
  --a-text: var(--modern-state-warning-foreground);
  --a-wash: var(--modern-state-warning-background);
  --r-text: var(--modern-state-error-foreground);
  --r-base: var(--modern-state-error-foreground);
  --r-wash: var(--modern-state-error-background);
  --shadow-sm: var(--modern-depth-control);
  --shadow-md: var(--modern-depth-raised);
  --shadow-lg: var(--modern-depth-sheet);
  color-scheme: inherit;
  background: var(--modern-surface-canvas);
  color: var(--modern-text-primary);
}

/* R01 sidebar presentation. Preserve the accepted widths, page offsets,
   navigation controllers and motion; keep the owner-selected compact lockup. */
html[data-modern-shell] .alpha-app .sidebar {
  background: var(--modern-surface-navigation);
  border-color: var(--modern-border-divider);
  box-shadow: none;
}
html[data-modern-shell] .alpha-app :is(.sidebar-brand,.mobile-header) {
  background: var(--modern-surface-navigation);
  border-color: var(--modern-border-divider);
}
html[data-modern-shell] .alpha-app :is(.sidebar-brand,.mobile-brand) {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--modern-text-primary);
  text-decoration: none;
  transform: none;
}
html[data-modern-shell] .alpha-app .sidebar-brand { min-height: 64px; padding: 16px 40px 16px 16px; border-bottom: 0; }
html[data-modern-shell] .brand-slant { display: block; width: 36px; height: 24px; flex: none; }
html[data-modern-shell] .brand-wordmark {
  font: 700 21px/1.2 var(--font-display);
  font-stretch: normal;
  font-variation-settings: "wdth" 100;
  letter-spacing: 0;
  transform: none;
}
html[data-modern-shell] .alpha-app .sidebar-nav { padding: 8px 10px; }
html[data-modern-shell] .alpha-app .sidebar-group { margin-bottom: 8px; }
html[data-modern-shell] .alpha-app .sidebar-group-label {
  color: var(--modern-text-muted);
  font: 500 11px/16px var(--font-mono);
  letter-spacing: 0;
  margin: 0;
  padding: 2px 10px;
}
/* The legacy collapsed rule also pads hidden labels. Reset the furniture here
   so restoring a mobile drawer cannot inherit a desktop rail's extra spacing. */
html[data-modern-shell] .alpha-app :is(.sidebar-link-label,.bell-label,.sidebar-user-info,.sidebar-logout-label) {
  margin: 0; padding: 0;
}
html[data-modern-shell] .alpha-app .sidebar-link {
  color: var(--modern-text-primary);
  border-radius: 8px;
  font: 400 13px/19px var(--font-ui);
  gap: 10px;
}
html[data-modern-shell] .alpha-app :is(.sidebar-link,.sidebar-bell,.sidebar-logout) > svg {
  display: block; width: 14px; height: 14px; flex: none;
  color: var(--modern-text-muted); stroke-width: 1.75; opacity: 1;
}
html[data-modern-shell] .alpha-app .sidebar-link:hover {
  background: var(--modern-surface-interactive-hover); border-color: transparent;
}
html[data-modern-shell] .alpha-app .sidebar-link.active {
  background: var(--modern-selection-background); color: var(--modern-text-primary);
  border-color: transparent; box-shadow: none; font-weight: 600;
}
html[data-modern-shell] .alpha-app .sidebar-link.active::after {
  display: none;
}
html[data-modern-shell] .alpha-app :is(.sidebar-bell,.sidebar-user,.sidebar-logout) {
  color: var(--modern-text-primary); background: transparent; border-color: var(--modern-border-divider);
  font-weight: 400;
}
html[data-modern-shell] .alpha-app .sidebar-bell {
  min-height: 32px; padding: 8px 20px; gap: 10px;
  font: 400 12px/17px var(--font-ui);
}
html[data-modern-shell] .alpha-app #sidebarBell { border-top: 0; padding-top: 8px; }
html[data-modern-shell] .alpha-app :is(.sidebar-bell,.sidebar-user,.sidebar-logout):hover {
  background: var(--modern-surface-interactive-hover);
}
html[data-modern-shell] .alpha-app .sidebar-user {
  margin: 6px 10px; padding: 6px 9px; gap: 8px;
  border-color: transparent; border-radius: 8px;
}
html[data-modern-shell] .alpha-app .sidebar-avatar {
  width: 28px; height: 28px; border-color: var(--modern-border-divider); border-radius: 6px;
}
html[data-modern-shell] .alpha-app .sidebar-username { font-weight: 400; }
html[data-modern-shell] .alpha-app .sidebar-logout { font: 400 12px/17px var(--font-ui); }
html[data-modern-shell] .alpha-app .sidebar-bell[aria-current=page],
html[data-modern-shell] .alpha-app .sidebar-user.active { background: var(--modern-selection-background); }
html[data-modern-shell] .alpha-app :is(.sidebar-collapse,.sidebar-mobile-close) {
  background: transparent; color: var(--modern-text-muted);
  border-color: transparent; border-radius: 6px;
}
html[data-modern-shell] .alpha-app .sidebar-collapse { top: 19px; }
html[data-modern-shell] .alpha-app :is(.sidebar-collapse,.sidebar-mobile-close):hover { background: var(--modern-surface-interactive-hover); }
html[data-modern-shell] .alpha-app :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 3px solid var(--modern-focus-ring); outline-offset: 3px;
}
/* The ring sits outside the flat symbol on an opaque neutral backing. */
html[data-modern-shell] .alpha-app :is(.mobile-brand,.hamburger,.sidebar-collapse,.sidebar-mobile-close):focus-visible {
  box-shadow: 0 0 0 3px var(--modern-surface-navigation);
}
html[data-modern-shell] .alpha-app .nav-overlay { background: var(--modern-overlay-modal); }
@media (min-width: 1025px) {
  html[data-modern-shell] .alpha-app.sidebar-collapsed .sidebar-nav { padding: 8px; }
  html[data-modern-shell] .alpha-app.sidebar-collapsed .sidebar-link { min-height: 36px; margin: 0; padding: 8px 0; gap: 0; }
  html[data-modern-shell] .alpha-app.sidebar-collapsed .sidebar-user { margin: 8px; padding: 6px; gap: 0; }
  html[data-modern-shell] .alpha-app.sidebar-collapsed .sidebar-logout { width: calc(100% - 16px); }
  html[data-modern-shell] .alpha-app.sidebar-collapsed .sidebar-brand {
    display: flex; position: absolute; top: 6px; left: 12px;
    min-height: 24px; margin: 0; padding: 0; border: 0;
  }
  html[data-modern-shell] .alpha-app.sidebar-collapsed .sidebar-brand .brand-slant { width: 36px; height: 24px; }
  html[data-modern-shell] .alpha-app.sidebar-collapsed .brand-wordmark { display: none; }
  html[data-modern-shell] .alpha-app.sidebar-collapsed .sidebar-collapse { top: 39px; }
  /* The late generic Lucide reservation otherwise restores this hidden icon,
     pushing the account avatar out of the preserved compact link bounds. */
  html[data-modern-shell] .alpha-app.sidebar-collapsed .sidebar-user-chev { display: none; }
}
@media (max-height: 800px) and (min-width: 1025px) {
  html[data-modern-shell] .alpha-app:not(.sidebar-collapsed) .sidebar-brand { min-height: 60px; padding-top: 14px; padding-bottom: 14px; }
}
@media (max-width: 1024px) {
  html[data-modern-shell] .alpha-app.sidebar-collapsed .sidebar-brand { margin: 0; justify-content: flex-start; }
  html[data-modern-shell] .alpha-app.sidebar-collapsed .sidebar-link { margin: 0; }
  html[data-modern-shell] .alpha-app.sidebar-collapsed .sidebar-group-label { display: block; }
  html[data-modern-shell] .alpha-app.sidebar-collapsed .sidebar-group::before { display: none; }
  html[data-modern-shell] .alpha-app.sidebar-collapsed :is(.sidebar-bell,.sidebar-logout) { margin-left: 0; margin-right: 0; justify-content: flex-start; }
  html[data-modern-shell] .alpha-app.sidebar-collapsed .sidebar-user-info { display: flex; }
  html[data-modern-shell] .alpha-app.sidebar-collapsed .sidebar-user-chev { margin: 0 0 0 auto; padding: 0; }
  html[data-modern-shell] .alpha-app.sidebar-collapsed .sidebar-logout { padding: 4px 20px 12px; }
}

/* Shared controls: paint/depth only. Existing padding, size, native inputs,
   disabled semantics, focus ownership and press/reduced-motion rules survive. */
html[data-modern-shell] .alpha-app :is(.alpha-button,.btn-secondary) {
  color: var(--modern-text-primary); background: var(--modern-surface-working);
  border-color: var(--modern-border-control); box-shadow: var(--modern-depth-control);
}
html[data-modern-shell] .alpha-app :is(.alpha-button,.btn-secondary):not(:disabled):not([aria-disabled=true]):hover {
  color: var(--modern-text-primary); background: var(--modern-surface-interactive-hover);
  border-color: var(--modern-border-control);
}
html[data-modern-shell] .alpha-app :is(.alpha-button--primary,.btn-primary) {
  color: var(--modern-action-onPrimary); background: var(--modern-action-primary);
  border-color: var(--modern-action-primary); box-shadow: var(--modern-depth-control);
}
html[data-modern-shell] .alpha-app :is(.alpha-button--primary,.btn-primary):not(:disabled):not([aria-disabled=true]):hover {
  color: var(--modern-action-onPrimary); background: var(--modern-action-primary-hover);
  border-color: var(--modern-action-primary-hover);
}
html[data-modern-shell] .alpha-app :is(.alpha-button--primary,.btn-primary):not(:disabled):not([aria-disabled=true]):active {
  color: var(--modern-action-onPrimary); background: var(--modern-action-primary-pressed);
}
html[data-modern-shell] .alpha-app :is(.alpha-button,.btn-primary,.btn-secondary):is(:disabled,[aria-disabled=true]) {
  color: var(--modern-text-disabled); background: var(--modern-state-pending-background);
  border-color: var(--modern-border-divider); box-shadow: none;
}
html[data-modern-shell] .alpha-app :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]),select,textarea) {
  background: var(--modern-surface-input); color: var(--modern-text-primary);
  border-color: var(--modern-border-control); color-scheme: inherit;
}
html[data-modern-shell] .alpha-app :is(input,textarea)::placeholder { color: var(--modern-text-muted); opacity: 1; }
html[data-modern-shell] .alpha-app :is(input,select,textarea):disabled { color: var(--modern-text-disabled); }
html[data-modern-shell] .alpha-app :is(input,select,textarea)[aria-invalid=true] { border-color: var(--modern-state-error-foreground); }
html[data-modern-shell] .alpha-app :is(.field-error,.alpha-control-error,.iw-dialog .error,.settings-dialog .error) {
  color: var(--modern-state-error-foreground); background-color: var(--modern-state-error-background);
  border-color: var(--modern-state-error-foreground);
}
html[data-modern-shell] .alpha-app .alpha-control-indicator { border-color: var(--modern-border-control); }
html[data-modern-shell] .alpha-app .alpha-control-input:checked + .alpha-control-body .alpha-control-indicator {
  display: grid; place-items: center; background: var(--modern-selection-indicator); border-color: var(--modern-selection-indicator);
}
html[data-modern-shell] .alpha-app .alpha-control-input:checked + .alpha-control-body .alpha-control-indicator::after {
  content: ''; width: 12px; height: 14px; background: var(--modern-surface-working);
  mask: url('/assets/controls/choice-mark.svg') center / contain no-repeat;
}
html[data-modern-shell] .alpha-app .alpha-control--radio .alpha-control-input:checked + .alpha-control-body .alpha-control-indicator::after {
  width: 8px; height: 8px; border-radius: 50%; mask: none;
}
html[data-modern-shell] .alpha-app .alpha-control--chip .alpha-control-input:checked + .alpha-control-body { background: var(--modern-selection-background); }
html[data-modern-shell] .alpha-app .alpha-control--chip .alpha-control-input:checked + .alpha-control-body .alpha-control-indicator { background: transparent; }
html[data-modern-shell] .alpha-app .alpha-control--chip .alpha-control-input:checked + .alpha-control-body .alpha-control-indicator::after { background: var(--modern-selection-indicator); }
html[data-modern-shell] .alpha-app .alpha-control-input:checked:disabled + .alpha-control-body .alpha-control-indicator { background: var(--modern-text-disabled); border-color: var(--modern-text-disabled); }
html[data-modern-shell] .alpha-app .alpha-control--chip .alpha-control-input:checked:disabled + .alpha-control-body .alpha-control-indicator { background: transparent; }
html[data-modern-shell] .alpha-app .alpha-control--chip .alpha-control-input:checked:disabled + .alpha-control-body .alpha-control-indicator::after { background: var(--modern-text-disabled); }
html[data-modern-shell] .alpha-app .alpha-switch input:checked + .switch-slider { background: var(--modern-selection-indicator); border-color: var(--modern-selection-indicator); }

/* Explicit common-surface consumers. Page layouts and semantic state owners
   are unchanged; this list prevents broad * or substring-class repainting. */
html[data-modern-shell] .alpha-app :is(.alpha-sheet,.alpha-loading,.pw-shell,.pw-new-job,.iw-sheet,.iw-metrics,.rc-sheet,.rc-public-control,.settings-grid,.sett-card,.settings-disclosure,.support-sheet,.cat-sheet) {
  border-color: var(--modern-border-divider); box-shadow: var(--modern-depth-raised);
}
html[data-modern-shell] .alpha-app :is(.alpha-sheet-heading,.pw-toolbar,.pw-queues,.pw-meta,.iw-sources,.iw-quarter,.iw-dialog-head,.iw-dialog-footer,.rc-sheet-head,.rc-service,.rc-service-labels,.rc-preview-address,.settings-section-nav,.settings-identity,.sett-hdr,.support-sheet > header,.cat-sheet-head) {
  border-color: var(--modern-border-divider);
}
html[data-modern-shell] .alpha-app :is(.modal,.iw-dialog,.rc-dialog,.pw-inspector,.pw-new-leave,.settings-dialog,.support-dialog,.cat-dialog,.notif-panel,.notif-confirm) {
  color: var(--modern-text-primary); background-color: var(--modern-surface-sheet);
  border-color: var(--modern-border-control); box-shadow: var(--modern-depth-sheet);
}
html[data-modern-shell] .alpha-app .pw-inspector[data-inline=true] { box-shadow: none; }
html[data-modern-shell] .alpha-app dialog::backdrop { background: var(--modern-overlay-modal); }
html[data-modern-shell] .alpha-app .notif-panel-header { background: var(--modern-surface-navigation); border-color: var(--modern-border-divider); }
html[data-modern-shell] .alpha-app .notif-item.notif-unread { background: var(--modern-selection-background); }
html[data-modern-shell] .alpha-app .notif-dot { background: var(--modern-selection-indicator); border-color: var(--modern-selection-indicator); }
html[data-modern-shell] .alpha-app :is(.rc-builder,.pw-money-grid > div:nth-child(2)) { background: var(--modern-surface-input); }
html[data-modern-shell] .alpha-app .pw-table .pw-identity { background: var(--modern-surface-input); }

/* Native high contrast owns its palette and checked marks. */
@media (forced-colors: active) {
  html[data-modern-shell] .alpha-app :is(.alpha-control-indicator,.alpha-control-indicator::after) { display: none !important; }
  html[data-modern-shell] .alpha-app :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible { outline-color: Highlight; }
  html[data-modern-shell] .alpha-app .alpha-switch input:checked + .switch-slider { background: Highlight; border-color: Highlight; }
  html[data-modern-shell] .alpha-app .alpha-switch input:checked + .switch-slider::before { background: HighlightText; }
  html[data-modern-shell] .alpha-app .alpha-switch input:disabled + .switch-slider { background: Canvas; border-color: GrayText; }
  html[data-modern-shell] .alpha-app .alpha-switch input:disabled + .switch-slider::before { background: GrayText; }
}
}
@media print {
  html[data-modern-shell] { background: white !important; color-scheme: light !important; }
}
