@font-face {
  font-family: "MohammadBoldArt";
  src: url("../fonts/mohammad-bold-art-1.ttf") format("truetype");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

/* Unified action-button system — 2026-07-30
   Visual semantics: navy = primary, white = secondary, red = destructive. */
:root {
    --app-action-primary: #001a3d;
    --app-action-primary-hover: #0b315f;
    --app-action-secondary-bg: #ffffff;
    --app-action-secondary-border: #9cabbf;
    --app-action-danger: #b42318;
    --app-action-danger-hover: #8f1c14;
    --app-action-success: #087a47;
    --app-action-warning: #8a6500;
    --app-action-disabled: #94a3b8;
    --app-action-height: 46px;
    --app-action-radius: 12px;
}

:where(
    .app-btn,
    .dj-btn,
    .modern-btn,
    .stitch-btn,
    .btn,
    .button,
    .case-action,
    .client-action,
    .report-tool-button,
    .settings-save-btn,
    .settings-file-btn,
    .billing-inline-action,
    .meeting-ics-button,
    .print-button,
    .guide-action
) {
    min-height: var(--app-action-height);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 18px;
    border: 1px solid transparent;
    border-radius: var(--app-action-radius);
    font-family: inherit;
    font-size: .95rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
}

:where(
    .app-btn-primary,
    .dj-btn:not(.dj-btn-secondary):not(.dj-btn-outline),
    .dj-btn-primary,
    .modern-btn.primary,
    .stitch-btn.primary,
    .btn-primary,
    .button-primary,
    .settings-save-btn,
    .submit-btn,
    .case-action.create,
    .client-action.create,
    .guide-action:not(.secondary)
) {
    border-color: var(--app-action-primary) !important;
    color: #fff !important;
    background: var(--app-action-primary) !important;
}

:where(
    .app-btn-primary,
    .dj-btn:not(.dj-btn-secondary):not(.dj-btn-outline),
    .dj-btn-primary,
    .modern-btn.primary,
    .stitch-btn.primary,
    .btn-primary,
    .button-primary,
    .settings-save-btn,
    .submit-btn,
    .case-action.create,
    .client-action.create,
    .guide-action:not(.secondary)
):hover {
    border-color: var(--app-action-primary-hover) !important;
    color: #fff !important;
    background: var(--app-action-primary-hover) !important;
}

:where(
    .app-btn-secondary,
    .dj-btn-secondary,
    .dj-btn-outline,
    .modern-btn.ghost,
    .stitch-btn.ghost,
    .btn-secondary,
    .btn-light,
    .btn-outline-primary,
    .btn-outline-secondary,
    .button-secondary,
    .case-action.clear,
    .client-action.clear,
    .guide-action.secondary
) {
    border-color: var(--app-action-secondary-border) !important;
    color: var(--app-action-primary) !important;
    background: var(--app-action-secondary-bg) !important;
}

:where(
    .app-btn-secondary,
    .dj-btn-secondary,
    .dj-btn-outline,
    .modern-btn.ghost,
    .stitch-btn.ghost,
    .btn-secondary,
    .btn-light,
    .btn-outline-primary,
    .btn-outline-secondary,
    .button-secondary,
    .case-action.clear,
    .client-action.clear,
    .guide-action.secondary
):hover {
    border-color: var(--app-action-primary) !important;
    color: var(--app-action-primary) !important;
    background: #f3f6fa !important;
}

:where(
    .app-btn-danger,
    .btn-danger,
    .btn-outline-danger,
    .danger-btn,
    .delete-btn,
    .reject-btn
) {
    border-color: var(--app-action-danger) !important;
    color: #fff !important;
    background: var(--app-action-danger) !important;
}

:where(
    .app-btn-danger,
    .btn-danger,
    .btn-outline-danger,
    .danger-btn,
    .delete-btn,
    .reject-btn
):hover {
    border-color: var(--app-action-danger-hover) !important;
    color: #fff !important;
    background: var(--app-action-danger-hover) !important;
}

:where(.app-btn-success, .btn-success, .approve-btn) {
    border-color: var(--app-action-success) !important;
    color: #fff !important;
    background: var(--app-action-success) !important;
}

:where(.app-btn-warning, .modern-btn.warning, .draft-btn) {
    border-color: var(--app-action-warning) !important;
    color: #fff !important;
    background: var(--app-action-warning) !important;
}

:where(
    .app-btn,
    .dj-btn,
    .modern-btn,
    .stitch-btn,
    .btn,
    .button,
    .case-action,
    .client-action,
    .report-tool-button,
    .settings-save-btn,
    .settings-file-btn,
    .billing-inline-action,
    .meeting-ics-button,
    .print-button,
    .guide-action
):hover {
    box-shadow: 0 8px 20px rgba(0, 26, 61, .14);
    transform: translateY(-1px);
}

:where(
    .app-btn,
    .dj-btn,
    .modern-btn,
    .stitch-btn,
    .btn,
    .button,
    .case-action,
    .client-action,
    .report-tool-button,
    .settings-save-btn,
    .settings-file-btn,
    .billing-inline-action,
    .meeting-ics-button,
    .print-button,
    .guide-action
):focus-visible {
    outline: 3px solid rgba(0, 88, 179, .30) !important;
    outline-offset: 2px;
    box-shadow: none !important;
}

:where(
    .app-btn,
    .dj-btn,
    .modern-btn,
    .stitch-btn,
    .btn,
    .button,
    .case-action,
    .client-action,
    .report-tool-button,
    .settings-save-btn
):disabled,
:where(
    .app-btn,
    .dj-btn,
    .modern-btn,
    .stitch-btn,
    .btn,
    .button,
    .case-action,
    .client-action,
    .report-tool-button,
    .settings-save-btn
)[aria-disabled="true"] {
    border-color: var(--app-action-disabled) !important;
    color: #fff !important;
    background: var(--app-action-disabled) !important;
    box-shadow: none !important;
    cursor: not-allowed;
    opacity: .72;
    pointer-events: none;
    transform: none !important;
}

:where(.btn-sm, .app-btn-sm) {
    min-height: 36px !important;
    padding: 7px 12px !important;
    border-radius: 10px !important;
    font-size: .84rem !important;
}

:where(.app-icon-btn, .dj-icon-btn, .btn-close, .icon-close) {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    display: inline-grid;
    place-items: center;
    padding: 0 !important;
    border-radius: 12px !important;
}

@media (max-width: 680px) {
    :where(
        .app-btn,
        .dj-btn,
        .modern-btn,
        .stitch-btn,
        .btn,
        .button,
        .case-action,
        .client-action,
        .report-tool-button,
        .settings-save-btn
    ) {
        min-height: 44px;
        padding-inline: 14px;
    }
}

:root {
  --dj-font-family: "MohammadBoldArt", Tahoma, Arial, sans-serif;
  --app-font: var(--dj-font-family);
  --dj-primary: #031636;
  --dj-primary-2: #1a2b4c;
  --dj-accent: #fed488;
  --dj-accent-dark: #775a19;
  --dj-bg: #f6f9ff;
  --dj-surface: #ffffff;
  --dj-surface-low: #eef4fc;
  --dj-surface-high: #e3e9f1;
  --dj-surface-highest: #dde3eb;
  --dj-text: #161c22;
  --dj-muted: #5f6b7a;
  --dj-border: rgba(197, 198, 207, 0.38);
  --dj-danger: #ba1a1a;
  --dj-success: #10b981;
  --dj-shadow: 0 12px 32px -4px rgba(3, 22, 54, 0.08);
  --sidebar-width: 260px;
}

/* Case detail tabs and cleaner portfolio table */
.case-procedure-tabs-card { padding: 24px; }
.case-tab-title { align-items: flex-start; gap: 16px; }
.procedure-quick-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.procedure-quick-actions button {
  border: 1px solid var(--dj-border);
  background: #fff;
  color: var(--dj-primary);
  min-height: 38px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 800;
}
.procedure-quick-actions .material-symbols-outlined { font-size: 18px; }
.case-tab-shell { display: grid; gap: 18px; }
.case-tab-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  border-bottom: 1px solid var(--dj-border);
  padding-bottom: 10px;
}
.case-tab-nav button {
  border: 1px solid transparent;
  background: #eef3f9;
  color: var(--dj-primary);
  min-height: 42px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 900;
}
.case-tab-nav button.active { background: var(--dj-primary); color: #fff; border-color: var(--dj-primary); }
.case-tab-nav b {
  min-width: 22px;
  min-height: 22px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255,255,255,.8);
  color: var(--dj-primary);
  font-size: 12px;
}
.case-tab-panel { display: none; }
.case-tab-panel.active { display: block; }
.case-panel-header-line {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.case-panel-header-line h3 { margin: 0 0 4px; color: var(--dj-primary); font-size: 22px; font-weight: 900; }
.case-panel-header-line p { margin: 0; color: var(--dj-muted); line-height: 1.7; }
.case-compact-list { display: grid; gap: 8px; }
.case-compact-list article {
  display: grid;
  grid-template-columns: 132px minmax(180px, 1fr) minmax(140px, .7fr) auto auto;
  gap: 14px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--dj-border);
  padding: 14px 16px;
}
.case-compact-list article.late { border-color: rgba(198, 40, 40, .28); background: #fff8f8; }
.case-compact-list time, .case-compact-list small { color: var(--dj-accent-dark); font-size: 12px; font-weight: 900; }
.case-compact-list strong { color: var(--dj-primary); font-weight: 900; overflow-wrap: anywhere; }
.case-compact-list span { color: var(--dj-muted); overflow-wrap: anywhere; }
.case-compact-list a { color: var(--dj-primary); font-weight: 900; text-decoration: none; }
.case-empty-state {
  margin: 0;
  background: #f7f9fc;
  border: 1px dashed var(--dj-border);
  padding: 18px;
  color: var(--dj-muted);
  text-align: center;
}
.case-finance-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 14px; }
.case-finance-summary div { background: #f7f9fc; border: 1px solid var(--dj-border); padding: 14px; }
.case-finance-summary span { display: block; color: var(--dj-muted); font-size: 12px; font-weight: 800; margin-bottom: 6px; }
.case-finance-summary strong { color: var(--dj-primary); font-size: 22px; }
.case-panel-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.custody-report-page { padding: 24px; }
.custody-print-sheet { background: #fff; border: 1px solid var(--dj-border); padding: 24px; margin-top: 18px; }
.custody-print-header, .custody-print-footer { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; border-bottom: 2px solid var(--dj-primary); padding-bottom: 14px; margin-bottom: 18px; }
.custody-print-footer { border-top: 1px solid var(--dj-border); border-bottom: 0; padding-top: 14px; margin-top: 18px; margin-bottom: 0; color: var(--dj-muted); }
.custody-report-table { width: 100%; border-collapse: collapse; direction: rtl; }
.custody-report-table th { background: #dff9f8; color: var(--dj-primary); border: 1px solid #174ea6; padding: 10px; text-align: center; }
.custody-report-table td { border: 1px solid #174ea6; padding: 9px 10px; vertical-align: top; }
.custody-report-table td:first-child { background: #b5f59a; font-weight: 900; text-align: center; width: 110px; }
.custody-report-table td:nth-child(2), .custody-report-table td:nth-child(3) { text-align: center; width: 130px; }
@media print {
  .app-shell__sidebar, .topbar, .modern-page-hero, .billing-filter-bar, .floating-assistant { display: none !important; }
  .custody-report-page { padding: 0; background: #fff; }
  .custody-print-sheet { border: 0; margin: 0; padding: 0; }
  .custody-report-table th, .custody-report-table td { border-color: #000; }
}
.case-history-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.case-history-split h4 { margin: 0 0 10px; color: var(--dj-primary); font-size: 16px; font-weight: 900; }
.case-compact-list.slim article { grid-template-columns: 120px minmax(140px, 1fr) minmax(120px, .8fr); }
.case-portfolio-table-clean th, .case-portfolio-table-clean td { vertical-align: middle; }
.case-portfolio-table-clean .case-main-cell,
.case-portfolio-table-clean .case-context-cell,
.case-portfolio-table-clean .case-state-cell,
.case-portfolio-table-clean .case-obligations-cell { display: grid; gap: 6px; }
.case-portfolio-table-clean .case-main-cell strong,
.case-portfolio-table-clean .case-context-cell strong { color: var(--dj-primary); font-weight: 900; overflow-wrap: anywhere; }
.case-portfolio-table-clean small { color: var(--dj-muted); line-height: 1.6; overflow-wrap: anywhere; }
.case-row-secondary { color: var(--dj-accent-dark); font-weight: 900; text-decoration: none; }

@media (max-width: 900px) {
  .case-panel-header-line,
  .case-history-split { grid-template-columns: 1fr; display: grid; }
  .case-compact-list article,
  .case-compact-list.slim article { grid-template-columns: 1fr; }
  .case-finance-summary { grid-template-columns: 1fr; }
  .case-zone-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .case-zone-hero { display: grid; padding: 18px; }
}

.case-index-clean,
.case-clean-page {
  display: grid;
  gap: 22px;
}

.case-index-hero,
.case-clean-hero {
  background: transparent;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 12px 0 18px;
}

.case-index-hero span,
.case-clean-heading span {
  color: var(--dj-accent-dark);
  font-size: 12px;
  font-weight: 900;
}

.case-index-hero h1,
.case-clean-hero h1 {
  margin: 6px 0 8px;
  color: var(--dj-primary);
  font-size: 32px;
  font-weight: 900;
  letter-spacing: 0;
}

.case-index-hero p,
.case-clean-hero p,
.case-clean-hero small {
  margin: 0;
  color: var(--dj-muted);
  line-height: 1.8;
}

.case-index-actions,
.case-clean-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.case-clean-actions button,
.case-clean-actions a {
  border: 1px solid var(--dj-border);
  background: #fff;
  color: var(--dj-primary);
  min-height: 42px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 900;
}

.case-clean-actions .dj-btn {
  background: var(--dj-primary);
  color: #fff;
}

.case-index-kpis,
.case-clean-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.case-index-kpis article,
.case-clean-metrics article {
  background: #fff;
  min-height: 112px;
  border-right: 4px solid var(--dj-primary);
  box-shadow: var(--dj-shadow);
  padding: 20px 24px;
  display: grid;
  gap: 8px;
}

.case-index-kpis article.urgent { border-right-color: var(--dj-danger); }
.case-index-kpis small,
.case-clean-metrics span {
  color: var(--dj-muted);
  font-size: 13px;
  font-weight: 900;
}

.case-index-kpis strong,
.case-clean-metrics strong {
  color: var(--dj-primary);
  font-size: 30px;
  font-weight: 900;
}

.case-index-kpis .material-symbols-outlined {
  color: #aab5c5;
  font-size: 26px;
}

.case-zone-shell {
  --zone-main: var(--dj-primary);
  --zone-soft: #eef4fc;
  --zone-line: rgba(3, 22, 54, .18);
}

.case-zone-shell.zone-filing {
  --zone-main: #8a6500;
  --zone-soft: #fff8b8;
  --zone-line: rgba(138, 101, 0, .28);
}

.case-zone-shell.zone-circulating {
  --zone-main: #0f5132;
  --zone-soft: #dcfce7;
  --zone-line: rgba(15, 81, 50, .25);
}

.case-zone-shell.zone-execution {
  --zone-main: #4f46a5;
  --zone-soft: #e8e7ff;
  --zone-line: rgba(79, 70, 165, .28);
}

.case-zone-shell.zone-preserved {
  --zone-main: #4b5563;
  --zone-soft: #e5e7eb;
  --zone-line: rgba(75, 85, 99, .28);
}

.case-zone-shell.zone-administration {
  --zone-main: #075985;
  --zone-soft: #e0f2fe;
  --zone-line: rgba(7, 89, 133, .25);
}

.case-zone-hero {
  border-top: 4px solid var(--zone-main);
  background: linear-gradient(90deg, rgba(255,255,255,.9), var(--zone-soft));
  padding: 22px 24px;
}

.case-zone-hero h1 {
  color: var(--zone-main);
}

.case-zone-board {
  background: #fff;
  border: 1px solid var(--zone-line);
  box-shadow: var(--dj-shadow);
  display: grid;
  gap: 14px;
  padding: 16px;
}

.case-zone-current {
  align-items: center;
  background: var(--zone-soft);
  border-right: 5px solid var(--zone-main);
  display: grid;
  gap: 4px;
  padding: 14px 18px;
}

.case-zone-current small {
  color: var(--dj-muted);
  font-size: 12px;
  font-weight: 900;
}

.case-zone-current strong {
  color: var(--zone-main);
  font-size: 22px;
  font-weight: 900;
}

.case-zone-current span {
  color: var(--dj-muted);
  line-height: 1.6;
}

.case-zone-tabs {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.case-zone-tab {
  background: #fff;
  border: 1px solid var(--dj-border);
  color: var(--dj-primary);
  display: grid;
  gap: 6px;
  min-height: 104px;
  padding: 14px;
  text-decoration: none;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.case-zone-tab:hover {
  border-color: currentColor;
  box-shadow: 0 10px 24px rgba(3, 22, 54, .1);
  transform: translateY(-1px);
}

.case-zone-tab b {
  align-items: center;
  background: var(--dj-surface-high);
  color: var(--dj-primary);
  display: inline-flex;
  font-size: 14px;
  font-weight: 900;
  height: 28px;
  justify-content: center;
  width: 28px;
}

.case-zone-tab span {
  font-size: 15px;
  font-weight: 900;
}

.case-zone-tab small {
  color: var(--dj-muted);
  font-size: 12px;
  line-height: 1.5;
}

.case-zone-tab.active {
  background: var(--zone-soft);
  border-color: var(--zone-main);
  box-shadow: inset 0 0 0 2px var(--zone-line);
}

.case-zone-tab.active b {
  background: var(--zone-main);
  color: #fff;
}

.case-zone-tab.zone-filing { border-top: 4px solid #8a6500; }
.case-zone-tab.zone-circulating { border-top: 4px solid #0f5132; }
.case-zone-tab.zone-execution { border-top: 4px solid #4f46a5; }
.case-zone-tab.zone-preserved { border-top: 4px solid #4b5563; }
.case-zone-tab.zone-administration { border-top: 4px solid #075985; }

.case-zone-row {
  border-right: 4px solid transparent;
}

.case-zone-row.zone-filing { border-right-color: #8a6500; }
.case-zone-row.zone-circulating { border-right-color: #0f5132; }
.case-zone-row.zone-execution { border-right-color: #4f46a5; }
.case-zone-row.zone-preserved { border-right-color: #4b5563; }
.case-zone-row.zone-administration { border-right-color: #075985; }

.stage-pill {
  align-items: center;
  background: var(--dj-surface-high);
  color: var(--dj-primary);
  display: inline-flex;
  font-size: 12px;
  font-weight: 900;
  min-height: 28px;
  padding: 4px 10px;
}

.stage-pill.zone-filing { background: #fff0a8; color: #704f00; }
.stage-pill.zone-circulating { background: #dcfce7; color: #0f5132; }
.stage-pill.zone-execution { background: #e8e7ff; color: #37308c; }
.stage-pill.zone-preserved { background: #e5e7eb; color: #374151; }
.stage-pill.zone-administration { background: #e0f2fe; color: #075985; }

.client-kind-switch label span {
  min-height: 72px;
}

.client-onboarding-shell[data-client-type="Company"] .client-form-panel {
  border-color: rgba(119, 90, 25, .24);
}

.client-type-note {
  align-items: center;
  background: #f7f9fc;
  border: 1px solid var(--dj-border);
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 20px;
  padding: 12px 14px;
}

.client-type-note strong {
  color: var(--dj-primary);
  font-weight: 900;
}

.client-type-note span {
  color: var(--dj-muted);
  line-height: 1.6;
}

.case-client-picker,
.smart-case-picker {
  position: relative;
}

.case-client-picker-head {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.case-client-results,
.smart-case-results {
  background: #fff;
  border: 1px solid var(--dj-border);
  box-shadow: 0 18px 34px rgba(3, 22, 54, .14);
  display: grid;
  left: 0;
  max-height: 320px;
  overflow: auto;
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 50;
}

.case-client-results button,
.smart-case-results button {
  background: #fff;
  border: 0;
  border-bottom: 1px solid var(--dj-border);
  color: var(--dj-primary);
  display: grid;
  gap: 3px;
  padding: 12px 14px;
  text-align: right;
}

.case-client-results button:hover,
.smart-case-results button:hover {
  background: var(--dj-surface-low);
}

.case-client-results strong,
.smart-case-results strong {
  font-weight: 900;
}

.case-client-results small,
.smart-case-results small,
.smart-case-results span,
.case-client-selected,
.smart-case-selected {
  color: var(--dj-muted);
  font-size: 12px;
  line-height: 1.5;
}

.case-inline-toggle {
  align-items: center;
  background: var(--dj-primary);
  border: 1px solid var(--dj-primary);
  color: #fff;
  display: inline-flex;
  height: 36px;
  justify-content: center;
  min-width: 36px;
  padding: 0;
}

.case-inline-client {
  background: #fbfcff;
  border: 1px solid var(--dj-border);
  box-shadow: 0 26px 70px rgba(3, 22, 54, .22);
  inset: 50% auto auto 50%;
  max-height: min(760px, calc(100vh - 48px));
  max-width: min(920px, calc(100vw - 32px));
  overflow: auto;
  padding: 22px;
  position: fixed;
  transform: translate(-50%, -50%);
  width: 920px;
  z-index: 1200;
}

.case-inline-client[hidden] {
  display: none !important;
}

.case-inline-client::before {
  background: rgba(3, 22, 54, .22);
  content: "";
  inset: -100vh -100vw;
  position: fixed;
  z-index: -1;
}

.case-inline-client header {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 14px;
}

.case-inline-client header span {
  color: var(--dj-accent-dark);
}

.case-inline-client header strong {
  color: var(--dj-primary);
  display: block;
  font-weight: 900;
}

.case-inline-client header small {
  color: var(--dj-muted);
}

.case-inline-close {
  align-items: center;
  background: var(--dj-surface-high);
  border: 1px solid var(--dj-border);
  color: var(--dj-primary);
  display: inline-flex;
  height: 36px;
  justify-content: center;
  min-width: 36px;
}

.case-inline-client footer {
  border-top: 1px solid var(--dj-border);
  display: flex;
  gap: 10px;
  justify-content: flex-start;
  margin-top: 18px;
  padding-top: 14px;
}

.case-field-grid.compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.case-field.wide {
  grid-column: 1 / -1;
}

@media (max-width: 900px) {
  .case-field-grid.compact { grid-template-columns: 1fr; }
  .client-type-note { align-items: flex-start; display: grid; }
}

.case-index-layout,
.case-clean-layout {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.case-filter-clean,
.case-side-card,
.case-note-card,
.case-tabs-card,
.case-list-clean {
  background: #fff;
  box-shadow: var(--dj-shadow);
  border: 1px solid rgba(197, 198, 207, .28);
}

.case-filter-clean,
.case-side-card {
  padding: 20px;
}

.case-clean-side {
  display: grid;
  gap: 14px;
}

.case-side-card h2,
.case-tabs-header h2,
.case-panel-heading h3 {
  margin: 0;
  color: var(--dj-primary);
  font-weight: 900;
}

.case-side-card-header {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.case-mini-action {
  align-items: center;
  background: var(--dj-surface-high);
  border: 1px solid var(--dj-border);
  color: var(--dj-primary);
  display: inline-flex;
  font-size: 12px;
  font-weight: 900;
  gap: 5px;
  min-height: 34px;
  padding: 6px 10px;
}

.case-mini-action .material-symbols-outlined {
  font-size: 18px;
}

.case-side-card dl {
  margin: 14px 0 0;
  display: grid;
  gap: 11px;
}

.case-side-card dt {
  color: var(--dj-muted);
  font-size: 12px;
  font-weight: 800;
}

.case-side-card dd {
  margin: 2px 0 0;
  color: var(--dj-primary);
  font-weight: 900;
  overflow-wrap: anywhere;
}

.case-side-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.case-side-list div {
  background: #f7f9fc;
  padding: 12px;
  display: grid;
  gap: 3px;
}

.case-clean-main {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.case-note-card {
  padding: 18px;
}

.case-note-card form {
  display: grid;
  gap: 10px;
}

.case-note-card label {
  color: var(--dj-primary);
  font-size: 22px;
  font-weight: 900;
}

.case-note-card textarea {
  border: 1px solid var(--dj-border);
  min-height: 92px;
  padding: 12px;
  resize: vertical;
}

.case-note-card button {
  justify-self: stretch;
}

.case-tabs-card {
  padding: 22px;
}

.case-tabs-header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.case-tabs-header p {
  margin: 6px 0 0;
  color: var(--dj-muted);
}

.case-panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 18px 0 12px;
}

.case-clean-list {
  display: grid;
  gap: 8px;
}

.case-clean-list article {
  display: grid;
  grid-template-columns: 140px minmax(220px, 1fr) minmax(180px, .8fr) 90px 50px;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--dj-border);
  background: #fff;
  padding: 13px 14px;
}

.case-clean-list.slim article {
  grid-template-columns: 140px minmax(180px, 1fr) minmax(160px, .8fr);
}

.case-clean-list article.late {
  background: #fff7f7;
  border-color: rgba(186, 26, 26, .25);
}

.hearing-agenda-card.hearing-judgment,
.case-clean-list article.hearing-judgment {
  background: #fffbd6 !important;
  border-color: #e2c400 !important;
  box-shadow: inset 5px 0 0 #ffd900, 0 10px 24px rgba(133, 105, 0, .08) !important;
}

.hearing-judgment-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 4px 10px;
  margin-inline-end: 6px;
  background: #ffeb00;
  border: 1px solid #c7aa00;
  color: #302700;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.2;
}

.report-table tr.report-judgment-row td {
  background: #fff600 !important;
  border-color: #bca900 !important;
  color: #111 !important;
}

@media print {
  .hearing-agenda-card.hearing-judgment,
  .case-clean-list article.hearing-judgment,
  .report-table tr.report-judgment-row td {
    background: #fff600 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

.case-clean-list time,
.case-clean-list small {
  color: var(--dj-accent-dark);
  font-size: 12px;
  font-weight: 900;
}

.case-clean-list strong {
  color: var(--dj-primary);
  font-weight: 900;
  overflow-wrap: anywhere;
}

.case-clean-list span {
  color: var(--dj-muted);
  overflow-wrap: anywhere;
}

.case-clean-list a {
  color: var(--dj-primary);
  font-weight: 900;
}

.case-clean-list button.case-internal-preview-btn {
  align-items: center;
  background: #f7fbff;
  border: 1px solid var(--dj-border);
  color: var(--dj-primary);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-weight: 900;
  justify-content: center;
  min-height: 30px;
  padding: 5px 10px;
  white-space: nowrap;
}

[data-case-panel="documents"] .case-clean-list article {
  grid-template-columns: 128px minmax(300px, 1fr) minmax(190px, .75fr) 76px 112px;
}

[data-case-panel="documents"] .case-clean-list small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 56px;
  padding: 4px 8px;
  background: #edf3fb;
  border: 1px solid var(--dj-border);
}

[data-case-panel="documents"] .case-clean-list a,
[data-case-panel="documents"] .case-clean-list button,
[data-case-panel="documents"] .case-document-missing {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid var(--dj-border);
  background: #f7fbff;
  color: var(--dj-primary);
  font: inherit;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}

[data-case-panel="documents"] .case-clean-list button {
  cursor: pointer;
}

.case-document-missing {
  color: var(--dj-muted) !important;
}

.case-list-clean {
  min-width: 0;
}

.case-list-toolbar {
  background: #edf3fb;
  min-height: 78px;
  padding: 18px 22px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.case-list-toolbar strong {
  color: var(--dj-primary);
  font-size: 18px;
}

.case-list-toolbar span {
  color: var(--dj-muted);
  margin-right: 8px;
}

.case-list-table-wrap {
  overflow-x: auto;
}

.case-list-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.case-list-table th {
  background: #dbe3ee;
  color: var(--dj-primary);
  font-size: 13px;
  font-weight: 900;
  padding: 14px 16px;
}

.case-list-table td {
  border-bottom: 1px solid var(--dj-border);
  padding: 18px 16px;
  vertical-align: middle;
}

.case-list-table th:nth-child(1), .case-list-table td:nth-child(1) { width: 34%; }
.case-list-table th:nth-child(2), .case-list-table td:nth-child(2) { width: 28%; }
.case-list-table th:nth-child(3), .case-list-table td:nth-child(3) { width: 14%; }
.case-list-table th:nth-child(4), .case-list-table td:nth-child(4) { width: 14%; }
.case-list-table th:nth-child(5), .case-list-table td:nth-child(5) { width: 10%; }

.case-main-cell,
.case-context-cell,
.case-state-cell,
.case-obligations-cell {
  display: grid;
  gap: 6px;
}

.case-main-cell a,
.case-main-cell strong,
.case-context-cell strong {
  color: var(--dj-primary);
  font-weight: 900;
  overflow-wrap: anywhere;
}

.case-main-cell small,
.case-context-cell small {
  color: var(--dj-muted);
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.case-obligations-cell span {
  background: #eef3f9;
  padding: 5px 8px;
  color: var(--dj-primary);
  font-size: 12px;
  font-weight: 900;
}

.case-list-table td.case-main-cell,
.case-list-table td.case-context-cell,
.case-list-table td.case-state-cell,
.case-list-table td.case-obligations-cell {
  display: table-cell;
}

.case-list-table .case-main-cell a,
.case-list-table .case-main-cell strong,
.case-list-table .case-main-cell small,
.case-list-table .case-context-cell strong,
.case-list-table .case-context-cell small {
  display: block;
}

.case-list-table .case-main-cell a {
  margin-bottom: 4px;
}

.case-list-table .case-main-cell strong,
.case-list-table .case-context-cell strong {
  margin-bottom: 4px;
}

.case-list-table .case-state-cell .status-pill,
.case-list-table .case-state-cell .priority-pill,
.case-list-table .case-obligations-cell span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin: 0 0 6px 6px;
  white-space: nowrap;
}

.case-list-table .case-open-cell {
  text-align: center;
  vertical-align: middle;
}

.case-list-table .case-open-btn {
  min-width: 76px;
  justify-content: center;
}

.case-empty-state {
  margin: 0;
  background: #f7f9fc;
  border: 1px dashed var(--dj-border);
  padding: 18px;
  color: var(--dj-muted);
  text-align: center;
}

@media (max-width: 1100px) {
  .case-index-layout,
  .case-clean-layout {
    grid-template-columns: 1fr;
  }
}

.case-index-clean,
.case-clean-page {
  max-width: 100%;
  overflow-x: hidden;
}

.case-list-clean,
.case-list-table-wrap,
.case-list-table {
  max-width: 100%;
  min-width: 0;
}

.case-filter-form {
  display: grid;
  gap: 14px;
}

.case-filter-form label {
  display: grid;
  gap: 7px;
}

.case-filter-form label span {
  color: var(--dj-primary);
  font-size: 12px;
  font-weight: 900;
}

.case-filter-form input,
.case-filter-form select {
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--dj-border);
  background: transparent;
  color: var(--dj-primary);
  min-height: 38px;
  padding: 7px 0;
}

.case-list-table {
  table-layout: auto;
}

.case-list-table th,
.case-list-table td {
  text-align: right;
}

.case-list-table th:nth-child(1),
.case-list-table td:nth-child(1) { width: 32%; }
.case-list-table th:nth-child(2),
.case-list-table td:nth-child(2) { width: 28%; }
.case-list-table th:nth-child(3),
.case-list-table td:nth-child(3) { width: 15%; }
.case-list-table th:nth-child(4),
.case-list-table td:nth-child(4) { width: 15%; }
.case-list-table th:nth-child(5),
.case-list-table td:nth-child(5) { width: 10%; }

@media (max-width: 980px) {
  .case-index-layout {
    grid-template-columns: 1fr;
  }

  .case-filter-clean {
    padding: 16px;
  }

  .case-filter-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .case-filter-form button {
    grid-column: 1 / -1;
  }

  .case-list-toolbar {
    min-height: auto;
    align-items: stretch;
  }

  .case-list-table-wrap {
    overflow: visible;
  }

  .case-list-table,
  .case-list-table tbody,
  .case-list-table tr,
  .case-list-table td {
    display: block !important;
    width: 100% !important;
  }

  .case-list-table thead {
    display: none;
  }

  .case-list-table tr {
    background: #fff;
    border-bottom: 1px solid var(--dj-border);
    padding: 14px 16px;
  }

  .case-list-table td {
    border: 0;
    padding: 6px 0;
    text-align: right;
  }

  .case-list-table td::before {
    content: none;
    display: none;
  }

  .case-list-table .case-state-cell .status-pill,
  .case-list-table .case-state-cell .priority-pill,
  .case-list-table .case-obligations-cell span {
    margin: 0 0 6px 6px;
  }

  .case-list-table .case-open-cell {
    text-align: start;
  }

  .case-list-table .case-open-btn {
    width: 100%;
    min-height: 40px;
  }

  .case-list-table td.case-state-cell,
  .case-list-table td.case-obligations-cell {
    display: flex !important;
    flex-wrap: wrap;
    gap: 6px;
  }

  .case-list-table td.case-main-cell,
  .case-list-table td.case-context-cell,
  .case-list-table td.case-open-cell {
    display: block !important;
  }

  .case-list-table td.case-state-cell::before,
  .case-list-table td.case-obligations-cell::before {
    display: none;
  }

  .case-list-table .case-main-cell small,
  .case-list-table .case-context-cell small {
    line-height: 1.45;
  }

  .case-clean-list article,
  .case-clean-list.slim article {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}

@media (max-width: 560px) {
  .case-index-kpis,
  .case-clean-metrics {
    grid-template-columns: 1fr;
  }

  .case-filter-form {
    grid-template-columns: 1fr;
  }

  .case-list-toolbar,
  .case-tabs-header,
  .case-panel-heading {
    flex-direction: column;
    align-items: stretch;
  }
}

* { box-sizing: border-box; }

body {
  background: var(--dj-bg);
  color: var(--dj-text);
  direction: rtl;
  font-family: var(--dj-font-family);
  margin: 0;
}

body,
button,
input,
textarea,
select,
option,
optgroup,
table,
th,
td,
label,
.btn,
.form-control,
.form-select,
.dropdown-menu,
.modal,
.offcanvas,
.toast,
.popover,
.tooltip,
.dj-shell,
.dj-modal,
.select2-container,
.select2-dropdown,
.select2-results,
.flatpickr-calendar {
  font-family: var(--dj-font-family) !important;
}

h1, h2, h3, h4, .dj-brand strong { font-family: var(--dj-font-family); }
a { color: var(--dj-accent-dark); text-decoration: none; }
a:hover { color: var(--dj-primary); }

.material-symbols-outlined,
.material-symbols-rounded {
  font-family: "Material Symbols Outlined" !important;
  font-weight: normal !important;
  font-style: normal !important;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-flex;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  vertical-align: middle;
  font-variation-settings: "FILL" 0, "wght" 300, "GRAD" 0, "opsz" 24;
  -webkit-font-feature-settings: "liga";
  font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}

.dj-shell {
  direction: rtl;
  display: flex;
  flex-direction: row;
  min-height: 100vh;
}

.dj-sidebar {
  background: var(--dj-primary-2);
  border-left: 1px solid rgba(255, 255, 255, 0.08);
  color: #fff;
  display: flex;
  flex-direction: column;
  flex: 0 0 var(--sidebar-width);
  height: 100vh;
  position: sticky;
  right: 0;
  top: 0;
  z-index: 50;
}

.dj-main {
  direction: rtl;
  flex: 1 1 auto;
  min-width: 0;
}
.dj-sidebar-inner { padding: 28px 18px; }

.dj-sidebar-rail-toggle {
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  height: 40px;
  justify-content: center;
  margin-bottom: 18px;
  width: 40px;
}

.dj-sidebar-rail-toggle:hover {
  background: rgba(255, 255, 255, 0.14);
}

.dj-brand {
  align-items: center;
  color: #fff;
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-bottom: 34px;
}
.dj-brand:hover { color: #fff; }
.dj-brand strong {
  display: block;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}
.dj-brand small {
  color: #b9c6d8;
  display: block;
  font-size: 10px;
  margin-top: 6px;
  text-transform: uppercase;
}
.dj-brand-mark {
  align-items: center;
  background: var(--dj-accent);
  border-radius: 4px;
  color: var(--dj-primary);
  display: inline-flex;
  height: 44px;
  justify-content: center;
  width: 44px;
}
.dj-brand-logo {
  background: #fff;
  overflow: hidden;
  padding: 4px;
}
.dj-brand-logo img {
  display: block;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
}

.dj-nav { display: grid; gap: 4px; }
.dj-nav a {
  align-items: center;
  border-right: 3px solid transparent;
  color: #d7dee8;
  display: flex;
  gap: 14px;
  justify-content: flex-start;
  padding: 13px 18px;
  position: relative;
  transition: 160ms ease;
}
.dj-nav a span { flex: 1; text-align: right; }
.dj-nav a i { font-style: normal; }
.dj-nav a:hover, .dj-nav a.active {
  background: rgba(3, 22, 54, 0.64);
  color: #fff;
}
.dj-nav a.active { border-right-color: var(--dj-accent-dark); }

.dj-sidebar-footer {
  border-top: 1px solid rgba(255,255,255,0.08);
  margin-top: auto;
  padding: 20px 18px 28px;
}
.dj-file-motion {
  align-items: center;
  background: var(--dj-primary);
  border: 1px solid rgba(255,255,255,0.1);
  color: #fff;
  display: flex;
  font-weight: 800;
  gap: 8px;
  justify-content: center;
  padding: 13px;
  position: relative;
}
.dj-file-motion:hover { color: #fff; }

.dj-topbar {
  align-items: center;
  background: linear-gradient(90deg, #061d3e 0%, #0b2f59 62%, #113f70 100%);
  box-shadow: 0 12px 30px rgba(6, 29, 62, .16);
  direction: ltr;
  display: grid;
  gap: 22px;
  grid-template-columns: auto minmax(220px, 1fr);
  min-height: 80px;
  padding: 14px 30px;
  position: sticky;
  top: 0;
  z-index: 80;
}
.dj-page-title {
  direction: rtl;
  text-align: right;
}
.dj-page-title h1 {
  color: #fff;
  font-size: 24px;
  font-weight: 800;
  margin: 0;
}
.dj-eyebrow {
  color: #d7b36a;
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-bottom: 3px;
}
.dj-search {
  align-items: center;
  background: var(--dj-surface-high);
  direction: rtl;
  display: grid;
  gap: 8px;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 10px 13px;
}
.dj-search input {
  background: transparent;
  border: 0;
  color: var(--dj-text);
  outline: 0;
}
.dj-top-actions, .dj-user-menu {
  align-items: center;
  display: flex;
  gap: 10px;
}
.dj-icon-btn {
  align-items: center;
  color: rgba(255, 255, 255, .86);
  display: inline-flex;
  height: 38px;
  justify-content: center;
  width: 38px;
}
.dj-icon-btn:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.dj-user {
  background: transparent;
  color: #fff;
  font-weight: 800;
  white-space: nowrap;
}
.dj-user-menu form { margin: 0; }
.dj-user-menu .btn-link {
  color: #d7b36a;
  font-weight: 800;
}
.dj-user-menu .btn-link:hover {
  color: #fff;
}
.dj-content { padding: 28px 32px 40px; }

.clients-list-page .stitch-filter-bar,
.task-board-page .task-modern-filter,
.case-file-quick-search {
  position: sticky;
  top: 84px;
  z-index: 70;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 12px 30px rgba(1, 22, 53, .08);
}

.stitch-dashboard,
.admin-stitch,
.doc-preview-shell {
  direction: rtl;
}

.workspace-hero {
  align-items: end;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  margin-bottom: 26px;
  text-align: right;
}
.workspace-hero h2, .admin-heading h2 {
  color: var(--dj-primary);
  font-size: 34px;
  font-weight: 800;
  margin: 0;
}
.workspace-hero p, .admin-heading p {
  color: #28313d;
  font-size: 18px;
  margin: 8px 0 0;
}
.status-pill {
  background: var(--dj-surface-high);
  border-radius: 999px;
  color: var(--dj-primary);
  font-size: 13px;
  font-weight: 800;
  padding: 7px 16px;
}

.stitch-kpis {
  direction: rtl;
  display: grid;
  gap: 28px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 34px;
}
.stitch-kpi {
  background: var(--dj-surface);
  border-right: 4px solid var(--dj-primary);
  min-height: 145px;
  padding: 28px;
  position: relative;
}
.stitch-kpi p {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.12em;
  margin: 0;
  text-transform: uppercase;
}
.stitch-kpi span { color: var(--dj-accent-dark); font-size: 14px; font-weight: 800; }
.stitch-kpi strong {
  bottom: 28px;
  color: var(--dj-primary);
  font-size: 42px;
  line-height: 1;
  position: absolute;
  right: 28px;
}
.stitch-kpi i {
  color: #9aa4b4;
  font-size: 38px;
  left: 28px;
  opacity: .72;
  position: absolute;
  top: 28px;
}
.kpi-hearings { border-color: var(--dj-accent-dark); }
.kpi-tasks { border-color: #3f2600; }
.kpi-tasks span { color: #c00000; }

.workspace-grid {
  align-items: start;
  direction: ltr;
  display: grid;
  gap: 32px;
  grid-template-columns: 374px minmax(360px, 1fr);
}
.court-schedule, .urgent-panel, .billable-card, .recent-files a, .task-card {
  box-shadow: var(--dj-shadow);
}
.court-schedule {
  background: var(--dj-surface-low);
  direction: rtl;
  grid-column: 1;
  grid-row: 1;
  padding: 30px;
}
.panel-heading {
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
  gap: 14px;
  justify-content: space-between;
  margin-bottom: 24px;
}
.panel-heading h3, .recent-files h3, .priority-board h3 {
  color: var(--dj-primary);
  font-size: 22px;
  font-weight: 800;
  margin: 0;
}
.panel-heading .material-symbols-outlined {
  background: var(--dj-surface);
  color: #7b8da8;
  font-size: 30px;
  padding: 12px;
}
.hearing-line {
  border-right: 1px solid #cfd8e6;
  display: grid;
  gap: 34px;
  padding-right: 24px;
}
.hearing-line article { position: relative; }
.hearing-line article::before {
  background: var(--dj-accent-dark);
  border: 4px solid var(--dj-surface-low);
  border-radius: 50%;
  content: "";
  height: 14px;
  position: absolute;
  right: -31px;
  top: 4px;
  width: 14px;
}
.hearing-line time {
  color: var(--dj-accent-dark);
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.hearing-line strong { display: block; font-size: 17px; margin-top: 8px; }
.hearing-line span, .hearing-line small { color: #52657d; display: block; }
.hearing-line small { font-size: 12px; margin-top: 10px; }

.workspace-main {
  direction: rtl;
  display: grid;
  gap: 34px;
  grid-column: 2;
  grid-row: 1 / span 2;
}
.urgent-panel {
  background: rgba(255, 218, 214, 0.25);
  border: 1px solid rgba(186, 26, 26, 0.16);
  padding: 30px;
}
.panel-heading.danger {
  justify-content: flex-end;
  text-align: right;
}
.panel-heading.danger span { color: var(--dj-danger); font-size: 30px; }
.urgent-panel article {
  align-items: center;
  background: var(--dj-surface);
  direction: rtl;
  display: grid;
  gap: 16px;
  grid-template-columns: auto minmax(0, 1fr) 50px;
  margin-top: 14px;
  padding: 20px;
  text-align: right;
}
.urgent-panel strong { color: var(--dj-primary); font-size: 16px; }
.urgent-panel p { margin: 2px 0 0; }
.urgent-panel i {
  background: rgba(186, 26, 26, 0.1);
  color: var(--dj-danger);
  font-style: normal;
  padding: 12px;
}
.board-title {
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  margin-bottom: 18px;
}
.board-title a { color: var(--dj-accent-dark); font-weight: 800; }
.kanban-cols {
  display: grid;
  gap: 28px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.kanban-cols header {
  align-items: center;
  border-bottom: 2px solid #d9e1eb;
  display: flex;
  justify-content: space-between;
  padding: 0 8px 14px;
}
.kanban-cols header span {
  background: var(--dj-primary);
  border-radius: 50%;
  height: 10px;
  width: 10px;
}
.kanban-cols b {
  color: #344050;
  font-size: 13px;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.task-card {
  background: var(--dj-surface);
  border-top: 2px solid #d9e1eb;
  margin-top: 14px;
  min-height: 138px;
  padding: 22px;
  text-align: center;
}
.task-card small {
  color: var(--dj-accent-dark);
  display: block;
  font-weight: 800;
  letter-spacing: .04em;
  margin-bottom: 10px;
  text-transform: uppercase;
}
.task-card strong { color: var(--dj-primary); display: block; font-size: 17px; }
.task-card p { color: #64748b; font-size: 12px; margin: 18px 0 0; }
.task-card.done { opacity: .65; }
.task-card.progress { border-top-color: var(--dj-primary); }

.workspace-rail {
  direction: rtl;
  display: grid;
  gap: 28px;
  grid-column: 1;
  grid-row: 2;
}
.recent-files { display: grid; gap: 14px; }
.recent-files a {
  align-items: center;
  background: var(--dj-surface);
  color: var(--dj-primary);
  direction: rtl;
  display: grid;
  gap: 14px;
  grid-template-columns: 30px minmax(0, 1fr) 24px;
  min-height: 84px;
  padding: 18px;
}
.recent-files small { color: #8a98aa; display: block; }
.billable-card {
  background: var(--dj-primary);
  color: #fff;
  overflow: hidden;
  padding: 28px;
  position: relative;
}
.billable-card h3 {
  color: #aeb9c9;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.billable-card div {
  align-items: end;
  display: flex;
  justify-content: space-between;
}
.billable-card span { font-size: 34px; font-weight: 800; }
.billable-card b { color: var(--dj-accent-dark); font-size: 13px; }
.billable-card progress {
  accent-color: var(--dj-accent-dark);
  height: 8px;
  margin: 18px 0;
  width: 100%;
}
.billable-card p { color: #cbd5e1; font-size: 12px; font-style: italic; }
.billable-card > i {
  bottom: -28px;
  color: rgba(255,255,255,0.04);
  font-size: 130px;
  left: -18px;
  position: absolute;
}

.dashboard-pro {
  direction: rtl;
  display: grid;
  gap: 24px;
}
.dashboard-hero {
  align-items: end;
  display: flex;
  gap: 20px;
  justify-content: space-between;
}
.dashboard-kicker {
  color: var(--dj-accent-dark);
  display: block;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 8px;
}
.dashboard-hero h1 {
  color: var(--dj-primary);
  font-size: 38px;
  font-weight: 800;
  margin: 0;
}
.dashboard-hero p {
  color: #617086;
  font-size: 16px;
  margin: 8px 0 0;
}
.dashboard-scope {
  align-items: center;
  background: #fff;
  border: 1px solid #d9e2ee;
  display: grid;
  gap: 4px 12px;
  grid-template-columns: 44px minmax(0, 1fr);
  min-width: 270px;
  padding: 16px 18px;
}
.dashboard-scope .material-symbols-outlined {
  align-items: center;
  background: var(--dj-surface-high);
  color: var(--dj-primary);
  display: flex;
  font-size: 26px;
  grid-row: span 2;
  height: 44px;
  justify-content: center;
  width: 44px;
}
.dashboard-scope strong { color: var(--dj-primary); font-size: 16px; }
.dashboard-scope small { color: #64748b; }
.dashboard-scope.scope-all .material-symbols-outlined { background: #fff0d1; color: var(--dj-accent-dark); }
.dashboard-kpi-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.dashboard-kpi {
  background: #fff;
  border: 1px solid #dbe4ef;
  border-right: 5px solid var(--dj-primary);
  color: var(--dj-primary);
  display: grid;
  min-height: 156px;
  padding: 22px;
  text-decoration: none;
}
.dashboard-kpi:hover { color: var(--dj-primary); transform: translateY(-1px); }
.dashboard-kpi .material-symbols-outlined {
  color: #a9b6c7;
  font-size: 34px;
  justify-self: start;
}
.dashboard-kpi small {
  color: #5c6a7d;
  font-size: 14px;
  font-weight: 800;
  margin-top: 18px;
}
.dashboard-kpi strong {
  color: var(--dj-primary);
  font-size: 34px;
  font-weight: 800;
  line-height: 1.1;
}
.dashboard-kpi em {
  color: var(--dj-accent-dark);
  font-style: normal;
  font-weight: 800;
}
.dashboard-kpi.danger { border-right-color: #b42318; }
.dashboard-kpi.danger em { color: #b42318; }
.dashboard-kpi.money {
  background: var(--dj-primary);
  border-color: var(--dj-primary);
}
.dashboard-kpi.money small,
.dashboard-kpi.money strong,
.dashboard-kpi.money .material-symbols-outlined { color: #fff; }
.dashboard-kpi.money em { color: #ffd17a; }
.dashboard-quick-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.dashboard-quick-grid a {
  align-items: center;
  background: #fff;
  border: 1px solid #dce5f0;
  color: var(--dj-primary);
  display: flex;
  gap: 10px;
  justify-content: center;
  min-height: 58px;
  text-decoration: none;
}
.dashboard-quick-grid b {
  background: var(--dj-surface-high);
  color: var(--dj-primary);
  min-width: 36px;
  padding: 5px 8px;
  text-align: center;
}
.dashboard-quick-grid span { color: #2f3d50; font-weight: 800; }
.dashboard-layout {
  align-items: start;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1fr) 360px;
}
.dashboard-main,
.dashboard-side,
.dashboard-bottom-grid {
  display: grid;
  gap: 22px;
}
.dashboard-panel {
  background: #fff;
  border: 1px solid #dce5f0;
  padding: 22px;
}
.dashboard-panel.compact { padding: 20px; }
.dashboard-panel-head {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
}
.dashboard-panel-head span {
  color: var(--dj-accent-dark);
  display: block;
  font-size: 13px;
  font-weight: 800;
}
.dashboard-panel-head h2 {
  color: var(--dj-primary);
  font-size: 24px;
  font-weight: 800;
  margin: 4px 0 0;
}
.dashboard-panel-head a,
.agenda-list article > a,
.task-focus-list article > a {
  color: var(--dj-accent-dark);
  font-weight: 800;
  text-decoration: none;
}
.agenda-list {
  display: grid;
  gap: 12px;
}
.agenda-list article {
  align-items: center;
  border: 1px solid #e2e8f0;
  display: grid;
  gap: 16px;
  grid-template-columns: 104px minmax(0, 1fr) 60px;
  padding: 14px;
}
.agenda-list time {
  background: var(--dj-surface-high);
  color: var(--dj-primary);
  display: grid;
  justify-items: center;
  padding: 10px;
}
.agenda-list time b { font-size: 28px; line-height: 1; }
.agenda-list time span,
.agenda-list time small { color: #64748b; font-weight: 800; }
.agenda-list strong,
.task-focus-list strong {
  color: var(--dj-primary);
  display: block;
  font-size: 17px;
  font-weight: 800;
}
.agenda-list p,
.task-focus-list p {
  color: #516176;
  margin: 4px 0;
}
.agenda-list small,
.task-focus-list small {
  color: #7b8797;
}
.task-focus-list {
  display: grid;
  gap: 12px;
}
.task-focus-list article {
  align-items: center;
  border: 1px solid #e2e8f0;
  border-right: 5px solid #8a6a18;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) 120px 50px;
  padding: 16px;
}
.task-focus-list article.priority-critical,
.task-focus-list article.priority-high { border-right-color: #b42318; }
.task-focus-list article.priority-medium { border-right-color: #8a6a18; }
.task-focus-list article.priority-low { border-right-color: #7892b4; }
.task-focus-list article > span {
  color: #8a6a18;
  font-weight: 800;
  text-align: center;
}
.stage-bars {
  display: grid;
  gap: 14px;
}
.stage-bars a {
  color: var(--dj-primary);
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) 42px;
  position: relative;
  text-decoration: none;
}
.stage-bars span { font-weight: 800; }
.stage-bars b { text-align: left; }
.stage-bars i {
  background: var(--dj-accent-dark);
  display: block;
  grid-column: 1 / -1;
  height: 5px;
}
.status-pills {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
}
.status-pills a {
  background: var(--dj-surface-high);
  color: var(--dj-primary);
  padding: 14px;
  text-align: center;
  text-decoration: none;
}
.status-pills b {
  display: block;
  font-size: 22px;
}
.status-pills span { font-weight: 800; }
.status-pills .danger { background: #fff1f0; color: #b42318; }
.status-pills .done { background: #ecfdf3; color: #087443; }
.status-pills .progress { background: #eff6ff; color: #175cd3; }
.finance-panel dl {
  display: grid;
  gap: 12px;
  margin: 0;
}
.finance-panel dl div {
  display: flex;
  justify-content: space-between;
}
.finance-panel dt { color: #64748b; font-weight: 800; }
.finance-panel dd {
  color: var(--dj-primary);
  font-weight: 800;
  margin: 0;
}
.dashboard-bottom-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.dashboard-table,
.alert-list {
  display: grid;
  gap: 10px;
}
.dashboard-table a {
  border: 1px solid #e2e8f0;
  color: var(--dj-primary);
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(120px, 1fr) minmax(0, 1.5fr) 120px;
  padding: 12px;
  text-decoration: none;
}
.dashboard-table strong { font-weight: 800; }
.dashboard-table span { color: #516176; }
.dashboard-table time { color: var(--dj-accent-dark); font-weight: 800; text-align: left; }
.alert-list article {
  align-items: start;
  border: 1px solid #e2e8f0;
  display: grid;
  gap: 12px;
  grid-template-columns: 34px minmax(0, 1fr);
  padding: 12px;
}
.alert-list .material-symbols-outlined { color: var(--dj-accent-dark); }
.alert-list article.severity-critical .material-symbols-outlined { color: #b42318; }
.alert-list strong { color: var(--dj-primary); }
.alert-list p { color: #516176; margin: 4px 0 0; }
.dashboard-empty {
  background: var(--dj-surface-high);
  color: #64748b;
  font-weight: 800;
  padding: 22px;
  text-align: center;
}

.poa-form-note {
  align-items: center;
  background: #f6f9fd;
  border: 1px solid #dbe5f1;
  border-right: 5px solid var(--dj-accent-dark);
  color: var(--dj-primary);
  display: flex;
  gap: 12px;
  margin-bottom: 18px;
  padding: 14px 16px;
}
.poa-form-note strong {
  white-space: nowrap;
}
.poa-form-note span {
  color: #64748b;
  font-weight: 700;
}

/* Compact sticky search pass for data-heavy internal screens. */
.dj-content {
  padding-top: 12px !important;
}

.modern-ops-page,
.case-clean-page,
.case-direct-search,
.client-direct-page,
.poa-workspace {
  padding-top: 8px !important;
}

.modern-page-hero,
.case-clean-hero,
.case-direct-hero,
.client-direct-hero {
  margin-bottom: 12px !important;
  padding-top: 0 !important;
}

.case-file-quick-search,
.case-direct-form,
.client-direct-search,
.poa-search-strip,
.hearing-agenda-filter {
  top: 70px !important;
  z-index: 140 !important;
}

.case-file-quick-search {
  margin-top: 0 !important;
  margin-bottom: 14px !important;
}

.hearing-agenda-filter {
  grid-template-columns: minmax(360px, 1fr) minmax(150px, 190px) minmax(150px, 190px) minmax(220px, 300px) !important;
  gap: 12px !important;
  padding: 16px !important;
}

.hearing-agenda-filter .wide {
  min-width: 0;
}

.hearing-agenda-filter input {
  width: 100%;
}

.hearing-agenda-filter .modern-btn {
  width: 100%;
  min-height: 48px;
  white-space: nowrap;
}

.client-direct-search input[list]::-webkit-calendar-picker-indicator {
  opacity: .75;
}

.client-file-quick-search {
  position: sticky;
  top: 70px;
  z-index: 140;
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto;
  gap: 14px;
  align-items: end;
  margin-bottom: 16px;
  padding: 16px;
  background: rgba(255, 255, 255, .98);
  border: 1px solid #d8e1ee;
  box-shadow: 0 12px 30px rgba(6, 29, 62, .08);
}

.client-file-quick-search label {
  display: grid;
  gap: 8px;
  margin: 0;
  color: var(--dj-primary);
  font-weight: 900;
}

.client-file-quick-search input {
  min-height: 48px;
  border: 1px solid #c9d4e3;
  padding: 0 14px;
  font-weight: 800;
}

.client-file-quick-search button {
  min-height: 48px;
  border: 0;
  background: var(--dj-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 18px;
  font-weight: 900;
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .hearing-agenda-filter {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 760px) {
  .hearing-agenda-filter,
  .case-file-quick-search,
  .case-file-quick-search form,
  .client-direct-search {
    grid-template-columns: 1fr !important;
  }

  .client-file-quick-search {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1200px) {
  .dashboard-kpi-grid,
  .dashboard-bottom-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dashboard-layout {
    grid-template-columns: 1fr;
  }
  .dashboard-side {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .dashboard-hero {
    align-items: stretch;
    display: grid;
  }
  .dashboard-scope {
    min-width: 0;
  }
  .dashboard-kpi-grid,
  .dashboard-quick-grid,
  .dashboard-side,
  .dashboard-bottom-grid {
    grid-template-columns: 1fr;
  }
  .agenda-list article,
  .task-focus-list article,
  .dashboard-table a {
    grid-template-columns: 1fr;
  }
  .dashboard-table time {
    text-align: right;
  }
}

.admin-stitch {
  direction: rtl;
  display: grid;
  gap: 30px;
  grid-template-columns: 320px minmax(0, 1fr);
  margin-left: -32px;
}
.admin-insight-drawer {
  background: rgba(26, 43, 76, 0.88);
  color: #fff;
  min-height: calc(100vh - 108px);
  padding: 32px;
  position: sticky;
  top: 108px;
}
.admin-insight-drawer h3 {
  align-items: center;
  display: flex;
  font-size: 20px;
  font-weight: 800;
  gap: 12px;
  margin-bottom: 34px;
}
.admin-insight-drawer h3 span { color: var(--dj-accent-dark); }
.admin-insight-drawer section {
  border: 1px solid rgba(255,255,255,0.12);
  padding: 20px;
}
.admin-insight-drawer small, .permission-list p {
  color: var(--dj-accent-dark);
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  margin-bottom: 12px;
  text-transform: uppercase;
}
.policy-bar { background: rgba(255,255,255,.1); height: 7px; }
.policy-bar span { background: var(--dj-accent-dark); display: block; height: 100%; }
.admin-insight-drawer p { color: rgba(255,255,255,.68); margin: 14px 0 0; }
.permission-list { display: grid; gap: 18px; margin: 30px 0; }
.permission-list div { display: flex; justify-content: space-between; }
.security-audit {
  align-items: center;
  background: rgba(255,255,255,.12);
  color: #fff;
  display: flex;
  font-size: 12px;
  font-weight: 800;
  gap: 10px;
  justify-content: center;
  letter-spacing: .12em;
  padding: 16px;
  text-transform: uppercase;
}
.security-audit:hover { color: #fff; }
.integrity-tile {
  align-items: center;
  background: linear-gradient(135deg, rgba(3,22,54,.9), rgba(255,255,255,.08));
  bottom: 32px;
  display: flex;
  height: 120px;
  justify-content: center;
  left: 32px;
  position: absolute;
  right: 32px;
}
.integrity-tile span {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.admin-canvas { min-width: 0; padding-left: 2px; }
.admin-heading {
  align-items: end;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  margin-bottom: 28px;
}
.admin-heading nav {
  color: #687386;
  display: flex;
  font-size: 13px;
  gap: 8px;
  margin-bottom: 8px;
}
.admin-heading nav b { color: var(--dj-accent-dark); }
.admin-heading > div:last-child {
  align-items: center;
  display: flex;
  gap: 12px;
}
.matrix-link, .admin-create {
  align-items: center;
  display: inline-flex;
  font-weight: 800;
  gap: 8px;
  padding: 12px 18px;
}
.matrix-link { color: var(--dj-accent-dark); }
.admin-create {
  background: linear-gradient(135deg, var(--dj-primary), var(--dj-primary-2));
  color: #fff;
}
.admin-create:hover { color: #fff; }
.admin-stats {
  display: grid;
  gap: 28px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 34px;
}
.admin-stats article {
  align-items: center;
  background: var(--dj-surface);
  border-bottom: 2px solid rgba(119,90,25,.16);
  display: flex;
  justify-content: space-between;
  padding: 24px;
}
.admin-stats p {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  margin: 0 0 8px;
  text-transform: uppercase;
}
.admin-stats strong {
  color: var(--dj-primary);
  font-size: 31px;
  line-height: 1;
}
.admin-stats span { color: rgba(3,22,54,.18); font-size: 42px; }

.staff-table-card {
  background: var(--dj-surface);
  overflow: hidden;
}
.table-toolbar {
  align-items: center;
  border-bottom: 1px solid var(--dj-border);
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  padding: 24px;
}
.table-toolbar > div {
  align-items: center;
  display: flex;
  gap: 16px;
}
.table-toolbar select, .bulk-actions {
  background: var(--dj-bg);
  border: 0;
  padding: 10px 14px;
}
.bulk-actions {
  align-items: center;
  display: flex;
  gap: 12px;
}
.bulk-actions b {
  color: #64748b;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.bulk-actions button {
  background: transparent;
  border: 0;
  color: var(--dj-primary);
  font-weight: 700;
}
.bulk-actions .danger { color: #dc0000; }
.bulk-actions i { background: #c7ced8; height: 28px; width: 1px; }
.staff-table {
  border-collapse: collapse;
  direction: rtl;
  width: 100%;
}
.staff-table th {
  background: var(--dj-surface-highest);
  color: var(--dj-primary);
  font-family: var(--dj-font-family);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .1em;
  padding: 18px 24px;
  text-transform: uppercase;
}
.staff-table td {
  border-bottom: 1px solid #e2e8f0;
  padding: 18px 24px;
  vertical-align: middle;
}
.staff-user {
  align-items: center;
  display: flex;
  gap: 13px;
}
.staff-user > span {
  align-items: center;
  background: var(--dj-primary-2);
  color: #fff;
  display: flex;
  font-weight: 800;
  height: 34px;
  justify-content: center;
  width: 34px;
}
.staff-user strong, .staff-user small { display: block; }
.staff-user small, .login-cell small { color: #64748b; font-size: 11px; }
.role-chip {
  background: var(--dj-surface-high);
  border-radius: 3px;
  color: var(--dj-primary);
  font-size: 12px;
  padding: 7px 12px;
}
.role-chip.admin { background: var(--dj-accent); color: #5d4201; }
.status-dot {
  border-radius: 50%;
  display: inline-block;
  height: 7px;
  margin-left: 6px;
  width: 7px;
}
.status-dot.active { background: var(--dj-success); }
.status-dot.inactive { background: var(--dj-danger); }
.muted-row { opacity: .62; }
.staff-table form { display: inline; margin: 0; }
.staff-table button {
  background: transparent;
  border: 0;
  color: #64748b;
  font-weight: 800;
}
.staff-table a { font-weight: 800; margin-left: 16px; }
.table-pagination {
  align-items: center;
  background: var(--dj-bg);
  display: flex;
  justify-content: space-between;
  padding: 22px 24px;
}
.table-pagination button {
  align-items: center;
  background: transparent;
  border: 1px solid var(--dj-border);
  color: var(--dj-primary);
  display: flex;
  gap: 6px;
  padding: 10px 16px;
}
.table-pagination div {
  align-items: center;
  display: flex;
  gap: 8px;
}
.table-pagination b, .table-pagination span {
  align-items: center;
  display: flex;
  height: 34px;
  justify-content: center;
  width: 34px;
}
.table-pagination b { background: var(--dj-primary); color: #fff; }
.admin-meta {
  color: #6d7480;
  display: flex;
  font-size: 11px;
  font-weight: 800;
  gap: 36px;
  justify-content: center;
  letter-spacing: .22em;
  margin-top: 28px;
  text-transform: uppercase;
}

/* Admin console refinement: readable Arabic layout at 100% zoom. */
.admin-stitch {
  gap: 22px;
  grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
  margin-left: 0;
}

.admin-insight-drawer {
  min-height: auto;
  padding: 26px;
}

.admin-insight-drawer .integrity-tile {
  display: none;
}

.admin-canvas {
  min-width: 0;
}

.admin-heading {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) minmax(280px, auto);
  margin-bottom: 24px;
}

.admin-heading h2 {
  line-height: 1.25;
  margin-bottom: 10px;
}

.admin-heading p {
  max-width: 820px;
}

.admin-heading-actions,
.admin-heading > div:last-child {
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-start;
  min-width: 0;
}

.matrix-link,
.admin-create {
  min-height: 48px;
  padding: 12px 16px;
  white-space: normal;
}

.admin-stats {
  gap: 16px;
  margin-bottom: 26px;
}

.admin-stats article {
  min-height: 118px;
  padding: 20px;
}

.staff-table-card {
  border: 1px solid var(--dj-border);
}

.table-toolbar {
  align-items: stretch;
  gap: 16px;
  padding: 18px 20px;
}

.table-toolbar > div {
  flex-wrap: wrap;
  justify-content: flex-end;
  min-width: 0;
}

.bulk-actions {
  flex-wrap: wrap;
}

.staff-table-scroll {
  overflow-x: auto;
}

.staff-table {
  min-width: 960px;
}

.staff-table th,
.staff-table td {
  padding: 15px 18px;
}

.staff-table td:last-child {
  white-space: nowrap;
}

.permission-page {
  direction: rtl;
}

.permission-header {
  align-items: start;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-bottom: 20px;
}

.permission-header h2 {
  color: var(--dj-primary);
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 900;
  line-height: 1.15;
  margin: 6px 0 10px;
}

.permission-header p {
  color: #344050;
  font-size: 16px;
  margin: 0;
  max-width: 860px;
}

.permission-alert {
  background: #ecfdf5;
  border: 1px solid #bbf7d0;
  color: #047857;
  font-weight: 800;
  margin-bottom: 16px;
  padding: 12px 16px;
}

.permission-matrix-card {
  background: var(--dj-surface);
  border: 1px solid var(--dj-border);
  box-shadow: var(--dj-shadow);
  overflow: hidden;
}

.permission-matrix-summary {
  align-items: center;
  background: var(--dj-surface-high);
  border-bottom: 1px solid var(--dj-border);
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: space-between;
  padding: 18px 20px;
}

.permission-matrix-summary div {
  background: var(--dj-surface);
  border-inline-start: 4px solid var(--dj-accent-dark);
  min-width: 150px;
  padding: 12px 16px;
}

.permission-matrix-summary strong,
.permission-matrix-summary span {
  display: block;
}

.permission-matrix-summary strong {
  color: var(--dj-primary);
  font-size: 28px;
  line-height: 1;
}

.permission-matrix-summary span {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  margin-top: 6px;
}

.permission-matrix-scroll {
  max-height: calc(100vh - 330px);
  overflow: auto;
}

.permission-matrix-table {
  border-collapse: collapse;
  min-width: 1060px;
  width: 100%;
}

.permission-matrix-table th {
  background: var(--dj-surface-highest);
  border-bottom: 1px solid var(--dj-border);
  color: var(--dj-primary);
  font-size: 13px;
  font-weight: 900;
  padding: 15px 16px;
  position: sticky;
  top: 0;
  z-index: 2;
}

.permission-matrix-table td {
  border-bottom: 1px solid #e2e8f0;
  color: var(--dj-primary);
  padding: 13px 16px;
  vertical-align: middle;
}

.permission-name {
  color: #1f2937;
  font-weight: 800;
  min-width: 260px;
}

.module-chip {
  background: #eef4fb;
  color: var(--dj-primary);
  display: inline-flex;
  font-size: 12px;
  font-weight: 900;
  min-width: 110px;
  padding: 7px 10px;
}

.role-column {
  min-width: 112px;
  text-align: center;
}

.permission-checkbox {
  accent-color: #1769e0;
  height: 18px;
  width: 18px;
}

@media (max-width: 1500px) {
  .admin-stitch {
    grid-template-columns: 1fr;
  }

  .admin-insight-drawer {
    order: 2;
    position: static;
  }

  .admin-heading {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .permission-header,
  .permission-matrix-summary {
    grid-template-columns: 1fr;
  }

  .admin-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.doc-preview-shell {
  margin: -28px -32px -40px;
  min-height: calc(100vh - 80px);
  position: relative;
}
.doc-actionbar {
  align-items: center;
  background: var(--dj-surface);
  border-bottom: 1px solid var(--dj-border);
  display: flex;
  flex-direction: row-reverse;
  height: 58px;
  justify-content: space-between;
  padding: 0 26px;
}
.doc-actionbar h2 {
  color: var(--dj-primary);
  display: inline;
  font-size: 20px;
  font-weight: 800;
  margin: 0 0 0 10px;
}
.doc-actionbar span:not(.material-symbols-outlined) {
  background: rgba(254,212,136,.35);
  color: var(--dj-accent-dark);
  font-size: 12px;
  font-weight: 800;
  padding: 4px 10px;
}
.doc-actionbar nav {
  align-items: center;
  display: flex;
  gap: 10px;
}
.doc-actionbar button, .doc-actionbar a {
  align-items: center;
  background: transparent;
  border: 0;
  color: #344050;
  display: inline-flex;
  gap: 6px;
  padding: 8px 12px;
}
.doc-actionbar .approve-btn {
  background: var(--dj-primary);
  color: #fff;
  font-weight: 800;
  padding: 9px 20px;
}
.doc-workbench {
  direction: rtl;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  min-height: calc(100vh - 138px);
}
.doc-meta-panel {
  background: var(--dj-surface);
  border-left: 1px solid var(--dj-border);
  display: flex;
  flex-direction: column;
  grid-column: 2;
}
.doc-meta-panel section {
  border-bottom: 1px solid rgba(197,198,207,.22);
  padding: 26px;
}
.doc-meta-panel h4 {
  color: var(--dj-accent-dark);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  margin-bottom: 18px;
  text-transform: uppercase;
}
.doc-meta-panel dl { display: grid; gap: 16px; margin: 0; }
.doc-meta-panel dl div {
  display: flex;
  justify-content: space-between;
}
.doc-meta-panel dt { color: #64748b; font-weight: 500; }
.doc-meta-panel dd {
  color: var(--dj-primary);
  font-weight: 800;
  margin: 0;
}
.related-case {
  align-items: start;
  background: var(--dj-surface-high);
  color: var(--dj-primary);
  display: flex;
  gap: 12px;
  padding: 16px;
}
.related-case strong, .related-case small { display: block; }
.related-case small { color: #64748b; margin-top: 5px; }
.version-history {
  flex: 1;
  position: relative;
}

.immutable-version-notice {
    display: grid;
    gap: 4px;
    margin-bottom: 14px;
    padding: 12px 14px;
    border: 1px solid #cbd5e1;
    border-inline-start: 4px solid var(--dj-primary);
    background: #f8fafc;
}

.immutable-version-notice strong { color: var(--dj-primary); }
.immutable-version-notice span { color: #475569; line-height: 1.7; }

.new-version-form {
    display: grid;
    gap: 8px;
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid #d8e0ea;
}

.new-version-form label { color: var(--dj-primary); font-weight: 700; }
.version-history article {
  border-right: 1px solid #d3d9e3;
  margin-right: 6px;
  padding: 0 22px 26px 0;
  position: relative;
}
.version-history article::before {
  background: #c7ced8;
  border-radius: 50%;
  content: "";
  height: 13px;
  position: absolute;
  right: -7px;
  top: 4px;
  width: 13px;
}
.version-history .current::before { background: var(--dj-accent-dark); }
.version-history strong { color: var(--dj-primary); display: block; font-size: 14px; }
.version-history span { color: #64748b; font-size: 12px; }
.version-actions {
  display: flex;
  gap: 10px;
  margin-top: 8px;
}
.version-actions a {
  background: var(--dj-surface-high);
  color: var(--dj-primary);
  font-size: 11px;
  font-weight: 800;
  padding: 5px 8px;
}
.access-log {
  align-items: center;
  background: rgba(227,233,241,.45);
  color: #344050;
  display: flex;
  font-size: 12px;
  font-weight: 800;
  justify-content: space-between;
  margin-top: auto;
  padding: 16px 24px;
}
.doc-canvas {
  align-items: center;
  background: var(--dj-surface-low);
  display: flex;
  flex-direction: column;
  grid-column: 1;
  overflow: auto;
  padding: 34px;
}
.document-inline-viewer {
  background: #fff;
  border: 0;
  box-shadow: 0 20px 48px rgba(3,22,54,.12);
  min-height: 1050px;
  width: min(1100px, 100%);
}
.paper-page {
  background: #fff;
  box-shadow: 0 20px 48px rgba(3,22,54,.12);
  min-height: 1050px;
  padding: 58px;
  width: min(820px, 100%);
}
.paper-page header {
  align-items: start;
  border-bottom: 2px solid var(--dj-primary);
  display: flex;
  justify-content: space-between;
  padding-bottom: 28px;
}
.paper-page h3 {
  color: var(--dj-primary);
  font-size: 26px;
  font-weight: 800;
}
.paper-page aside span {
  color: #344050;
  display: block;
  font-size: 13px;
}
.paper-page h1 {
  color: var(--dj-primary);
  font-size: 34px;
  font-weight: 800;
  margin: 58px 0;
  text-align: center;
  text-decoration: underline;
  text-decoration-color: var(--dj-accent-dark);
  text-underline-offset: 10px;
}
.paper-body {
  color: #111827;
  font-size: 20px;
  line-height: 2.1;
}
.paper-body blockquote {
  background: rgba(238,244,252,.6);
  border: 2px dashed #d7dde8;
  color: #52657d;
  margin: 36px 0;
  padding: 42px;
  text-align: center;
}
.doc-pager {
  align-items: center;
  background: var(--dj-primary-2);
  border-radius: 999px;
  color: #fff;
  display: flex;
  gap: 12px;
  margin: 28px 0 42px;
  padding: 9px 16px;
}
.doc-pager button {
  background: transparent;
  border: 0;
  color: #fff;
}
.doc-pager i { background: rgba(255,255,255,.22); height: 18px; width: 1px; }
.floating-annotate {
  bottom: 28px;
  display: grid;
  gap: 14px;
  left: 28px;
  position: fixed;
}
.floating-annotate button {
  align-items: center;
  background: #fff;
  border: 1px solid var(--dj-border);
  box-shadow: var(--dj-shadow);
  color: var(--dj-primary);
  display: flex;
  height: 52px;
  justify-content: center;
  width: 52px;
}
.floating-annotate .print {
  background: var(--dj-primary);
  color: #fff;
  height: 60px;
  width: 60px;
}

.dj-grid { display: grid; gap: 18px; }
.dj-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dj-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dj-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dj-card {
  background: var(--dj-surface);
  box-shadow: var(--dj-shadow);
  padding: 22px;
}
.dj-section-title, .dj-page-header {
  align-items: center;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  margin-bottom: 18px;
}
.dj-btn, .dj-btn:hover {
  background: var(--dj-primary);
  color: #fff;
  display: inline-flex;
  font-weight: 800;
  gap: 8px;
  padding: 10px 16px;
}
.dj-btn-secondary { background: var(--dj-accent); color: var(--dj-primary); }
.dj-table thead th {
  background: var(--dj-surface-highest);
  color: var(--dj-primary);
  font-size: 12px;
  font-weight: 800;
}
.dj-badge {
  background: var(--dj-surface-high);
  border-radius: 999px;
  color: var(--dj-primary);
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  padding: 5px 10px;
}
.dj-badge-success { background: #ecfdf5; color: #047857; }
.dj-badge-danger { background: #fef2f2; color: #b91c1c; }
.dj-badge-warning { background: #fffbeb; color: #92400e; }
.dj-pagination {
  align-items: center;
  border-top: 1px solid var(--dj-border);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-top: 18px;
  padding-top: 18px;
}
.dj-pagination > span {
  color: var(--dj-muted);
  font-size: 13px;
  font-weight: 700;
}
.dj-pagination > div {
  align-items: center;
  display: flex;
  gap: 12px;
}
.dj-pagination strong {
  color: var(--dj-primary);
  min-width: 68px;
  text-align: center;
}
.dj-pagination .disabled {
  opacity: .45;
  pointer-events: none;
}

.case-file {
  direction: rtl;
  display: grid;
  gap: 20px;
}

.case-file-header {
  align-items: end;
  background: var(--dj-surface);
  box-shadow: var(--dj-shadow);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding: 26px;
}

.case-file-header h2 {
  color: var(--dj-primary);
  font-size: 28px;
  font-weight: 800;
  margin: 4px 0 8px;
}

.case-file-header p {
  color: var(--dj-muted);
  margin: 0;
}

.case-file-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}

.case-file-actions a {
  align-items: center;
  display: inline-flex;
  gap: 6px;
  font-weight: 800;
}

.case-overview-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.case-metric {
  background: var(--dj-surface);
  border-right: 4px solid var(--dj-primary);
  box-shadow: var(--dj-shadow);
  min-height: 118px;
  padding: 22px;
}

.case-metric span,
.case-metric small {
  color: var(--dj-muted);
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.case-metric strong {
  color: var(--dj-primary);
  display: block;
  font-size: 28px;
  font-weight: 800;
  margin-top: 14px;
}

.case-metric.metric-danger {
  border-right-color: var(--dj-danger);
}

.case-metric.metric-danger small {
  color: var(--dj-danger);
  margin-top: 8px;
}

.case-file-layout {
  align-items: start;
  display: grid;
  gap: 20px;
  grid-template-columns: 320px minmax(0, 1fr);
}

.case-file-side {
  display: grid;
  gap: 18px;
  position: sticky;
  top: 104px;
}

.case-profile dl {
  display: grid;
  gap: 12px;
  margin: 0;
}

.case-profile dt {
  color: var(--dj-muted);
  font-size: 12px;
  font-weight: 800;
}

.case-profile dd {
  color: var(--dj-primary);
  font-weight: 800;
  margin: 0;
}

.case-file-main {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.case-party-list {
  display: grid;
  gap: 12px;
}

.case-party-list div {
  background: var(--dj-surface-low);
  border-right: 3px solid var(--dj-accent-dark);
  padding: 12px;
}

.case-party-list strong,
.case-party-list span {
  display: block;
}

.case-party-list span {
  color: var(--dj-muted);
  font-size: 12px;
  margin-top: 4px;
}

.case-notes-entry form {
  display: grid;
  gap: 12px;
}

.case-notes-entry textarea {
  resize: vertical;
}

.case-tabs-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.case-timeline {
  display: grid;
}

.case-timeline div {
  border-right: 3px solid var(--dj-primary);
  padding: 10px 16px 12px 0;
}

.case-timeline strong,
.case-timeline span,
.case-timeline small {
  display: block;
}

.case-timeline strong {
  color: var(--dj-primary);
}

.case-timeline span {
  color: var(--dj-muted);
  font-size: 12px;
  margin-top: 3px;
}

.case-timeline small {
  color: #334155;
  font-size: 13px;
  margin-top: 6px;
  max-width: 820px;
}

.client-onboarding-shell {
  direction: rtl;
  display: grid;
  gap: 34px;
}

.client-create-hero {
  align-items: end;
  display: flex;
  justify-content: space-between;
  gap: 24px;
}

.client-create-hero nav {
  align-items: center;
  color: var(--dj-muted);
  display: flex;
  gap: 8px;
  font-size: 13px;
  margin-bottom: 12px;
}

.client-create-hero nav strong {
  color: var(--dj-accent-dark);
}

.client-create-hero h2 {
  color: var(--dj-primary);
  font-size: 38px;
  font-weight: 800;
  margin: 0;
}

.client-create-hero p {
  color: #28313d;
  font-size: 18px;
  line-height: 1.7;
  margin: 10px 0 0;
  max-width: 680px;
}

.client-create-actions {
  display: flex;
  gap: 14px;
  white-space: nowrap;
}

.client-create-actions button,
.client-type-options span,
.required-docs button,
.compliance-btn {
  border-radius: 4px;
}

.submit-btn {
  background: linear-gradient(135deg, var(--dj-primary), var(--dj-primary-2));
  border: 0;
  box-shadow: 0 18px 34px rgba(3, 22, 54, .16);
  color: #fff;
  font-weight: 800;
  padding: 13px 30px;
}

.draft-btn {
  align-items: center;
  background: var(--dj-accent);
  border: 0;
  color: var(--dj-accent-dark);
  display: inline-flex;
  font-weight: 800;
  gap: 8px;
  padding: 13px 24px;
}

.client-create-grid {
  align-items: start;
  direction: ltr;
  display: grid;
  gap: 40px;
  grid-template-columns: minmax(0, 1fr) 366px;
}

.client-form-column,
.client-meta-column {
  direction: rtl;
  display: grid;
  gap: 32px;
}

.client-form-panel {
  background: var(--dj-surface);
  border: 1px solid rgba(197, 198, 207, .14);
  border-radius: 8px;
  box-shadow: var(--dj-shadow);
  padding: 38px 40px;
}

.client-panel-heading {
  align-items: center;
  border-bottom: 1px solid var(--dj-surface-highest);
  color: var(--dj-primary);
  display: flex;
  flex-direction: row-reverse;
  gap: 12px;
  margin-bottom: 34px;
  padding-bottom: 22px;
}

.client-panel-heading span {
  color: var(--dj-accent-dark);
}

.client-panel-heading h3 {
  color: var(--dj-primary);
  font-size: 22px;
  font-weight: 800;
  margin: 0;
}

.client-form-two {
  display: grid;
  gap: 34px 32px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.client-field {
  display: grid;
  gap: 10px;
}

.client-field-wide {
  grid-column: 1 / -1;
}

.client-field label {
  color: #232a33;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.client-field input,
.client-field select,
.client-field textarea,
.phone-input {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #b8bec9;
  color: var(--dj-primary);
  font-size: 16px;
  font-weight: 600;
  outline: none;
  padding: 13px 0;
  width: 100%;
}

.client-field input::placeholder,
.client-field textarea::placeholder {
  color: #cbd5e1;
}

.client-field input:focus,
.client-field select:focus,
.client-field textarea:focus {
  border-bottom-color: var(--dj-accent-dark);
  box-shadow: none;
}

.phone-input {
  align-items: center;
  display: flex;
  gap: 12px;
  padding: 0;
}

.phone-input span {
  color: #94a3b8;
  font-weight: 800;
}

.phone-input input {
  border: 0;
}

.client-type-field {
  margin-bottom: 34px;
}

.client-type-options {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.client-type-options label {
  cursor: pointer;
}

.client-type-options input {
  position: absolute;
  opacity: 0;
}

.client-type-options span {
  align-items: center;
  border: 1px solid #b8bec9;
  color: var(--dj-text);
  display: flex;
  flex-direction: row-reverse;
  font-size: 15px;
  font-weight: 700;
  gap: 12px;
  justify-content: center;
  min-height: 74px;
  transition: 160ms ease;
}

.client-type-options input:checked + span {
  background: rgba(254, 212, 136, .18);
  border-color: var(--dj-accent-dark);
}

.client-type-options i {
  color: #334155;
  font-style: normal;
}

.kyc-panel {
  background: var(--dj-primary);
  border-radius: 8px;
  box-shadow: 0 24px 46px rgba(3, 22, 54, .2);
  color: #fff;
  overflow: hidden;
  padding: 34px;
  position: relative;
}

.kyc-topline {
  background: var(--dj-accent-dark);
  height: 4px;
  inset: 0 0 auto;
  position: absolute;
}

.kyc-panel header,
.account-manager-card header {
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  margin-bottom: 32px;
}

.kyc-panel h3,
.account-manager-card h3 {
  font-size: 20px;
  font-weight: 800;
  margin: 0;
}

.kyc-panel header span {
  color: var(--dj-accent-dark);
}

.kyc-panel dl {
  display: grid;
  gap: 24px;
  margin: 0 0 28px;
}

.kyc-panel dl div {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.kyc-panel dt {
  color: #aeb9c9;
  font-weight: 500;
}

.kyc-panel dd {
  font-weight: 800;
  margin: 0;
}

.pending-chip {
  background: rgba(186, 26, 26, .2);
  color: #ffdad6;
  font-size: 11px;
  letter-spacing: .07em;
  padding: 8px 14px;
  text-transform: uppercase;
}

.required-docs {
  border-top: 1px solid rgba(255,255,255,.1);
  display: grid;
  gap: 12px;
  padding-top: 26px;
}

.required-docs p,
.account-manager-card p {
  color: #aeb9c9;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  margin: 0 0 6px;
  text-transform: uppercase;
}

.required-docs button {
  align-items: center;
  background: transparent;
  border: 0;
  color: #d7dee8;
  display: grid;
  gap: 12px;
  grid-template-columns: auto minmax(0, 1fr) 34px;
  padding: 6px 0;
  text-align: right;
}

.required-docs i {
  align-items: center;
  background: rgba(255,255,255,.06);
  display: flex;
  font-style: normal;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.required-docs .fail {
  color: #ff5449;
}

.compliance-btn {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  margin-top: 30px;
  padding: 14px;
  width: 100%;
}

.account-manager-card {
  background: var(--dj-surface-high);
  border: 1px solid rgba(197,198,207,.3);
  border-radius: 8px;
  padding: 32px;
}

.account-manager-card header {
  color: var(--dj-primary);
  margin-bottom: 24px;
}

.manager-profile {
  align-items: center;
  display: flex;
  gap: 14px;
  margin-bottom: 28px;
}

.manager-avatar {
  align-items: center;
  background: var(--dj-primary);
  border: 3px solid #fff;
  border-radius: 8px;
  color: #fff;
  display: flex;
  font-size: 20px;
  font-weight: 800;
  height: 54px;
  justify-content: center;
  width: 54px;
}

.manager-profile strong,
.manager-profile small {
  display: block;
}

.manager-profile small {
  color: var(--dj-muted);
  font-size: 11px;
  text-transform: uppercase;
}

.internal-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.internal-tags span,
.internal-tags button {
  background: var(--dj-surface);
  border: 1px solid rgba(197,198,207,.3);
  color: var(--dj-primary);
  font-size: 12px;
  padding: 7px 12px;
}

.internal-tags button {
  background: rgba(254,212,136,.45);
  color: var(--dj-accent-dark);
  font-weight: 800;
}

.location-preview {
  border-radius: 8px;
  height: 240px;
  overflow: hidden;
  position: relative;
}

.location-preview img {
  filter: grayscale(1);
  height: 100%;
  object-fit: cover;
  opacity: .52;
  width: 100%;
}

.location-preview div {
  align-items: center;
  background: rgba(3,22,54,.18);
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 10px;
  inset: 0;
  justify-content: center;
  letter-spacing: .12em;
  position: absolute;
  text-align: center;
  text-transform: uppercase;
}

.stitch-list-page {
  display: grid;
  gap: 28px;
}

.stitch-list-hero {
  align-items: end;
  display: flex;
  justify-content: space-between;
  gap: 22px;
}

.stitch-list-hero h2,
.client-profile-hero h2 {
  color: var(--dj-primary);
  font-size: 36px;
  font-weight: 800;
  margin: 0;
}

.stitch-list-hero p,
.client-profile-hero p {
  color: #28313d;
  font-size: 18px;
  margin: 8px 0 0;
}

.stitch-list-actions {
  display: flex;
  gap: 14px;
}

.stitch-list-actions a,
.stitch-list-actions button {
  align-items: center;
  border: 1px solid var(--dj-border);
  color: var(--dj-primary);
  display: inline-flex;
  font-weight: 800;
  gap: 8px;
  padding: 13px 22px;
}

.stitch-list-actions .gold-action {
  background: linear-gradient(135deg, var(--dj-accent-dark), #b28c5b);
  border: 0;
  color: #fff;
}

.stitch-filter-bar {
  align-items: center;
  background: var(--dj-surface-low);
  border-radius: 8px;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(260px, 1fr) 180px 180px 260px 48px;
  padding: 18px;
}

.stitch-filter-bar input,
.stitch-filter-bar select,
.date-filter {
  background: #fff;
  border: 0;
  color: var(--dj-text);
  min-height: 46px;
  outline: none;
  padding: 0 14px;
  width: 100%;
}

.filter-search,
.date-filter {
  align-items: center;
  display: flex;
  gap: 10px;
}

.filter-search input {
  min-height: auto;
  padding: 0;
}

.stitch-filter-bar button {
  background: transparent;
  border: 0;
  color: var(--dj-primary);
}

.stitch-data-card {
  background: var(--dj-surface);
  border: 1px solid rgba(197, 198, 207, .16);
  border-radius: 8px;
  box-shadow: var(--dj-shadow);
  overflow: hidden;
}

.stitch-table {
  border-collapse: collapse;
  direction: rtl;
  width: 100%;
}

.stitch-table th {
  background: var(--dj-surface-highest);
  color: #344050;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  padding: 18px 20px;
  text-transform: uppercase;
}

.stitch-table td {
  border-bottom: 1px solid #e5ebf3;
  padding: 20px;
  vertical-align: middle;
}

.stitch-table tr:hover td {
  background: rgba(238, 244, 252, .58);
}

.client-identity {
  align-items: center;
  color: var(--dj-primary);
  display: grid;
  gap: 0 12px;
  grid-template-columns: 44px minmax(0, 1fr);
}

.client-identity span {
  align-items: center;
  background: var(--dj-primary-2);
  color: #fff;
  display: flex;
  font-weight: 800;
  grid-row: span 2;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.client-identity strong,
.client-identity small {
  display: block;
}

.client-identity small {
  color: var(--dj-muted);
}

.balance-cell {
  color: var(--dj-primary);
  font-weight: 800;
  white-space: nowrap;
}

.status-pill-table {
  background: var(--dj-surface-high);
  border-radius: 999px;
  color: var(--dj-primary);
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  padding: 6px 12px;
  text-transform: uppercase;
}

.status-pill-table.active,
.status-pill-table.open,
.status-pill-table.completed {
  background: #ecfdf5;
  color: #047857;
}

.status-pill-table.inactive,
.status-pill-table.archived,
.status-pill-table.closed {
  background: #e5e7eb;
  color: #4b5563;
}

.status-pill-table.inprogress,
.status-pill-table.issued {
  background: #dbeafe;
  color: #1d4ed8;
}

.row-actions {
  white-space: nowrap;
}

.row-actions a {
  color: var(--dj-primary);
  display: inline-flex;
  margin-inline-start: 10px;
}

.client-list-metrics {
  display: grid;
  gap: 28px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.client-list-metrics article {
  align-items: center;
  background: var(--dj-surface-low);
  box-shadow: var(--dj-shadow);
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) 60px;
  min-height: 138px;
  padding: 28px;
}

.client-list-metrics article > span {
  align-items: center;
  background: var(--dj-accent);
  color: var(--dj-accent-dark);
  display: flex;
  font-size: 32px;
  grid-row: span 2;
  height: 60px;
  justify-content: center;
  width: 60px;
}

.client-list-metrics strong {
  color: var(--dj-primary);
  font-size: 30px;
}

.client-list-metrics p {
  margin: 0;
}

.client-list-metrics .financial-card {
  background: var(--dj-primary-2);
  color: #fff;
  display: block;
}

.financial-card small {
  color: #aeb9c9;
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.financial-card strong {
  color: #fff;
  display: block;
  font-size: 32px;
  margin-top: 18px;
}

.client-profile-page {
  display: grid;
  gap: 26px;
}

.client-profile-hero {
  align-items: start;
  display: flex;
  justify-content: space-between;
  gap: 24px;
}

.client-profile-meta {
  align-items: center;
  color: var(--dj-muted);
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
}

.client-profile-meta span {
  background: var(--dj-accent);
  color: var(--dj-accent-dark);
  font-size: 11px;
  font-weight: 800;
  padding: 5px 12px;
  text-transform: uppercase;
}

.profile-kpis {
  display: flex;
  gap: 20px;
}

.profile-kpis article {
  background: var(--dj-surface);
  box-shadow: var(--dj-shadow);
  min-width: 220px;
  padding: 24px;
}

.profile-kpis span,
.profile-kpis small {
  color: var(--dj-muted);
  display: block;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.profile-kpis strong {
  color: var(--dj-primary);
  display: block;
  font-size: 28px;
  margin: 8px 0;
}

.client-profile-tabs {
  border-bottom: 1px solid var(--dj-surface-highest);
  display: flex;
  gap: 46px;
  justify-content: flex-end;
}

.client-profile-tabs a {
  color: #28313d;
  font-weight: 700;
  padding: 16px 4px 20px;
}

.client-profile-tabs .active {
  border-bottom: 2px solid var(--dj-accent-dark);
  color: var(--dj-accent-dark);
}

.client-profile-grid {
  align-items: start;
  direction: ltr;
  display: grid;
  gap: 30px;
  grid-template-columns: 380px minmax(0, 1fr);
}

.client-profile-side,
.client-profile-main {
  direction: rtl;
  display: grid;
  gap: 24px;
}

.relationship-card {
  background: var(--dj-primary-2);
  color: #fff;
  overflow: hidden;
  padding: 34px;
  position: relative;
}

.relationship-card small {
  color: #aeb9c9;
  display: block;
  font-weight: 800;
  letter-spacing: .12em;
  margin-bottom: 24px;
  text-transform: uppercase;
}

.relationship-card > div {
  align-items: center;
  display: flex;
  gap: 16px;
  margin-bottom: 24px;
}

.relationship-card strong {
  display: block;
  font-size: 20px;
}

.relationship-card p {
  color: #b9c6d8;
  margin: 5px 0 0;
}

.relationship-card button {
  background: var(--dj-accent-dark);
  border: 0;
  color: #fff;
  display: block;
  font-weight: 800;
  margin-top: 12px;
  padding: 13px;
  width: 100%;
}

.relationship-card .ghost {
  background: transparent;
  border: 1px solid rgba(255,255,255,.18);
}

.compliance-card,
.profile-info-card,
.profile-activity-card {
  background: var(--dj-surface);
  box-shadow: var(--dj-shadow);
  padding: 30px;
}

.compliance-card {
  background: var(--dj-surface-high);
}

.compliance-card h3,
.profile-info-card h3,
.profile-activity-card h3 {
  color: var(--dj-primary);
  font-size: 20px;
  font-weight: 800;
  margin: 0;
}

.compliance-card dl,
.profile-info-card dl {
  display: grid;
  gap: 18px;
  margin: 24px 0 0;
}

.compliance-card div,
.profile-info-card dl div {
  display: flex;
  justify-content: space-between;
  gap: 18px;
}

.profile-info-card dl {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.profile-info-card .wide {
  grid-column: 1 / -1;
}

.profile-info-card .wide,
.profile-info-card dl div {
  display: grid;
}

.compliance-card dt,
.profile-info-card dt {
  color: var(--dj-muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.compliance-card dd,
.profile-info-card dd {
  color: var(--dj-primary);
  font-weight: 800;
  margin: 0;
}

.verified {
  color: #059669 !important;
}

.profile-map {
  height: 196px;
  overflow: hidden;
  position: relative;
}

.profile-map img {
  filter: grayscale(1);
  height: 100%;
  object-fit: cover;
  opacity: .64;
  width: 100%;
}

.profile-map span {
  background: #fff;
  border-radius: 999px;
  bottom: 24px;
  color: var(--dj-primary);
  font-size: 12px;
  font-weight: 800;
  left: 50%;
  padding: 8px 16px;
  position: absolute;
  transform: translateX(-50%);
  white-space: nowrap;
}

.profile-info-card header,
.profile-activity-card header {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 26px;
}

.profile-info-card header a,
.profile-activity-card header a {
  align-items: center;
  color: var(--dj-accent-dark);
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  gap: 6px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.stitch-table.compact th,
.stitch-table.compact td {
  padding: 16px 20px;
}

.case-portfolio-page {
  display: grid;
  gap: 28px;
}

.case-stats-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.case-stats-grid article {
  background: var(--dj-surface);
  border-inline-end: 4px solid var(--dj-primary);
  box-shadow: var(--dj-shadow);
  min-height: 132px;
  padding: 28px;
  position: relative;
}

.case-stats-grid article:nth-child(2) {
  border-inline-end-color: var(--dj-accent-dark);
}

.case-stats-grid article.urgent {
  border-inline-end-color: #b91c1c;
}

.case-stats-grid span {
  color: #aeb6c3;
  font-size: 34px;
  position: absolute;
  top: 26px;
  inset-inline-start: 28px;
}

.case-stats-grid small {
  color: #0b1733;
  display: block;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.case-stats-grid strong {
  color: var(--dj-primary);
  display: block;
  font-size: 34px;
  font-weight: 900;
  margin-top: 18px;
}

.case-portfolio-grid {
  align-items: start;
  direction: ltr;
  display: grid;
  gap: 28px;
  grid-template-columns: 310px minmax(0, 1fr);
}

.case-portfolio-grid > * {
  direction: rtl;
}

.advanced-filter-card {
  background: var(--dj-surface);
  box-shadow: var(--dj-shadow);
  padding: 28px;
  position: sticky;
  top: 96px;
}

.filter-card-title {
  align-items: flex-start;
  display: flex;
  gap: 14px;
  margin-bottom: 24px;
}

.filter-card-title > span {
  background: var(--dj-surface-high);
  color: var(--dj-accent-dark);
  padding: 10px;
}

.filter-card-title h2 {
  color: var(--dj-primary);
  font-size: 18px;
  font-weight: 900;
  margin: 0;
}

.filter-card-title p {
  color: var(--dj-muted);
  font-size: 13px;
  line-height: 1.7;
  margin: 6px 0 0;
}

.case-filter-form {
  display: grid;
  gap: 16px;
}

.case-filter-form label,
.case-dark-panel label,
.case-field {
  display: grid;
  gap: 8px;
}

.case-filter-form span,
.case-dark-panel label span,
.case-field > span:first-child {
  color: #1d2633;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.case-filter-form input,
.case-filter-form select,
.case-dark-panel select,
.case-field input,
.case-field select {
  background: #fff;
  border: 0;
  border-bottom: 1px solid #b8c0ce;
  border-radius: 0;
  color: var(--dj-primary);
  min-height: 48px;
  padding: 10px 2px;
  width: 100%;
}

.case-filter-form input:focus,
.case-filter-form select:focus,
.case-dark-panel select:focus,
.case-field input:focus,
.case-field select:focus {
  border-bottom-color: var(--dj-accent-dark);
  box-shadow: none;
  outline: none;
}

/* "إضافة قضية جديدة" basic-info panel: force every field (text, dropdown,
   date) to the exact same box height/shape. min-height alone let the
   browser's native select-arrow and date-picker calendar icon push each
   control to a slightly different rendered height/width. */
.case-basic-panel .case-field input,
.case-basic-panel .case-field select {
  height: 48px;
  padding-inline: 2px;
  -webkit-appearance: none;
  appearance: none;
}

.case-basic-panel .case-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%235f6b7a'%3E%3Cpath d='M5.5 7.5l4.5 5 4.5-5z'/%3E%3C/svg%3E");
  background-position: left 2px center;
  background-repeat: no-repeat;
  background-size: 16px;
  padding-left: 22px;
}

.case-basic-panel .case-field input[type="date"] {
  padding-inline-end: 4px;
}

.case-ai-card {
  background: var(--dj-primary);
  color: #fff;
  margin-top: 24px;
  padding: 22px;
}

.case-ai-card > span {
  color: var(--dj-accent);
}

.case-ai-card h3 {
  font-size: 18px;
  font-weight: 900;
  margin: 10px 0;
}

.case-ai-card p {
  color: #cbd5e1;
  line-height: 1.8;
  margin: 0;
}

.bulk-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.bulk-actions button {
  background: var(--dj-surface-high);
  border: 0;
  color: var(--dj-primary);
  font-size: 12px;
  font-weight: 800;
  padding: 10px 14px;
}

.bulk-actions.compact .stitch-btn {
  min-height: 42px;
  padding: 10px 16px;
}

.case-open-cell {
  min-width: 132px;
}

.case-open-btn {
  align-items: center;
  background: var(--dj-primary);
  color: #fff;
  display: inline-flex;
  font-size: 13px;
  font-weight: 900;
  gap: 6px;
  padding: 10px 12px;
  text-decoration: none;
  white-space: nowrap;
}

.case-open-btn:hover {
  color: #fff;
  background: var(--dj-accent-dark);
}

.case-open-btn .material-symbols-outlined {
  font-size: 18px;
}

.case-table-link {
  color: var(--dj-primary);
  display: inline-block;
  font-weight: 900;
  text-decoration: none;
}

.case-table-link:hover {
  color: var(--dj-accent-dark);
  text-decoration: underline;
}

.case-table-link.strong {
  font-size: 16px;
}

.case-portfolio-table td small {
  color: var(--dj-muted);
  display: block;
  font-size: 12px;
  margin-top: 4px;
}

.case-portfolio-table .wide {
  min-width: 260px;
}

.priority-pill,
.status-pill,
.case-obligation {
  background: var(--dj-surface-high);
  color: var(--dj-primary);
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  margin: 2px;
  padding: 7px 10px;
}

.priority-pill.warning {
  background: #ffe6b0;
  color: #6d4a00;
}

.priority-pill.danger {
  background: #fee2e2;
  color: #991b1b;
}

.priority-pill.muted {
  background: #e5edf7;
  color: #516172;
}

.row-actions {
  white-space: nowrap;
}

.row-actions a {
  color: var(--dj-accent-dark);
  font-size: 13px;
  font-weight: 900;
  margin-inline-start: 12px;
}

.case-create-shell {
  display: grid;
  gap: 22px;
}

.case-create-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
}

.case-create-shell .client-create-hero {
  align-items: center;
  padding: 4px 0;
}

.case-validation {
  grid-column: 1 / -1;
}

.case-panel,
.case-dark-panel {
  box-shadow: var(--dj-shadow);
  padding: 26px;
}

.case-panel {
  background: var(--dj-surface);
  grid-column: span 8;
}

.case-basic-panel {
  grid-column: 1 / -1;
  order: 1;
}

.case-dark-panel {
  background: var(--dj-primary);
  color: #fff;
  grid-column: 1 / -1;
  order: 2;
}

.case-panel header,
.case-dark-panel header {
  align-items: center;
  border-bottom: 1px solid var(--dj-surface-highest);
  display: flex;
  gap: 12px;
  margin-bottom: 28px;
  padding-bottom: 20px;
}

.case-dark-panel header {
  border-bottom-color: rgba(255,255,255,.14);
}

.case-panel header span,
.case-dark-panel header span {
  color: var(--dj-accent-dark);
}

.case-dark-panel header span {
  color: var(--dj-accent);
}

.case-panel h2,
.case-dark-panel h2 {
  color: var(--dj-primary);
  font-size: 19px;
  font-weight: 900;
  margin: 0;
}

.case-dark-panel h2 {
  color: #fff;
}

.case-field-grid {
  display: grid;
  gap: 18px 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.case-field.wide {
  grid-column: 1 / -1;
}

.case-basic-panel .case-field-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.case-field-span-2 {
  grid-column: span 2;
}

.case-field input::placeholder {
  color: #bdc8d6;
}

.case-dark-panel {
  display: grid;
  gap: 22px;
}

.case-assignment-panel {
  align-items: end;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px 24px;
  padding: 22px 26px 26px;
}

.case-assignment-panel header {
  grid-column: 1 / -1;
  margin-bottom: 0;
  padding-bottom: 14px;
}

.case-assignment-panel label {
  min-width: 0;
}

.case-assignment-panel select {
  min-height: 44px;
  padding-block: 8px;
}

.case-dark-panel label span {
  color: #d7dfec;
}

.case-dark-panel select {
  background: rgba(255,255,255,.06);
  border-bottom-color: rgba(255,255,255,.24);
  color: #fff;
}

.case-dark-panel option {
  color: #0b1733;
}

.case-risk-meter {
  background: rgba(255,255,255,.06);
  margin-top: 4px;
  padding: 20px;
}

.case-risk-meter small {
  color: #b8c4d6;
  display: block;
  font-weight: 800;
}

.case-risk-meter strong {
  display: block;
  font-size: 24px;
  margin: 8px 0 14px;
}

.case-risk-meter span {
  background: linear-gradient(90deg, var(--dj-accent-dark) 58%, rgba(255,255,255,.2) 58%);
  display: block;
  height: 7px;
}

.case-parties-panel,
.case-upload-panel {
  grid-column: span 6;
}

.case-parties-panel {
  order: 3;
}

.case-financial-panel {
  grid-column: span 6;
  order: 4;
}

.case-financial-panel .case-field-grid,
.case-parties-panel .case-field-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.case-detail-panel {
  min-width: 0;
  padding: 24px;
  border: 1px solid #dce4ef;
  border-top: 4px solid var(--dj-accent-dark);
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(5, 28, 62, .08);
}

.case-detail-panel header {
  align-items: flex-start;
  margin-bottom: 24px;
  padding-bottom: 18px;
}

.case-detail-panel header > .material-symbols-outlined {
  display: grid;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 12px;
  background: #fff6dd;
  font-size: 25px;
}

.case-detail-panel header div {
  display: grid;
  gap: 5px;
}

.case-detail-panel header small {
  color: var(--dj-muted);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
}

.case-detail-panel .case-field-grid {
  gap: 22px 24px;
}

.case-detail-panel .case-field {
  min-width: 0;
}

.case-detail-panel .case-field > span:first-child {
  min-height: 24px;
}

.case-detail-panel .case-field input {
  width: 100%;
}

.case-litigation-panel {
  border-top-color: var(--dj-primary);
}

.case-financial-panel {
  border-top-color: #8b650d;
}

.case-financial-panel .case-field.wide input {
  max-width: none;
}

.case-lawsuit-date {
  margin-top: 2px;
  padding-top: 18px;
  border-top: 1px dashed #dce4ef;
}

.case-upload-panel,
.case-procedure-panel {
  order: 5;
}

.case-form-footer {
  order: 6;
}

.pwa-install-banner {
  position: fixed;
  inset-inline-start: 24px;
  bottom: 24px;
  z-index: 1600;
  width: min(680px, calc(100vw - 48px));
  display: grid;
  grid-template-columns: 64px minmax(220px, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 16px 18px;
  color: #fff;
  background: #061b3d;
  border: 1px solid rgba(214, 158, 28, .6);
  border-radius: 18px;
  box-shadow: 0 20px 55px rgba(0, 17, 45, .28);
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .2s ease, transform .2s ease;
}

.pwa-install-banner[hidden] {
  display: none;
}

.pwa-install-banner.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.pwa-install-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #dc9900;
  color: #fff;
}

.pwa-install-icon .material-symbols-outlined {
  font-size: 34px;
}

.pwa-install-copy {
  display: grid;
  gap: 4px;
}

.pwa-install-copy strong {
  font-size: 18px;
  font-weight: 900;
}

.pwa-install-copy small {
  color: #c8d3e3;
  line-height: 1.6;
}

.pwa-install-actions {
  display: flex;
  gap: 10px;
}

.pwa-install-actions button {
  min-height: 46px;
  padding: 0 22px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, .22);
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}

.pwa-install-primary {
  background: #dc9900;
}

.pwa-install-later {
  background: #243a59;
}

.pwa-install-actions button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

@media (max-width: 1100px) {
  .case-basic-panel .case-field-grid,
  .case-assignment-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .case-financial-panel,
  .case-parties-panel {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .case-basic-panel .case-field-grid,
  .case-assignment-panel,
  .case-financial-panel .case-field-grid,
  .case-parties-panel .case-field-grid {
    grid-template-columns: 1fr;
  }

  .case-field-span-2 {
    grid-column: auto;
  }

  .case-panel,
  .case-dark-panel {
    padding: 20px 16px;
  }

  .case-detail-panel {
    padding: 22px 18px;
    border-radius: 14px;
  }

  .pwa-install-banner {
    inset-inline: 12px;
    bottom: 12px;
    width: auto;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
  }

  .pwa-install-icon {
    width: 46px;
    height: 46px;
  }

  .pwa-install-copy strong {
    font-size: 15px;
  }

  .pwa-install-copy small {
    display: none;
  }

  .pwa-install-actions {
    grid-column: 1 / -1;
  }

  .pwa-install-actions button {
    flex: 1;
  }
}

.case-party-card {
  align-items: flex-start;
  background: var(--dj-surface-high);
  display: flex;
  gap: 16px;
  padding: 20px;
}

.case-party-card + .case-party-card {
  margin-top: 16px;
}

.case-party-card span {
  color: var(--dj-accent-dark);
}

.case-party-card strong {
  color: var(--dj-primary);
  display: block;
  font-weight: 900;
}

.case-party-card p {
  color: var(--dj-muted);
  line-height: 1.7;
  margin: 6px 0 0;
}

.case-party-card.muted {
  background: #f3f6fb;
}

.case-stage-note {
  background: var(--dj-surface-high);
  color: var(--dj-muted);
  display: grid;
  gap: 12px;
  min-height: 185px;
  padding: 24px;
}

.case-stage-note span {
  color: var(--dj-accent-dark);
  font-size: 34px;
}

.case-stage-note strong {
  color: var(--dj-primary);
  font-size: 18px;
  font-weight: 900;
}

.case-stage-note p {
  line-height: 1.8;
  margin: 0;
}

.case-procedure-panel {
  grid-column: 1 / -1;
}

.procedure-command-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 24px;
}

.procedure-command-grid article {
  background: var(--dj-surface-high);
  min-height: 150px;
  padding: 22px;
  position: relative;
}

.procedure-command-grid strong {
  color: var(--dj-primary);
  display: block;
  font-size: 17px;
  font-weight: 900;
}

.procedure-command-grid p {
  color: var(--dj-muted);
  line-height: 1.7;
  margin: 10px 0 0;
  max-width: 220px;
}

.procedure-command-grid span {
  bottom: 18px;
  color: var(--dj-accent-dark);
  font-size: 34px;
  inset-inline-start: 18px;
  position: absolute;
}

.legacy-procedure-preview {
  background: #f8fafc;
  border: 1px solid #dce4ef;
  overflow: hidden;
}

.procedure-toolbar {
  align-items: center;
  background: var(--dj-surface-highest);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px;
}

.procedure-toolbar button {
  background: #fff;
  border: 1px solid #c8d2df;
  color: var(--dj-primary);
  font-size: 12px;
  font-weight: 900;
  min-width: 68px;
  padding: 7px 10px;
}

.legacy-procedure-preview table {
  border-collapse: collapse;
  color: var(--dj-primary);
  font-size: 13px;
  width: 100%;
}

.legacy-procedure-preview th,
.legacy-procedure-preview td {
  border: 1px solid #c8d2df;
  padding: 10px;
}

.legacy-procedure-preview th {
  background: #eef3fa;
  font-weight: 900;
}

/* Compact case-create layout: balanced fields without empty half rows. */
@media (min-width: 1101px) {
  .case-basic-panel .case-field-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .case-basic-panel .case-field.wide {
    grid-column: span 3;
  }

  .case-basic-panel .case-client-picker {
    grid-column: span 1;
  }
}

.case-basic-panel {
  padding: 22px 24px;
}

.case-basic-panel header {
  margin-bottom: 18px;
  padding-bottom: 14px;
}

.case-basic-panel .case-field-grid {
  gap: 14px 18px;
}

.case-client-picker-head {
  justify-content: flex-start;
}

.case-client-picker-head .case-inline-toggle {
  height: 30px;
  min-width: 30px;
  border-radius: 7px;
}

.case-client-picker-head .case-inline-toggle .material-symbols-outlined {
  font-size: 19px;
}

.case-client-picker .case-client-selected {
  min-height: 18px;
}

.case-inline-client {
  grid-column: 1 / -1;
}

.case-upload-panel {
  grid-column: 7 / 13;
  padding: 16px 20px;
}

.case-upload-panel header {
  margin-bottom: 12px;
  padding-bottom: 12px;
}

.case-stage-note {
  align-items: center;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: 10px 14px;
  min-height: 0;
  padding: 14px 16px;
}

.case-stage-note span {
  font-size: 25px;
}

.case-stage-note strong {
  font-size: 15px;
  white-space: nowrap;
}

.case-stage-note p {
  font-size: 13px;
  line-height: 1.65;
}

.case-stage-transfer {
  align-items: end;
  background: var(--dj-surface-high);
  border: 1px solid var(--dj-border);
  border-radius: 14px;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(220px, .7fr) minmax(500px, 1.3fr);
  margin-bottom: 24px;
  padding: 18px;
}

.case-stage-transfer > div,
.case-stage-transfer form {
  align-items: end;
  display: flex;
  gap: 14px;
}

.case-stage-transfer h3,
.case-stage-transfer p {
  margin: 0;
}

.case-stage-transfer h3 {
  color: var(--dj-primary);
  font-size: 20px;
  margin-bottom: 5px;
}

.case-stage-transfer > div > .material-symbols-outlined {
  color: var(--dj-accent-dark);
  font-size: 32px;
}

.case-stage-transfer form {
  display: grid;
  grid-template-columns: minmax(170px, .7fr) minmax(220px, 1fr) auto;
}

.case-stage-transfer label {
  display: grid;
  font-weight: 700;
  gap: 6px;
}

.case-stage-transfer label > span {
  font-size: 13px;
}

@media (max-width: 1100px) {
  .case-upload-panel {
    grid-column: 1 / -1;
  }

  .case-stage-transfer,
  .case-stage-transfer form {
    grid-template-columns: 1fr;
  }
}

.case-procedure-panel {
  padding: 22px 24px;
}

.case-procedure-panel > header {
  margin-bottom: 18px;
  padding-bottom: 14px;
}

.procedure-command-grid {
  gap: 12px;
  margin-bottom: 16px;
}

.procedure-command-grid article {
  min-height: 112px;
  padding: 16px 18px;
}

.procedure-command-grid strong {
  font-size: 15px;
}

.procedure-command-grid p {
  font-size: 13px;
  line-height: 1.55;
  margin-top: 6px;
  padding-inline-start: 32px;
}

.procedure-command-grid span {
  bottom: 14px;
  font-size: 27px;
  inset-inline-start: 14px;
}

.legacy-procedure-preview th,
.legacy-procedure-preview td {
  padding: 8px 10px;
}

@media (max-width: 1100px) {
  .case-basic-panel .case-field.wide {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .case-stage-note {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .case-stage-note p {
    grid-column: 1 / -1;
  }
}

.case-procedure-workspace {
  display: grid;
  gap: 20px;
}

.procedure-action-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.procedure-action-strip a,
.procedure-action-strip button {
  align-items: center;
  background: var(--dj-primary);
  border: 0;
  color: #fff;
  display: inline-flex;
  font-size: 13px;
  font-weight: 900;
  gap: 8px;
  padding: 12px 14px;
  text-decoration: none;
  cursor: pointer;
}

.procedure-action-strip a:nth-child(2),
.procedure-action-strip a:nth-child(5),
.procedure-action-strip button:nth-child(2),
.procedure-action-strip button:nth-child(5) {
  background: var(--dj-accent-dark);
}

.dj-modal-content {
  border: 1px solid #d9e1ee;
  border-radius: 8px;
  box-shadow: 0 30px 80px rgba(10, 31, 68, 0.24);
}

.dj-modal-content .modal-header,
.dj-modal-content .modal-footer {
  border-color: #e4eaf3;
}

.procedure-lanes {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.procedure-lanes article {
  background: var(--dj-surface-high);
  border-top: 3px solid var(--dj-accent-dark);
  padding: 18px;
}

.procedure-lanes header {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 14px;
}

.procedure-lanes header strong {
  color: var(--dj-primary);
  font-size: 17px;
  font-weight: 900;
}

.procedure-lanes header span {
  background: #fff;
  color: var(--dj-primary);
  font-size: 12px;
  font-weight: 900;
  padding: 5px 10px;
}

.procedure-mini-table {
  display: grid;
  gap: 8px;
}

.procedure-mini-table div {
  align-items: center;
  background: #fff;
  display: grid;
  gap: 12px;
  grid-template-columns: 110px 1fr auto;
  min-height: 48px;
  padding: 10px 12px;
}

.procedure-mini-table time {
  color: var(--dj-accent-dark);
  font-size: 12px;
  font-weight: 900;
}

.procedure-mini-table p {
  color: var(--dj-primary);
  font-weight: 800;
  margin: 0;
}

.procedure-mini-table small {
  color: var(--dj-muted);
  font-size: 11px;
  font-weight: 900;
}

.procedure-mini-table .empty {
  grid-template-columns: 1fr;
}

.procedure-mini-table .empty p {
  color: var(--dj-muted);
}

.upload-drop-preview {
  align-items: center;
  border: 2px dashed #d5dde8;
  color: var(--dj-muted);
  display: grid;
  justify-items: center;
  min-height: 185px;
  padding: 28px;
  text-align: center;
}

.upload-drop-preview span {
  color: var(--dj-primary);
  font-size: 42px;
}

.upload-drop-preview strong {
  color: var(--dj-primary);
  display: block;
  font-weight: 900;
  margin-top: 10px;
}

.upload-drop-preview p {
  line-height: 1.7;
  margin: 8px auto 0;
  max-width: 430px;
}

.case-form-footer {
  display: flex;
  gap: 14px;
  grid-column: 1 / -1;
  justify-content: flex-end;
}

.hearing-schedule-page,
.task-board-page {
  display: grid;
  gap: 28px;
}

.hearing-stats,
.task-board-summary {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hearing-stats article,
.task-board-summary article {
  background: var(--dj-surface-high);
  border-inline-end: 4px solid var(--dj-accent-dark);
  padding: 24px;
}

.hearing-stats small,
.task-board-summary small {
  color: var(--dj-muted);
  display: block;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.hearing-stats strong,
.task-board-summary strong {
  color: var(--dj-primary);
  display: block;
  font-size: 32px;
  font-weight: 900;
  margin-top: 10px;
}

.hearing-filter-bar,
.task-filter-bar {
  display: grid;
  grid-template-columns: 1.5fr repeat(4, 1fr) auto;
}

.hearing-filter-bar {
  grid-template-columns: 2fr 1fr 1fr 1fr auto;
}

.hearing-filter-bar label,
.task-filter-bar label {
  display: grid;
  gap: 6px;
}

.hearing-filter-bar label span,
.task-filter-bar label span {
  color: var(--dj-muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hearing-filter-bar input,
.hearing-filter-bar select,
.task-filter-bar input,
.task-filter-bar select {
  background: #fff;
  border: 0;
  border-bottom: 1px solid #c3cad6;
  min-height: 42px;
  padding: 8px 2px;
}

.hearing-layout {
  align-items: start;
  direction: ltr;
  display: grid;
  gap: 28px;
  grid-template-columns: 300px minmax(0, 1fr);
}

.hearing-layout > * {
  direction: rtl;
}

.court-agenda {
  background: var(--dj-surface-high);
  box-shadow: var(--dj-shadow);
  padding: 28px;
}

.court-agenda header {
  align-items: center;
  display: flex;
  gap: 12px;
  margin-bottom: 22px;
}

.court-agenda header span {
  background: #fff;
  color: var(--dj-accent-dark);
  padding: 10px;
}

.court-agenda h2 {
  color: var(--dj-primary);
  font-size: 20px;
  font-weight: 900;
  margin: 0;
}

.court-agenda article {
  border-inline-start: 1px solid #d0d9e6;
  padding: 0 18px 24px 0;
  position: relative;
}

.court-agenda article::before {
  background: var(--dj-accent-dark);
  border-radius: 50%;
  content: "";
  height: 8px;
  position: absolute;
  right: -4px;
  top: 4px;
  width: 8px;
}

.court-agenda small {
  color: var(--dj-accent-dark);
  display: block;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.court-agenda strong {
  color: var(--dj-primary);
  display: block;
  font-weight: 900;
  margin-top: 8px;
}

.court-agenda article span {
  color: var(--dj-muted);
  display: block;
  font-size: 13px;
  margin-top: 5px;
}

.task-kanban {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(4, minmax(250px, 1fr));
}

.task-column {
  background: var(--dj-surface-high);
  min-height: 420px;
  padding: 18px;
}

.task-column header {
  border-bottom: 2px solid var(--dj-primary);
  margin-bottom: 18px;
  padding-bottom: 14px;
}

.task-column header span {
  color: var(--dj-muted);
  display: block;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.task-column header strong {
  color: var(--dj-primary);
  font-size: 16px;
  font-weight: 900;
}

.task-column.progress header {
  border-bottom-color: #0b1733;
}

.task-column.overdue header {
  border-bottom-color: #b91c1c;
}

.task-column.done header {
  border-bottom-color: #16a34a;
}

.task-cards {
  display: grid;
  gap: 14px;
}

.task-card {
  background: var(--dj-surface);
  box-shadow: var(--dj-shadow);
  min-height: 150px;
  padding: 20px;
}

.task-card small {
  color: var(--dj-accent-dark);
  display: block;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.task-card h3 {
  color: var(--dj-primary);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.45;
  margin: 10px 0 8px;
}

.task-card p {
  color: var(--dj-muted);
  font-size: 13px;
  line-height: 1.6;
  margin: 0;
}

.task-card footer {
  color: #718097;
  display: flex;
  font-size: 12px;
  gap: 10px;
  justify-content: space-between;
  margin-top: 18px;
}

.task-table-fallback {
  margin-top: 6px;
}

.document-library-page {
  display: grid;
  gap: 30px;
}

.document-library-grid {
  align-items: start;
  direction: ltr;
  display: grid;
  gap: 28px;
  grid-template-columns: 300px minmax(0, 1fr);
}

.document-library-grid > * {
  direction: rtl;
}

.vault-sidebar {
  display: grid;
  gap: 22px;
  position: sticky;
  top: 96px;
}

.vault-sidebar section {
  background: var(--dj-surface-high);
  box-shadow: var(--dj-shadow);
  padding: 26px;
}

.vault-sidebar h2 {
  color: var(--dj-muted);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  margin: 0 0 18px;
  text-transform: uppercase;
}

.vault-sidebar a {
  align-items: center;
  background: transparent;
  color: var(--dj-primary);
  display: grid;
  gap: 12px;
  grid-template-columns: auto 1fr auto;
  margin-bottom: 8px;
  padding: 14px;
}

.vault-sidebar a.active,
.vault-sidebar a:hover {
  background: #fff;
  box-shadow: var(--dj-shadow);
}

.vault-sidebar a span {
  color: var(--dj-accent-dark);
}

.vault-sidebar a strong {
  background: var(--dj-surface-highest);
  color: var(--dj-primary);
  font-size: 12px;
  padding: 4px 8px;
}

.vault-health {
  background: var(--dj-primary) !important;
  color: #fff;
}

.vault-health span {
  color: var(--dj-accent);
}

.vault-health strong {
  display: block;
  font-size: 18px;
  font-weight: 900;
  margin: 12px 0 8px;
}

.vault-health p {
  color: #cbd5e1;
  line-height: 1.8;
  margin: 0;
}

.document-library-main {
  display: grid;
  gap: 24px;
}

.document-filter-bar {
  display: grid;
  grid-template-columns: 1.5fr repeat(4, 1fr) auto;
}

.document-filter-bar label {
  display: grid;
  gap: 6px;
}

.document-filter-bar label span {
  color: var(--dj-muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.document-filter-bar input,
.document-filter-bar select {
  background: #fff;
  border: 0;
  border-bottom: 1px solid #c3cad6;
  min-height: 42px;
  padding: 8px 2px;
}

.document-cards {
  display: grid;
  gap: 18px;
}

.document-card {
  background: var(--dj-surface);
  box-shadow: var(--dj-shadow);
  display: grid;
  gap: 22px;
  grid-template-columns: 74px minmax(0, 1fr);
  padding: 24px;
}

.document-icon {
  align-items: center;
  background: var(--dj-surface-high);
  color: var(--dj-primary);
  display: grid;
  height: 58px;
  justify-items: center;
  width: 58px;
}

.document-icon span {
  font-size: 32px;
}

.document-card-body {
  display: grid;
  gap: 16px;
}

.document-card header,
.document-card footer {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.document-card h2 {
  color: var(--dj-primary);
  font-size: 19px;
  font-weight: 900;
  line-height: 1.4;
  margin: 0;
}

.document-card p {
  color: var(--dj-muted);
  margin: 6px 0 0;
}

.doc-version {
  background: var(--dj-accent);
  color: var(--dj-accent-dark);
  font-size: 12px;
  font-weight: 900;
  padding: 7px 12px;
}

.document-card dl {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}

.document-card dt {
  color: var(--dj-muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.document-card dd {
  color: var(--dj-primary);
  font-weight: 800;
  margin: 4px 0 0;
}

.document-card footer small {
  color: var(--dj-muted);
  font-weight: 800;
  margin-inline-end: auto;
}

/* Document vault: case-folder first information architecture. */
.document-vault-page {
  direction: rtl;
  display: grid;
  gap: 22px;
}

.document-vault-hero {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.document-vault-hero h1 {
  color: var(--dj-primary);
  font-size: clamp(32px, 3vw, 48px);
  font-weight: 900;
  line-height: 1.12;
  margin: 6px 0 12px;
}

.document-vault-hero p {
  color: #334155;
  font-size: 16px;
  margin: 0;
  max-width: 860px;
}

.document-vault-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-start;
}

.document-vault-filter {
  align-items: end;
  background: var(--dj-surface);
  border: 1px solid var(--dj-border);
  box-shadow: var(--dj-shadow);
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(260px, 1.6fr) repeat(4, minmax(140px, 1fr)) auto;
  padding: 18px;
}

.document-vault-filter label {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.document-vault-filter label span {
  color: #475569;
  font-size: 12px;
  font-weight: 900;
}

.document-vault-filter input,
.document-vault-filter select {
  background: var(--dj-surface-high);
  border: 0;
  border-bottom: 1px solid #b8c2d1;
  color: var(--dj-primary);
  min-height: 46px;
  padding: 8px 10px;
  width: 100%;
}

.document-vault-summary {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.document-vault-summary article {
  align-items: center;
  background: var(--dj-surface);
  border-inline-start: 4px solid var(--dj-primary);
  display: flex;
  gap: 18px;
  min-height: 104px;
  padding: 18px;
}

.document-vault-summary article:nth-child(2) { border-inline-start-color: var(--dj-accent-dark); }
.document-vault-summary article:nth-child(3) { border-inline-start-color: #0f766e; }
.document-vault-summary article:nth-child(4) { border-inline-start-color: #b91c1c; }

.document-vault-summary .material-symbols-outlined {
  color: #9aa8bb;
  font-size: 34px;
}

.document-vault-summary strong,
.document-vault-summary small {
  display: block;
}

.document-vault-summary strong {
  color: var(--dj-primary);
  font-size: 32px;
  line-height: 1;
}

.document-vault-summary small {
  color: #64748b;
  font-weight: 800;
  margin-top: 6px;
}

.case-folder-list {
  display: grid;
  gap: 18px;
}

.case-folder-card {
  background: var(--dj-surface);
  border: 1px solid var(--dj-border);
  box-shadow: var(--dj-shadow);
  overflow: hidden;
}

.case-folder-header {
  align-items: center;
  background: linear-gradient(90deg, #f8fbff, #eef4fb);
  border-bottom: 1px solid var(--dj-border);
  display: grid;
  gap: 16px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 20px;
}

.case-folder-icon {
  align-items: center;
  background: var(--dj-primary);
  color: #fff;
  display: grid;
  height: 58px;
  justify-items: center;
  width: 58px;
}

.case-folder-icon span {
  font-size: 34px;
}

.case-folder-title h2 {
  color: var(--dj-primary);
  font-size: 24px;
  font-weight: 900;
  line-height: 1.25;
  margin: 4px 0 6px;
}

.case-folder-title p {
  color: #475569;
  margin: 0;
}

.case-folder-meta {
  background: var(--dj-surface);
  border-inline-start: 3px solid var(--dj-accent-dark);
  min-width: 150px;
  padding: 13px 16px;
}

.case-folder-meta strong,
.case-folder-meta span {
  display: block;
}

.case-folder-meta strong {
  color: var(--dj-primary);
  font-size: 30px;
  line-height: 1;
}

.case-folder-meta span {
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  margin-top: 7px;
}

.case-folder-context {
  background: #fff;
  border-bottom: 1px solid var(--dj-border);
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.case-folder-context div {
  background: #fff;
  padding: 16px 20px;
}

.case-folder-context span {
  color: #64748b;
  display: block;
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 6px;
}

.case-folder-context strong {
  color: var(--dj-primary);
  display: block;
  overflow-wrap: anywhere;
}

.folder-document-table {
  display: grid;
}

.folder-document-head,
.folder-document-row {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(260px, 1.35fr) minmax(230px, 1.2fr) minmax(170px, .8fr) 120px minmax(190px, auto);
  padding: 14px 20px;
}

.folder-document-head {
  background: var(--dj-surface-highest);
  color: var(--dj-primary);
  font-size: 12px;
  font-weight: 900;
}

.folder-document-row {
  align-items: center;
  border-top: 1px solid #edf1f6;
}

.folder-document-main {
  align-items: center;
  display: flex;
  gap: 12px;
  min-width: 0;
}

.folder-document-main > span {
  align-items: center;
  background: #eef4fb;
  color: var(--dj-primary);
  display: grid;
  flex: 0 0 44px;
  height: 44px;
  justify-items: center;
  width: 44px;
}

.folder-document-main strong,
.folder-document-main small {
  display: block;
}

.folder-document-main strong {
  color: var(--dj-primary);
  font-weight: 900;
  overflow-wrap: anywhere;
}

.folder-document-main small,
.folder-storage-guide,
.folder-document-row small {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.6;
}

.folder-storage-guide {
  background: #f8fafc;
  border-inline-start: 3px solid var(--dj-accent-dark);
  padding: 9px 12px;
}

.folder-document-row .doc-version {
  display: inline-flex;
  margin-inline-start: 6px;
  padding: 5px 9px;
}

.empty-vault-state {
  background: var(--dj-surface);
  border: 1px dashed #b8c2d1;
  color: var(--dj-primary);
  padding: 44px;
  text-align: center;
}

.empty-vault-state .material-symbols-outlined {
  color: #9aa8bb;
  font-size: 54px;
}

.empty-vault-state h2 {
  font-weight: 900;
}

/* Document center tree mode: folders first, documents after search/filter. */
.document-tree-page {
  direction: rtl;
  display: grid;
  gap: 20px;
}

.document-tree-filter {
  grid-template-columns: minmax(320px, 1.8fr) repeat(4, minmax(150px, 1fr)) auto;
}

.tree-load-notice {
  align-items: center;
  background: #f8fafc;
  border: 1px solid var(--dj-border);
  border-inline-start: 4px solid var(--dj-accent-dark);
  color: #334155;
  display: flex;
  gap: 12px;
  padding: 14px 18px;
}

.tree-load-notice p {
  margin: 0;
}

.tree-load-notice .material-symbols-outlined {
  color: var(--dj-accent-dark);
}

.document-tree {
  display: grid;
  gap: 12px;
}

.document-tree-node {
  background: var(--dj-surface);
  border: 1px solid var(--dj-border);
  box-shadow: var(--dj-shadow);
}

.document-tree-node summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 14px;
  grid-template-columns: 24px 48px minmax(280px, 1.6fr) minmax(180px, 1fr) minmax(150px, .8fr) minmax(110px, auto);
  list-style: none;
  min-height: 78px;
  padding: 14px 18px;
}

.document-tree-node summary::-webkit-details-marker {
  display: none;
}

.tree-toggle {
  color: #64748b;
  transition: transform .18s ease;
}

.document-tree-node[open] .tree-toggle {
  transform: rotate(-90deg);
}

.tree-folder-icon {
  align-items: center;
  background: var(--dj-primary);
  color: #fff;
  display: grid;
  height: 44px;
  justify-items: center;
  width: 44px;
}

.tree-folder-title {
  min-width: 0;
}

.tree-folder-title strong,
.tree-folder-title small {
  display: block;
}

.tree-folder-title strong {
  color: var(--dj-primary);
  font-size: 20px;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.tree-folder-title small {
  color: #64748b;
  font-size: 13px;
  margin-top: 4px;
  overflow-wrap: anywhere;
}

.tree-folder-client,
.tree-folder-stage {
  color: var(--dj-primary);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.tree-folder-stage {
  background: #eef4fb;
  justify-self: start;
  padding: 7px 10px;
}

.tree-folder-count {
  background: var(--dj-accent);
  color: var(--dj-accent-dark);
  font-size: 12px;
  font-weight: 900;
  justify-self: start;
  padding: 7px 10px;
}

.tree-folder-body {
  border-top: 1px solid var(--dj-border);
  display: grid;
  gap: 0;
}

.tree-folder-context {
  background: var(--dj-surface-high);
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.tree-folder-context div {
  background: var(--dj-surface-high);
  padding: 14px 18px;
}

.tree-folder-context span {
  color: #64748b;
  display: block;
  font-size: 11px;
  font-weight: 900;
  margin-bottom: 6px;
}

.tree-folder-context strong {
  color: var(--dj-primary);
  display: block;
  overflow-wrap: anywhere;
}

.tree-lazy-message {
  align-items: center;
  background: #fff;
  color: #334155;
  display: flex;
  gap: 12px;
  padding: 20px;
}

.tree-lazy-message .material-symbols-outlined {
  background: #eef4fb;
  color: var(--dj-primary);
  padding: 10px;
}

.tree-lazy-message strong {
  color: var(--dj-primary);
  display: block;
  font-weight: 900;
}

.tree-lazy-message p {
  color: #64748b;
  margin: 4px 0 0;
}

.tree-folder-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}

.tree-load-link,
.tree-add-link {
  border: 0;
  cursor: pointer;
  background: var(--dj-primary);
  color: #fff;
  display: inline-flex;
  font-weight: 900;
  padding: 9px 14px;
}

.tree-load-link:hover,
.tree-add-link:hover {
  color: #fff;
}

.tree-add-link {
  background: var(--dj-accent);
  color: var(--dj-primary);
}

.tree-add-link:hover {
  color: var(--dj-primary);
}

.case-doc-modal[hidden] {
  display: none;
}

.case-doc-modal {
  direction: rtl;
  inset: 0;
  position: fixed;
  z-index: 2000;
}

.case-doc-modal-backdrop {
  background: rgba(3, 22, 54, .48);
  inset: 0;
  position: absolute;
}

.case-doc-modal-panel {
  background: var(--dj-surface);
  box-shadow: 0 24px 70px rgba(3, 22, 54, .28);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  inline-size: min(980px, calc(100vw - 48px));
  max-block-size: calc(100vh - 70px);
  overflow: hidden;
  position: absolute;
  right: 50%;
  top: 36px;
  transform: translateX(50%);
}

.case-doc-modal-panel > header {
  align-items: center;
  border-bottom: 1px solid var(--dj-border);
  display: flex;
  justify-content: space-between;
  padding: 18px 22px;
}

.case-doc-modal-panel h2 {
  color: var(--dj-primary);
  font-size: 24px;
  font-weight: 900;
  margin: 4px 0 0;
}

.case-doc-modal-panel button {
  align-items: center;
  background: var(--dj-primary);
  border: 0;
  color: #fff;
  display: grid;
  height: 42px;
  justify-items: center;
  width: 42px;
}

.case-doc-modal-content {
  overflow: auto;
  padding: 20px;
}

.document-create-modal-panel {
  inline-size: min(1380px, calc(100vw - 40px));
}

.document-create-modal-panel iframe {
  border: 0;
  block-size: min(760px, calc(100vh - 142px));
  inline-size: 100%;
}

.case-doc-loading,
.case-doc-empty {
  background: var(--dj-surface-high);
  color: var(--dj-primary);
  font-weight: 900;
  padding: 24px;
  text-align: center;
}

.case-doc-empty span {
  color: #94a3b8;
  display: block;
  font-size: 48px;
  margin-bottom: 10px;
}

.case-doc-empty p {
  color: #64748b;
  margin: 8px 0 0;
}

.case-doc-preview-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.case-doc-preview-card {
  background: #fff;
  border: 1px solid var(--dj-border);
  display: grid;
  grid-template-rows: 150px minmax(0, auto);
  overflow: hidden;
}

.case-doc-thumb {
  align-items: center;
  background: #eef4fb;
  color: var(--dj-primary);
  display: grid;
  justify-items: center;
  overflow: hidden;
}

.case-doc-thumb img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.case-doc-thumb span {
  font-size: 54px;
}

.case-doc-preview-body {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.case-doc-preview-body strong {
  color: var(--dj-primary);
  font-weight: 900;
}

.case-doc-preview-body small {
  color: #64748b;
  overflow-wrap: anywhere;
}

.case-doc-preview-body div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.case-doc-preview-body div span {
  background: var(--dj-surface-high);
  color: var(--dj-primary);
  font-size: 12px;
  font-weight: 800;
  padding: 5px 8px;
}

.case-doc-preview-body footer {
  align-items: center;
  border-top: 1px solid var(--dj-border);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 10px;
}

.case-doc-preview-body footer a {
  color: var(--dj-accent-dark);
  font-weight: 900;
}

.case-doc-table-wrap {
  background: #fff;
  border: 1px solid var(--dj-border);
  overflow: auto;
}

.case-doc-table {
  border-collapse: collapse;
  inline-size: 100%;
  min-width: 920px;
}

.case-doc-table th,
.case-doc-table td {
  border-bottom: 1px solid var(--dj-border);
  padding: 13px 14px;
  text-align: right;
  vertical-align: middle;
}

.case-doc-table th {
  background: #eef4fb;
  color: var(--dj-primary);
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.case-doc-table td {
  color: var(--dj-primary);
  font-weight: 800;
}

.case-doc-table td strong,
.case-doc-table td small {
  display: block;
}

.case-doc-table td small {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  margin-top: 4px;
  overflow-wrap: anywhere;
}

.case-doc-date {
  color: var(--dj-accent-dark) !important;
  font-weight: 900 !important;
  white-space: nowrap;
}

.case-doc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.case-doc-actions a {
  color: var(--dj-accent-dark);
  font-weight: 900;
  white-space: nowrap;
}

.case-doc-modal-open {
  overflow: hidden;
}

.case-file-viewer[hidden] {
  display: none;
}

.case-file-viewer {
  direction: rtl;
  inset: 0;
  position: fixed;
  z-index: 2400;
}

.case-file-viewer-backdrop {
  background: rgba(3, 22, 54, .58);
  inset: 0;
  position: absolute;
}

.case-file-viewer-panel {
  background: #fff;
  box-shadow: 0 28px 90px rgba(3, 22, 54, .35);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  inline-size: min(1240px, calc(100vw - 36px));
  block-size: calc(100vh - 36px);
  overflow: hidden;
  position: absolute;
  right: 50%;
  top: 18px;
  transform: translateX(50%);
}

.case-file-viewer-panel header {
  align-items: center;
  background: #f8fbff;
  border-bottom: 1px solid var(--dj-border);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 12px 16px;
}

.case-file-viewer-panel header span {
  color: var(--dj-accent-dark);
  font-size: 12px;
  font-weight: 900;
}

.case-file-viewer-panel h2 {
  color: var(--dj-primary);
  font-size: 22px;
  font-weight: 900;
  margin: 2px 0 0;
}

.case-file-viewer-tools {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}

.case-file-viewer-tools button,
.case-file-viewer-tools a {
  align-items: center;
  background: var(--dj-primary);
  border: 1px solid var(--dj-primary);
  color: #fff;
  display: inline-flex;
  height: 38px;
  justify-content: center;
  min-width: 38px;
  padding: 0;
}

.case-file-viewer-tools .material-symbols-outlined {
  color: inherit;
  font-size: 21px;
}

.case-file-viewer-canvas {
  background: #e9eef6;
  overflow: auto;
  padding: 14px;
}

.case-file-viewer-canvas iframe {
  background: #fff;
  border: 0;
  box-shadow: 0 10px 30px rgba(3, 22, 54, .14);
  display: block;
  height: 100%;
  margin: 0 auto;
  min-height: 720px;
  transform-origin: top center;
  width: 100%;
}

.locked-document-context {
  align-items: center;
  background: #f8fafc;
  border: 1px solid var(--dj-border);
  border-inline-start: 4px solid var(--dj-accent-dark);
  color: var(--dj-primary);
  display: flex;
  gap: 14px;
  padding: 14px 16px;
}

.locked-document-context .material-symbols-outlined {
  background: var(--dj-primary);
  color: #fff;
  padding: 10px;
}

.locked-document-context strong {
  display: block;
  font-weight: 900;
}

.locked-document-context p {
  color: #64748b;
  margin: 4px 0 0;
}

.locked-field {
  background: #eef4fb !important;
  color: var(--dj-primary);
  cursor: not-allowed;
  font-weight: 800;
}

.document-file-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.scan-trigger {
  align-items: center;
  background: var(--dj-accent);
  border: 0;
  color: var(--dj-primary);
  display: inline-flex;
  font-weight: 900;
  gap: 8px;
  padding: 9px 13px;
}

.document-file-actions span:not(.material-symbols-outlined) {
  color: #64748b;
  font-size: 13px;
}

.scanner-source-row {
  align-items: end;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(120px, .45fr) minmax(220px, 1fr) auto;
  margin-top: 10px;
}

.scanner-source-row label {
  color: var(--dj-primary);
  font-size: 13px;
  font-weight: 900;
  padding-bottom: 8px;
}

.popup-form-body {
  background: #f3f7fc;
  padding: 18px;
}

.popup-form-body .document-create-card {
  box-shadow: none;
  margin: 0;
}

.billing-redesign {
  display: grid;
  gap: 18px;
}

.billing-filter-bar {
  align-items: end;
  background: #fff;
  border: 1px solid var(--dj-border);
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(240px, 1.4fr) minmax(170px, .8fr) minmax(190px, 1fr) minmax(220px, 1.2fr) auto auto;
  padding: 18px;
}

.billing-filter-bar label {
  display: grid;
  gap: 7px;
}

.billing-filter-bar label span {
  color: var(--dj-primary);
  font-size: 13px;
  font-weight: 900;
}

.billing-filter-bar input,
.billing-filter-bar select {
  background: #f8fbff;
  border: 1px solid var(--dj-border);
  color: var(--dj-primary);
  font-weight: 800;
  min-height: 42px;
  padding: 8px 10px;
}

.billing-tabs {
  display: flex;
  gap: 10px;
}

.billing-tabs button {
  align-items: center;
  background: #fff;
  border: 1px solid var(--dj-border);
  color: var(--dj-primary);
  display: inline-flex;
  gap: 10px;
  font-weight: 900;
  min-height: 44px;
  padding: 9px 16px;
}

.billing-tabs button.active {
  background: var(--dj-primary);
  border-color: var(--dj-primary);
  color: #fff;
}

.billing-tabs button:disabled {
  color: #64748b;
  cursor: not-allowed;
  opacity: .8;
}

.billing-tabs strong {
  background: #eef4fb;
  color: var(--dj-primary);
  min-width: 28px;
  padding: 2px 8px;
  text-align: center;
}

.billing-tabs button.active strong {
  background: #fff;
}

.billing-table-wrap {
  background: #fff;
  border: 1px solid var(--dj-border);
  overflow: auto;
}

.billing-table {
  border-collapse: collapse;
  inline-size: 100%;
  min-width: 1120px;
}

.billing-table th,
.billing-table td {
  border-bottom: 1px solid var(--dj-border);
  padding: 14px;
  text-align: right;
  vertical-align: middle;
}

.billing-table th {
  background: #eef4fb;
  color: var(--dj-primary);
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.billing-table td {
  color: var(--dj-primary);
  font-weight: 800;
}

.billing-table td strong,
.billing-table td small {
  display: block;
}

.billing-table td small {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  margin-top: 4px;
}

.billing-balance {
  color: var(--dj-accent-dark) !important;
  font-weight: 900 !important;
}

.billing-empty-state {
  background: #fff;
  border: 1px solid var(--dj-border);
  color: var(--dj-primary);
  display: grid;
  gap: 8px;
  justify-items: center;
  padding: 34px;
  text-align: center;
}

.billing-empty-state .material-symbols-outlined {
  color: #94a3b8;
  font-size: 48px;
}

.billing-empty-state strong {
  font-size: 20px;
  font-weight: 900;
}

.billing-empty-state p {
  color: #64748b;
  margin: 0;
}

.billing-frame-modal[hidden] {
  display: none;
}

.billing-frame-modal {
  direction: rtl;
  inset: 0;
  position: fixed;
  z-index: 2300;
}

.billing-frame-backdrop {
  background: rgba(3, 22, 54, .52);
  inset: 0;
  position: absolute;
}

.billing-frame-panel {
  background: var(--dj-surface);
  box-shadow: 0 24px 70px rgba(3, 22, 54, .28);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  inline-size: min(1240px, calc(100vw - 44px));
  max-block-size: calc(100vh - 64px);
  overflow: hidden;
  position: absolute;
  right: 50%;
  top: 32px;
  transform: translateX(50%);
}

.billing-frame-panel > header {
  align-items: center;
  border-bottom: 1px solid var(--dj-border);
  display: flex;
  justify-content: space-between;
  padding: 16px 20px;
}

.billing-frame-panel h2 {
  color: var(--dj-primary);
  font-size: 24px;
  font-weight: 900;
  margin: 4px 0 0;
}

.billing-frame-panel button {
  align-items: center;
  background: var(--dj-primary);
  border: 0;
  color: #fff;
  display: grid;
  height: 42px;
  justify-items: center;
  width: 42px;
}

.billing-frame-panel iframe {
  border: 0;
  block-size: min(610px, calc(100vh - 136px));
  inline-size: 100%;
}

.billing-modal-open {
  overflow: hidden;
}

.popup-form-body .invoice-create-card {
  box-shadow: none;
  margin: 0;
}

@media (max-width: 1100px) {
  .billing-filter-bar {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 720px) {
  .billing-filter-bar {
    grid-template-columns: 1fr;
  }

  .billing-frame-panel {
    inline-size: calc(100vw - 20px);
    top: 10px;
    max-block-size: calc(100vh - 20px);
  }
}

.tree-document-list {
  display: grid;
}

.tree-document-row {
  align-items: center;
  border-top: 1px solid #edf1f6;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(260px, 1.3fr) minmax(260px, 1.25fr) minmax(170px, .8fr) 110px minmax(190px, auto);
  padding: 14px 18px;
}

.tree-doc-title {
  align-items: center;
  display: flex;
  gap: 12px;
  min-width: 0;
}

.tree-doc-title > span {
  align-items: center;
  background: #eef4fb;
  color: var(--dj-primary);
  display: grid;
  flex: 0 0 42px;
  height: 42px;
  justify-items: center;
  width: 42px;
}

.tree-doc-title strong,
.tree-doc-title small {
  display: block;
}

.tree-doc-title strong {
  color: var(--dj-primary);
  font-weight: 900;
  overflow-wrap: anywhere;
}

.tree-doc-title small,
.tree-doc-guide,
.tree-doc-tags small {
  color: #64748b;
  font-size: 12px;
  line-height: 1.6;
}

.tree-doc-guide {
  background: #f8fafc;
  border-inline-start: 3px solid var(--dj-accent-dark);
  padding: 9px 12px;
}

.tree-doc-tags {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.tree-doc-date {
  color: var(--dj-primary);
  font-weight: 800;
}

.unfiled-node .tree-folder-icon {
  background: #475569;
}

@media (max-width: 1450px) {
  .document-tree-filter {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .document-tree-node summary {
    grid-template-columns: 24px 44px minmax(240px, 1fr) minmax(140px, .8fr) auto;
  }

  .tree-folder-stage {
    display: none;
  }

  .tree-folder-context {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tree-document-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .document-tree-filter,
  .document-tree-node summary,
  .tree-folder-context {
    grid-template-columns: 1fr;
  }

  .tree-toggle {
    display: none;
  }

  .tree-folder-client,
  .tree-folder-count {
    justify-self: stretch;
  }
}

@media (max-width: 1450px) {
  .document-vault-filter {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .document-search {
    grid-column: span 2;
  }

  .folder-document-head {
    display: none;
  }

  .folder-document-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .document-vault-hero,
  .document-vault-filter,
  .document-vault-summary,
  .case-folder-header,
  .case-folder-context {
    grid-template-columns: 1fr;
  }

  .document-search {
    grid-column: auto;
  }
}

.billing-workspace {
  display: grid;
  gap: 30px;
}

.billing-grid {
  align-items: start;
  direction: ltr;
  display: grid;
  gap: 28px;
  grid-template-columns: 320px minmax(0, 1fr);
}

.billing-grid > * {
  direction: rtl;
}

.billing-summary-panel {
  display: grid;
  gap: 18px;
  position: sticky;
  top: 96px;
}

.unpaid-card,
.billing-health {
  background: var(--dj-primary);
  box-shadow: var(--dj-shadow);
  color: #fff;
  padding: 28px;
}

.unpaid-card small,
.billing-mini-card small {
  color: #b7c2d4;
  display: block;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.unpaid-card strong {
  display: block;
  font-size: 32px;
  font-weight: 900;
  margin: 10px 0 14px;
}

.unpaid-card span {
  background: rgba(255,255,255,.08);
  color: var(--dj-accent);
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  padding: 7px 10px;
}

.billing-mini-card {
  background: var(--dj-surface);
  box-shadow: var(--dj-shadow);
  padding: 24px;
}

.billing-mini-card small {
  color: var(--dj-muted);
}

.billing-mini-card strong {
  color: var(--dj-primary);
  display: block;
  font-size: 24px;
  font-weight: 900;
  margin-top: 8px;
}

.billing-health span {
  color: var(--dj-accent);
}

.billing-health strong {
  display: block;
  font-size: 18px;
  font-weight: 900;
  margin: 12px 0 8px;
}

.billing-health p {
  color: #cbd5e1;
  line-height: 1.8;
  margin: 0;
}

.billing-table-card {
  min-width: 0;
}

.balance-value {
  color: var(--dj-accent-dark);
  font-weight: 900;
}

.modern-ops-page {
  display: grid;
  gap: 22px;
  max-width: 100%;
  overflow-x: hidden;
}

.modern-page-hero {
  align-items: end;
  background: linear-gradient(135deg, #f8fbff 0%, #edf3fb 100%);
  border: 1px solid rgba(197, 198, 207, .35);
  box-shadow: var(--dj-shadow);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  min-height: 170px;
  padding: 30px;
}

.modern-page-hero h1 {
  color: var(--dj-primary);
  font-size: 34px;
  font-weight: 900;
  line-height: 1.2;
  margin: 8px 0 10px;
}

.modern-page-hero p {
  color: var(--dj-muted);
  line-height: 1.8;
  margin: 0;
  max-width: 780px;
}

.eyebrow {
  color: var(--dj-accent-dark);
  display: inline-block;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
}

.modern-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.modern-btn {
  align-items: center;
  border: 1px solid transparent;
  display: inline-flex;
  font-weight: 900;
  gap: 8px;
  justify-content: center;
  min-height: 42px;
  padding: 10px 16px;
}

.modern-btn.primary {
  background: var(--dj-primary);
  color: #fff;
}

.modern-btn.ghost {
  background: #fff;
  border-color: var(--dj-border);
  color: var(--dj-primary);
}

.modern-stat-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.modern-stat-grid article {
  background: #fff;
  border: 1px solid rgba(197, 198, 207, .35);
  border-inline-end: 4px solid var(--dj-primary);
  box-shadow: var(--dj-shadow);
  min-height: 120px;
  padding: 20px;
}

.modern-stat-grid article.warning {
  border-inline-end-color: var(--dj-accent-dark);
}

.modern-stat-grid article.dark {
  background: var(--dj-primary);
  color: #fff;
}

.modern-stat-grid article > span {
  color: #aab5c5;
  font-size: 27px;
}

.modern-stat-grid article.dark > span,
.modern-stat-grid article.dark small,
.modern-stat-grid article.dark strong {
  color: #fff;
}

.modern-stat-grid small {
  color: var(--dj-muted);
  display: block;
  font-size: 12px;
  font-weight: 900;
  margin: 10px 0 6px;
}

.modern-stat-grid strong {
  color: var(--dj-primary);
  display: block;
  font-size: 29px;
  font-weight: 900;
}

.modern-filter-panel {
  align-items: end;
  background: #fff;
  border: 1px solid rgba(197, 198, 207, .35);
  box-shadow: var(--dj-shadow);
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(260px, 1.6fr) repeat(3, minmax(160px, 1fr)) auto;
  padding: 18px;
}

.modern-filter-panel.document-modern-filter {
  grid-template-columns: minmax(260px, 1.5fr) repeat(4, minmax(150px, 1fr)) auto;
}

.modern-filter-panel label {
  display: grid;
  gap: 7px;
}

.modern-filter-panel label span {
  color: var(--dj-muted);
  font-size: 11px;
  font-weight: 900;
}

.modern-filter-panel input,
.modern-filter-panel select {
  background: var(--dj-surface-high);
  border: 1px solid transparent;
  color: var(--dj-primary);
  min-height: 42px;
  padding: 9px 11px;
  width: 100%;
}

.modern-filter-panel input:focus,
.modern-filter-panel select:focus {
  background: #fff;
  border-color: var(--dj-accent-dark);
  outline: none;
}

.modern-workspace-grid {
  align-items: start;
  display: grid;
  gap: 20px;
  grid-template-columns: 300px minmax(0, 1fr);
}

.document-modern-grid {
  grid-template-columns: 280px minmax(0, 1fr);
}

.modern-side-panel,
.modern-list-panel {
  background: #fff;
  border: 1px solid rgba(197, 198, 207, .35);
  box-shadow: var(--dj-shadow);
}

.modern-side-panel {
  display: grid;
  gap: 18px;
  padding: 20px;
  position: sticky;
  top: 92px;
}

.modern-side-panel header {
  align-items: center;
  display: flex;
  gap: 12px;
}

.modern-side-panel header > span {
  background: var(--dj-surface-high);
  color: var(--dj-accent-dark);
  padding: 10px;
}

.modern-side-panel h2,
.modern-panel-toolbar h2 {
  color: var(--dj-primary);
  font-size: 20px;
  font-weight: 900;
  margin: 0;
}

.modern-side-panel p,
.modern-panel-toolbar p {
  color: var(--dj-muted);
  line-height: 1.7;
  margin: 5px 0 0;
}

.timeline-list {
  display: grid;
  gap: 4px;
}

.timeline-list article {
  border-inline-start: 1px solid var(--dj-border);
  padding: 4px 18px 18px 0;
  position: relative;
}

.timeline-list article::before {
  background: var(--dj-accent-dark);
  border-radius: 50%;
  content: "";
  height: 8px;
  position: absolute;
  right: -4px;
  top: 8px;
  width: 8px;
}

.timeline-list time {
  color: var(--dj-accent-dark);
  display: block;
  font-size: 12px;
  font-weight: 900;
}

.timeline-list time b {
  font-weight: 900;
}

.timeline-list strong,
.timeline-list span {
  display: block;
  overflow-wrap: anywhere;
}

.timeline-list strong {
  color: var(--dj-primary);
  margin-top: 7px;
}

.timeline-list span {
  color: var(--dj-muted);
  font-size: 13px;
  margin-top: 4px;
}

.modern-list-panel {
  min-width: 0;
  padding: 20px;
}

.modern-panel-toolbar {
  align-items: center;
  border-bottom: 1px solid var(--dj-border);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 18px;
  padding-bottom: 16px;
}

.hearing-card-list,
.document-modern-cards,
.invoice-card-list {
  display: grid;
  gap: 14px;
}

.hearing-card,
.document-modern-card,
.invoice-card {
  background: #fff;
  border: 1px solid var(--dj-border);
  display: grid;
  gap: 16px;
  min-width: 0;
  padding: 16px;
}

.hearing-card {
  grid-template-columns: 96px minmax(0, 1fr);
}

.date-tile,
.invoice-number,
.document-modern-icon {
  background: var(--dj-surface-high);
  color: var(--dj-primary);
}

.date-tile {
  display: grid;
  justify-items: center;
  min-height: 118px;
  padding: 13px 8px;
}

.date-tile strong {
  font-size: 30px;
  font-weight: 900;
}

.date-tile span,
.date-tile small {
  color: var(--dj-muted);
  font-size: 12px;
  font-weight: 900;
}

.hearing-main,
.document-modern-body,
.invoice-body {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.hearing-main header,
.document-modern-card header,
.invoice-body header,
.invoice-card footer,
.document-modern-card footer {
  align-items: flex-start;
  display: flex;
  gap: 14px;
  justify-content: space-between;
}

.hearing-main h3,
.document-modern-card h2,
.invoice-body h3 {
  color: var(--dj-primary);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.4;
  margin: 0;
  overflow-wrap: anywhere;
}

.hearing-main p,
.document-modern-card p,
.invoice-body p {
  color: var(--dj-muted);
  line-height: 1.6;
  margin: 5px 0 0;
  overflow-wrap: anywhere;
}

.hearing-main dl,
.document-modern-card dl,
.invoice-money-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
}

.document-modern-card dl {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.hearing-main dt,
.document-modern-card dt,
.invoice-money-grid small {
  color: var(--dj-muted);
  font-size: 11px;
  font-weight: 900;
}

.hearing-main dd,
.document-modern-card dd,
.invoice-money-grid strong {
  color: var(--dj-primary);
  font-weight: 900;
  margin: 4px 0 0;
  overflow-wrap: anywhere;
}

.hearing-main footer,
.document-modern-card footer .row-actions,
.invoice-card footer .row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.modern-pill {
  align-items: center;
  background: #edf3fb;
  color: var(--dj-primary);
  display: inline-flex;
  font-size: 12px;
  font-weight: 900;
  justify-content: center;
  min-height: 30px;
  padding: 6px 10px;
  white-space: nowrap;
}

.modern-pill.success { background: #e8f6ed; color: #166534; }
.modern-pill.warning { background: #fff2ce; color: var(--dj-accent-dark); }
.modern-pill.danger { background: #ffe7e7; color: #b91c1c; }
.modern-pill.muted { background: #eef2f7; color: var(--dj-muted); }

.vault-stat-list {
  display: grid;
  gap: 8px;
}

.vault-stat-list a {
  align-items: center;
  background: var(--dj-surface-high);
  color: var(--dj-primary);
  display: flex;
  justify-content: space-between;
  padding: 12px;
}

.vault-stat-list a.active,
.vault-stat-list a:hover {
  background: #fff;
  box-shadow: var(--dj-shadow);
}

.vault-stat-list strong {
  background: #dfe7f2;
  padding: 4px 8px;
}

.modern-dark-note {
  background: var(--dj-primary);
  color: #fff;
  padding: 18px;
}

.modern-dark-note span {
  color: var(--dj-accent);
}

.modern-dark-note strong {
  display: block;
  font-size: 17px;
  font-weight: 900;
  margin: 10px 0 6px;
}

.modern-dark-note p {
  color: #cbd5e1;
  line-height: 1.8;
  margin: 0;
}

.document-modern-card {
  grid-template-columns: 58px minmax(0, 1fr);
}

.document-modern-icon {
  align-items: center;
  display: grid;
  height: 54px;
  justify-items: center;
  width: 54px;
}

.document-modern-icon span {
  font-size: 30px;
}

.document-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.invoice-card {
  grid-template-columns: 190px minmax(0, 1fr);
}

.invoice-number {
  display: grid;
  gap: 8px;
  min-height: 150px;
  padding: 18px;
}

.invoice-number span,
.invoice-number small {
  color: var(--dj-muted);
  font-size: 12px;
  font-weight: 900;
}

.invoice-number strong {
  align-self: center;
  color: var(--dj-primary);
  font-size: 17px;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.invoice-money-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.modern-empty {
  background: var(--dj-surface-high);
  color: var(--dj-muted);
  margin: 0;
  padding: 14px;
  text-align: center;
}

.task-modern-filter,
.audit-filter-panel {
  grid-template-columns: minmax(260px, 1.4fr) repeat(4, minmax(145px, 1fr)) auto;
}

.audit-filter-panel {
  grid-template-columns: minmax(240px, 1.4fr) repeat(5, minmax(135px, 1fr)) auto;
}

.task-modern-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(230px, 1fr));
}

.task-modern-column {
  background: #fff;
  border: 1px solid rgba(197, 198, 207, .35);
  box-shadow: var(--dj-shadow);
  min-height: 380px;
  padding: 16px;
}

.task-modern-column header {
  align-items: center;
  border-bottom: 2px solid var(--dj-primary);
  display: flex;
  justify-content: space-between;
  margin-bottom: 14px;
  padding-bottom: 12px;
}

.task-modern-column.progress header { border-bottom-color: var(--dj-accent-dark); }
.task-modern-column.overdue header { border-bottom-color: #b91c1c; }
.task-modern-column.done header { border-bottom-color: #16a34a; }

.task-modern-column header span,
.task-modern-column header strong {
  color: var(--dj-primary);
  font-weight: 900;
}

.task-progress {
  background: #dfe7f2;
  height: 8px;
  overflow: hidden;
}

.task-progress span {
  background: var(--dj-accent-dark);
  display: block;
  height: 100%;
}

.task-card .row-actions {
  display: flex;
  gap: 12px;
  margin-top: 12px;
}

.task-followup {
  background: var(--dj-surface-high);
  border-inline-start: 3px solid var(--dj-accent-dark);
  font-size: 12px;
  margin-top: 12px !important;
  padding: 9px 10px;
}

.table-progress {
  min-width: 92px;
}

.details-progress {
  height: 12px;
  margin-top: 22px;
}

.task-followup-details {
  background: var(--dj-surface-high);
  margin-top: 22px;
  padding: 18px;
}

.task-followup-details h2 {
  color: var(--dj-primary);
  font-size: 18px;
  font-weight: 900;
  margin: 0 0 8px;
}

.audit-log-list {
  display: grid;
  gap: 12px;
}

.audit-log-card {
  background: #fff;
  border: 1px solid var(--dj-border);
  display: grid;
  gap: 14px;
  grid-template-columns: 100px minmax(0, 1fr);
  padding: 14px;
}

.audit-action-badge {
  align-items: center;
  background: var(--dj-primary);
  color: #fff;
  display: grid;
  font-weight: 900;
  justify-items: center;
  min-height: 72px;
  text-align: center;
}

.audit-log-card header,
.audit-log-card footer {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
}

.audit-log-card strong {
  color: var(--dj-primary);
}

.audit-log-card time,
.audit-log-card footer span {
  color: var(--dj-muted);
  font-size: 12px;
  font-weight: 900;
}

.audit-log-card p {
  color: var(--dj-primary);
  line-height: 1.7;
  margin: 8px 0;
  overflow-wrap: anywhere;
}

@media (max-width: 1180px) {
  .modern-workspace-grid,
  .document-modern-grid,
  .task-modern-grid {
    grid-template-columns: 1fr;
  }

  .modern-side-panel {
    position: static;
  }
}

@media (max-width: 900px) {
  .modern-page-hero,
  .modern-panel-toolbar,
  .hearing-main header,
  .document-modern-card header,
  .invoice-body header,
  .invoice-card footer,
  .document-modern-card footer {
    align-items: stretch;
    flex-direction: column;
  }

  .modern-actions,
  .document-badges {
    justify-content: stretch;
  }

  .modern-stat-grid,
  .modern-filter-panel,
  .modern-filter-panel.document-modern-filter,
  .task-modern-filter,
  .audit-filter-panel,
  .hearing-main dl,
  .document-modern-card dl,
  .invoice-money-grid {
    grid-template-columns: 1fr;
  }

  .hearing-card,
  .document-modern-card,
  .invoice-card,
  .audit-log-card {
    grid-template-columns: 1fr;
  }

  .date-tile,
  .document-modern-icon {
    width: 100%;
  }
}

@media (max-width: 1180px) {
  .workspace-grid, .admin-stitch, .doc-workbench, .case-file-layout, .case-tabs-grid, .case-portfolio-grid, .hearing-layout, .task-kanban, .document-library-grid, .billing-grid { grid-template-columns: 1fr; }
  .admin-insight-drawer { min-height: auto; position: static; }
  .integrity-tile { position: static; margin-top: 28px; }
  .doc-meta-panel, .doc-canvas { grid-column: auto; }
  .case-file-side { position: static; }
  .advanced-filter-card { position: static; }
  .vault-sidebar { position: static; }
  .billing-summary-panel { position: static; }
}

@media (max-width: 900px) {
  .dj-shell { grid-template-columns: 1fr; }
  .dj-sidebar { grid-column: auto; height: auto; position: static; }
  .dj-main { grid-column: auto; }
  .dj-topbar, .stitch-kpis, .kanban-cols, .admin-stats, .case-overview-grid, .dj-grid-4, .dj-grid-3, .dj-grid-2, .case-stats-grid, .case-field-grid, .hearing-stats, .task-board-summary, .hearing-filter-bar, .task-filter-bar, .document-filter-bar, .document-card dl, .procedure-command-grid, .procedure-lanes {
    grid-template-columns: 1fr;
  }
  .workspace-hero, .admin-heading, .table-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }
  .doc-preview-shell { margin: 0; }
  .case-panel, .case-dark-panel, .case-basic-panel, .case-parties-panel, .case-upload-panel { grid-column: 1 / -1; }
  .case-form-footer { justify-content: stretch; }
  .case-form-footer .stitch-btn { flex: 1; }
  .document-card { grid-template-columns: 1fr; }
  .document-card header, .document-card footer { flex-direction: column; }
  .procedure-mini-table div { grid-template-columns: 1fr; }
}
/* Action templates administration and case quick-pick lists */
.action-template-picker {
    border: 1px solid #d7e0ec;
    background: #f6f9fd;
    padding: 1rem;
    margin-bottom: 1rem;
    display: grid;
    gap: 0.35rem;
}

.action-template-picker label {
    margin: 0;
    font-weight: 800;
    color: var(--navy, #071d3a);
}

.action-template-picker small {
    color: #65758b;
}

.action-template-admin {
    margin-bottom: 1.5rem;
}

.lookup-console {
    display: grid;
    gap: 1.25rem;
}

.lookup-console-header {
    align-items: end;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.lookup-console-metrics {
    background: var(--navy, #071d3a);
    color: #fff;
    display: grid;
    gap: 0.35rem;
    min-width: 230px;
    padding: 1rem 1.25rem;
}

.lookup-console-metrics span {
    color: #cbd5e1;
    font-size: 0.82rem;
}

.lookup-console-metrics strong {
    color: #fff;
    font-size: 1.35rem;
}

.lookup-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lookup-card {
    display: grid;
    gap: 1rem;
    overflow: hidden;
}

.lookup-card-head {
    align-items: center;
    background: #eef4fb;
    border-right: 4px solid var(--gold, #8a650d);
    display: grid;
    gap: 0.85rem;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    padding: 1rem;
}

.lookup-card-head .material-symbols-outlined {
    background: #fff;
    color: var(--gold, #8a650d);
    font-size: 26px;
    padding: 0.55rem;
}

.lookup-card-head h2 {
    color: var(--navy, #071d3a);
    font-size: 1.08rem;
    margin: 0;
}

.lookup-card-head p {
    color: #5d6b80;
    font-size: 0.84rem;
    margin: 0.2rem 0 0;
}

.lookup-card-head b {
    background: var(--navy, #071d3a);
    color: #fff;
    min-width: 34px;
    padding: 0.4rem 0.65rem;
    text-align: center;
}

.lookup-create-form,
.lookup-row {
    display: grid;
    gap: 0.6rem;
    grid-template-columns: minmax(130px, 1.25fr) minmax(120px, 1fr) minmax(90px, 0.8fr) 78px auto auto auto;
    padding: 0 1rem;
}

.lookup-create-form {
    align-items: end;
}

.lookup-list {
    display: grid;
    gap: 0.55rem;
    padding: 0 0 1rem;
}

.lookup-row {
    align-items: end;
    border-top: 1px solid #e0e7ef;
    padding-top: 0.75rem;
}

.lookup-row.is-disabled {
    background: #f8fafc;
    opacity: 0.62;
}

.lookup-create-form input,
.lookup-row input {
    background: #fff;
    border: 1px solid #cbd5e1;
    color: var(--navy, #071d3a);
    min-height: 38px;
    padding: 0.45rem 0.6rem;
    width: 100%;
}

.lookup-row label {
    color: var(--navy, #071d3a);
    display: grid;
    font-weight: 800;
    gap: 0.25rem;
}

.lookup-row small {
    color: #64748b;
    font-size: 0.72rem;
}

.lookup-switch {
    align-items: center;
    display: flex !important;
    gap: 0.4rem;
    min-height: 38px;
}

.lookup-switch input[type="checkbox"] {
    min-height: auto;
    width: auto;
}

.action-template-form {
    display: grid;
    grid-template-columns: repeat(5, minmax(150px, 1fr));
    gap: 0.85rem;
    align-items: end;
    padding: 1rem;
    background: #f8fafc;
    border: 1px solid #dce4ee;
    margin-bottom: 1rem;
}

.action-template-form label,
.action-template-row label {
    font-size: 0.78rem;
    font-weight: 800;
    color: var(--ink, #0b1733);
}

.template-check {
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.action-template-list {
    display: grid;
    gap: 1rem;
}

.action-template-group {
    border-top: 3px solid var(--gold, #8a650d);
    background: #fff;
}

.action-template-group h3 {
    margin: 0;
    padding: 0.75rem 1rem;
    font-size: 1rem;
    color: var(--navy, #071d3a);
    background: #eef4fb;
}

.action-template-row {
    display: grid;
    grid-template-columns: repeat(5, minmax(120px, 1fr));
    gap: 0.5rem;
    align-items: center;
    padding: 0.65rem 0.85rem;
    border-top: 1px solid #e0e7ef;
}

.action-template-row.is-disabled {
    opacity: 0.58;
    background: #f8fafc;
}

@media (max-width: 1200px) {
    .lookup-grid {
        grid-template-columns: 1fr;
    }

    .lookup-create-form,
    .lookup-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .action-template-form,
    .action-template-row {
        grid-template-columns: 1fr 1fr;
    }
}

.migration-review-page {
    display: grid;
    gap: 18px;
}

.migration-review-hero,
.migration-review-panel,
.migration-review-filters,
.migration-review-table-card {
    background: rgba(255, 255, 255, .97);
    border: 1px solid rgba(15, 23, 42, .06);
    border-radius: 24px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .08);
}

.migration-review-hero {
    align-items: flex-start;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    padding: 24px;
}

.migration-review-hero span,
.migration-review-hero p,
.migration-review-table-header span,
.migration-review-meta dt,
.migration-review-counts span,
.migration-review-concern small,
.migration-review-audit-list small {
    color: var(--dj-muted);
}

.migration-review-hero h2,
.migration-review-panel h3 {
    color: var(--dj-primary);
    margin: 6px 0 10px;
}

.migration-review-link {
    align-items: center;
    background: rgba(3, 22, 54, .06);
    border-radius: 14px;
    color: var(--dj-primary);
    display: inline-flex;
    font-weight: 800;
    min-height: 46px;
    padding: 0 18px;
    text-decoration: none;
}

.migration-review-link.primary {
    background: var(--dj-primary);
    color: #fff;
}

.migration-review-stats {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.migration-review-stats article {
    background: rgba(255, 255, 255, .97);
    border: 1px solid rgba(15, 23, 42, .06);
    border-radius: 20px;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .08);
    display: grid;
    gap: 6px;
    min-height: 112px;
    padding: 18px;
}

.migration-review-stats strong {
    color: var(--dj-primary);
    font-size: 2rem;
}

.migration-review-filters {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    padding: 20px;
}

.migration-review-filters label {
    display: grid;
    gap: 8px;
}

.migration-review-search {
    grid-column: span 2;
}

.migration-review-check {
    align-items: center;
    grid-auto-flow: column;
    justify-content: flex-start;
}

.migration-review-filter-actions {
    align-items: end;
    display: flex;
    gap: 10px;
}

.migration-review-table-card {
    overflow: hidden;
}

.migration-review-table-header,
.migration-review-panel {
    padding: 20px;
}

.migration-review-table-header {
    align-items: center;
    border-bottom: 1px solid rgba(15, 23, 42, .06);
    display: flex;
    justify-content: space-between;
}

.migration-review-table th {
    background: rgba(248, 250, 252, .92);
    color: var(--dj-primary);
    white-space: nowrap;
}

.migration-review-table td {
    vertical-align: top;
}

.risk-pill {
    border-radius: 999px;
    display: inline-flex;
    font-size: .8rem;
    font-weight: 900;
    padding: 7px 12px;
    white-space: nowrap;
}

.risk-red {
    background: rgba(185, 28, 28, .12);
    color: #991b1b;
}

.risk-yellow {
    background: rgba(202, 138, 4, .14);
    color: #92400e;
}

.risk-black {
    background: rgba(15, 23, 42, .12);
    color: #0f172a;
}

.risk-green {
    background: rgba(22, 163, 74, .14);
    color: #166534;
}

.risk-neutral {
    background: rgba(148, 163, 184, .14);
    color: #475569;
}

.migration-review-counts,
.migration-review-concern,
.migration-review-actions,
.migration-review-audit-list {
    display: grid;
    gap: 8px;
}

.migration-review-actions {
    min-width: 180px;
}

.migration-review-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 20px 20px;
}

.migration-review-pagination a {
    align-items: center;
    background: rgba(248, 250, 252, .96);
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 12px;
    color: var(--dj-primary);
    display: inline-flex;
    font-weight: 800;
    height: 42px;
    justify-content: center;
    min-width: 42px;
    text-decoration: none;
}

.migration-review-pagination a.active {
    background: var(--dj-primary);
    border-color: var(--dj-primary);
    color: #fff;
}

.migration-review-detail-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.migration-review-meta {
    display: grid;
    gap: 14px;
    margin: 0;
}

.migration-review-meta div {
    border-bottom: 1px solid rgba(15, 23, 42, .06);
    display: grid;
    gap: 4px;
    padding-bottom: 12px;
}

.migration-review-meta dd {
    color: var(--dj-primary);
    font-weight: 800;
    margin: 0;
}

.migration-review-audit-list article {
    border: 1px solid rgba(15, 23, 42, .06);
    border-radius: 16px;
    padding: 14px;
}

@media (max-width: 900px) {
    .migration-review-hero,
    .migration-review-hero-actions {
        display: grid;
    }

    .migration-review-search {
        grid-column: span 1;
    }
}

/* Smart assistant final layout: compact input, menu only on slash/backslash. */
.internal-bot-widget .internal-bot-panel {
    grid-template-rows: auto minmax(300px, 1fr) auto auto !important;
    height: min(720px, calc(100vh - 96px)) !important;
    max-height: min(720px, calc(100vh - 96px)) !important;
    width: min(560px, calc(100vw - var(--sidebar-width, 0px) - 48px)) !important;
}

.internal-bot-widget .internal-bot-messages {
    background: #f3f7fc !important;
    display: grid !important;
    gap: 12px !important;
    overflow-y: auto !important;
    padding: 14px !important;
}

.internal-bot-widget .internal-bot-command-menu {
    background: #fff !important;
    border-top: 1px solid #dce4ee !important;
    display: none !important;
    gap: 8px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-height: 180px !important;
    overflow-y: auto !important;
    padding: 10px !important;
}

.internal-bot-widget .internal-bot-command-menu.is-active {
    display: grid !important;
}

.internal-bot-widget .internal-bot-command-menu[hidden] {
    display: none !important;
}

.internal-bot-widget .internal-bot-command-menu button {
    background: #eef4fb !important;
    border: 1px solid #d8e2ee !important;
    color: var(--navy, #071d3a) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    min-height: 38px !important;
    padding: 7px 8px !important;
    white-space: nowrap !important;
}

.internal-bot-widget .internal-bot-form {
    border-top: 1px solid #dce4ee !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 50px !important;
    min-height: 56px !important;
}

.internal-bot-widget .internal-bot-form input {
    background: #fff !important;
    border: 0 !important;
    font-size: 16px !important;
    height: 56px !important;
    line-height: 56px !important;
    min-height: 56px !important;
    padding: 0 16px !important;
}

.internal-bot-widget .internal-bot-form button {
    align-items: center !important;
    display: flex !important;
    justify-content: center !important;
    min-height: 56px !important;
}

.internal-bot-widget .internal-bot-message {
    font-size: 15px !important;
    line-height: 1.7 !important;
    max-width: 92% !important;
    padding: 11px 13px !important;
}

.internal-bot-widget .internal-bot-options {
    display: none !important;
}

.internal-bot-widget .internal-bot-tools {
    display: none !important;
}

@media (max-width: 680px) {
    .internal-bot-widget .internal-bot-panel {
        width: calc(100vw - 24px) !important;
    }

    .internal-bot-widget .internal-bot-command-menu {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Final report viewer overrides: hearing roll is printed as A4 landscape with 6 rows per page. */
.report-viewer-toolbar {
    align-items: center;
    background: #f5f8fc;
    border: 1px solid var(--dj-border, #d9e2ef);
    display: flex;
    gap: 10px;
    justify-content: center;
    margin: 0 auto 18px;
    max-width: 1120px;
    padding: 10px 12px;
}

.report-tool-button {
    background: var(--dj-primary, #061b3d);
    border: 0;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    min-height: 38px;
    min-width: 44px;
    padding: 0 14px;
}

.report-tool-button:disabled {
    cursor: default;
    opacity: .45;
}

.report-page-indicator {
    color: var(--dj-ink, #071d3a);
    font-weight: 900;
    min-width: 120px;
    text-align: center;
}

.report-page-frame.is-report-page-hidden {
    display: none;
}

.report-viewer-landscape {
    min-width: 1120px;
}

.report-page-landscape {
    box-sizing: border-box;
    min-height: 210mm;
    width: 297mm;
}

.report-page-landscape .report-table th,
.report-page-landscape .report-table td {
    line-height: 1.55;
    vertical-align: middle;
}

.report-page-landscape .report-table tbody tr {
    height: 28mm;
}

.report-page-landscape .report-row-number {
    width: 44px;
}

@media print {
    @page hearingRollLandscape {
        margin: 8mm;
        size: A4 landscape;
    }

    .report-viewer-toolbar {
        display: none !important;
    }

    .report-page-frame.is-report-page-hidden {
        display: block !important;
    }

    .report-page-landscape {
        box-shadow: none !important;
        min-height: auto;
        page: hearingRollLandscape;
        page-break-after: always;
        padding: 0 !important;
        width: 100% !important;
    }

    .report-page-landscape:last-child {
        page-break-after: auto;
    }

    .report-page-landscape .report-table tbody tr {
        height: 27mm;
    }
}

/* Final override for the internal assistant after all page-specific rules. */
.internal-bot-widget .internal-bot-panel {
    grid-template-rows: auto auto minmax(320px, 1fr) auto !important;
    height: min(760px, calc(100vh - 92px)) !important;
    max-height: min(760px, calc(100vh - 92px)) !important;
    width: min(640px, calc(100vw - var(--sidebar-width, 0px) - 48px)) !important;
}

.internal-bot-widget .internal-bot-message,
.internal-bot-widget .internal-bot-form input {
    font-size: 16px !important;
    line-height: 1.75 !important;
}

.internal-bot-widget .internal-bot-tools {
    display: none !important;
}

/* Billing popups and lookup menus */
.billing-inline-action {
  display: inline-flex;
  margin: 0 0.2rem;
}

.billing-inline-action button {
  border: 1px solid #9ca3af;
  background: #fff;
  color: #111827;
  border-radius: 0.45rem;
  padding: 0.35rem 0.55rem;
  cursor: pointer;
  white-space: nowrap;
}

.billing-inline-action button:hover,
.billing-inline-action button:focus-visible {
  border-color: #001b41;
  box-shadow: 0 0 0 2px rgba(0, 27, 65, 0.18);
}
.billing-frame-panel {
    width: min(96vw, 1440px) !important;
    inline-size: min(96vw, 1440px) !important;
    height: min(90dvh, 940px) !important;
    max-height: calc(100dvh - 32px) !important;
    max-block-size: calc(100dvh - 32px) !important;
}

.billing-frame-panel iframe {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: 100% !important;
    block-size: auto !important;
}

.billing-lookup-wrap {
    position: relative;
}

.billing-lookup-menu {
    position: absolute;
    z-index: 40;
    inset-inline: 0;
    inset-block-start: calc(100% + 4px);
    max-height: 280px;
    overflow: auto;
    background: #fff;
    border: 1px solid #cbd5e1;
    box-shadow: 0 18px 45px rgba(5, 32, 68, 0.18);
}

.billing-lookup-option {
    width: 100%;
    border: 0;
    border-bottom: 1px solid #e5ebf3;
    background: #fff;
    color: #061b3a;
    cursor: pointer;
    display: block;
    padding: 12px 14px;
    text-align: right;
}

.billing-lookup-option:hover,
.billing-lookup-option:focus {
    background: #eef3f9;
}

.billing-lookup-option strong,
.billing-lookup-option small {
    display: block;
}

.billing-lookup-option small {
    color: #65758b;
    margin-top: 4px;
}

.consult-form-paper {
    display: grid;
    gap: 18px;
}

.consult-form-banner {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 20px;
    border: 1px solid #d8e2ee;
    border-right: 4px solid #0c6b55;
    background: #f8fbff;
}

.consult-form-banner h3 {
    margin: 4px 0 0;
    color: #061b3a;
    font-size: 22px;
    font-weight: 900;
}

.consult-form-banner p {
    margin: 0;
    max-width: 560px;
    color: #5b697c;
    line-height: 1.8;
}

.consultation-workflow-panel {
    border-right: 4px solid #0c6b55;
}

.workflow-state {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    background: #eef6f3;
    color: #0c6b55;
}

.workflow-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 16px 0;
}

.workflow-steps > div {
    min-height: 88px;
    padding: 14px;
    border: 1px solid #dbe4f0;
    background: #fff;
}

.workflow-steps small,
.consult-opinion-form span {
    display: block;
    color: #5b697c;
    font-weight: 700;
    margin-bottom: 8px;
}

.workflow-steps strong {
    color: #061b3a;
    font-size: 18px;
    font-weight: 900;
}

.workflow-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 16px;
}

.consult-opinion-form {
    display: grid;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid #e3eaf3;
}

.consult-opinion-form textarea {
    width: 100%;
    border: 1px solid #d4deeb;
    padding: 12px;
    background: #fff;
    color: #061b3a;
    resize: vertical;
}

.inline-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #061b3a;
    font-weight: 800;
}

.inline-check span {
    margin: 0;
}

@media (max-width: 1000px) {
    .workflow-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .consult-form-banner,
    .workflow-steps {
        grid-template-columns: 1fr;
    }

    .consult-form-banner {
        flex-direction: column;
    }
}

/* Reports center - practical report picker and print sheet */
.reports-workspace {
    --report-zoom: 1;
    padding: 24px 28px 44px;
    background: #f3f7fc;
    color: #061d3c;
}

.reports-topbar,
.reports-selected-card,
.reports-criteria-card,
.report-sheet {
    background: #fff;
    border: 1px solid #dbe4ef;
    box-shadow: 0 18px 40px rgba(5, 32, 68, 0.05);
}

.reports-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 24px 28px;
    border-top: 4px solid #0b6b53;
    margin-bottom: 18px;
}

.reports-topbar h1,
.reports-selected-card h2,
.report-empty-state h2 {
    margin: 4px 0 8px;
    color: #061d3c;
    font-size: 34px;
    line-height: 1.2;
}

.reports-topbar p,
.reports-selected-card p,
.report-empty-state p {
    margin: 0;
    color: #66758a;
    font-weight: 700;
}

.reports-layout {
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.reports-side-menu {
    position: sticky;
    top: 92px;
    background: #fff;
    border: 1px solid #dbe4ef;
    padding: 16px;
    display: grid;
    gap: 8px;
}

.reports-side-menu strong {
    color: #8b650f;
    font-size: 15px;
    margin-bottom: 6px;
}

.reports-side-menu a {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 54px;
    padding: 10px 12px;
    color: #061d3c;
    text-decoration: none;
    font-weight: 900;
    background: #f4f7fb;
    border-right: 4px solid transparent;
}

.reports-side-menu a.active,
.reports-side-menu a:hover {
    background: #061d3c;
    color: #fff;
    border-right-color: #a67a11;
}

.reports-main-panel {
    min-width: 0;
    display: grid;
    gap: 18px;
}

.reports-selected-card {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 20px 24px;
}

.reports-selected-card > .material-symbols-rounded {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eef4fb;
    color: #0b6b53;
    font-size: 32px;
}

.reports-criteria-card {
    display: grid;
    gap: 18px;
    padding: 22px 24px;
}

.reports-date-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(180px, 1fr));
    gap: 16px;
}

.reports-criteria-card label,
.reports-query-field {
    display: grid;
    gap: 8px;
    font-weight: 900;
    color: #061d3c;
}

.reports-criteria-card input[type="date"],
.reports-criteria-card input[type="search"] {
    min-height: 48px;
    border: 1px solid #cfd9e6;
    padding: 10px 14px;
    color: #061d3c;
    background: #fff;
    font-weight: 800;
}

.reports-check-list {
    border: 1px solid #dbe4ef;
    padding: 16px;
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: 10px;
    margin: 0;
}

.reports-check-list legend {
    padding: 0 8px;
    color: #8b650f;
    font-weight: 900;
}

.reports-check-list label {
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: center;
    min-height: 42px;
    background: #f4f7fb;
    padding: 9px 12px;
}

.reports-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.reports-picker-overlay {
    position: fixed;
    inset: 0;
    z-index: 4000;
    background: rgba(5, 32, 68, 0.58);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.reports-picker-overlay.is-open {
    display: flex;
}

.reports-picker-dialog {
    width: min(980px, 100%);
    max-height: min(760px, calc(100vh - 48px));
    overflow: auto;
    background: #fff;
    border: 1px solid #dbe4ef;
    box-shadow: 0 28px 80px rgba(5, 32, 68, 0.28);
    padding: 28px;
    position: relative;
}

.reports-picker-close {
    position: absolute;
    top: 18px;
    left: 18px;
    width: 46px;
    height: 46px;
    border: 0;
    background: #061d3c;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.reports-picker-title h2 {
    margin: 4px 0 22px;
    font-size: 32px;
    color: #061d3c;
}

.reports-picker-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.reports-picker-list a {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 4px 14px;
    padding: 18px;
    color: #061d3c;
    text-decoration: none;
    background: #f4f7fb;
    border: 1px solid #dbe4ef;
}

.reports-picker-list a:hover {
    border-color: #0b6b53;
    background: #fff;
}

.reports-picker-list .material-symbols-rounded {
    grid-row: 1 / 3;
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e7eef8;
    color: #8b650f;
}

.reports-picker-list strong {
    font-size: 20px;
    font-weight: 900;
}

.reports-picker-list small {
    color: #66758a;
    font-weight: 700;
    line-height: 1.7;
}

.report-sheet {
    padding: 26px;
    overflow: auto;
    transform-origin: top center;
}

.report-sheet > * {
    transform: scale(var(--report-zoom));
    transform-origin: top center;
}

.report-sheet-empty {
    min-height: 360px;
    display: grid;
    place-items: center;
}

.report-empty-state {
    text-align: center;
    max-width: 520px;
}

.report-empty-state .material-symbols-rounded {
    font-size: 58px;
    color: #aeb9c7;
}

.report-print-header {
    display: grid;
    grid-template-columns: 1.1fr 1.5fr 1fr;
    gap: 18px;
    align-items: center;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 2px solid #061d3c;
}

.report-office-block {
    display: flex;
    align-items: center;
    gap: 12px;
}

.report-office-block img {
    width: 64px;
    height: 64px;
    object-fit: contain;
    background: #f4f7fb;
    border: 1px solid #dbe4ef;
}

.report-office-block strong,
.report-generated-block strong {
    display: block;
    color: #061d3c;
    font-size: 17px;
    font-weight: 900;
}

.report-office-block span,
.report-generated-block span,
.report-title-block span {
    display: block;
    color: #8b650f;
    font-weight: 800;
}

.report-title-block {
    text-align: center;
}

.report-title-block h2 {
    margin: 3px 0 5px;
    color: #061d3c;
    font-size: 28px;
}

.report-title-block p {
    margin: 0;
    color: #66758a;
    font-weight: 800;
}

.report-generated-block {
    text-align: left;
}

.report-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.report-table {
    width: 100%;
    min-width: 980px;
    border-collapse: collapse;
    background: #fff;
}

.report-table th {
    background: #dfe7f1;
    color: #061d3c;
    font-weight: 900;
    border: 1px solid #b9c7d8;
    padding: 11px 10px;
    text-align: center;
}

.report-table td {
    border: 1px solid #d7e0ec;
    padding: 10px;
    color: #061d3c;
    font-weight: 750;
    vertical-align: top;
    line-height: 1.55;
}

.report-row-number {
    width: 48px;
    text-align: center;
}

.report-actions-col {
    width: 80px;
    text-align: center;
}

.report-actions-col a {
    color: #8b650f;
    font-weight: 900;
}

.report-empty-cell {
    text-align: center;
    padding: 36px;
    color: #66758a;
}

.report-print-footer {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    border-top: 1px solid #b9c7d8;
    margin-top: 18px;
    padding-top: 12px;
    color: #66758a;
    font-weight: 800;
}

.case-document-wrap {
    padding: 18px 28px;
}

.case-detail-reference {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 18px;
    align-items: center;
    padding: 10px 14px;
    margin-bottom: 12px;
    border: 1px solid #8b98a8;
    background: #f5f7fa;
}

.case-detail-reference strong {
    font-size: 1.35rem;
}

.case-detail-grid {
    display: grid;
    grid-template-columns: 155px 1fr 155px 1fr;
    margin: 0 0 14px;
    border-top: 1px solid #9aa5b1;
    border-right: 1px solid #9aa5b1;
}

.case-detail-grid dt,
.case-detail-grid dd {
    min-height: 31px;
    margin: 0;
    padding: 6px 9px;
    border-left: 1px solid #9aa5b1;
    border-bottom: 1px solid #9aa5b1;
}

.case-detail-grid dt {
    font-weight: 800;
    background: #eef2f6;
}

.case-detail-grid dd:nth-of-type(3) {
    grid-column: span 3;
}

.case-detail-report h3 {
    margin: 12px 0 6px;
    padding: 6px 10px;
    font-size: 1rem;
    background: #dce6f1;
    border-right: 4px solid #0b3769;
}

.case-movement-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .82rem;
}

.case-movement-table td {
    padding: 5px 7px;
    border: 1px solid #aab3bd;
    vertical-align: top;
}

.case-movement-table td:first-child {
    width: 105px;
    white-space: nowrap;
}

.case-movement-table td:nth-child(2) {
    width: 120px;
}

.client-notice-report {
    min-height: 720px;
    padding: 20px 34px;
    font-size: 1.05rem;
    line-height: 2;
}

.client-notice-report h2 {
    margin: 0 auto 20px;
    text-align: center;
    text-decoration: underline;
}

.client-notice-meta {
    display: flex;
    justify-content: space-between;
    border: 1px solid #9aa5b1;
    padding: 4px 12px;
    margin-bottom: 26px;
}

.client-notice-decision {
    margin: 14px 28px;
    padding: 12px 18px;
    border: 1px solid #9aa5b1;
    background: #f7f8fa;
    font-weight: 700;
}

.client-notice-signature {
    display: grid;
    justify-content: end;
    margin-top: 48px;
    text-align: center;
}

@media print {
    .case-document-wrap {
        padding: 8mm 10mm;
    }

    .case-detail-report,
    .client-notice-report {
        break-inside: avoid;
    }
}

@media (max-width: 1100px) {
    .reports-layout {
        grid-template-columns: 1fr;
    }

    .reports-side-menu {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .reports-side-menu strong {
        grid-column: 1 / -1;
    }

    .reports-selected-card,
    .report-print-header {
        grid-template-columns: 1fr;
    }

    .reports-check-list {
        grid-template-columns: 1fr;
    }
}

@media print {
    body {
        background: #fff !important;
    }

    .app-sidebar,
    .topbar,
    .reports-topbar,
    .reports-side-menu,
    .reports-selected-card,
    .reports-criteria-card,
    .reports-picker-overlay,
    .report-actions-col {
        display: none !important;
    }

    .reports-workspace,
    .reports-layout,
    .reports-main-panel,
    .report-sheet {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
        border: 0 !important;
    }

    .report-sheet {
        overflow: visible !important;
    }

    .report-sheet > * {
        transform: none !important;
    }

    .report-table {
        min-width: 0;
        font-size: 12px;
    }

    .report-table th,
    .report-table td {
        border-color: #000;
        padding: 6px;
    }
}

.reports-page {
    display: grid;
    gap: 18px;
    direction: rtl;
}

.reports-hero {
    align-items: center;
    background: #fff;
    border: 1px solid #dbe3ee;
    border-top: 4px solid var(--accent);
    display: flex;
    justify-content: space-between;
    padding: 22px 26px;
}

.reports-hero h1 {
    color: var(--navy);
    font-size: 34px;
    margin: 4px 0 8px;
}

.reports-hero p {
    color: #64748b;
    margin: 0;
}

.reports-stats-grid,
.reports-catalog {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.reports-stat,
.reports-card {
    background: #fff;
    border: 1px solid #dbe3ee;
    color: var(--navy);
    min-height: 118px;
    padding: 18px;
}

.reports-stat {
    border-inline-start: 4px solid var(--navy);
}

.reports-stat.dark {
    background: var(--navy);
    color: #fff;
}

.reports-stat.danger {
    border-inline-start-color: #c53030;
}

.reports-stat span,
.reports-card span {
    color: #9aa8ba;
    font-size: 30px;
}

.reports-stat small,
.reports-card small {
    color: #64748b;
    display: block;
    line-height: 1.7;
}

.reports-stat strong {
    display: block;
    font-size: 28px;
    margin-top: 8px;
}

.reports-card {
    display: grid;
    gap: 8px;
    min-height: 150px;
    text-decoration: none;
}

.reports-card.active {
    border-color: var(--navy);
    box-shadow: inset 0 -3px 0 var(--gold);
}

.reports-card strong {
    color: var(--navy);
    font-size: 20px;
}

.reports-filter {
    align-items: end;
    background: #fff;
    border: 1px solid #dbe3ee;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(240px, 1.1fr) 170px 170px minmax(280px, 1.5fr) auto;
    padding: 18px;
}

.reports-filter-title {
    align-items: center;
    display: flex;
    gap: 12px;
}

.reports-filter-title .material-symbols-rounded {
    background: #eef3f9;
    color: var(--navy);
    padding: 12px;
}

.reports-filter label {
    display: grid;
    gap: 7px;
}

.reports-filter label span {
    color: var(--navy);
    font-weight: 800;
}

.reports-filter input {
    border: 1px solid #ccd6e3;
    color: var(--navy);
    font-weight: 700;
    min-height: 46px;
    padding: 10px 12px;
}

.reports-filter-actions {
    display: flex;
    gap: 8px;
}

.report-sheet {
    background: #fff;
    border: 1px solid #dbe3ee;
    padding: 22px;
}

.report-sheet-header {
    align-items: end;
    border-bottom: 2px solid #dbe3ee;
    display: flex;
    justify-content: space-between;
    margin-bottom: 16px;
    padding-bottom: 16px;
}

.report-sheet-header h2 {
    color: var(--navy);
    font-size: 30px;
    margin: 4px 0;
}

.report-sheet-header p,
.report-sheet-meta span,
.report-sheet-meta small {
    color: #64748b;
}

.report-sheet-meta {
    min-width: 150px;
    text-align: left;
}

.report-sheet-meta strong {
    color: var(--navy);
    display: block;
    font-size: 30px;
}

.report-table-wrap {
    overflow-x: auto;
}

.report-table {
    border-collapse: collapse;
    color: var(--navy);
    min-width: 920px;
    width: 100%;
}

.report-table th {
    background: #e8eef6;
    border-bottom: 1px solid #cbd5e1;
    font-size: 14px;
    padding: 12px;
    text-align: right;
}

.report-table td {
    border-bottom: 1px solid #e2e8f0;
    font-size: 14px;
    padding: 12px;
    vertical-align: top;
}

.report-table tbody tr:hover {
    background: #f8fafc;
}

.report-actions-col {
    text-align: center !important;
    width: 70px;
}

.report-open-link {
    color: #8a640f;
    font-weight: 800;
    text-decoration: none;
}

.report-empty {
    color: #64748b;
    padding: 40px !important;
    text-align: center;
}

@media (max-width: 1100px) {
    .reports-filter {
        grid-template-columns: 1fr 1fr;
    }

    .reports-filter-title,
    .reports-filter-search,
    .reports-filter-actions {
        grid-column: 1 / -1;
    }
}

@media print {
    body {
        background: #fff !important;
    }

    .dj-sidebar,
    .dj-topbar,
    .reports-hero a,
    .reports-stats-grid,
    .reports-catalog,
    .reports-filter,
    .report-actions-col {
        display: none !important;
    }

    .dj-main,
    .dj-content,
    .reports-page {
        margin: 0 !important;
        padding: 0 !important;
    }

    .reports-hero,
    .report-sheet {
        border: 0 !important;
        padding: 0 !important;
    }

    .reports-hero {
        margin-bottom: 14px;
    }

    .report-table {
        min-width: 0;
    }

    .report-table th,
    .report-table td {
        font-size: 11px;
        padding: 7px;
    }
}

@media (max-width: 720px) {
    .lookup-console-header {
        align-items: stretch;
        flex-direction: column;
    }

    .lookup-create-form,
    .lookup-row {
        grid-template-columns: 1fr;
    }

    .action-template-form,
    .action-template-row {
        grid-template-columns: 1fr;
    }
}

.internal-bot-widget {
    bottom: 24px;
    direction: rtl;
    left: 24px;
    position: fixed;
    z-index: 1300;
}

/* Reports center redesign */
.reports-page {
    direction: rtl;
    display: grid;
    gap: 18px;
}

.reports-hero,
.reports-selected-bar,
.reports-filter,
.report-sheet,
.reports-picker-panel {
    background: #fff;
    border: 1px solid #dbe3ee;
}

.reports-hero {
    align-items: center;
    border-top: 4px solid #0f6b4f;
    display: flex;
    justify-content: space-between;
    padding: 22px 26px;
}

.reports-hero h1,
.reports-picker-head h2,
.report-title-block h2 {
    color: var(--navy);
    margin: 4px 0 8px;
}

.reports-hero p,
.reports-selected-bar small,
.report-title-block p,
.report-generated-block small,
.report-print-footer {
    color: #64748b;
}

.reports-picker-modal {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 46vh;
}

.reports-picker-panel {
    box-shadow: 0 24px 60px rgba(15, 35, 63, 0.14);
    max-width: 980px;
    padding: 26px;
    width: min(980px, 100%);
}

.reports-picker-head {
    border-bottom: 1px solid #e2e8f0;
    margin-bottom: 18px;
    padding-bottom: 12px;
}

.reports-picker-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.reports-picker-card {
    border: 1px solid #dbe3ee;
    color: var(--navy);
    display: grid;
    gap: 10px;
    min-height: 160px;
    padding: 20px;
    text-decoration: none;
}

.reports-picker-card:hover {
    border-color: var(--gold);
    box-shadow: inset 0 -3px 0 var(--gold);
}

.reports-picker-card .material-symbols-rounded {
    background: #eef3f9;
    color: var(--navy);
    font-size: 30px;
    padding: 12px;
    width: max-content;
}

.reports-picker-card strong {
    font-size: 22px;
}

.reports-picker-card small {
    color: #64748b;
    line-height: 1.7;
}

.reports-selected-bar {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: 16px 18px;
}

.reports-selected-bar > div {
    align-items: center;
    display: flex;
    gap: 12px;
}

.reports-selected-bar .material-symbols-rounded {
    background: #eef3f9;
    color: var(--navy);
    padding: 12px;
}

.reports-filter {
    align-items: end;
    display: grid;
    gap: 14px;
    grid-template-columns: 170px 170px minmax(320px, 1fr) auto;
    padding: 18px;
}

.reports-filter label {
    display: grid;
    gap: 7px;
}

.reports-filter label span {
    color: var(--navy);
    font-weight: 800;
}

.reports-filter input {
    border: 1px solid #ccd6e3;
    color: var(--navy);
    font-weight: 700;
    min-height: 46px;
    padding: 10px 12px;
}

.reports-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.report-sheet {
    padding: 22px;
}

.report-sheet-empty {
    min-height: 260px;
}

.report-criteria-placeholder {
    align-items: center;
    color: var(--navy);
    display: grid;
    justify-items: center;
    min-height: 220px;
    text-align: center;
}

.report-criteria-placeholder .material-symbols-rounded {
    color: #9aa8ba;
    font-size: 42px;
}

.report-print-header {
    align-items: center;
    border-bottom: 2px solid #1d3557;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(220px, 1fr) minmax(320px, 1.4fr) minmax(180px, 0.8fr);
    margin-bottom: 18px;
    padding-bottom: 16px;
}

.report-office-block {
    align-items: center;
    display: flex;
    gap: 12px;
}

.report-office-block img {
    border: 1px solid #dbe3ee;
    height: 62px;
    object-fit: contain;
    padding: 4px;
    width: 62px;
}

.report-office-block strong,
.report-generated-block strong {
    color: var(--navy);
    display: block;
    font-size: 18px;
}

.report-office-block span {
    color: #64748b;
    display: block;
}

.report-title-block {
    text-align: center;
}

.report-title-block h2 {
    font-size: 30px;
}

.report-generated-block {
    text-align: left;
}

.report-table-wrap {
    overflow-x: auto;
}

.report-table {
    border-collapse: collapse;
    color: var(--navy);
    min-width: 980px;
    width: 100%;
}

.report-table th {
    background: #e8eef6;
    border-bottom: 1px solid #1d3557;
    font-size: 14px;
    padding: 12px;
    text-align: right;
}

.report-table td {
    border-bottom: 1px solid #e2e8f0;
    font-size: 14px;
    padding: 12px;
    vertical-align: top;
}

.report-row-number {
    text-align: center !important;
    width: 44px;
}

.report-actions-col {
    text-align: center !important;
    width: 70px;
}

.report-open-link {
    color: #8a640f;
    font-weight: 800;
    text-decoration: none;
}

.report-empty {
    color: #64748b;
    padding: 40px !important;
    text-align: center;
}

.report-print-footer {
    align-items: center;
    border-top: 1px solid #dbe3ee;
    display: flex;
    justify-content: space-between;
    margin-top: 16px;
    padding-top: 12px;
}

@media (max-width: 1100px) {
    .reports-filter,
    .report-print-header {
        grid-template-columns: 1fr 1fr;
    }

    .reports-filter-search,
    .reports-filter-actions,
    .report-title-block {
        grid-column: 1 / -1;
    }
}

@media print {
    @page {
        margin: 10mm;
        size: A4 landscape;
    }

    body {
        background: #fff !important;
    }

    .dj-sidebar,
    .dj-topbar,
    .reports-hero,
    .reports-selected-bar,
    .reports-filter,
    .report-actions-col {
        display: none !important;
    }

    .dj-main,
    .dj-content,
    .reports-page {
        margin: 0 !important;
        padding: 0 !important;
    }

    .report-sheet {
        border: 0 !important;
        padding: 0 !important;
    }

    .report-print-header {
        grid-template-columns: 1fr 1.4fr 1fr;
        page-break-inside: avoid;
    }

    .report-table {
        min-width: 0;
    }

    .report-table th,
    .report-table td {
        font-size: 10px;
        padding: 6px;
    }

    .report-print-footer {
        bottom: 0;
        font-size: 11px;
        position: fixed;
        width: 100%;
    }
}

.internal-bot-toggle {
    align-items: center;
    background: var(--gold, #8a650d);
    border: 0;
    box-shadow: 0 20px 45px rgba(7, 29, 58, 0.24);
    color: #fff;
    display: flex;
    height: 56px;
    justify-content: center;
    width: 56px;
}

.internal-bot-toggle span {
    font-size: 30px;
}

.internal-bot-panel {
    background: #fff;
    border: 1px solid #dce4ee;
    box-shadow: 0 24px 60px rgba(7, 29, 58, 0.24);
    display: grid;
    grid-template-rows: auto minmax(260px, 420px) auto auto;
    left: 0;
    max-height: calc(100vh - 120px);
    position: absolute;
    bottom: 70px;
    width: min(420px, calc(100vw - 48px));
}

.internal-bot-panel[hidden] {
    display: none;
}

.internal-bot-panel header {
    align-items: center;
    background: var(--navy, #071d3a);
    color: #fff;
    display: flex;
    justify-content: space-between;
    padding: 16px;
}

.internal-bot-panel header strong,
.internal-bot-panel header small {
    display: block;
}

.internal-bot-panel header small {
    color: #cbd5e1;
    font-size: 12px;
}

.internal-bot-panel header button {
    background: transparent;
    border: 0;
    color: #fff;
}

.internal-bot-messages {
    background: #f3f7fc;
    display: grid;
    gap: 10px;
    overflow-y: auto;
    padding: 14px;
}

.internal-bot-message {
    max-width: 88%;
    padding: 10px 12px;
    white-space: pre-wrap;
}

.internal-bot-message.assistant {
    background: #fff;
    border-right: 3px solid var(--gold, #8a650d);
    color: var(--navy, #071d3a);
    justify-self: start;
}

.internal-bot-message.user {
    background: var(--navy, #071d3a);
    color: #fff;
    justify-self: end;
}

.internal-bot-options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.internal-bot-options button,
.internal-bot-tools button {
    background: #fff;
    border: 1px solid #cbd5e1;
    color: var(--navy, #071d3a);
    font-weight: 800;
    padding: 7px 10px;
}

.internal-bot-cards {
    display: grid;
    gap: 8px;
}

.internal-bot-cards article {
    background: #fff;
    border: 1px solid #dce4ee;
    display: grid;
    gap: 4px;
    padding: 10px;
}

.internal-bot-cards strong {
    color: var(--navy, #071d3a);
}

.internal-bot-cards span,
.internal-bot-cards small {
    color: #64748b;
    font-size: 12px;
}

.internal-bot-cards a {
    color: var(--gold, #8a650d);
    font-weight: 800;
    justify-self: start;
}

.internal-bot-form {
    border-top: 1px solid #dce4ee;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
}

.internal-bot-form input {
    border: 0;
    min-height: 48px;
    padding: 0 12px;
}

.internal-bot-form button {
    background: var(--navy, #071d3a);
    border: 0;
    color: #fff;
}

.internal-bot-form.is-busy {
    opacity: 0.65;
}

.internal-bot-tools {
    background: #f8fafc;
    display: flex;
    gap: 8px;
    padding: 10px;
}

.bot-admin-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) 340px;
}

.bot-intent-list {
    display: grid;
    gap: 0.75rem;
}

.bot-intent-row {
    align-items: end;
    border-top: 3px solid var(--gold, #8a650d);
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(4, minmax(130px, 1fr));
    padding: 1rem;
}

.bot-intent-row.is-disabled {
    background: #f8fafc;
    opacity: 0.62;
}

.bot-intent-row label {
    display: grid;
    gap: 0.25rem;
}

.bot-intent-row small {
    color: #64748b;
    font-weight: 800;
}

.bot-intent-row input,
.bot-intent-row textarea {
    border: 1px solid #cbd5e1;
    min-height: 38px;
    padding: 0.45rem 0.6rem;
}

.bot-phrases {
    grid-column: 1 / -1;
}

.bot-audit-list {
    display: grid;
    gap: 0.75rem;
}

.bot-audit-filters {
    background: #f8fafc;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 1rem;
    padding: 0.85rem;
}

.bot-audit-filters label {
    display: grid;
    gap: 0.25rem;
}

.bot-audit-filters small {
    color: #64748b;
    font-weight: 800;
}

.bot-audit-filters input,
.bot-audit-filters select {
    border: 1px solid #cbd5e1;
    min-height: 38px;
    padding: 0.45rem 0.6rem;
}

.bot-audit-list article {
    background: #f8fafc;
    border-right: 3px solid var(--navy, #071d3a);
    display: grid;
    gap: 0.25rem;
    padding: 0.85rem;
}

.bot-audit-list strong {
    color: var(--navy, #071d3a);
}

.bot-audit-list span,
.bot-audit-list small,
.bot-audit-list p {
    color: #64748b;
    margin: 0;
}

@media (max-width: 1100px) {
    .bot-admin-grid {
        grid-template-columns: 1fr;
    }

    .bot-intent-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .internal-bot-widget {
        bottom: 14px;
        left: 14px;
    }

    .bot-intent-row {
        grid-template-columns: 1fr;
    }

    .bot-audit-filters {
        grid-template-columns: 1fr;
    }
}

/* UI polish pass: calmer grids, non-intrusive assistant, and no clipped filters. */
.dj-content {
    max-width: 100%;
    overflow-x: clip;
}

.modern-ops-page,
.case-index-clean,
.document-library-page {
    max-width: 100%;
}

.case-index-hero,
.modern-page-hero {
    align-items: flex-start;
    background: transparent;
    border: 0;
    box-shadow: none;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 20px;
    min-height: auto;
    padding: 0;
}

.case-index-hero h1,
.modern-page-hero h1 {
    font-size: 28px;
    line-height: 1.25;
}

.case-index-hero p,
.modern-page-hero p {
    color: #526176;
    font-size: 14px;
    line-height: 1.7;
    max-width: 760px;
}

.case-zone-board {
    background: #fff;
    border: 1px solid #dce4ee;
    box-shadow: 0 12px 28px rgba(7, 29, 58, 0.06);
    display: grid;
    gap: 14px;
    margin-bottom: 18px;
    padding: 16px;
}

.case-zone-current {
    background: #f5f8fc;
    border-inline-end: 4px solid var(--dj-primary);
    display: grid;
    gap: 4px;
    padding: 12px 14px;
}

.case-zone-current small,
.case-zone-current span,
.case-zone-tab small {
    color: #64748b;
    font-size: 12px;
}

.case-zone-current strong {
    color: var(--dj-primary);
    font-size: 20px;
}

.case-zone-tabs {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.case-zone-tab {
    background: #fff;
    border: 1px solid #dce4ee;
    border-top: 3px solid #9ca3af;
    color: var(--dj-primary);
    display: grid;
    gap: 4px;
    min-height: 86px;
    padding: 12px;
}

.case-zone-tab.active {
    background: #eef4fc;
    border-color: var(--dj-primary);
    box-shadow: inset 0 0 0 1px rgba(7, 29, 58, 0.12);
}

.case-index-kpis {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    margin-bottom: 18px;
}

.case-index-kpis article {
    min-height: 110px;
    padding: 22px;
}

.case-index-layout,
.document-modern-grid {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) 280px;
}

.case-filter-clean,
.document-side-panel {
    position: sticky;
    top: 92px;
}

.case-filter-clean,
.modern-side-panel {
    max-width: 100%;
}

.case-list-clean,
.document-library-main,
.modern-list-panel {
    min-width: 0;
}

.case-list-toolbar,
.modern-panel-toolbar {
    align-items: center;
    background: #fff;
    border: 1px solid #dce4ee;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 0;
    padding: 14px 18px;
}

.case-list-table-wrap {
    background: #fff;
    border: 1px solid #dce4ee;
    overflow-x: auto;
}

.case-list-table {
    min-width: 980px;
}

.case-list-table th,
.case-list-table td {
    padding: 16px 18px;
}

.case-main-cell,
.case-context-cell,
.case-state-cell,
.case-obligations-cell {
    max-width: 340px;
    overflow-wrap: anywhere;
}

.case-filter-form,
.modern-filter-panel,
.document-modern-filter {
    align-items: end;
    background: #fff;
    border: 1px solid #dce4ee;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
    padding: 16px;
}

.modern-filter-panel.document-modern-filter {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.case-filter-form button,
.modern-filter-panel button,
.modern-filter-panel .modern-btn {
    min-height: 42px;
}

.modern-filter-panel .wide,
.document-modern-filter .wide {
    grid-column: span 2;
}

.document-modern-cards {
    display: grid;
    gap: 14px;
}

.document-modern-card {
    align-items: start;
    display: grid;
    gap: 14px;
    grid-template-columns: 54px minmax(0, 1fr);
    padding: 18px;
}

.document-modern-card header,
.document-modern-card footer {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.document-modern-card h2 {
    font-size: 17px;
    line-height: 1.5;
    margin: 0;
    overflow-wrap: anywhere;
}

.document-modern-card p,
.document-modern-card dd,
.document-modern-card dt {
    overflow-wrap: anywhere;
}

.document-modern-card dl {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
}

.document-modern-icon {
    height: 48px;
    width: 48px;
}

.document-modern-icon span {
    font-size: 28px;
}

.vault-stat-list {
    display: grid;
    gap: 8px;
}

.vault-stat-list a {
    align-items: center;
    min-height: 54px;
    padding: 10px 12px;
}

.modern-dark-note {
    padding: 20px;
}

.internal-bot-widget {
    bottom: 20px;
    left: auto;
    right: calc(var(--sidebar-width) + 20px);
}

.internal-bot-toggle {
    border-radius: 999px;
    height: 46px;
    width: 46px;
}

.internal-bot-toggle span {
    font-size: 25px;
}

.internal-bot-panel {
    bottom: 58px;
    left: auto;
    right: 0;
    grid-template-rows: auto minmax(180px, 340px) auto auto;
    max-height: min(620px, calc(100vh - 110px));
    width: min(360px, calc(100vw - var(--sidebar-width) - 40px));
}

.internal-bot-panel header {
    padding: 12px 14px;
}

.internal-bot-messages {
    padding: 12px;
}

.internal-bot-message {
    font-size: 13px;
    line-height: 1.6;
    padding: 8px 10px;
}

.internal-bot-options button,
.internal-bot-tools button {
    font-size: 13px;
    padding: 7px 9px;
}

@media (max-width: 1180px) {
    .case-index-layout,
    .document-modern-grid {
        grid-template-columns: 1fr;
    }

    .case-filter-clean,
    .document-side-panel {
        position: static;
    }

    .document-side-panel {
        order: -1;
    }

    .internal-bot-widget {
        right: 18px;
    }

    .internal-bot-panel {
        width: min(360px, calc(100vw - 36px));
    }
}

@media (max-width: 1380px) {
    .case-index-layout,
    .document-modern-grid {
        grid-template-columns: 1fr;
    }

    .case-filter-clean,
    .document-side-panel {
        order: -1;
        position: static;
    }

    .case-filter-form,
    .document-modern-filter {
        grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    }

    .modern-filter-panel.document-modern-filter {
        grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    }

/* Internal assistant: final readable chat surface and pinned command menu. */
.internal-bot-widget .internal-bot-panel {
    bottom: 64px;
    display: grid;
    font-family: var(--dj-font-family);
    grid-template-rows: auto auto minmax(320px, 1fr) auto;
    height: min(760px, calc(100vh - 92px));
    max-height: min(760px, calc(100vh - 92px));
    width: min(640px, calc(100vw - var(--sidebar-width, 0px) - 48px));
}

.internal-bot-widget .internal-bot-panel[hidden] {
    display: none;
}

.internal-bot-widget .internal-bot-panel header {
    padding: 16px 18px;
}

.internal-bot-widget .internal-bot-panel header strong {
    font-size: 20px;
}

.internal-bot-widget .internal-bot-panel header small {
    font-size: 13px;
}

.internal-bot-command-menu {
    background: #fff;
    border-bottom: 1px solid #dce4ee;
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 12px;
    position: sticky;
    top: 0;
    z-index: 3;
}

.internal-bot-command-menu button {
    background: #eef4fb;
    border: 1px solid #d8e2ee;
    color: var(--navy, #071d3a);
    cursor: pointer;
    font-size: 14px;
    font-weight: 800;
    min-height: 38px;
    padding: 8px 10px;
}

.internal-bot-command-menu button:hover,
.internal-bot-command-menu.is-active button:first-child {
    background: var(--navy, #071d3a);
    border-color: var(--navy, #071d3a);
    color: #fff;
}

.internal-bot-widget .internal-bot-messages {
    align-content: start;
    gap: 12px;
    padding: 16px;
}

.internal-bot-widget .internal-bot-message {
    font-size: 16px;
    line-height: 1.75;
    padding: 12px 14px;
}

.internal-bot-widget .internal-bot-cards {
    gap: 10px;
}

.internal-bot-widget .internal-bot-cards article {
    gap: 6px;
    padding: 12px;
}

.internal-bot-widget .internal-bot-cards strong {
    font-size: 16px;
    line-height: 1.45;
}

.internal-bot-widget .internal-bot-cards span,
.internal-bot-widget .internal-bot-cards small {
    font-size: 13px;
}

.internal-bot-widget .internal-bot-form {
    grid-template-columns: minmax(0, 1fr) 52px;
}

.internal-bot-widget .internal-bot-form input {
    font-size: 16px;
    min-height: 56px;
    padding: 0 16px;
}

.internal-bot-widget .internal-bot-tools {
    display: none;
}

@media (max-width: 1180px) {
    .internal-bot-widget .internal-bot-panel {
        width: min(640px, calc(100vw - 36px));
    }
}

@media (max-width: 680px) {
    .internal-bot-widget .internal-bot-panel {
        bottom: 58px;
        height: min(720px, calc(100vh - 80px));
        width: calc(100vw - 24px);
    }

    .internal-bot-command-menu {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

    .case-list-table {
        min-width: 820px;
    }
}

@media (min-width: 1381px) {
    .case-index-layout,
    .document-modern-grid {
        direction: ltr;
        grid-template-columns: minmax(0, 1fr) 280px;
    }

    .case-list-clean,
    .document-library-main {
        direction: rtl;
        grid-column: 1;
    }

    .case-filter-clean,
    .document-side-panel {
        direction: rtl;
        grid-column: 2;
    }
}

@media (max-width: 720px) {
    .case-index-hero,
    .modern-page-hero,
    .case-list-toolbar,
    .modern-panel-toolbar,
    .document-modern-card header,
    .document-modern-card footer {
        align-items: stretch;
        flex-direction: column;
    }

    .case-index-kpis {
        grid-template-columns: 1fr 1fr;
    }

    .modern-filter-panel .wide,
    .document-modern-filter .wide {
        grid-column: auto;
    }

    .document-modern-card {
        grid-template-columns: 1fr;
    }

    .internal-bot-widget {
        bottom: 14px;
        right: 14px;
    }

    .internal-bot-panel {
        bottom: 54px;
        width: calc(100vw - 28px);
    }
}

/* Streamlined portfolio/library mode: filter first, results second. */
.case-zone-board,
.case-index-kpis,
.document-side-panel {
    display: none !important;
}

.case-index-clean,
.document-library-page {
    display: grid;
    gap: 16px;
}

.case-index-hero,
.modern-page-hero {
    margin-bottom: 4px;
}

.case-index-hero p,
.modern-page-hero p {
    margin-bottom: 0;
}

.case-index-layout,
.document-modern-grid,
.modern-workspace-grid.document-modern-grid {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 14px;
}

.case-filter-clean {
    background: #fff;
    border: 1px solid #dce4ee;
    box-shadow: 0 12px 28px rgba(7, 29, 58, 0.06);
    order: -1;
    padding: 16px;
    position: static !important;
}

.case-filter-clean .filter-card-title {
    align-items: center;
    margin-bottom: 12px;
}

.case-filter-clean .filter-card-title p {
    display: none;
}

.case-filter-form,
.modern-filter-panel.document-modern-filter {
    border: 0;
    box-shadow: none;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
    padding: 0;
}

.case-filter-form button,
.document-modern-filter button {
    align-self: end;
}

.case-list-clean,
.document-library-main {
    min-width: 0;
}

.case-list-toolbar,
.modern-panel-toolbar {
    margin-top: 0;
}

.document-library-main {
    background: #fff;
    border: 1px solid #dce4ee;
    box-shadow: 0 12px 28px rgba(7, 29, 58, 0.06);
    padding: 16px;
}

.document-modern-filter {
    margin-bottom: 14px;
}

/* Cases page: filter bar must be horizontal, never a right-side widget. */
.case-index-layout {
    direction: rtl !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: 1fr !important;
}

.case-filter-clean {
    align-items: end;
    background: #fff;
    border: 1px solid #dce4ee;
    box-shadow: 0 12px 28px rgba(7, 29, 58, 0.06);
    display: grid;
    gap: 16px;
    grid-template-columns: 180px minmax(0, 1fr);
    order: -1;
    padding: 14px 16px;
    position: static !important;
    top: auto !important;
    width: 100%;
}

.case-filter-clean .filter-card-title {
    align-items: center;
    display: flex;
    gap: 10px;
    margin: 0;
}

.case-filter-clean .filter-card-title > span {
    flex: 0 0 auto;
    padding: 9px;
}

.case-filter-clean .filter-card-title h2 {
    font-size: 16px;
    margin: 0;
    white-space: nowrap;
}

.case-filter-clean .filter-card-title p {
    display: none !important;
}

.case-filter-clean .case-filter-form {
    align-items: end;
    background: transparent;
    border: 0;
    box-shadow: none;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(145px, .9fr) minmax(230px, 1.4fr) repeat(4, minmax(135px, .85fr)) 150px !important;
    padding: 0;
}

.case-filter-clean .case-filter-form label {
    gap: 5px;
    min-width: 0;
}

.case-filter-clean .case-filter-form span {
    font-size: 10px;
    letter-spacing: 0;
    white-space: nowrap;
}

.case-filter-clean .case-filter-form input,
.case-filter-clean .case-filter-form select {
    min-height: 38px;
    padding: 7px 6px;
}

.case-filter-clean .case-filter-form button {
    min-height: 40px;
    width: 100%;
}

.case-list-clean {
    grid-column: 1;
    width: 100%;
}

.case-list-table-wrap {
    background: #fff !important;
    border: 1px solid #dce4ee !important;
    min-height: 220px;
    overflow-x: auto;
}

.case-list-table {
    background: #fff !important;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    width: 100% !important;
}

.case-list-table thead th {
    background: #dfe7f1 !important;
    color: var(--dj-primary) !important;
    font-size: 12px;
    font-weight: 900;
    padding: 14px 16px !important;
    white-space: nowrap;
}

.case-list-table tbody tr {
    background: #fff !important;
    visibility: visible !important;
}

.case-list-table tbody tr:nth-child(even) {
    background: #fbfdff !important;
}

.case-list-table tbody td {
    background: inherit !important;
    border-top: 1px solid #dce4ee !important;
    color: var(--dj-primary) !important;
    padding: 18px 16px !important;
    vertical-align: middle;
    visibility: visible !important;
}

.case-list-table a,
.case-list-table strong,
.case-list-table small,
.case-list-table span {
    visibility: visible !important;
}

@media (max-width: 1500px) {
    .case-filter-clean {
        grid-template-columns: 1fr;
    }

    .case-filter-clean .case-filter-form {
        grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
    }
}

@media (min-width: 900px) {
    .case-filter-clean {
        grid-template-columns: 145px minmax(0, 1fr);
        padding: 12px 14px;
    }

    .case-filter-clean .case-filter-form {
        gap: 8px;
        grid-template-columns: 118px minmax(180px, 1.35fr) repeat(4, minmax(95px, .8fr)) 118px !important;
    }

    .case-filter-clean .case-filter-form input,
    .case-filter-clean .case-filter-form select {
        min-height: 36px;
        padding: 6px 5px;
    }

    .case-filter-clean .case-filter-form button {
        min-height: 38px;
        padding-inline: 8px;
    }
}

/* Final desktop guard: legacy two-column rules must not squeeze the cases list. */
.case-index-clean .case-index-layout {
    align-items: start !important;
    direction: rtl !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
}

.case-index-clean .case-filter-clean,
.case-index-clean .case-list-clean {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}

.case-index-clean .case-list-table-wrap {
    overflow-x: auto !important;
    width: 100% !important;
}

.case-index-clean .case-list-table {
    min-width: 920px;
}

@media (max-width: 1100px) {
    .case-index-clean .case-list-table {
        min-width: 760px;
    }
}

/* Desktop density pass: keep the full menu reachable at 100% browser zoom. */
:root {
    --sidebar-width: 250px;
}

.dj-sidebar {
    height: 100dvh;
    max-height: 100dvh;
}

.dj-sidebar-inner {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 18px 16px 12px;
    scrollbar-color: rgba(255, 255, 255, 0.22) transparent;
    scrollbar-width: thin;
}

.dj-sidebar-rail-toggle {
    height: 34px;
    margin-bottom: 12px;
    width: 38px;
}

.dj-brand {
    gap: 10px;
    justify-content: flex-start;
    margin-bottom: 18px;
}

.dj-brand strong {
    font-size: 17px;
    letter-spacing: 0.04em;
}

.dj-brand small {
    font-size: 10px;
}

.dj-brand-mark {
    flex: 0 0 auto;
    height: 42px;
    width: 42px;
}

.dj-nav {
    gap: 2px;
}

.dj-nav a {
    gap: 12px;
    min-height: 46px;
    padding: 10px 14px;
}

.dj-nav a i {
    flex: 0 0 auto;
}

.dj-sidebar-footer {
    flex: 0 0 auto;
    padding: 12px 14px 16px;
}

.dj-file-motion {
    min-height: 42px;
    padding: 10px;
}

.dj-topbar {
    gap: 16px;
    grid-template-columns: auto minmax(220px, 1fr);
    min-height: 70px;
    padding: 10px 26px;
}

.dj-icon-btn {
    height: 34px;
    width: 34px;
}

.dj-content {
    padding: 22px 30px 34px;
}

.workspace-hero h2,
.admin-heading h2 {
    font-size: 30px;
}

.workspace-hero p,
.admin-heading p {
    font-size: 16px;
}

.stitch-kpis,
.admin-stats,
.modern-stat-grid,
.case-index-kpis {
    gap: 18px;
}

.dj-shell.sidebar-hidden .dj-sidebar {
    flex: 0 0 76px;
    max-width: 76px;
    min-width: 76px;
    width: 76px;
}

.dj-shell.sidebar-hidden .dj-sidebar-inner {
    padding: 16px 10px 12px;
}

.dj-shell.sidebar-hidden .dj-nav a {
    min-height: 44px;
    padding: 10px 0;
}

.dj-shell.sidebar-hidden .dj-sidebar-footer {
    padding: 12px 10px 16px;
}

@media (max-height: 760px) {
    .dj-nav a {
        min-height: 42px;
        padding-block: 8px;
    }

    .dj-brand {
        margin-bottom: 12px;
    }

    .dj-brand-mark {
        height: 38px;
        width: 38px;
    }
}

/* Locally hosted icon set: avoids external-font failures and ligature text flashes. */
@font-face {
    font-display: block;
    font-family: "Material Symbols Outlined";
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/material-symbols-outlined.ttf") format("truetype");
}

/* Temporary desktop expansion keeps the collapsed 76px layout footprint. */
@media (min-width: 901px) {
    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-sidebar {
        flex-basis: var(--sidebar-width);
        margin-inline-end: calc((var(--sidebar-width) - 76px) * -1);
        max-width: var(--sidebar-width);
        min-width: var(--sidebar-width);
        overflow: hidden;
        width: var(--sidebar-width);
        z-index: 340;
    }

    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-sidebar-inner {
        padding: 18px 16px 12px;
    }

    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-sidebar-rail-toggle {
        margin-inline: 0;
    }

    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-brand {
        justify-content: flex-start;
        margin-bottom: 18px;
    }

    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-brand > span:first-child,
    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-nav a span,
    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-sidebar-footer span {
        display: initial;
    }

    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-nav {
        gap: 2px;
    }

    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-nav a {
        border-right-width: 4px;
        justify-content: flex-start;
        min-height: 46px;
        padding: 10px 14px;
    }

    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-nav a.active {
        border-right-width: 4px;
        box-shadow: none;
    }

    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-sidebar-footer {
        padding: 12px 14px 16px;
    }

    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-file-motion {
        min-height: 42px;
        padding: 10px;
    }

    .dj-shell.sidebar-hidden.sidebar-hover-expanded [data-tooltip]::before,
    .dj-shell.sidebar-hidden.sidebar-hover-expanded [data-tooltip]::after {
        display: none;
    }
}

/* Authentication screen */
.auth-body {
    background:
        linear-gradient(135deg, rgba(3, 22, 54, 0.04), rgba(254, 212, 136, 0.10)),
        var(--dj-bg);
    min-height: 100vh;
}

.auth-shell {
    align-items: stretch;
    display: grid;
    grid-template-columns: minmax(320px, 0.85fr) minmax(360px, 1fr);
    min-height: 100vh;
}

.auth-brand-panel {
    background: var(--dj-primary-2);
    color: #fff;
    display: grid;
    gap: 26px;
    padding: clamp(34px, 5vw, 72px);
    place-content: center;
}

.auth-brand-mark {
    align-items: center;
    background: var(--dj-accent);
    color: var(--dj-primary);
    display: inline-flex;
    height: 64px;
    justify-content: center;
    width: 64px;
}

.auth-brand-mark .material-symbols-outlined {
    font-size: 34px;
}

.auth-wide-logo {
    align-items: center;
    display: flex;
    max-width: min(640px, 100%);
    min-height: 210px;
}

.auth-wide-logo img {
    display: block;
    height: auto;
    max-height: 320px;
    max-width: 100%;
    object-fit: contain;
}

.auth-brand-panel .dj-eyebrow {
    color: var(--dj-accent);
}

.auth-brand-panel h1 {
    font-size: clamp(34px, 4vw, 54px);
    font-weight: 900;
    line-height: 1.2;
    margin: 8px 0 14px;
}

.auth-brand-panel p {
    color: #d8e1ef;
    font-size: 18px;
    line-height: 1.9;
    margin: 0;
    max-width: 520px;
}

.auth-security-list {
    display: grid;
    gap: 12px;
}

.auth-security-list span {
    align-items: center;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.10);
    color: #edf4ff;
    display: flex;
    gap: 10px;
    padding: 13px 14px;
}

.auth-security-list i {
    color: var(--dj-accent);
    font-style: normal;
}

.auth-card {
    align-self: center;
    background: #fff;
    border: 1px solid #dce4ee;
    box-shadow: 0 24px 70px rgba(3, 22, 54, 0.12);
    justify-self: center;
    max-width: 560px;
    padding: clamp(28px, 4vw, 46px);
    width: min(560px, calc(100% - 56px));
}

.auth-card header {
    margin-bottom: 28px;
}

.auth-card h2 {
    color: var(--dj-primary);
    font-size: 34px;
    font-weight: 900;
    margin: 0 0 10px;
}

.auth-card p,
.auth-hint {
    color: var(--dj-muted);
    line-height: 1.8;
    margin: 0;
}

.auth-form {
    display: grid;
    gap: 18px;
}

.auth-form label {
    display: grid;
    gap: 8px;
}

.auth-form label > span {
    color: var(--dj-primary);
    font-size: 13px;
    font-weight: 900;
}

.auth-form input:not([type="checkbox"]) {
    background: #f8fbff;
    border: 1px solid #cfd9e7;
    color: var(--dj-primary);
    min-height: 50px;
    outline: 0;
    padding: 0 14px;
    width: 100%;
}

.auth-form input:not([type="checkbox"]):focus {
    background: #fff;
    border-color: var(--dj-accent-dark);
    box-shadow: 0 0 0 4px rgba(254, 212, 136, 0.28);
}

.auth-options {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.auth-check {
    align-items: center;
    display: inline-flex !important;
    gap: 8px !important;
}

.auth-check input {
    height: 18px;
    width: 18px;
}

.auth-submit {
    align-items: center;
    background: var(--dj-primary);
    border: 0;
    color: #fff;
    display: flex;
    font-weight: 900;
    gap: 10px;
    justify-content: center;
    min-height: 52px;
    padding: 0 18px;
}

.auth-submit:hover {
    background: #082552;
}

.auth-submit i {
    font-style: normal;
}

.auth-hint {
    border-top: 1px solid #e4ebf4;
    font-size: 13px;
    margin-top: 24px;
    padding-top: 18px;
}

/* Collapsible application sidebar */
.dj-sidebar,
.dj-main,
.dj-topbar {
    transition: margin 180ms ease, transform 180ms ease, width 180ms ease, flex-basis 180ms ease;
}

.dj-shell.sidebar-hidden .dj-sidebar {
    flex: 0 0 82px;
    max-width: 82px;
    min-width: 82px;
    overflow: hidden;
    transform: none;
    width: 82px;
}

.dj-shell.sidebar-hidden .dj-main {
    flex-basis: 100%;
}

.dj-shell.sidebar-hidden .dj-sidebar-inner {
    padding: 22px 12px;
}

.dj-shell.sidebar-hidden .dj-sidebar-rail-toggle {
    margin-inline: auto;
}

.dj-shell.sidebar-hidden .dj-brand {
    justify-content: center;
    margin-bottom: 24px;
}

.dj-shell.sidebar-hidden .dj-brand > span:first-child,
.dj-shell.sidebar-hidden .dj-nav a span,
.dj-shell.sidebar-hidden .dj-sidebar-footer span {
    display: none;
}

.dj-shell.sidebar-hidden .dj-brand-mark {
    height: 42px;
    width: 42px;
}

.dj-shell.sidebar-hidden .dj-nav {
    gap: 8px;
}

.dj-shell.sidebar-hidden .dj-nav a {
    border-right-width: 0;
    justify-content: center;
    padding: 13px 0;
}

.dj-shell.sidebar-hidden .dj-nav a[data-tooltip]::after,
.dj-shell.sidebar-hidden .dj-file-motion[data-tooltip]::after {
    background: rgba(6, 29, 62, .96);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 12px;
    box-shadow: 0 16px 36px rgba(3, 16, 34, .22);
    color: #fff;
    content: attr(data-tooltip);
    inset-inline-end: calc(100% + 12px);
    opacity: 0;
    padding: 8px 12px;
    pointer-events: none;
    position: absolute;
    text-align: right;
    top: 50%;
    transform: translateY(-50%) translateX(8px);
    transition: opacity .16s ease, transform .16s ease;
    white-space: nowrap;
    z-index: 320;
}

.dj-shell.sidebar-hidden .dj-nav a[data-tooltip]::before,
.dj-shell.sidebar-hidden .dj-file-motion[data-tooltip]::before {
    border: 6px solid transparent;
    border-inline-start-color: rgba(6, 29, 62, .96);
    content: "";
    inset-inline-end: calc(100% + 1px);
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) translateX(8px);
    transition: opacity .16s ease, transform .16s ease;
    z-index: 321;
}

.dj-shell.sidebar-hidden .dj-nav a[data-tooltip]:hover::after,
.dj-shell.sidebar-hidden .dj-nav a[data-tooltip]:hover::before,
.dj-shell.sidebar-hidden .dj-nav a[data-tooltip]:focus-visible::after,
.dj-shell.sidebar-hidden .dj-nav a[data-tooltip]:focus-visible::before,
.dj-shell.sidebar-hidden .dj-file-motion[data-tooltip]:hover::after,
.dj-shell.sidebar-hidden .dj-file-motion[data-tooltip]:hover::before,
.dj-shell.sidebar-hidden .dj-file-motion[data-tooltip]:focus-visible::after,
.dj-shell.sidebar-hidden .dj-file-motion[data-tooltip]:focus-visible::before {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
}

.dj-shell.sidebar-hidden .dj-nav a.active {
    border-right-width: 0;
    box-shadow: inset -3px 0 0 var(--dj-accent-dark);
}

.dj-shell.sidebar-hidden .dj-nav a i {
    font-size: 24px;
}

.dj-shell.sidebar-hidden .dj-sidebar-footer {
    padding: 16px 12px 22px;
}

.dj-shell.sidebar-hidden .dj-file-motion {
    min-height: 46px;
    padding: 0;
}

body.sidebar-hidden .internal-bot-widget {
    right: 96px;
}

body.sidebar-hidden .internal-bot-panel {
    right: 0;
}

@media (max-width: 1180px) {
    body.sidebar-hidden .internal-bot-widget {
        right: 18px;
    }
}

@media (max-width: 720px) {
    body.sidebar-hidden .internal-bot-widget {
        right: 14px;
    }
}

@media (max-width: 900px) {
    .auth-shell {
        grid-template-columns: 1fr;
    }

    .auth-brand-panel {
        min-height: 34vh;
        padding: 30px 22px;
        place-content: start;
    }

    .auth-card {
        margin: -36px auto 28px;
        width: min(620px, calc(100% - 32px));
    }

    .dj-shell.sidebar-hidden .dj-sidebar {
        flex: 0 0 70px;
        max-width: 70px;
        min-width: 70px;
        transform: none;
        width: 70px;
    }
}

/* Final shell sizing overrides. */
.dj-sidebar {
    height: 100dvh !important;
    max-height: 100dvh !important;
}

.dj-sidebar-inner {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 18px 16px 12px !important;
}

.dj-sidebar-footer {
    flex: 0 0 auto !important;
    padding: 12px 14px 16px !important;
}

.dj-shell.sidebar-hidden .dj-sidebar {
    flex: 0 0 76px !important;
    max-width: 76px !important;
    min-width: 76px !important;
    width: 76px !important;
}

.dj-shell.sidebar-hidden .dj-sidebar-inner {
    padding: 16px 10px 12px !important;
}

.dj-shell.sidebar-hidden .dj-nav {
    gap: 4px !important;
}

.dj-shell.sidebar-hidden .dj-nav a {
    min-height: 42px !important;
    padding: 9px 0 !important;
}

.dj-shell.sidebar-hidden .dj-sidebar-footer {
    padding: 12px 10px 16px !important;
}

.dj-topbar {
    min-height: 70px !important;
    padding: 10px 26px !important;
}

/* Lookups console: readable at 100% zoom without horizontal clipping. */
.lookup-console {
    gap: 18px !important;
    overflow-x: hidden;
}

.lookup-console-header {
    align-items: start !important;
    background: #fff;
    border: 1px solid #dce4ee;
    display: grid !important;
    gap: 16px !important;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 240px);
    padding: 18px 20px;
}

.lookup-console-header h1 {
    color: var(--dj-primary);
    font-size: 28px;
    font-weight: 900;
    margin: 4px 0 8px;
}

.lookup-console-header p {
    color: var(--dj-muted);
    line-height: 1.7;
    margin: 0;
}

.lookup-grid {
    display: grid !important;
    gap: 16px !important;
    grid-template-columns: 1fr !important;
}

.lookup-card {
    box-shadow: 0 12px 26px rgba(3, 22, 54, 0.06);
    gap: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
}

.lookup-card-head {
    grid-template-columns: 40px minmax(0, 1fr) auto !important;
    padding: 14px 18px !important;
}

.lookup-create-form,
.lookup-row {
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: minmax(180px, 1.2fr) minmax(170px, 1fr) minmax(120px, 0.7fr) 90px 82px 82px 90px !important;
    padding-inline: 18px !important;
}

.lookup-create-form {
    align-items: end !important;
    background: #fff;
    border-bottom: 1px solid #dce4ee;
    padding-block: 14px !important;
}

.lookup-list {
    gap: 0 !important;
    padding: 0 !important;
}

.lookup-row {
    align-items: end !important;
    border-top: 1px solid #e3eaf3 !important;
    padding-block: 12px !important;
}

.lookup-create-form input,
.lookup-row input,
.action-template-form input,
.action-template-form select,
.action-template-row input,
.action-template-row select {
    min-width: 0;
}

.lookup-row input {
    direction: rtl;
}

.lookup-row label:nth-of-type(2) input,
.lookup-create-form input[name="NameEn"],
.lookup-create-form input[name="Code"],
.lookup-row input[name="NameEn"],
.lookup-row input[name="Code"] {
    direction: ltr;
    text-align: left;
}

.lookup-switch {
    justify-content: center;
    white-space: nowrap;
}

.lookup-add-btn,
.lookup-row button {
    align-items: center;
    justify-content: center;
    min-height: 38px;
    white-space: nowrap;
}

.action-template-admin {
    overflow: hidden;
    padding: 0 !important;
}

.action-template-admin > .dj-section-title {
    background: #eef4fb;
    margin: 0 !important;
    padding: 16px 18px;
}

.action-template-admin > .dj-section-title h2 {
    color: var(--dj-primary);
    font-size: 22px;
    font-weight: 900;
    margin: 0 0 6px;
}

.action-template-admin > .dj-section-title p {
    color: var(--dj-muted);
    margin: 0;
}

.action-template-form {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
    margin: 0 !important;
    padding: 16px 18px !important;
}

.action-template-row {
    grid-template-columns: repeat(4, minmax(150px, 1fr)) repeat(2, 90px) 70px 76px 82px !important;
    overflow-x: auto;
}

@media (max-width: 1500px) {
    .lookup-create-form,
    .lookup-row {
        grid-template-columns: repeat(4, minmax(150px, 1fr)) 76px 76px 86px !important;
    }
}

@media (max-width: 1100px) {
    .lookup-console-header {
        grid-template-columns: 1fr;
    }

    .lookup-create-form,
    .lookup-row,
    .action-template-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 720px) {
    .lookup-create-form,
    .lookup-row,
    .action-template-form,
    .action-template-row {
        grid-template-columns: 1fr !important;
    }
}

.case-search-empty {
    display: grid;
    justify-items: center;
    gap: 12px;
    padding: 54px 24px;
    text-align: center;
    border: 1px dashed rgba(13, 43, 76, 0.2);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 251, 253, 0.86));
    color: var(--dj-text);
}

.case-search-empty .material-symbols-outlined {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(205, 230, 238, 0.75);
    color: var(--dj-primary);
    font-size: 30px;
}

.case-search-empty h2 {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 900;
}

.case-search-empty p {
    max-width: 620px;
    margin: 0;
    color: var(--dj-muted);
    line-height: 1.8;
}

.case-file-quick-search {
    position: sticky;
    top: 84px;
    z-index: 70;
    display: grid;
    grid-template-columns: minmax(210px, 280px) minmax(0, 1fr);
    gap: 18px;
    align-items: end;
    margin: -6px 0 18px;
    padding: 14px 16px;
    border: 1px solid #d8e1ee;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 12px 28px rgba(6, 29, 62, .08);
    backdrop-filter: blur(8px);
}

.case-file-quick-title {
    display: grid;
    gap: 4px;
}

.case-file-quick-title span {
    color: #9a6a05;
    font-weight: 900;
    font-size: 13px;
}

.case-file-quick-title strong {
    color: #061d3e;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.35;
}

.case-file-quick-search form {
    display: grid;
    grid-template-columns: minmax(190px, 260px) minmax(220px, 1fr) auto;
    gap: 12px;
    align-items: end;
    margin: 0;
}

.case-file-quick-search label {
    display: grid;
    gap: 6px;
    margin: 0;
    color: #061d3e;
    font-weight: 900;
}

.case-file-quick-search label > span {
    font-size: 13px;
}

.case-file-quick-search input,
.case-file-quick-search select {
    width: 100%;
    height: 42px;
    border: 1px solid #c9d4e3;
    background: #fff;
    color: #061d3e;
    padding: 0 12px;
    font: inherit;
    font-weight: 800;
}

.case-file-quick-search input:focus,
.case-file-quick-search select:focus {
    outline: 3px solid rgba(0, 91, 150, .18);
    border-color: #005b96;
}

.case-file-quick-search button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 170px;
    height: 42px;
    border: 1px solid #001b42;
    background: #001b42;
    color: #fff;
    font: inherit;
    font-weight: 900;
    white-space: nowrap;
}

.case-file-quick-search.zone-filing {
    border-top: 4px solid #8a6500;
}

.case-file-quick-search.zone-circulating {
    border-top: 4px solid #0f5132;
}

.case-file-quick-search.zone-execution {
    border-top: 4px solid #4f46a5;
}

.case-file-quick-search.zone-preserved {
    border-top: 4px solid #4b5563;
}

.case-file-quick-search.zone-administration {
    border-top: 4px solid #075985;
}

@media (max-width: 1100px) {
    .case-file-quick-search,
    .case-file-quick-search form {
        grid-template-columns: 1fr;
    }

    .case-file-quick-search button {
        width: 100%;
    }
}

/* Modal scroll normalization: keep one scroll area inside each popup. */
body.case-doc-modal-open,
body.billing-modal-open,
body.dialog-modal-open,
body.case-create-modal-open,
body:has(.case-file-viewer:not([hidden])),
body:has(.case-doc-modal:not([hidden])),
body:has(.billing-frame-modal:not([hidden])),
body:has(.poa-modal:not([hidden])) {
    overflow: hidden !important;
}

.case-create-frame-modal[hidden] {
    display: none !important;
}

.case-create-frame-modal {
    position: fixed;
    inset: 0;
    z-index: 2200;
    display: grid;
    place-items: center;
    padding: 18px;
}

.case-create-frame-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 18, 45, .72);
    backdrop-filter: blur(4px);
}

.case-create-frame-panel {
    position: relative;
    width: min(1580px, 97vw);
    height: min(94vh, 1080px);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid #cbd6e5;
    border-radius: 22px;
    background: #f4f7fb;
    box-shadow: 0 28px 80px rgba(0, 18, 45, .34);
}

.case-create-frame-panel > header {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 22px;
    color: #fff;
    background: #001a3d;
}

.case-create-frame-panel > header span {
    color: #d7ad3e;
    font-size: 13px;
}

.case-create-frame-panel > header h2 {
    margin: 2px 0 0;
    color: #fff;
    font-size: clamp(22px, 2vw, 30px);
}

.case-create-frame-panel > header button {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 12px;
    color: #fff;
    background: rgba(255,255,255,.08);
}

.case-create-frame-panel > header button span {
    color: inherit;
    font-size: 28px;
}

.case-create-frame-panel iframe {
    width: 100%;
    height: 100%;
    min-height: 0;
    border: 0;
    background: #f4f7fb;
}

.app-popup-document {
    min-height: 100%;
    overflow-x: hidden;
    background: #f4f7fb;
}

.case-create-popup-shell {
    width: min(1460px, calc(100% - 24px));
    margin: 12px auto 28px;
}

.case-create-popup-shell .client-create-hero {
    padding-block: 16px;
}

/* Case creation: aligned party fields and a compact inline-client dialog. */
.case-basic-panel .case-party-field {
    min-width: 0;
}

.case-basic-panel .case-party-field > input,
.case-basic-panel .case-party-field > select,
.case-basic-panel .case-client-picker > input[type="search"] {
    box-sizing: border-box;
    min-height: 50px;
    width: 100%;
}

.case-basic-panel .case-client-picker {
    grid-column: span 1;
}

.case-basic-panel .case-client-picker-head {
    min-height: 30px;
}

.case-basic-panel .case-client-selected {
    display: block;
    margin-top: 5px;
    min-height: 18px;
}

.case-inline-client {
    box-sizing: border-box;
    max-height: calc(100dvh - 64px);
    max-width: min(760px, calc(100vw - 32px));
    overflow-x: hidden;
    overflow-y: auto;
    padding: 18px 20px;
    width: 760px;
}

.case-inline-client .case-field-grid.compact {
    gap: 12px 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.case-inline-client .case-field input,
.case-inline-client .case-field select {
    min-height: 44px;
    width: 100%;
}

.case-inline-client footer {
    background: #fbfcff;
    bottom: -18px;
    margin-inline: -20px;
    padding: 12px 20px;
    position: sticky;
    z-index: 2;
}

.case-stage-transfer-modal .modal-header small {
    color: var(--dj-muted);
    display: block;
    font-weight: 800;
    margin-bottom: 4px;
}

.case-stage-transfer-modal .modal-body {
    padding: 22px;
}

.case-stage-transfer-warning {
    align-items: flex-start;
    background: var(--dj-surface-high);
    color: var(--dj-muted);
    display: flex;
    gap: 8px;
    line-height: 1.7;
    margin: 18px 0 0;
    padding: 12px 14px;
}

.case-stage-transfer-warning .material-symbols-outlined {
    color: var(--dj-accent-dark);
}

@media (max-width: 760px) {
    .case-inline-client {
        max-height: calc(100dvh - 24px);
        max-width: calc(100vw - 20px);
        width: calc(100vw - 20px);
    }

    .case-inline-client .case-field-grid.compact {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .case-create-frame-modal {
        padding: 0;
    }

    .case-create-frame-panel {
        width: 100vw;
        height: 100dvh;
        border: 0;
        border-radius: 0;
    }

    .case-create-frame-panel > header {
        min-height: 62px;
        padding: 8px 14px;
    }
}

dialog.hearing-frame-modal[open],
dialog.task-frame-modal[open] {
    overflow: hidden !important;
    overscroll-behavior: contain;
}

dialog.hearing-frame-modal iframe,
dialog.task-frame-modal iframe {
    height: 100% !important;
    min-height: 0 !important;
}

.case-doc-modal,
.case-file-viewer,
.billing-frame-modal,
.poa-modal {
    overflow: hidden !important;
    overscroll-behavior: contain;
}

.case-doc-modal-panel,
.case-file-viewer-panel,
.billing-frame-panel,
.poa-modal-panel {
    display: flex !important;
    flex-direction: column;
    overflow: hidden !important;
    max-height: calc(100vh - 36px);
    max-height: calc(100dvh - 36px);
}

.case-doc-modal-panel > header,
.case-file-viewer-panel > header,
.billing-frame-panel > header,
.poa-modal-header {
    flex: 0 0 auto;
}

.case-doc-modal-content,
.poa-modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto !important;
}

.case-file-viewer-canvas {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden !important;
}

.case-file-viewer-canvas iframe {
    height: 100% !important;
    min-height: 0 !important;
    width: 100% !important;
    transform: none !important;
}

.document-create-modal-panel iframe,
.billing-frame-panel iframe {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    block-size: auto;
}

.modal.show {
    overflow: hidden !important;
}

.modal-dialog-scrollable {
    height: calc(100vh - var(--bs-modal-margin) * 2);
    height: calc(100dvh - var(--bs-modal-margin) * 2);
}

.modal-dialog-scrollable .modal-content,
.dj-modal-content {
    overflow: hidden;
}

.modal-dialog-scrollable .modal-body,
.dj-modal-content .modal-body {
    min-height: 0;
    overflow-y: auto;
}

.case-doc-modal[hidden],
.case-file-viewer[hidden],
.billing-frame-modal[hidden],
.poa-modal[hidden] {
    display: none !important;
}

html[dir="rtl"] .dj-nav a i,
html[dir="rtl"] .dj-file-motion i {
    order: -1;
}

html[dir="rtl"] .dj-nav a {
    justify-content: flex-start;
}

html[dir="rtl"] .dj-nav a span {
    text-align: right;
}

/* Quick-search layout reset: keep fixed search bars compact and prevent content from sliding underneath. */
.dj-content {
    padding-top: 0 !important;
}

.modern-ops-page,
.case-clean-page,
.case-direct-search,
.client-direct-page,
.poa-workspace,
.hearing-agenda-only {
    padding-top: 0 !important;
}

.case-file-quick-search,
.case-direct-form,
.client-direct-search,
.client-file-quick-search,
.poa-search-strip,
.poa-details-search,
.consult-search-strip,
.hearing-agenda-filter {
    top: 80px !important;
    z-index: 160 !important;
    margin-top: 0 !important;
    margin-bottom: 22px !important;
    isolation: isolate;
}

.case-file-quick-search + .case-clean-hero,
.case-direct-form + .case-search-results,
.client-direct-search + .client-direct-results,
.client-file-quick-search + .modern-page-hero,
.poa-search-strip + .modern-page-hero,
.poa-details-search + .modern-page-hero,
.consult-search-strip + .modern-page-hero,
.hearing-agenda-filter + .modern-stat-grid {
    margin-top: 0 !important;
    clear: both;
}

.case-clean-hero,
.modern-page-hero,
.case-direct-hero,
.client-direct-hero,
.hearing-agenda-hero {
    position: relative;
    z-index: 1;
}

.case-clean-hero {
    padding-top: 22px !important;
}

/* Dashboard composition: keep operational lists visually balanced. */
.dashboard-pro {
    gap: 20px !important;
}

.dashboard-hero {
    margin-bottom: 4px;
}

.dashboard-kpi-grid {
    align-items: stretch;
}

.dashboard-kpi {
    min-height: 146px;
}

.dashboard-quick-grid {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
}

.dashboard-layout {
    grid-template-columns: 1fr !important;
}

.dashboard-main {
    align-items: stretch;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dashboard-main > .dashboard-panel {
    display: flex;
    flex-direction: column;
    min-height: 460px;
}

.dashboard-main .agenda-list,
.dashboard-main .task-focus-list {
    align-content: start;
    flex: 1;
}

.dashboard-side {
    align-items: stretch;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dashboard-side > .dashboard-panel {
    min-height: 250px;
}

.dashboard-bottom-grid {
    align-items: stretch;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)) !important;
}

.dashboard-bottom-grid > .dashboard-panel {
    display: flex;
    flex-direction: column;
    min-height: 420px;
}

.dashboard-table,
.alert-list {
    align-content: start;
    flex: 1;
}

.agenda-list article,
.task-focus-list article,
.dashboard-table a {
    min-width: 0;
}

.agenda-list strong,
.task-focus-list strong,
.dashboard-table strong,
.dashboard-table span {
    overflow-wrap: anywhere;
}

@media (max-width: 1200px) {
    .dashboard-main,
    .dashboard-side {
        grid-template-columns: 1fr !important;
    }

    .dashboard-main > .dashboard-panel,
    .dashboard-bottom-grid > .dashboard-panel {
        min-height: 0;
    }
}

/* Final layout guard for fixed quick-search bars and modal viewers. */
.app-fixed-search,
.case-file-quick-search,
.case-direct-form,
.client-direct-search,
.client-file-quick-search,
.poa-search-strip,
.poa-details-search,
.consult-search-strip,
.hearing-agenda-filter {
    position: sticky !important;
    top: 72px !important;
    z-index: 30 !important;
    display: grid;
    align-items: end;
    gap: 12px !important;
    margin: 0 0 20px !important;
    transform: none !important;
    overflow: visible !important;
    isolation: auto !important;
}

.poa-search-strip,
.poa-details-search,
.consult-search-strip {
    grid-template-columns: minmax(280px, 1fr) auto auto auto;
    padding: 16px !important;
    background: #fff;
    border: 1px solid #dfe6ef;
    border-top: 4px solid #0f6b4d;
    box-shadow: 0 12px 30px rgba(1, 22, 53, .08);
}

.poa-search-strip label,
.poa-details-search label,
.consult-search-strip label {
    display: grid;
    gap: 6px;
    margin: 0;
    color: #001b3f;
    font-weight: 800;
}

.poa-search-strip input,
.poa-details-search input,
.consult-search-strip input,
.consult-search-strip select {
    min-height: 48px;
    border: 1px solid #cfd8e5;
    padding: 0 16px;
    font-weight: 800;
}

.case-clean-hero,
.modern-page-hero,
.entity-detail-hero,
.case-clean-actions,
.modern-actions,
.modern-stat-grid,
.modern-list-panel {
    position: relative;
    z-index: 1 !important;
}

.case-file-quick-search + .case-clean-hero,
.poa-search-strip + .modern-page-hero,
.poa-details-search + .modern-page-hero,
.consult-search-strip + .modern-page-hero,
.hearing-agenda-filter + .modern-stat-grid {
    margin-top: 18px !important;
    clear: both;
}

.case-clean-actions,
.modern-actions {
    margin-top: 12px !important;
}

.details-with-fixed-search,
.modern-ops-page,
.case-clean-page,
.poa-workspace,
.consult-workspace {
    display: grid;
    gap: 18px;
}

.consult-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.consult-form-grid label {
    display: grid;
    gap: 7px;
    color: #001b3f;
    font-weight: 800;
}

.consult-form-grid .wide {
    grid-column: 1 / -1;
}

.consult-form-grid input,
.consult-form-grid select,
.consult-form-grid textarea {
    width: 100%;
    min-height: 44px;
    border: 1px solid #cfd8e5;
    padding: 10px 12px;
    font: inherit;
    background: #fff;
}

.consult-form-grid small {
    color: #66758a;
    font-weight: 600;
}

.app-form-modal[hidden],
.document-viewer-modal[hidden] {
    display: none !important;
}

.app-form-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: stretch;
}

.app-form-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 24, 58, .58);
}

.app-form-modal-panel {
    position: relative;
    width: min(1280px, calc(100vw - 44px));
    max-height: calc(100vh - 44px);
    margin: 22px auto;
    display: grid;
    grid-template-rows: auto 1fr;
    background: #fff;
    box-shadow: 0 24px 60px rgba(0, 17, 41, .25);
    overflow: hidden;
}

.app-form-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 22px;
    background: #fff;
    border-bottom: 1px solid #dfe6ef;
}

.app-form-modal-header h2 {
    margin: 0;
    color: #001b3f;
    font-weight: 900;
}

.app-icon-btn {
    width: 48px;
    height: 48px;
    border: 0;
    background: #001b3f;
    color: #fff;
    display: grid;
    place-items: center;
}

.app-form-modal-body {
    min-height: 0;
    overflow: auto;
    padding: 22px;
}

.poa-form-note,
.poa-attachment-box {
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px solid #dfe6ef;
    background: #f6f9fd;
}

.poa-form-note strong {
    color: #001b3f;
}

.poa-form-note span,
.poa-attachment-box p {
    margin: 0;
    color: #64748b;
    font-weight: 600;
}

.poa-upload-row {
    display: grid;
    grid-template-columns: minmax(220px, 320px) auto;
    gap: 12px;
    align-items: center;
    justify-content: start;
}

.poa-document-action,
.consult-document-action {
    border: 0;
    background: transparent;
    padding: 0;
    font: inherit;
}

.document-viewer-modal {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: grid;
    background: rgba(0, 24, 58, .58);
}

.document-viewer-backdrop {
    position: absolute;
    inset: 0;
}

.document-viewer-panel {
    position: relative;
    width: min(1500px, calc(100vw - 32px));
    height: min(920px, calc(100vh - 32px));
    margin: 16px auto;
    display: grid;
    grid-template-rows: auto 1fr;
    background: #eef4fb;
    box-shadow: 0 24px 70px rgba(0, 17, 41, .35);
    overflow: hidden;
}

.document-viewer-panel header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 18px;
    background: #fff;
    border-bottom: 1px solid #d9e2ef;
}

.document-viewer-panel h2 {
    margin: 0;
    color: #001b3f;
    font-weight: 900;
}

.document-viewer-tools {
    display: flex;
    gap: 8px;
}

.document-viewer-tools button,
.document-viewer-tools a {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 0;
    background: #001b3f;
    color: #fff;
    text-decoration: none;
}

.document-viewer-canvas {
    min-height: 0;
}

.document-viewer-canvas iframe {
    width: 100%;
    height: 100%;
    border: 0;
    background: #eef4fb;
}

@media (max-width: 1100px) {
    .case-file-quick-search,
    .case-file-quick-search form,
    .poa-search-strip,
    .poa-details-search,
    .consult-search-strip,
    .hearing-agenda-filter {
        grid-template-columns: 1fr !important;
    }

    .consult-form-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .app-fixed-search,
    .case-file-quick-search,
    .case-direct-form,
    .client-direct-search,
    .client-file-quick-search,
    .poa-search-strip,
    .poa-details-search,
    .consult-search-strip,
    .hearing-agenda-filter {
        top: 0 !important;
    }

    .app-form-modal-panel {
        width: 100vw;
        max-height: 100vh;
        margin: 0;
    }

    .poa-upload-row {
        grid-template-columns: 1fr;
    }
}

/* Final detail-page spacing pass: search bars stay readable without hiding actions below them. */
.dj-main > .dj-topbar + .dj-content {
    padding-top: 14px !important;
}

.case-clean-page,
.poa-workspace,
.consult-workspace,
.modern-ops-page {
    gap: 14px !important;
}

.case-file-quick-search,
.poa-search-strip,
.poa-details-search,
.consult-search-strip {
    position: sticky !important;
    top: 76px !important;
    z-index: 20 !important;
    margin-block: 0 26px !important;
}

.case-file-quick-search + .case-clean-hero,
.poa-search-strip + .modern-page-hero,
.poa-details-search + .modern-page-hero,
.consult-search-strip + .modern-page-hero {
    margin-top: 34px !important;
    padding-top: 18px !important;
}

.case-clean-actions,
.modern-actions {
    position: relative;
    z-index: 35 !important;
    align-self: start;
    transform: none !important;
}

.case-clean-actions button,
.case-clean-actions a,
.modern-actions button,
.modern-actions a {
    white-space: nowrap;
}

.modern-page-hero h1,
.case-clean-hero h1 {
    overflow-wrap: anywhere;
}

.consult-workspace .modern-page-hero,
.poa-workspace .modern-page-hero {
    min-height: 88px;
}

/* Dashboard polish: larger colored summary tiles and wider operational panels. */
.dashboard-pro {
    gap: 26px !important;
}

.dashboard-quick-grid {
    display: grid !important;
    gap: 16px !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
}

.dashboard-quick-grid a {
    align-items: center !important;
    border: 1px solid #dce5f0 !important;
    border-inline-start: 6px solid var(--dj-primary) !important;
    display: grid !important;
    gap: 8px 14px !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    justify-content: stretch !important;
    min-height: 96px !important;
    padding: 16px 18px !important;
    text-align: start !important;
}

.dashboard-quick-grid a > .material-symbols-outlined {
    align-items: center;
    background: rgba(0, 31, 63, 0.08);
    color: var(--dj-primary);
    display: flex;
    font-size: 28px;
    grid-row: span 2;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.dashboard-quick-grid b {
    background: transparent !important;
    color: var(--dj-primary) !important;
    font-size: 24px !important;
    line-height: 1.1 !important;
    min-width: 0 !important;
    padding: 0 !important;
    text-align: start !important;
}

.dashboard-quick-grid em {
    color: #334155;
    font-style: normal;
    font-weight: 900;
}

.dashboard-quick-grid .quick-client { border-inline-start-color: #0f766e !important; }
.dashboard-quick-grid .quick-client .material-symbols-outlined { background: #ccfbf1; color: #0f766e; }
.dashboard-quick-grid .quick-document { border-inline-start-color: #2563eb !important; }
.dashboard-quick-grid .quick-document .material-symbols-outlined { background: #dbeafe; color: #2563eb; }
.dashboard-quick-grid .quick-poa { border-inline-start-color: #7c3aed !important; }
.dashboard-quick-grid .quick-poa .material-symbols-outlined { background: #ede9fe; color: #7c3aed; }
.dashboard-quick-grid .quick-consult { border-inline-start-color: #c2410c !important; }
.dashboard-quick-grid .quick-consult .material-symbols-outlined { background: #ffedd5; color: #c2410c; }
.dashboard-quick-grid .quick-contract { border-inline-start-color: #8a6a18 !important; }
.dashboard-quick-grid .quick-contract .material-symbols-outlined { background: #fff7d6; color: #8a6a18; }
.dashboard-quick-grid .quick-hearing { border-inline-start-color: #0369a1 !important; }
.dashboard-quick-grid .quick-hearing .material-symbols-outlined { background: #e0f2fe; color: #0369a1; }
.dashboard-quick-grid .quick-task { border-inline-start-color: #16a34a !important; }
.dashboard-quick-grid .quick-task .material-symbols-outlined { background: #dcfce7; color: #16a34a; }

.dashboard-kpi-grid {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
}

.dashboard-kpi {
    min-height: 170px !important;
    align-content: start;
    column-gap: 10px;
    grid-template-areas:
        "icon label"
        "value value"
        "hint hint";
    grid-template-columns: 42px minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    row-gap: 8px;
}

.dashboard-kpi .material-symbols-outlined {
    align-items: center;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    display: flex;
    font-size: 24px;
    grid-area: icon;
    height: 42px;
    justify-content: center;
    justify-self: stretch;
    width: 42px;
}

.dashboard-kpi small {
    align-self: center;
    grid-area: label;
    margin: 0;
    min-width: 0;
}

.dashboard-kpi strong {
    grid-area: value;
    margin-top: 4px;
}

.dashboard-kpi em {
    align-self: start;
    grid-area: hint;
}

.dashboard-kpi.money .material-symbols-outlined {
    background: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .18);
}

/* Keep all six primary dashboard indicators on one row on desktop. */
@media (min-width: 1280px) {
    .dashboard-kpi-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    }

    .dashboard-kpi {
        min-width: 0;
        padding-inline: 18px;
    }

    .dashboard-kpi strong {
        font-size: clamp(27px, 1.8vw, 34px);
    }
}

@media (min-width: 761px) and (max-width: 1279px) {
    .dashboard-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

.dashboard-kpi.primary { border-right-color: var(--dj-primary) !important; }
.dashboard-kpi.poa { border-right-color: #7c3aed !important; }
.dashboard-kpi.poa .material-symbols-outlined { color: #7c3aed !important; }
.dashboard-kpi.poa em { color: #7c3aed !important; }
.dashboard-kpi.consult { border-right-color: #c2410c !important; }
.dashboard-kpi.consult .material-symbols-outlined { color: #c2410c !important; }
.dashboard-kpi.consult em { color: #c2410c !important; }
.dashboard-kpi.contract { border-right-color: #8a6a18 !important; }
.dashboard-kpi.contract .material-symbols-outlined { color: #8a6a18 !important; }
.dashboard-kpi.contract em { color: #8a6a18 !important; }

.dashboard-quick-grid {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
}

.dashboard-quick-grid .quick-task-progress { border-inline-start-color: #175cd3 !important; }
.dashboard-quick-grid .quick-task-progress .material-symbols-outlined { background: #eff6ff; color: #175cd3; }
.dashboard-quick-grid .quick-task-danger { border-inline-start-color: #b42318 !important; }
.dashboard-quick-grid .quick-task-danger .material-symbols-outlined { background: #fff1f0; color: #b42318; }
.dashboard-quick-grid .quick-task-danger b,
.dashboard-quick-grid .quick-task-danger em { color: #b42318 !important; }
.dashboard-quick-grid .quick-task-done { border-inline-start-color: #16a34a !important; }
.dashboard-quick-grid .quick-task-done .material-symbols-outlined { background: #dcfce7; color: #16a34a; }
.dashboard-quick-grid .quick-task-done b,
.dashboard-quick-grid .quick-task-done em { color: #087443 !important; }

/* Match the operational widgets to the six-column KPI row. */
@media (min-width: 1280px) {
    .dashboard-quick-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    }

    .dashboard-quick-grid a {
        min-width: 0;
        padding-inline: 14px !important;
    }

    .dashboard-quick-grid b {
        font-size: clamp(20px, 1.35vw, 24px) !important;
    }
}

@media (min-width: 761px) and (max-width: 1279px) {
    .dashboard-quick-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

.dashboard-side {
    grid-template-columns: repeat(3, minmax(260px, 1fr)) !important;
}

.status-pills {
    gap: 12px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.status-pills a,
.status-pills a.progress {
    align-content: center !important;
    border: 1px solid #dce5f0;
    display: grid !important;
    height: auto !important;
    min-height: 86px !important;
    overflow: visible !important;
    padding: 16px !important;
    text-align: center !important;
    white-space: normal !important;
}

.status-pills a.open { background: #f1f5f9; color: var(--dj-primary); }
.status-pills a.progress { background: #eff6ff !important; color: #175cd3 !important; }
.status-pills a.danger { background: #fff1f0 !important; color: #b42318 !important; }
.status-pills a.done { background: #ecfdf3 !important; color: #087443 !important; }

.status-pills b {
    font-size: 28px !important;
    line-height: 1.1;
}

.status-pills span {
    display: block;
    font-size: 16px;
    margin-top: 6px;
}

.dashboard-bottom-grid {
    grid-template-columns: repeat(2, minmax(420px, 1fr)) !important;
}

.dashboard-bottom-grid > .dashboard-panel {
    min-height: 360px !important;
}

.dashboard-table a {
    align-items: center !important;
    grid-template-columns: minmax(130px, .9fr) minmax(180px, 1.4fr) 120px !important;
    min-height: 72px;
}

.dashboard-table strong,
.dashboard-table span {
    overflow-wrap: normal !important;
    word-break: normal !important;
}

@media (max-width: 1350px) {
    .dashboard-side,
    .dashboard-bottom-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Unified settings workspace */
.settings-workspace {
    direction: rtl;
    color: var(--dj-ink);
}

.settings-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.settings-hero h2 {
    margin: 6px 0 8px;
    font-size: 34px;
    font-weight: 900;
    color: var(--dj-ink);
    letter-spacing: 0;
}

.settings-hero p {
    margin: 0;
    color: var(--dj-muted);
    font-size: 15px;
}

.settings-save-btn {
    border: 0;
    background: #052044;
    color: #fff;
    min-height: 56px;
    padding: 0 28px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 900;
    box-shadow: 0 14px 30px rgba(5, 32, 68, 0.16);
}

.settings-save-btn .material-symbols-outlined {
    font-size: 22px;
}

.settings-message {
    border: 1px solid #cfe1ff;
    background: #edf5ff;
    color: #082a58;
    padding: 14px 18px;
    margin-bottom: 18px;
    font-weight: 800;
}

.settings-layout {
    display: grid;
    grid-template-columns: minmax(230px, 280px) minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}

.settings-tabs {
    position: sticky;
    top: 96px;
    background: #fff;
    border: 1px solid #dde5ef;
    box-shadow: 0 18px 46px rgba(15, 37, 68, 0.07);
    padding: 12px;
    display: grid;
    gap: 8px;
}

.settings-tabs a {
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    color: #17233a;
    text-decoration: none;
    font-weight: 900;
    border-inline-end: 4px solid transparent;
}

.settings-tabs a:hover,
.settings-tabs a.active {
    background: #f2f6fb;
    color: #003f93;
    border-inline-end-color: #8a6a17;
}

.settings-tabs .material-symbols-outlined {
    color: #6b7484;
}

.settings-content {
    display: grid;
    gap: 28px;
}

.settings-panel {
    background: #fff;
    border: 1px solid #dde5ef;
    box-shadow: 0 18px 46px rgba(15, 37, 68, 0.06);
    padding: 32px;
    scroll-margin-top: 120px;
}

.settings-section-title {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 26px;
}

.settings-section-title > .material-symbols-outlined {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eef3f9;
    color: #052044;
    font-size: 26px;
}

.settings-section-title h3 {
    margin: 0 0 5px;
    color: #003f93;
    font-size: 23px;
    font-weight: 900;
}

.settings-section-title p {
    margin: 0;
    color: var(--dj-muted);
    font-size: 13px;
}

.settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 28px;
}

.settings-field {
    display: grid;
    gap: 8px;
}

.settings-field-wide {
    grid-column: 1 / -1;
}

.settings-field > span {
    font-size: 13px;
    color: #29384f;
    font-weight: 900;
}

.settings-field input,
.settings-field textarea,
.settings-field select,
.settings-switch-row input,
.settings-switch-row select {
    width: 100%;
    border: 1px solid transparent;
    background: #f4f6f9;
    color: #052044;
    min-height: 52px;
    padding: 12px 14px;
    font-weight: 800;
    outline: none;
}

.settings-field textarea {
    resize: vertical;
}

.settings-field input:focus,
.settings-field textarea:focus,
.settings-field select:focus,
.settings-switch-row input:focus,
.settings-switch-row select:focus {
    border-color: #2259bf;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(34, 89, 191, 0.12);
}

.settings-logo-box {
    margin-top: 26px;
    border: 1px dashed #b8c6d8;
    background: #fbfcfe;
    padding: 18px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.settings-logo-preview {
    width: 116px;
    height: 116px;
    background: #eef3f9;
    border: 1px solid #d6e0ec;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex: 0 0 auto;
}

.settings-logo-preview img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 10px;
}

.settings-wide-logo-preview {
    height: 150px;
    width: min(360px, 100%);
}

.settings-wide-logo-preview img {
    padding: 14px;
}

.settings-logo-preview .material-symbols-outlined {
    font-size: 40px;
    color: #8a97aa;
}

.settings-logo-body h4 {
    margin: 0 0 6px;
    color: #003f93;
    font-weight: 900;
}

.settings-logo-body p {
    margin: 0 0 14px;
    color: var(--dj-muted);
    font-size: 13px;
}

.settings-logo-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.settings-file-btn {
    background: #e8edf4;
    color: #052044;
    padding: 11px 18px;
    font-weight: 900;
    cursor: pointer;
}

.settings-file-btn input {
    display: none;
}

.settings-remove-logo {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #b3261e;
    font-weight: 900;
    cursor: pointer;
}

.settings-info-note {
    margin-top: 26px;
    background: #ffe784;
    color: #453900;
    padding: 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 800;
}

.settings-security-list {
    display: grid;
    gap: 18px;
}

.settings-switch-row {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) minmax(130px, 190px);
    gap: 16px;
    align-items: center;
    background: #f7f9fc;
    padding: 16px;
}

.settings-switch-row strong {
    display: block;
    color: #003f93;
    font-weight: 900;
    margin-bottom: 4px;
}

.settings-switch-row small {
    display: block;
    color: var(--dj-muted);
}

.settings-switch-icon {
    width: 44px;
    height: 44px;
    background: #e8edf4;
    color: #052044;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.settings-test-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
}

.settings-integration-table {
    overflow-x: auto;
    border: 1px solid #dde5ef;
}

.settings-integration-table table {
    width: 100%;
    border-collapse: collapse;
    min-width: 720px;
}

.settings-integration-table th,
.settings-integration-table td {
    padding: 14px 16px;
    border-bottom: 1px solid #e7edf5;
    text-align: start;
}

.settings-integration-table th {
    background: #e8eef6;
    color: #052044;
    font-weight: 900;
}

.settings-empty {
    background: #f4f6f9;
    color: var(--dj-muted);
    padding: 22px;
    text-align: center;
    font-weight: 800;
}

@media (max-width: 1100px) {
    .settings-layout {
        grid-template-columns: 1fr;
    }

    .settings-tabs {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .settings-hero,
    .settings-logo-box {
        align-items: stretch;
        flex-direction: column;
    }

    .settings-grid {
        grid-template-columns: 1fr;
    }

    .settings-tabs {
        grid-template-columns: 1fr;
    }

    .settings-switch-row {
        grid-template-columns: 44px minmax(0, 1fr);
    }

    .settings-switch-row input,
    .settings-switch-row select {
        grid-column: 1 / -1;
    }
}

/* Reports cleanup: keep report selection in the side menu only. */
.reports-side-menu a {
    grid-template-columns: 1fr !important;
}

.reports-side-menu a > span {
    min-width: 0;
}

.reports-selected-card-simple {
    grid-template-columns: 1fr !important;
}

.reports-selected-card-simple h2 {
    margin-top: 4px;
}

.reports-toolbar .material-symbols-rounded,
.reports-toolbar .material-symbols-outlined,
.reports-side-menu .material-symbols-rounded,
.reports-side-menu .material-symbols-outlined,
.report-empty-state .material-symbols-rounded,
.report-empty-state .material-symbols-outlined {
    display: none !important;
}

/* Report viewer: keep results in a clean printable page frame. */
.reports-filter-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(190px, 1fr));
    gap: 14px;
}

.reports-filter-grid label {
    display: grid;
    gap: 7px;
    font-weight: 800;
    color: var(--ink);
}

.reports-filter-grid input {
    width: 100%;
    min-height: 46px;
    border: 1px solid var(--line);
    background: #fff;
    padding: 0 14px;
    font: inherit;
    color: var(--ink);
}

.reports-toolbar {
    justify-content: flex-start;
    flex-wrap: wrap;
}

.report-sheet:not(.report-sheet-empty) {
    background: #7f858b !important;
    border: 0 !important;
    padding: 30px !important;
    min-height: 720px;
    overflow: auto;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08);
}

.report-viewer-frame {
    min-width: 980px;
    display: flex;
    justify-content: center;
}

.report-page-frame {
    width: min(1120px, 100%);
    min-height: 720px;
    background: #fff;
    padding: 28px 34px;
    color: var(--ink);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .22);
}

.report-page-frame .report-table-wrap {
    overflow: visible;
}

.report-page-frame .report-table {
    width: 100%;
}

.report-page-frame .report-print-footer {
    margin-top: 24px;
}

@media (max-width: 900px) {
    .reports-filter-grid {
        grid-template-columns: 1fr;
    }

    .report-viewer-frame {
        min-width: 760px;
    }
}

@media print {
    .report-sheet:not(.report-sheet-empty) {
        background: #fff !important;
        padding: 0 !important;
        min-height: 0;
        overflow: visible;
        box-shadow: none;
    }

    .report-viewer-frame {
        display: block;
        min-width: 0;
    }

    .report-page-frame {
        width: 100%;
        min-height: 0;
        padding: 0;
        box-shadow: none;
    }
}

/* Reports layout: compact picker that expands without changing filters. */
@media (min-width: 901px) {
    .reports-layout {
        grid-template-columns: 82px minmax(0, 1fr) !important;
        transition: grid-template-columns .18s ease;
    }

    .reports-layout:has(.reports-side-menu:hover),
    .reports-layout:has(.reports-side-menu:focus-within) {
        grid-template-columns: minmax(220px, 280px) minmax(0, 1fr) !important;
    }

    .reports-side-menu {
        overflow: hidden;
        padding: 12px !important;
        transition: box-shadow .18s ease, border-color .18s ease;
    }

    .reports-side-menu:hover,
    .reports-side-menu:focus-within {
        border-color: #caa24b;
        box-shadow: 0 18px 44px rgba(6, 29, 60, .12);
    }

    .reports-side-menu strong {
        display: block;
        width: 46px;
        height: 46px;
        margin: 0 auto 8px !important;
        overflow: hidden;
        color: transparent !important;
        background: #061d3c;
        position: relative;
    }

    .reports-side-menu strong::before {
        content: "☰";
        position: absolute;
        inset: 0;
        display: grid;
        place-items: center;
        color: #fff;
        font-size: 24px;
        line-height: 1;
    }

    .reports-side-menu:hover strong,
    .reports-side-menu:focus-within strong {
        width: auto;
        height: auto;
        margin: 0 0 8px !important;
        color: #8b650f !important;
        background: transparent;
    }

    .reports-side-menu:hover strong::before,
    .reports-side-menu:focus-within strong::before {
        content: none;
    }

    .reports-side-menu a {
        min-height: 46px !important;
        justify-items: center;
        padding: 10px !important;
        white-space: nowrap;
        border-right-width: 3px !important;
    }

    .reports-side-menu a > span {
        max-width: 1.65em;
        overflow: hidden;
        text-overflow: clip;
    }

    .reports-side-menu:hover a,
    .reports-side-menu:focus-within a {
        justify-items: stretch;
        padding: 10px 12px !important;
    }

    .reports-side-menu:hover a > span,
    .reports-side-menu:focus-within a > span {
        max-width: none;
        overflow: visible;
        text-overflow: unset;
    }
}

@media (max-width: 900px) {
    .reports-layout {
        grid-template-columns: 1fr !important;
    }

    .reports-side-menu {
        position: static !important;
        display: flex !important;
        align-items: center;
        gap: 8px;
        overflow-x: auto;
        padding: 10px !important;
        scrollbar-width: thin;
    }

    .reports-side-menu strong {
        flex: 0 0 auto;
        margin: 0 !important;
        white-space: nowrap;
    }

    .reports-side-menu a {
        flex: 0 0 auto;
        min-height: 42px !important;
        padding: 9px 12px !important;
        border-right-width: 3px !important;
        white-space: nowrap;
    }
}

/* Header user manual: final override after legacy topbar sizing rules. */
.dj-top-actions .dj-user-guide-link {
    border-radius: 14px;
    flex-direction: column;
    gap: 1px;
    height: 54px;
    line-height: 1;
    padding: 5px 8px;
    text-decoration: none;
    width: 82px;
}

.dj-top-actions .dj-user-guide-link .material-symbols-outlined {
    font-size: 25px;
}

.dj-top-actions .dj-user-guide-link small {
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

/* Smart assistant: final override after all legacy bot rules. */
.internal-bot-widget .internal-bot-panel {
    grid-template-rows: auto minmax(300px, 1fr) auto auto !important;
    height: min(720px, calc(100vh - 96px)) !important;
    max-height: min(720px, calc(100vh - 96px)) !important;
    width: min(560px, calc(100vw - var(--sidebar-width, 0px) - 48px)) !important;
}

.internal-bot-widget .internal-bot-messages {
    align-content: start !important;
    display: grid !important;
    gap: 12px !important;
    overflow-y: auto !important;
    padding: 14px !important;
}

.internal-bot-widget .internal-bot-command-menu {
    background: #fff !important;
    border-bottom: 0 !important;
    border-top: 1px solid #dce4ee !important;
    display: none !important;
    gap: 8px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-height: 180px !important;
    overflow-y: auto !important;
    padding: 10px !important;
    position: static !important;
    top: auto !important;
    z-index: auto !important;
}

.internal-bot-widget .internal-bot-command-menu.is-active {
    display: grid !important;
}

.internal-bot-widget .internal-bot-command-menu button {
    background: #f4f7fb !important;
    border: 1px solid #d8e2ee !important;
    color: var(--navy, #071d3a) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    min-height: 38px !important;
    padding: 8px 10px !important;
    white-space: nowrap !important;
}

.internal-bot-widget .internal-bot-command-menu button:hover,
.internal-bot-widget .internal-bot-command-menu.is-active button:first-child {
    background: var(--navy, #071d3a) !important;
    border-color: var(--navy, #071d3a) !important;
    color: #fff !important;
}

.internal-bot-widget .internal-bot-form {
    border-top: 1px solid #dce4ee !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 50px !important;
    min-height: 56px !important;
}

.internal-bot-widget .internal-bot-form input {
    background: #fff !important;
    border: 0 !important;
    font-size: 16px !important;
    height: 56px !important;
    line-height: 56px !important;
    min-height: 56px !important;
    padding: 0 16px !important;
}

.internal-bot-widget .internal-bot-form button {
    align-items: center !important;
    display: flex !important;
    justify-content: center !important;
    min-height: 56px !important;
}

.internal-bot-widget .internal-bot-message {
    font-size: 15px !important;
    line-height: 1.7 !important;
    max-width: 92% !important;
    padding: 11px 13px !important;
}

.internal-bot-widget .internal-bot-options,
.internal-bot-widget .internal-bot-tools {
    display: none !important;
}

@media (max-width: 680px) {
    .internal-bot-widget .internal-bot-panel {
        bottom: 58px !important;
        height: min(720px, calc(100vh - 80px)) !important;
        width: calc(100vw - 24px) !important;
    }

    .internal-bot-widget .internal-bot-command-menu {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Batch 1: global refinement only. Shared buttons, forms, cards, and filter surfaces. */
:root {
    --ui-radius-sm: 12px;
    --ui-radius-md: 16px;
    --ui-radius-lg: 22px;
    --ui-control-height: 44px;
    --ui-card-padding: 18px;
    --ui-soft-border: rgba(15, 23, 42, .08);
    --ui-soft-shadow: 0 14px 36px rgba(15, 23, 42, .08);
    --ui-focus-ring: 0 0 0 4px rgba(202, 162, 75, .18);
}

.btn,
.btn-primary,
.btn-secondary,
.btn-light,
.btn-link,
.dj-btn,
.modern-btn,
.stitch-btn,
.report-tool-button,
.settings-save-btn,
.lookup-add-btn {
    align-items: center;
    border-radius: var(--ui-radius-sm) !important;
    font-size: .95rem;
    font-weight: 800 !important;
    gap: 8px;
    justify-content: center;
    min-height: var(--ui-control-height);
    padding: 10px 16px !important;
    text-decoration: none;
    transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease;
}

.btn:hover,
.btn-primary:hover,
.btn-secondary:hover,
.btn-light:hover,
.dj-btn:hover,
.modern-btn:hover,
.stitch-btn:hover,
.report-tool-button:hover,
.settings-save-btn:hover,
.lookup-add-btn:hover {
    box-shadow: 0 10px 24px rgba(15, 23, 42, .12);
    transform: translateY(-1px);
}

.btn:focus-visible,
.btn-primary:focus-visible,
.btn-secondary:focus-visible,
.btn-light:focus-visible,
.btn-link:focus-visible,
.dj-btn:focus-visible,
.modern-btn:focus-visible,
.stitch-btn:focus-visible,
.report-tool-button:focus-visible,
.settings-save-btn:focus-visible,
.lookup-add-btn:focus-visible,
button:focus-visible,
a:focus-visible {
    box-shadow: var(--ui-focus-ring);
    outline: 0;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
select,
textarea,
.form-control,
.form-select,
.select2-selection--single,
.select2-selection--multiple {
    background: #fff;
    border: 1px solid var(--ui-soft-border) !important;
    border-radius: var(--ui-radius-sm) !important;
    box-shadow: none;
    font-size: .96rem;
    min-height: var(--ui-control-height);
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

textarea {
    line-height: 1.7;
    min-height: 108px;
    padding-top: 12px !important;
    resize: vertical;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):focus,
select:focus,
textarea:focus,
.form-control:focus,
.form-select:focus,
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple {
    background: #fffefb;
    border-color: rgba(202, 162, 75, .7) !important;
    box-shadow: var(--ui-focus-ring) !important;
    outline: 0;
}

label,
.form-label,
.case-filter-form label,
.modern-filter-panel label,
.reports-criteria-card label,
.reports-filter-grid label,
.document-filter-bar label,
.billing-filter-bar label,
.task-filter-bar label,
.hearing-filter-bar label {
    color: #334155;
    font-size: .92rem;
    font-weight: 800;
    gap: 8px;
}

.dj-card,
.advanced-filter-card,
.staff-table-card,
.lookup-card,
.reports-selected-card,
.reports-criteria-card,
.reports-selected-card-simple,
.stitch-data-card,
.document-card,
.document-modern-card,
.invoice-card,
.audit-log-card,
.case-side-card,
.case-note-card,
.case-tabs-card,
.account-manager-card,
.relationship-card,
.profile-info-card,
.profile-activity-card,
.compliance-card,
.financial-card,
.billing-table-card,
.unpaid-card,
.billing-mini-card {
    background: rgba(255, 255, 255, .96) !important;
    border: 1px solid var(--ui-soft-border) !important;
    border-radius: var(--ui-radius-md) !important;
    box-shadow: var(--ui-soft-shadow) !important;
}

.dj-card,
.advanced-filter-card,
.staff-table-card,
.lookup-card,
.reports-selected-card,
.reports-criteria-card,
.reports-selected-card-simple,
.stitch-data-card,
.billing-table-card {
    padding: var(--ui-card-padding) !important;
}

.case-filter-form,
.modern-filter-panel,
.reports-filter-grid,
.document-filter-bar,
.billing-filter-bar,
.task-filter-bar,
.hearing-filter-bar,
.stitch-filter-bar {
    gap: 14px !important;
}

.case-filter-form button,
.modern-filter-panel button,
.reports-filter-grid button,
.document-filter-bar button,
.billing-filter-bar button,
.task-filter-bar button,
.hearing-filter-bar button,
.stitch-filter-bar button {
    min-height: var(--ui-control-height);
}

.table,
.dj-table,
.staff-table,
.case-list-table {
    border-collapse: separate;
    border-spacing: 0;
}

.table thead th,
.dj-table thead th,
.staff-table thead th,
.case-list-table thead th {
    font-size: .81rem;
    letter-spacing: .01em;
}

.table tbody tr,
.dj-table tbody tr,
.staff-table tbody tr,
.case-list-table tbody tr {
    transition: background-color .16s ease;
}

.table tbody tr:hover,
.dj-table tbody tr:hover,
.staff-table tbody tr:hover,
.case-list-table tbody tr:hover {
    background: rgba(248, 250, 252, .9);
}

@media (max-width: 900px) {
    .btn,
    .btn-primary,
    .btn-secondary,
    .btn-light,
    .btn-link,
    .dj-btn,
    .modern-btn,
    .stitch-btn,
    .report-tool-button,
    .settings-save-btn,
    .lookup-add-btn {
        min-height: 42px;
        padding: 9px 14px !important;
    }

    .dj-card,
    .advanced-filter-card,
    .staff-table-card,
    .lookup-card,
    .reports-selected-card,
    .reports-criteria-card,
    .reports-selected-card-simple,
    .stitch-data-card,
    .billing-table-card {
        padding: 15px !important;
    }
}

/* Batch 2: layout, sidebar, and topbar only. */
.dj-shell {
    align-items: stretch;
    background:
        radial-gradient(circle at top right, rgba(202, 162, 75, .08), transparent 28%),
        linear-gradient(180deg, #f7f4ee 0%, #f8fafc 220px, #f4f7fb 100%);
    min-height: 100dvh;
}

.dj-sidebar {
    border-inline-end: 1px solid rgba(255, 255, 255, .08);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .04), 18px 0 40px rgba(3, 16, 34, .18);
    overflow: hidden;
    position: sticky;
    top: 0;
    z-index: 210;
}

.dj-sidebar-inner {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.dj-sidebar-rail-toggle {
    align-self: flex-start;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 12px;
}

.dj-brand {
    background: linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .03));
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 20px;
    padding: 14px 16px;
}

.dj-brand strong {
    line-height: 1.4;
}

.dj-nav {
    gap: 6px;
}

.dj-nav a {
    border-radius: 14px;
    min-height: 48px;
    padding-inline: 14px 16px;
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.dj-nav a:hover {
    background: rgba(255, 255, 255, .12);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .05);
    transform: translateX(-1px);
}

.dj-nav a.active {
    box-shadow: 0 12px 26px rgba(6, 29, 60, .18);
}

.dj-sidebar-footer {
    border-top: 1px solid rgba(255, 255, 255, .08);
    margin-top: auto;
    padding-top: 14px !important;
}

.dj-file-motion {
    border-radius: 14px;
    box-shadow: 0 12px 26px rgba(202, 162, 75, .18);
}

.dj-main {
    min-width: 0;
    position: relative;
}

.dj-topbar {
    align-items: center;
    backdrop-filter: blur(16px);
    background: linear-gradient(90deg, #061d3e 0%, #0b2f59 62%, #113f70 100%);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    box-shadow: 0 12px 30px rgba(6, 29, 62, .16);
    direction: rtl;
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    justify-content: space-between;
    position: sticky;
    top: 0;
    z-index: 190;
}

.dj-topbar-leading {
    align-items: center;
    display: flex;
    justify-content: flex-start;
    order: 2;
}

.dj-mobile-nav-toggle {
    align-items: center;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 12px;
    color: #fff;
    display: none;
    height: 40px;
    justify-content: center;
    width: 40px;
}

.dj-page-title {
    flex: 1 1 auto;
    min-width: 0;
    order: 1;
    text-align: right;
}

.dj-page-title h1 {
    font-size: clamp(1.2rem, 1rem + .6vw, 1.65rem);
    margin: 2px 0 0;
    color: #fff;
}

.dj-eyebrow {
    color: #d7b36a;
    letter-spacing: .08em;
}

.dj-top-actions {
    align-items: center;
    color: #fff;
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start;
    order: 3;
}

.dj-branch-selector {
    align-items: center;
    display: inline-flex;
    margin: 0;
}

.dj-branch-selector select {
    appearance: auto;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 12px;
    color: #fff;
    cursor: pointer;
    font: inherit;
    min-height: 42px;
    max-width: 220px;
    padding: 7px 12px;
}

.dj-branch-selector select:focus-visible {
    border-color: #d7b36a;
    box-shadow: 0 0 0 3px rgba(215, 179, 106, .25);
    outline: 0;
}

.dj-branch-selector option {
    background: #fff;
    color: #071b3a;
}

.dj-icon-btn {
    align-items: center;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    color: rgba(255, 255, 255, .92);
    display: inline-flex;
    justify-content: center;
}

.dj-icon-btn:hover {
    background: rgba(255, 255, 255, .16);
    color: #fff;
}

.dj-user-guide-link {
    border-radius: 14px;
    flex-direction: column;
    gap: 1px;
    height: 54px;
    line-height: 1;
    padding: 5px 8px;
    text-decoration: none;
    width: 82px;
}

.dj-user-guide-link .material-symbols-outlined {
    font-size: 25px;
}

.dj-user-guide-link small {
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.dj-user-menu {
    align-items: center;
    background: rgba(2, 12, 27, .28);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    color: #fff;
    gap: 10px;
    padding: 6px 12px;
}

.dj-user,
.dj-user:visited {
    color: #fff;
}

.dj-user-menu .btn-link {
    color: #fed488;
    font-weight: 800;
}

.dj-user-menu .btn-link:hover {
    color: #fff3cf;
}

.dj-sidebar-footer,
.footer {
    color: #f4f7fb;
}

.footer {
    background: linear-gradient(90deg, #061d3e 0%, #0b2f59 62%, #113f70 100%);
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.footer a,
.footer a:visited {
    color: #fed488;
}

.dj-content {
    min-width: 0;
    position: relative;
}

.dj-sidebar-overlay {
    background: rgba(2, 12, 27, .42);
    border: 0;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transition: opacity .18s ease;
    z-index: 205;
}

.dj-shell.sidebar-hidden .dj-sidebar {
    box-shadow: 12px 0 30px rgba(3, 16, 34, .12);
    overflow: visible;
}

.dj-shell.sidebar-hidden .dj-brand {
    padding-inline: 10px;
}

.dj-shell.sidebar-hidden .dj-nav a:hover {
    transform: none;
}

/* Hover/focus expansion must override the final collapsed !important rules. */
@media (min-width: 901px) {
    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-sidebar {
        flex: 0 0 var(--sidebar-width) !important;
        margin-inline-end: calc((var(--sidebar-width) - 76px) * -1);
        max-width: var(--sidebar-width) !important;
        min-width: var(--sidebar-width) !important;
        overflow: hidden;
        width: var(--sidebar-width) !important;
        z-index: 340;
    }

    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-sidebar-inner {
        padding: 18px 16px 12px !important;
    }

    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-brand {
        justify-content: flex-start;
        margin-bottom: 18px;
        padding-inline: 16px;
    }

    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-brand > span:first-child,
    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-nav a span,
    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-sidebar-footer span {
        display: initial;
    }

    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-nav {
        gap: 6px !important;
    }

    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-nav a {
        border-right-width: 4px;
        justify-content: flex-start;
        min-height: 48px !important;
        padding: 10px 16px 10px 14px !important;
    }

    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-nav a.active {
        border-right-width: 4px;
        box-shadow: 0 12px 26px rgba(6, 29, 60, .18);
    }

    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-sidebar-footer {
        padding: 12px 14px 16px !important;
    }

    .dj-shell.sidebar-hidden.sidebar-hover-expanded .dj-file-motion {
        min-height: 42px;
        padding: 10px;
    }

    .dj-shell.sidebar-hidden.sidebar-hover-expanded [data-tooltip]::before,
    .dj-shell.sidebar-hidden.sidebar-hover-expanded [data-tooltip]::after {
        display: none;
    }
}

@media (max-width: 900px) {
    .dj-shell {
        display: block;
    }

    .dj-sidebar {
        border-inline-end: 0;
        inset: 0 auto 0 0;
        max-width: min(320px, 88vw) !important;
        position: fixed;
        transform: translateX(100%);
        transition: transform .22s ease;
        width: min(320px, 88vw) !important;
    }

    html[dir="rtl"] .dj-sidebar {
        inset: 0 0 0 auto;
        transform: translateX(100%);
    }

    .dj-shell.sidebar-mobile-open .dj-sidebar {
        transform: translateX(0);
    }

    .dj-shell.sidebar-mobile-open .dj-sidebar-overlay {
        opacity: 1;
        pointer-events: auto;
    }

    .dj-sidebar-rail-toggle {
        margin-bottom: 4px;
    }

    .dj-main {
        width: 100%;
    }

    .dj-topbar {
        justify-content: space-between;
        padding: 12px 16px !important;
    }

    .dj-topbar-leading {
        order: 2;
    }

    .dj-page-title {
        flex: 1 1 auto;
        order: 1;
    }

    .dj-top-actions {
        flex: 1 0 100%;
        justify-content: flex-start;
        order: 3;
        padding-top: 6px;
    }

    .dj-mobile-nav-toggle {
        display: inline-flex;
    }

    .dj-user-menu {
        max-width: 100%;
    }
}

/* Batch 3: login page only. */
.auth-body {
    background:
        radial-gradient(circle at top right, rgba(202, 162, 75, .18), transparent 30%),
        radial-gradient(circle at bottom left, rgba(7, 29, 58, .1), transparent 34%),
        linear-gradient(180deg, #f8f5ef 0%, #f4f7fb 100%);
}

.auth-shell {
    align-items: stretch;
    gap: clamp(24px, 2vw, 38px);
    grid-template-columns: minmax(620px, 1.08fr) minmax(560px, .92fr);
    min-height: 100dvh;
    padding: clamp(22px, 1.8vw, 34px);
}

.auth-brand-panel,
.auth-card {
    border-radius: 30px;
    min-width: 0;
}

.auth-brand-panel {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .03)),
        linear-gradient(145deg, #082145 0%, #0c2f60 58%, #123d75 100%);
    box-shadow: 0 28px 70px rgba(7, 29, 58, .18);
    gap: 22px;
    overflow: hidden;
    padding: clamp(38px, 4vw, 68px);
    place-content: space-between;
    position: relative;
}

.auth-brand-panel::after {
    background: radial-gradient(circle, rgba(254, 212, 136, .22), transparent 62%);
    content: "";
    height: 300px;
    left: -90px;
    pointer-events: none;
    position: absolute;
    top: -90px;
    width: 300px;
}

.auth-brand-stack {
    display: grid;
    gap: 28px;
    position: relative;
    z-index: 1;
}

.auth-brand-copy {
    display: grid;
    gap: 14px;
    max-width: 680px;
}

.auth-brand-panel .dj-eyebrow,
.auth-kicker {
    font-size: .92rem;
    font-weight: 900;
    letter-spacing: .12em;
}

.auth-brand-panel h1 {
    font-size: clamp(2.45rem, 1.85rem + 1.4vw, 3.75rem);
    margin: 0;
}

.auth-brand-panel p {
    font-size: 1.12rem;
    line-height: 1.95;
}

.auth-wide-logo {
    align-items: center;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 26px;
    max-width: 720px;
    min-height: 210px;
    padding: 24px 28px;
}

.auth-wide-logo img {
    max-height: 290px;
}

.auth-brand-mark {
    border-radius: 20px;
    box-shadow: 0 18px 38px rgba(254, 212, 136, .18);
    height: 74px;
    width: 74px;
}

.auth-security-list {
    gap: 10px;
    position: relative;
    z-index: 1;
}

.auth-security-list span {
    backdrop-filter: blur(8px);
    border-radius: 18px;
    font-size: 1rem;
    min-height: 60px;
    padding: 16px 18px;
}

.auth-card {
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 24px 64px rgba(15, 23, 42, .12);
    padding: clamp(38px, 3.5vw, 58px);
    width: min(680px, calc(100% - 24px));
}

.auth-login-column {
    align-self: center;
    display: grid;
    gap: 16px;
    justify-items: center;
    min-width: 0;
    width: 100%;
}

.auth-copyright {
    color: #52627a;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .92rem;
    font-weight: 700;
    letter-spacing: .01em;
    line-height: 1.5;
    padding: 2px 16px;
    text-align: center;
}

.auth-card header {
    display: grid;
    gap: 10px;
    margin-bottom: 30px;
}

.auth-card h2 {
    font-size: clamp(2.35rem, 1.85rem + .8vw, 3rem);
    margin: 0;
}

.auth-card p,
.auth-hint {
    font-size: 1.06rem;
}

.auth-form {
    gap: 20px;
}

.auth-form label {
    gap: 10px;
}

.auth-form label > span {
    font-size: .98rem;
}

.auth-form input:not([type="checkbox"]) {
    font-size: 1rem;
    min-height: 58px;
    padding-inline: 18px;
}

.auth-options {
    padding-top: 4px;
}

.auth-submit-row {
    display: flex;
    padding-top: 2px;
}

.auth-submit {
    border-radius: 14px;
    box-shadow: 0 16px 34px rgba(8, 37, 82, .16);
    font-size: 1.02rem;
    min-height: 58px;
    width: 100%;
}

.auth-submit:hover {
    box-shadow: 0 20px 36px rgba(8, 37, 82, .2);
    transform: translateY(-1px);
}

.auth-hint {
    margin-top: 20px;
}

@media (min-width: 901px) and (max-width: 1400px) {
    .auth-shell {
        grid-template-columns: minmax(500px, 1fr) minmax(460px, .9fr);
    }

    .auth-brand-panel {
        padding: 34px;
    }

    .auth-card {
        padding: 36px;
        width: min(600px, calc(100% - 20px));
    }
}

@media (max-width: 900px) {
    .auth-shell {
        gap: 0;
        grid-template-columns: 1fr;
        padding: 0;
    }

    .auth-brand-panel {
        border-radius: 0 0 30px 30px;
        min-height: 34vh;
        padding: 28px 20px 72px;
    }

    .auth-brand-panel::after {
        height: 220px;
        left: -70px;
        top: -70px;
        width: 220px;
    }

    .auth-login-column {
        margin: -42px auto 24px;
    }

    .auth-card {
        margin: 0 auto;
        width: min(560px, calc(100% - 24px));
    }

    .auth-copyright {
        font-size: .82rem;
    }
}

/* Batch 4: reports UI only. */
.reports-workspace {
    display: grid;
    gap: 18px;
}

.reports-topbar {
    align-items: stretch;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .88), rgba(255, 248, 235, .94)),
        #fff;
    border: 1px solid rgba(15, 23, 42, .06);
    border-radius: 24px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .08);
    margin-bottom: 0 !important;
    padding: 22px 24px !important;
}

.reports-topbar-copy {
    display: grid;
    gap: 8px;
    max-width: 760px;
}

.reports-layout {
    align-items: start;
    gap: 18px !important;
}

.reports-side-menu {
    background: rgba(255, 255, 255, .9) !important;
    border: 1px solid rgba(15, 23, 42, .06) !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 38px rgba(15, 23, 42, .08);
    padding: 14px !important;
}

.reports-side-menu strong {
    background: linear-gradient(135deg, rgba(202, 162, 75, .14), rgba(202, 162, 75, .04));
    border: 1px solid rgba(202, 162, 75, .2);
    border-radius: 16px;
    color: #8b650f;
    margin-bottom: 10px !important;
    padding: 12px 14px;
}

.reports-side-menu a {
    border-radius: 14px;
    min-height: 48px !important;
    padding: 12px 14px !important;
}

.reports-main-panel {
    display: grid;
    gap: 16px;
}

.reports-selected-card,
.reports-selected-card-simple,
.reports-criteria-card,
.report-sheet,
.report-viewer-toolbar {
    background: rgba(255, 255, 255, .96);
    border: 1px solid rgba(15, 23, 42, .06);
    border-radius: 22px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .08);
}

.reports-selected-card,
.reports-selected-card-simple {
    align-items: center;
    display: flex !important;
    gap: 14px;
    justify-content: space-between;
    padding: 18px 20px !important;
}

.reports-selected-copy {
    display: grid;
    gap: 6px;
}

.reports-selection-badge {
    background: rgba(202, 162, 75, .14);
    border: 1px solid rgba(202, 162, 75, .28);
    border-radius: 999px;
    color: #8b650f;
    flex: 0 0 auto;
    font-size: .82rem;
    font-weight: 900;
    padding: 8px 14px;
}

.reports-criteria-card {
    display: grid;
    gap: 16px;
    padding: 18px 20px !important;
}

.reports-date-row {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.reports-filter-grid {
    gap: 14px !important;
}

.reports-filter-grid label,
.reports-date-row label,
.reports-check-list label {
    background: linear-gradient(180deg, rgba(248, 250, 252, .96), #fff);
    border: 1px solid rgba(15, 23, 42, .06);
    border-radius: 16px;
    padding: 12px 13px;
}

.reports-check-list {
    background: linear-gradient(180deg, rgba(248, 250, 252, .96), #fff);
    border: 1px solid rgba(15, 23, 42, .06);
    border-radius: 18px;
    display: grid;
    gap: 12px;
    padding: 14px 16px;
}

.reports-check-list legend {
    color: var(--dj-primary);
    font-size: .95rem;
    font-weight: 900;
    margin-bottom: 4px;
    padding: 0 4px;
}

.reports-toolbar {
    border-top: 1px solid rgba(15, 23, 42, .06);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start;
    padding-top: 14px;
}

.report-sheet {
    overflow: hidden;
}

.report-viewer-toolbar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
    margin-bottom: 14px;
    padding: 14px 16px;
}

.report-page-indicator {
    background: rgba(248, 250, 252, .9);
    border: 1px solid rgba(15, 23, 42, .06);
    border-radius: 999px;
    font-weight: 800;
    padding: 8px 14px;
}

.report-viewer-frame {
    background: linear-gradient(180deg, rgba(241, 245, 249, .8), rgba(248, 250, 252, .94));
    border-radius: 24px !important;
    padding: 18px !important;
}

.report-page-frame {
    border-radius: 20px !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .08);
    min-height: 680px !important;
    padding: 24px 26px !important;
}

.report-page-frame .report-table-wrap {
    border: 1px solid rgba(15, 23, 42, .07);
    border-radius: 16px;
    overflow: hidden;
}

.report-page-frame .report-table thead th {
    background: #f8fafc;
}

@media (max-width: 900px) {
    .reports-topbar,
    .reports-selected-card,
    .reports-selected-card-simple,
    .reports-criteria-card,
    .report-viewer-toolbar {
        border-radius: 18px;
    }

    .reports-selected-card,
    .reports-selected-card-simple {
        align-items: flex-start;
        flex-direction: column;
    }

    .reports-date-row {
        grid-template-columns: 1fr;
    }

    .reports-toolbar,
    .report-viewer-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .report-page-indicator {
        text-align: center;
    }

    .report-viewer-frame {
        padding: 10px !important;
    }

    .report-page-frame {
        min-height: auto !important;
        padding: 16px !important;
    }
}

/* Batch 5: index pages polish only. */
.case-direct-search,
.client-direct-page,
.hearing-schedule-page,
.task-board-page {
    display: grid;
    gap: 18px;
}

.case-direct-hero,
.client-direct-hero,
.hearing-schedule-page .modern-page-hero,
.task-board-page .modern-page-hero {
    align-items: end;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(255, 248, 235, .9)),
        #fff;
    border: 1px solid rgba(15, 23, 42, .06);
    border-radius: 24px !important;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .08);
    gap: 18px !important;
    margin-bottom: 0 !important;
    min-height: auto !important;
    padding: 22px 24px !important;
}

.case-direct-hero h1,
.client-direct-hero h1,
.hearing-schedule-page .modern-page-hero h1,
.task-board-page .modern-page-hero h1 {
    font-size: clamp(1.6rem, 1.25rem + .75vw, 2.2rem) !important;
    line-height: 1.25;
    margin-bottom: 8px !important;
}

.case-direct-hero p,
.client-direct-hero p,
.hearing-schedule-page .modern-page-hero p,
.task-board-page .modern-page-hero p {
    font-size: 1rem !important;
    line-height: 1.85 !important;
    margin-bottom: 0 !important;
    max-width: 72ch;
}

.case-direct-actions,
.client-direct-actions,
.hearing-schedule-page .modern-page-hero > div:last-child,
.task-board-page .modern-page-hero > div:last-child {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.case-direct-form,
.client-direct-search,
.hearing-agenda-filter,
.task-modern-filter {
    background: rgba(255, 255, 255, .96) !important;
    border: 1px solid rgba(15, 23, 42, .06) !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .08);
    gap: 14px !important;
    padding: 16px !important;
}

.case-direct-form label,
.client-direct-search label,
.hearing-agenda-filter label,
.task-modern-filter label {
    background: linear-gradient(180deg, rgba(248, 250, 252, .96), #fff);
    border: 1px solid rgba(15, 23, 42, .06);
    border-radius: 16px;
    padding: 12px 13px;
}

.case-zone-strip,
.client-direct-result,
.hearing-agenda-panel,
.task-lazy-panel,
.task-click-stats {
    background: transparent !important;
    gap: 16px !important;
}

.case-zone-strip,
.task-click-stats {
    margin-top: 0 !important;
}

.case-zone-card,
.client-result-card,
.hearing-agenda-card,
.task-stat-card,
.task-lazy-card {
    border: 1px solid rgba(15, 23, 42, .06) !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .08) !important;
}

.case-zone-card,
.client-result-card,
.hearing-agenda-card,
.task-lazy-card {
    background: rgba(255, 255, 255, .96) !important;
}

.case-zone-card,
.client-result-card,
.hearing-agenda-card {
    padding: 18px !important;
}

.task-stat-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 250, 252, .95)) !important;
    min-height: 118px !important;
    padding: 18px !important;
}

.task-stat-card.active {
    box-shadow: 0 20px 42px rgba(6, 29, 60, .16) !important;
}

.client-result-heading,
.task-lazy-result-header,
.hearing-agenda-panel > header {
    background: rgba(255, 255, 255, .96);
    border: 1px solid rgba(15, 23, 42, .06);
    border-radius: 20px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .07);
    padding: 16px 18px;
}

.client-result-list,
.hearing-agenda-list,
.task-lazy-list {
    gap: 14px !important;
}

.hearing-date-tile {
    border-radius: 18px !important;
    min-width: 96px;
}

.case-search-state,
.client-search-state {
    border-radius: 22px !important;
    box-shadow: 0 18px 38px rgba(15, 23, 42, .08);
}

.searchable-select {
    position: relative;
}

.searchable-select-native {
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 0;
    height: 0;
}

.searchable-select-trigger {
    position: relative;
}

.searchable-select-input {
    padding-inline: 42px 14px;
}

.searchable-select-clear {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--dj-muted);
    cursor: pointer;
    display: inline-flex;
    font-size: 22px;
    height: 100%;
    inset-inline-start: 0;
    justify-content: center;
    padding: 0 12px;
    position: absolute;
    top: 0;
}

.searchable-select-menu {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .09);
    border-radius: 16px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, .12);
    display: grid;
    gap: 4px;
    inset-inline: 0;
    margin-top: 8px;
    max-height: 280px;
    overflow: auto;
    padding: 8px;
    position: absolute;
    top: 100%;
    z-index: 450;
}

.searchable-select-option,
.searchable-select-empty {
    border-radius: 12px;
    min-height: 42px;
    padding: 10px 12px;
}

.searchable-select-option {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--dj-primary);
    cursor: pointer;
    display: flex;
    justify-content: flex-start;
    text-align: right;
    width: 100%;
}

.searchable-select-option:hover,
.searchable-select-option.is-active {
    background: rgba(3, 22, 54, .08);
}

.searchable-select-option.is-selected {
    background: rgba(202, 162, 75, .14);
    color: var(--dj-primary);
    font-weight: 900;
}

.searchable-select-option.is-disabled {
    color: var(--dj-muted);
    cursor: not-allowed;
    opacity: .55;
}

.searchable-select-empty {
    color: var(--dj-muted);
    text-align: center;
}

.searchable-select.is-disabled .searchable-select-input {
    background: #eef2f7;
    color: var(--dj-muted);
    cursor: not-allowed;
}

.searchable-select.is-disabled .searchable-select-clear,
.searchable-select .searchable-select-clear[hidden] {
    display: none;
}

@media (max-width: 900px) {
    .case-direct-hero,
    .client-direct-hero,
    .hearing-schedule-page .modern-page-hero,
    .task-board-page .modern-page-hero,
    .case-direct-form,
    .client-direct-search,
    .hearing-agenda-filter,
    .task-modern-filter,
    .case-zone-card,
    .client-result-card,
    .hearing-agenda-card,
    .task-stat-card,
    .task-lazy-card,
    .client-result-heading,
    .task-lazy-result-header,
    .hearing-agenda-panel > header {
        border-radius: 18px !important;
    }

    .case-direct-hero,
    .client-direct-hero,
    .hearing-schedule-page .modern-page-hero,
    .task-board-page .modern-page-hero {
        padding: 18px !important;
    }

    .case-direct-actions,
    .client-direct-actions,
    .hearing-schedule-page .modern-page-hero > div:last-child,
    .task-board-page .modern-page-hero > div:last-child {
        width: 100%;
    }
}
.report-page-frame {
    page: reportPortrait;
}

.report-page-frame.report-page-landscape {
    page: reportLandscape;
}

.report-table .legacy-report-row td {
    line-height: 1.65;
    vertical-align: top;
    white-space: pre-line;
}

.report-table .legacy-report-detailed-row td {
    padding-block: 10px;
}

.legacy-case-report-list {
    border-block-start: 1px solid #aab3bf;
}

.legacy-report-print-header {
    align-items: end;
    border-block-end: 1px solid #111;
    display: flex;
    font-size: 17px;
    justify-content: space-between;
    margin-block-end: 5px;
    padding: 0 5px 5px;
}

.legacy-report-print-header div {
    display: grid;
    text-align: right;
}

.legacy-report-print-header span {
    font-size: .82em;
}

.legacy-case-report-item {
    border-block-end: 1px solid #aab3bf;
    break-inside: avoid;
    padding: 7px 5px;
}

.legacy-case-report-heading {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.legacy-case-report-heading strong {
    border: 1px solid #8d98a8;
    min-width: 28px;
    padding: 2px 7px;
    text-align: center;
}

.legacy-case-report-data,
.legacy-case-report-movement {
    line-height: 1.55;
    white-space: pre-line;
}

.legacy-case-report-data {
    font-weight: 700;
    padding-block: 5px;
}

.legacy-case-report-movement {
    border-block-start: 1px dotted #c4cad3;
    font-size: .88em;
    padding-block-start: 5px;
}

@page reportPortrait {
    size: A4 portrait;
    margin: 0;
}

@page reportLandscape {
    size: A4 landscape;
    margin: 0;
}

@media print {
    body:has(.report-sheet:not(.report-sheet-empty)) {
        background: #fff !important;
        margin: 0 !important;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .dj-shell,
    body:has(.report-sheet:not(.report-sheet-empty)) .dj-main,
    body:has(.report-sheet:not(.report-sheet-empty)) .dj-content,
    body:has(.report-sheet:not(.report-sheet-empty)) .reports-workspace,
    body:has(.report-sheet:not(.report-sheet-empty)) .reports-layout,
    body:has(.report-sheet:not(.report-sheet-empty)) .reports-main-panel,
    body:has(.report-sheet:not(.report-sheet-empty)) .report-sheet,
    body:has(.report-sheet:not(.report-sheet-empty)) .report-viewer-frame {
        background: #fff !important;
        border: 0 !important;
        box-shadow: none !important;
        display: block !important;
        height: auto !important;
        margin: 0 !important;
        max-width: none !important;
        min-height: 0 !important;
        min-width: 0 !important;
        overflow: visible !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .dj-sidebar,
    body:has(.report-sheet:not(.report-sheet-empty)) .dj-sidebar-overlay,
    body:has(.report-sheet:not(.report-sheet-empty)) .dj-topbar,
    body:has(.report-sheet:not(.report-sheet-empty)) .internal-bot-widget,
    body:has(.report-sheet:not(.report-sheet-empty)) .reports-topbar,
    body:has(.report-sheet:not(.report-sheet-empty)) .reports-side-menu,
    body:has(.report-sheet:not(.report-sheet-empty)) .reports-selected-card,
    body:has(.report-sheet:not(.report-sheet-empty)) .reports-criteria-card,
    body:has(.report-sheet:not(.report-sheet-empty)) .report-viewer-toolbar {
        display: none !important;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-page-frame {
        background: #fff !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        break-after: page;
        display: block !important;
        margin: 0 !important;
        min-height: 0 !important;
        padding: 8mm !important;
        width: 100% !important;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-print-header {
        align-items: center !important;
        display: grid !important;
        gap: 4mm !important;
        grid-template-columns: minmax(42mm, 1fr) minmax(68mm, 1.45fr) minmax(48mm, .9fr) !important;
        margin-bottom: 3mm !important;
        padding-bottom: 3mm !important;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-office-block {
        gap: 2.5mm;
        min-width: 0;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-office-block img {
        height: 14mm;
        padding: 1mm;
        width: 14mm;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-office-block strong {
        font-size: 12px;
        line-height: 1.35;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-office-block span {
        font-size: 9px;
        line-height: 1.3;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-title-block {
        grid-column: auto !important;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-title-block > span {
        font-size: 9px;
        line-height: 1.3;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-title-block h2 {
        font-size: 18px;
        line-height: 1.25;
        margin: 1mm 0 !important;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-title-block p {
        font-size: 10px;
        line-height: 1.35;
        margin: 0;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-generated-block {
        display: grid;
        gap: 1.2mm;
        min-width: 0;
        text-align: start;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-generated-line {
        align-items: baseline;
        display: flex;
        flex-wrap: wrap;
        gap: 1.5mm;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-generated-line span,
    body:has(.report-sheet:not(.report-sheet-empty)) .report-generated-line strong {
        display: inline;
        font-size: 9px;
        line-height: 1.35;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-page-frame .report-print-footer {
        bottom: auto !important;
        position: static !important;
        width: auto !important;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-page-frame:last-child {
        break-after: auto;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-page-frame.is-report-page-hidden {
        display: block !important;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-print-header,
    body:has(.report-sheet:not(.report-sheet-empty)) .report-table thead,
    body:has(.report-sheet:not(.report-sheet-empty)) .report-print-footer {
        break-inside: avoid;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-table {
        min-width: 0 !important;
        width: 100% !important;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-table tr {
        break-inside: avoid;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-page-frame.report-page-landscape {
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column;
        height: 210mm !important;
        max-height: 210mm !important;
        min-height: 210mm !important;
        overflow: hidden !important;
        padding: 7mm 8mm !important;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-page-landscape .report-print-header {
        flex: 0 0 auto;
        margin-bottom: 4mm;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-page-landscape .report-table-wrap {
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden !important;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-page-landscape .report-table tbody tr {
        height: 17mm;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-page-landscape .report-table th,
    body:has(.report-sheet:not(.report-sheet-empty)) .report-page-landscape .report-table td {
        line-height: 1.35;
        padding: 2mm 2.2mm;
    }

    body:has(.report-sheet:not(.report-sheet-empty)) .report-page-landscape .report-print-footer {
        bottom: auto !important;
        flex: 0 0 auto;
        margin-top: 2mm;
        min-height: 7mm;
        padding-top: 1.5mm;
        position: static !important;
        width: auto !important;
    }
}

/* Final cascade for the shared action-button contract. */
:is(.app-btn, .dj-btn, .modern-btn, .stitch-btn, .btn, .button, .case-action, .client-action, .report-tool-button, .settings-save-btn) {
    min-height: var(--app-action-height) !important;
    border-radius: var(--app-action-radius) !important;
    font-family: inherit !important;
    font-weight: 800 !important;
}

:is(.app-btn-primary, .dj-btn:not(.dj-btn-secondary):not(.dj-btn-outline), .dj-btn-primary, .modern-btn.primary, .stitch-btn.primary, .btn-primary, .button-primary, .settings-save-btn, .submit-btn, .case-action.create, .client-action.create) {
    border-color: var(--app-action-primary) !important;
    color: #fff !important;
    background: var(--app-action-primary) !important;
}

:is(.app-btn-secondary, .dj-btn-secondary, .dj-btn-outline, .modern-btn.ghost, .stitch-btn.ghost, .btn-secondary, .btn-light, .btn-outline-primary, .btn-outline-secondary, .button-secondary, .case-action.clear, .client-action.clear) {
    border-color: var(--app-action-secondary-border) !important;
    color: var(--app-action-primary) !important;
    background: #fff !important;
}

:is(.app-btn-danger, .btn-danger, .btn-outline-danger, .danger-btn, .delete-btn, .reject-btn) {
    border-color: var(--app-action-danger) !important;
    color: #fff !important;
    background: var(--app-action-danger) !important;
}

:is(.app-btn-success, .btn-success, .btn-outline-success, .approve-btn) {
    border-color: var(--app-action-success) !important;
    color: #fff !important;
    background: var(--app-action-success) !important;
}

:is(.app-btn-warning, .modern-btn.warning, .draft-btn) {
    border-color: var(--app-action-warning) !important;
    color: #fff !important;
    background: var(--app-action-warning) !important;
}

:is(.app-btn-sm, .btn-sm) {
    min-height: 36px !important;
    padding: 7px 12px !important;
    font-size: .84rem !important;
}

.btn-link {
    min-height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: inherit !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Organization / branch management console */
.org-console {
    display: grid;
    gap: 18px;
}

.org-form {
    align-items: end;
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.org-form label {
    color: var(--dj-text);
    display: grid;
    font-weight: 700;
    gap: 6px;
}

.org-form label > span:first-child {
    color: var(--dj-muted);
    font-size: 12px;
    font-weight: 800;
}

.org-form input,
.org-form select {
    background: var(--dj-surface);
    border: 1px solid var(--dj-border);
    color: var(--dj-text);
    min-height: 42px;
    padding: 0 12px;
    width: 100%;
}

.org-form-wide {
    grid-column: span 2;
}

.org-form-check {
    align-items: center;
    display: flex !important;
    flex-direction: row !important;
    gap: 8px;
    min-height: 42px;
}

.org-form-check input[type="checkbox"] {
    height: auto;
    min-height: auto;
    width: auto;
}

.org-form-actions {
    display: flex;
    justify-content: flex-start;
}

@media (max-width: 720px) {
    .org-form-wide {
        grid-column: span 1;
    }
}
