:root {
  --navy: #091540;
  --blue: #1B2CC1;
  --mid: #7692FF;
  --pale: #ABD2FA;
  --bg: #f4f7fb;
  --surface: #ffffff;
  --text: #182033;
  --muted: #687188;
  --border: #dfe4ef;
  --danger: #b42318;
  --danger-bg: #fff1f0;
  --success: #166534;
  --success-bg: #ecfdf3;
  --shadow: 0 8px 28px rgba(9,21,64,.06);
}

* { box-sizing: border-box; }
html { min-height: 100%; }
body {
  margin: 0;
  min-height: 100vh;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
}

a { color: var(--blue); }

.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 20;
  width: 285px;
  height: 100dvh;
  background: var(--navy);
  color: #fff;
  padding: 24px 16px 16px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.sidebar-top { flex: 0 0 auto; }
.brand-lockup { display: block; color: inherit; text-decoration: none; padding: 2px 10px 0; }
.brand {
  display: block;
  font-size: 27px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -.8px;
}
.brand span { color: var(--mid); }
.sub {
  display: block;
  margin-top: 5px;
  font-size: 12px;
  color: #aeb8d6;
}

.nav-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  margin-top: 28px;
  padding: 0 2px 10px 0;
  scrollbar-width: thin;
  scrollbar-color: rgba(171,210,250,.35) transparent;
}
.nav-scroll::-webkit-scrollbar { width: 6px; }
.nav-scroll::-webkit-scrollbar-thumb { background: rgba(171,210,250,.28); border-radius: 999px; }

nav { display: flex; flex-direction: column; gap: 2px; }
.nav-group { margin-bottom: 17px; }
.nav-group small {
  display: block;
  margin-bottom: 6px;
  padding: 0 12px;
  color: #7180aa;
  font-size: 10px;
  line-height: 1;
  font-weight: 750;
  letter-spacing: .13em;
}
.nav-group a {
  display: flex;
  width: 100%;
  min-height: 40px;
  align-items: center;
  justify-content: flex-start;
  white-space: normal;
  overflow-wrap: anywhere;
  padding: 9px 12px;
  border-radius: 9px;
  color: #dfe6ff;
  text-decoration: none;
  line-height: 1.25;
  font-size: 14px;
}
.nav-group a:hover { background: rgba(255,255,255,.08); }
.nav-group a.active {
  background: rgba(118,146,255,.18);
  box-shadow: inset 3px 0 0 var(--mid);
  color: #fff;
}
.nav-group a.active::after {
  content: "";
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  margin-left: auto;
  border-radius: 50%;
  background: var(--mid);
}

