.nav-link svg, .brand svg { color: #d4e4fa; }
.nav-link.nav-active { border-left: 2px solid #78a8ff; }
.sidebar .brand-mark { flex: none; background: #fff; }
.brand-mark img { display: block; width: 26px; height: 26px; }
.login-brand { display: block; width: 190px; max-width: 100%; height: auto; margin-bottom: 18px; }
.main-shell .topbar { min-height: 60px; height: auto; padding-block: 10px; }
.form-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(158px,1fr)); align-items: end; gap: 10px; }
.form-grid .wide { grid-column: 1 / -1; }
.field small { color: var(--muted); }
input[type=file] { max-width: 100%; }
.table-wrap td a { text-decoration: none; font-weight: 700; }
.metric-grid { margin-top: 0; }
.period-list { display: grid; gap: 6px; list-style: none; padding: 0; margin: 0; }
.period-list li { border-bottom: 1px solid var(--line-soft); padding-bottom: 6px; }
.receipt-candidate { display: flex; align-items: start; gap: 5px; padding: 5px 0; }
details > summary { cursor: pointer; }
details > form { margin-top: 10px; }
.banner { margin: 0 0 12px; }
.form-footer { display: flex; gap: 7px; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
.token-link { width: 100%; }
.page-content > .stack > .panel + .panel { margin-top: 0; }
.page-content .amount { overflow-wrap: anywhere; }
.login-card form { display: grid; gap: 12px; }
.login-card input { width: 100%; }
.login-card [role=alert] { color: #922b35; }
.bank-filters { grid-template-columns: repeat(auto-fit,minmax(min(100%,145px),1fr)); }
.bank-filter-actions { grid-column: 1 / -1; }
.bank-split { grid-template-columns: minmax(240px, 340px) minmax(0, 1fr); }
.bank-detail dd { overflow-wrap: anywhere; }
.bank-detail h2 { scroll-margin-top: 80px; }
.bank-status-cell { display: flex; gap: 3px 8px; align-items: center; flex-wrap: wrap; }
.bank-status-cell .text-link { min-height: 24px; white-space: nowrap; }
.bank-status-cell .text-link:hover { text-decoration: underline; }
.bank-view tr:has(a[aria-current="true"]) { background: #eef5ff; }
.ar-filters > .field { max-width: 32rem; }
.ar-filters fieldset { border: 1px solid var(--line-soft); border-radius: 8px; padding: 9px 12px 12px; }
.ar-filters legend { padding-inline: 5px; font-weight: 700; }
.ar-results-summary { gap: 3px; }
.ar-store-options { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.ar-store-options label { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; }
.ar-store-options label span, .ar-exclusion-names li { overflow-wrap: anywhere; }
.ar-exclusions > summary { padding: 14px 15px 11px; font-weight: 750; }
.ar-exclusions:not([open]) > summary { padding-bottom: 14px; }
.ar-exclusions form { gap: 8px; }
.ar-exclusion-names { display: grid; gap: 5px; margin: 0; padding-left: 18px; font-size: 12px; }
.ar-suggestion { min-width: 145px; }
.ar-suggestion[open] { min-width: min(320px, 65vw); }
.ar-suggestion summary { font-weight: 700; color: var(--primary-dark); white-space: nowrap; }
.ar-suggestion .match-list { margin-top: 8px; }
.ar-thread > .panel-header h2 { overflow-wrap: anywhere; }
.ar-thread .chat-turns { max-width: none; }
.ar-thread .chat-answer { width: 100%; }
.ar-thread .chat-answer-content { min-width: 0; }
.ar-thread .chat-answer .data-table { min-width: 570px; }
.ar-manual-result > .stack { width: 100%; }
.customer-suffix-add { gap: 7px; max-width: 36rem; }
#customer-manage-name { scroll-margin-top: 80px; }
.customer-suffix-entries { display: grid; gap: 8px; list-style: none; padding: 0; margin: 0; }
.customer-suffix-entry {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  padding: 8px 10px;
  border: 1px solid var(--line-soft);
  border-radius: 8px;
}
.customer-suffix-entry details[open] { flex-basis: 100%; }
.customer-suffix-entry summary { color: var(--primary-dark); }
.customer-suffix-entry form { max-width: 36rem; }
.chat-layout {
  display: grid;
  grid-template-columns: minmax(200px, 280px) minmax(0, 1fr);
  gap: 15px;
  align-items: start;
}
.chat-panel {
  display: flex;
  flex-direction: column;
  height: max(460px, calc(100dvh - 200px));
  min-width: 0;
}
.chat-panel > .panel-header {
  flex-wrap: nowrap;
  min-height: 58px;
  padding-block: 10px;
  border-bottom: 1px solid var(--line-soft);
}
.chat-panel > .panel-header h2 {
  min-width: 0;
  overflow-wrap: anywhere;
}
.chat-panel > .panel-header button { flex: none; }
.chat-messages {
  flex: 1 1 auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  min-height: 0;
  padding: 18px clamp(13px, 3vw, 30px);
  background: #f8fafc;
}
.chat-messages:focus-visible { outline-offset: -3px; }
.chat-turns {
  display: grid;
  gap: 23px;
  padding: 0;
  margin: 0 auto;
  max-width: 810px;
  list-style: none;
}
.chat-turn { display: grid; gap: 12px; min-width: 0; }
.chat-question {
  justify-self: end;
  width: fit-content;
  max-width: min(92%, 600px);
  padding: 9px 13px 11px;
  color: #193a6c;
  background: #eaf2ff;
  border: 1px solid #d7e5fb;
  border-radius: 14px 14px 4px 14px;
}
.chat-question p { white-space: pre-wrap; overflow-wrap: anywhere; }
.chat-byline {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  margin-bottom: 4px;
}
.chat-byline time, .chat-history time { color: var(--muted); font-size: 11px; }
.chat-byline img, .chat-welcome img {
  display: block;
  padding: 4px;
  background: #fff;
  border: 1px solid #dce7f5;
  border-radius: 7px;
}
.chat-answer { width: min(100%, 670px); }
.chat-answer-content {
  gap: 8px;
  padding: 11px 13px;
  border: 1px solid var(--line);
  border-radius: 4px 14px 14px;
  background: #fff;
}
.chat-answer .chip-list .badge { white-space: normal; overflow-wrap: anywhere; }
.chat-welcome {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 10px;
  min-height: 100%;
  padding: 16px 0;
  text-align: center;
}
.chat-welcome h3 { font-size: 21px; }
.chat-welcome p { color: var(--muted); }
.chat-welcome .chip-list { justify-content: center; }
.chat-load-earlier { margin-bottom: 15px; text-align: center; }
.chat-compose {
  display: grid;
  gap: 6px;
  padding: 11px 15px 13px;
  border-top: 1px solid var(--line-soft);
}
.chat-compose-row { display: flex; gap: 8px; align-items: end; }
.chat-compose-row .field { flex: 1; }
.chat-compose-row textarea { max-height: 20dvh; }
.chat-compose-row .btn { min-height: 40px; }
.chat-error { color: #922b35; font-size: 13px; }
.chat-side { display: grid; gap: 14px; min-width: 0; }
.chat-history > summary, .chat-coverage > summary {
  padding: 14px 15px 11px;
  font-weight: 750;
}
.chat-history:not([open]) > summary, .chat-coverage:not([open]) > summary { padding-bottom: 14px; }
.chat-history-body { gap: 8px; padding: 0 11px 12px; }
.chat-history-body p { padding-inline: 4px; }
.chat-history ul {
  list-style: none;
  padding: 0;
  margin: 0;
  max-height: min(45dvh, 480px);
  overflow-y: auto;
}
.chat-history li + li { margin-top: 3px; }
.chat-history li a {
  display: grid;
  gap: 2px;
  padding: 8px;
  border-radius: 8px;
  color: var(--ink);
  text-decoration: none;
}
.chat-history li a:hover, .chat-history li a[aria-current] { background: #eaf2ff; }
.chat-history li a[aria-current] { box-shadow: inset 3px 0 #6594e7; }
.chat-history li strong { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
@media (max-width: 960px) {
  .bank-split { grid-template-columns: minmax(0,1fr); }
  .chat-layout { grid-template-columns: minmax(160px, 215px) minmax(0, 1fr); }
}
@media (max-width: 800px) {
  .chat-layout { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .chat-side { gap: 10px; }
  .chat-panel { height: max(435px, calc(100dvh - 250px)); }
  .chat-history ul { max-height: 35dvh; }
}
@media (max-width: 460px) {
  .form-grid { grid-template-columns: minmax(0,1fr); }
  .topbar-right .btn { min-height: 32px; }
  .chat-compose { padding-inline: 10px; }
  .chat-answer-content { padding-inline: 9px; }
}
