/* UI43 — agreed Whistle page system. Loaded last; domain actions keep their selectors. */
:root {
 --background:#f7fafc;--surface:#fff;--surface-secondary:#f4f8fb;--sidebar-surface:#f2f8fa;
 --text-primary:#0d1b38;--text-secondary:#637187;--text-muted:#637187;--border:#e3eaf1;
 --brand-500:#18c998;--brand-600:#0fb989;--teal:var(--brand-500);--ui-soft:#e5faf0;
 --tone-success:#087957;--tone-success-bg:#e5faf0;--tone-info:#165eb0;--tone-info-bg:#eaf3ff;
 --tone-warning:#80510b;--tone-warning-bg:#fff5df;--tone-danger:#b22d3b;--tone-danger-bg:#fff0f1;
 --ink:var(--text-primary);--muted:var(--text-secondary);--line:var(--border);--bg:var(--background);
 --surface-2:var(--surface-secondary);--surface-hover:var(--surface-secondary);--danger:var(--tone-danger);
 --radius-md:9px;--radius-lg:14px;--sidebar-width:232px;--shadow-card:0 2px 10px rgb(13 27 56 / .025);
 --ui43-motion:160ms;--control-height:40px;color-scheme:light;
}
html[data-theme="dark"] {
 --background:#071823;--surface:#0d2230;--surface-secondary:#102a3a;--sidebar-surface:#091d29;
 --text-primary:#f4f7fa;--text-secondary:#afbdca;--text-muted:#afbdca;--border:#223b4b;
 --ui-soft:#103d33;--tone-success:#76e9c2;--tone-success-bg:#103d33;
 --tone-info:#94c9ff;--tone-info-bg:#14334d;--tone-warning:#ffd185;--tone-warning-bg:#3c3020;
 --tone-danger:#ffadb7;--tone-danger-bg:#46252f;--shadow-card:0 2px 10px rgb(0 0 0 / .07);color-scheme:dark;
}
html[data-contrast="high"] {--text-secondary:#334661;--text-muted:#334661;--border:#75879d;--tone-success:#075d49}
html[data-theme="dark"][data-contrast="high"] {--text-secondary:#e2ecf4;--text-muted:#e2ecf4;--border:#8ca9bd;--tone-success:#a2f8df}
body[data-design-system],.offline-v55-page {background:var(--background);color:var(--text-primary);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.5}
body[data-design-system] :is(button,input,select,textarea) {font:inherit}
body[data-design-system] main {max-width:1600px;margin-inline:auto;padding:24px 28px 48px;width:100%;box-sizing:border-box}
body[data-design-system] :is(h1,h2,h3,h4) {color:var(--text-primary);overflow-wrap:anywhere}
body[data-design-system] :is(.page-head h1,#moduleView .page-head h1) {font-size:28px;font-weight:650;line-height:1.25;letter-spacing:-.03em}
body[data-design-system] .topbar {height:66px;min-height:66px;padding-inline:24px;background:var(--surface);border-bottom:1px solid var(--border)}
body[data-design-system] #sidebar {background:var(--sidebar-surface);border-right:1px solid var(--border)}
body[data-design-system] #sidebar .brand {padding:22px 18px 20px}
body[data-design-system] #sidebar nav [data-view] {min-height:38px;padding:8px 10px;border-radius:9px;font-size:13px;transition:background var(--ui43-motion),color var(--ui43-motion)}
body[data-design-system] #sidebar nav [data-view].active {background:var(--ui-soft);color:var(--tone-success);box-shadow:none;font-weight:600}
body[data-design-system] #sidebar nav [data-view].active i {color:inherit}
body[data-design-system] #sidebar nav section>p {padding:0;margin-bottom:6px}
body[data-design-system] #sidebar nav .ui43-group-toggle {display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:transparent;color:var(--text-secondary);min-height:32px;padding:6px 10px;font-size:11px;font-weight:600;letter-spacing:.06em;text-align:left}
.ui43-group-toggle::after {content:"⌄";font-size:15px;transform:rotate(-90deg);transition:transform var(--ui43-motion)}
.ui43-group-toggle[aria-expanded="true"]::after {transform:rotate(0)}
.ui43-group-links[hidden] {display:none!important}
html[data-sidebar="collapsed"] #sidebar .ui43-group-links {display:block!important}
body[data-design-system] :is(.primary,.crm1 .primary,.crm-modal .primary) {background:var(--teal);color:var(--primary-foreground,#07372a);border:1px solid transparent;border-radius:9px;min-height:40px;box-shadow:none;transform:none}
body[data-design-system] .primary.danger {background:var(--tone-danger-bg);border-color:var(--tone-danger);color:var(--tone-danger)}
body[data-design-system] :is(.secondary,.icon-button,.company-picker) {border-radius:9px;border-color:var(--border);background:var(--surface);color:var(--text-primary);box-shadow:none}
body[data-design-system] :is(button,a) {touch-action:manipulation}
body[data-design-system] button:not(:disabled):hover {filter:none}
body[data-design-system] :is(.secondary,.icon-button,.crm1 button,.crm-modal button):hover:not(:disabled) {background:var(--surface-secondary)}
body[data-design-system] :is(.primary,.crm1 .primary,.crm-modal .primary):hover:not(:disabled) {background:var(--brand-600)}
body[data-design-system] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),select,textarea) {border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text-primary);min-width:0}
body[data-design-system] :is(input,textarea)::placeholder {color:var(--text-secondary);opacity:1}
body[data-design-system] :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible {outline:3px solid var(--tone-info);outline-offset:3px}
body[data-design-system] :is(.panel,.ws-card,.knowledge-card,.platform-v30-card,.ws-record-card,.service-pro-card,.desk-metrics article,.demo-metrics article,.ops-grid article,.metric-grid article) {background:var(--surface);border-color:var(--border);border-radius:14px;box-shadow:var(--shadow-card)}
body[data-design-system] :is(.panel,.ws-card,.platform-v30-card,.ws-record-card) {padding:20px}
body[data-design-system] :is(.demo-table-scroll,.crm-table-wrap,.ws-calendar-scroll) {background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:auto}
body[data-design-system] :is(.demo-table,.desk-table,.records-table-v511,.crm1 table) {border-collapse:separate;border-spacing:0;color:var(--text-primary);font-size:13px;width:100%}
body[data-design-system] :is(.demo-table,.desk-table,.crm1 table) th {background:var(--surface-secondary);color:var(--text-secondary);font-size:11px;opacity:1;font-weight:600;padding:11px 14px;text-transform:none;letter-spacing:0}
body[data-design-system] :is(.demo-table,.desk-table,.crm1 table) td {font-size:13px;padding:13px 14px;border-color:var(--border);vertical-align:middle}
body[data-design-system] :is(.demo-table,.desk-table,.crm1 table) tbody tr:hover {background:var(--surface-secondary)}
body[data-design-system] :is(.admin-toolbar,.work-list-filters,.desk-toolbar,.knowledge-toolbar,.people-toolbar) {gap:10px;flex-wrap:wrap;margin-bottom:16px}
body[data-design-system] :is(.modal-card,.crm-modal,.auth-card) {background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 60px rgb(0 0 0 / .14)}
body[data-design-system] :is(.modal-card,.crm-modal) {max-height:calc(100dvh - 48px);overflow:auto;padding:24px}
body[data-design-system] .modal {background:rgb(7 24 35 / .48);backdrop-filter:blur(3px);padding:24px}
body[data-design-system] :is(.modal-head,.crm-modal-head) {gap:16px;border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:20px}
body[data-design-system] :is(.modal-head h2,.crm-modal h2) {font-size:22px;line-height:1.35;font-weight:650}
body[data-design-system] :is(.form-error,[role="alert"],.work-overdue,.crm-overdue) {color:var(--tone-danger)}
body[data-design-system] :is(.settings-section,.operations-section) {border-color:var(--border);margin-bottom:20px}
body[data-design-system] :is(.settings-grid,.crm-form) {gap:16px}
body[data-design-system] :is(.settings-section h3,.operations-section h3) {font-size:16px;font-weight:600}
body[data-design-system] :is(.ws-empty,.compact-empty,.module-error) {border-radius:14px;background:var(--surface);color:var(--text-secondary);padding:32px 24px}
body[data-design-system] .auth-gate {background:radial-gradient(ellipse at 50% 20%,var(--ui-soft),transparent 65%),var(--background)}
body[data-design-system] .auth-card {width:min(480px,100%);padding:32px}
body[data-design-system] .auth-copy h1 {font-size:28px;line-height:1.25;letter-spacing:-.03em}
body[data-design-system] .auth-copy p {color:var(--text-secondary)}
body[data-design-system] #dashboardView .ws-home-hero {border-radius:14px;padding:28px;min-height:180px}
body[data-design-system] #dashboardView :is(.ws-home-grid,.dashboard-grid) {gap:16px}
/* Message nodes/composer are styled in place; no rerender or polling in UI43. */
body[data-design-system] :is(.chat-list-block,.chat-dialog-block) {border-color:var(--border);border-radius:14px}
body[data-design-system] .chat-dialog-block {background:var(--background)}
body[data-design-system] .chat-room.active {background:var(--ui-soft);color:var(--text-primary)}
body[data-design-system] .chat-message>div {border:1px solid var(--border);background:var(--surface);border-radius:14px;box-shadow:none}
body[data-design-system] .chat-message.own>div {background:var(--ui-soft);border-color:var(--border)}
body[data-design-system] .chat-composer {background:var(--surface);border-color:var(--border);border-radius:0 0 14px 14px}
body[data-design-system] .chat-composer textarea {min-height:64px;border-radius:9px;background:var(--surface-secondary);padding:12px}
/* CRM tabs, metrics, real cards and detail layout. */
body[data-design-system] .crm-tabs {flex-wrap:nowrap;overflow:auto;gap:22px;border-bottom:1px solid var(--border);padding:0;margin-bottom:20px}
body[data-design-system] .crm-tabs button {flex-shrink:0;background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;padding:12px 0;color:var(--text-secondary);font-size:13px;min-height:44px}
body[data-design-system] .crm-tabs button[aria-selected="true"] {background:transparent;border-bottom-color:var(--teal);color:var(--tone-success);font-weight:600}
body[data-design-system] .crm-tools {gap:10px;align-items:end}
body[data-design-system] .crm-tools label {min-width:120px;max-width:190px;font-size:11px;color:var(--text-secondary)}
body[data-design-system] .crm-tools label:first-child {flex:1;max-width:280px;min-width:180px}
body[data-design-system] .crm-scope {font-size:11px;color:var(--text-secondary);opacity:1;margin:14px 0}
body[data-design-system] .crm-metrics {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}
body[data-design-system] .crm-metrics article {min-width:0;width:auto;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface);gap:6px}
body[data-design-system] .crm-metrics strong {font-size:24px;line-height:1.35;overflow-wrap:anywhere}
body[data-design-system] .crm-metrics span {font-size:12px;color:var(--text-secondary);opacity:1}
body[data-design-system] .crm-metric-money {display:grid;gap:4px}
body[data-design-system] .crm-metric-money strong {font-size:22px}
body[data-design-system] .crm-board {grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;overflow:visible}
body[data-design-system] .crm-column {min-width:0;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-secondary);min-height:260px}
body[data-design-system] .crm-column h3 {display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:600;margin:2px 0 6px}
body[data-design-system] .crm-column h3 small {float:none;font-size:11px;background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:2px 6px;opacity:1}
body[data-design-system] .crm-column-total {display:block;color:var(--text-secondary);font-size:11px;margin:0 0 14px;overflow-wrap:anywhere}
body[data-design-system] .crm-card {padding:14px;gap:8px;margin-bottom:10px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);transition:border-color var(--ui43-motion),box-shadow var(--ui43-motion)}
body[data-design-system] .crm-card:hover {background:var(--surface);border-color:var(--teal);box-shadow:0 3px 12px rgb(13 27 56 / .06)}
body[data-design-system] .crm-card strong {font-size:14px;line-height:1.45;overflow-wrap:anywhere}
body[data-design-system] .crm-card small {font-size:11px;color:var(--text-secondary);opacity:1;overflow-wrap:anywhere}
body[data-design-system] .crm-card .crm-card-amount {font-weight:650;font-size:16px}
body[data-design-system] .crm-card .crm-card-type {align-self:flex-start;font-size:11px;padding:3px 7px;border-radius:6px;color:var(--tone-info);background:var(--tone-info-bg)}
body[data-design-system] .crm-link {color:var(--tone-info)!important;min-height:32px;overflow-wrap:anywhere}
body[data-design-system] .crm-modal {width:min(960px,94vw);--crm-border:var(--border);--crm-bg:var(--surface)}
body[data-design-system] .crm-modal::backdrop {background:rgb(7 24 35 / .48);backdrop-filter:blur(3px)}
body[data-design-system] .crm-detail-layout {display:grid;grid-template-columns:minmax(0,1.65fr) minmax(230px,1fr);gap:20px;align-items:start}
body[data-design-system] .crm-detail-main,body[data-design-system] .crm-detail-side {min-width:0}
body[data-design-system] .crm-detail :is(dl,.crm-detail-side) {background:var(--surface-secondary);border:1px solid var(--border);border-radius:12px;padding:16px}
body[data-design-system] .crm-detail dl {grid-template-columns:minmax(100px,35%) minmax(0,1fr);font-size:13px;margin:0 0 16px;gap:10px 16px}
body[data-design-system] .crm-detail dt {color:var(--text-secondary);opacity:1}
body[data-design-system] .crm-detail h3 {font-size:15px;font-weight:600;margin:20px 0 12px}
body[data-design-system] .crm-detail-side h3:first-child {margin-top:0}
body[data-design-system] .crm-detail-actions {align-items:stretch;gap:8px;margin-bottom:16px}
body[data-design-system] .crm-detail-actions button {flex:1 1 100%}
body[data-design-system] .crm-detail form {display:grid;gap:10px}
body[data-design-system] .crm-events {list-style:none;padding:0;display:grid;gap:0}
body[data-design-system] .crm-events li {border-left:2px solid var(--border);padding:12px 0 12px 16px;border-bottom:0;font-size:12px}
body[data-design-system] .crm-events dl {background:var(--surface);padding:12px;margin:8px 0 0}
body[data-design-system] .crm-merge {border-color:var(--tone-warning);background:var(--tone-warning-bg);border-radius:12px}
body[data-design-system] .crm-merge .crm-table-wrap {margin-bottom:12px}
.offline-v55-page {min-height:100dvh;display:grid;place-items:center;margin:0;padding:24px;box-sizing:border-box}
.offline-v55-page .offline-v55-card {background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-card);max-width:480px;padding:32px}
.offline-v55-card img {width:40px;height:40px}
.offline-v55-card h1 {font-size:28px;line-height:1.25;margin:20px 0 12px}
.offline-v55-card p {color:var(--text-secondary);font-size:14px}
.offline-v55-card button {background:var(--teal);color:#07372a;border:0;border-radius:9px;padding:10px 16px;font:inherit}
.offline-v55-card a {color:var(--tone-info)}
html[data-density="compact"] body[data-design-system] :is(.demo-table,.desk-table,.crm1 table) td {padding-block:8px}
html[data-density="compact"] body[data-design-system] :is(.panel,.ws-card,.ws-record-card) {padding:16px}
@media(min-width:1536px) {body[data-design-system] .crm-board {grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1023px) {
 body[data-design-system] main {padding:20px}
 body[data-design-system] .crm-board {grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-design-system] .topbar {padding-inline:16px}
 html[data-sidebar="collapsed"] #sidebar .ui43-group-links[hidden] {display:none!important}
}
@media(max-width:767px) {
 body[data-design-system] main {padding:16px 16px 36px}
 body[data-design-system] :is(.page-head h1,#moduleView .page-head h1) {font-size:24px}
 body[data-design-system] .topbar {height:auto;min-height:66px;padding:10px 12px}
 body[data-design-system] :is(.modal-card,.crm-modal) {max-height:calc(100dvh - 24px);padding:16px;width:100%;box-sizing:border-box}
 body[data-design-system] .modal {padding:12px}
 body[data-design-system] :is(.settings-grid,.crm-form,.crm-detail-layout) {grid-template-columns:1fr}
 body[data-design-system] .crm-metrics {gap:10px;grid-template-columns:1fr}
 body[data-design-system] .crm-metrics article {width:auto}
 body[data-design-system] .crm-tools label {flex:1 1 140px;min-width:0;max-width:none}
 body[data-design-system] .crm-tools label:first-child {flex-basis:100%;max-width:none}
 body[data-design-system] .crm-board {grid-template-columns:1fr}
 body[data-design-system] .crm-column {min-height:140px}
 body[data-design-system] .crm-tabs {gap:18px}
 body[data-design-system] .auth-card {padding:24px}
 body[data-design-system] .crm-detail dl {grid-template-columns:minmax(90px,35%) minmax(0,1fr)}
 body[data-design-system] .crm-stage-row {grid-template-columns:1fr 1fr}
 .offline-v55-page {padding:16px}.offline-v55-page .offline-v55-card {padding:24px}
}
@media(prefers-reduced-motion:reduce) {:root {--ui43-motion:0ms}body[data-design-system] *,body[data-design-system] *::before,body[data-design-system] *::after {animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:0ms!important;scroll-behavior:auto!important}}
html[data-reduce-motion="true"] {--ui43-motion:0ms}
html[data-reduce-motion="true"] body[data-design-system] *,html[data-reduce-motion="true"] body[data-design-system] *::before,html[data-reduce-motion="true"] body[data-design-system] *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}

body[data-design-system] .crm-column-total strong {font-size:11px;font-weight:500;display:block}
@media(pointer:coarse) {body[data-design-system] :is(.icon-button,.primary,.secondary,#sidebar nav button,.crm-tabs button) {min-height:44px}body[data-design-system] :is(input,select,textarea) {font-size:16px}}
/* Override older page-specific dimensions and drawer composition. */
body[data-design-system] .topbar>.search {height:40px;max-width:560px;border:1px solid var(--border);border-radius:9px}
body[data-design-system] .topbar>.search input {font-size:13px;background:transparent;border:0}
body[data-design-system] .top-actions>.icon-button,body[data-design-system] #sidebarToggle,body[data-design-system] .topbar #mobileMenu {width:40px;height:40px;min-height:40px;border-radius:9px}
body[data-design-system] .company-picker {height:40px;max-width:none}
body[data-design-system] .company-picker select {font-size:12px;max-width:160px}
body[data-design-system] #sidebar .account>span {width:34px;height:34px;border-radius:10px;background:var(--ui-soft);color:var(--tone-success);font-size:12px}
body[data-design-system] #sidebar .account {grid-template-columns:34px minmax(0,1fr) 28px}
html[data-sidebar="collapsed"] body[data-design-system] #sidebar .account {grid-template-columns:1fr}
body[data-design-system] #dashboardView::before {display:none}
body[data-design-system] #dashboardView .ws-home-hero {background:var(--background-hero);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:20px}
html[data-theme="dark"] body[data-design-system] #dashboardView .ws-home-hero {background:var(--background-hero)}
body[data-design-system] #dashboardView .ws-home-hero::after {display:block}
body[data-design-system] #dashboardView .ws-home-hero>div {max-width:calc(100% - 260px)}
body[data-design-system] #dashboardView .ws-home-hero h1 {font-size:28px}
body[data-design-system] :is(.people-card-v510,.ws-org-row,.ws-task-row,.workspace-choice-face) {border-radius:12px;border-color:var(--border);background:var(--surface)}
body[data-design-system] .settings-hub-ui30 {display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;align-items:start}
body[data-design-system] .settings-hub-ui30 nav {display:grid;gap:6px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
body[data-design-system] .settings-hub-ui30 nav button {text-align:left;justify-content:flex-start;border:0;color:var(--text-secondary);background:transparent;padding:10px 12px}
body[data-design-system] .settings-hub-ui30 nav button[aria-selected="true"] {background:var(--ui-soft);color:var(--tone-success);font-weight:600}
body[data-design-system] .settings-hub-ui30 [role="tabpanel"] {padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:14px;min-width:0}
body[data-design-system] .settings-hub-ui30 [role="tabpanel"]>button {text-align:left;padding:14px 16px;min-height:48px}
body[data-design-system] .ws-entity-layer {justify-content:center;align-items:center;padding:24px;backdrop-filter:blur(3px)}
body[data-design-system] :is(#workModal,#recordModal,#recordReader,#knowledgeEditor) .ws-drawer {width:min(680px,100%);max-width:680px;height:auto;max-height:calc(100dvh - 48px);border-radius:14px;padding:24px}
body[data-design-system] .ws-record-fields {gap:16px;padding:16px;background:var(--surface-secondary);border:1px solid var(--border);border-radius:12px}
body[data-design-system] .ws-record-fields dt {font-size:11px;color:var(--text-secondary)}
body[data-design-system] .workspace-choice:has(input:checked) .workspace-choice-face {border-color:var(--teal);background:var(--ui-soft)}
@media(max-width:1023px) {body[data-design-system] #sidebar {width:232px}}
@media(max-width:767px) {
 body[data-design-system] .settings-hub-ui30 {grid-template-columns:1fr;gap:16px}
 body[data-design-system] .settings-hub-ui30 nav {display:flex;overflow:auto;flex-wrap:nowrap;padding:8px}
 body[data-design-system] .settings-hub-ui30 nav button {flex-shrink:0}
 body[data-design-system] .topbar {grid-template-columns:40px minmax(0,1fr);grid-template-rows:40px 40px}
 body[data-design-system] .topbar>.search {height:40px;max-width:none}
 body[data-design-system] .topbar>.top-actions {height:40px}
 body[data-design-system] .company-picker {height:40px}
 body[data-design-system] .company-picker select {max-width:105px}
 body[data-design-system] #dashboardView .ws-home-hero {min-height:140px;padding:20px}
 body[data-design-system] #dashboardView .ws-home-hero>div {max-width:100%}
 body[data-design-system] #dashboardView .ws-home-hero::after {display:none}
 body[data-design-system] #dashboardView .ws-home-hero h1 {font-size:24px}
 body[data-design-system] .ws-entity-layer {padding:12px}
 body[data-design-system] :is(#workModal,#recordModal,#recordReader,#knowledgeEditor) .ws-drawer {padding:16px;max-height:calc(100dvh - 24px)}
 html[data-sidebar="collapsed"] body[data-design-system] #sidebar .account {grid-template-columns:34px minmax(0,1fr) 28px}
}