.sidefoot {
  flex: 0 0 auto;
  border-top: 1px solid rgba(255,255,255,.10);
  padding: 14px 10px 2px;
  color: #aeb8d6;
  font-size: 12px;
}
.user-meta { display: flex; flex-direction: column; gap: 2px; }
.user-meta strong { color: #fff; font-size: 13px; }
.sidefoot > a {
  display: block;
  margin-top: 10px;
  color: #cfd8f7;
  text-decoration: none;
}
.sidefoot form { margin: 0; }
.link-button {
  margin-top: 8px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: #cfd8f7 !important;
  font: inherit;
  font-weight: 500 !important;
  cursor: pointer;
}

.app-main {
  min-height: 100vh;
  margin-left: 285px;
  padding: 30px 36px 42px;
}
.page-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 22px;
}
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.eyebrow { font-size: 12px; color: #8c98b4; }
h1 { margin: 4px 0 0; font-size: 30px; letter-spacing: -.3px; }
h2 { margin: 0 0 10px; font-size: 20px; }
h3 { margin: 0 0 8px; }
p { line-height: 1.55; }
.muted { color: var(--muted); }
.block { display: block; }

.button,
button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 40px;
  padding: 10px 15px;
  border: 0;
  border-radius: 9px;
  background: var(--blue);
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  font: inherit;
  font-weight: 650;
}
.button.secondary { background: #eef2ff; color: var(--blue); }
.button:hover, button:hover { filter: brightness(.98); }

.panel {
  margin-bottom: 20px;
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 15px;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.panel-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 14px;
}
.panel-head h2 { margin-bottom: 4px; }
.panel-head p { margin: 0; }

.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}
.cards a {
  display: flex;
  min-height: 120px;
  flex-direction: column;
  padding: 17px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface);
  color: var(--text);
  text-decoration: none;
  box-shadow: var(--shadow);
}
.cards a:hover { transform: translateY(-1px); border-color: #c1c9da; }
.cards b { display: block; margin-bottom: 5px; font-size: 28px; line-height: 1; }
.cards span { font-size: 12px; color: var(--muted); }
.cards small { margin-top: auto; padding-top: 10px; color: var(--muted); font-size: 11px; }
.cards .attention { border-color: #f1b9b4; background: #fffafb; }

.dashboard-hero {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-bottom: 20px;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 15px;
  background: linear-gradient(135deg, #fff, #f1f5ff);
  box-shadow: var(--shadow);
}
.dashboard-hero h2 { margin: 4px 0; font-size: 28px; }
.eyebrow.dark { color: #56627f; }
.quick-actions { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }

.status-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(130px, 1fr));
  gap: 8px;
  margin-bottom: 20px;
}
.status-strip a {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
  color: var(--text);
  text-decoration: none;
  box-shadow: var(--shadow);
}
.status-strip a:hover { border-color: #c1c9da; }
.status-strip span { color: var(--muted); font-size: 11px; line-height: 1.3; }
.status-strip b { font-size: 16px; }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 20px; }
.dashboard-grid > .panel table small, .panel table small { display:block; margin-top:3px; color:var(--muted); font-size:11px; }
.command-cards { grid-template-columns: repeat(6, minmax(145px, 1fr)); }
.request-risk-row td, .credential-risk-row td { vertical-align: middle; }

.grid2,.grid3,.grid4,.grid2col { display: grid; gap: 12px; }
.grid2 { grid-template-columns: 1fr 1fr; }
.grid3 { grid-template-columns: repeat(3, 1fr); }
.grid4 { grid-template-columns: repeat(4, 1fr); }
.grid2col { grid-template-columns: 1fr 1fr; gap: 20px; }

.formpanel form { display: grid; gap: 12px; }
label { display: grid; gap: 6px; font-size: 13px; font-weight: 650; }
input, select, textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 10px 11px;
  background: #fff;
  color: var(--text);
  font: inherit;
}
input:focus, select:focus, textarea:focus { outline: 2px solid rgba(118,146,255,.25); border-color: var(--mid); }
textarea { min-height: 110px; resize: vertical; }

.toolbar {
  display: grid;
  align-items: end;
  gap: 10px;
  margin-bottom: 18px;
}
.toolbar-wide { grid-template-columns: minmax(220px,2fr) repeat(4,minmax(120px,1fr)) auto auto; }
.toolbar button, .toolbar .button { min-height: 40px; white-space: nowrap; }

.table-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
table { width: 100%; min-width: 820px; border-collapse: collapse; font-size: 13px; }
th, td { padding: 10px 8px; border-bottom: 1px solid #edf0f5; text-align: left; vertical-align: top; }
th { color: #687188; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; }
.empty-state { padding: 18px 8px; color: var(--muted); text-align: center; }
.mono { font-variant-numeric: tabular-nums; }

.pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef2ff;
  color: var(--blue);
  font-size: 11px;
  white-space: nowrap;
}
.pill.big { padding: 8px 12px; font-size: 13px; }
.pill.urgent { background: #fff0ed; color: #b42318; }
.pill.high { background: #fff8df; color: #8a5a00; }
.pill.low { background: #f2f4f7; color: #475467; }

.flash { margin-bottom: 15px; padding: 12px 14px; border-radius: 9px; }
.flash.error { background: var(--danger-bg); color: var(--danger); }
.flash.success { background: var(--success-bg); color: var(--success); }

.timeline { margin: 0 0 12px 5px; padding: 2px 0 12px 14px; border-left: 3px solid var(--pale); }
.timeline div { display: flex; justify-content: space-between; gap: 10px; }
.timeline span { color: #7a849b; font-size: 11px; }
.timeline p { margin: 5px 0; }
.history-row { display: grid; grid-template-columns: 1fr auto; gap: 2px; padding: 11px 0; border-bottom: 1px solid #edf0f5; }
.history-row small { grid-column: 1/-1; }
.overdue td { background: #fff9f8; }

.ticket-hero { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.ticket-title-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.ticket-title-row h2 { margin: 4px 0; font-size: 28px; }
.ticket-hero-actions { display: flex; justify-content: flex-end; gap: 8px; }
.progress-panel { overflow: hidden; }
.progress-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(150px, 1fr);
  overflow-x: auto;
  gap: 0;
  padding: 4px 0 8px;
}
.progress-step { position: relative; display: grid; justify-items: center; gap: 7px; min-width: 150px; color: #7c879d; font-size: 11px; text-align: center; }
.progress-dot { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid #d8deeb; border-radius: 50%; background: #fff; font-weight: 700; }
.progress-step.complete { color: #4d8f68; }
.progress-step.complete .progress-dot { border-color: #bfe4cd; background: #f4fbf6; }
.progress-step.current { color: var(--blue); font-weight: 700; }
.progress-step.current .progress-dot { border-color: var(--mid); background: #f2f4ff; box-shadow: 0 0 0 3px rgba(118,146,255,.14); }
.field-note { display: grid; align-content: end; gap: 4px; min-height: 42px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; background: #f8faff; font-size: 11px; color: var(--muted); }
.summary-list { display: grid; }
.summary-list > div { display: flex; justify-content: space-between; gap: 18px; padding: 11px 0; border-bottom: 1px solid #edf0f5; }
.summary-list span { color: var(--muted); }
.summary-list b { text-align: right; }

.login { display: grid; min-height: 100vh; place-items: center; }
.login-card { width: min(430px, calc(100% - 30px)); padding: 32px; border: 1px solid var(--border); border-radius: 16px; background: #fff; box-shadow: 0 15px 50px rgba(9,21,64,.12); }
.login-card h1 { font-size: 26px; }
.login-card form { display: grid; gap: 14px; margin-top: 20px; }

@media (max-width: 1200px) {
  .status-strip { grid-template-columns: repeat(3, minmax(120px, 1fr)); }
  .dashboard-grid, .grid2col { grid-template-columns: 1fr; }
  .command-cards { grid-template-columns: 1fr 1fr; }
  .grid4 { grid-template-columns: 1fr 1fr; }
  .toolbar-wide { grid-template-columns: 2fr 1fr 1fr; }
  .toolbar-wide button, .toolbar-wide .button { width: 100%; }
}

@media (max-width: 900px) {
  .sidebar { position: static; width: 100%; height: auto; min-height: 0; padding: 18px 16px; overflow: visible; }
  .nav-scroll { overflow: visible; margin-top: 20px; padding-bottom: 0; }
  nav { gap: 0; }
  .nav-group { margin-bottom: 10px; }
  .nav-group small { margin-top: 10px; }
  .sidefoot { margin-top: 6px; }
  .app-main { margin-left: 0; padding: 20px 16px 32px; }
  .page-header, .dashboard-hero, .ticket-hero { flex-direction: column; align-items: stretch; }
  .header-actions, .quick-actions, .ticket-hero-actions { justify-content: flex-start; }
  .status-strip { grid-template-columns: repeat(2, minmax(120px,1fr)); }
  .grid2, .grid3, .grid4 { grid-template-columns: 1fr; }
  .toolbar, .toolbar-wide { grid-template-columns: 1fr; }
  .toolbar-wide button, .toolbar-wide .button { width: 100%; }
  .panel { padding: 16px; }
}

@media (max-width: 560px) {
  .status-strip { grid-template-columns: 1fr; }
  .cards { grid-template-columns: 1fr; }
  h1 { font-size: 25px; }
  .dashboard-hero h2, .ticket-title-row h2 { font-size: 24px; }
}

/* V0.2.5.1 request workspace UX */
.ticket-hero-main { min-width: 0; }
.ticket-context { display: flex; flex-wrap: wrap; gap: 7px 18px; margin-top: 8px; color: var(--muted); font-size: 13px; }
.ticket-context span { position: relative; }
.ticket-context span + span::before { content: "•"; position: absolute; left: -11px; color: #b0b9cc; }
.ticket-hero-actions { align-self: flex-start; flex-wrap: wrap; }
.small-meta { font-size: 11px; }

.next-action-card { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; border-left: 4px solid var(--blue); background: linear-gradient(135deg,#ffffff,#f7f9ff); }
.next-action-copy { min-width: 0; }
.next-action-copy h2 { margin: 3px 0 6px; font-size: 22px; }
.next-action-copy p { margin: 0 0 12px; max-width: 760px; color: var(--muted); }
.next-task-chip { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 9px 11px; border: 1px solid var(--border); border-radius: 10px; background: #fff; color: var(--text); font-size: 12px; }
.next-task-chip span { color: var(--muted); }
.next-task-chip.neutral { color: var(--muted); }
.next-action-buttons { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; flex: 0 0 auto; }
.next-action-buttons form { margin: 0; }

.workspace-tabs { position: sticky; top: 12px; z-index: 5; display: flex; flex-direction: row; align-items: stretch; gap: 4px; margin: 0 0 16px; padding: 6px; border: 1px solid var(--border); border-radius: 12px; background: rgba(255,255,255,.92); box-shadow: 0 8px 24px rgba(9,21,64,.08); backdrop-filter: blur(10px); overflow-x: auto; }
.workspace-tab { display: inline-flex; flex: 1 1 0; flex-direction: row; align-items: center; justify-content: center; gap: 7px; min-height: 38px; padding: 8px 14px; border-radius: 8px; color: var(--muted); text-decoration: none; white-space: nowrap; font-size: 13px; font-weight: 650; }
.workspace-tab:hover { background: #f4f6fb; color: var(--text); }
.workspace-tab.active { background: #eef2ff; color: var(--blue); box-shadow: inset 0 0 0 1px rgba(118,146,255,.18); }
.workspace-tab b { display: inline-grid; min-width: 20px; height: 20px; place-items: center; padding: 0 5px; border-radius: 999px; background: #fff; color: var(--blue); font-size: 10px; }
.workspace-pane[hidden] { display: none; }

.workspace-grid-main { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(290px, .8fr); gap: 18px; align-items: start; }
.workspace-section-grid { display: grid; grid-template-columns: minmax(300px, .85fr) minmax(0, 1.45fr); gap: 18px; align-items: start; }
.workspace-state { padding: 6px 9px; border-radius: 999px; background: #eef7f1; color: #317250; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; }
.form-actions { display: flex; justify-content: flex-end; margin-top: 4px; }
.request-summary-card { position: sticky; top: 74px; }
.summary-cta { display: grid; gap: 8px; margin-top: 14px; }
.button.full { width: 100%; }
.metric-box { display: grid; gap: 3px; padding: 13px 14px; border: 1px solid var(--border); border-radius: 10px; background: #fafbfe; }
.metric-box strong { font-size: 20px; }
.metric-box span { color: var(--muted); font-size: 11px; }
.document-health-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 16px; }

@media (max-width: 1100px) {
  .workspace-grid-main, .workspace-section-grid { grid-template-columns: 1fr; }
  .request-summary-card { position: static; }
}

@media (max-width: 900px) {
  .next-action-card { flex-direction: column; }
  .next-action-buttons { justify-content: flex-start; }
  .workspace-tabs { top: 4px; }
}

@media (max-width: 640px) {
  .ticket-context { flex-direction: column; gap: 5px; }
  .ticket-context span + span::before { display: none; }
  .document-health-grid { grid-template-columns: 1fr; }
  .workspace-tab { min-width: max-content; }
}

/* V0.2.5.5 database workspace refresh */
.database-switcher {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 16px;
  padding: 5px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--shadow);
  overflow-x: auto;
}
.database-switcher a {
  flex: 0 0 auto;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-radius: 8px;
  color: var(--muted);
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
.database-switcher a:hover { background: #f4f6fb; color: var(--text); }
.database-switcher a.active { background: #eef2ff; color: var(--blue); }

.database-hero,
.record-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
  padding: 22px 24px;
  border: 1px solid var(--border);
  border-radius: 15px;
  background: linear-gradient(135deg, #fff, #f3f6ff);
  box-shadow: var(--shadow);
}
.database-hero h2,
.record-hero h2 { margin: 3px 0 5px; font-size: 27px; letter-spacing: -.25px; }
.database-hero p { margin: 0; max-width: 760px; color: var(--muted); }
.database-hero-stat { flex: 0 0 auto; display: grid; gap: 2px; justify-items: end; padding-left: 20px; }
.database-hero-stat strong { font-size: 27px; line-height: 1; }
.database-hero-stat span { color: var(--muted); font-size: 11px; }

.database-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(320px, .85fr);
  gap: 20px;
  align-items: start;
}
.database-list-card { min-width: 0; }
.database-form-card { position: sticky; top: 18px; min-width: 0; }
.database-upload-card { margin-top: 20px; position: static; }
.database-filters {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, .38fr) auto;
  align-items: end;
  gap: 12px;
  margin: 4px 0 18px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #f8faff;
}
.database-filters label { font-size: 11px; color: #5e6982; }
.database-search { min-width: 0; }
.database-filter-actions { display: flex; gap: 8px; align-items: stretch; }
.database-filter-actions .button { min-width: 86px; }
.database-table-wrap { border: 1px solid #edf0f5; border-radius: 11px; }
.database-table { min-width: 760px; margin: 0; }
.database-table th { background: #fbfcfe; }
.database-table td { padding-top: 12px; padding-bottom: 12px; }
.database-table td small,
.record-link + small,
.record-link-static + small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }
.record-link { font-weight: 750; text-decoration: none; }
.record-link-static { font-weight: 750; }
.date-emphasis { font-variant-numeric: tabular-nums; font-weight: 650; }
.section-kicker {
  margin-bottom: 4px;
  color: #7b88a5;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.field-section {
  display: grid;
  gap: 12px;
  margin: 0 0 16px;
  padding: 14px;
  border: 1px solid #edf0f5;
  border-radius: 11px;
  background: #fbfcfe;
}
.field-section-title { color: #56627d; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.relationship-list { display: grid; gap: 6px; }
.relationship-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 12px;
  border: 1px solid #edf0f5;
  border-radius: 10px;
  background: #fff;
  color: inherit;
  text-decoration: none;
}
.relationship-row:hover { border-color: #cbd4e8; background: #fbfcff; }
.relationship-row > span:first-child { min-width: 0; }
.relationship-row strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.relationship-row small { display: block; margin-top: 3px; color: var(--muted); }
.soft-divider { margin: 16px 0; border: 0; border-top: 1px solid #edf0f5; }
.record-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(300px, .8fr); gap: 20px; align-items: start; }
.record-side { display: grid; gap: 20px; min-width: 0; }
.record-subline { color: var(--muted); font-size: 13px; }

@media (max-width: 1180px) {
  .database-layout, .record-layout { grid-template-columns: 1fr; }
  .database-form-card { position: static; }
}
@media (max-width: 760px) {
  .database-hero, .record-hero { flex-direction: column; align-items: stretch; }
  .database-hero-stat { justify-items: start; padding-left: 0; }
  .database-filters { grid-template-columns: 1fr; }
  .database-filter-actions { width: 100%; }
  .database-filter-actions .button { flex: 1 1 0; }
  .database-table { min-width: 680px; }
}


/* V0.2.6 UI SYSTEM */
.app-context-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:34px;margin:-6px 0 10px;color:var(--muted);font-size:11px}.context-breadcrumb{display:flex;align-items:center;gap:7px}.context-breadcrumb span:first-child{color:#8b96ae;font-weight:600}.context-breadcrumb strong{color:#4d5870;font-weight:700}.context-role{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid var(--border);border-radius:999px;background:#fff;color:#59647b;font-weight:700}
.app-main{max-width:1600px}.panel{box-shadow:0 5px 18px rgba(9,21,64,.045)}.sidebar{width:270px}.app-main{margin-left:270px}.nav-group{margin-bottom:13px}.nav-group a{min-height:38px;padding:8px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-header{margin-bottom:18px}.page-header h1{font-size:28px}
.database-switcher{position:sticky;top:0;z-index:9;margin-bottom:12px}.database-switcher a{min-width:108px}.database-hero{padding:18px 20px;border-radius:14px}.database-hero h2{font-size:24px}.database-hero-stat strong{font-size:24px}.database-layout{grid-template-columns:minmax(0,1fr) 340px;gap:16px}.database-form-card{top:12px}
.database-filters{grid-template-columns:minmax(0,1fr) 190px auto;padding:11px}.database-table {min-width:700px}.database-table th,.database-table td{padding:9px 8px}.database-table tbody tr:hover td{background:#fbfcff}.record-link{color:var(--blue)}
.database-create{padding:0;overflow:hidden}.database-create>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px}.database-create>summary::-webkit-details-marker{display:none}.database-create>summary>span:first-child{display:grid;gap:4px;min-width:0}.database-create>summary strong{font-size:20px}.database-create>summary small{color:var(--muted);line-height:1.45}.database-create[open]>summary{border-bottom:1px solid #edf0f5;background:#fbfcfe}.create-state{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#eef2ff;color:var(--blue);font-size:10px;font-weight:750}.database-create-body{padding:18px 20px 20px}.database-upload-card{margin-top:16px}
.record-toolbar{display:flex;justify-content:space-between;align-items:center;margin:-2px 0 10px;color:var(--muted);font-size:11px}.record-toolbar a{text-decoration:none;font-weight:700}.record-hero{padding:18px 20px}.record-hero h2{font-size:25px}.record-layout{grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:16px}.field-section{padding:12px}.field-section-title{font-size:10px}.relationship-row{padding:10px 11px}
.ticket-stat-row{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;margin-top:12px}.ticket-stat-row span{display:grid;gap:3px;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:#fbfcfe;color:var(--muted);font-size:11px}.ticket-stat-row b{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#7a8499}.next-action-card{padding:18px 20px}.progress-panel{padding:16px 20px}.workspace-tabs{margin-bottom:12px}.workspace-grid-main{grid-template-columns:minmax(0,1.5fr) 300px;gap:16px}.workspace-section-grid{grid-template-columns:minmax(300px,.9fr) minmax(0,1.35fr);gap:16px}.request-summary-card{top:60px}.command-cards .attention{box-shadow:inset 3px 0 0 #e58b85,var(--shadow)}.priority-wrap{border-radius:10px}.priority-table {min-width:680px}
@media (max-width:1200px){.database-layout,.record-layout{grid-template-columns:1fr}.database-form-card{position:static}.workspace-grid-main,.workspace-section-grid{grid-template-columns:1fr}.request-summary-card{position:static}.ticket-stat-row{grid-template-columns:repeat(2,minmax(120px,1fr))}}
@media (max-width:900px){.sidebar{width:100%}.app-main{margin-left:0}.database-filters{grid-template-columns:1fr 1fr}.database-filter-actions{grid-column:1/-1}.app-context-bar{margin-top:0}.ticket-stat-row{grid-template-columns:1fr 1fr}.workspace-tab{flex:1 0 auto}}
@media (max-width:640px){.database-filters{grid-template-columns:1fr}.database-filter-actions{grid-column:auto}.ticket-stat-row{grid-template-columns:1fr}.app-context-bar{display:none}.database-switcher a{min-width:auto;flex:1 1 auto}.database-create>summary{align-items:flex-start}.create-state{margin-top:2px}}


/* V0.2.7 unified workspace consistency */
html, body { max-width: 100%; overflow-x: hidden; }
.app-main { min-width: 0; overflow-x: clip; }
.panel, .database-layout > *, .dashboard-grid > *, .workspace-grid-main > *, .workspace-section-grid > * { min-width: 0; }
.page-description { margin: 6px 0 0; max-width: 760px; font-size: 13px; }
.page-header { align-items: flex-start; min-height: 52px; }
.page-header h1 { margin-top: 3px; }
.context-actions { flex: 0 0 auto; }
.table-wrap { max-width: 100%; }
.progress-rail { grid-auto-flow: row; grid-template-columns: repeat(6, minmax(0, 1fr)); overflow: hidden; }
.progress-step { min-width: 0; padding: 0 6px; }
.progress-step > span:last-child { max-width: 120px; }
.task-filters { grid-template-columns: minmax(180px, 260px) minmax(180px, 260px) auto; margin-bottom: 16px; align-items: end; }
.task-filters > div { min-width: 0; }
.task-filters label { color: #5e6982; font-size: 11px; }
.task-filter-actions { display: flex; gap: 8px; }
.task-table { min-width: 900px; }
.task-status { display: inline-flex; align-items: center; min-height: 24px; padding: 4px 8px; border-radius: 999px; background: #eef2ff; color: var(--blue); font-size: 11px; white-space: nowrap; }
.task-status.completed { background: #ecfdf3; color: #166534; }
.task-status.cancelled { background: #f2f4f7; color: #475467; }
.compact-button { min-height: 32px; padding: 7px 10px; font-size: 11px; }
.admin-workspace, .audit-workspace, .task-workspace { display: grid; gap: 16px; }
.admin-create { margin-bottom: 0; }
.admin-form-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.admin-form-grid label { min-width: 0; }
.panel-stat { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 9px; border-radius: 999px; background: #eef2ff; color: var(--blue); font-size: 10px; font-weight: 750; white-space: nowrap; }
.admin-table, .audit-table { min-width: 820px; }
.admin-table small, .audit-table small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }
.role-pill, .action-pill { display: inline-flex; align-items: center; min-height: 24px; padding: 4px 8px; border-radius: 999px; background: #eef2ff; color: var(--blue); font-size: 11px; font-weight: 650; white-space: nowrap; }
.action-pill { background: #f4f6fb; color: #4d5870; }
.status-dot { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; white-space: nowrap; }
.status-dot::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #98a2b3; }
.status-dot.active::before { background: #36a269; }
.status-dot.inactive::before { background: #b42318; }
.audit-time { white-space: nowrap; font-variant-numeric: tabular-nums; }
.history-change { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
.history-change small { color: var(--muted); }

@media (max-width: 1100px) {
  .admin-form-grid { grid-template-columns: 1fr 1fr; }
  .task-filters { grid-template-columns: 1fr 1fr; }
  .task-filter-actions { grid-column: 1 / -1; }
  .progress-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 16px; }
}
@media (max-width: 900px) {
  .progress-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-form-grid, .task-filters { grid-template-columns: 1fr; }
  .task-filter-actions { grid-column: auto; }
  .page-header { min-height: 0; }
}
@media (max-width: 560px) {
  .progress-rail { grid-template-columns: 1fr; }
}

/* V0.2.8 hyperlink and in-page navigation hardening */
.workspace-pane { scroll-margin-top: 92px; }
.workspace-tab[aria-selected="false"] { outline: none; }


/* V0.2.9 UI polish and navigation ergonomics */
.workspace-tab:focus { outline: none; }
.workspace-tab:focus-visible { outline: 2px solid var(--mid); outline-offset: 1px; }
.workspace-tab.active:focus { box-shadow: inset 0 0 0 1px rgba(118,146,255,.18); }
.history-change { gap: 10px; }
.history-change b { display: inline-block; }
.history-change small { display: inline-block; }
.priority-table { min-width: 0; }
.toolbar-wide { grid-template-columns: minmax(250px, 2fr) repeat(4, minmax(105px, 1fr)) auto; }
.toolbar-actions { display: flex; gap: 8px; align-items: stretch; }
.toolbar-actions .button, .toolbar-actions button { white-space: nowrap; }
.workspace-page-intro { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 16px; padding-bottom: 2px; }
.workspace-page-intro h2 { margin: 3px 0 4px; font-size: 24px; }
.workspace-page-intro p { margin: 0; }
@media (max-width: 1320px) {
  .toolbar-wide { grid-template-columns: minmax(220px, 2fr) repeat(2, minmax(125px, 1fr)); }
  .toolbar-actions { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .priority-table { min-width: 680px; }
  .workspace-page-intro { flex-direction: column; align-items: stretch; }
  .workspace-page-intro > .button { width: 100%; }
}


/* V0.3 request workspace polish */
html, body { overflow-x: hidden; }
.progress-rail {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px 8px;
  width: 100%;
  overflow: visible;
}
.progress-step { min-width: 0; }
.progress-step > span:last-child { white-space: normal; text-align: center; line-height: 1.25; }
.next-action-copy { min-width: 0; }
.next-action-copy h2 { margin-bottom: 6px; }
.history-row { grid-template-columns: minmax(0, 1fr) auto; gap: 10px 18px; align-items: start; }
.history-change { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 12px; min-width: 0; }
.history-change b { white-space: nowrap; }
.history-change small { margin: 0; color: var(--muted); }
.timeline > div { align-items: flex-start; }
.timeline span { white-space: nowrap; }
.task-table th:last-child, .task-table td:last-child:not(.empty-state) { width: 1%; white-space: nowrap; }
.toolbar-wide { min-width: 0; }

@media (max-width: 1100px) {
  .progress-rail { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .progress-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .history-row { grid-template-columns: 1fr; }
  .history-row > span { justify-self: start; }
}
@media (max-width: 520px) {
  .progress-rail { grid-template-columns: 1fr; }
}

/* V0.4.0 operational UI consolidation */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.request-filter-bar{display:grid;gap:12px;margin-bottom:18px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fbfcff}
.request-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.request-search-row .toolbar-actions{align-self:stretch}
.request-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}
.request-filter-grid>div{min-width:0}
.request-filter-grid label{display:block;margin-bottom:5px;color:#5e6982;font-size:11px;font-weight:650}
.request-filter-grid select{width:100%}
.task-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 14px}
.task-summary-strip>div{display:flex;align-items:baseline;gap:7px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fbfcfe}
.task-summary-strip strong{font-size:20px}
.task-summary-strip span{font-size:11px;color:var(--muted)}
.empty-state{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;min-height:72px;text-align:center;color:var(--muted)}
.empty-state strong{color:var(--text);font-size:13px}
.empty-state span{font-size:11px}
.form-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
@media (max-width:1100px){.request-filter-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}.task-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.request-search-row{grid-template-columns:1fr}.request-filter-grid{grid-template-columns:1fr}.task-summary-strip{grid-template-columns:1fr}}


/* V0.4.1 controlled request status transitions */
.status-transition-note { margin-top: 12px; padding: 10px 12px; border: 1px solid #dce3f2; border-radius: 10px; background: #f7f9ff; color: #5c6b86; font-size: 12px; }
.status-transition-note strong { color: #17264d; }
.status-transition-note.terminal { background: #f5f6f8; }

/* V0.4.6 provider credential matrix */
.credential-matrix-panel { margin-bottom: 16px; }
.credential-counts { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.credential-matrix { min-width: 780px; }
.credential-matrix td:last-child, .credential-matrix th:last-child { text-align: right; white-space: nowrap; }
.credential-status { display: inline-flex; align-items: center; min-height: 24px; padding: 4px 8px; border-radius: 999px; background: #eef2ff; color: var(--blue); font-size: 11px; white-space: nowrap; }
.credential-status.expiring { background: #fff8df; color: #8a5a00; }
.credential-status.expired { background: #fff0ed; color: #b42318; }
.credential-status.not-on-file { background: #f2f4f7; color: #475467; }
.credential-status.current { background: #ecfdf3; color: #166534; }
@media (max-width: 920px) {
  .credential-counts { justify-content: flex-start; }
}

/* V0.4.8 request action center */
.action-center-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:18px 20px;border-left:4px solid var(--blue);background:linear-gradient(135deg,#ffffff,#f7f9ff)}
.action-center-main{min-width:0}.action-center-title-row{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}.action-center-title-row h2{margin:3px 0 5px;font-size:22px}.action-center-title-row p{margin:0;max-width:850px;color:var(--muted)}
.action-kind{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#eef2ff;color:var(--blue);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.05em}.action-kind.task-overdue{background:#fff1ef;color:#aa4f49}.action-kind.closed{background:#f2f4f7;color:#6b7280}.action-kind.documents{background:#fff8e7;color:#956b13}
.action-facts{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.action-facts span{display:grid;gap:2px;min-width:92px;padding:7px 9px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--muted);font-size:11px}.action-facts b{color:#7a8499;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.action-center-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px}.action-center-actions form{margin:0}
.action-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 16px}.action-strip>div:first-child{display:grid;gap:2px}.action-strip-statuses{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.status-option{padding:6px 9px;border:1px solid var(--border);border-radius:999px;background:#fbfcfe;color:var(--muted);font-size:11px;font-weight:650}

.action-urgency.overdue{border-color:#e7b5b5;background:#fff6f6}.action-urgency.due-today{border-color:#e7c98b;background:#fffaf0}.action-urgency.due-soon{border-color:#d7dff5;background:#f8faff}.action-urgency.scheduled{border-color:var(--border)}
@media (max-width:900px){.action-center-card{grid-template-columns:1fr}.action-center-actions{justify-content:flex-start}.action-strip{align-items:flex-start;flex-direction:column}.action-strip-statuses{justify-content:flex-start}}
/* V0.4.9.1 document checklist integrity */
.required-document-row { display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px; align-items:start; padding:12px 0; border-top:1px solid var(--border); }
.required-document-row:first-child { border-top:0; }
.required-document-copy { display:grid; gap:3px; min-width:0; }
.required-document-copy strong { font-size:13px; }
.required-document-copy small { color:var(--muted); font-size:11px; }
.required-document-copy > span { color:var(--muted); font-size:11px; line-height:1.45; }
.requirement-state { display:inline-flex; align-items:center; justify-content:center; min-width:74px; min-height:26px; padding:4px 8px; border:1px solid var(--border); border-radius:999px; background:#fbfcfe; color:var(--muted); font-size:10px; font-weight:750; text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; }
.requirement-state.current { border-color:#b8dec6; background:#effaf3; color:#317250; }
.requirement-state.expired { border-color:#e7b5b5; background:#fff6f6; color:#aa4f49; }
.requirement-state.missing { border-color:#e7c98b; background:#fffaf0; color:#956b13; }
.requirement-state.needs-review { border-color:#d7dff5; background:#f8faff; color:var(--blue); }


/* V0.5.1 visual system: unified typography, spacing, and alignment */
:root {
  --fs-xs: 11px;
  --fs-sm: 12px;
  --fs-md: 13px;
  --fs-lg: 14px;
  --fs-xl: 16px;
  --fs-2xl: 20px;
  --fs-3xl: 28px;
  --lh-tight: 1.25;
  --lh-body: 1.5;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --control-h: 42px;
}

html { font-size: 16px; }
body { font-size: var(--fs-md); line-height: var(--lh-body); }

h1, h2, h3, p { overflow-wrap: anywhere; }
h1 { font-size: var(--fs-3xl); line-height: 1.2; font-weight: 750; letter-spacing: -.25px; }
h2 { font-size: var(--fs-2xl); line-height: 1.3; font-weight: 720; letter-spacing: -.1px; }
h3 { font-size: var(--fs-xl); line-height: 1.35; font-weight: 700; }
p { margin-top: 0; margin-bottom: var(--space-3); }
.eyebrow { font-size: var(--fs-xs); line-height: 1.25; font-weight: 650; letter-spacing: .02em; }
.muted { font-size: var(--fs-md); line-height: var(--lh-body); }

.app-main { max-width: 1560px; padding: 28px 32px 40px; }
.app-context-bar { min-height: 32px; margin: 0 0 14px; font-size: var(--fs-sm); }
.context-breadcrumb { gap: var(--space-2); }
.context-role { font-size: var(--fs-xs); }
.page-header { margin-bottom: var(--space-5); gap: var(--space-5); }
.page-header h1 { margin: 4px 0 0; }
.page-description { margin: 6px 0 0; font-size: var(--fs-md); line-height: 1.5; }

.panel { margin-bottom: var(--space-5); padding: var(--space-5); border-radius: 14px; }
.panel-head { margin-bottom: var(--space-4); gap: var(--space-4); }
.panel-head h2 { margin-bottom: 4px; }
.panel-head p { font-size: var(--fs-md); }

.button, button {
  min-height: var(--control-h);
  padding: 9px 14px;
  border-radius: 9px;
  font-size: var(--fs-md);
  line-height: 1.2;
  font-weight: 700;
}

input, select, textarea {
  min-height: var(--control-h);
  padding: 9px 11px;
  border-radius: 9px;
  font-size: var(--fs-md);
  line-height: 1.35;
}
textarea { min-height: 112px; }
label { gap: 6px; font-size: var(--fs-sm); line-height: 1.3; font-weight: 700; }

.table-wrap { border-radius: 10px; }
table { font-size: var(--fs-md); line-height: 1.4; }
th { font-size: var(--fs-xs); line-height: 1.25; font-weight: 750; letter-spacing: .06em; }
th, td { padding: 10px 10px; }
.panel table small, .dashboard-grid > .panel table small { font-size: var(--fs-xs); line-height: 1.35; }

.pill, .credential-status, .requirement-state, .role-pill, .action-pill, .task-status, .panel-stat, .status-option {
  font-size: var(--fs-xs);
  line-height: 1.2;
  font-weight: 700;
}
.pill.big { font-size: var(--fs-sm); }

.sidebar { width: 270px; padding: 22px 14px 14px; }
.brand { font-size: 26px; }
.sub { font-size: var(--fs-xs); }
.nav-scroll { margin-top: 24px; }
.nav-group { margin-bottom: 14px; }
.nav-group small { font-size: 10px; margin-bottom: 5px; }
.nav-group a { min-height: 38px; padding: 8px 11px; font-size: var(--fs-md); line-height: 1.3; border-radius: 9px; }
.user-meta strong { font-size: var(--fs-md); }
.sidefoot { font-size: var(--fs-xs); }

.cards { gap: 12px; }
.cards a { min-height: 112px; padding: 16px; }
.cards b { font-size: 26px; }
.cards span { font-size: var(--fs-sm); line-height: 1.35; }
.cards small { font-size: var(--fs-xs); }

.dashboard-hero { padding: 22px 24px; }
.dashboard-hero h2 { font-size: 26px; }
.status-strip span { font-size: var(--fs-xs); }
.status-strip b { font-size: 16px; }

.ticket-hero { align-items: flex-start; padding: 22px 24px; }
.ticket-title-row { gap: 10px; }
.ticket-title-row h2 { font-size: 27px; line-height: 1.15; }
.ticket-stat-row { gap: 10px; }
.ticket-stat-row span { min-height: 58px; padding: 9px 11px; font-size: var(--fs-xs); line-height: 1.35; }
.ticket-stat-row b { font-size: 10px; }
.ticket-context { gap: 6px 16px; font-size: var(--fs-sm); line-height: 1.35; }

.action-center-card { gap: 18px; padding: 20px 22px; }
.action-center-title-row h2 { font-size: 20px; line-height: 1.3; }
.action-center-title-row p { font-size: var(--fs-md); line-height: 1.5; }
.action-facts { gap: 8px; }
.action-facts span { min-width: 112px; padding: 8px 10px; font-size: var(--fs-xs); line-height: 1.3; }
.action-facts b { font-size: 9px; }
.action-kind { font-size: 10px; }
.action-strip { padding: 12px 16px; }

.progress-panel { padding: 16px 20px; }
.progress-step { font-size: var(--fs-xs); line-height: 1.35; }
.progress-step > span:last-child { line-height: 1.3; }

.workspace-tabs { gap: 4px; padding: 5px; }
.workspace-tab { min-height: 40px; padding: 8px 12px; font-size: var(--fs-sm); line-height: 1.2; }
.workspace-tab b { font-size: 10px; }
.workspace-pane h2 { line-height: 1.3; }

.record-hero, .database-hero { padding: 20px 22px; }
.record-hero h2, .database-hero h2 { font-size: 24px; line-height: 1.25; }
.record-subline { font-size: var(--fs-sm); line-height: 1.4; }
.database-hero-stat strong { font-size: 24px; }
.database-hero-stat span { font-size: var(--fs-xs); }
.database-create > summary { padding: 16px 18px; }
.database-create > summary strong { font-size: 18px; line-height: 1.3; }
.database-create > summary small { font-size: var(--fs-xs); }
.field-section { padding: 12px; }
.field-section-title { font-size: 10px; line-height: 1.25; }
.relationship-row { padding: 10px 11px; font-size: var(--fs-sm); }
.relationship-row small { font-size: var(--fs-xs); }

.required-document-row { grid-template-columns: 86px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 13px 0; }
.required-document-copy { gap: 3px; }
.required-document-copy strong { font-size: var(--fs-md); line-height: 1.35; }
.required-document-copy small, .required-document-copy > span { font-size: var(--fs-xs); line-height: 1.4; }
.requirement-state { min-width: 78px; min-height: 28px; padding: 5px 8px; }

.summary-list > div { padding: 10px 0; }
.summary-list span { font-size: var(--fs-sm); }
.summary-list b { font-size: var(--fs-sm); line-height: 1.35; }

.timeline { padding-bottom: 13px; }
.timeline span, .history-row > span { font-size: var(--fs-xs); }
.timeline p { font-size: var(--fs-sm); line-height: 1.5; }
.history-row { padding: 10px 0; }

/* Keep major two-column workspaces aligned to a predictable rhythm. */
.record-layout, .workspace-grid-main, .workspace-section-grid, .dashboard-grid { gap: 16px; }
.record-side, .request-summary-card { align-self: start; }

@media (max-width: 1200px) {
  .app-main { padding: 24px 24px 36px; }
}
@media (max-width: 900px) {
  .sidebar { width: 100%; padding: 18px 16px; }
  .app-main { padding: 20px 16px 32px; }
  .panel { padding: 16px; }
  .ticket-hero { padding: 18px; }
  .action-center-card { padding: 18px; }
  .required-document-row { grid-template-columns: 1fr; align-items: start; }
  .requirement-state { justify-self: start; }
}
@media (max-width: 560px) {
  h1 { font-size: 24px; }
  h2 { font-size: 19px; }
  .ticket-title-row h2 { font-size: 23px; }
  .dashboard-hero h2 { font-size: 23px; }
}


/* V0.5.2 alignment system */
:root {
  --content-max: 1560px;
  --panel-radius: 14px;
  --control-radius: 9px;
  --control-height: 42px;
  --section-gap: 16px;
}

/* Consistent page geometry */
.app-main { max-width: var(--content-max); }
.page-header,
.dashboard-hero,
.database-hero,
.record-hero,
.ticket-hero,
.panel-head { min-width: 0; }
.page-header > :first-child,
.dashboard-hero > :first-child,
.database-hero > :first-child,
.record-hero > :first-child,
.ticket-hero-main,
.panel-head > :first-child { min-width: 0; }
.page-header > :last-child,
.header-actions,
.quick-actions,
.ticket-hero-actions { flex-shrink: 0; }

/* One control height and one left-edge text alignment for forms */
input,
select,
textarea {
  min-height: var(--control-height);
  height: var(--control-height);
  border-radius: var(--control-radius);
  text-align: left;
}
textarea { height: auto; min-height: 112px; }
select { text-overflow: ellipsis; }
label,
.grid2 > label,
.grid3 > label,
.grid4 > label {
  min-width: 0;
  text-align: left;
}
.grid2,
.grid3,
.grid4,
.grid2col { align-items: start; }
.formpanel form > .button,
.formpanel form > button,
.database-create-body form > .button,
.database-create-body form > button { justify-self: end; }

/* Keep metadata cards on identical baselines */
.ticket-stat-row { align-items: stretch; }
.ticket-stat-row span {
  min-width: 0;
  justify-items: start;
  align-content: start;
  text-align: left;
}
.ticket-stat-row span b { text-align: left; }
.action-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
  align-items: stretch;
}
.action-facts span {
  min-width: 0;
  align-content: start;
  text-align: left;
}
.action-facts b { text-align: left; }

/* Predictable two-column workspaces */
.record-layout {
  grid-template-columns: minmax(0, 1.7fr) minmax(320px, 0.8fr);
  gap: var(--section-gap);
  align-items: start;
}
.workspace-grid-main {
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.8fr);
  gap: var(--section-gap);
  align-items: start;
}
.workspace-section-grid {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.35fr);
  gap: var(--section-gap);
  align-items: start;
}
.database-layout {
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: var(--section-gap);
  align-items: start;
}
.record-side,
.request-summary-card,
.database-layout > * {
  min-width: 0;
  align-self: start;
}

/* Consistent section headings and supporting copy */
.panel-head h2,
.field-section-title,
.section-kicker,
.eyebrow { text-align: left; }
.panel-head p,
.page-description,
.record-subline,
.database-hero p,
.ticket-context {
  overflow-wrap: anywhere;
  text-align: left;
}
.field-section {
  display: grid;
  gap: 12px;
  align-content: start;
}
.field-section-title { margin-bottom: 0; }

/* Tables: consistent baseline and readable numeric alignment */
th,
td {
  text-align: left;
  vertical-align: middle;
}
.mono { font-variant-numeric: tabular-nums; }
.database-table td small,
.relationship-row small { overflow-wrap: anywhere; }

/* Actions line up with the card edge instead of drifting vertically */
.panel-head .button,
.panel-head .header-actions,
.database-filter-actions,
.form-actions { align-self: end; }
.form-actions { margin-top: 4px; }

/* Request workspace tabs and status controls share one rhythm */
.workspace-tabs,
.action-strip,
.action-center-card,
.progress-panel { align-items: center; }
.action-center-actions { min-width: 0; align-self: center; }
.action-center-actions .button,
.action-center-actions form { flex: 0 0 auto; }

/* Consistent badge text and centering */
.pill,
.credential-status,
.requirement-state,
.role-pill,
.action-pill,
.task-status,
.panel-stat,
.status-option {
  justify-content: center;
  text-align: center;
}

@media (max-width: 1200px) {
  .record-layout,
  .workspace-grid-main,
  .workspace-section-grid,
  .database-layout { grid-template-columns: 1fr; }
  .record-side,
  .request-summary-card,
  .database-layout > * { width: 100%; }
}
@media (max-width: 900px) {
  .page-header,
  .dashboard-hero,
  .database-hero,
  .record-hero,
  .ticket-hero { align-items: flex-start; }
  .header-actions,
  .quick-actions,
  .ticket-hero-actions {
    width: 100%;
    justify-content: flex-start;
  }
  .action-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .action-facts { grid-template-columns: 1fr; }
}



/* V0.5.3 request workspace visual refinement */

/* Shared page rhythm */
.app-main {
  padding-top: 26px;
  padding-bottom: 40px;
}

.panel {
  padding: 20px;
  border-radius: 14px;
}

.panel-head {
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 18px;
}

.panel-head h2,
.panel-head h3 {
  margin: 0 0 4px;
}

.panel-head p {
  margin: 0;
  max-width: 72ch;
  line-height: 1.5;
}

/* Request header */
.ticket-hero {
  padding: 20px 22px;
}

.ticket-title-row {
  align-items: center;
  gap: 12px;
}

.ticket-title-row h2 {
  margin: 0;
  line-height: 1.12;
}

.ticket-stat-row {
  gap: 10px;
  margin-top: 14px;
}

.ticket-stat-row span {
  min-height: 62px;
  padding: 10px 12px;
  align-content: center;
}

.ticket-stat-row b {
  line-height: 1.25;
}

.ticket-context {
  margin-top: 12px;
  align-items: center;
}

/* Action Center: a single clean hierarchy */
.action-center-card {
  grid-template-columns: minmax(0, 1fr) minmax(250px, auto);
  gap: 22px;
  padding: 20px 22px;
}

.action-center-title-row {
  gap: 8px;
}

.action-center-title-row h2 {
  margin: 0;
  font-size: 21px;
}

.action-center-title-row p {
  margin: 0;
}

.action-facts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}

.action-facts span {
  min-width: 0;
  min-height: 54px;
  padding: 9px 10px;
  align-content: center;
}

.action-facts b {
  font-size: 9px;
}

.action-center-actions {
  align-self: center;
  justify-content: flex-end;
}

/* Progress and workspace tabs */
.progress-panel {
  padding: 16px 20px;
}

.progress-panel .panel-head {
  align-items: flex-end;
  margin-bottom: 14px;
}

.workspace-tabs {
  gap: 4px;
  padding: 5px;
  margin-bottom: 16px;
}

.workspace-tab {
  min-height: 42px;
  padding: 9px 12px;
  line-height: 1.2;
  text-align: center;
}

.workspace-tab span,
.workspace-tab b {
  flex-shrink: 0;
}

/* Main request workspace proportions */
.workspace-grid-main {
  grid-template-columns: minmax(0, 2fr) minmax(300px, 0.88fr);
  gap: 18px;
  align-items: start;
}

.workspace-grid-main > .formpanel,
.workspace-grid-main > .request-summary-card {
  min-width: 0;
}

/* Request Details form: predictable rows and vertical rhythm */
.workspace-grid-main > .formpanel form {
  display: grid;
  gap: 0;
}

.workspace-grid-main > .formpanel form > .grid3,
.workspace-grid-main > .formpanel form > .grid4,
.workspace-grid-main > .formpanel form > .grid2 {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0 0 16px;
}

.workspace-grid-main > .formpanel form > .grid4,
.workspace-grid-main > .formpanel form > .grid2 {
  padding-top: 16px;
  border-top: 1px solid #edf0f5;
}

.workspace-grid-main > .formpanel form label {
  min-width: 0;
}

.workspace-grid-main > .formpanel form label > input,
.workspace-grid-main > .formpanel form label > select,
.workspace-grid-main > .formpanel form label > textarea {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.workspace-grid-main > .formpanel form select {
  padding-right: 34px;
}

.workspace-grid-main > .formpanel form .grid2 > .field-note {
  min-height: 42px;
  height: 100%;
  box-sizing: border-box;
}

.status-transition-note {
  margin-top: 0;
  padding: 11px 13px;
  line-height: 1.45;
}

.form-actions {
  padding-top: 16px;
  margin-top: 0;
  border-top: 1px solid #edf0f5;
}

.form-actions .button {
  min-width: 132px;
}

/* Summary panel: stronger primary facts, clean secondary facts */
.request-summary-card {
  top: 72px;
  padding: 20px;
}

.request-summary-card .panel-head {
  margin-bottom: 12px;
}

.summary-list > div {
  min-height: 50px;
  box-sizing: border-box;
  padding: 10px 0;
  align-items: center;
}

.summary-list > div:first-child {
  padding-top: 6px;
  min-height: 58px;
}

.summary-list > div:last-child {
  min-height: 58px;
}

.summary-list span {
  flex: 0 0 74px;
  font-size: var(--fs-sm);
}

.summary-list b {
  min-width: 0;
  max-width: 68%;
  overflow-wrap: anywhere;
  text-align: right;
  font-size: var(--fs-sm);
  line-height: 1.35;
}

.summary-list > div:first-child b,
.summary-list > div:last-child b {
  font-size: 15px;
}

.summary-cta {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #edf0f5;
}

.summary-cta .button {
  min-height: 40px;
}

/* Requirement list and related tables use the same left edge */
.required-document-row {
  min-width: 0;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 12px;
  padding: 13px 0;
}

.required-document-copy {
  min-width: 0;
}

.required-document-copy strong,
.required-document-copy small,
.required-document-copy > span {
  overflow-wrap: anywhere;
}

/* General database/detail alignment */
.record-layout,
.database-layout,
.workspace-section-grid,
.dashboard-grid {
  gap: 18px;
  align-items: start;
}

.record-side,
.database-layout > *,
.dashboard-grid > *,
.workspace-section-grid > * {
  min-width: 0;
}

.database-table th,
.database-table td,
table th,
table td {
  vertical-align: middle;
}

td:last-child:not(.empty-state),
th:last-child {
  white-space: nowrap;
}

/* Text hierarchy without excessive boldness */
label {
  font-size: var(--fs-sm);
  font-weight: 650;
}

.muted {
  color: var(--muted);
}

/* Prevent tiny controls from feeling disconnected */
input,
select,
textarea,
.button,
button {
  font-variant-numeric: tabular-nums;
}

@media (max-width: 1200px) {
  .workspace-grid-main {
    grid-template-columns: minmax(0, 1fr) 320px;
  }
}

@media (max-width: 1000px) {
  .workspace-grid-main {
    grid-template-columns: 1fr;
  }

  .request-summary-card {
    position: static;
  }

  .action-center-card {
    grid-template-columns: 1fr;
  }

  .action-center-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 900px) {
  .ticket-stat-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

@media (max-width: 640px) {
  .panel,
  .request-summary-card {
    padding: 16px;
  }

  .ticket-hero {
    padding: 18px;
  }

  .ticket-stat-row,
  .action-facts {
    grid-template-columns: 1fr;
  }

  .summary-list b {
    max-width: 62%;
  }
}



/* SaavyaRCM V0.5.4.2 Shared Component System
   Application-wide foundation layer. No business logic or database changes. */
:root {
  --ui-space-1: 4px;
  --ui-space-2: 8px;
  --ui-space-3: 12px;
  --ui-space-4: 16px;
  --ui-space-5: 24px;
  --ui-space-6: 32px;
  --ui-space-7: 40px;
  --ui-radius-sm: 8px;
  --ui-radius-md: 12px;
  --ui-radius-lg: 16px;
  --ui-control-h: 44px;
  --ui-text: #091540;
  --ui-muted: #61708f;
  --ui-border: #dfe6f2;
  --ui-surface: #ffffff;
  --ui-surface-soft: #f7f9fc;
  --ui-brand: #1b2cc1;
  --ui-focus: #7692ff;
  --ui-success: #2f8f63;
  --ui-warning: #a06a00;
  --ui-danger: #b83b3b;
}

/* Typography hierarchy */
body {
  color: var(--ui-text);
  font-size: 16px;
  line-height: 1.5;
}

h1, .page-title {
  font-size: clamp(28px, 2.4vw, 32px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0;
}

h2, .section-title, .panel-title {
  font-size: 20px;
  line-height: 1.3;
  margin: 0;
}

h3 { font-size: 18px; line-height: 1.35; }

label, .field-label, .eyebrow, .table-head, th {
  font-size: 13px;
  line-height: 1.35;
}

.muted, .helper, .subtle, .field-help {
  color: var(--ui-muted);
}

/* Shared page container */
main, .page-shell, .content-shell, .page-container {
  box-sizing: border-box;
}

/* Shared controls */
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
button,
.btn,
.button {
  box-sizing: border-box;
  font: inherit;
}

input:not([type="checkbox"]):not([type="radio"]),
select,
button,
.btn,
.button {
  min-height: var(--ui-control-h);
  border-radius: var(--ui-radius-md);
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  border: 1px solid var(--ui-border);
  background: var(--ui-surface);
  color: var(--ui-text);
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea { padding: 10px 12px; }

textarea { min-height: 110px; resize: vertical; }

input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus,
button:focus-visible,
.btn:focus-visible,
.button:focus-visible,
a:focus-visible {
  outline: 3px solid rgba(118, 146, 255, 0.28);
  outline-offset: 1px;
}

/* Buttons: one shared hierarchy */
.btn-primary,
.button-primary,
.primary-action,
button[type="submit"] {
  min-height: var(--ui-control-h);
  padding: 10px 16px;
  border: 1px solid transparent;
  background: var(--ui-brand);
  color: #fff;
  font-weight: 700;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ui-space-2);
}

.btn-secondary,
.button-secondary,
.secondary-action {
  min-height: var(--ui-control-h);
  padding: 10px 16px;
  border: 1px solid transparent;
  background: #eef2ff;
  color: var(--ui-brand);
  font-weight: 700;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ui-space-2);
}

/* Shared cards / panels */
.card,
.panel,
.workspace-card,
.surface-card,
.page-card {
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius-lg);
  background: var(--ui-surface);
  box-shadow: 0 8px 28px rgba(9, 21, 64, 0.05);
}

/* Shared section headers */
.panel-head,
.section-head,
.card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--ui-space-5);
}

/* Shared badges */
.status-badge,
.workspace-state,
.badge,
.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

/* Shared tables */
table { width: 100%; border-collapse: collapse; }
th, td {
  padding: 12px 10px;
  vertical-align: middle;
  text-align: left;
  border-bottom: 1px solid #e7ecf4;
}
th { color: #66738e; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }
td:last-child:not(.empty-state), th:last-child { text-align: right; }

/* Common data alignment helpers */
.text-right, .numeric, .count { text-align: right; }
.text-center, .centered { text-align: center; }

/* Shared layout primitives */
.form-grid,
.fields-grid,
.meta-grid,
.stats-grid,
.kpi-grid {
  display: grid;
  gap: var(--ui-space-4);
}

.form-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.fields-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.meta-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.stats-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Prevent text from blowing out the layout */
.card *, .panel *, .workspace-card *, table *, td *, th * {
  min-width: 0;
}

a, td, th, p, small, label {
  overflow-wrap: anywhere;
}

/* Responsive baseline */
@media (max-width: 1100px) {
  .fields-grid, .meta-grid, .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .fields-grid, .meta-grid, .stats-grid, .kpi-grid { grid-template-columns: 1fr; }
  .panel-head, .section-head, .card-head { flex-direction: column; }
  .form-grid { grid-template-columns: 1fr; }
  th, td { padding: 10px 8px; }
}




/* V0.5.4.3 - SaavyaRCM Application Shell */
:root {
  --shell-max: 1500px;
  --shell-gutter: clamp(24px, 3vw, 44px);
  --shell-top: 28px;
  --shell-bottom: 48px;
  --shell-section-gap: 24px;
  --control-height: 44px;
}

html { scroll-behavior: smooth; }

body {
  min-width: 320px;
}

.sidebar {
  width: 270px;
  padding: 24px 16px 18px;
}

.brand-lockup {
  padding-left: 10px;
  padding-right: 10px;
}

.nav-scroll {
  margin-top: 26px;
  padding-right: 4px;
}

.nav-group {
  margin-bottom: 16px;
}

.nav-group a {
  min-height: 40px;
  padding: 9px 12px;
  font-size: 14px;
  line-height: 1.25;
}

.sidefoot {
  padding: 16px 10px 2px;
}

.app-main {
  width: calc(100% - 270px);
  min-width: 0;
  margin-left: 270px;
  padding: var(--shell-top) var(--shell-gutter) var(--shell-bottom);
  overflow-x: clip;
}

.app-context-bar,
.page-header,
.app-main > .panel,
.app-main > .dashboard-hero,
.app-main > .dashboard-grid,
.app-main > .cards,
.app-main > .status-strip,
.app-main > .workspace-tabs,
.app-main > .progress-panel,
.app-main > .database-switcher,
.app-main > .database-hero,
.app-main > .record-hero,
.app-main > .record-layout,
.app-main > .database-layout {
  width: min(100%, var(--shell-max));
  margin-left: auto;
  margin-right: auto;
}

.app-context-bar {
  min-height: 34px;
  margin-top: 0;
  margin-bottom: 14px;
  padding: 0 2px;
  font-size: 12px;
}

.context-breadcrumb {
  min-width: 0;
  gap: 8px;
  line-height: 1.3;
}

.context-breadcrumb span:first-child {
  color: #7c87a2;
  font-weight: 650;
}

.context-breadcrumb strong {
  color: #34405a;
  font-weight: 750;
}

.context-role {
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 11px;
}

.page-header {
  min-height: 58px;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 24px;
}

.page-header > div:first-child {
  min-width: 0;
}

.page-header h1 {
  margin: 4px 0 0;
  font-size: clamp(28px, 2.2vw, 34px);
  line-height: 1.15;
  letter-spacing: -.35px;
}

.page-description {
  max-width: 780px;
  margin: 7px 0 0;
  font-size: 14px;
  line-height: 1.55;
}

.header-actions {
  flex: 0 0 auto;
  align-self: flex-end;
  gap: 10px;
}

.button,
button,
input,
select,
textarea {
  font-size: 14px;
}

.button,
button {
  min-height: var(--control-height);
  padding: 10px 16px;
  border-radius: 10px;
  font-weight: 700;
}

input,
select {
  min-height: var(--control-height);
  padding: 10px 12px;
  border-radius: 10px;
}

textarea {
  padding: 11px 12px;
  border-radius: 10px;
}

.panel {
  border-radius: 14px;
}

.panel-head {
  gap: 20px;
  margin-bottom: 16px;
}

.panel-head > div:first-child {
  min-width: 0;
}

.panel-head h2,
.panel-head h3 {
  line-height: 1.25;
}

.table-wrap {
  min-width: 0;
}

th {
  vertical-align: middle;
}

td {
  vertical-align: middle;
}

.flash {
  width: min(100%, var(--shell-max));
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1200px) {
  .app-main {
    width: calc(100% - 270px);
  }

  .page-header {
    align-items: flex-start;
  }
}

@media (max-width: 900px) {
  .sidebar {
    width: 100%;
  }

  .app-main {
    width: 100%;
    margin-left: 0;
    padding: 22px 18px 34px;
  }

  .app-context-bar {
    margin-bottom: 12px;
  }

  .page-header {
    gap: 16px;
    margin-bottom: 20px;
  }

  .header-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {
  .app-main {
    padding: 18px 14px 28px;
  }

  .page-header h1 {
    font-size: 26px;
  }

  .page-description {
    font-size: 13px;
  }

  .header-actions .button,
  .header-actions button {
    flex: 1 1 auto;
  }
}



/* SaavyaRCM V0.5.6.1 - Dashboard Regression Alignment */
/* SaavyaRCM V0.5.6 - Operations Overview Dashboard
   Scoped to dashboard components only. No global table selectors.
*/

.dashboard-overview{
  display:grid;
  gap:24px;
}

.dashboard-hero-v056{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:end;
  padding:28px 30px;
}

.dashboard-hero-v056 h1{
  margin:6px 0 8px;
  font-size:clamp(28px,3vw,36px);
  line-height:1.15;
  letter-spacing:-.02em;
}

.dashboard-hero-v056 p{
  max-width:720px;
  margin:0;
}

.dashboard-kpis-v056{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}

.dashboard-kpi-v056{
  min-width:0;
  padding:18px 18px 16px;
  text-decoration:none;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:126px;
}

.dashboard-kpi-v056 b{
  font-size:30px;
  line-height:1;
  letter-spacing:-.02em;
}

.dashboard-kpi-v056 strong{
  display:block;
  margin-top:10px;
  font-size:14px;
  line-height:1.3;
  font-weight:700;
}

.dashboard-kpi-v056 small{
  margin-top:6px;
  color:#6f7c93;
  line-height:1.35;
}

.dashboard-kpi-v056.is-critical{border-color:#f0c8c8;background:#fffafa}
.dashboard-kpi-v056.is-critical b{color:#a52f3b}
.dashboard-kpi-v056.is-warning{border-color:#ead7ac;background:#fffdf7}
.dashboard-kpi-v056.is-warning b{color:#8d6510}

.dashboard-section-v056{
  padding:22px 24px;
}

.dashboard-section-head-v056{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}

.dashboard-section-head-v056 h2{
  margin:0 0 5px;
  font-size:20px;
  line-height:1.25;
}

.dashboard-section-head-v056 p{
  margin:0;
}

.dashboard-status-grid-v056{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.dashboard-status-v056{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 14px;
  border:1px solid #e4e9f2;
  border-radius:12px;
  background:#fbfcfe;
  min-width:0;
  text-decoration:none;
}

.dashboard-status-v056 span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#596781;
  font-size:13px;
  font-weight:600;
}

.dashboard-status-v056 b{
  flex:0 0 auto;
  min-width:30px;
  text-align:right;
  font-size:16px;
}

.dashboard-main-grid-v056{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);
  gap:20px;
  align-items:start;
}

.dashboard-side-stack-v056{
  display:grid;
  gap:20px;
}

.dashboard-queue-v056{
  width:100%;
  overflow:hidden;
}

.dashboard-queue-v056 table {
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
}

.dashboard-queue-v056 th,
.dashboard-queue-v056 td{
  padding:12px 13px;
  border-bottom:1px solid #e7ebf2;
  vertical-align:middle;
  text-align:left;
  line-height:1.35;
  font-size:13px;
}

.dashboard-queue-v056 th{
  color:#6b7890;
  font-size:11px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  white-space:nowrap;
}

.dashboard-queue-v056 tr:last-child td{border-bottom:0}
.dashboard-queue-v056 td:first-child{width:16%}
.dashboard-queue-v056 td:nth-child(2){width:28%}
.dashboard-queue-v056 td:nth-child(3){width:20%}
.dashboard-queue-v056 td:nth-child(4){width:16%}
.dashboard-queue-v056 td:nth-child(5){width:10%;white-space:nowrap}
.dashboard-queue-v056 td:nth-child(6){width:10%;white-space:nowrap}
.dashboard-queue-v056 td:nth-child(7){width:0;display:none}
.dashboard-queue-v056 td,.dashboard-queue-v056 a{overflow-wrap:anywhere}
.dashboard-queue-v056 .pill{white-space:nowrap}

.dashboard-activity-v056{
  display:grid;
  gap:0;
}

.dashboard-activity-item-v056{
  padding:13px 0;
  border-bottom:1px solid #e7ebf2;
}

.dashboard-activity-item-v056:last-child{border-bottom:0;padding-bottom:0}
.dashboard-activity-item-v056:first-child{padding-top:0}

.dashboard-activity-meta-v056{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:baseline;
}

.dashboard-activity-meta-v056 b{font-size:13px}
.dashboard-activity-meta-v056 span{font-size:11px;color:#7b879b;white-space:nowrap}
.dashboard-activity-item-v056 p{margin:6px 0 5px;font-size:13px;line-height:1.45}
.dashboard-activity-item-v056 small{color:#738097}

.dashboard-snapshot-v056{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.dashboard-snapshot-card-v056{
  padding:15px 16px;
  border:1px solid #e4e9f2;
  border-radius:12px;
  background:#fbfcfe;
}

.dashboard-snapshot-card-v056 span{
  display:block;
  color:#738097;
  font-size:11px;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-weight:700;
}

.dashboard-snapshot-card-v056 b{
  display:block;
  margin-top:5px;
  font-size:22px;
}

.dashboard-recent-v056{
  overflow:hidden;
}

.dashboard-recent-v056 table {
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
}

.dashboard-recent-v056 th,
.dashboard-recent-v056 td{
  padding:11px 12px;
  border-bottom:1px solid #e7ebf2;
  vertical-align:middle;
  text-align:left;
  line-height:1.35;
  font-size:13px;
  overflow-wrap:anywhere;
}

.dashboard-recent-v056 th{
  color:#6b7890;
  font-size:11px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  white-space:nowrap;
}

.dashboard-recent-v056 tr:last-child td{border-bottom:0}
.dashboard-recent-v056 td:nth-child(1){width:14%;}
.dashboard-recent-v056 td:nth-child(2){width:22%;}
.dashboard-recent-v056 td:nth-child(3){width:18%;}
.dashboard-recent-v056 td:nth-child(4){width:16%;}
.dashboard-recent-v056 td:nth-child(5){width:12%;white-space:nowrap;}
.dashboard-recent-v056 td:nth-child(6){width:9%;white-space:nowrap;text-align:center;}
.dashboard-recent-v056 td:nth-child(7){width:9%;}
.dashboard-recent-v056 td:nth-child(8){width:0;display:none}

.dashboard-quick-links-v056{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.dashboard-quick-links-v056 .button{min-height:40px}

@media (max-width:1080px){
  .dashboard-kpis-v056{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dashboard-main-grid-v056{grid-template-columns:1fr}
  .dashboard-status-grid-v056{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:760px){
  .dashboard-hero-v056{grid-template-columns:1fr;padding:22px}
  .dashboard-kpis-v056{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-status-grid-v056{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-snapshot-v056{grid-template-columns:1fr}
}

@media (max-width:520px){
  .dashboard-kpis-v056,.dashboard-status-grid-v056{grid-template-columns:1fr}
  .dashboard-section-v056{padding:18px}
}




/* SaavyaRCM V0.5.7 - Requests Workspace Visual Refinement
   Explicit Requests-only selectors. No global table/form overrides.
*/

.requests-workspace-v057{
  display:grid;
  gap:16px;
  min-width:0;
}

.requests-filter-panel-v057{
  padding:16px 18px;
  background:#fbfcff;
}

.requests-filter-head-v057{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}

.requests-filter-head-v057 h2{
  margin:2px 0 4px;
  font-size:18px;
}

.requests-filter-head-v057 p{
  margin:0;
  font-size:12px;
}

.requests-filter-state-v057{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.requests-filter-count-v057{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 9px;
  border:1px solid #dfe5ef;
  border-radius:999px;
  background:#fff;
  color:#56627b;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}

.requests-search-v057{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
  margin-bottom:12px;
}

.requests-search-field-v057 label,
.requests-filter-grid-v057 label{
  display:block;
  margin-bottom:5px;
  color:#5d6982;
  font-size:11px;
  font-weight:700;
}

.requests-search-field-v057 input{
  min-height:42px;
}

.requests-search-actions-v057{
  display:flex;
  gap:8px;
  align-items:stretch;
}

.requests-search-actions-v057 .button,
.requests-search-actions-v057 button{
  min-height:42px;
  white-space:nowrap;
}

.requests-filter-grid-v057{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  padding-top:12px;
  border-top:1px solid #e8ecf3;
}

.requests-filter-grid-v057 > div{
  min-width:0;
}

.requests-filter-grid-v057 select{
  min-height:40px;
}

.requests-queue-panel-v057{
  padding:0;
  overflow:hidden;
}

.requests-queue-head-v057{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px 14px;
  border-bottom:1px solid #edf0f5;
}

.requests-queue-head-v057 h2{
  margin:2px 0 4px;
  font-size:20px;
}

.requests-queue-head-v057 p{
  margin:0;
  font-size:12px;
}

.requests-table-wrap-v057{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.requests-table-v057{
  width:100%;
  min-width:980px;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
  font-size:13px;
}

.requests-table-v057 th,
.requests-table-v057 td{
  padding:11px 12px;
  border-bottom:1px solid #e9edf3;
  vertical-align:middle;
  text-align:left;
  line-height:1.35;
}

.requests-table-v057 th{
  background:#fbfcfe;
  color:#69758c;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
}

.requests-table-v057 tbody tr:hover td{
  background:#fbfcff;
}

.requests-table-v057 tbody tr:last-child td{
  border-bottom:0;
}

.requests-table-v057 td,
.requests-table-v057 a{
  overflow-wrap:anywhere;
}

.requests-table-v057 .request-primary-v057{
  display:block;
  font-weight:800;
  text-decoration:none;
}

.requests-table-v057 .request-secondary-v057{
  display:block;
  margin-top:4px;
  color:#78849a;
  font-size:11px;
}

.requests-table-v057 .provider-meta-v057,
.requests-table-v057 .payer-meta-v057,
.requests-table-v057 .assignee-meta-v057{
  display:block;
  min-width:0;
}

.requests-table-v057 .provider-npi-v057{
  display:block;
  margin-top:4px;
  color:#7b879c;
  font-size:10px;
  font-variant-numeric:tabular-nums;
}

.requests-table-v057 .due-date-v057{
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}

.requests-table-v057 th:nth-child(1),
.requests-table-v057 td:nth-child(1){width:14%;}
.requests-table-v057 th:nth-child(2),
.requests-table-v057 td:nth-child(2){width:17%;}
.requests-table-v057 th:nth-child(3),
.requests-table-v057 td:nth-child(3){width:16%;}
.requests-table-v057 th:nth-child(4),
.requests-table-v057 td:nth-child(4){width:14%;}
.requests-table-v057 th:nth-child(5),
.requests-table-v057 td:nth-child(5){width:12%;}
.requests-table-v057 th:nth-child(6),
.requests-table-v057 td:nth-child(6){width:9%;}
.requests-table-v057 th:nth-child(7),
.requests-table-v057 td:nth-child(7){width:8%;}
.requests-table-v057 th:nth-child(8),
.requests-table-v057 td:nth-child(8){width:10%;}

.requests-empty-v057{
  padding:28px 18px !important;
  text-align:center !important;
  color:#6d7890;
}

.requests-empty-v057 strong{
  display:block;
  margin-bottom:4px;
  color:#3e4a61;
  font-size:13px;
}

.requests-empty-v057 span{
  font-size:12px;
}

@media (max-width:1180px){
  .requests-filter-grid-v057{grid-template-columns:repeat(3,minmax(0,1fr));}
  .requests-table-v057{min-width:940px;}
}

@media (max-width:800px){
  .requests-search-v057{grid-template-columns:1fr;}
  .requests-search-actions-v057{width:100%;}
  .requests-search-actions-v057 .button,
  .requests-search-actions-v057 button{flex:1 1 0;}
  .requests-filter-grid-v057{grid-template-columns:1fr 1fr;}
  .requests-filter-head-v057,
  .requests-queue-head-v057{flex-direction:column;align-items:stretch;}
  .requests-filter-state-v057{justify-content:flex-start;}
}

@media (max-width:560px){
  .requests-filter-panel-v057{padding:14px;}
  .requests-filter-grid-v057{grid-template-columns:1fr;}
  .requests-queue-head-v057{padding:16px 14px 12px;}
}




/* V0.6.0.4.2 PHP compatibility layer
   Purpose: style legacy PHP views with the canonical Flask visual language
   without changing routes, controllers, business rules, or database behaviour. */

.page-head,
.hero,
.page-header {
  margin-bottom: 24px;
}

.page-head,
.page-header {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  align-items: flex-end;
}

.page-head h1,
.page-header h1 {
  margin: 7px 0 8px;
  font-size: 34px;
  letter-spacing: -.04em;
  color: var(--navy);
}

.page-head p,
.page-header p {
  margin: 0;
  color: var(--muted);
}

.card,
.panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: var(--shadow);
}

.card-head,
.panel-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}

.card-head h2,
.panel-head h2,
.card h2,
.panel h2 {
  margin: 0;
  color: var(--navy);
  font-size: 20px;
  letter-spacing: -.02em;
}

.btn,
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 15px;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: var(--surface);
  color: var(--navy);
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, transform .05s ease;
}

.btn:hover,
.button:hover {
  background: #f7f9fd;
  text-decoration: none;
}

.btn:active,
.button:active {
  transform: translateY(1px);
}

.btn-primary,
.button.primary {
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
}

.btn-small,
.button.compact {
  min-height: 34px;
  padding: 7px 11px;
  font-size: 12px;
}

.filters,
.database-filters {
  display: grid;
  grid-template-columns: minmax(250px, 1.6fr) repeat(2, minmax(170px, .7fr)) auto;
  gap: 10px;
  align-items: end;
}

.filters input,
.filters select,
.filters textarea,
.database-filters input,
.database-filters select {
  width: 100%;
}

.form-grid,
.grid2,
.grid-2,
.compact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.form-grid label,
.grid2 label,
.grid-2 label,
.compact-grid label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: #39425b;
  font-size: 12px;
  font-weight: 700;
}

.form-grid label input,
.form-grid label select,
.form-grid label textarea,
.grid2 label input,
.grid2 label select,
.grid2 label textarea,
.grid-2 label input,
.grid-2 label select,
.grid-2 label textarea {
  width: 100%;
}

input,
select,
textarea {
  border: 1px solid var(--border);
  border-radius: 9px;
  padding: 10px 11px;
  color: var(--text);
  background: #fff;
  font: inherit;
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: var(--mid);
  box-shadow: 0 0 0 3px rgba(118,146,255,.14);
}

textarea {
  min-height: 90px;
  resize: vertical;
}

.table-wrap {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
}

.table-wrap table {
  width: 100%;
  min-width: 780px;
  border-collapse: collapse;
}

.table-wrap th,
.table-wrap td {
  padding: 11px 10px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
}

.table-wrap th {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.table-wrap td {
  color: var(--text);
  font-size: 13px;
}

.table-wrap td strong {
  color: var(--navy);
}

.table-wrap td small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
}

.badge,
.pill,
.role-pill {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #edf1ff;
  color: var(--blue);
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.badge.ok,
.pill.completed,
.status-dot.active {
  background: var(--success-bg);
  color: var(--success);
}

.badge.urgent,
.pill.urgent,
.status-dot.inactive {
  background: var(--danger-bg);
  color: var(--danger);
}

.badge.high,
.pill.high {
  background: #eef1ff;
  color: var(--blue);
}

.badge.low,
.pill.low {
  background: #f1f4f8;
  color: #536079;
}

.empty,
.empty-state {
  padding: 26px 16px;
  text-align: center;
  color: var(--muted);
}

.list-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid var(--border);
}

.list-row:last-child {
  border-bottom: 0;
}

.list-row p {
  margin: 5px 0 0;
  color: var(--muted);
}

.info-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.info-grid > div {
  padding: 13px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fbfcff;
}

.info-grid span {
  display: block;
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 11px;
}

.info-grid strong {
  display: block;
  color: var(--navy);
  font-size: 14px;
}

.timeline {
  display: block;
}

.timeline-item {
  margin-left: 6px;
  padding: 0 0 18px 17px;
  border-left: 2px solid var(--pale);
}

.timeline-item strong {
  display: block;
  color: var(--navy);
}

.timeline-item span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
}

.timeline-item p {
  margin: 7px 0 0;
  line-height: 1.5;
}

.workflow {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.step-btn {
  border: 1px solid #cdd7ef;
  border-radius: 9px;
  padding: 8px 11px;
  background: #f7f9ff;
  color: var(--blue);
  font-weight: 750;
  cursor: pointer;
}

.requirement,
.history-row {
  padding: 11px 0;
  border-bottom: 1px solid var(--border);
}

.requirement {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.requirement small,
.history-row span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
}

.next-action {
  background: linear-gradient(135deg, var(--navy), var(--blue));
  color: #fff;
}

.next-action .eyebrow {
  color: var(--pale);
}

.next-action h2 {
  color: #fff;
}

.next-action p {
  color: #dbe5ff;
  line-height: 1.55;
}

.compact-form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(220px, 2fr) auto;
  gap: 10px;
  align-items: end;
}

.narrow {
  max-width: 680px;
}

.header-actions,
.form-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.record-hero {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
  padding: 24px;
  margin-bottom: 20px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: linear-gradient(135deg, #fff, #eef4ff);
  box-shadow: var(--shadow);
}

.record-hero h1,
.record-hero h2 {
  margin: 7px 0 8px;
  color: var(--navy);
}

.record-subline,
.muted {
  color: var(--muted);
}

.record-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
  gap: 20px;
}

@media (max-width: 1050px) {
  .filters,
  .database-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .record-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .page-head,
  .page-header,
  .record-hero {
    flex-direction: column;
    align-items: flex-start;
  }

  .form-grid,
  .grid2,
  .grid-2,
  .compact-grid,
  .info-grid,
  .filters,
  .database-filters {
    grid-template-columns: 1fr;
  }

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

  .table-wrap table {
    min-width: 720px;
  }
}

/* SRCM V0.6.0.5.2 - Responsive Tables & Filter Contract */
/* Presentation-only. No route, controller or database changes. */

/* Shared desktop table contract: prefer wrapping over forced horizontal scrolling. */
.requests-table-wrap-v057,
.priority-wrap,
.database-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: visible;
  overflow-y: visible;
}

.requests-table-v057,
.priority-table,
.database-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}

.requests-table-v057 th,
.requests-table-v057 td,
.priority-table th,
.priority-table td,
.database-table th,
.database-table td {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal;
}

.requests-table-v057 th,
.priority-table th,
.database-table th {
  white-space: nowrap;
}

/* Requests: preserve identifier/status/priority visibility while allowing context fields to wrap. */
.requests-table-v057 th:nth-child(1), .requests-table-v057 td:nth-child(1) { width: 14%; }
.requests-table-v057 th:nth-child(2), .requests-table-v057 td:nth-child(2) { width: 17%; }
.requests-table-v057 th:nth-child(3), .requests-table-v057 td:nth-child(3) { width: 16%; }
.requests-table-v057 th:nth-child(4), .requests-table-v057 td:nth-child(4) { width: 14%; }
.requests-table-v057 th:nth-child(5), .requests-table-v057 td:nth-child(5) { width: 12%; }
.requests-table-v057 th:nth-child(6), .requests-table-v057 td:nth-child(6) { width: 9%; }
.requests-table-v057 th:nth-child(7), .requests-table-v057 td:nth-child(7) { width: 10%; }
.requests-table-v057 th:nth-child(8), .requests-table-v057 td:nth-child(8) { width: 8%; }

.requests-filter-grid-v057 {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.requests-filter-grid-v057 select,
.requests-search-field-v057 input,
.database-filters select,
.database-filters input {
  width: 100%;
  min-width: 0;
}

/* Workspace Priority Work: compact first-class columns without a desktop scrollbar. */
.priority-table th:nth-child(1), .priority-table td:nth-child(1) { width: 14%; }
.priority-table th:nth-child(2), .priority-table td:nth-child(2) { width: 28%; }
.priority-table th:nth-child(3), .priority-table td:nth-child(3) { width: 21%; }
.priority-table th:nth-child(4), .priority-table td:nth-child(4) { width: 17%; }
.priority-table th:nth-child(5), .priority-table td:nth-child(5) { width: 10%; }
.priority-table th:nth-child(6), .priority-table td:nth-child(6) { width: 10%; }
.priority-table .pill { white-space: nowrap; }

/* Documents: use the full content grid instead of reserving a blank side column. */
.database-layout:has(.database-doc-filters) {
  grid-template-columns: minmax(0, 1fr);
}

.database-doc-filters {
  grid-template-columns: minmax(0, 1fr) minmax(180px, 220px) auto;
}

.database-table th:nth-child(1) { width: 24%; }
.database-table th:nth-child(2) { width: 22%; }
.database-table th:nth-child(3) { width: 22%; }
.database-table th:nth-child(4) { width: 14%; }
.database-table th:nth-child(5) { width: 10%; }
.database-table th:nth-child(6) { width: 8%; }

@media (max-width: 900px) {
  .requests-filter-grid-v057,
  .database-doc-filters {
    grid-template-columns: 1fr 1fr;
  }

  .requests-table-v057,
  .priority-table,
  .database-table {
    font-size: 12px;
  }
}

@media (max-width: 640px) {
  .requests-filter-grid-v057,
  .database-doc-filters {
    grid-template-columns: 1fr;
  }

  .requests-table-v057 th,
  .requests-table-v057 td,
  .priority-table th,
  .priority-table td,
  .database-table th,
  .database-table td {
    padding-left: 8px;
    padding-right: 8px;
  }
}

/* V0.6.0.5.3 - Root UI system: page hierarchy, breadcrumb navigation, and table contract. */
.context-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 0;
  color: var(--muted);
}
.context-breadcrumb a {
  color: #68779a;
  font-weight: 650;
  text-decoration: none;
}
.context-breadcrumb a:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 2px; }
.context-breadcrumb strong {
  color: var(--text);
  font-weight: 750;
}
.context-separator {
  color: #98a3b9;
  user-select: none;
}

/* One page-heading system. Pages should not restate their H1 inside content. */
.page-header {
  margin-bottom: 22px;
  padding: 0 2px;
}
.page-header .eyebrow {
  color: #7e8aa5;
  text-transform: uppercase;
  letter-spacing: .07em;
}
.page-header h1 {
  max-width: 900px;
  margin: 4px 0 0;
  color: var(--navy);
  font-size: clamp(28px, 2.4vw, 34px);
  line-height: 1.18;
  letter-spacing: -.035em;
}
.page-header .page-description {
  max-width: 780px;
  margin: 6px 0 0;
}
.page-header .header-actions {
  align-self: center;
}

/* Consistent table frame and readable cell behaviour across the application. */
.table-wrap,
.requests-table-wrap-v057 {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid #e5eaf3;
  border-radius: 11px;
  background: #fff;
  scrollbar-color: #c7cfdf transparent;
}
.table-wrap table,
.requests-table-wrap-v057 table {
  width: 100%;
  min-width: 720px;
  table-layout: auto;
  border-collapse: collapse;
  border-spacing: 0;
}
.requests-table-v057 { min-width: 980px; }
.task-table { min-width: 940px !important; }
.priority-table { min-width: 720px !important; }
.database-table { min-width: 820px !important; }

.table-wrap th,
.table-wrap td,
.requests-table-wrap-v057 th,
.requests-table-wrap-v057 td {
  padding: 12px 12px;
  vertical-align: middle;
  text-align: left;
  border-bottom: 1px solid #e8edf5;
}
.table-wrap thead th,
.requests-table-wrap-v057 thead th {
  background: #f8faff;
  color: #65728e;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: .065em;
  white-space: nowrap;
}
.table-wrap tbody tr:hover td,
.requests-table-wrap-v057 tbody tr:hover td {
  background: #fbfcff;
}
.table-wrap tbody tr:last-child td,
.requests-table-wrap-v057 tbody tr:last-child td {
  border-bottom: 0;
}
.table-wrap td,
.requests-table-wrap-v057 td {
  color: var(--text);
  line-height: 1.4;
  overflow-wrap: normal;
  word-break: normal;
}
.table-wrap td small,
.requests-table-wrap-v057 td small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.table-wrap td > a,
.requests-table-wrap-v057 td > a {
  overflow-wrap: anywhere;
}
.requests-table-v057 td:first-child > a,
.task-table td:first-child > a,
.priority-table td:first-child > a,
.database-table td:first-child > a {
  white-space: nowrap;
}
.table-wrap td.empty-state,
.requests-table-wrap-v057 td.empty-state,
.database-table-wrap td.empty-state,
.payers-table-wrap td.empty-state,
.payers-table td.empty-state,
.providers-table-wrap td.empty-state,
.providers-table td.empty-state,
.practices-table-wrap td.empty-state,
.practices-table td.empty-state,
.database-table td.empty-state,
td.empty-state {
  display: table-cell !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 32px 16px !important;
  text-align: center !important;
  vertical-align: middle !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.table-wrap td.empty-state strong,
.requests-table-wrap-v057 td.empty-state strong,
.database-table-wrap td.empty-state strong,
.payers-table-wrap td.empty-state strong,
.payers-table td.empty-state strong,
.providers-table-wrap td.empty-state strong,
.providers-table td.empty-state strong,
.practices-table-wrap td.empty-state strong,
.practices-table td.empty-state strong,
.database-table td.empty-state strong,
td.empty-state strong {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  color: var(--text) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  white-space: normal !important;
}
.table-wrap td.empty-state span,
.requests-table-wrap-v057 td.empty-state span,
.database-table-wrap td.empty-state span,
.payers-table-wrap td.empty-state span,
.payers-table td.empty-state span,
.providers-table-wrap td.empty-state span,
.providers-table td.empty-state span,
.practices-table-wrap td.empty-state span,
.practices-table td.empty-state span,
.database-table td.empty-state span,
td.empty-state span {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 4px auto 0 !important;
  color: var(--muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

/* Cards containing data tables should not squeeze their tables into tiny columns. */
.dashboard-main-grid-v056 {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 360px);
  align-items: start;
}
.dashboard-queue-v056,
.dashboard-side-stack-v056,
.dashboard-recent-v056 {
  min-width: 0;
}
.dashboard-queue-v056 .table-wrap { min-width: 0; }

/* Filters use one visual language and never inherit arbitrary text width limits. */
.filters,
.database-filters,
.request-filter-bar {
  min-width: 0;
}
.filters input,
.filters select,
.database-filters input,
.database-filters select,
.request-filter-bar input,
.request-filter-bar select {
  min-width: 0;
}

/* Task page utility row replaces the old repeated page heading. */
.workspace-toolbar-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
  padding: 2px 0;
}
.workspace-toolbar-label {
  display: flex;
  align-items: baseline;
  gap: 10px;
  min-width: 0;
}
.workspace-toolbar-label strong {
  color: var(--navy);
  font-size: 16px;
}
.workspace-toolbar-label span {
  color: var(--muted);
  font-size: 12px;
}

/* Remove obsolete duplicate heading helpers when legacy templates still carry them. */
.workspace-page-intro { margin-bottom: 0; }

@media (max-width: 1200px) {
  .dashboard-main-grid-v056 { grid-template-columns: minmax(0, 1fr) 320px; }
}
@media (max-width: 900px) {
  .page-header { padding: 0; }
  .page-header .header-actions { width: 100%; justify-content: flex-start; }
  .workspace-toolbar-row { align-items: flex-start; flex-direction: column; }
  .workspace-toolbar-label { align-items: flex-start; flex-direction: column; gap: 2px; }
  .dashboard-main-grid-v056 { grid-template-columns: 1fr; }
  .table-wrap table,
  .requests-table-wrap-v057 table { min-width: 720px; }
}

@media (max-width: 640px) {
  .context-breadcrumb { gap: 5px; }
  .page-header h1 { font-size: 26px; }
  .table-wrap th,
  .table-wrap td,
  .requests-table-wrap-v057 th,
  .requests-table-wrap-v057 td { padding: 10px 9px; }
}


/* V0.6.0.5.3b-v2 - Breadcrumb navigation visual correction. */
.context-breadcrumb {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  min-width: 0 !important;
  width: max-content;
  max-width: 100%;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  white-space: nowrap !important;
  line-height: 1.3 !important;
  writing-mode: horizontal-tb !important;
}
.context-breadcrumb > * {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
}
.context-breadcrumb a {
  color: #68779a;
  font-weight: 650;
  text-decoration: none;
}
.context-breadcrumb a:hover,
.context-breadcrumb a:focus-visible {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.context-breadcrumb .context-crumb-home {
  color: #657594;
  font-weight: 700;
}
.context-breadcrumb .context-crumb-current {
  color: #34405a;
  font-weight: 750;
}
.context-breadcrumb .context-separator {
  color: #98a3b9 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  user-select: none;
}

@media (max-width: 640px) {
  .context-breadcrumb {
    gap: 6px !important;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .context-breadcrumb::-webkit-scrollbar { display: none; }
}

/* V0.6.0.5.3c - Global table and workspace density refinement.
   Presentation-only. Consolidates data-table geometry and Workspace density
   without changing routes, controllers, business rules, or database behaviour. */

/* Root table frame: tables occupy the available content width and use a
   readable auto layout. Horizontal scrolling is a responsive fallback. */
.table-wrap,
.requests-table-wrap-v057,
.database-table-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #e4e9f1;
  border-radius: 11px;
  background: #fff;
}

.table-wrap > table,
.requests-table-wrap-v057 > table,
.database-table-wrap > table {
  width: 100%;
  min-width: 0;
  table-layout: auto;
  border-collapse: collapse;
  border-spacing: 0;
}

.table-wrap th,
.table-wrap td,
.requests-table-wrap-v057 th,
.requests-table-wrap-v057 td,
.database-table-wrap th,
.database-table-wrap td {
  min-width: 0;
  padding: 11px 12px;
  border-bottom: 1px solid #e8edf4;
  text-align: left;
  vertical-align: middle;
  line-height: 1.4;
  overflow-wrap: normal;
  word-break: normal;
  white-space: normal;
}

.table-wrap thead th,
.requests-table-wrap-v057 thead th,
.database-table-wrap thead th {
  background: #f8faff;
  color: #65728d;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .065em;
  text-transform: uppercase;
  white-space: nowrap;
}

.table-wrap tbody tr:hover td,
.requests-table-wrap-v057 tbody tr:hover td,
.database-table-wrap tbody tr:hover td {
  background: #fbfcff;
}

.table-wrap tbody tr:last-child td,
.requests-table-wrap-v057 tbody tr:last-child td,
.database-table-wrap tbody tr:last-child td {
  border-bottom: 0;
}

.table-wrap td > a,
.requests-table-wrap-v057 td > a,
.database-table-wrap td > a {
  overflow-wrap: normal;
}

/* Identifiers and operational labels must never collapse into vertical text. */
.table-wrap td:first-child > a,
.requests-table-v057 td:first-child > a,
.priority-table td:first-child > a,
.database-table td:first-child > a,
.record-link,
.request-primary-v057,
.due-date-v057 {
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
}

/* Dense operational columns stay compact while narrative columns can wrap. */
.requests-table-v057 th:nth-child(1) { width: 13%; }
.requests-table-v057 th:nth-child(2) { width: 19%; }
.requests-table-v057 th:nth-child(3) { width: 16%; }
.requests-table-v057 th:nth-child(4) { width: 15%; }
.requests-table-v057 th:nth-child(5) { width: 12%; }
.requests-table-v057 th:nth-child(6) { width: 9%; }
.requests-table-v057 th:nth-child(7) { width: 8%; }
.requests-table-v057 th:nth-child(8) { width: 8%; }

.priority-table th:nth-child(1) { width: 18%; }
.priority-table th:nth-child(2) { width: 29%; }
.priority-table th:nth-child(3) { width: 20%; }
.priority-table th:nth-child(4) { width: 16%; }
.priority-table th:nth-child(5) { width: 9%; }
.priority-table th:nth-child(6) { width: 8%; }
.priority-table td:first-child,
.priority-table td:nth-child(5),
.priority-table td:nth-child(6) { white-space: nowrap; }
.priority-table .pill { white-space: nowrap; }

.database-table th:nth-child(1) { width: 23%; }
.database-table th:nth-child(2) { width: 23%; }
.database-table th:nth-child(3) { width: 21%; }
.database-table th:nth-child(4) { width: 13%; }
.database-table th:nth-child(5) { width: 11%; }
.database-table th:nth-child(6) { width: 9%; }

/* Generic tables inherit the same presentation even when a legacy page does
   not carry a page-specific table class. */
.table-wrap table:not(.priority-table):not(.requests-table-v057):not(.database-table):not(.task-table),
.card .table-wrap table {
  min-width: 0;
  table-layout: auto;
}

/* Workspace: give Priority Work the dominant canvas and keep the snapshot
   usable instead of squeezing three cards into unusable slivers. */
.dashboard-main-grid-v056 {
  grid-template-columns: minmax(0, 1fr) minmax(340px, 380px);
  gap: 20px;
}

.dashboard-queue-v056,
.dashboard-side-stack-v056,
.dashboard-section-v056,
.dashboard-recent-v056 {
  min-width: 0;
}

.dashboard-queue-v056 .priority-wrap {
  width: 100%;
  overflow-x: auto;
}

.dashboard-queue-v056 .priority-table {
  min-width: 0 !important;
  width: 100%;
}

.dashboard-snapshot-v056 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.dashboard-snapshot-card-v056 {
  min-width: 0;
  padding: 13px 12px;
}

.dashboard-snapshot-card-v056 span {
  color: #5f6d86;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  overflow-wrap: normal;
  word-break: normal;
}

.dashboard-snapshot-card-v056 b {
  margin-top: 6px;
  font-size: 24px;
  line-height: 1;
}

/* Keep workspace/recent request tables visually subordinate to their section
   headings rather than turning the table into a second panel. */
.dashboard-queue-v056 .dashboard-section-head-v056,
.dashboard-recent-v056 .dashboard-section-head-v056 {
  min-width: 0;
}

@media (max-width: 1180px) {
  .dashboard-main-grid-v056 {
    grid-template-columns: minmax(0, 1fr) 340px;
  }
}

@media (max-width: 960px) {
  .dashboard-main-grid-v056 {
    grid-template-columns: 1fr;
  }

  .dashboard-snapshot-v056 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .requests-table-v057,
  .task-table,
  .database-table,
  .priority-table {
    min-width: 760px !important;
  }

  .dashboard-snapshot-v056 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .table-wrap th,
  .table-wrap td,
  .requests-table-wrap-v057 th,
  .requests-table-wrap-v057 td,
  .database-table-wrap th,
  .database-table-wrap td {
    padding: 10px 9px;
  }
}

/* V0.6.0.5.4 - Workspace operational refinement
   Scoped to Workspace only. Presentation changes only. */
.workspace-page-v054{display:grid;gap:20px;min-width:0}
.workspace-hero-v054{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;padding:2px 2px 0}
.workspace-hero-copy-v054{min-width:0}
.workspace-hero-copy-v054 h1{margin:0 0 8px;max-width:760px;font-size:clamp(30px,3vw,36px);line-height:1.12;letter-spacing:-.025em}
.workspace-hero-copy-v054 p{max-width:720px;margin:0;font-size:14px}
.workspace-actions-v054{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;align-self:end}
.workspace-actions-v054 .button{min-height:40px}
.workspace-kpis-v054{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.workspace-kpi-v054{min-width:0;min-height:116px;margin:0;padding:17px 18px 16px;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-start}
.workspace-kpi-v054 b{font-size:30px;line-height:1;letter-spacing:-.02em}
.workspace-kpi-v054 strong{display:block;margin-top:10px;font-size:14px;line-height:1.25}
.workspace-kpi-v054 small{margin-top:6px;color:var(--muted);font-size:12px;line-height:1.35}
.workspace-kpi-v054.is-critical{border-color:#f0c8c8;background:#fffafa}
.workspace-kpi-v054.is-critical b{color:#a52f3b}
.workspace-kpi-v054.is-warning{border-color:#ead7ac;background:#fffdf7}
.workspace-kpi-v054.is-warning b{color:#8d6510}
.workspace-priority-panel-v054,.workspace-activity-panel-v054,.workspace-snapshot-panel-v054,.workspace-recent-panel-v054{min-width:0;margin:0;padding:20px 22px}
.workspace-section-head-v054{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.workspace-section-head-v054>div{min-width:0}
.workspace-section-head-v054 h2{margin:0 0 4px;font-size:20px;line-height:1.25}
.workspace-section-head-v054 p{margin:0;font-size:13px}
.workspace-section-head-v054>a{flex:0 0 auto;white-space:nowrap}
.workspace-table-wrap-v054{margin:0;border-color:#e1e7f0;background:#fff;overflow-x:auto}
.workspace-priority-table-v054,.workspace-recent-table-v054{width:100%;min-width:0!important;table-layout:fixed}
.workspace-priority-table-v054 th,.workspace-priority-table-v054 td,.workspace-recent-table-v054 th,.workspace-recent-table-v054 td{padding:11px 12px;vertical-align:middle;line-height:1.38}
.workspace-priority-table-v054 th,.workspace-recent-table-v054 th{font-size:10px;letter-spacing:.065em}
.workspace-priority-table-v054 .col-ticket{width:16%}.workspace-priority-table-v054 .col-task{width:28%}.workspace-priority-table-v054 .col-practice{width:20%}.workspace-priority-table-v054 .col-provider{width:17%}.workspace-priority-table-v054 .col-due{width:10%}.workspace-priority-table-v054 .col-priority{width:9%}
.workspace-recent-table-v054 th:nth-child(1),.workspace-recent-table-v054 td:nth-child(1){width:14%}.workspace-recent-table-v054 th:nth-child(2),.workspace-recent-table-v054 td:nth-child(2){width:20%}.workspace-recent-table-v054 th:nth-child(3),.workspace-recent-table-v054 td:nth-child(3){width:15%}.workspace-recent-table-v054 th:nth-child(4),.workspace-recent-table-v054 td:nth-child(4){width:15%}.workspace-recent-table-v054 th:nth-child(5),.workspace-recent-table-v054 td:nth-child(5){width:11%}.workspace-recent-table-v054 th:nth-child(6),.workspace-recent-table-v054 td:nth-child(6){width:9%}.workspace-recent-table-v054 th:nth-child(7),.workspace-recent-table-v054 td:nth-child(7){width:8%}.workspace-recent-table-v054 th:nth-child(8),.workspace-recent-table-v054 td:nth-child(8){width:8%}
.workspace-priority-table-v054 td,.workspace-recent-table-v054 td{overflow-wrap:normal;word-break:normal}
.workspace-nowrap-v054,.workspace-nowrap-v054 a,.workspace-priority-table-v054 .pill,.workspace-recent-table-v054 .pill{white-space:nowrap;word-break:normal;overflow-wrap:normal}
.workspace-priority-table-v054 td:first-child a,.workspace-recent-table-v054 td:first-child a{white-space:nowrap}
.workspace-empty-cell-v054{height:72px;padding:20px 16px!important;text-align:center!important;color:var(--muted);font-size:13px;background:#fcfdff}
.workspace-secondary-grid-v054{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:20px;align-items:start;min-width:0}
.workspace-activity-panel-v054,.workspace-snapshot-panel-v054{min-width:0}
.workspace-activity-v054{display:grid;gap:0}
.workspace-activity-item-v054{padding:12px 0;border-bottom:1px solid #e7ebf2}
.workspace-activity-item-v054:first-child{padding-top:0}.workspace-activity-item-v054:last-child{padding-bottom:0;border-bottom:0}
.workspace-activity-meta-v054{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.workspace-activity-meta-v054 b{font-size:13px}.workspace-activity-meta-v054 span{flex:0 0 auto;color:#7b879b;font-size:11px;white-space:nowrap}
.workspace-activity-item-v054 p{margin:5px 0 4px;font-size:13px;line-height:1.45}.workspace-activity-item-v054 small{color:#738097;font-size:11px}
.workspace-snapshot-v054{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.workspace-snapshot-card-v054{min-width:0;min-height:94px;padding:13px 12px;border:1px solid #e4e9f2;border-radius:12px;background:#fbfcfe;color:var(--text);text-decoration:none;display:flex;flex-direction:column;justify-content:space-between}
.workspace-snapshot-card-v054:hover{border-color:#c7d0e1;background:#fff}
.workspace-snapshot-card-v054 span{color:#65728d;font-size:12px;line-height:1.3;font-weight:700}.workspace-snapshot-card-v054 b{margin-top:8px;color:var(--blue);font-size:24px;line-height:1}
@media (max-width:1080px){.workspace-hero-v054{grid-template-columns:1fr;gap:16px}.workspace-actions-v054{justify-content:flex-start}.workspace-secondary-grid-v054{grid-template-columns:1fr}}
@media (max-width:760px){.workspace-kpis-v054{grid-template-columns:1fr}.workspace-priority-panel-v054,.workspace-activity-panel-v054,.workspace-snapshot-panel-v054,.workspace-recent-panel-v054{padding:18px}.workspace-snapshot-v054{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.workspace-hero-copy-v054 h1{font-size:30px}.workspace-actions-v054 .button{flex:1 1 auto}.workspace-snapshot-v054{grid-template-columns:1fr}.workspace-section-head-v054{flex-direction:column;gap:8px}}

/* V0.6.0.5.4b - Workspace density and empty-state refinement
   Workspace only. Built on the shared root UI/table foundation. */
.workspace-v054b-empty{
  display:flex;
  min-height:96px;
  align-items:center;
  justify-content:center;
  padding:18px 22px;
  text-align:center;
  color:var(--muted);
  border:1px dashed #d9e0eb;
  border-radius:12px;
  background:#fbfcfe;
}
.workspace-v054b-empty strong{
  display:block;
  color:var(--text);
  font-size:13px;
  line-height:1.35;
  font-weight:700;
}
.workspace-v054b-empty span{
  display:block;
  margin-top:3px;
  font-size:12px;
  line-height:1.4;
}
.workspace-v054b-priority .workspace-table-wrap-v054{
  overflow-x:auto;
}
.workspace-v054b-priority .workspace-priority-table-v054 tbody tr{
  height:48px;
}
.workspace-v054b-priority .workspace-priority-table-v054 td{
  padding-top:10px;
  padding-bottom:10px;
}
.workspace-v054b-secondary{
  grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);
}
.workspace-v054b-secondary .workspace-activity-panel-v054,
.workspace-v054b-secondary .workspace-snapshot-panel-v054{
  min-height:100%;
}
.workspace-v054b-secondary .workspace-activity-item-v054{
  padding-top:10px;
  padding-bottom:10px;
}
.workspace-v054b-secondary .workspace-activity-item-v054 p{
  margin-top:4px;
  margin-bottom:3px;
}
.workspace-v054b-secondary .workspace-activity-item-v054 small{
  font-size:11px;
}
.workspace-v054b-recent .workspace-table-wrap-v054{
  overflow-x:auto;
}
.workspace-v054b-recent .workspace-recent-table-v054 tbody tr{
  min-height:54px;
}
@media (max-width:980px){
  .workspace-v054b-secondary{grid-template-columns:1fr}
}
@media (max-width:760px){
  .workspace-v054b-empty{min-height:84px;padding:16px}
}

/* V0.6.0.5.4c - Workspace snapshot placement refinement
   Workspace only. Presentation changes only. */
.workspace-snapshot-strip-v054c{
  display:grid;
  grid-template-columns:minmax(190px,.72fr) minmax(0,2.28fr);
  gap:16px;
  align-items:center;
  min-width:0;
  margin:0;
  padding:14px 18px;
}
.workspace-snapshot-intro-v054c{min-width:0;padding-left:2px}
.workspace-snapshot-intro-v054c h2{
  margin:0 0 4px;
  font-size:16px;
  line-height:1.25;
}
.workspace-snapshot-intro-v054c p{margin:0;font-size:12px;line-height:1.35}
.workspace-snapshot-v054c{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  min-width:0;
}
.workspace-snapshot-card-v054c{
  min-width:0;
  min-height:70px;
  padding:11px 13px;
  border:1px solid #e4e9f2;
  border-radius:10px;
  background:#fbfcfe;
  color:var(--text);
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.workspace-snapshot-card-v054c:hover{border-color:#c7d0e1;background:#fff}
.workspace-snapshot-card-v054c span{
  min-width:0;
  color:#65728d;
  font-size:12px;
  line-height:1.25;
  font-weight:700;
}
.workspace-snapshot-card-v054c b{
  flex:0 0 auto;
  color:var(--blue);
  font-size:22px;
  line-height:1;
}
.workspace-v054c-priority{width:100%}
.workspace-v054c-activity{width:100%}
.workspace-v054c-activity .workspace-activity-v054{max-width:100%}
@media (max-width:980px){
  .workspace-snapshot-strip-v054c{grid-template-columns:1fr;gap:10px}
}
@media (max-width:760px){
  .workspace-snapshot-v054c{grid-template-columns:1fr}
  .workspace-snapshot-card-v054c{min-height:64px}
}

/* V0.6.0.5.4d - Workspace snapshot placement + section order refinement
   Workspace only. Presentation/order changes only. Recent Activity remains the final major content section. */
.workspace-v054d-recent,
.workspace-v054d-activity{width:100%}
.workspace-v054d-recent{margin-bottom:16px}
.workspace-v054d-activity{margin-top:0}

/* SaavyaRCM V0.6.0.5.4e - Dashboard alignment refinement */
/* Dashboard-only presentation layer. No route, query, auth, or business-rule changes. */

.dashboard-overview{
  gap:18px;
}

.dashboard-hero-v056{
  gap:18px;
  padding:18px 26px 12px;
  align-items:center;
}

.dashboard-hero-v056 h1{
  margin:4px 0 7px;
  font-size:clamp(29px,2.9vw,35px);
}

.dashboard-hero-v056 p{
  max-width:700px;
  line-height:1.45;
}

.dashboard-quick-links-v056{
  align-items:center;
  justify-content:flex-end;
}

.dashboard-quick-links-v056 .button{
  min-height:38px;
  padding:8px 14px;
}

.dashboard-kpis-v056{
  gap:12px;
}

.dashboard-kpi-v056{
  min-height:116px;
  padding:16px 16px 14px;
}

.dashboard-kpi-v056 b{
  font-size:28px;
}

.dashboard-kpi-v056 strong{
  margin-top:9px;
}

.dashboard-kpi-v056 small{
  margin-top:5px;
  line-height:1.3;
}

.dashboard-section-v056{
  padding:20px 22px;
}

.dashboard-section-head-v056{
  margin-bottom:14px;
}

.dashboard-section-head-v056 h2{
  font-size:19px;
}

.dashboard-status-grid-v056{
  gap:9px;
}

.dashboard-status-v056{
  padding:12px 13px;
  border-radius:11px;
}

@media (max-width:1080px){
  .dashboard-hero-v056{grid-template-columns:1fr;align-items:start}
  .dashboard-quick-links-v056{justify-content:flex-start}
}

@media (max-width:760px){
  .dashboard-hero-v056{padding:18px}
  .dashboard-section-v056{padding:18px}
}

@media (max-width:520px){
  .dashboard-kpi-v056{min-height:108px}
}

/* SaavyaRCM V0.6.0.5.4f - Requests visual alignment refinement
   Scoped to the Requests page. Presentation-only.
*/

.requests-workspace-v057{
  gap:14px;
}

.requests-filter-panel-v057{
  padding:14px 18px;
  background:#fff;
}

.requests-filter-head-v057{
  margin-bottom:10px;
}

.requests-filter-head-v057 h2{
  font-size:20px;
  line-height:1.25;
}

.request-filter-bar{
  margin-bottom:0;
  padding:11px 0 0;
  border:0;
  border-radius:0;
  background:transparent;
}

.requests-search-v057{
  margin-bottom:10px;
}

.requests-filter-grid-v057{
  gap:8px;
  padding-top:10px;
}

.requests-filter-grid-v057 select{
  min-height:40px;
}

.requests-queue-panel-v057{
  margin-top:0;
}

.requests-queue-head-v057{
  padding:18px 20px 12px;
}

.requests-queue-head-v057 h2{
  font-size:20px;
  line-height:1.25;
}

.requests-queue-head-v057 p{
  max-width:760px;
}

.requests-table-v057 th{
  padding-top:10px;
  padding-bottom:10px;
}

.requests-table-v057 td{
  padding-top:10px;
  padding-bottom:10px;
}

@media (max-width:1180px){
  .requests-filter-panel-v057{padding:14px 16px;}
}

@media (max-width:800px){
  .requests-filter-panel-v057{padding:14px;}
}

@media (max-width:560px){
  .requests-queue-head-v057{padding:16px 14px 12px;}
}

/* SaavyaRCM V0.6.0.5.4g - Requests density refinement
   Scoped to the Requests page. Presentation-only. */

/* Keep the filter surface compact and intentionally two-tiered on desktop. */
.requests-filter-panel-v057{
  padding:12px 16px;
}

.requests-filter-head-v057{
  margin-bottom:8px;
}

.requests-filter-head-v057 h2{
  margin-top:1px;
  margin-bottom:3px;
  font-size:19px;
  line-height:1.2;
}

.requests-filter-head-v057 p{
  font-size:12px;
}

.requests-search-v057{
  margin-bottom:8px;
}

.requests-search-field-v057 input{
  min-height:40px;
}

.requests-search-actions-v057 .button,
.requests-search-actions-v057 button{
  min-height:40px;
}

/* Five filters fit on one clean desktop row, eliminating the lone Due control row. */
.requests-filter-grid-v057{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:8px;
  padding-top:8px;
}

.requests-filter-grid-v057 select{
  min-height:38px;
}

.requests-queue-head-v057{
  padding:14px 18px 10px;
}

.requests-queue-head-v057 h2{
  font-size:19px;
  line-height:1.2;
}

.requests-queue-head-v057 p{
  margin-top:3px;
}

.requests-table-v057 th{
  padding-top:9px;
  padding-bottom:9px;
}

.requests-table-v057 td{
  padding-top:9px;
  padding-bottom:9px;
}

@media (max-width: 1100px){
  .requests-filter-grid-v057{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media (max-width: 800px){
  .requests-filter-panel-v057{
    padding:12px 14px;
  }

  .requests-filter-grid-v057{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width: 560px){
  .requests-queue-head-v057{
    padding:13px 14px 10px;
  }

  .requests-filter-grid-v057{
    grid-template-columns:1fr !important;
  }
}

/* SaavyaRCM V0.6.0.5.4h - Requests control alignment refinement
   Scoped to the Requests page. Presentation-only. */

/* Give every filter a predictable label-to-control rhythm. */
.requests-filter-grid-v057{
  column-gap:8px;
  row-gap:7px;
  align-items:start;
}

.requests-filter-grid-v057 > div{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  min-width:0;
}

.requests-filter-grid-v057 label,
.requests-search-field-v057 label{
  min-height:15px;
  margin-bottom:5px;
  line-height:15px;
  white-space:nowrap;
}

/* Use one compact control height throughout the search/filter band. */
.requests-search-field-v057 input,
.requests-filter-grid-v057 select,
.requests-search-actions-v057 .button,
.requests-search-actions-v057 button{
  min-height:38px;
  height:38px;
}

.requests-filter-grid-v057 select{
  box-sizing:border-box;
}

.requests-search-v057{
  margin-bottom:7px;
}

.requests-search-actions-v057{
  align-items:flex-end;
}

.request-filter-bar{
  padding-top:8px;
}

.requests-queue-head-v057{
  padding:13px 18px 9px;
}

.requests-queue-head-v057 h2{
  margin-bottom:2px;
}

.requests-queue-head-v057 p{
  margin-top:2px;
}

@media (max-width:800px){
  .requests-filter-grid-v057{
    row-gap:8px;
  }
}

/* SaavyaRCM V0.6.0.5.4i - Requests header/control cleanup
   Scoped to the Requests page. Presentation-only. */

/* Use one shared horizontal inset so the two operational module headings
   begin on the same visual column. */
.requests-filter-panel-v057{
  padding-left:20px;
  padding-right:20px;
}

.requests-queue-head-v057{
  padding-left:20px;
  padding-right:20px;
}

/* Restore a safe control height after the 38px refinement caused text
   to clip inside native select controls. */
.requests-search-field-v057 input,
.requests-filter-grid-v057 select,
.requests-search-actions-v057 .button,
.requests-search-actions-v057 button{
  min-height:40px;
  height:40px;
  line-height:1.2;
  padding-top:8px;
  padding-bottom:8px;
  box-sizing:border-box;
}

.requests-filter-grid-v057 label,
.requests-search-field-v057 label{
  height:15px;
  min-height:15px;
  margin-bottom:5px;
  line-height:15px;
  white-space:nowrap;
}

.requests-filter-grid-v057{
  align-items:start;
}

@media (max-width:800px){
  .requests-filter-panel-v057{
    padding-left:14px;
    padding-right:14px;
  }

  .requests-queue-head-v057{
    padding-left:14px;
    padding-right:14px;
  }
}

/* SaavyaRCM V0.6.0.5.4j - Requests shared content-axis refinement
   Scoped to Requests presentation only. No functional changes. */

/* The Requests register panel inherits the global .panel 20px content inset.
   Its header previously added another 20px, shifting the headings right of
   the table and the filter module. Keep the inherited panel inset and remove
   the header's duplicate horizontal padding. */
.requests-queue-head-v057{
  padding-left:0;
  padding-right:0;
}

/* Keep mobile sizing explicit after removing the desktop duplicate inset. */
@media (max-width:560px){
  .requests-queue-head-v057{
    padding-left:0;
    padding-right:0;
  }
}

/* SaavyaRCM V0.6.0.5.4k - Requests copy simplification */
/* SaavyaRCM V0.6.0.5.4k - Requests copy simplification */
/* Presentation-only. Keep the Requests controls legible and compact. */
.requests-search-field-v057 label{margin-bottom:4px}

/* V0.6.0.5.4m - Tasks page alignment with Dashboard + Workspace */
.tasks-alignment-v055m{gap:16px}
.task-controls-v055m{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.task-filters-v055m{display:grid;grid-template-columns:minmax(180px,260px) minmax(180px,260px) auto;gap:10px;margin:0;align-items:end}
.task-filters-v055m>div{min-width:0}
.task-filters-v055m label{display:block;margin-bottom:5px;color:#5e6982;font-size:11px;font-weight:650}
.task-filters-v055m select{width:100%;min-width:0;min-height:40px}
.task-filter-actions{display:flex;align-items:end;gap:8px;white-space:nowrap}
.task-filter-actions button,.task-filter-actions .button{min-height:40px}
.task-export-actions-v055m{justify-content:flex-end;align-self:end;margin:0}
.task-export-actions-v055m .button{min-height:40px}
.task-table-v055m{min-width:0!important;width:100%;table-layout:fixed}
.task-table-v055m th,.task-table-v055m td{padding:11px 10px}
.task-table-v055m th:nth-child(1),.task-table-v055m td:nth-child(1){width:12%}
.task-table-v055m th:nth-child(2),.task-table-v055m td:nth-child(2){width:20%}
.task-table-v055m th:nth-child(3),.task-table-v055m td:nth-child(3){width:17%}
.task-table-v055m th:nth-child(4),.task-table-v055m td:nth-child(4){width:13%}
.task-table-v055m th:nth-child(5),.task-table-v055m td:nth-child(5){width:10%}
.task-table-v055m th:nth-child(6),.task-table-v055m td:nth-child(6){width:8%}
.task-table-v055m th:nth-child(7),.task-table-v055m td:nth-child(7){width:7%}
.task-table-v055m th:nth-child(8),.task-table-v055m td:nth-child(8){width:7%}
.task-table-v055m th:nth-child(9),.task-table-v055m td:nth-child(9){width:6%}
.task-table-v055m td{overflow-wrap:anywhere;word-break:normal}
.task-table-v055m td:nth-child(1),.task-table-v055m td:nth-child(5),.task-table-v055m td:nth-child(6),.task-table-v055m td:nth-child(7),.task-table-v055m td:nth-child(9){white-space:nowrap;overflow-wrap:normal}
@media (max-width:1100px){.task-controls-v055m{grid-template-columns:1fr}.task-export-actions-v055m{justify-content:flex-start}.task-filters-v055m{grid-template-columns:repeat(2,minmax(180px,1fr)) auto}}
@media (max-width:760px){.task-controls-v055m{grid-template-columns:1fr}.task-filters-v055m{grid-template-columns:1fr}.task-filter-actions{align-items:stretch}.task-filter-actions button,.task-filter-actions .button{flex:0 0 auto}.task-export-actions-v055m{flex-wrap:wrap}.task-table-v055m{min-width:900px!important;table-layout:auto}}
/* V0.6.0.5.4n - Tasks search + density refinement */
.tasks-search-density-v056n{gap:14px}
.task-search-toolbar-v056n{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.task-search-form-v056n{min-width:0}
.task-search-form-v056n>label,.task-filter-row-v056n label{display:block;margin:0 0 5px;color:#5e6982;font-size:11px;font-weight:650}
.task-search-row-v056n{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:end}
.task-search-row-v056n input{width:100%;min-height:40px}
.task-search-row-v056n button,.task-search-row-v056n .button{min-height:40px;white-space:nowrap}
.task-filter-row-v056n{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;margin-top:10px}
.task-filter-row-v056n select{width:100%;min-width:0;min-height:40px}
.task-export-actions-v056n{display:flex;gap:8px;align-self:end;white-space:nowrap}
.task-export-actions-v056n .button{min-height:40px}
.task-table-v056n{min-width:0!important;width:100%;table-layout:fixed}
.task-table-v056n th,.task-table-v056n td{padding:10px 10px}
.task-table-v056n th:nth-child(1),.task-table-v056n td:nth-child(1){width:12%}
.task-table-v056n th:nth-child(2),.task-table-v056n td:nth-child(2){width:20%}
.task-table-v056n th:nth-child(3),.task-table-v056n td:nth-child(3){width:17%}
.task-table-v056n th:nth-child(4),.task-table-v056n td:nth-child(4){width:13%}
.task-table-v056n th:nth-child(5),.task-table-v056n td:nth-child(5){width:10%}
.task-table-v056n th:nth-child(6),.task-table-v056n td:nth-child(6){width:8%}
.task-table-v056n th:nth-child(7),.task-table-v056n td:nth-child(7){width:7%}
.task-table-v056n th:nth-child(8),.task-table-v056n td:nth-child(8){width:7%}
.task-table-v056n th:nth-child(9),.task-table-v056n td:nth-child(9){width:6%}
@media (max-width:1000px){.task-search-toolbar-v056n{grid-template-columns:1fr}.task-export-actions-v056n{justify-content:flex-start}.task-filter-row-v056n{grid-template-columns:repeat(2,minmax(160px,1fr))}}
@media (max-width:760px){.task-search-row-v056n{grid-template-columns:1fr auto auto}.task-filter-row-v056n{grid-template-columns:1fr}.task-export-actions-v056n{flex-wrap:wrap}.task-table-v056n{min-width:900px!important;table-layout:auto}}
/* V0.6.0.5.4o - Inline task export actions */
.task-search-row-v056n.tasks-export-inline-v057o{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto;gap:8px;align-items:end}
.task-search-row-v056n.tasks-export-inline-v057o .button{min-height:40px;white-space:nowrap}
.task-export-actions-v056n{display:none!important}
@media (max-width:1100px){.task-search-row-v056n.tasks-export-inline-v057o{grid-template-columns:minmax(0,1fr) auto auto;}.task-search-row-v056n.tasks-export-inline-v057o a:nth-last-child(2),.task-search-row-v056n.tasks-export-inline-v057o a:nth-last-child(1){grid-row:2}.task-search-row-v056n.tasks-export-inline-v057o a:nth-last-child(2){grid-column:2}.task-search-row-v056n.tasks-export-inline-v057o a:nth-last-child(1){grid-column:3}}
@media (max-width:760px){.task-search-row-v056n.tasks-export-inline-v057o{grid-template-columns:1fr auto}.task-search-row-v056n.tasks-export-inline-v057o a:nth-last-child(2){grid-column:1}.task-search-row-v056n.tasks-export-inline-v057o a:nth-last-child(1){grid-column:2}.task-search-row-v056n.tasks-export-inline-v057o a:nth-last-child(3){grid-column:2}}
/* V0.6.0.5.4p - Documents alignment */
.database-documents-card-v055p .panel-head { margin-bottom: 12px; }
.database-documents-card-v055p .panel-head h2 { margin-bottom: 2px; }
.database-documents-card-v055p .panel-head p { margin: 0; }
.database-documents-card-v055p .database-filters { margin-top: 0; margin-bottom: 12px; padding: 10px; }
.database-documents-card-v055p .database-filters label { display: grid; gap: 5px; }
.database-documents-card-v055p .database-filters input,
.database-documents-card-v055p .database-filters select { min-height: 40px; }
.database-documents-card-v055p .database-filter-actions { align-self: end; }
.database-documents-card-v055p .database-filter-actions .button { min-height: 40px; }
.database-documents-card-v055p .database-table-wrap { margin-top: 0; }
.database-documents-card-v055p .database-table td.empty-state { display: table-cell; min-height: 0; padding: 28px 12px; text-align: center; }
.database-documents-card-v055p .database-table td.empty-state strong { display: block; color: var(--text); font-size: 13px; }
.database-documents-card-v055p .database-table td.empty-state span { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; }
.documents-upload-card-v055p { margin-top: 14px; }
.documents-upload-card-v055p > summary { padding: 14px 18px; }
.documents-upload-card-v055p > summary > span:first-child { gap: 2px; }
.documents-upload-card-v055p > summary strong { font-size: 18px; line-height: 1.25; }
.documents-upload-card-v055p > summary small { font-size: 12px; color: var(--muted); }
.documents-upload-card-v055p .database-create-body { padding: 14px 18px 18px; }
.documents-upload-card-v055p .database-create-body form { gap: 10px; }
.documents-upload-card-v055p .database-create-body textarea { min-height: 84px; }
.documents-upload-card-v055p .database-create-body .button { min-height: 40px; }

/* V0.6.0.5.4q - Portal Accounts visual alignment */
.portal-form-card-v054q,.portal-register-card-v054q{padding:22px}
.portal-form-head-v054q,.portal-register-head-v054q{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}
.portal-form-head-v054q h2,.portal-register-head-v054q h2{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.02em;color:var(--navy)}
.portal-register-head-v054q p{margin:4px 0 0;color:var(--muted);font-size:13px}
.portal-form-grid-v054q{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.portal-form-grid-v054q label{display:flex;flex-direction:column;gap:6px;min-width:0;color:#39425b;font-size:12px;font-weight:700}
.portal-form-grid-v054q input,.portal-form-grid-v054q select,.portal-form-grid-v054q textarea{width:100%;box-sizing:border-box}
.portal-form-grid-v054q input,.portal-form-grid-v054q select{min-height:40px}
.portal-form-grid-v054q textarea{min-height:78px}
.portal-span-2-v054q{grid-column:1 / -1}
.portal-secret-field-v054q{display:flex;align-items:stretch;gap:8px}
.portal-secret-field-v054q input{flex:1;min-width:0}
.portal-secret-toggle-v054q{min-width:64px;border:1px solid var(--border);border-radius:9px;background:#f5f7fb;color:var(--muted);font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.portal-form-actions-v054q{display:flex;justify-content:flex-end;align-items:center;margin-top:2px}
.portal-form-actions-v054q .btn{min-width:190px}
.portal-vault-note-v054q{margin-top:10px;color:var(--muted);font-size:11px;line-height:1.4}
.portal-table-wrap-v054q{overflow-x:auto}
.portal-table-v054q{width:100%;min-width:0!important;table-layout:fixed}
.portal-table-v054q th,.portal-table-v054q td{padding:12px 10px;vertical-align:middle}
.portal-table-v054q th:nth-child(1),.portal-table-v054q td:nth-child(1){width:25%}
.portal-table-v054q th:nth-child(2),.portal-table-v054q td:nth-child(2){width:24%}
.portal-table-v054q th:nth-child(3),.portal-table-v054q td:nth-child(3){width:21%}
.portal-table-v054q th:nth-child(4),.portal-table-v054q td:nth-child(4){width:17%}
.portal-table-v054q th:nth-child(5),.portal-table-v054q td:nth-child(5){width:13%;white-space:nowrap}
.portal-table-v054q td strong{display:block}
.portal-table-v054q td small{display:block;margin-top:3px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.portal-empty-v054q{text-align:center!important;padding:22px 12px!important;color:var(--muted)}
@media (max-width:760px){
  .portal-form-grid-v054q{grid-template-columns:1fr}
  .portal-span-2-v054q{grid-column:auto}
  .portal-form-actions-v054q{justify-content:flex-start}
  .portal-form-actions-v054q .btn{width:100%}
}


/* V0.6.0.5.4c-R1 Select-style restricted entity lookup.
   Browse-first architecture: click opens 12 records; scrolling loads more;
   typing one character starts prefix filtering by name. */
.restricted-lookup { position: relative; min-width: 0; }
.restricted-lookup-input-wrap { position: relative; }
.restricted-lookup-input {
  width: 100%;
  padding-right: 72px;
  cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, #4b5872 50%), linear-gradient(135deg, #4b5872 50%, transparent 50%);
  background-position: calc(100% - 19px) 50%, calc(100% - 14px) 50%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}
.restricted-lookup-input:focus { cursor: text; }
.restricted-lookup-clear {
  position: absolute;
  top: 50%; right: 32px;
  transform: translateY(-50%);
  width: 24px; height: 24px;
  border: 0; border-radius: 7px;
  background: transparent;
  color: #68738c;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}
.restricted-lookup-clear:hover { background: #f1f4f9; color: #172554; }
.restricted-lookup-menu {
  position: absolute;
  z-index: 100;
  left: 0; right: 0;
  top: calc(100% + 5px);
  max-height: 320px;
  overflow-y: auto;
  padding: 5px;
  border: 1px solid #dfe5ef;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .14);
}
.restricted-lookup-option {
  display: block;
  width: 100%;
  padding: 10px 11px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.restricted-lookup-option:hover,
.restricted-lookup-option[aria-selected="true"] { background: #f5f7fb; }
.restricted-lookup-option strong,
.restricted-lookup-option span { display: block; }
.restricted-lookup-option strong { color: #132044; font-size: 13px; font-weight: 700; }
.restricted-lookup-option span { margin-top: 2px; color: #6c768d; font-size: 11px; }
.restricted-lookup-empty,
.restricted-lookup-loading { padding: 12px; color: #69738a; font-size: 12px; }
.restricted-lookup-loading { border-top: 1px solid #eef2f7; text-align: center; }
.restricted-lookup-hint { display: block; margin-top: 5px; color: #748099; font-size: 10px; line-height: 1.35; }
.restricted-lookup.has-selection .restricted-lookup-input { cursor: pointer; }
@media (max-width: 760px) {
  .restricted-lookup-menu { max-height: 240px; }
}

/* V0.6.0.5.4c-R3 - Practices as the canonical Database page pattern */
.practices-reference-card { margin-bottom: 14px; }
.practices-reference-card .panel-head { align-items: center; margin-bottom: 12px; }
.practices-reference-card .panel-head h2 { margin-bottom: 2px; }
.practices-reference-card .panel-head p { margin: 0; }
.practices-filter-row { grid-template-columns: minmax(0,1fr) 190px auto; padding: 10px; margin-bottom: 12px; }
.practices-filter-row input,
.practices-filter-row select,
.practices-filter-row .button { min-height: 40px; }
.practices-table-wrap { border: 1px solid #edf0f5; border-radius: 11px; }
.practices-table { min-width: 760px; table-layout: fixed; }
.practices-table th:nth-child(1), .practices-table td:nth-child(1):not(.empty-state) { width: 27%; }
.practices-table th:nth-child(2), .practices-table td:nth-child(2):not(.empty-state) { width: 12%; }
.practices-table th:nth-child(3), .practices-table td:nth-child(3):not(.empty-state) { width: 12%; }
.practices-table th:nth-child(4), .practices-table td:nth-child(4):not(.empty-state) { width: 17%; }
.practices-table th:nth-child(5), .practices-table td:nth-child(5):not(.empty-state) { width: 11%; }
.practices-table th:nth-child(6), .practices-table td:nth-child(6):not(.empty-state) { width: 14%; }
.practices-table th:nth-child(7), .practices-table td:nth-child(7):not(.empty-state) { width: 7%; }
.practices-table td { vertical-align: middle; }
.practices-table td small { max-width: 100%; overflow-wrap: anywhere; }
.practices-table .compact-button { min-height: 32px; padding: 7px 10px; }
.practices-create-card { position: static; margin-bottom: 0; }
.practices-create-card > summary { padding: 15px 18px; }
.practices-create-card > summary strong { font-size: 19px; }
.practices-create-card > summary small { font-size: 12px; }
.practices-create-card .database-create-body { padding: 14px 18px 18px; }
.practices-create-form { gap: 14px; }
.practices-form-section { padding: 13px; border: 1px solid #edf0f5; border-radius: 11px; background: #fff; gap: 11px; }
.practices-form-section .grid2,
.practices-form-section .grid3 { gap: 12px; }
.form-section-note { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.restricted-form-section { background: #fbfcfe; }
.restricted-form-section .field-section-title { color: #59647b; }
.practices-create-form textarea { min-height: 88px; }
.practices-create-form .form-actions { display: flex; justify-content: flex-end; margin-top: 0; }
.practices-create-form .form-actions .button,
.practices-create-form .form-actions .btn,
.practices-create-form .form-actions button { min-height: 40px; }
@media (max-width: 980px) {
  .practices-filter-row { grid-template-columns: minmax(0,1fr) 170px; }
  .practices-filter-row .database-filter-actions { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .practices-filter-row { grid-template-columns: 1fr; }
  .practices-filter-row .database-filter-actions { grid-column: auto; }
  .practices-filter-row .database-filter-actions .button { flex: 1 1 0; }
  .practices-table { min-width: 820px; table-layout: auto; }
  .practices-create-form .form-actions { justify-content: stretch; }
  .practices-create-form .form-actions .btn { width: 100%; }
}


/* V0.6.0.5.4c-R4: Providers use the accepted Practices database language. */
.providers-reference-card { margin-bottom: 14px; }
.providers-reference-card .panel-head { align-items: center; margin-bottom: 12px; }
.providers-reference-card .panel-head h2 { margin-bottom: 2px; }
.providers-reference-card .panel-head p { margin: 0; }
.providers-filter-row { grid-template-columns: minmax(0,1fr) 190px auto; padding: 10px; margin-bottom: 12px; }
.providers-filter-row input, .providers-filter-row select, .providers-filter-row .button { min-height: 40px; }
.providers-filter-row .database-filter-actions { flex-wrap: wrap; justify-content: flex-end; }
.providers-filter-row .database-filter-actions .button { min-height: 40px; }
.providers-table-wrap { border: 1px solid #edf0f5; border-radius: 11px; }
.providers-table { min-width: 760px; table-layout: fixed; }
.providers-table th:nth-child(1), .providers-table td:nth-child(1):not(.empty-state) { width: 29%; }
.providers-table th:nth-child(2), .providers-table td:nth-child(2):not(.empty-state) { width: 14%; }
.providers-table th:nth-child(3), .providers-table td:nth-child(3):not(.empty-state) { width: 20%; }
.providers-table th:nth-child(4), .providers-table td:nth-child(4):not(.empty-state) { width: 14%; }
.providers-table th:nth-child(5), .providers-table td:nth-child(5):not(.empty-state) { width: 16%; }
.providers-table th:nth-child(6), .providers-table td:nth-child(6):not(.empty-state) { width: 7%; }
.providers-table td { vertical-align: middle; }
.providers-table td small { display: block; max-width: 100%; overflow-wrap: anywhere; color: var(--muted); margin-top: 3px; }
.providers-create-card { position: static; margin-bottom: 0; }
.providers-create-card > summary { padding: 15px 18px; }
.providers-create-card > summary strong { font-size: 19px; }
.providers-create-card > summary small { font-size: 12px; }
.providers-create-card .database-create-body { padding: 14px 18px 18px; }
.providers-create-form { gap: 14px; }
.providers-form-section { padding: 13px; border: 1px solid #edf0f5; border-radius: 11px; background: #fff; gap: 11px; }
.providers-form-section .grid2, .providers-form-section .grid3 { gap: 12px; }
.providers-create-form textarea { min-height: 88px; }
.providers-create-form .form-actions { display: flex; justify-content: flex-end; margin-top: 0; }
.providers-create-form .form-actions .button, .providers-create-form .form-actions .btn, .providers-create-form .form-actions button { min-height: 40px; }
@media (max-width: 800px) {
  .providers-filter-row { grid-template-columns: 1fr; }
  .providers-filter-row .database-filter-actions { justify-content: stretch; }
  .providers-filter-row .database-filter-actions .button { flex: 1 1 0; }
}
@media (max-width: 640px) {
  .providers-table { min-width: 820px; table-layout: auto; }
  .providers-create-form .form-actions { justify-content: stretch; }
  .providers-create-form .form-actions .btn { width: 100%; }
}

/* V0.6.0.5.4c-R5: Payers use the accepted Practices/Providers Database language. */
.payers-reference-card { margin-bottom: 14px; }
.payers-reference-card .panel-head { align-items: center; margin-bottom: 12px; }
.payers-reference-card .panel-head h2 { margin-bottom: 2px; }
.payers-reference-card .panel-head p { margin: 0; }
.payers-filter-row { grid-template-columns: minmax(0,1fr) auto; padding: 10px; margin-bottom: 12px; }
.payers-filter-row input, .payers-filter-row select, .payers-filter-row .button { min-height: 40px; }
.payers-table-wrap { border: 1px solid #edf0f5; border-radius: 11px; }
.payers-table { min-width: 700px; table-layout: fixed; }
.payers-table th:nth-child(1) { width: 34%; }
.payers-table th:nth-child(2) { width: 18%; }
.payers-table th:nth-child(3) { width: 24%; }
.payers-table th:nth-child(4) { width: 16%; }
.payers-table th:nth-child(5) { width: 8%; }
.payers-table td { vertical-align: middle; }
.payers-table td small { display: block; max-width: 100%; overflow-wrap: anywhere; color: var(--muted); margin-top: 3px; }
.payers-table .compact-button { min-height: 32px; padding: 7px 10px; }
.payers-create-card { position: static; margin-bottom: 0; }
.payers-create-card > summary { padding: 15px 18px; }
.payers-create-card > summary strong { font-size: 19px; }
.payers-create-card > summary small { font-size: 12px; }
.payers-create-card .database-create-body { padding: 14px 18px 18px; }
.payers-create-form { gap: 14px; }
.payers-form-section { padding: 13px; border: 1px solid #edf0f5; border-radius: 11px; background: #fff; gap: 11px; }
.payers-form-section .grid2 { gap: 12px; }
.payers-create-form textarea { min-height: 88px; }
.payers-create-form .form-actions { display: flex; justify-content: flex-end; margin-top: 0; }
.payers-create-form .form-actions .button, .payers-create-form .form-actions .btn, .payers-create-form .form-actions button { min-height: 40px; }
@media (max-width: 800px) {
  .payers-filter-row { grid-template-columns: 1fr; }
  .payers-filter-row .database-filter-actions { justify-content: stretch; }
  .payers-filter-row .database-filter-actions .button { flex: 1 1 0; }
}
@media (max-width: 640px) {
  .payers-table { min-width: 720px; table-layout: auto; }
  .payers-create-form .form-actions { justify-content: stretch; }
  .payers-create-form .form-actions .btn { width: 100%; }
}


/* V0.6.0.5.4c-R6 - Administration UI alignment */
.admin-summary-panel,.audit-summary-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:var(--shadow)}
.admin-summary-panel h2,.audit-summary-panel h2{margin:3px 0 4px;font-size:21px;line-height:1.25}
.admin-summary-panel p,.audit-summary-panel p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.admin-create{margin-top:0}
.admin-create>summary{padding:16px 20px}
.admin-create>summary>span:first-child{display:grid;gap:4px;min-width:0}
.admin-create>summary strong{font-size:18px;line-height:1.3}
.admin-create>summary small{color:var(--muted);font-size:12px;line-height:1.45}
.admin-create[open]>summary{background:#fbfcfe}
.admin-create-body{padding:18px 20px 20px;border-top:1px solid #edf0f5}
.admin-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.admin-form-grid label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#34405a}
.admin-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:2px}
.admin-account-list{display:grid;gap:0}
.admin-account-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-top:1px solid #edf0f5}
.admin-account-row:first-child{border-top:0}
.admin-account-main{min-width:0;display:grid;gap:7px}
.admin-account-name{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.admin-account-name strong{font-size:15px}
.admin-account-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:12px}
.admin-account-meta .status-dot{color:var(--text);font-size:11px;font-weight:700}
.audit-list-panel .panel-head{margin-bottom:14px}
.audit-table-frame{min-width:0}
.audit-table{min-width:980px !important}
.audit-table td{padding-top:13px;padding-bottom:13px}
.audit-resource-type{font-weight:700}
.audit-resource-id{overflow-wrap:anywhere}
.audit-time strong{font-variant-numeric:tabular-nums}
.audit-time small{font-variant-numeric:tabular-nums;color:var(--muted)}
.audit-detail-list{display:grid;gap:5px}
.audit-detail-list>div{display:grid;grid-template-columns:minmax(72px,105px) minmax(0,1fr);gap:8px}
.audit-detail-list span{color:var(--muted);font-size:11px}
.audit-detail-list strong{font-size:11px;font-weight:650;overflow-wrap:anywhere}
.audit-no-detail{color:var(--muted);font-size:11px}
@media(max-width:1000px){.admin-form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.admin-summary-panel,.audit-summary-panel{align-items:flex-start;flex-direction:column}.admin-form-grid{grid-template-columns:1fr}.admin-form-actions{grid-column:auto;justify-content:flex-start}.admin-account-row{align-items:flex-start;flex-direction:column}.admin-account-row form{width:100%}.admin-account-row .button{width:100%}}


/* V0.6.0.5.4c-R6.2 - Admin density and hierarchy refinement */
.admin-users-reference{gap:18px}
.admin-users-reference .admin-list-panel{order:1}
.admin-users-reference .admin-create{order:2}
.admin-list-panel .panel-head{margin-bottom:10px}
.admin-account-row{padding:14px 0;min-height:64px}
.admin-account-main{gap:5px}
.admin-account-name strong{font-size:15px;line-height:1.25}
.admin-account-meta{gap:10px;font-size:12px;line-height:1.35}
.admin-account-row .compact-button{min-height:38px;padding:0 15px}
.admin-create{margin-top:0}
.admin-create>summary{min-height:82px;padding:14px 18px}
.admin-create>summary>span:first-child{gap:3px}
.admin-create>summary strong{font-size:17px}
.admin-create>summary small{font-size:12px}
.admin-create-body{padding:16px 18px 18px}
.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.admin-form-actions{grid-column:1/-1;justify-content:flex-end;padding-top:0}
@media(max-width:720px){.admin-form-grid{grid-template-columns:1fr}.admin-account-row .compact-button{width:auto}.admin-form-actions{grid-column:auto;justify-content:flex-start}}

/* V0.6.0.5.4c-R7 Practice detail alignment */
.record-hero {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
  padding: 20px 22px;
  margin-bottom: 16px;
}
.record-hero-main { min-width: 0; }
.record-hero h1 { margin: 5px 0 7px; font-size: 32px; }
.record-hero-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; flex: 0 0 auto; }
.record-meta-strip { display: grid; grid-template-columns: repeat(4, minmax(90px, 1fr)); gap: 8px; margin-top: 14px; max-width: 720px; }
.record-meta { display: grid; gap: 2px; padding: 9px 11px; border: 1px solid #edf0f5; border-radius: 10px; background: #fbfcfe; min-width: 0; }
.record-meta small, .record-context-grid span { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.record-meta strong { font-size: 13px; line-height: 1.3; overflow-wrap: anywhere; }
.practice-detail-layout { grid-template-columns: minmax(0, 1.65fr) minmax(320px, .85fr); }
.record-profile-card { min-width: 0; }
.record-profile-form { display: grid; gap: 0; }
.record-form-section { margin-bottom: 12px; }
.record-form-section:last-of-type { margin-bottom: 12px; }
.record-form-actions { display: flex; justify-content: flex-end; padding-top: 2px; }
.record-context-card { background: #fbfcfe; }
.record-context-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.record-context-grid > div { display: grid; gap: 3px; min-width: 0; padding: 10px 11px; border: 1px solid #edf0f5; border-radius: 10px; background: #fff; }
.record-context-grid strong { font-size: 12px; line-height: 1.35; overflow-wrap: anywhere; }
.relationship-card .panel-head { margin-bottom: 10px; }
.relationship-card .relationship-list { gap: 0; }
.relationship-card .relationship-row { border-radius: 0; border-width: 0 0 1px; padding: 10px 0; }
.relationship-card .relationship-row:last-child { border-bottom: 0; }
.relationship-card .relationship-row a { min-width: 0; }
.relationship-card .relationship-row strong { font-size: 13px; }
.relationship-card .relationship-row small { font-size: 11px; line-height: 1.35; }
.relationship-card .empty-state { padding: 16px 6px 6px; display: grid; gap: 3px; }
.restricted-detail-section { margin: 0 0 12px; border: 1px solid #e7ebf2; border-radius: 11px; background: #fbfcfe; overflow: hidden; }
.restricted-detail-section > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px; }
.restricted-detail-section > summary::-webkit-details-marker { display: none; }
.restricted-detail-section > summary > span:first-child { display: grid; gap: 3px; min-width: 0; }
.restricted-detail-section > summary strong { font-size: 14px; }
.restricted-detail-section > summary small { color: var(--muted); font-size: 11px; line-height: 1.4; }
.restricted-detail-section[open] > summary { border-bottom: 1px solid #e7ebf2; }
.restricted-detail-body { padding: 14px; }
.compact-textareas textarea { min-height: 88px; }

@media (max-width: 900px) {
  .record-hero { flex-direction: column; }
  .record-hero-actions { justify-content: flex-start; }
  .record-meta-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; width: 100%; }
}
@media (max-width: 560px) {
  .record-hero { padding: 18px; }
  .record-hero h1 { font-size: 27px; }
  .record-meta-strip, .record-context-grid { grid-template-columns: 1fr; }
}

/* R10.15 Excel Import UI restoration after global lookup layout load.
   Scoped to .import-page; restores compact Import-specific panel/table geometry
   without changing global application styling. */
.import-page{display:grid;gap:16px}
.import-workflow-card{padding:0;overflow:hidden}
.import-workflow-head,.import-results-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;border-bottom:1px solid #edf0f5}
.import-workflow-head h3,.import-results-head h3{margin:0 0 4px;font-size:20px}
.import-workflow-head p,.import-results-head p{margin:0}
.import-upload-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;padding:18px 20px 14px}
.import-file-field{display:grid;gap:7px;font-size:11px;color:#5e6982;font-weight:700}
.import-file-field input[type=file]{width:100%;min-height:44px;padding:9px 11px;border:1px solid #dfe4ed;border-radius:10px;background:#fff;font:inherit;color:#263451;box-sizing:border-box}
.import-file-field input[type=file]:focus{outline:2px solid #cfd8ff;outline-offset:1px}
.import-rule-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 20px 18px;border-top:1px solid #edf0f5}
.import-rule-strip>div{display:grid;gap:2px;padding:11px 12px 2px 0;min-width:0}
.import-rule-strip>div+div{padding-left:16px;border-left:1px solid #edf0f5}
.import-rule-strip span{font-size:10px;color:#7b8496}
.import-rule-strip strong{font-size:11px;color:#263451;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.import-fatal{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #f3c9c6;background:#fffafa;padding:16px 18px}
.import-state-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#b44841;background:#fde9e7}
.import-state-copy h3{margin:0 0 4px;font-size:18px}.import-state-copy p{margin:0 0 4px;color:#5b6475}.import-file-name{font-weight:650;color:#59657d}
.import-results{padding:0;overflow:hidden}
.import-summary-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:14px 20px;border-bottom:1px solid #edf0f5}
.import-summary-bar>div{display:grid;gap:3px;padding:10px 12px;border:1px solid #e8ecf3;border-radius:10px;background:#fbfcfe}
.import-summary-bar strong{font-size:19px;line-height:1;color:#1d2d55}.import-summary-bar span{font-size:10px;color:#6e7890}.import-summary-bar .is-create strong{color:#267457}.import-summary-bar .is-attention strong{color:#b44841}
.import-issues{margin:16px 20px 0;border:1px solid #efc7c3;border-radius:12px;background:#fffafa;overflow:hidden}
.import-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #f2d9d6}.import-section-head h4{margin:0;font-size:15px}.import-issue-count{padding:4px 8px;border-radius:999px;background:#fde9e7;color:#ad4942;font-size:10px;font-weight:800;white-space:nowrap}
.import-issue-table{display:grid}.import-issue-row{display:grid;grid-template-columns:165px minmax(0,1fr);gap:14px;padding:10px 14px;border-top:1px solid #f5e2df;align-items:start}.import-issue-row:first-child{border-top:0}.import-issue-row strong{font-size:11px;color:#7c3934}.import-issue-row span{font-size:11px;color:#4f586a}.import-issue-row b{color:#263451}
.import-table-shell{padding:16px 20px 0}.import-table-title{margin:0 0 8px;font-size:13px;font-weight:800;color:#34415d}.import-page .database-table-wrap{overflow-x:auto}.import-preview-table{min-width:980px;table-layout:fixed}.import-preview-table th:nth-child(1){width:60px}.import-preview-table th:nth-child(2){width:120px}.import-preview-table th:nth-child(3){width:210px}.import-preview-table th:nth-child(4){width:210px}.import-preview-table th:nth-child(5){width:145px}.import-preview-table th:nth-child(6){width:300px}.import-preview-table td{vertical-align:top}.import-row-number{font-weight:800;color:#59657d}
.import-inline-issue{display:grid;gap:7px}.import-inline-issue>div{display:grid;gap:2px;padding:7px 8px;border:1px solid #f1d7d4;border-radius:8px;background:#fff8f7}.import-inline-issue strong{font-size:10px;color:#8f403a}.import-inline-issue span{font-size:10px;color:#555f72}
.import-commit-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:14px 20px;border-top:1px solid #edf0f5;background:#fbfcfe}.import-commit-bar>div{display:flex;align-items:baseline;gap:7px;min-width:0}.import-commit-bar strong{font-size:13px;color:#233255}.import-commit-bar span{font-size:11px;color:#6e7890}.import-page .button[disabled]{opacity:.5;cursor:not-allowed}
@media(max-width:900px){.import-workflow-head,.import-results-head,.import-commit-bar{align-items:stretch;flex-direction:column}.import-upload-form{grid-template-columns:1fr}.import-summary-bar{grid-template-columns:1fr 1fr}.import-rule-strip{grid-template-columns:1fr 1fr}.import-rule-strip>div:nth-child(odd+1){border-left:0}.import-rule-strip>div+div{padding-left:16px}}
@media(max-width:620px){.import-rule-strip{grid-template-columns:1fr}.import-rule-strip>div+div{border-left:0;border-top:1px solid #edf0f5;padding-left:0;padding-top:10px}.import-summary-bar{grid-template-columns:1fr}.import-workflow-head,.import-results-head,.import-upload-form,.import-table-shell,.import-commit-bar{padding-left:14px;padding-right:14px}.import-issues{margin-left:14px;margin-right:14px}.import-issue-row{grid-template-columns:1fr;gap:4px}}

/* R11.2 UI contract: safe table/action/date/grid behaviour.
   Based on the accepted R11.2 baseline package. */
.table-wrap th:last-child,
.table-wrap td:last-child:not(.empty-state) {
  white-space: nowrap;
}

.table-wrap .date-emphasis,
.table-wrap .due-date-v057,
.table-wrap .audit-time,
.task-table td:nth-child(7),
.task-table th:nth-child(7) {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.table-wrap td:last-child .button,
.table-wrap td:last-child button,
.task-table td:last-child form {
  white-space: nowrap;
}

.form-grid > *,
.fields-grid > *,
.meta-grid > *,
.stats-grid > *,
.kpi-grid > * {
  min-width: 0;
}

.form-grid input,
.form-grid select,
.form-grid textarea,
.fields-grid input,
.fields-grid select,
.fields-grid textarea,
.meta-grid input,
.meta-grid select,
.meta-grid textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 760px) {
  .table-wrap {
    max-width: 100%;
    overflow-x: auto;
  }

  .table-wrap table {
    min-width: 720px;
  }

  .form-grid,
  .fields-grid,
  .meta-grid,
  .stats-grid,
  .kpi-grid {
    min-width: 0;
  }
}

/* R11.2 Detail Containment Repair
   Scoped to existing detail-page classes. Presentation-only. */
.record-profile-card,
.record-side,
.detail-record-layout > *,
.relationship-card,
.relationship-card .panel-head,
.relationship-card .relationship-list { min-width: 0; }

/* Provider relationship assignment: keep the lookup on its own full row so
   location selection and action never escape the relationship card. */
.relationship-card form.compact-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
}
.relationship-card form.compact-form .restricted-lookup {
  grid-column: 1 / -1;
  min-width: 0;
}
.relationship-card form.compact-form > select {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.relationship-card form.compact-form > .btn,
.relationship-card form.compact-form > .button {
  min-width: 0;
  white-space: nowrap;
}

/* Document version upload: two intentional controls, never a three-column
   generic compact-form layout. */
.detail-upload-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
}
.detail-upload-form > label,
.detail-upload-form > input,
.detail-upload-form > button,
.detail-upload-form > .button {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.detail-upload-form > label { display: grid; gap: 6px; }
.detail-upload-form input[type="file"] { width: 100%; min-width: 0; }
.detail-upload-form > button,
.detail-upload-form > .button { white-space: nowrap; }

@media (max-width: 760px) {
  .relationship-card form.compact-form,
  .detail-upload-form {
    grid-template-columns: 1fr;
  }
  .relationship-card form.compact-form .restricted-lookup {
    grid-column: auto;
  }
  .relationship-card form.compact-form > .btn,
  .relationship-card form.compact-form > .button,
  .detail-upload-form > button,
  .detail-upload-form > .button {
    width: 100%;
  }
}

/* R11.2 Global UI Shell Cleanup v1
   Moves existing contextual-shell presentation out of layout.php without changing markup behaviour. */
.context-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}
.context-back-link { white-space: nowrap; }
@media (max-width: 640px) {
  .app-context-bar {
    display: flex !important;
    align-items: flex-start !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    min-height: 0 !important;
    margin: 0 0 10px !important;
  }
  .app-context-bar > .context-breadcrumb {
    flex: 1 1 100% !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  .app-context-bar > .context-actions {
    flex: 1 1 100% !important;
    width: 100% !important;
    justify-content: space-between !important;
  }
  .context-back-link {
    max-width: calc(100vw - 110px);
    overflow: hidden;
    text-overflow: ellipsis;
  }
}


/* R11.2 Global UI Shell Cleanup v2 - Compact mobile navigation.
   Desktop navigation remains unchanged. At <=900px the sidebar becomes a
   slide-over drawer behind an explicit compact mobile navigation bar. */
.mobile-shell-bar,
.mobile-nav-backdrop {
  display: none;
}

@media (max-width: 900px) {
  body.mobile-nav-open {
    overflow: hidden;
  }

  .mobile-shell-bar {
    display: flex;
    position: sticky;
    top: 0;
    z-index: 40;
    min-height: 64px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 14px;
    background: #fff;
    border-bottom: 1px solid var(--border);
    box-shadow: 0 3px 12px rgba(9,21,64,.06);
  }

  .mobile-brand {
    min-width: 0;
    display: block;
    color: inherit;
    text-decoration: none;
  }

  .mobile-brand-name {
    display: block;
    color: var(--navy);
    font-size: 21px;
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -.55px;
  }

  .mobile-brand-name span {
    color: var(--mid);
  }

  .mobile-brand-sub {
    display: block;
    margin-top: 3px;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.2;
  }

  .mobile-nav-toggle {
    flex: 0 0 auto;
    min-height: 40px;
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: #fff;
    color: var(--blue);
    font: inherit;
    font-size: 13px;
    font-weight: 750;
    box-shadow: 0 2px 7px rgba(9,21,64,.05);
  }

  .mobile-nav-toggle:hover {
    background: #f7f9ff;
  }

  .mobile-nav-toggle:focus-visible {
    outline: 3px solid rgba(118,146,255,.35);
    outline-offset: 2px;
  }

  .mobile-nav-toggle-icon {
    font-size: 15px;
    line-height: 1;
  }

  .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 60;
    width: min(86vw, 320px);
    height: 100dvh;
    min-height: 100dvh;
    padding: 18px 16px;
    overflow: hidden;
    transform: translateX(-105%);
    visibility: hidden;
    pointer-events: none;
    transition: transform .2s ease, visibility .2s ease;
  }

  body.mobile-nav-open .sidebar {
    transform: translateX(0);
    visibility: visible;
    pointer-events: auto;
  }

  .sidebar .nav-scroll {
    overflow-y: auto;
    overflow-x: hidden;
    max-height: none;
    margin-top: 20px;
  }

  .sidebar .sidefoot {
    margin-top: 8px;
  }

  .mobile-nav-backdrop {
    position: fixed;
    inset: 0;
    z-index: 50;
    margin: 0;
    padding: 0;
    border: 0;
    background: rgba(9,21,64,.38);
    cursor: pointer;
  }

  body.mobile-nav-open .mobile-nav-backdrop {
    display: block;
  }

  .app-main {
    width: 100%;
    margin-left: 0;
    padding-top: 18px;
  }
}

@media (max-width: 560px) {
  .mobile-shell-bar {
    min-height: 60px;
    padding: 9px 12px;
  }

  .mobile-brand-name {
    font-size: 20px;
  }

  .mobile-brand-sub {
    font-size: 9px;
  }

  .mobile-nav-toggle {
    min-height: 38px;
    padding: 8px 11px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sidebar {
    transition: none;
  }
}

/* ==========================================================================
   SAAVYARCM CMT — PRACTICE PORTAL CLIENT SHELL & NORMALIZED UI SYSTEM
   ========================================================================== */

:root {
  --portal-max-w: 1440px;
}

.portal-shell,
.client-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}

/* Compact, unified top navigation header */
.portal-header,
.client-header {
  background: var(--navy);
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  position: sticky;
  top: 0;
  z-index: 40;
  box-shadow: 0 4px 20px rgba(9, 21, 64, 0.14);
}

.portal-header-inner,
.client-header-inner {
  max-width: var(--portal-max-w);
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: var(--portal-header-h);
}

.portal-brand-group,
.client-brand-group {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}

.portal-brand,
.client-brand-title {
  display: inline-flex;
  align-items: baseline;
  font-size: 22px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: -0.7px;
  color: #fff;
  text-decoration: none;
}

.portal-brand span,
.client-brand-title span {
  color: var(--mid);
}

.portal-brand-badge,
.client-brand-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(118, 146, 255, 0.18);
  border: 1px solid rgba(171, 210, 250, 0.28);
  color: #c4d9ff;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* Compact horizontal navigation bar */
.portal-nav,
.client-nav {
  display: flex;
  align-items: center;
  gap: 3px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.portal-nav a,
.client-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 8px 13px;
  border-radius: 8px;
  color: #cdd7f5;
  text-decoration: none;
  font-size: 13px;
  font-weight: 650;
  line-height: 1;
  transition: background 0.15s ease, color 0.15s ease;
  white-space: nowrap;
}

.portal-nav a:hover,
.client-nav a:hover {
  background: rgba(255, 255, 255, 0.09);
  color: #fff;
}

.portal-nav a.active,
.client-nav a.active {
  background: rgba(118, 146, 255, 0.22);
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(118, 146, 255, 0.42);
}

.portal-nav a:focus-visible,
.client-nav a:focus-visible {
  outline: 2px solid var(--mid);
  outline-offset: 2px;
}

/* Header right: client identity, role, and sign out */
.portal-header-meta,
.client-header-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  font-size: 12px;
  color: #aeb8d6;
}

.portal-meta-practice,
.client-meta-practice {
  color: #fff;
  font-weight: 650;
}

.portal-meta-user,
.client-meta-user {
  color: #cdd7f5;
}

.portal-meta-role,
.client-meta-role {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #dfe6ff;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.portal-logout,
.client-signout-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 5px 12px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 7px;
  background: transparent;
  color: #cfd8f7;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.portal-logout:hover,
.client-signout-btn:hover {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.45);
  color: #fff;
}

/* Canonical page content container */
.client-portal-shell .sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 30;
  width: 270px;
  height: 100dvh;
  background: var(--navy);
  color: #fff;
  padding: 24px 16px 16px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.client-portal-shell .app-main {
  margin-left: 270px;
  padding: 28px 32px 48px;
  max-width: 1560px;
}

/* Practice Portal Cards & Panels */
.portal-card {
  margin-bottom: 20px;
  padding: 20px 22px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface);
  box-shadow: var(--shadow);
  color: var(--text);
  font-size: 14px;
  line-height: 1.55;
}

.portal-card h2 {
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 720;
  letter-spacing: -0.15px;
  color: var(--navy);
}

.portal-card h3 {
  margin: 0 0 8px;
  font-size: 15px;
  font-weight: 700;
  color: var(--navy);
}

.portal-link {
  color: var(--blue);
  text-decoration: none;
  font-weight: 700;
  font-size: 13px;
  transition: color 0.12s ease;
}

.portal-link:hover {
  text-decoration: underline;
}

.portal-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 3px 9px;
  border-radius: 999px;
  background: #eef2ff;
  color: var(--blue);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.portal-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  background: #ecfdf3;
  color: #166534;
  white-space: nowrap;
}

.portal-badge-warning {
  background: #fff8df;
  color: #8a5a00;
}

.portal-badge-error {
  background: #fff0ed;
  color: #b42318;
}

.portal-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 650;
  color: var(--muted);
  text-decoration: none;
  margin-bottom: 14px;
  transition: color 0.12s ease;
}

.portal-back:hover {
  color: var(--blue);
}

.portal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}

.portal-kpi {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 16px 18px;
  box-shadow: var(--shadow);
}

.portal-kpi b {
  display: block;
  font-size: 24px;
  font-weight: 800;
  color: var(--navy);
}

.portal-kpi strong {
  display: block;
  font-size: 13px;
  color: var(--text);
  margin-top: 3px;
}

.portal-kpi small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
}

/* Detail key-value list */
.detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.detail-row {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fbfcfe;
}

.detail-label {
  font-size: 11px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 750;
}

.detail-value {
  font-size: 14px;
  font-weight: 700;
  color: var(--navy);
  overflow-wrap: anywhere;
}

/* Responsive Practice Portal Breakpoints */
@media (max-width: 1024px) {
  .portal-header-inner,
  .client-header-inner {
    padding: 0 20px;
  }

  .portal-main,
  .client-main {
    padding: 20px 20px 36px;
  }
}

@media (max-width: 860px) {
  .portal-header-inner,
  .client-header-inner {
    flex-direction: column;
    align-items: stretch;
    padding: 12px 16px;
    gap: 10px;
  }

  .portal-brand-group {
    justify-content: space-between;
  }

  .portal-nav {
    overflow-x: auto;
    scrollbar-width: none;
    padding-bottom: 2px;
  }

  .portal-nav::-webkit-scrollbar {
    display: none;
  }

  .portal-header-meta {
    justify-content: space-between;
    padding-top: 6px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }

  .detail-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .portal-main,
  .client-main {
    padding: 16px 14px 28px;
  }

  .portal-card {
    padding: 16px;
  }

  .portal-grid {
    grid-template-columns: 1fr;
  }

  .portal-header-meta {
    font-size: 11px;
    gap: 8px;
  }
}

