/* Clear Choice: shared brand primitives. Scheduling/status colours are not remapped. */
:root {
  --brand-blue: #2471a3;
  --brand-blue-hover: #1c5d88;
  --brand-on-primary: #fff;
  --brand-ink: #2c3e50;
  --brand-muted: #5f6d78;
  --brand-line: #d5dde5;
  --brand-soft: #e6f1f9;
  --brand-ground: #f4f6f8;
  --brand-paper: #fff;
  --brand-input-border: #687887;
  --brand-selected-line: #9cc5df;
  --brand-neutral: #eaf0f4;
  --brand-dark-ground: #121a23;
  --brand-dark-paper: #1c2835;
  --brand-dark-ink: #edf2f7;
  --brand-dark-muted: #aab6c2;
  --brand-dark-line: #394959;
  --brand-dark-soft: #193d55;
  --brand-dark-link: #79bcee;
  --brand-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ism-blue: var(--brand-blue);
  --ism-blue-hover: var(--brand-blue-hover);
  --ism-heading: var(--brand-ink);
  --ism-text: var(--brand-ink);
  --ism-border: var(--brand-line);
  --ism-surface-soft: var(--brand-ground);
  --ism-surface: var(--brand-paper);
  --ism-font: var(--brand-font);
  --app-blue: var(--brand-blue);
  --app-line: var(--brand-line);
  --app-muted: var(--brand-muted);
  --app-bg: var(--brand-ground);
  --app-paper: var(--brand-paper);
  --brand-action: #2471a3;
  --brand-action-hover: #1c5d88;
}
body.ism-app, body.account-page, body.console-page { color:var(--brand-ink); background:var(--brand-ground); font-family:var(--brand-font); color-scheme:light; }
html[data-theme="dark"] {
  --brand-blue:#79bcee;
  --brand-blue-hover:#a0d0f2;
  --brand-on-primary:#fff;
  --brand-ink:var(--brand-dark-ink);
  --brand-muted:var(--brand-dark-muted);
  --brand-line:var(--brand-dark-line);
  --brand-soft:var(--brand-dark-soft);
  --brand-ground:var(--brand-dark-ground);
  --brand-paper:var(--brand-dark-paper);
  --brand-input-border:#8595a5;
  --brand-selected-line:#5e8aa7;
  --brand-neutral:#23313f;
  --app-bg:var(--brand-dark-ground);
  --app-paper:var(--brand-dark-paper);
  color-scheme:dark;
  --brand-action:#2471a3;
  --brand-action-hover:#1c5d88;
}
/* Display one accessible wordmark using the resolved Light/Dark/Auto choice. */
html:not([data-theme="dark"]) .brand-logo-dark,
html[data-theme="dark"] .brand-logo-light { display:none; }
.brand-logo-light, .brand-logo-dark { max-width:100%; height:auto; }
html[data-theme="dark"] body.ism-app,
html[data-theme="dark"] body.account-page,
html[data-theme="dark"] body.console-page { color:var(--brand-ink); background:var(--brand-ground); color-scheme:dark; }
html[data-theme="dark"] body:is(.ism-app,.console-page) :is(.app-header,.mobile-app-header,.app-sidebar,.console-sidebar,.app-drawer,.mobile-nav-drawer){ background:var(--brand-paper); color:var(--brand-ink); }
html[data-theme="dark"] body:is(.ism-app,.console-page) :is(.app-header .mobile-menu,.mobile-navigation .mobile-nav-menu,.header-group-switch,.mobile-header-group,.console-sidebar-toggle):hover { background:var(--brand-soft); }
html[data-theme="dark"] .ism-app :is(.contacts-list,.composer,.empty-state),
html[data-theme="dark"] .ism-app .contact-row { background:var(--brand-paper); color:var(--brand-ink); }
html[data-theme="dark"] .ism-app .contact-row:nth-child(odd) { background:var(--brand-neutral); }
html[data-theme="dark"] .skip-link { background:var(--brand-paper); color:var(--brand-ink); }
.mobile-app-header, .mobile-header-identity h1, .mobile-nav-drawer, .console-sidebar,
.ism-app .app-drawer, .ism-app .mobile-page-title, .ism-app h1, .ism-app h2, .ism-app h3 { color:var(--brand-ink); }
.console-sidebar a[aria-current=page],.mobile-nav-drawer a[aria-current=page],.mobile-navigation .mobile-nav-avatar,.ism-app .app-header .avatar,.ism-app nav a[aria-current=page]{ color:var(--brand-blue); background:var(--brand-soft); }
.console-sidebar nav a, .console-sidebar nav summary, .mobile-nav-drawer nav a,
.ism-app nav a, .ism-app nav summary { color:var(--brand-ink); }
.mobile-navigation .mobile-header-group, .mobile-navigation .console-sidebar-toggle,
.console-group-label, .header-group { color:var(--brand-muted); }
.console-page .btn-primary, .ism-app .primary { background:var(--brand-action); border-color:var(--brand-action); color:var(--brand-on-primary); }
.console-page .btn-primary:hover, .ism-app .primary:hover:not(:disabled),
.ism-login-submit:hover { background:var(--brand-action-hover); border-color:var(--brand-action-hover); color:var(--brand-on-primary); }
.account-header, .ism-login-card { border-top-color:var(--brand-blue); }
.ism-login-page, .ism-login-card h1, .ism-login-fields .form-control { color:var(--brand-ink); }
.console-page :focus-visible, .account-page :focus-visible, .ism-app :focus-visible { outline-color:var(--brand-blue); }
.ism-app .header-group, .ism-app .header-group button { color:var(--brand-muted); }
/* Component-specific selectors must also win over shared button hover rules. */
.ism-app .group-pages .gp-primary { background:var(--brand-action); color:var(--brand-on-primary); border-color:var(--brand-action); }
.ism-app .group-pages .gp-primary:hover:not(:disabled) { background:var(--brand-action-hover); border-color:var(--brand-action-hover); }
.ism-design .btn-primary, .ism-design .btn-info { background:var(--brand-action); border-color:var(--brand-action); color:#fff; }
.ism-design .btn-success { background:#1e8449; border-color:#1e8449; color:#fff; }
.ism-design .btn-danger { background:#c0392b; border-color:#c0392b; color:#fff; }
.ism-design .btn-warning { background:#ba4a00; border-color:#ba4a00; color:#fff; }
