/* Functional dashboard themes. Load last, after all dashboard and quote styles. */
:root,
:root[data-theme="light"] {
  color-scheme: light;
  --scheme: light;
  --bg: #f3f5f7;
  --sidebar: #e9eef3;
  --panel: #ffffff;
  --panel2: #eef2f6;
  --line: #c4ccd7;
  --line-strong: #758398;
  --ink: #17212f;
  --muted: #526174;
  --purple: #2457a7;
  --purple2: #2457a7;
  --lilac: #2457a7;
  --blue: #2457a7;
  --amber: #875408;
  --green: #216842;
  --red: #ac2d36;
  --blue-soft: #e7effb;
  --amber-soft: #fff2d6;
  --green-soft: #e8f4eb;
  --red-soft: #fbeaec;
  --action-ink: #ffffff;
  --focus: #2457a7;
  --backdrop: rgba(20, 28, 40, .45);
  --shadow: 0 8px 28px rgba(20, 28, 40, .12);
  --select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23526174' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --scheme: dark;
  --bg: #151b24;
  --sidebar: #19222e;
  --panel: #202a37;
  --panel2: #273444;
  --line: #526176;
  --line-strong: #76869b;
  --ink: #e7edf5;
  --muted: #b0bfd1;
  --purple: #90b7ef;
  --purple2: #90b7ef;
  --lilac: #90b7ef;
  --blue: #90b7ef;
  --amber: #f0c477;
  --green: #93d0a7;
  --red: #ffaaa8;
  --blue-soft: #263e5b;
  --amber-soft: #443620;
  --green-soft: #253e33;
  --red-soft: #492f34;
  --action-ink: #151b24;
  --focus: #a0c4f2;
  --backdrop: rgba(4, 10, 18, .7);
  --shadow: 0 8px 28px rgba(0, 0, 0, .2);
  --select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23b0bfd1' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

html[data-theme] body { background: var(--bg); color: var(--ink); }
html[data-theme] .sidebar { background: var(--sidebar); box-shadow: none; }
html[data-theme] .topbar { background: var(--panel); backdrop-filter: none; }
html[data-theme] :is(.metric-card,.agent-card,.panel,.focus-panel,.canonical-panel,.dashboard-bridge,.clients-agenda,.login-card,.modal,.clients-info-dialog,.pca-quote-dialog) {
  color: var(--ink); background: var(--panel); border-color: var(--line); box-shadow: none;
}
html[data-theme] :is(.login-card,.modal,.clients-info-dialog,.pca-quote-dialog) { box-shadow: var(--shadow); }
html[data-theme] .metric-card::after,
html[data-theme] .auth-stage::before,
html[data-theme] .auth-stage::after,
html[data-theme] .login-card::before { display: none; }
html[data-theme] :is(.brand-mark,.login-brand,.avatar,.admin-badge) {
  background: var(--blue); color: var(--action-ink); box-shadow: none;
}
html[data-theme] :is(.nav-item,.button,.agent-card,.login-submit,.login-form input) { transition: none; }
html[data-theme] :is(.button:hover,.agent-card:hover,.login-submit:hover) { transform: none; filter: none; }
html[data-theme] :is(.nav-item:hover,.task:hover,.clients-row:hover) { background: var(--panel2); }
html[data-theme] .nav-item.active { background: var(--blue-soft); color: var(--blue); box-shadow: inset 3px 0 var(--blue); }
html[data-theme] :is(.agent-dot,i.ok,.timeline .current i) { box-shadow: none; }
html[data-theme] .agent-dot { background: var(--blue); }
html[data-theme] :is(.nav-label,.nav-item small,.legal-note,.site-footer,.log-head,.sync-table th,.landing-metric-note,.landing-period,.landing-checked),
html[data-theme] .crumb span::after { color: var(--muted); }
html[data-theme] :is(.task,.sync-note,.segment-control,.permission-grid>div,.connection-card,.access-card,.process>div,.training-chips span,.landing-quality,.clients-agenda-card,.clients-history-row td,.sync-summary>span) { background: var(--panel2); }
html[data-theme] :is(.button,.account-button,.clients-service) { background: var(--panel); border-color: var(--line-strong); }
html[data-theme] :is(.segment.active,.clients-service.active) { background: var(--blue-soft); color: var(--blue); border-color: var(--blue); box-shadow: none; }
html[data-theme] :is(.button.primary,.sheet-button,.login-submit,.pca-quote-generate,.pca-quote-send:not(:disabled),.pca-chat-submit,.pca-chat-export) {
  background: var(--blue); border-color: var(--blue) !important; color: var(--action-ink); box-shadow: none;
}
html[data-theme] :is(.agent-symbol,.system-icon,.count,.task-number,.single-rule>span,.viewer-badge,.date-tile) { color: var(--blue); background: var(--blue-soft); }
html[data-theme] :is(.task.urgent .task-number,.red-bg) { color: var(--red); background: var(--red-soft); }
html[data-theme] :is(.amber-bg,.decision-icon,.training-chips span) { color: var(--amber); background: var(--amber-soft); }
html[data-theme] .green-bg { color: var(--green); background: var(--green-soft); }
html[data-theme] .timeline i { background: var(--muted); }
html[data-theme] .timeline .current i { background: var(--blue); }
html[data-theme] .process .waiting i { background: var(--blue); color: var(--action-ink); }
html[data-theme] .process .complete i { background: var(--green); color: var(--panel); }
html[data-theme="dark"] .process .complete i { color: var(--bg); }

/* Operational meaning is always paired with the existing label. */
html[data-theme] :is(.active-status,.data-chip,.notice.real,.login-security span,.check-grid i,.schedules-state.is-active) {
  color: var(--green); background: var(--green-soft); border-color: var(--green);
}
html[data-theme] :is(.notice.real b,.login-status.is-success) { color: var(--green); }
html[data-theme] :is(.warn-status,.decision-box,.security-note,.clients-integration-notice,.schedules-state.is-paused) {
  color: var(--amber); background: var(--amber-soft); border-color: var(--amber);
}
html[data-theme] :is(.ready-status,.notification-rule,.schedules-channel) { color: var(--blue); background: var(--blue-soft); border-color: var(--blue); }
html[data-theme] :is(.clients-message.is-error,.clients-contact-state,.schedules-message.is-error,.schedules-edit-error,.login-status.is-error) { color: var(--red); }
html[data-theme] :is(.clients-row-state,.schedules-row-message) { color: var(--amber); }
html[data-theme] :is(.clients-contact-state,.clients-row-state.is-error,.schedules-edit-error) { color: var(--red); }
html[data-theme] :is(.clients-call-date,.clients-meet) { color: var(--blue); }
html[data-theme] .metric-card.accent { border-left: 4px solid var(--blue); }
html[data-theme] .metric-card.danger { border-left: 4px solid var(--red); }
html[data-theme] .metric-card:has([data-crm-calls-today], [data-crm-calls-tomorrow]) { border-left: 4px solid var(--blue); }
html[data-theme] .metric-card:has([data-crm-won-clients]) { border-left: 4px solid var(--green); }
html[data-theme] .clients-stat strong { color: var(--ink); }
html[data-theme] .clients-stat:nth-child(2) { border-left: 4px solid var(--blue); }
html[data-theme] .clients-stat:nth-child(2) strong { color: var(--blue); }
html[data-theme] .clients-stat:nth-child(3) { border-left: 4px solid var(--amber); }
html[data-theme] .clients-stat:nth-child(4) { border-left: 4px solid var(--red); }
html[data-theme] .clients-service-badge { color: var(--muted); background: var(--panel2); }
html[data-theme] .clients-first-no-show { border-top-color: var(--red); }
html[data-theme] .clients-no-show-check { accent-color: var(--red); }
html[data-theme] .clients-no-show-label:has(.clients-no-show-check:checked) { color: var(--red); }
html[data-theme] .clients-first-no-show:has(.clients-no-show-check:checked) { border-left: 3px solid var(--red); padding-left: 9px; }
html[data-theme] :is(.clients-select,.clients-priority):has(option:is([value="call_fissata"],[value="call_effettuata"],[value="seconda_call_fissata"],[value="seconda_call"],[value="upcoming"]):checked) { border-left: 4px solid var(--blue); }
html[data-theme] :is(.clients-select,.clients-priority):has(option:is([value="follow_up"],[value="ricontattare"]):checked) { border-left: 4px solid var(--amber); background-color: var(--amber-soft); }
html[data-theme] :is(.clients-select,.clients-priority):has(option:is([value="vinto"],[value="won"]):checked) { border-left: 4px solid var(--green); background-color: var(--green-soft); }
html[data-theme] :is(.clients-select,.clients-priority):has(option:is([value="assente_prima_call"],[value="assente_seconda_call"],[value="non_presentato"],[value="overdue"]):checked) { border-left: 4px solid var(--red); background-color: var(--red-soft); }

/* Native inputs and dropdowns follow the selected theme, including date icons. */
html[data-theme] :is(.clients-search,.clients-priority,.clients-select,.clients-date,.clients-notes,.schedules-time,.schedules-enabled,.login-form input,.pca-quote-form input:not([type="file"]),.pca-quote-form select,.pca-chat-dialog textarea) {
  color-scheme: var(--scheme); color: var(--ink); background-color: var(--panel); border-color: var(--line-strong); min-height: 44px; font-size: 14px;
}
html[data-theme] :is(.clients-select,.clients-priority) { background-image: var(--select-arrow); }
html[data-theme] :is(.clients-view select option,.schedules-enabled option,.pca-quote-form select option) { background: var(--panel); color: var(--ink); }
html[data-theme] :is(input,textarea)::placeholder { color: var(--muted); opacity: 1; }
html[data-theme] .schedules-day span { background: var(--panel); border-color: var(--line-strong); color: var(--muted); min-height: 44px; min-width: 44px; font-size: 14px; }
html[data-theme] .schedules-day input:checked+span { background: var(--blue-soft); border-color: var(--blue); color: var(--blue); }
html[data-theme] :is(.clients-table th,.sync-table th) { background: var(--panel2); }
html[data-theme] :is(.login-intro,.login-status,.login-security p,.login-footer,.loading-card small) { color: var(--muted); }
html[data-theme] .login-eyebrow { color: var(--blue); }
html[data-theme] .login-security { border-color: var(--line); }
html[data-theme] .auth-stage--loading { background: var(--bg); }
html[data-theme] .loading-card { color: var(--ink); }
html[data-theme] .loading-ring { border-color: var(--line); border-top-color: var(--blue); }
html[data-theme] noscript { background: var(--red-soft); color: var(--red); }
html[data-theme] .modal-backdrop,
html[data-theme] .clients-info-dialog::backdrop,
html[data-theme] .pca-quote-dialog::backdrop { background: var(--backdrop); backdrop-filter: none; }
html[data-theme] :is(.modal-close,.clients-info-button,.clients-info-close,.pca-quote-close) { background: var(--panel2); color: var(--ink); border-color: var(--line-strong); }
html[data-theme] .toast { color: var(--action-ink); background: var(--blue); box-shadow: var(--shadow); }

/* Quote, saved quote, upload and conversational dialogs share the dashboard palette. */
html[data-theme] :is(.pca-quote-recipient,.pca-quote-summary,.pca-quote-cancel,.pca-saved-meta,.pca-upload-drop span,.pca-chat-option-installments,.pca-chat-payment-note,.pca-chat-protected,.pca-chat-client span,.pca-chat-readiness) { color: var(--muted); }
html[data-theme] :is(.pca-quote-word,.pca-quote-technical:not(:disabled),.pca-quote-technical-word:not(:disabled),.pca-chat-settings,.pca-chat-approve) { background: var(--panel); color: var(--blue); border-color: var(--blue); }
html[data-theme] :is(.pca-saved-technical:not(:disabled),.pca-saved-technical-word:not(:disabled)) { background: var(--panel) !important; color: var(--blue) !important; border-color: var(--blue) !important; }
html[data-theme] :is(.pca-quote-actions button,.pca-quote-workflow button,.pca-saved-actions button,.pca-chat-client) { border-color: var(--line-strong); }
html[data-theme] :is(.pca-quote-cancel,.pca-quote-workflow button,.pca-saved-actions button,.pca-chat-client) { background: var(--panel); color: var(--ink); }
html[data-theme] :is(.pca-quote-send:not(:disabled),.pca-quote-generate) { background: var(--blue); border-color: var(--blue); color: var(--action-ink); }
html[data-theme] :is(.pca-quote-workflow,.pca-saved-entry,.pca-chat-preview,.pca-chat-option,.pca-chat-readiness) { border-color: var(--line); }
html[data-theme] :is(.pca-saved-state,.pca-chat-message,.pca-chat-message strong,.pca-chat-field>span,.pca-chat-option-total,.pca-upload-drop) { color: var(--ink); }
html[data-theme] :is(.pca-chat-message,.pca-chat-option,.pca-chat-readiness,.pca-upload-drop) { background: var(--panel2); }
html[data-theme] .pca-chat-message-user { background: var(--panel); border-color: var(--line); }
html[data-theme] .pca-upload-drop { border-color: var(--line-strong); }
html[data-theme] :is(.pca-saved-actions a,.pca-upload-preview a,.pca-chat-youtrust) { color: var(--blue); }
html[data-theme] :is(.pca-quote-error,.pca-chat-dialog [aria-invalid="true"]) { color: var(--red); background: var(--red-soft); border-color: var(--red); }

/* A solid, visible keyboard focus survives every theme and disabled styling. */
html[data-theme] :is(button,a,input,select,textarea,.pca-upload-drop):focus-visible,
html[data-theme] .schedules-day input:focus-visible+span {
  outline: 3px solid var(--focus); outline-offset: 3px; box-shadow: none;
}
html[data-theme] :is(.login-form input:focus,.pca-quote-form input:focus,.pca-quote-form select:focus,.pca-chat-dialog textarea:focus) { border-color: var(--focus); box-shadow: none; }
html[data-theme] .pca-upload-drop.is-dragging { outline: 3px solid var(--focus); border-color: var(--focus); }
html[data-theme] :is(button:disabled,input:disabled,select:disabled,textarea:disabled,[aria-disabled="true"]) {
  opacity: 1; color: var(--muted); background-color: var(--panel2); border-color: var(--line-strong); box-shadow: none; cursor: default;
}
html[data-theme] .schedules-day input:disabled+span { opacity: 1; color: var(--muted); background: var(--panel2); border-color: var(--line-strong); }
html[data-theme] .clients-no-show-label:has(.clients-no-show-check:disabled):has(.clients-no-show-check:checked) { color: var(--red); }
html[data-theme] .pca-chat-nav-readiness { opacity: 1; }

/* Readable operational labels and a 44px target for every visible control. */
html[data-theme] :is(.brand strong,.brand span,.nav-label,.nav-item,.nav-item small,.source-mini b,.source-mini small,.crumb span,.crumb b,.data-chip,.button,.account-button b,.account-button small,.eyebrow,.metric-card span,.metric-card small,.section-heading p,.panel-head p,.agent-card>p,.status,.status.large,.agent-summary span,.agent-summary b,.agent-card footer,.sync-note b,.sync-note small,.task b,.task small,.task em,.single-rule b,.single-rule p,.notice b,.notice span,.campaign-main p,.decision-box b,.decision-box p,.timeline b,.timeline small,.simple-rows>div,.simple-rows b,.training-panel p,.training-chips span,.segment,.focus-panel p,.process b,.process small,.check-grid b,.check-grid small,.legal-note,.site-footer,.modal>p,.source-list b,.source-list small,.role-row b,.role-row small,.role-row em,.toast,.system-copy b,.system-copy small,.system-time b,.system-time small,.system-compact b,.system-compact small,.system-compact em,.permission-grid span,.permission-grid b,.canonical-panel p,.log-row,.landing-card .landing-speed,.landing-card .landing-speed b,.landing-quality>b,.landing-quality>span,.landing-quality>small,.landing-quality-site>span,.landing-quality-site b,.landing-quality-grid>span,.landing-quality-grid b,.landing-card .landing-measurement,.connection-card b,.connection-card small,.access-card b,.access-card small,.security-note b,.security-note span,.dashboard-bridge p,.sync-summary b,.sync-summary small,.sync-table th,.sync-table td,.sync-table td:first-child,.landing-metric-note,.landing-period,.landing-checked) { font-size: 14px; line-height: 1.5; }
html[data-theme] :is(.clients-view p,.clients-view small,.clients-view span,.clients-view label,.clients-view th,.clients-view td,.clients-history-button,.clients-meet,.clients-info-dialog dt,.clients-info-dialog h3,.clients-info-dialog small,.schedules-view p,.schedules-view small,.schedules-view span,.schedules-view label,.schedules-view legend,.schedules-view button,.schedules-actual>strong,.schedules-control-label,.schedules-request,.schedules-draft-state,.pca-quote-form label,.pca-quote-form button,.pca-quote-form p,.pca-saved-actions a,.pca-saved-meta,.pca-saved-state,.pca-upload-drop,.pca-upload-drop span,.pca-upload-preview a,.login-eyebrow,.login-footer,.login-security p,.loading-card small) { font-size: 14px; line-height: 1.5; }
html[data-theme] :is(.app-shell button,.login-card button,.pca-quote-dialog button,.clients-info-dialog button) { min-height: 44px; min-width: 44px; }
html[data-theme] :is(.clients-history-button,.clients-meet,.sheet-button,.pca-saved-actions a,.pca-upload-preview a,.pca-chat-youtrust) { display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px; }
html[data-theme] .clients-no-show-label { min-height: 44px; }
html[data-theme] .clients-save { font-size: 14px !important; min-height: 44px !important; }
html[data-theme] .pca-quote-form input:not([type="file"]),
html[data-theme] .pca-quote-form select { height: auto; }
html[data-theme] .login-status { font-size: 14px; }
html[data-theme] .clients-info-close { width: 44px; height: 44px; }

.theme-control { display: inline-flex; align-items: center; gap: 4px; flex: 0 0 auto; }
.theme-control-label { color: var(--muted); font-size: 14px; margin-right: 4px; }
.theme-control button { min-height: 44px; padding: 8px 10px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--panel); color: var(--ink); font: inherit; font-size: 14px; line-height: 1.4; cursor: pointer; }
.theme-control button[aria-pressed="true"] { color: var(--blue); background: var(--blue-soft); border-color: var(--blue); box-shadow: inset 0 -3px var(--blue); }
.theme-control--login { display: flex; justify-content: flex-end; margin-bottom: 22px; }
html[data-theme] .topbar { height: auto; min-height: 70px; padding-block: 12px; }
html[data-theme] .top-actions { flex-wrap: wrap; justify-content: flex-end; }
html[data-theme] .account-button { min-height: 44px; }
html[data-theme] .account-button>.avatar { width: 44px; height: 44px; flex-basis: 44px; }
html[data-theme] .workspace main,
html[data-theme] .site-footer { width: calc(100% - 32px); max-width: none; }
html[data-theme] .topbar { padding-inline: 16px; }
.sidebar-toggle { display: grid; place-items: center; flex: 0 0 44px; min-height: 44px; width: 44px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--panel); color: var(--ink); cursor: pointer; font: inherit; font-size: 24px; }
@media (min-width: 901px) {
  html[data-sidebar="collapsed"] .app-shell { grid-template-columns: 72px minmax(0,1fr); }
  html[data-sidebar="collapsed"] .sidebar { padding: 18px 12px 16px; }
  html[data-sidebar="collapsed"] .brand { justify-content: center; padding: 0 0 24px; }
  html[data-sidebar="collapsed"] .brand>div:not(.brand-mark),
  html[data-sidebar="collapsed"] .nav-label,
  html[data-sidebar="collapsed"] .nav-item>*:not(.nav-icon):not(.agent-dot),
  html[data-sidebar="collapsed"] .source-mini>span { display: none; }
  html[data-sidebar="collapsed"] .nav-item { position: relative; display: grid; grid-template-columns: 1fr; justify-items: center; padding: 0; min-width: 44px; min-height: 44px; }
  html[data-sidebar="collapsed"] .nav-icon { font-size: 21px; }
  html[data-sidebar="collapsed"] .agent-dot { display: grid; place-items: center; width: 44px; height: 44px; margin: 0; background: transparent; }
  html[data-sidebar="collapsed"] .agent-dot::before { content: attr(data-sidebar-icon); font-size: 14px; font-weight: 700; color: var(--blue); }
  html[data-sidebar="collapsed"] .nav-item::after { content: attr(aria-label); display: none; position: absolute; top: 0; left: calc(100% + 10px); width: max-content; max-width: 260px; padding: 10px 13px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--panel); color: var(--ink); box-shadow: var(--shadow); font-size: 14px; line-height: 1.5; z-index: 20; }
  html[data-sidebar="collapsed"] .nav-item:hover::after,
  html[data-sidebar="collapsed"] .nav-item:focus-visible::after { display: block; }
  html[data-sidebar="collapsed"] .sidebar-foot { padding-inline: 8px; }
}
@media (max-width: 900px) { .sidebar-toggle { display: none; } }
@media (max-width: 1180px) {
  html[data-theme] .topbar { flex-wrap: wrap; gap: 10px; }
  html[data-theme] .top-actions { margin-left: auto; }
}
@media (max-width: 700px) {
  html[data-theme] .top-actions { width: 100%; justify-content: flex-start; }
  html[data-theme] .data-chip { flex-wrap: wrap; border-radius: 9px; }
  html[data-theme] .top-actions .theme-control { margin-left: auto; }
  html[data-theme] .topbar { position: relative; }
}
@media (max-width: 380px) {
  html[data-theme] .top-actions .data-chip { width: 100%; }
  html[data-theme] .top-actions .theme-control { margin-left: 0; }
  .theme-control-label { margin-right: 2px; }
}

