/* REVISION 0.8.1.27 — persisted user appearance + account settings.
   This layer is shared by Agency and Artist and intentionally sits before the
   authoritative responsive stylesheet. Responsive-only light overrides live
   at the end of responsive-v064.css. */

/* Topbar appearance control */
.theme-toggle{position:relative;flex:0 0 auto}
.theme-toggle .theme-icon{display:grid;place-items:center}
.theme-toggle .theme-icon-dark{display:none}
html[data-theme="light"] .theme-toggle .theme-icon-light{display:none}
html[data-theme="light"] .theme-toggle .theme-icon-dark{display:grid}

/* Personal account entry in the sidebar */
.sidebar-account-row{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:4px;align-items:center}
.sidebar-account-row .account{min-width:0;margin:0;padding-right:4px}
.account-copy{min-width:0}
.account-settings-link{width:28px;height:28px;display:grid;place-items:center;border:1px solid transparent;color:#718198;text-decoration:none}
.account-settings-link .icon{width:13px;height:13px}
.account-settings-link:hover,.account-settings-link:focus-visible{border-color:#304b69;background:#0b1521;color:#e7f1fb}
.app-shell.sidebar-collapsed .sidebar-account-row{grid-template-columns:1fr;justify-items:center}
.app-shell.sidebar-collapsed .sidebar-account-row .sidebar-account{width:100%}
.app-shell.sidebar-collapsed .sidebar-account-row .account-settings-link{margin-top:2px}

/* Drawers must never leak beyond the right viewport edge. */
.drawer-backdrop{overflow:hidden}
.drawer{max-width:100vw;overflow:hidden}
.drawer-body,.drawer-foot,.quick-new-flow,.quick-create-form,.quick-create-form .form-grid,.quick-create-form .form-group{min-width:0;max-width:100%}
.quick-create-form .input,.quick-create-form .select,.quick-create-form .textarea{width:100%;max-width:100%;min-width:0}
.drawer-body{overflow-x:hidden}

/* Personal settings workspace */
.account-settings-page{max-width:1180px;margin:0 auto}
.account-settings-head{align-items:end}
.account-settings-status{margin:0 0 14px;padding:10px 12px;border:1px solid #285c4b;background:#0b211b;color:#bce9d5;font-size:12px}
.account-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.account-settings-card{display:grid;gap:16px;min-width:0}
.account-settings-card-head{display:grid;grid-template-columns:36px minmax(0,1fr);gap:11px;align-items:start}
.account-settings-card-head-status{grid-template-columns:36px minmax(0,1fr) auto}
.account-settings-icon{width:36px;height:36px;display:grid;place-items:center;border:1px solid #263d57;background:#0a1623;color:#8eb7dd}
.account-settings-card h2{margin:0;color:var(--rev-paper);font-size:16px;font-weight:600}
.account-settings-card p{margin:4px 0 0;color:#7e90a5;font-size:12px;line-height:1.45}
.account-settings-form{display:grid;gap:12px}
.account-settings-form .input{width:100%}
.account-settings-actions{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding-top:2px}
.account-settings-actions-split{justify-content:space-between}
.appearance-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.appearance-option{min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;align-items:center;padding:11px;border:1px solid #26394f;background:#07101a;color:#9cb0c6;text-align:left;cursor:pointer}
.appearance-option:hover{border-color:#426184;background:#0d1926}
.appearance-option.active{border-color:#3977c9;background:#0c1d30;box-shadow:inset 2px 0 0 var(--rev-accent)}
.appearance-option .icon{width:18px;height:18px}
.appearance-option span{display:grid;gap:2px;min-width:0}
.appearance-option strong{color:var(--rev-paper);font-size:12px}
.appearance-option small{color:#71849b;font-size:12px;line-height:1.3}
.account-language-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.account-language-options form{margin:0}
.account-language-option{width:100%;min-height:48px;display:grid;grid-template-columns:24px minmax(0,1fr) 18px;gap:9px;align-items:center;padding:0 11px;border:1px solid #26394f;background:#07101a;color:#a8bbcf;text-align:left;cursor:pointer}
.account-language-option:hover{border-color:#426184;background:#0d1926}
.account-language-option.active{border-color:#3977c9;background:#0c1d30;color:var(--rev-paper)}
.account-language-option .locale-flag{width:20px;height:14px}
.account-security-state{align-self:start;padding:5px 7px;border:1px solid #304155;color:#7f91a5;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.account-security-state.is-on{border-color:#28644e;color:#73d5ad}
.account-security-state.is-pending{border-color:#735b2f;color:#e4ba67}
.account-security-copy{padding:11px 12px;border-left:2px solid #29445f;background:#08131f;color:#9bb0c5;font-size:12px;line-height:1.5}
.account-security-disable{border-top:1px solid var(--rev-rule);padding-top:11px}
.account-security-disable>summary{cursor:pointer;color:#bd7f84;font-size:12px;font-weight:650}
.account-security-disable[open]>summary{margin-bottom:10px}
.account-settings-form-compact{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.account-settings-form-compact .label,.account-settings-form-compact .field-error{grid-column:1}
.account-settings-form-compact .btn{grid-column:2;grid-row:1/3;align-self:end}

/* Personal calendar connections */
.account-calendar-card{grid-column:1/-1;gap:18px;scroll-margin-top:20px}
.account-calendar-heading{grid-template-columns:36px minmax(0,1fr) auto;align-items:center}
.account-calendar-private{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #2d4962;background:#0a1622;color:#91abc3;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.account-calendar-security{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;padding:12px 14px;border:1px solid #614f2f;background:#1b160c;color:#d7b66e}
.account-calendar-security>div{display:grid;gap:3px}.account-calendar-security strong{font-size:12px}.account-calendar-security span{color:#b8a175;font-size:12px;line-height:1.45}
.account-calendar-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:14px;align-items:start}
.account-calendar-subscriptions,.account-calendar-create{min-width:0;padding:14px;border:1px solid #24384d;background:#07111c}
.account-calendar-create{display:grid;gap:13px}
.account-calendar-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.account-calendar-section-head h3{margin:0;color:var(--rev-paper);font-size:13px;font-weight:700}.account-calendar-section-head p{margin:3px 0 0;font-size:12px}
.account-calendar-count{display:grid;place-items:center;min-width:26px;height:24px;padding:0 7px;border:1px solid #2d4660;background:#0b1927;color:#9db5cb;font-size:11px;font-weight:750}
.account-calendar-list{display:grid;gap:9px;margin-top:12px}
.account-calendar-item{display:grid;gap:11px;padding:12px;border:1px solid #29435d;background:#0a1724}.account-calendar-item.is-disabled{opacity:.62}
.account-calendar-item-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center}.account-calendar-item-icon{width:34px;height:34px;display:grid;place-items:center;background:#10243a;color:#8db8df}.account-calendar-item-copy{display:grid;gap:2px;min-width:0}.account-calendar-item-copy strong{overflow:hidden;color:var(--rev-paper);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.account-calendar-item-copy span{color:#8196aa;font-size:11px}.account-calendar-state{padding:4px 7px;border:1px solid #435061;color:#8494a5;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.05em}.account-calendar-state.is-active{border-color:#2b6751;color:#6fd2a7}
.account-calendar-copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.account-calendar-copy-row .input{min-width:0;color:#8296aa;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.account-calendar-copy-row .btn{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.account-calendar-copy-row .btn.is-copied{background:#1f7a56;border-color:#54b98f}
.account-calendar-item-actions{display:flex;flex-wrap:wrap;gap:7px}.account-calendar-item-actions form{margin:0}
.account-calendar-empty{min-height:170px;display:grid;place-items:center;align-content:center;gap:7px;padding:24px;text-align:center;border:1px dashed #2c4359;background:#081520}.account-calendar-empty-icon{width:42px;height:42px;display:grid;place-items:center;background:#10243a;color:#759bbd}.account-calendar-empty strong{color:var(--rev-paper);font-size:13px}.account-calendar-empty span{max-width:360px;color:#8194a8;font-size:12px;line-height:1.45}
.account-calendar-scope-summary{display:grid;grid-template-columns:36px minmax(0,1fr) 18px;gap:10px;align-items:center;padding:10px;border:1px solid #2d4962;background:#0a1724;color:#86b9e5}.account-calendar-avatar{width:36px;height:36px;display:grid;place-items:center;background:#1c4161;color:#fff;font-size:13px;font-weight:800}.account-calendar-scope-summary>div{display:grid;gap:2px}.account-calendar-scope-summary strong{color:var(--rev-paper);font-size:12px}.account-calendar-scope-summary span{color:#8599ac;font-size:11px}
.account-calendar-sources{display:grid;gap:7px;margin:0;padding:0;border:0}.account-calendar-sources legend{margin-bottom:7px;color:#9eafc0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.account-calendar-source{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:42px;padding:6px 9px;border:1px solid #25394d;background:#091522;color:#aebfd0;font-size:12px;cursor:pointer}.account-calendar-source:hover{border-color:#3f607e;background:#0c1b2a}.account-calendar-source-icon{width:30px;height:30px;display:grid;place-items:center;background:#10243a;color:#7fa6ca}.account-calendar-source input{width:16px;height:16px;accent-color:var(--rev-accent)}
.account-calendar-create-button{display:flex;align-items:center;justify-content:center;gap:7px;width:100%}.account-settings-card .account-calendar-help{margin:0;text-align:center}

/* Light palette. We switch the existing semantic tokens first, then cover the
   legacy hard-coded surfaces that predate the token system. */
html[data-theme="light"]{
  color-scheme:light;
  --rev-ink:#f3f6f9;
  --rev-ink-2:#ffffff;
  --rev-ink-3:#edf2f6;
  --rev-paper:#17212d;
  --rev-paper-2:#44566b;
  --rev-muted:#697b8f;
  --rev-faint:#8a99a9;
  --rev-rule:#d9e1e8;
  --rev-rule-strong:#b9c7d5;
  --rev-canvas:#f3f6f9;
  --rev-workspace:#f3f6f9;
  --rev-surface:#ffffff;
  --rev-surface-raised:#f6f8fb;
  --rev-surface-selected:#eaf2fb;
  --bg:#f3f6f9;
  --sidebar:#ffffff;
  --surface:#ffffff;
  --surface2:#edf2f6;
  --surface3:#e7edf3;
  --field:#ffffff;
  --line:#d9e1e8;
  --line2:#b9c7d5;
  --text:#17212d;
  --soft:#44566b;
  --muted:#697b8f;
  --subtle:#728397;
  --dim:#8a99a9;
  --white:#17212d;
}
html[data-theme="light"],html[data-theme="light"] body{background:#f3f6f9;color:#17212d}
html[data-theme="light"] .app-shell,html[data-theme="light"] .app-content,html[data-theme="light"] .artist-app-content{background:#f3f6f9!important}
html[data-theme="light"] .sidebar,html[data-theme="light"] .sidebar-footer,html[data-theme="light"] .topbar,html[data-theme="light"] .artist-sidebar{background:#ffffff!important;border-color:#d9e1e8!important}
html[data-theme="light"] .top-context,html[data-theme="light"] .top-version,html[data-theme="light"] .nav-label,html[data-theme="light"] .nav-count,html[data-theme="light"] .account-role{color:#738499!important}
html[data-theme="light"] .nav-link{color:#53667a!important}
html[data-theme="light"] .nav-link:hover{background:#f1f5f8!important;color:#17212d!important}
html[data-theme="light"] .nav-link.active{color:#17212d!important}
html[data-theme="light"] .nav-link .icon{color:#708296!important}
html[data-theme="light"] .account-avatar{background:#edf2f6!important;border-color:#cfd9e2!important;color:#24364a!important}
html[data-theme="light"] .account-name{color:#17212d!important}
html[data-theme="light"] .account-settings-link:hover,html[data-theme="light"] .account-settings-link:focus-visible{background:#edf3f8;color:#17212d;border-color:#c5d1dd}
html[data-theme="light"] .logout-btn{background:transparent!important;border-color:#e1e7ed!important;color:#66798d!important}
html[data-theme="light"] .logout-btn:hover{background:#f5f7f9!important;color:#17212d!important}
html[data-theme="light"] .search-trigger{border-bottom-color:#c9d4df!important;color:#17212d!important}
html[data-theme="light"] .search-placeholder{color:#718297!important}
html[data-theme="light"] .icon-btn{background:#ffffff!important;border-color:#ced8e2!important;color:#52677d!important}
html[data-theme="light"] .icon-btn:hover{background:#f0f4f7!important;border-color:#9eb2c5!important;color:#17212d!important}
html[data-theme="light"] .top-btn{color:#fff!important}
html[data-theme="light"] .page-title,html[data-theme="light"] .panel-title,html[data-theme="light"] .workspace-section-head h2,html[data-theme="light"] .info-card-head h2,html[data-theme="light"] .side-panel-head h3,html[data-theme="light"] .drawer-title{color:#17212d!important}
html[data-theme="light"] .page-sub,html[data-theme="light"] .help,html[data-theme="light"] .table-secondary,html[data-theme="light"] .opp-meta,html[data-theme="light"] .booking-sub,html[data-theme="light"] .action-sub{color:#6b7e92!important}
html[data-theme="light"] .panel,html[data-theme="light"] .workspace-section,html[data-theme="light"] .side-panel,html[data-theme="light"] .info-card,html[data-theme="light"] .note-card,html[data-theme="light"] .empty-state-compact,html[data-theme="light"] .artist-panel,html[data-theme="light"] .artist-list-section{background:#ffffff!important;border-color:#d9e1e8!important}
html[data-theme="light"] .input:hover,html[data-theme="light"] .select:hover,html[data-theme="light"] .textarea:hover{border-color:#99adc1!important}
html[data-theme="light"] .label{color:#4d6074!important}
html[data-theme="light"] .table-head,html[data-theme="light"] .opp-head,html[data-theme="light"] .booking-list-head,html[data-theme="light"] .finance-head,html[data-theme="light"] .document-head{background:#f3f6f9!important;color:#65788c!important;border-color:#d9e1e8!important}
html[data-theme="light"] .table-row,html[data-theme="light"] .opp-row,html[data-theme="light"] .booking-list-row,html[data-theme="light"] .finance-row,html[data-theme="light"] .document-row,html[data-theme="light"] .contact-row,html[data-theme="light"] .action-row,html[data-theme="light"] .record-row{border-color:#e2e8ee!important}
html[data-theme="light"] .table-row:hover,html[data-theme="light"] .opp-row:hover,html[data-theme="light"] .booking-list-row:hover,html[data-theme="light"] .finance-row:hover,html[data-theme="light"] .contact-row:hover,html[data-theme="light"] .action-row:hover{background:#f6f8fa!important}
html[data-theme="light"] .table-primary,html[data-theme="light"] .opp-title,html[data-theme="light"] .booking-name,html[data-theme="light"] .action-name,html[data-theme="light"] .activity-title{color:#17212d!important}
html[data-theme="light"] .drawer-backdrop{background:rgba(39,52,66,.34)!important}
html[data-theme="light"] .drawer,html[data-theme="light"] .drawer-head,html[data-theme="light"] .drawer-foot{background:#ffffff!important;border-color:#d3dde6!important}
html[data-theme="light"] .drawer-close{color:#53677d!important}
html[data-theme="light"] .modal-backdrop{background:rgba(39,52,66,.34)!important}
html[data-theme="light"] .command{background:#ffffff!important;border-color:#cbd6e1!important}
html[data-theme="light"] .command-input{background:#ffffff!important;color:#17212d!important}
html[data-theme="light"] .command-item:hover,html[data-theme="light"] .command-item.active{background:#f2f6f9!important}
html[data-theme="light"] .command-title{color:#17212d!important}
html[data-theme="light"] .top-language-popover{background:#ffffff;border-color:#cbd6e1;box-shadow:0 18px 42px rgba(47,64,82,.16)}
html[data-theme="light"] .top-language-option{color:#4d6074}
html[data-theme="light"] .top-language-option:hover{background:#f1f5f8;color:#17212d}
html[data-theme="light"] .top-language-option.active{background:#e8f1fb;color:#17212d}
html[data-theme="light"] .quick-new-option,html[data-theme="light"] .appearance-option,html[data-theme="light"] .account-language-option{background:#ffffff;border-color:#d3dde6;color:#52667a}
html[data-theme="light"] .quick-new-option:hover,html[data-theme="light"] .appearance-option:hover,html[data-theme="light"] .account-language-option:hover{background:#f4f7fa;border-color:#9eb2c5}
html[data-theme="light"] .quick-new-step,html[data-theme="light"] .account-settings-icon{background:#edf3f8;border-color:#cad7e2;color:#456a8e}
html[data-theme="light"] .quick-new-copy strong,html[data-theme="light"] .appearance-option strong{color:#17212d}
html[data-theme="light"] .appearance-option.active,html[data-theme="light"] .account-language-option.active{background:#eaf3fd;border-color:#4e8fd1}
html[data-theme="light"] .account-security-copy{background:#f4f7fa;border-color:#8ba6be;color:#52677c}
html[data-theme="light"] .account-settings-status{background:#edf8f3;border-color:#9bcdb9;color:#236548}
html[data-theme="light"] .account-calendar-private{background:#f0f5f9;border-color:#c8d6e1;color:#536b80}
html[data-theme="light"] .account-calendar-security{background:#fff9e9;border-color:#e3cd91;color:#735b20}html[data-theme="light"] .account-calendar-security span{color:#756849}
html[data-theme="light"] .account-calendar-subscriptions,html[data-theme="light"] .account-calendar-create{background:#f8fafc;border-color:#d6e0e8}
html[data-theme="light"] .account-calendar-item{background:#fff;border-color:#d6e0e8}html[data-theme="light"] .account-calendar-item-icon,html[data-theme="light"] .account-calendar-empty-icon,html[data-theme="light"] .account-calendar-source-icon{background:#eaf2f8;color:#456f94}
html[data-theme="light"] .account-calendar-item-copy strong,html[data-theme="light"] .account-calendar-section-head h3,html[data-theme="light"] .account-calendar-empty strong,html[data-theme="light"] .account-calendar-scope-summary strong{color:#17212d}
html[data-theme="light"] .account-calendar-item-copy span,html[data-theme="light"] .account-calendar-empty span,html[data-theme="light"] .account-calendar-scope-summary span{color:#667b8f}
html[data-theme="light"] .account-calendar-count{background:#edf3f8;border-color:#cad7e2;color:#4f6b83}html[data-theme="light"] .account-calendar-state{border-color:#cbd6df;color:#617486}html[data-theme="light"] .account-calendar-state.is-active{border-color:#9bcdb9;color:#236548;background:#edf8f3}
html[data-theme="light"] .account-calendar-empty{background:#fff;border-color:#cbd8e2}html[data-theme="light"] .account-calendar-scope-summary{background:#edf5fb;border-color:#bad0e2;color:#3473a8}html[data-theme="light"] .account-calendar-avatar{background:#477da8}
html[data-theme="light"] .account-calendar-source{background:#fff;border-color:#d5dfe7;color:#42576a}html[data-theme="light"] .account-calendar-source:hover{background:#f3f7fa;border-color:#a9bdce}
html[data-theme="light"] .artist-portal-body,html[data-theme="light"] .artist-app-shell,html[data-theme="light"] .artist-app-main{background:#f3f6f9!important;color:#17212d!important}
html[data-theme="light"] .artist-title,html[data-theme="light"] .artist-detail-hero h1,html[data-theme="light"] .artist-list-section-head h2,html[data-theme="light"] .artist-panel-head h2{color:#17212d!important}
html[data-theme="light"] .artist-sub,html[data-theme="light"] .artist-detail-meta,html[data-theme="light"] .artist-record-meta,html[data-theme="light"] .artist-panel-head p{color:#6b7e92!important}
html[data-theme="light"] .artist-record,html[data-theme="light"] .artist-document-index-row,html[data-theme="light"] .artist-lead-row{border-color:#e0e7ed!important}

@media(max-width:820px){
  .account-settings-grid{grid-template-columns:1fr}
  .appearance-choice,.account-language-options{grid-template-columns:1fr}
  .account-settings-form-compact{grid-template-columns:1fr}
  .account-settings-form-compact .btn{grid-column:1;grid-row:auto;width:100%}
  .account-settings-card-head-status{grid-template-columns:36px minmax(0,1fr)}
  .account-security-state{grid-column:2;justify-self:start}
  .account-calendar-layout{grid-template-columns:1fr}
}

@media(max-width:560px){
  .account-calendar-heading{grid-template-columns:36px minmax(0,1fr)}
  .account-calendar-private{grid-column:2;justify-self:start}
  .account-calendar-subscriptions,.account-calendar-create{padding:11px}
  .account-calendar-item-head{grid-template-columns:34px minmax(0,1fr)}
  .account-calendar-state{grid-column:2;justify-self:start}
  .account-calendar-copy-row{grid-template-columns:1fr}.account-calendar-copy-row .btn{justify-content:center;width:100%}
  .account-calendar-item-actions{display:grid;grid-template-columns:1fr 1fr}.account-calendar-item-actions .btn{width:100%}
}

@media(min-width:821px){
  .drawer-backdrop.quick-new-open .drawer{
    top:8px;right:8px;bottom:8px;width:min(620px,calc(100vw - 16px));
    border:1px solid #263c56;border-radius:4px!important;
  }
}
.sidebar-account-row .account{grid-template-columns:32px minmax(0,1fr)!important}

/* Auth/security screens inherit the signed-in user's appearance. Guest login
   remains dark because there is no account preference before authentication. */
html[data-theme="light"] body:has(.auth-shell){background:#f3f6f9!important;color:#17212d!important}
html[data-theme="light"] .auth-shell{background:#f3f6f9!important}
html[data-theme="light"] .auth-brand{background:#e9eef3!important;border-color:#d3dde6!important}
html[data-theme="light"] .auth-main{background:#f6f8fa!important}
html[data-theme="light"] .auth-card{background:#fff!important;border-color:#d3dde6!important;color:#17212d!important}
html[data-theme="light"] .auth-card h1,html[data-theme="light"] .auth-card h2{color:#17212d!important}
html[data-theme="light"] .auth-card .intro,html[data-theme="light"] .security-note{color:#586b7f!important}
html[data-theme="light"] .auth-language-popover{background:#fff!important;border-color:#cbd6e1!important}

/* Light-mode compatibility for the established page-scoped workspaces.
   This layer is deliberately centralized here so individual modules do not grow
   their own light-theme overrides. Semantic state/event colours remain intact. */
html[data-theme="light"] .action-summary-card,
html[data-theme="light"] .action-list-panel,
html[data-theme="light"] .action-center-group,
html[data-theme="light"] .action-filter-panel,
html[data-theme="light"] .advance-overview,
html[data-theme="light"] .advance-focus,
html[data-theme="light"] .advance-focus-item,
html[data-theme="light"] .advance-checklist-section,
html[data-theme="light"] .advance-item,
html[data-theme="light"] .advance-setup-card,
html[data-theme="light"] .advancing-contact-card,
html[data-theme="light"] .artist-roster-layout,
html[data-theme="light"] .artist-roster-nav,
html[data-theme="light"] .artist-roster-search,
html[data-theme="light"] .artist-roster-item,
html[data-theme="light"] .artist-record-panel,
html[data-theme="light"] .artist-record-hero,
html[data-theme="light"] .artist-record-card,
html[data-theme="light"] .artist-record-kpis,
html[data-theme="light"] .artist-record-manage,
html[data-theme="light"] .booking-hero-facts,
html[data-theme="light"] .booking-primary-contact-strip,
html[data-theme="light"] .booking-next-action-compact,
html[data-theme="light"] .booking-phase-action,
html[data-theme="light"] .commercial-flow,
html[data-theme="light"] .deal-summary-strip,
html[data-theme="light"] .deal-primary-card,
html[data-theme="light"] .deal-payment-terms,
html[data-theme="light"] .deal-more,
html[data-theme="light"] .paperwork-card,
html[data-theme="light"] .confirmation-compact,
html[data-theme="light"] .planner-calendar-shell,
html[data-theme="light"] .artist-calendar-shell,
html[data-theme="light"] .calendar-sidebar-panel,
html[data-theme="light"] .calendar-side-card,
html[data-theme="light"] .calendar-main-panel,
html[data-theme="light"] .calendar-context-bar,
html[data-theme="light"] .calendar-commandbar,
html[data-theme="light"] .calendar-list-card,
html[data-theme="light"] .calendar-mobile-month-workspace,
html[data-theme="light"] .calendar-mobile-day-panel,
html[data-theme="light"] .finance-focus-lane,
html[data-theme="light"] .finance-focus-item,
html[data-theme="light"] .finance-reporting-details,
html[data-theme="light"] .booking-finance-summary,
html[data-theme="light"] .booking-finance-next,
html[data-theme="light"] .booking-finance-phase,
html[data-theme="light"] .booking-finance-invoice,
html[data-theme="light"] .operations-cockpit,
html[data-theme="light"] .operations-readiness-card,
html[data-theme="light"] .operations-next,
html[data-theme="light"] .operations-showday-preview,
html[data-theme="light"] .operations-unified-nav,
html[data-theme="light"] .organization-map-shell-v2,
html[data-theme="light"] .organization-map-panel,
html[data-theme="light"] .organization-map-detail,
html[data-theme="light"] .organization-map-section,
html[data-theme="light"] .organization-map-primary-card,
html[data-theme="light"] .organization-map-contact-card,
html[data-theme="light"] .place-results,
html[data-theme="light"] .place-suggestion,
html[data-theme="light"] .settings-console>.settings-tabs,
html[data-theme="light"] .settings-panel>.settings-form-card,
html[data-theme="light"] .settings-panel>section.lookup-settings-group,
html[data-theme="light"] .settings-panel .settings-section-head,
html[data-theme="light"] .settings-actions,
html[data-theme="light"] .travel-journey-group,
html[data-theme="light"] .travel-journey-group-head,
html[data-theme="light"] .travel-type-button,
html[data-theme="light"] .travel-composer-card,
html[data-theme="light"] .travel-composer-card-head,
html[data-theme="light"] .travel-direction-picker,
html[data-theme="light"] .travel-timeline-card,
html[data-theme="light"] .ground-route-presets,
html[data-theme="light"] .accommodation-core-card,
html[data-theme="light"] .accommodation-details,
html[data-theme="light"] .travel-return-pair{
  background:#fff!important;
  border-color:#d7e0e8!important;
  color:#17212d!important;
}
html[data-theme="light"] .action-summary-card:hover,
html[data-theme="light"] .artist-roster-item:hover,
html[data-theme="light"] .artist-roster-item.active,
html[data-theme="light"] .place-suggestion:hover,
html[data-theme="light"] .place-suggestion.is-active,
html[data-theme="light"] .travel-type-button:hover{
  background:#f4f7fa!important;
  border-color:#aebfce!important;
  color:#17212d!important;
}
html[data-theme="light"] .travel-type-button.active,
html[data-theme="light"] .travel-direction-button.active,
html[data-theme="light"] .settings-tab.active{
  background:#e8f1fb!important;
  color:#173b60!important;
  border-color:#89a9c7!important;
}
html[data-theme="light"] .organization-map-result-item-v2,
html[data-theme="light"] .organization-map-detail-top,
html[data-theme="light"] .organization-map-toolbar-v2,
html[data-theme="light"] .organization-map-stage-tools{
  background:#fff!important;
  border-color:#d7e0e8!important;
}
html[data-theme="light"] .settings-tab{border-color:transparent!important}
html[data-theme="light"] .settings-section-kicker,
html[data-theme="light"] .advance-overview-kicker,
html[data-theme="light"] .operations-kicker,
html[data-theme="light"] .finance-focus-kicker{color:#6d8195!important}
html[data-theme="light"] .artist-record-title,
html[data-theme="light"] .artist-record-card-head,
html[data-theme="light"] .booking-header-v2,
html[data-theme="light"] .deal-primary-card strong,
html[data-theme="light"] .paperwork-card-head,
html[data-theme="light"] .calendar-list-title,
html[data-theme="light"] .organization-map-primary-name,
html[data-theme="light"] .organization-map-result-name{color:#17212d!important}

/* 0.8.1.27 — accessibility contrast hardening.
   Core text aims at WCAG enhanced contrast where practical; interactive
   boundaries and focus indicators maintain at least 3:1 against adjacent
   surfaces. Semantic colours remain distinguishable without relying on colour
   alone. */
html[data-theme="dark"]{
  --rev-a11y-canvas:#02060a;
  --rev-a11y-surface:#07111a;
  --rev-a11y-surface-raised:#0d1a27;
  --rev-a11y-text:#f7fbff;
  --rev-a11y-secondary:#d7e0ea;
  --rev-a11y-muted:#9aaabd;
  --rev-a11y-border:#4a647d;
  --rev-a11y-border-strong:#5c7892;
  --rev-a11y-focus:#72b7ff;
  --rev-a11y-primary-bg:#2367c6;
  --rev-a11y-primary-text:#ffffff;
  --rev-ink:#02060a;
  --rev-ink-2:#07111a;
  --rev-ink-3:#0d1a27;
  --rev-paper:#f7fbff;
  --rev-paper-2:#d7e0ea;
  --rev-muted:#9aaabd;
  --rev-faint:#8ea0b4;
  --rev-rule:#4a647d;
  --rev-rule-strong:#5c7892;
  --rev-accent:#72b7ff;
  --rev-ui-bg:#02060a;
  --rev-ui-surface:#07111a;
  --rev-ui-surface-raised:#0d1a27;
  --rev-ui-border:#4a647d;
  --rev-ui-border-strong:#5c7892;
  --rev-ui-text:#f7fbff;
  --rev-ui-text-secondary:#d7e0ea;
  --rev-ui-muted:#9aaabd;
  --rev-ui-accent:#72b7ff;
  --rev-ui-success:#73d5ad;
  --rev-ui-warning:#e4ba67;
  --rev-ui-danger:#ff8a92;
  --bg:#02060a;
  --sidebar:#02060a;
  --surface:#07111a;
  --surface2:#0d1a27;
  --surface3:#122233;
  --field:#07111a;
  --line:#4a647d;
  --line2:#5c7892;
  --text:#f7fbff;
  --soft:#d7e0ea;
  --muted:#9aaabd;
  --subtle:#9aaabd;
  --dim:#8ea0b4;
  --white:#f7fbff;
}
html[data-theme="light"]{
  --rev-a11y-canvas:#eef2f6;
  --rev-a11y-surface:#ffffff;
  --rev-a11y-surface-raised:#f5f7fa;
  --rev-a11y-text:#101820;
  --rev-a11y-secondary:#2f4357;
  --rev-a11y-muted:#3c5268;
  --rev-a11y-border:#788ca1;
  --rev-a11y-border-strong:#657a90;
  --rev-a11y-focus:#0d5aa3;
  --rev-a11y-primary-bg:#1558a6;
  --rev-a11y-primary-text:#ffffff;
  --rev-ink:#eef2f6;
  --rev-ink-2:#ffffff;
  --rev-ink-3:#f5f7fa;
  --rev-paper:#101820;
  --rev-paper-2:#2f4357;
  --rev-muted:#3c5268;
  --rev-faint:#455c72;
  --rev-rule:#788ca1;
  --rev-rule-strong:#657a90;
  --rev-accent:#1458a0;
  --rev-ui-bg:#eef2f6;
  --rev-ui-surface-raised:#f5f7fa;
  --rev-ui-border:#788ca1;
  --rev-ui-border-strong:#657a90;
  --rev-ui-text:#101820;
  --rev-ui-text-secondary:#2f4357;
  --rev-ui-muted:#3c5268;
  --rev-ui-accent:#1458a0;
  --rev-ui-success:#075c3b;
  --rev-ui-warning:#744800;
  --rev-ui-danger:#a32631;
  --bg:#eef2f6;
  --sidebar:#ffffff;
  --surface:#ffffff;
  --surface2:#f5f7fa;
  --surface3:#e8edf2;
  --field:#ffffff;
  --line:#788ca1;
  --line2:#657a90;
  --text:#101820;
  --soft:#2f4357;
  --muted:#3c5268;
  --subtle:#3c5268;
  --dim:#455c72;
  --white:#101820;
}

html[data-theme="dark"] body,
html[data-theme="dark"] .app-shell,
html[data-theme="dark"] .app-content,
html[data-theme="dark"] .artist-app-content{color:var(--rev-a11y-text)}

/* Small and secondary interface text must remain readable in both themes. */
html[data-theme="dark"] .nav-label,
html[data-theme="dark"] .nav-count,
html[data-theme="dark"] .account-role,
html[data-theme="dark"] .top-context,
html[data-theme="dark"] .top-version,
html[data-theme="dark"] .page-sub,
html[data-theme="dark"] .help,
html[data-theme="dark"] .panel-meta,
html[data-theme="dark"] .section-eyebrow,
html[data-theme="dark"] .calendar-kicker,
html[data-theme="dark"] .ops-health-kicker,
html[data-theme="dark"] .table-secondary,
html[data-theme="dark"] .opp-meta,
html[data-theme="dark"] .booking-sub,
html[data-theme="dark"] .action-sub,
html[data-theme="dark"] .artist-sub,
html[data-theme="dark"] .artist-detail-meta,
html[data-theme="dark"] .artist-record-meta,
html[data-theme="dark"] .artist-panel-head p,
html[data-theme="dark"] .settings-section-kicker,
html[data-theme="dark"] .advance-overview-kicker,
html[data-theme="dark"] .operations-kicker,
html[data-theme="dark"] .finance-focus-kicker{color:var(--rev-a11y-muted)!important}

html[data-theme="light"] .top-context,
html[data-theme="light"] .top-version,
html[data-theme="light"] .nav-label,
html[data-theme="light"] .nav-count,
html[data-theme="light"] .account-role,
html[data-theme="light"] .page-sub,
html[data-theme="light"] .help,
html[data-theme="light"] .table-secondary,
html[data-theme="light"] .opp-meta,
html[data-theme="light"] .booking-sub,
html[data-theme="light"] .action-sub,
html[data-theme="light"] .artist-sub,
html[data-theme="light"] .artist-detail-meta,
html[data-theme="light"] .artist-record-meta,
html[data-theme="light"] .artist-panel-head p,
html[data-theme="light"] .settings-section-kicker,
html[data-theme="light"] .advance-overview-kicker,
html[data-theme="light"] .operations-kicker,
html[data-theme="light"] .finance-focus-kicker{color:var(--rev-a11y-muted)!important}

html[data-theme="dark"] .nav-link,
html[data-theme="dark"] .label,
html[data-theme="dark"] .search-placeholder,
html[data-theme="dark"] .account-settings-card p,
html[data-theme="dark"] .appearance-option small,
html[data-theme="dark"] .account-security-copy{color:var(--rev-a11y-secondary)!important}
html[data-theme="light"] .nav-link,
html[data-theme="light"] .label,
html[data-theme="light"] .search-placeholder,
html[data-theme="light"] .account-settings-card p,
html[data-theme="light"] .appearance-option small,
html[data-theme="light"] .account-security-copy{color:var(--rev-a11y-secondary)!important}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder{color:#9aaabd!important;opacity:1}
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder{color:#455c72!important;opacity:1}

/* Controls: visible boundaries and readable actions. */
html[data-theme="dark"] .input,
html[data-theme="dark"] .select,
html[data-theme="dark"] .textarea,
html[data-theme="dark"] .btn,
html[data-theme="dark"] .icon-btn,
html[data-theme="dark"] .account-settings-link,
html[data-theme="dark"] .appearance-option,
html[data-theme="dark"] .account-language-option{border-color:var(--rev-a11y-border)!important}
html[data-theme="light"] .input,
html[data-theme="light"] .select,
html[data-theme="light"] .textarea,
html[data-theme="light"] .btn,
html[data-theme="light"] .icon-btn,
html[data-theme="light"] .account-settings-link,
html[data-theme="light"] .appearance-option,
html[data-theme="light"] .account-language-option{border-color:var(--rev-a11y-border)!important}

html[data-theme="dark"] .btn{color:var(--rev-a11y-secondary)!important}
html[data-theme="light"] .btn{color:var(--rev-a11y-secondary)!important}
html[data-theme="dark"] .btn.primary,
html[data-theme="dark"] .top-btn{background:var(--rev-a11y-primary-bg)!important;border-color:var(--rev-a11y-primary-bg)!important;color:var(--rev-a11y-primary-text)!important}
html[data-theme="light"] .btn.primary,
html[data-theme="light"] .top-btn{background:var(--rev-a11y-primary-bg)!important;border-color:var(--rev-a11y-primary-bg)!important;color:var(--rev-a11y-primary-text)!important}
html[data-theme="dark"] .btn.primary:hover,
html[data-theme="dark"] .top-btn:hover{background:#2d70d1!important;border-color:#72b7ff!important;color:#fff!important}
html[data-theme="light"] .btn.primary:hover,
html[data-theme="light"] .top-btn:hover{background:#0d4b91!important;border-color:#0d4b91!important;color:#fff!important}

html[data-theme="dark"] button:focus-visible,
html[data-theme="dark"] a:focus-visible,
html[data-theme="dark"] input:focus-visible,
html[data-theme="dark"] select:focus-visible,
html[data-theme="dark"] textarea:focus-visible,
html[data-theme="dark"] summary:focus-visible{outline:3px solid var(--rev-a11y-focus)!important;outline-offset:2px!important}
html[data-theme="light"] button:focus-visible,
html[data-theme="light"] a:focus-visible,
html[data-theme="light"] input:focus-visible,
html[data-theme="light"] select:focus-visible,
html[data-theme="light"] textarea:focus-visible,
html[data-theme="light"] summary:focus-visible{outline:3px solid var(--rev-a11y-focus)!important;outline-offset:2px!important}

html[data-theme="dark"] ::selection{background:#72b7ff;color:#07111a}
html[data-theme="light"] ::selection{background:#1458a0;color:#fff}

/* Links and status colours need sufficient luminance contrast, not colour alone. */
html[data-theme="dark"]{--rev-success:#73d5ad;--rev-warning:#e4ba67;--rev-danger:#ff8a92;--rev-info:#8ab8ff}
html[data-theme="light"]{--rev-success:#075c3b;--rev-warning:#744800;--rev-danger:#a32631;--rev-info:#0c5d9e}
html[data-theme="light"] .account-security-state.is-on{color:#075c3b!important;border-color:#2e765a!important}
html[data-theme="light"] .account-security-state.is-pending{color:#744800!important;border-color:#8b6b2f!important}
html[data-theme="light"] .account-security-disable>summary{color:#8f1f2a!important}
html[data-theme="dark"] .account-security-disable>summary{color:#ff9ba1!important}

/* High-contrast panel separation for users with reduced vision. */
html[data-theme="dark"] .panel,
html[data-theme="dark"] .workspace-section,
html[data-theme="dark"] .side-panel,
html[data-theme="dark"] .info-card,
html[data-theme="dark"] .drawer,
html[data-theme="dark"] .drawer-head,
html[data-theme="dark"] .drawer-foot{border-color:var(--rev-a11y-border)!important}
html[data-theme="light"] .panel,
html[data-theme="light"] .workspace-section,
html[data-theme="light"] .side-panel,
html[data-theme="light"] .info-card,
html[data-theme="light"] .drawer,
html[data-theme="light"] .drawer-head,
html[data-theme="light"] .drawer-foot{border-color:var(--rev-a11y-border)!important}

/* Module-level small text that historically used low-contrast hard-coded greys. */
html[data-theme] .advance-overview-meta,
html[data-theme] .advance-overview-deadline>span,
html[data-theme] .advance-overview-deadline>small,
html[data-theme] .advance-focus-state,
html[data-theme] .advance-focus-item small,
html[data-theme] .advance-setup-deadline p,
html[data-theme] .advance-contacts>summary small,
html[data-theme] .advance-contact-count,
html[data-theme] .advance-checklist-section-title span:not(.advance-section-dot),
html[data-theme] .advance-section-progress>span,
html[data-theme] .advance-item-meta,
html[data-theme] .advancing-item-more>summary,
html[data-theme] .calendar-filter-label,
html[data-theme] .calendar-list-title,
html[data-theme] .calendar-source-count,
html[data-theme] .calendar-week-number,
html[data-theme] .calendar-view-button,
html[data-theme] .calendar-context-bar,
html[data-theme] .calendar-drag-hint,
html[data-theme] .month-weekdays>div,
html[data-theme] .month-more-link,
html[data-theme] .week-day-head,
html[data-theme] .week-all-day-label,
html[data-theme] .travel-journey-group-head span,
html[data-theme] .travel-journey-kind>span,
html[data-theme] .travel-journey-time,
html[data-theme] .travel-journey-detail,
html[data-theme] .travel-journey-note,
html[data-theme] .finance-money-stat span,
html[data-theme] .aging-bucket span,
html[data-theme] .finance-recon-row span,
html[data-theme] .finance-ledger-columns,
html[data-theme] .invoice-identity span,
html[data-theme] .invoice-booking span,
html[data-theme] .invoice-status small,
html[data-theme] .payment-line span,
html[data-theme] .finance-pagination p,
html[data-theme] .booking-lifecycle-action span,
html[data-theme] .booking-lifecycle-summary span,
html[data-theme] .column-filter-popover label,
html[data-theme] .document-lock-note,
html[data-theme] .artist-switcher label,
html[data-theme] .artist-kpi>span,
html[data-theme] .artist-kpi small,
html[data-theme] .artist-panel-head p,
html[data-theme] .artist-record-date span,
html[data-theme] .artist-record-meta,
html[data-theme] .artist-lead-head,
html[data-theme] .artist-lead-row small,
html[data-theme] .artist-compact-row span,
html[data-theme] .artist-empty,
html[data-theme] .artist-history-item span,
html[data-theme] .artist-history-item small,
html[data-theme] .artist-breadcrumbs,
html[data-theme] .artist-fact-grid span,
html[data-theme] .artist-lead-detail-block>span,
html[data-theme] .artist-timeline-simple span,
html[data-theme] .artist-contact-card>span,
html[data-theme] .artist-contact-card p,
html[data-theme] .artist-deal-hero span,
html[data-theme] .artist-deal-hero small{color:var(--rev-a11y-muted)!important}

html[data-theme] .calendar-source-toggle,
html[data-theme] .travel-journey-time strong,
html[data-theme] .travel-journey-service,
html[data-theme] .travel-journey-kind>small,
html[data-theme] .column-filter-popover,
html[data-theme] .column-check,
html[data-theme] .artist-account-label,
html[data-theme] .artist-sub,
html[data-theme] .artist-detail-meta,
html[data-theme] .artist-lead-row,
html[data-theme] .artist-next-show span,
html[data-theme] .artist-contact-actions a,
html[data-theme] .artist-note p{color:var(--rev-a11y-secondary)!important}

html[data-theme] .mini-calendar-nav a,
html[data-theme] .month-more-link,
html[data-theme] .revision-pagination a,
html[data-theme] .artist-breadcrumbs a,
html[data-theme] .artist-contact-actions a{color:var(--rev-accent)!important}

/* Preserve semantic emphasis after the high-contrast base overrides. */
html[data-theme] .nav-link.active,
html[data-theme] .nav-link:hover{color:var(--rev-a11y-text)!important}
html[data-theme] .icon-btn,
html[data-theme] .account-settings-link{color:var(--rev-a11y-secondary)!important}
html[data-theme="dark"] .btn.danger{color:#ff9ba1!important;border-color:#a85b63!important;background:transparent!important}
html[data-theme="dark"] .btn.danger:hover{color:#fff!important;background:#8d3039!important;border-color:#ff9ba1!important}
html[data-theme="light"] .btn.danger:hover{color:#fff!important;background:#8f1f2a!important;border-color:#8f1f2a!important}
html[data-theme] .calendar-view-button.active{color:var(--rev-a11y-text)!important}

/* 0.8.1.31 — complete light-theme bridge.
   Legacy workspaces still contain dark literals; this final shared theme layer
   translates those active surfaces to the accessible token contract instead
   of adding page-by-page light skins. */
html[data-theme="light"]{
  --rev-surface-border:#c7d2dc;
  --rev-surface-border-soft:#dbe3ea;
  --rev-row-hover:#eef4f8;
  --rev-selected-bg:#e5eff8;
  --rev-selected-border:#6f8eaa;
}
html[data-theme="light"] body,
html[data-theme="light"] .page,
html[data-theme="light"] .workspace-page{color:var(--rev-a11y-text)}

/* Shared containers, overlays and menus. */
html[data-theme="light"] .panel,
html[data-theme="light"] .workspace-section,
html[data-theme="light"] .side-panel,
html[data-theme="light"] .info-card,
html[data-theme="light"] .note-card,
html[data-theme="light"] .drawer,
html[data-theme="light"] .drawer-head,
html[data-theme="light"] .drawer-foot,
html[data-theme="light"] .inline-modal,
html[data-theme="light"] .inline-modal-head,
html[data-theme="light"] .inline-modal-foot,
html[data-theme="light"] .confirm-dialog,
html[data-theme="light"] .command,
html[data-theme="light"] .user-menu-panel,
html[data-theme="light"] .record-action-menu-popover,
html[data-theme="light"] .column-filter-popover,
html[data-theme="light"] .artist-multifilter-menu,
html[data-theme="light"] .module-search-results,
html[data-theme="light"] .country-autocomplete-results{
  background:var(--rev-a11y-surface)!important;
  border-color:var(--rev-surface-border)!important;
  color:var(--rev-a11y-text)!important;
}
html[data-theme="light"] .panel-head,
html[data-theme="light"] .workspace-section-head,
html[data-theme="light"] .side-panel-head,
html[data-theme="light"] .drawer-head,
html[data-theme="light"] .drawer-foot,
html[data-theme="light"] .inline-modal-head,
html[data-theme="light"] .inline-modal-foot{
  border-color:var(--rev-surface-border-soft)!important;
}
html[data-theme="light"] .record-menu-action,
html[data-theme="light"] .column-sort-link,
html[data-theme="light"] .module-search-result,
html[data-theme="light"] .artist-multifilter-option,
html[data-theme="light"] .country-autocomplete-option{color:var(--rev-a11y-secondary)!important}
html[data-theme="light"] .record-menu-action:hover,
html[data-theme="light"] .column-sort-link:hover,
html[data-theme="light"] .module-search-result:hover,
html[data-theme="light"] .artist-multifilter-option:hover,
html[data-theme="light"] .country-autocomplete-option:hover,
html[data-theme="light"] .country-autocomplete-option.is-active{background:var(--rev-row-hover)!important;color:var(--rev-a11y-text)!important}

/* Forms and tables: strong field edges, quiet structural separators. */
html[data-theme="light"] .input,
html[data-theme="light"] .select,
html[data-theme="light"] .textarea{background:#fff!important;border-color:var(--rev-a11y-border)!important;color:var(--rev-a11y-text)!important}
html[data-theme="light"] .input:focus,
html[data-theme="light"] .select:focus,
html[data-theme="light"] .textarea:focus{border-color:var(--rev-a11y-focus)!important;box-shadow:0 0 0 1px var(--rev-a11y-focus)!important}
html[data-theme="light"] .table-head,
html[data-theme="light"] .excel-grid-head,
html[data-theme="light"] .opp-head,
html[data-theme="light"] .booking-workspace-head,
html[data-theme="light"] .booking-list-head,
html[data-theme="light"] .finance-head,
html[data-theme="light"] .document-head{background:#eef3f7!important;border-color:var(--rev-surface-border)!important;color:var(--rev-a11y-secondary)!important}
html[data-theme="light"] .table-row,
html[data-theme="light"] .opp-row,
html[data-theme="light"] .booking-workspace-row,
html[data-theme="light"] .booking-list-row,
html[data-theme="light"] .finance-row,
html[data-theme="light"] .document-row{background:#fff!important;border-color:var(--rev-surface-border-soft)!important;color:var(--rev-a11y-text)!important}
html[data-theme="light"] .table-row:hover,
html[data-theme="light"] .opp-row:hover,
html[data-theme="light"] .booking-workspace-row:hover,
html[data-theme="light"] .booking-list-row:hover,
html[data-theme="light"] .finance-row:hover,
html[data-theme="light"] .document-row:hover{background:var(--rev-row-hover)!important}

/* Action Centre / Overview. */
html[data-theme="light"] .action-filter-panel,
html[data-theme="light"] .action-list-panel,
html[data-theme="light"] .action-center-group,
html[data-theme="light"] .action-center-row,
html[data-theme="light"] .action-group-more-list,
html[data-theme="light"] .action-group-extra,
html[data-theme="light"] .overview-focus-grid,
html[data-theme="light"] .overview-focus-card,
html[data-theme="light"] .overview-action-panel,
html[data-theme="light"] .overview-shows-panel,
html[data-theme="light"] .overview-action-row,
html[data-theme="light"] .overview-show-row,
html[data-theme="light"] .overview-activity-row{background:#fff!important;border-color:var(--rev-surface-border-soft)!important;color:var(--rev-a11y-text)!important}
html[data-theme="light"] .action-center-row:hover,
html[data-theme="light"] .action-group-extra:hover,
html[data-theme="light"] .overview-focus-card:hover,
html[data-theme="light"] .overview-action-row:hover,
html[data-theme="light"] .overview-show-row:hover,
html[data-theme="light"] .overview-activity-row:hover{background:var(--rev-row-hover)!important}
html[data-theme="light"] .action-copy p,
html[data-theme="light"] .action-context,
html[data-theme="light"] .action-due span,
html[data-theme="light"] .overview-action-context,
html[data-theme="light"] .overview-show-body span,
html[data-theme="light"] .overview-activity-context,
html[data-theme="light"] .overview-activity-main>small{color:var(--rev-a11y-muted)!important}

/* Booking, Commercial, Operations, Advancing and Travel. */
html[data-theme="light"] .booking-header-v2,
html[data-theme="light"] .booking-hero-compact,
html[data-theme="light"] .booking-hero-facts,
html[data-theme="light"] .booking-hero-fact,
html[data-theme="light"] .booking-primary-contact-strip,
html[data-theme="light"] .booking-phase-bar,
html[data-theme="light"] .booking-phase-action,
html[data-theme="light"] .commercial-flow,
html[data-theme="light"] .commercial-step,
html[data-theme="light"] .deal-summary-strip,
html[data-theme="light"] .deal-primary-card,
html[data-theme="light"] .deal-payment-terms,
html[data-theme="light"] .deal-logistics,
html[data-theme="light"] .deal-more,
html[data-theme="light"] .paperwork-card,
html[data-theme="light"] .confirmation-compact,
html[data-theme="light"] .operations-cockpit,
html[data-theme="light"] .operations-readiness-card,
html[data-theme="light"] .operations-next,
html[data-theme="light"] .operations-showday-preview,
html[data-theme="light"] .operations-unified-nav,
html[data-theme="light"] .advance-overview,
html[data-theme="light"] .advance-focus,
html[data-theme="light"] .advance-focus-item,
html[data-theme="light"] .advance-checklist-section,
html[data-theme="light"] .advance-item,
html[data-theme="light"] .advance-setup-card,
html[data-theme="light"] .advancing-contact-card,
html[data-theme="light"] .travel-journey-board,
html[data-theme="light"] .travel-journey-group,
html[data-theme="light"] .travel-journey-group-head,
html[data-theme="light"] .travel-composer-card,
html[data-theme="light"] .travel-composer-card-head,
html[data-theme="light"] .travel-direction-picker,
html[data-theme="light"] .travel-timeline-card,
html[data-theme="light"] .accommodation-core-card,
html[data-theme="light"] .accommodation-details,
html[data-theme="light"] .stay-card{background:#fff!important;border-color:var(--rev-surface-border)!important;color:var(--rev-a11y-text)!important}
html[data-theme="light"] .booking-sub,
html[data-theme="light"] .booking-summary-item span,
html[data-theme="light"] .commercial-step small,
html[data-theme="light"] .deal-more summary,
html[data-theme="light"] .advance-overview-meta,
html[data-theme="light"] .advance-item-meta,
html[data-theme="light"] .travel-timeline-note,
html[data-theme="light"] .travel-order-hint{color:var(--rev-a11y-muted)!important}

/* Finance and Settings. */
html[data-theme="light"] .finance-focus-lane,
html[data-theme="light"] .finance-focus-item,
html[data-theme="light"] .finance-currency-block,
html[data-theme="light"] .finance-reporting-details,
html[data-theme="light"] .booking-finance-summary,
html[data-theme="light"] .booking-finance-next,
html[data-theme="light"] .booking-finance-phase,
html[data-theme="light"] .booking-finance-invoice,
html[data-theme="light"] .settings-console,
html[data-theme="light"] .settings-tabs,
html[data-theme="light"] .settings-panel,
html[data-theme="light"] .settings-form-card,
html[data-theme="light"] .lookup-settings-group,
html[data-theme="light"] .setting-row,
html[data-theme="light"] .settings-section-head,
html[data-theme="light"] .settings-actions{background:#fff!important;border-color:var(--rev-surface-border)!important;color:var(--rev-a11y-text)!important}
html[data-theme="light"] .setting-help,
html[data-theme="light"] .finance-focus-kicker,
html[data-theme="light"] .finance-invoice-next-step{color:var(--rev-a11y-muted)!important}
html[data-theme="light"] .settings-tab{color:var(--rev-a11y-secondary)!important}
html[data-theme="light"] .settings-tab:hover{background:var(--rev-row-hover)!important;color:var(--rev-a11y-text)!important}
html[data-theme="light"] .settings-tab.active{background:var(--rev-selected-bg)!important;border-color:var(--rev-selected-border)!important;color:#103b63!important}

/* Artists and CRM. */
html[data-theme="light"] .artist-roster-layout,
html[data-theme="light"] .artist-roster-nav,
html[data-theme="light"] .artist-roster-search,
html[data-theme="light"] .artist-roster-item,
html[data-theme="light"] .artist-record-panel,
html[data-theme="light"] .artist-record-hero,
html[data-theme="light"] .artist-record-card,
html[data-theme="light"] .artist-record-kpis,
html[data-theme="light"] .artist-record-manage,
html[data-theme="light"] .crm-shell,
html[data-theme="light"] .lead-grid-shell,
html[data-theme="light"] .inspector,
html[data-theme="light"] .inspector-body{background:#fff!important;border-color:var(--rev-surface-border)!important;color:var(--rev-a11y-text)!important}
html[data-theme="light"] .artist-roster-item:hover,
html[data-theme="light"] .artist-roster-item.active{background:var(--rev-selected-bg)!important;border-color:var(--rev-selected-border)!important}

/* Organization Map: the Leaflet tiles stay photographic; every surrounding
   control/detail surface follows the light contract. */
html[data-theme="light"] .organization-map-shell-v2,
html[data-theme="light"] .organization-map-panel,
html[data-theme="light"] .organization-map-results,
html[data-theme="light"] .organization-map-detail,
html[data-theme="light"] .organization-map-detail-top,
html[data-theme="light"] .organization-map-toolbar-v2,
html[data-theme="light"] .organization-map-stage-tools,
html[data-theme="light"] .organization-map-section,
html[data-theme="light"] .organization-map-primary-card,
html[data-theme="light"] .organization-map-contact-card,
html[data-theme="light"] .organization-map-result-item-v2{background:#fff!important;border-color:var(--rev-surface-border)!important;color:var(--rev-a11y-text)!important}
html[data-theme="light"] .organization-map-result-item-v2:hover,
html[data-theme="light"] .organization-map-result-item-v2.active{background:var(--rev-selected-bg)!important}
html[data-theme="light"] .organization-map-info-label,
html[data-theme="light"] .organization-map-contact-role,
html[data-theme="light"] .organization-map-detail-meta{color:var(--rev-a11y-muted)!important}

/* Calendar: light scheduling surface without sacrificing semantic event colours. */
html[data-theme="light"] .planner-calendar-shell,
html[data-theme="light"] .artist-calendar-shell,
html[data-theme="light"] .calendar-sidebar-panel,
html[data-theme="light"] .calendar-side-card,
html[data-theme="light"] .calendar-main-panel,
html[data-theme="light"] .calendar-commandbar,
html[data-theme="light"] .calendar-context-bar,
html[data-theme="light"] .month-weekdays,
html[data-theme="light"] .planner-month-day,
html[data-theme="light"] .week-corner,
html[data-theme="light"] .week-day-head,
html[data-theme="light"] .week-all-day-label,
html[data-theme="light"] .week-all-day-cell,
html[data-theme="light"] .week-time-label,
html[data-theme="light"] .week-day-column,
html[data-theme="light"] .calendar-agenda-row,
html[data-theme="light"] .calendar-mobile-month-workspace,
html[data-theme="light"] .calendar-mobile-day-panel{background:#fff!important;border-color:var(--rev-surface-border)!important;color:var(--rev-a11y-text)!important}
html[data-theme="light"] .planner-month-day.outside{background:#f4f6f8!important}
html[data-theme="light"] .planner-month-day.today{background:#eef5fb!important;box-shadow:inset 0 0 0 1px #4d789f!important}
html[data-theme="light"] .month-day-number,
html[data-theme="light"] .calendar-period-title,
html[data-theme="light"] .mini-calendar-title,
html[data-theme="light"] .week-day-head strong,
html[data-theme="light"] .calendar-event-title{color:var(--rev-a11y-text)!important}
html[data-theme="light"] .month-weekdays>div,
html[data-theme="light"] .calendar-context-bar,
html[data-theme="light"] .calendar-timezone strong,
html[data-theme="light"] .calendar-drag-hint,
html[data-theme="light"] .week-time-label,
html[data-theme="light"] .agenda-source,
html[data-theme="light"] .agenda-artists{color:var(--rev-a11y-muted)!important}
html[data-theme="light"] .calendar-view-switcher{background:#f1f5f8!important;border-color:var(--rev-surface-border)!important}
html[data-theme="light"] .calendar-view-button{color:var(--rev-a11y-secondary)!important}
html[data-theme="light"] .calendar-view-button.active{background:#dceaf7!important;color:#0c3d68!important}
html[data-theme="light"] .calendar-event-compact,
html[data-theme="light"] .calendar-event-timed{background:color-mix(in srgb,var(--event-color) 13%,#fff)!important;border-color:color-mix(in srgb,var(--event-color) 55%,#657a90)!important;color:#101820!important}
html[data-theme="light"] .calendar-event-compact strong,
html[data-theme="light"] .calendar-event-timed strong,
html[data-theme="light"] .calendar-event-timed small{color:#101820!important}

/* Links and danger states remain explicit rather than relying on muted colour. */
html[data-theme="light"] .danger-text,
html[data-theme="light"] .record-menu-action.danger-text{color:#8f1e29!important}
html[data-theme="light"] .btn.danger{background:#9d2632!important;border-color:#9d2632!important;color:#fff!important}

/* 0.8.1.31 — authentication surfaces follow the same accessible theme contract. */
.auth-inline-link{border:0;border-bottom:1px solid var(--rev-a11y-border);background:transparent;color:var(--rev-a11y-secondary);padding:0;font:inherit;cursor:pointer}
.auth-inline-link:hover,.auth-inline-link:focus-visible{color:var(--rev-a11y-text);border-bottom-color:var(--rev-a11y-focus)}
html[data-theme="light"] .auth-language-option{color:var(--rev-a11y-secondary)!important}
html[data-theme="light"] .auth-language-option:hover,html[data-theme="light"] .auth-language-option.active{background:var(--rev-row-hover,#eef4f8)!important;color:var(--rev-a11y-text)!important}

/* 0.8.36.12 — Finance workspace semantic theme bridge. */
html[data-theme="light"] .finance-attention-card,
html[data-theme="light"] .finance-position-section,
html[data-theme="light"] .finance-filter-section,
html[data-theme="light"] .finance-ledger,
html[data-theme="light"] .finance-reporting-details,
html[data-theme="light"] .finance-ledger-inspector,
html[data-theme="light"] .finance-payment-history,
html[data-theme="light"] .finance-invoice-next-step,
html[data-theme="light"] .finance-inspector-metrics>div{background:var(--rev-ui-surface)!important;border-color:var(--rev-ui-border)!important;color:var(--rev-ui-text)!important}
html[data-theme="light"] .finance-ledger-inspector,
html[data-theme="light"] .finance-filter-more,
html[data-theme="light"] .finance-position-currency{background:var(--rev-ui-surface-raised)!important}

/* REVISION 0.9.1.15 — motion and system accessibility preferences. */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media (forced-colors:active){
  :focus-visible{outline:2px solid Highlight!important;outline-offset:2px}
}

/* REVISION 0.9.3.15 — Artist Portal light/dark surface contract. */
html[data-theme] body.revision-v0911 .artist-next-show-panel,
html[data-theme] body.revision-v0911 .artist-kpi,
html[data-theme] body.revision-v0911 .artist-panel,
html[data-theme] body.revision-v0911 .artist-contact-card,
html[data-theme] body.revision-v0911 .artist-travel-card,
html[data-theme] body.revision-v0911 .artist-show-note-card,
html[data-theme] body.revision-v0911 .artist-org-card,
html[data-theme] body.revision-v0911 .artist-deal-hero,
html[data-theme] body.revision-v0911 .artist-fact-grid>div,
html[data-theme] body.revision-v0911 .artist-document{background:var(--surface);border-color:var(--line);color:var(--text)}
html[data-theme] body.revision-v0911 .artist-next-show-date,
html[data-theme] body.revision-v0911 .artist-facing-note,
html[data-theme] body.revision-v0911 .artist-travel-instruction{background:var(--surface2);border-color:var(--line);color:var(--text)}
html[data-theme] body.revision-v0911 .artist-day-itinerary-row,
html[data-theme] body.revision-v0911 .artist-document,
html[data-theme] body.revision-v0911 .artist-fact-grid>div,
html[data-theme] body.revision-v0911 .artist-deal-hero{border-color:var(--line)}
html[data-theme] body.revision-v0911 .artist-contact-card h3,
html[data-theme] body.revision-v0911 .artist-fact-grid strong,
html[data-theme] body.revision-v0911 .artist-day-itinerary-main>strong,
html[data-theme] body.revision-v0911 .artist-document strong,
html[data-theme] body.revision-v0911 .artist-org-card strong,
html[data-theme] body.revision-v0911 .artist-detail-venue{color:var(--text)}
html[data-theme] body.revision-v0911 .artist-contact-card>span,
html[data-theme] body.revision-v0911 .artist-contact-card p,
html[data-theme] body.revision-v0911 .artist-fact-grid span,
html[data-theme] body.revision-v0911 .artist-day-itinerary-main>span,
html[data-theme] body.revision-v0911 .artist-day-itinerary-main>small,
html[data-theme] body.revision-v0911 .artist-document small{color:var(--muted)}
