/* Sahamit screen design, shared by Report and both Dashboards.
   Geometry, data/status colours, chart series and document surfaces are not redesigned. */
:root {
  --ui-font: Kanit, "Leelawadee UI", Tahoma, sans-serif;
  --ui-canvas: #f5f6fa;
  --ui-surface: #ffffff;
  --ui-soft: #f7f8fc;
  --ui-line: #dfe3ea;
  --ui-line-strong: #cbd2df;
  --ui-ink: #20232b;
  --ui-muted: #596579;
  --ui-primary: #5b57f0;
  --ui-primary-hover: #4844d9;
  --ui-primary-soft: #efeeff;
  --ui-focus: #5b57f0;
  --ui-danger: #b42332;
  --ui-danger-soft: #fff2f3;
  --ui-control-radius: 7px;
  --ui-panel-radius: 12px;
  --ui-shadow: 0 1px 3px rgb(32 35 43 / 4%);
}
/* Only Dashboard aliases its existing screen variables. PDF/print variables remain separate. */
:root[data-sahamit-screen="dashboard"] {
  --page-bg: var(--ui-canvas);
  --sidebar-bg: var(--ui-surface);
  --surface-1: var(--ui-surface);
  --surface-2: var(--ui-soft);
  --border: var(--ui-line);
  --border-strong: var(--ui-line-strong);
  --text-primary: var(--ui-ink);
  --text-secondary: var(--ui-muted);
  --text-muted: var(--ui-muted);
  --radius-card: var(--ui-panel-radius);
  --radius-md: var(--ui-control-radius);
  --shadow-card: var(--ui-shadow);
  --font: var(--ui-font);
}
html[data-sahamit-screen="dashboard"][data-theme="dark"] {
  --ui-canvas: #0e1118; --ui-surface: #191e28; --ui-soft: #222a38;
  --ui-line: #354052; --ui-line-strong: #596579;
  --ui-ink: #f5f6fa; --ui-muted: #bec8d9; --ui-focus: #aaa7ff;
  --ui-primary-soft: #302d54; --ui-danger: #ff9faa; --ui-danger-soft: #3d242d;
  --ui-shadow: 0 1px 3px rgb(0 0 0 / 18%);
}
@media (prefers-color-scheme: dark) {
  html[data-sahamit-screen="dashboard"]:not([data-theme="light"]) {
    --ui-canvas: #0e1118; --ui-surface: #191e28; --ui-soft: #222a38;
    --ui-line: #354052; --ui-line-strong: #596579;
    --ui-ink: #f5f6fa; --ui-muted: #bec8d9; --ui-focus: #aaa7ff;
    --ui-primary-soft: #302d54; --ui-danger: #ff9faa; --ui-danger-soft: #3d242d;
    --ui-shadow: 0 1px 3px rgb(0 0 0 / 18%);
  }
}
.claim-app, .login-page {
  --workspace-primary: var(--ui-primary); --workspace-line: var(--ui-line);
  --workspace-danger: var(--ui-danger); --report-radius: var(--ui-panel-radius);
  --report-shadow: var(--ui-shadow);
  font-family: var(--ui-font);
  background: var(--ui-canvas);
}
/* Panel borders and radii carry hierarchy without extra padding or taller cards. */
.claim-app :is(.claim-sidebar, .table-card, .overview-card, .user-editor-card,
  .user-list-card, .workspace-panel, .document-panel, .case-document-viewer) {
  border-color: var(--ui-line); border-radius: var(--ui-panel-radius);
  box-shadow: var(--ui-shadow);
}
.claim-app .side-link, html[data-sahamit-screen="dashboard"] .nav-item {
  border-radius: var(--ui-control-radius);
}
.claim-app .side-link,
html[data-sahamit-screen="dashboard"] .sidebar:not(.sidebar-collapsed) .nav-item .label {
  font-family: var(--ui-font); font-size: 13px; font-weight: 500;
}
.claim-app .side-link.active, html[data-sahamit-screen="dashboard"] .nav-item.active {
  background: var(--ui-primary); color: #fff;
}
html[data-sahamit-screen="dashboard"] :is(.kpi-card, .card, .claims-table-card,
  .app-login-card, dialog) {
  border-color: var(--ui-line); border-radius: var(--ui-panel-radius);
  box-shadow: var(--ui-shadow);
}
html[data-sahamit-screen="dashboard"] .kpi-card { background: var(--ui-surface); }
html[data-sahamit-screen="dashboard"] .kpi-card::before { display: none; }
/* Standard action buttons, not table cell editors, document text or Chat AI controls. */
.claim-app [data-slot="button"]:not(.report-resizable-table *, .email-pivot-table *),
.login-page button,
html[data-sahamit-screen="dashboard"] .btn {
  font-family: var(--ui-font); font-weight: 400;
  border-radius: var(--ui-control-radius); box-shadow: none;
}
.claim-app [data-ui-size="default"]:not(.report-resizable-table *, .email-pivot-table *),
html[data-sahamit-screen="dashboard"] .btn { font-size: 13px; }
.claim-app .stage35 :is(.toolbar, .form-actions, .document-toolbar) [data-ui-variant] { font-weight: 400; }
.claim-app [data-ui-variant="outline"],
html[data-sahamit-screen="dashboard"] .btn:not(.primary) {
  background: var(--ui-surface); border-color: var(--ui-line-strong); color: var(--ui-ink);
}
.claim-app [data-ui-variant="secondary"] {
  background: var(--ui-soft); border-color: var(--ui-line); color: var(--ui-ink);
}
.claim-app [data-ui-variant="default"]:not(.report-resizable-table *, .email-pivot-table *),
.claim-app .stage35 .primary-action,
.claim-app .stage35 .form-actions [data-ui-variant="default"],
.login-page button[type="submit"],
html[data-sahamit-screen="dashboard"] :is(.btn.primary, .app-login-submit) {
  background: var(--ui-primary) !important; border-color: var(--ui-primary); color: #fff;
}
.claim-app [data-ui-variant="destructive"] {
  background: var(--ui-danger-soft); border-color: #e7b7bd; color: var(--ui-danger);
}
.claim-app [data-ui-variant="outline"]:hover:not(:disabled),
html[data-sahamit-screen="dashboard"] .btn:not(.primary):hover:not(:disabled) {
  background: var(--ui-soft); border-color: var(--ui-line-strong); filter: none;
}
.claim-app [data-ui-variant="default"]:hover:not(:disabled):not(.report-resizable-table *, .email-pivot-table *),
html[data-sahamit-screen="dashboard"] .btn.primary:hover:not(:disabled) {
  background: var(--ui-primary-hover) !important; filter: none;
}
html[data-sahamit-screen="dashboard"] .btn:disabled { opacity: .5; cursor: not-allowed; }
/* Inputs: no size changes; exclude native 1px calendars and editable document tables. */
.claim-app :is(.data-field, .user-editor-card, .workbench-toolbar) :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not(.report-date-native):not(.report-resizable-table *),
.login-page input,
html[data-sahamit-screen="dashboard"] :is(.filter-field select, .search-select-trigger,
  .search-select-input, .saved-view-dialog input, .setting-user-form-card input,
  .setting-user-form-card select, .app-login-form input, .claims-table-meta select) {
  font-family: var(--ui-font); border-color: var(--ui-line-strong);
  background: var(--ui-surface); color: var(--ui-ink);
  border-radius: var(--ui-control-radius); box-shadow: none;
}
.claim-app .stage35 .report-date-input .report-date-text {
  border-color: var(--ui-line-strong); border-radius: var(--ui-control-radius) 0 0 var(--ui-control-radius);
}
.claim-app .report-date-trigger {
  border-color: var(--ui-line-strong); background: var(--ui-soft); color: var(--ui-primary);
  border-radius: 0 var(--ui-control-radius) var(--ui-control-radius) 0;
}
.claim-app :is(button, a, input, select, textarea, summary):focus-visible,
.login-page :is(button, a, input):focus-visible,
html[data-sahamit-screen="dashboard"] :is(button, a, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--ui-focus); outline-offset: 3px;
}
.claim-app [aria-invalid="true"], html[data-sahamit-screen="dashboard"] [aria-invalid="true"] {
  border-color: var(--ui-danger) !important;
}
.claim-app :is(.workbench-error, .workspace-field-error),
html[data-sahamit-screen="dashboard"] :is(.state-banner.error, .data-source-upload-dialog-error, .setting-user-status.error) {
  color: var(--ui-danger);
}
/* Match the legacy direct-child paragraph selector without affecting normal helper text. */
.claim-app .user-editor-card > p.workspace-field-error { color: var(--ui-danger); }
.claim-app .workbench-error, html[data-sahamit-screen="dashboard"] .state-banner.error {
  background: var(--ui-danger-soft); border: 1px solid #e7b7bd; border-radius: var(--ui-control-radius);
}
.claim-app :is(.empty-cases, .document-empty, .document-preview-empty),
html[data-sahamit-screen="dashboard"] :is(.claims-empty, .claim-detail-empty, .state-banner:not(.error)) {
  color: var(--ui-muted);
}
/* Portalled Report dialogs are not descendants of .claim-app. Only screen UI slots are targeted. */
:is([data-slot="dialog-content"], [data-slot="alert-dialog-content"], [data-slot="popover-content"]) {
  font-family: var(--ui-font); border-color: var(--ui-line); border-radius: var(--ui-panel-radius);
}
:is([data-slot="dialog-content"], [data-slot="alert-dialog-content"], [data-slot="popover-content"]) [data-ui-variant] {
  font-family: var(--ui-font); font-weight: 400; border-radius: var(--ui-control-radius); box-shadow: none;
}
:is([data-slot="dialog-content"], [data-slot="alert-dialog-content"]) [data-ui-variant="default"] {
  background: var(--ui-primary); color: #fff; border-color: var(--ui-primary);
}
:is([data-slot="dialog-content"], [data-slot="alert-dialog-content"]) [data-ui-variant="outline"] {
  background: var(--ui-surface); color: var(--ui-ink); border-color: var(--ui-line-strong);
}
:is([data-slot="dialog-content"], [data-slot="alert-dialog-content"]) [data-ui-variant="destructive"] {
  background: var(--ui-danger-soft); color: var(--ui-danger); border-color: #e7b7bd;
}
:is([data-slot="dialog-content"], [data-slot="alert-dialog-content"], [data-slot="popover-content"]) :is(button, input, select, textarea):focus-visible {
  outline: 2px solid var(--ui-focus); outline-offset: 3px;
}
@media (max-width: 760px) {
  .claim-app .claim-sidebar { border-radius: 0; }
}
