/* Shared workspace surfaces and the document-to-case journey. */
:root {
  --ink: #182539;
  --muted: #53647a;
  --paper: #f1f4f8;
  --surface: #fff;
  --line: #d7dfe9;
  --green: #214eaa;
  --green-600: #153d8f;
  --green-050: #f1f5fe;
  --light: #e7eefb;
  --soft: #eef2f7;
  --focus: #3565c2;
  --shadow-sm: 0 1px 2px #172b4d0c;
  --shadow-md: 0 6px 22px #172b4d17;
  --shadow-lg: 0 18px 52px #172b4d28;
  --radius-md: 9px;
  --radius-lg: 12px;
  --gutter: clamp(15px, 3.3vw, 48px);
  --rail: 218px;
}
body { font: 15px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
h1, .intake-heading h1, .desk h1 {
  font-size: clamp(31px, 4vw, 44px);
  font-weight: 730;
  line-height: 1.09;
  letter-spacing: -.045em;
  overflow-wrap: anywhere;
}
h2 { font-size: 19px; letter-spacing: -.02em; }
.workspace .eyebrow, .workspace .desk-kicker { color: var(--muted); letter-spacing: .09em; }
.workspace header .muted { color: var(--muted); }
.workspace :focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
.workspace :is(input, select, textarea, progress) { accent-color: var(--green); }
.workspace :is(input:not([type=checkbox],[type=radio],[type=hidden]), select, textarea) { color: var(--ink); border-color: #b8c7d9; }
.workspace .secondary { color: var(--green); background: var(--surface); border-color: #c2cfe0; }
.workspace .secondary:hover { background: var(--green-050); border-color: #91abd3; }
.workspace :is(button, .button) { border-radius: 7px; }
.workspace button:disabled { cursor: default; }
.workspace :is(.panel, .form-panel, .case-card) { border-color: var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.workspace :is(th, .desk-search) { background: var(--soft); }
.workspace th { color: var(--muted); }
.workspace .list-row:hover, .workspace .record-row:hover td { background: var(--green-050); }
.workspace :is(.filter-bar, .field-filters) { border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }
.workspace :is(.queue-tabs, .client-profile-tabs, .management-tabs) a[aria-current] { color: #143d87; background: var(--light); border-color: #a6bde6; }
.workspace .avatar { background: var(--light); color: var(--green); border-radius: 12px; }
.workspace .page-content { max-width: 1480px; padding-inline: var(--gutter); }
.workspace .desk-topbar { padding-inline: var(--gutter); background: var(--surface); border-color: var(--line); }
.workspace .page-guide { margin-top: 32px; background: transparent; border: 0; border-top: 1px solid var(--line); border-radius: 0; }
.workspace .page-guide summary { color: var(--green); padding-inline: 0; }
.workspace .page-guide > div { padding-inline: 0; }
.workspace footer { color: var(--muted); }
.workspace .mark {
  background: #214eaa;
  color: #fff;
  width: 33px;
  height: 33px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: -.03em;
}
.workspace .sidebar, .workspace .mobile-menu, .workspace .mobile-header {
  background: #fafbfd;
  color: var(--ink);
  border-right: 1px solid var(--line);
}
.workspace .brand { color: var(--ink); font-size: 21px; }
.workspace .office { color: var(--muted); background: var(--soft); border: 0; margin: 20px 0 14px; }
.workspace .sidebar nav a { color: var(--muted); min-height: 38px; }
.workspace .sidebar nav a:hover { color: var(--green); background: var(--green-050); }
.workspace .sidebar nav a[aria-current] { color: #163e84; font-weight: 700; background: var(--light); box-shadow: none; }
.workspace.nav-motion-ready .sidebar nav a[aria-current] { background: var(--light); }
.workspace .nav-selection {
  width: 3px;
  border: 0;
  background: var(--green);
  border-radius: 4px;
  clip-path: inset(7px 0 round 4px);
  z-index: 0;
}
::view-transition { pointer-events: none; }
.workspace .nav-group .nav-label { color: var(--muted); margin-top: 14px; }
.workspace .nav-utilities, .workspace .sidebar-foot { border-color: var(--line); color: var(--muted); }
.workspace .sidebar-foot button, .workspace .mobile-menu-close { color: var(--green); }
.workspace .nav-hint { color: #fff; background: #183355; border-color: #395578; }
.workspace.mobile-navigation-ready .mobile-header { background: var(--surface); border-bottom: 1px solid var(--line); }
.workspace .mobile-menu-toggle { background: var(--light); color: var(--green); border-color: var(--line); }
@media (min-width: 851px) {
  .workspace .sidebar { width: var(--rail); padding: 22px 14px; }
  .workspace main { margin-left: var(--rail); }
  .workspace.navigation-compact .sidebar { width: 76px; padding-inline: 10px; }
  .workspace.navigation-compact main { margin-left: 76px; }
  .workspace.navigation-compact .sidebar .mark { font-size: 12px; width: 30px; }
  .workspace.navigation-compact .nav-group { border-color: var(--line); }
}
@media (max-width: 850px) {
  .workspace .mobile-menu .sidebar { width: 100%; }
  .workspace .mobile-header { min-height: 56px; }
  .workspace .desk-topbar { min-height: 44px; height: auto; }
}

/* Today and the queue put the decision next to the record. */
.workspace .work-heading { align-items: flex-end; gap: 16px; }
.work-columns { display: grid; gap: 16px; align-items: start; }
.work-surface { min-width: 0; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.work-section-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  column-gap: 12px;
  row-gap: 4px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
  background: #fafbfd;
  border-radius: 12px 12px 0 0;
}
.work-section-heading h2 { margin: 0; }
.work-section-heading p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.work-section-heading > a { font-size: 13px; font-weight: 650; }
.work-item { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; padding: 13px 18px; border-bottom: 1px solid var(--line); }
.work-item:last-child { border-bottom: 0; }
.work-item-copy { min-width: 0; flex: 1 1 185px; }
.work-item-name { font-size: 14px; font-weight: 700; overflow-wrap: anywhere; }
.work-item-meta { display: flex; flex-wrap: wrap; gap: 5px 10px; align-items: center; margin-top: 5px; font-size: 12px; color: var(--muted); }
.work-item .queue-open, .workspace .queue-row-actions .queue-open {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  gap: 6px;
  padding: 6px 9px;
  border-radius: 6px;
  background: var(--light);
  color: #163e84;
  font-size: 13px;
  font-weight: 650;
}
.work-item .queue-open:hover, .workspace .queue-row-actions .queue-open:hover { background: #d6e5ff; text-decoration: none; }
.work-surface .list-row { padding-inline: 18px; border-left: 0; background: var(--surface); }
.work-empty p { margin: 4px 0 0; }
.work-case-stages { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 14px 18px; }
.work-case-stages a { display: flex; align-items: center; gap: 6px; min-height: 41px; border: 1px solid var(--line); border-radius: 6px; padding: 7px 9px; color: var(--ink); font-size: 13px; }
.work-case-stages b { margin-left: auto; }
.work-section-foot { padding: 0 18px 14px; font-size: 13px; }
.work-shortcuts { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 20px; font-size: 13px; }
@media (min-width: 1050px) {
  .work-columns { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); }
}
.capture-panel, .packet-tools {
  margin-bottom: 20px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  scroll-margin-top: 78px;
}
.capture-panel > summary, .packet-tools > summary { padding: 14px 16px; color: var(--green); font-weight: 650; cursor: pointer; }
.workspace .capture-panel .intake-upload { margin: 0; border: 0; border-top: 1px solid var(--line); background: var(--green-050); border-radius: 0 0 12px 12px; }
.workspace .capture-panel .upload-icon { background: var(--light); color: var(--green); border-color: #c6d5ee; }
.workspace .capture-panel .intake-upload.dragging { background: #e1ecff; }
/* Fixed action columns keep changing labels from shifting Delete between rows. */
.workspace .queue-row-actions {
  display:grid;
  grid-template-columns:minmax(9rem, 1fr) 4.5rem;
  gap:8px;
  width:15rem;
  max-width:100%;
  align-items:stretch;
}
.workspace .queue-row-actions > :is(.queue-open,.danger-link) {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:40px;
  padding:8px 10px;
  border:1px solid transparent;
  border-radius:7px;
  font-size:12px;
  line-height:1.4;
}
.workspace .queue-row-actions .queue-open { justify-content:space-between; }
@media(max-width:600px) {
  .workspace .queue-row-actions { width:100%; }
}
.workspace .packet-summary { margin-top: 4px; }
.packet-tools[open] { padding: 0 14px 14px; }
.packet-tools[open] > summary { padding-inline: 2px; }
.packet-tools .packet-location { margin-top: 12px; }
#processing-issue { scroll-margin-top: 80px; }

/* Keep the source within reach while checking a field or filing a page. */
.review-jump { display: none; }
#original-document, #review-fields, #filing-destination { scroll-margin-top: 110px; }
.workspace .desk-viewer { border-radius: 12px; background: #e2e9f3; }
.workspace .viewer-stage, .workspace .paper-scroll, .workspace .evidence-canvas {
  background: #e1e8f1 radial-gradient(#b4c2d6 0.75px, transparent 0.75px) 0 0 / 13px 13px;
}
.workspace .viewer-controls, .workspace .evidence-toolbar, .workspace .template-tools { background: var(--soft); }
.workspace .desk-review { border-radius: 12px; border-color: var(--line); }
.workspace .desk-steps { background: var(--soft); }
.workspace .desk .desk-steps button[aria-current] { border-color: var(--green); color: var(--green); }
.workspace .desk .desk-steps button[aria-current] > span { background: var(--green); border-color: var(--green); }
.workspace .desk .action-buttons :is(.next-step,.confirm-step) { background: var(--green); border-color: var(--green); }
.workspace .desk .action-buttons :is(.next-step,.confirm-step):hover { background: var(--green-600); }
.workspace .desk :is(.field-source,.field-hint,.helptext,.group-label,.action-meta,.step-description) { color: var(--muted); font-size: 12px; }
.workspace .review-recap { background: var(--green-050); border-color: #c7d5eb; }
.workspace .viewer-controls { flex-wrap: wrap; gap: 6px; }
.workspace .case-action-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 24px;
  padding: 16px 18px;
  margin-bottom: 18px;
  background: #edf3fe;
  border: 1px solid #c2d2ee;
  border-radius: 10px;
}
.case-action-strip > div { display: grid; min-width: 0; flex: 1 1 160px; gap: 2px; }
.case-action-strip strong { overflow-wrap: anywhere; }
.case-action-strip :is(a:not(.button),.muted) { font-size: 13px; }
.checklist-filters { display: flex; flex-wrap: wrap; gap: 6px; }
.checklist-filters a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 6px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface);
  color: var(--muted);
  font-size: 13px;
}
.checklist-filters a:is(:hover,[aria-current]) { background: var(--light); color: var(--green); border-color: #a6bde6; text-decoration: none; }
.workspace .client-case-next { color: var(--ink); margin-top: 6px; overflow-wrap: anywhere; }
.client-case-next strong { color: var(--green); margin-right: 4px; }
.workspace .helper-launch { background: #183355; border-color: #375677; border-radius: 12px; }
.workspace .helper-launch:hover { background: var(--green-600); }
.workspace .cw-chat-header, .workspace .cw-chat-history, .workspace .cw-chat-status-row { background: var(--soft); border-color: var(--line); }
.workspace .cw-history-item[aria-current] { background: var(--light); color: var(--green); }
.workspace .cw-reports-toggle { background: var(--light) !important; color: var(--green) !important; }
.workspace .cw-chat-modal::backdrop, .workspace .app-confirm::backdrop { background: #18253977; }
.workspace .scan-frame polygon { stroke: #6ca7ff; fill: #4287ff24; }
.workspace .scan-corner { border-radius: 50%; }
.workspace .scan-corner::after { background: var(--green); }
@media (max-width: 850px) {
  .review-jump {
    position: sticky;
    top: 64px;
    z-index: 6;
    display: flex;
    gap: 5px;
    margin: 0 12px 12px;
    padding: 4px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow-sm);
  }
  .review-jump a { display: grid; place-items: center; flex: 1; min-height: 40px; padding: 5px; color: var(--green); font-size: 13px; font-weight: 650; text-align: center; }
  .review-jump a:focus-visible, .review-jump a:hover { background: var(--light); border-radius: 6px; }
  .workspace .desk-viewer { height: clamp(360px, 62dvh, 565px); }
  .workspace .desk-review { height: auto; }
}
@media (max-width: 600px) {
  .work-section-heading, .work-item { padding-inline: 13px; }
  .workspace .work-heading { padding-block: 20px 16px; }
  .workspace .queue-tabs { flex-wrap: wrap; overflow: visible; gap: 6px; }
  .workspace .queue-tabs a { min-height: 38px; }
  .queue-table .mobile-records-ready tbody tr { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); column-gap: 12px; }
  .queue-table .mobile-records-ready td:first-child,
  .queue-table .mobile-records-ready td:last-child { grid-column: 1 / -1; }
  .queue-table .mobile-records-ready td:last-child::before { display: none; }
  .workspace .review-jump { top: 63px; }
  .workspace.review-mode .helper-launch { bottom: 88px; right: 10px; }
}

.signed-out .desk-topbar, .signed-out footer { display: none; }
.signed-out .page-content { max-width: none; padding: 0; }
.entry-layout { min-height: 100dvh; display: grid; background: var(--surface); }
.entry-context { background: #182d4a; color: #fff; padding: clamp(24px, 6vw, 88px); }
.entry-brand { display: flex; align-items: center; gap: 9px; font-size: 20px; font-weight: 720; }
.entry-context h1 { margin: clamp(24px, 6vw, 82px) 0 10px; color: #fff; }
.entry-context p { max-width: 40ch; color: #dce7f8; }
.entry-context ol { padding-left: 21px; color: #dce7f8; }
.entry-context li { margin: 7px 0; padding-left: 4px; }
.entry-form { align-self: center; justify-self: center; width: min(100%, 520px); padding: 30px var(--gutter) 52px; }
.entry-form h2 { font-size: 32px; margin: 0; }
.entry-form form { margin-top: 24px; }
.entry-form form p { margin-bottom: 16px; }
.entry-form button { width: 100%; min-height: 46px; justify-content: space-between; }
@media (min-width: 740px) { .entry-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }

/* Stable shell; only the page body participates in transitions. */
html { scrollbar-gutter: stable; }
.workspace main { min-height:100dvh; display:flex; flex-direction:column; }
.workspace .page-content { width:100%; flex:1 0 auto; margin:0 auto; }
.workspace .workspace-footer { width:100%; max-width:1480px; margin:0 auto; padding:14px var(--gutter) 22px; font-size:12px; }
.workspace.chat-page .workspace-footer { display:none; }
@media(max-width:850px) {
  .workspace.mobile-navigation-ready main { min-height:calc(100dvh - 56px); }
}
.workspace .nav-demo { color:#263f60; background:#e5ecf7; border-color:#b4c5da; }
.workspace .notice { color:#654609; }
.workspace .badge.accepted, .workspace .badge.published { color:#234a82; background:#e3edfc; }
.workspace :is(.source-note, .pagination > span, .stat-note, .timeline > span, .list-toolbar > span) { color:var(--muted); }
.workspace :is(.desk-breadcrumb a, .desk-search button, .upload-location-actions > span) { color:var(--muted); }
.workspace :is(.case-stats, .invoice-kpis) > div > span,
.workspace .case-stats strong > small,
.workspace .desk :is(.desk-kicker > span,.viewer-controls > span,.viewer-divider,.source-details p) { color:var(--muted); }
.workspace .sample-tag, .workspace .case-stats .warning { color:#6a480c; }
.workspace .desk :is(.desk-kicker,.group-label > span,.desk-note,.save-receipt small,.identity-card small) { color:var(--muted); }
.workspace .desk :is(.field-hint,.field-source,.helptext,.choice-list small,.match-card small,.desk-footnote) { color:var(--muted); font-size:12px; }
.workspace :is(.cw-chat-model,.cw-chat-status,.cw-chat-bottom,.cw-activity-explanation,.cw-activity-panel li) { color:var(--muted); font-size:12px; }
.workspace :is(.cw-activity-panel,.cw-report-panel,.cw-chat-manage-panel) { background:var(--surface); border-color:var(--line); }
.workspace .cw-panel-heading { background:var(--soft); border-color:var(--line); }
.workspace .cw-activity-panel li { font-size:13px; }
.workspace .workflow-path { min-width:0; }
.workspace .workflow-path textarea { min-height:45px; }
.workspace .workflow-path[aria-current="true"] { background:var(--light); }
.workspace .workflow-layout .field-grid { display:grid; gap:12px; }
.workspace .ai-settings-layout { display:grid; align-items:start; gap:18px; }
.workspace .ai-settings-form { max-width:none; margin:0; padding:clamp(14px, 3vw, 26px); }
.ai-settings-form fieldset { min-width:0; margin:0 0 20px; padding:12px 0 0; border:0; border-top:1px solid var(--line); }
.ai-settings-form legend { padding-right:10px; font-size:16px; font-weight:700; }
.ai-fields { display:grid; gap:12px; }
.ai-field { min-width:0; }
.ai-field label { display:block; color:var(--ink); font-size:13px; }
.ai-field :is(input,select) { width:100%; min-width:0; margin:3px 0; }
.ai-field .helptext { display:block; font-size:13px; color:var(--muted); }
.ai-settings-form fieldset > p { margin:0 0 10px; }
.ai-settings-form:has(#id_key_action) .ai-replacement:not(.has-errors) { display:none; }
.ai-settings-form:has(#id_key_action option[value="replace"]:checked) .ai-replacement { display:block; }
.ai-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px; padding-top:14px; border-top:1px solid var(--line); }
.ai-settings-aside { display:grid; gap:12px; }
.ai-settings-aside :is(h2,summary) { margin:0; font-size:15px; font-weight:700; }
.ai-settings-aside p { color:var(--muted); font-size:13px; }
@media(min-width:1050px) {
  .workspace .ai-settings-layout { grid-template-columns:minmax(0, 1.9fr) minmax(245px,1fr); }
}
@media(min-width:620px) { .ai-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } }

.workspace .field-filters { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto auto; gap:12px; align-items:end; padding:14px 16px; }
.field-filter-control { display:grid; gap:5px; min-width:0; margin:0; }
.field-filter-control :is(input,select) { min-width:0; width:100%; margin:0; }
.field-filter-check { display:flex; align-items:center; gap:7px; min-height:42px; margin:0; }
.field-filter-check input { width:auto; margin:0; }
@media(max-width:700px) {
  .workspace .field-filters { grid-template-columns:minmax(0,1fr) auto; }
  .field-filter-control { grid-column:1 / -1; }
}

.workspace .badge.reminder-completed { color:#215b39; background:#e4f4e9; }