/* Dense commercial rows: keep actions, reveal extended content on demand. */
html[data-theme] .clients-table { min-width: 1160px; }
html[data-theme] .clients-table th:nth-child(1) { width: 23%; }
html[data-theme] .clients-table th:nth-child(2) { width: 15%; }
html[data-theme] .clients-table th:nth-child(3) { width: 14%; }
html[data-theme] .clients-table th:nth-child(4) { width: 17%; }
html[data-theme] .clients-table th:nth-child(5) { width: 15%; }
html[data-theme] .clients-table th:nth-child(6) { width: 10%; }
html[data-theme] .clients-table th:nth-child(7) { width: 6%; }
html[data-theme] .clients-table td { padding: 10px 10px; }
html[data-theme] .clients-row .clients-commercial-label { margin-top: 8px; font-size: 13px; line-height: 1.3; }
html[data-theme] .clients-row td > .clients-commercial-label:first-child,
html[data-theme] .clients-row .clients-client-tools .clients-commercial-label { margin-top: 0; }
html[data-theme] .clients-row .clients-commercial-label :is(.clients-select,.clients-date) { margin-top: 4px; padding: 8px 9px; min-height: 44px; font-size: 14px; }
html[data-theme] .clients-row .clients-next-step .clients-commercial-label:first-child { margin-top: 8px; }
.clients-client-tools { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; margin-top: 4px; }
.clients-client-tools > label { min-width: 0; }
.clients-identity { min-width: 0; flex: 1; }
html[data-theme] .clients-row .clients-name { margin: 0; font-size: 14px; line-height: 1.5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.clients-identity-meta { display: flex; align-items: center; gap: 6px; min-width: 0; }
html[data-theme] .clients-row .clients-identity-meta :is(.clients-service-badge,.clients-company) { margin: 0; font-size: 13px; line-height: 1.4; }
html[data-theme] .clients-row .clients-company { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html[data-theme] .clients-row .clients-contact { display: block; margin: 0; font-size: 13px; line-height: 1.5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html[data-theme] .clients-row .clients-call-status { margin-top: 0; font-size: 13px; line-height: 1.4; }
html[data-theme] .clients-row .clients-call-date { line-height: 1.5; }
html[data-theme] .clients-row .clients-meet { margin-top: 0; padding-block: 5px; min-height: 44px; font-size: 13px; line-height: 1.4; }
html[data-theme] .clients-row .clients-first-no-show { gap: 4px; padding-top: 4px; margin-top: 0; }
html[data-theme] .clients-row .clients-no-show-label { font-size: 13px; line-height: 1.4; min-height: 28px; }
html[data-theme] .clients-row :is(.clients-call-details,.clients-note-details) { margin: 0; border: 0; }
html[data-theme] .clients-row :is(.clients-call-details,.clients-note-details) > summary { min-height: 44px; display: list-item; cursor: pointer; color: var(--purple2); font-size: 13px; line-height: 1.4; padding-block: 12px; }
html[data-theme] .clients-row :is(.clients-call-details,.clients-note-details) > summary:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 4px; }
html[data-theme] .clients-row .clients-call-details[open] > .clients-first-appointment { padding-bottom: 8px; margin-bottom: 8px; border-bottom: 1px solid var(--line); }
html[data-theme] .clients-row .clients-note-preview { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; color: var(--muted); font-size: 13px; line-height: 1.4; }
.clients-note-details[open] + .clients-note-preview { display: none!important; }
html[data-theme] .clients-row .clients-notes { min-height: 94px; }
html[data-theme] .clients-row .clients-history-button { font-size: 13px; line-height: 1.4; padding-block: 5px; }
html[data-theme] .clients-row .clients-row-state { margin-top: 4px; font-size: 13px; line-height: 1.4; }
@media(max-width:900px) { html[data-theme] .clients-table td { padding: 12px 10px; } }

/* Give the client register priority on the first screen. */
html[data-theme] .workspace main:has(> .clients-view.active) { padding-top: 14px; }
html[data-theme] .clients-view .page-heading { min-height: 44px; margin-bottom: 12px; align-items: center; }
html[data-theme] .clients-view .page-heading .eyebrow { display: none; }
html[data-theme] .clients-view .page-heading h1 { font-size: 26px; line-height: 1.2; }
html[data-theme] .clients-agenda { padding: 0; margin-bottom: 10px; border-radius: 10px; }
html[data-theme] .clients-agenda-summary { min-height: 44px; padding: 12px; cursor: pointer; font-size: 14px; font-weight: 650; line-height: 1.4; color: var(--ink); }
html[data-theme] .clients-agenda-summary > span { font-size: 14px; line-height: 1.4; }
html[data-theme] .clients-agenda-summary:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
html[data-theme] .clients-agenda-count { color: var(--muted); font-weight: 400; }
.clients-agenda-content { padding: 0 12px 12px; }
html[data-theme] .clients-agenda-heading { margin-bottom: 10px; }
html[data-theme] .clients-summary { gap: 8px; margin-bottom: 10px; }
html[data-theme] .clients-stat { padding: 8px 10px; gap: 10px; border-radius: 10px; }
html[data-theme] .clients-stat strong { font-size: 24px; }
html[data-theme] .clients-stat span { font-size: 14px; line-height: 1.4; }
html[data-theme] .clients-toolbar { margin-bottom: 6px; gap: 8px; }
html[data-theme] .clients-service { padding: 8px 10px; min-height: 44px; }
html[data-theme] .clients-message { margin: 6px 0 8px; }
html[data-theme] .clients-table-top { padding: 8px 10px; }
html[data-theme] .clients-table th { padding: 9px 10px; }
@media(min-width:1100px) {
  html[data-theme] .clients-search-label { display: flex; gap: 8px; align-items: center; flex: 1 1 270px; max-width: 320px; }
  html[data-theme] .clients-filter-label { display: flex; gap: 8px; align-items: center; }
  html[data-theme] .clients-toolbar-label { flex: 0 0 auto; margin: 0; font-size: 14px; }
  html[data-theme] .clients-search { min-width: 0; flex: 1 1 auto; }
}
@media(max-width:1099px) {
  html[data-theme] .clients-view .page-heading h1 { font-size: 24px; }
  html[data-theme] .clients-toolbar-label { font-size: 14px; }
}
