:root {
  color-scheme: light;
  --paper: #f6f5f0;
  --surface: #fffefa;
  --surface-soft: #fbfaf6;
  --ink: #172a30;
  --ink-soft: #43565a;
  --muted: #63736f;
  --line: #e8e9e2;
  --line-dark: #dce1db;
  --teal: #16766e;
  --teal-dark: #105b56;
  --teal-pale: #e3f1ed;
  --navy: #183e49;
  --sand: #f1ece0;
  --coral: #ab5b43;
  --coral-pale: #f8ebe5;
  --shadow: 0 12px 38px rgba(29, 51, 53, .045), 0 1px 3px rgba(29, 51, 53, .035);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}
* { box-sizing: border-box; }
html { min-width: 320px; background: var(--paper); }
body { margin: 0; min-width: 320px; color: var(--ink); background: var(--paper); font-size: 14px; }
button, input, select { font: inherit; }
button { color: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid #71b9ac; outline-offset: 3px; }
.hidden { display: none !important; }
.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; }
.login-screen { min-height: 100svh; padding: 34px 6vw; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; background: radial-gradient(ellipse at 48% 32%, #fbfaf5 0, #f4f4ed 64%, #edf1eb 100%); }
.login-brand { position: absolute; top: 36px; left: 6vw; display: flex; align-items: center; gap: 10px; font-size: 17px; font-weight: 700; letter-spacing: -.045em; }
.brand-mark { display: inline-grid; place-items: center; width: 30px; height: 30px; color: #f5f5eb; background: var(--teal); border-radius: 9px 9px 9px 3px; font-family: Georgia, serif; font-weight: 700; font-size: 23px; line-height: 1; }
.login-card { width: min(100%, 420px); padding: 42px 44px 32px; border: 1px solid rgba(223, 228, 220, .9); border-radius: 18px; background: rgba(255, 254, 250, .88); box-shadow: 0 24px 70px rgba(32, 61, 57, .09); }
.eyebrow { display: block; color: #718180; font-size: 10px; font-weight: 750; letter-spacing: .13em; line-height: 1.5; }
.login-card h1 { margin: 14px 0 8px; font-size: clamp(25px, 4vw, 30px); line-height: 1.13; letter-spacing: -.045em; font-weight: 620; }
.login-card > p:not(.login-note) { margin: 0 0 28px; color: var(--muted); line-height: 1.65; }
.login-card label { display: block; margin: 0 0 8px; color: var(--ink-soft); font-size: 12px; font-weight: 650; }
.login-card input { width: 100%; height: 46px; padding: 0 13px; border: 1px solid var(--line-dark); border-radius: 8px; background: #fff; color: var(--ink); }
.button { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 13px; padding: 0 15px; border: 1px solid transparent; border-radius: 7px; text-decoration: none; cursor: pointer; font-size: 12px; font-weight: 650; transition: background .16s, transform .16s, border-color .16s; }
.button:hover { transform: translateY(-1px); }
.button.primary { color: #fff; background: var(--teal); }
.button.primary:hover { background: var(--teal-dark); }
.button.secondary { color: var(--ink-soft); background: var(--surface); border-color: var(--line-dark); }
.button.secondary:hover { border-color: #aebdb6; background: #fff; }
.login-submit { width: 100%; margin-top: 14px; height: 46px; }
.login-submit:disabled { opacity: .62; cursor: wait; }
.form-error { min-height: 17px; margin: 9px 0 0; color: #a44636; font-size: 12px; }
.login-note { margin: 8px 0 0; padding-top: 20px; border-top: 1px solid var(--line); color: #7b8988; font-size: 11px; }
.login-note span { margin-right: 7px; color: var(--teal); font-size: 16px; vertical-align: -1px; }
.login-caption { position: absolute; bottom: 28px; color: #929e99; font-size: 9px; font-weight: 700; letter-spacing: .15em; }
.app-shell { min-height: 100vh; }
.sidebar { width: 228px; position: fixed; inset: 0 auto 0 0; z-index: 30; display: flex; flex-direction: column; padding: 27px 17px 17px; background: #f0f1eb; border-right: 1px solid #e4e8e0; }
.brand { display: flex; align-items: center; gap: 10px; margin: 0 0 49px 5px; color: var(--ink); text-decoration: none; font-weight: 750; font-size: 17px; letter-spacing: -.045em; }
.workspace-label { padding: 0 12px; margin: 0 0 10px; color: #8a9692; font-size: 9px; font-weight: 750; letter-spacing: .14em; }
.primary-nav { display: grid; gap: 4px; }
.nav-item { width: 100%; height: 42px; display: flex; align-items: center; gap: 12px; padding: 0 12px; border: 0; border-radius: 7px; color: #637372; background: transparent; text-align: left; cursor: pointer; font-size: 12px; font-weight: 560; }
.nav-item:hover { background: rgba(255,255,255,.54); color: var(--ink); }
.nav-item.active { color: var(--teal-dark); background: #deebe6; font-weight: 690; }
.nav-icon { width: 17px; font-size: 17px; line-height: 1; text-align: center; }
.nav-count { margin-left: auto; min-width: 20px; height: 20px; display: inline-grid; place-items: center; padding: 0 5px; border-radius: 99px; color: #8e543b; background: #f1ddd1; font-size: 10px; font-weight: 700; }
.sidebar-bottom { margin-top: auto; }
.read-only { display: flex; align-items: center; gap: 8px; padding: 13px 11px; margin: 0 0 9px; border-bottom: 1px solid #dfe4dc; color: #74827e; font-size: 10px; }
.read-only-dot, .live-dot, .session-status > span { width: 7px; height: 7px; border-radius: 50%; background: #56a38b; box-shadow: 0 0 0 3px rgba(86,163,139,.12); }
.profile-button { width: 100%; display: flex; align-items: center; gap: 10px; padding: 8px 8px; border: 0; border-radius: 7px; background: transparent; text-align: left; cursor: pointer; }
.profile-button:hover { background: rgba(255,255,255,.65); }
.avatar { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: #376660; background: #d9e9e2; font-weight: 700; font-size: 12px; }
.profile-copy { display: grid; gap: 2px; }
.profile-copy strong { font-size: 11px; font-weight: 700; }
.profile-copy small { color: #86918e; font-size: 10px; }
.profile-menu { margin-left: auto; color: #9ba5a0; font-size: 12px; }
.main-area { min-height: 100vh; margin-left: 228px; display: flex; flex-direction: column; }
.topbar { height: 62px; flex: 0 0 62px; display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(24px, 4vw, 58px); border-bottom: 1px solid #e9ebe4; background: rgba(250,250,246,.64); }
.breadcrumb { display: flex; align-items: center; gap: 10px; color: #8a9692; font-size: 11px; }
.breadcrumb strong { color: #495d5e; font-weight: 630; }
.crumb-sep { color: #bdc5be; }
.topbar-actions { display: flex; align-items: center; gap: 18px; }
.session-status { display: flex; align-items: center; gap: 9px; color: #72817c; font-size: 10px; }
.session-status > span { width: 6px; height: 6px; }
.icon-action { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 7px; color: #71827d; background: #fffefa; cursor: pointer; font-size: 18px; }
.icon-action:hover { color: var(--teal); border-color: #bed0c8; }
.icon-action.is-loading { animation: rotate .8s linear infinite; }
@keyframes rotate { to { transform: rotate(360deg); } }
.content { width: min(100%, 1300px); flex: 1; padding: 42px clamp(24px, 4vw, 58px) 52px; margin: 0 auto; }
.view { display: none; animation: appear .25s ease-out; }
.view.active { display: block; }
@keyframes appear { from { opacity: .2; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.page-heading h1 { margin: 8px 0 7px; font-size: clamp(25px, 3vw, 32px); line-height: 1.08; letter-spacing: -.05em; font-weight: 640; }
.page-heading p { margin: 0; color: #7c8b89; font-size: 12px; line-height: 1.6; }
.heading-period { margin-left: 10px; color: #879592; font-size: 13px; font-weight: 450; letter-spacing: -.01em; vertical-align: 3px; }
.heading-meta { display: flex; align-items: center; gap: 9px; padding-bottom: 4px; color: #82908b; font-size: 10px; white-space: nowrap; }
.live-dot { width: 6px; height: 6px; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 13px; margin-bottom: 17px; }
.metric-card { min-height: 116px; padding: 17px 18px 14px; border: 1px solid #e8eae3; border-radius: 9px; background: var(--surface); box-shadow: 0 3px 9px rgba(33,50,48,.018); }
.metric-card.metric-accent { background: #eff5f0; border-color: #e0ebe3; }
.metric-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; }
.metric-label { color: #71817d; font-size: 10px; font-weight: 620; }
.metric-icon { color: #8aa39a; font-size: 15px; }
.metric-value { display: block; margin-bottom: 3px; font-size: 27px; font-weight: 580; letter-spacing: -.055em; line-height: 1; }
.metric-hint { color: #75827d; font-size: 9px; }
.overview-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(260px, .8fr); gap: 15px; }
.card { min-width: 0; border: 1px solid #e8eae3; border-radius: 9px; background: var(--surface); box-shadow: var(--shadow); }
.activity-card, .source-card, .recent-card, .health-card { padding: 20px 21px; }
.card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.card-heading h2 { margin: 5px 0 0; font-size: 15px; line-height: 1.25; font-weight: 630; letter-spacing: -.025em; }
.subtle-chip { display: inline-flex; align-items: center; min-height: 23px; padding: 0 8px; border-radius: 99px; color: #72817c; background: #f2f3ee; font-size: 9px; white-space: nowrap; }
.chart-wrap { min-height: 201px; margin: 16px 0 2px; }
.chart-wrap svg { width: 100%; height: 202px; overflow: visible; display: block; }
.chart-wrap.tall { min-height: 265px; }
.chart-wrap.tall svg { height: 265px; }
.chart-gridline { stroke: #edf0eb; stroke-width: 1; }
.chart-axis { fill: #98a4a0; font: 10px ui-sans-serif,system-ui,sans-serif; }
.chart-bar { fill: #4c9e8c; }
.chart-point { fill: #d2e3db; stroke: #fffefa; stroke-width: 2; }
.chart-legend { display: flex; gap: 17px; color: #8b9793; font-size: 9px; }
.chart-legend span { display: flex; align-items: center; gap: 6px; }
.legend-dot { width: 7px; height: 7px; display: inline-block; border-radius: 2px; }
.legend-dot.teal { background: #4c9e8c; }
.legend-dot.pale { background: #d2e3db; border-radius: 50%; }
.card-mark { color: #8da49a; font-size: 16px; }
.breakdown-list { display: grid; gap: 14px; margin: 20px 0 16px; }
.breakdown-top { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 7px; }
.breakdown-name { color: #596b69; font-size: 10px; }
.breakdown-value { color: #344c4d; font-size: 10px; font-weight: 650; }
.bar-track { height: 4px; overflow: hidden; border-radius: 99px; background: #eef0eb; }
.bar-fill { height: 100%; display: block; border-radius: inherit; fill: #63a697; }
.tone-1 { fill: #284e59; }.tone-2 { fill: #b6a66f; }.tone-3 { fill: #b76f52; }
.tone-1 { background: #284e59; }.tone-2 { background: #b6b58f; }.tone-3 { background: #c48b6b; }
.card-footnote { margin-top: 14px; color: #75827d; font-size: 9px; line-height: 1.55; }
.recent-card { grid-column: 1; }
.text-link { padding: 3px 0; border: 0; color: var(--teal); background: transparent; font-size: 10px; font-weight: 650; cursor: pointer; }
.text-link:hover { color: var(--teal-dark); }
.capture-list { display: grid; }
.capture-list.compact { margin-top: 12px; }
.capture-item { width: 100%; min-width: 0; display: flex; align-items: center; gap: 12px; padding: 14px 5px; border: 0; border-bottom: 1px solid #eff0ea; background: transparent; text-align: left; cursor: pointer; }
.capture-item:last-child { border-bottom: 0; }
.capture-item:hover .capture-title { color: var(--teal-dark); }
.capture-avatar { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border-radius: 9px; color: #49766a; background: #e8f0eb; font-size: 12px; font-weight: 650; }
.capture-main { min-width: 0; flex: 1; display: grid; gap: 5px; }
.capture-title-line { min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.capture-title { overflow: hidden; color: #2d4245; font-size: 11px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.capture-subtitle { overflow: hidden; color: #8d9a95; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.capture-meta { flex: 0 0 auto; display: grid; justify-items: end; gap: 5px; color: #919d98; font-size: 9px; }
.status-pill { min-height: 19px; display: inline-flex; align-items: center; padding: 0 7px; border-radius: 99px; font-size: 8px; font-weight: 650; white-space: nowrap; }
.status-review { color: #965738; background: #f7ece1; }.status-new { color: #327369; background: #e6f2ed; }.status-enriched { color: #53677b; background: #edf1f5; }.status-neutral { color: #74827d; background: #f0f2ed; }
.health-card { grid-column: 2; grid-row: 2; align-self: start; }
.health-icon { color: #729b8a; font-size: 18px; }
.backup-summary { min-height: 80px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 9px; }
.backup-badge { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 670; }
.backup-badge::before { content: ''; width: 7px; height: 7px; display: inline-block; border-radius: 50%; background: #7c9a80; }
.backup-good { color: #407261; }.backup-good::before { background: #59a084; }.backup-warn { color: #a46543; }.backup-warn::before { background: #ca895a; }.backup-neutral { color: #7c8985; }.backup-neutral::before { background: #aab3ad; }
.backup-age { color: #75827d; font-size: 10px; }
.inline-empty { padding: 15px 0; color: #75827d; font-size: 10px; line-height: 1.5; }
.empty-state { padding: 30px 16px; color: #929f99; font-size: 11px; text-align: center; line-height: 1.6; }
.loading-state { min-height: 250px; display: flex; align-items: center; justify-content: center; gap: 10px; color: #81908a; font-size: 11px; }
.spinner { width: 15px; height: 15px; display: inline-block; border: 2px solid #dce6df; border-top-color: var(--teal); border-radius: 50%; animation: rotate .8s linear infinite; }
.global-error { margin: 18px clamp(24px,4vw,58px) 0; padding: 11px 14px; border: 1px solid #efd5c8; border-radius: 7px; color: #9b553e; background: #fbf0e9; font-size: 11px; line-height: 1.5; }
.app-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px clamp(24px,4vw,58px) 19px; border-top: 1px solid #e9ebe4; color: #a1aaa4; font-size: 8px; letter-spacing: .09em; }
.app-footer span:last-child { color: #99a39e; font-size: 9px; letter-spacing: 0; }
.app-footer i { padding: 0 4px; color: #c2c9c1; font-style: normal; }
.filter-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 28px 0 13px; }
.filter-pills { display: flex; gap: 5px; overflow: auto; }
.filter-pill { min-height: 31px; flex: 0 0 auto; padding: 0 11px; border: 1px solid transparent; border-radius: 6px; color: #7e8c87; background: transparent; cursor: pointer; font-size: 10px; }
.filter-pill:hover { color: var(--ink-soft); background: #eeefea; }
.filter-pill.active { border-color: #e1e8e1; color: #376e65; background: #edf4ef; font-weight: 650; }
.result-count { color: #61736f; font-size: 10px; font-weight: 640; white-space: nowrap; }
.feed-card { padding: 5px 22px 0; }
.feed-card .capture-item { padding: 16px 4px; }
.pagination { min-height: 51px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-top: 1px solid #eff0eb; color: #899791; font-size: 9px; }
.pagination > div { display: flex; gap: 6px; }
.page-button { width: 28px; height: 27px; display: grid; place-items: center; border: 1px solid #e7eae3; border-radius: 6px; color: #70817b; background: #fffefa; cursor: pointer; }
.page-button:hover:not(:disabled) { border-color: #b9cec5; color: var(--teal); }
.page-button:disabled { color: #c2cac4; cursor: default; background: #fafaf7; }
.business-toolbar { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-items: center; gap: 10px; padding: 10px; margin: 27px 0 14px; }
.business-toolbar .select-field { min-width: 0; display: block; }
.business-toolbar .select-field input, .business-toolbar .select-field select { width: 100%; min-width: 0; max-width: none; height: 34px; padding: 0 9px; border: 1px solid #e8ebe4; border-radius: 6px; color: #586a65; background: #fffefa; font-size: 10px; }
.bar-track-svg { width: 100%; height: 4px; display: block; overflow: visible; }
@media (max-width: 1000px) { .business-toolbar { grid-template-columns: repeat(3,minmax(0,1fr)); } }
.secondary-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: -4px 0 17px; }
.secondary-metrics .metric-card { min-height: 76px; padding: 11px 14px; background: #f8f8f3; box-shadow: none; }
.secondary-metrics .metric-top { margin-bottom: 4px; }
.secondary-metrics .metric-value { font-size: 20px; }
.secondary-metrics .metric-hint { font-size: 8px; }
.geo-heading { padding-top: 20px; }
@media (max-width: 680px) { .business-toolbar { grid-template-columns: repeat(2,minmax(0,1fr)); } .business-toolbar .search-field { grid-column: 1 / -1; } .secondary-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin: 0 0 12px; } .secondary-metrics .metric-card { min-height: 72px; padding: 10px; } .business-toolbar .select-field { flex-basis: calc(50% - 8px); } }
.search-field { min-width: 150px; flex: 1; display: flex; align-items: center; gap: 9px; padding: 0 10px; color: #91a099; }
.search-field span { font-size: 19px; }
.search-field input { width: 100%; height: 34px; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 11px; }
.search-field input::placeholder { color: #a4afaa; }
.select-field select { max-width: 180px; height: 34px; padding: 0 25px 0 10px; border: 1px solid #e8ebe4; border-radius: 6px; color: #70817c; background: #fffefa; font-size: 10px; }
.business-layout { display: grid; grid-template-columns: minmax(0,1fr) 205px; gap: 15px; align-items: start; }
.business-table-card { padding: 0 18px; }
.table-meta { height: 49px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #eff0eb; }
.quiet-label { color: #74817c; font-size: 9px; }
.business-list { display: grid; }
.business-row { width: 100%; min-height: 61px; display: grid; grid-template-columns: minmax(145px,1.2fr) minmax(115px,1fr) minmax(100px,.8fr) minmax(75px,.6fr); align-items: center; gap: 13px; padding: 8px 4px; border: 0; border-bottom: 1px solid #f0f1eb; background: transparent; cursor: pointer; text-align: left; }
.business-row:last-child { border-bottom: 0; }
.business-row:hover { background: #fcfcf8; }
.business-name-cell { min-width: 0; display: flex; align-items: center; gap: 9px; }
.business-name-cell strong { overflow: hidden; color: #31484a; font-size: 10px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.business-avatar { width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center; border-radius: 8px; color: #5a8274; background: #eef3ed; font-size: 10px; font-weight: 700; }
.business-location, .business-latest { overflow: hidden; color: #87948f; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.business-tags { display: flex; gap: 4px; overflow: hidden; }
.tag-chip { max-width: 110px; overflow: hidden; padding: 4px 7px; border-radius: 4px; color: #74847c; background: #f1f3ed; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.business-aside { display: grid; gap: 12px; }
.aside-note { padding: 14px; border: 1px solid #e7e9e2; border-radius: 8px; background: #f1f2eb; }
.aside-note-icon { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; color: #738b80; background: #e1e9df; font-size: 10px; font-weight: 700; }
.aside-note p { margin: 10px 0 0; color: #778680; font-size: 10px; line-height: 1.65; }
.mini-stat { padding: 15px; border: 1px solid #e7e9e2; border-radius: 8px; background: var(--surface); }
.mini-stat strong { display: block; margin: 12px 0 3px; font-size: 25px; font-weight: 570; letter-spacing: -.05em; }
.mini-stat small { color: #929e98; font-size: 9px; }
.quality-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; margin: 26px 0 17px; }
.quality-card { padding: 20px 22px 4px; }
.quality-list { margin-top: 14px; }
.quality-item { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 20px; padding: 15px 4px; border-top: 1px solid #eff0eb; }
.quality-copy { min-width: 0; }
.quality-copy strong { color: #35494b; font-size: 11px; font-weight: 650; }
.quality-copy p { overflow: hidden; margin: 5px 0 0; color: #8e9a95; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.quality-meta { display: flex; align-items: center; gap: 11px; color: #98a39e; font-size: 9px; white-space: nowrap; }
.evidence-count { color: #85938d; font-size: 9px; white-space: nowrap; }
.quality-empty { padding: 36px 12px; color: #81928a; text-align: center; font-size: 12px; }
.quality-footnote { margin: 14px 2px; color: #9aa49e; font-size: 10px; line-height: 1.6; }
.trend-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(250px,.85fr); gap: 15px; }
.trend-card { padding: 20px 21px; }
.trend-card.wide { grid-column: 1 / -1; }
.tag-trends { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 22px; }
.tag-row { min-width: 100px; display: flex; justify-content: space-between; gap: 9px; align-items: center; padding: 5px; border-radius: 6px; background: #fafaf6; }
.tag-row strong { padding-right: 5px; color: #73827d; font-size: 9px; }
.tag-tone-1 { color: #627a75; background: #edf2ec; }.tag-tone-2 { color: #816f56; background: #f3efe4; }.tag-tone-3 { color: #637586; background: #eef1f4; }
.detail-dialog { width: min(680px, calc(100vw - 24px)); max-width: 680px; max-height: min(86vh, 900px); padding: 0; overflow: auto; border: 1px solid #e2e7df; border-radius: 13px; color: var(--ink); background: var(--surface); box-shadow: 0 25px 90px rgba(15,36,37,.22); }
.detail-dialog::backdrop { background: rgba(21,39,40,.34); backdrop-filter: blur(2px); }
.dialog-top { position: sticky; top: 0; z-index: 1; min-height: 54px; display: flex; align-items: center; justify-content: space-between; padding: 0 23px; border-bottom: 1px solid #eff0eb; background: rgba(255,254,250,.95); }
.dialog-close { width: 30px; height: 30px; border: 0; border-radius: 6px; color: #82918b; background: transparent; cursor: pointer; font-size: 22px; }
.dialog-close:hover { color: var(--ink); background: #f2f3ee; }
.detail-title { margin: 21px 24px 0; font-size: 22px; font-weight: 620; letter-spacing: -.04em; }
.profile-body { padding: 10px 24px 24px; }
.profile-section { padding: 16px 0 11px; border-bottom: 1px solid #eff0eb; }
.profile-section:last-child { border-bottom: 0; }
.profile-section h3 { margin: 0 0 12px; color: #6d7e78; font-size: 9px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.profile-field { display: grid; grid-template-columns: 125px minmax(0,1fr); gap: 14px; padding: 6px 0; }
.profile-field-label { color: #93a09a; font-size: 10px; }
.profile-field-value { overflow-wrap: anywhere; color: #3b5051; font-size: 11px; }
.muted-copy { margin: 0; color: #98a49e; font-size: 10px; line-height: 1.6; }
.history-item { display: grid; gap: 5px; padding: 10px 0; border-top: 1px solid #f0f1eb; color: #81908a; font-size: 10px; }
.history-item:first-of-type { border-top: 0; }
.history-item strong { color: #405658; font-weight: 650; }
.history-item p { margin: 2px 0 0; color: #6d7f79; line-height: 1.6; white-space: pre-wrap; }
.document-link { display: flex; align-items: center; gap: 9px; padding: 9px 10px; margin: 6px 0; border: 1px solid #e9ece5; border-radius: 6px; color: #4b6964; background: #fcfcf8; text-decoration: none; }
.document-link:hover { border-color: #bdd1c7; background: #f5f8f2; }
.document-icon { font-size: 13px; }.document-copy { flex: 1; overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.document-meta { color: #98a39c; font-size: 9px; }
.toast { position: fixed; right: 20px; bottom: 20px; z-index: 50; max-width: min(360px, calc(100vw - 40px)); padding: 12px 16px; border-radius: 7px; color: #fff; background: #28494a; box-shadow: 0 8px 24px rgba(20,40,38,.2); font-size: 11px; opacity: 0; pointer-events: none; transform: translateY(8px); transition: opacity .18s, transform .18s; }
.toast.show { opacity: 1; transform: translateY(0); }
.mobile-menu, .mobile-overlay { display: none; }
@media (min-width: 1500px) { .content { padding-top: 51px; } }
@media (max-width: 1120px) {
  .sidebar { width: 205px; }.main-area { margin-left: 205px; }
  .content { padding-left: 30px; padding-right: 30px; }
  .topbar { padding-left: 30px; padding-right: 30px; }
  .global-error { margin-left: 30px; margin-right: 30px; }
  .overview-grid { grid-template-columns: minmax(0,1.2fr) minmax(245px,.8fr); }
  .business-layout { grid-template-columns: minmax(0,1fr) 170px; }
}
@media (max-width: 850px) {
  .sidebar { width: 228px; transform: translateX(-100%); transition: transform .22s ease; box-shadow: 15px 0 35px rgba(26,46,45,.1); }
  .sidebar.mobile-open { transform: translateX(0); }
  .main-area { margin-left: 0; }
  .mobile-menu { width: 30px; height: 30px; display: grid; align-content: center; justify-content: center; gap: 5px; padding: 0; border: 1px solid var(--line); border-radius: 6px; background: #fffefa; cursor: pointer; }
  .mobile-menu span { width: 13px; height: 1.5px; background: #58706b; }
  .topbar { justify-content: flex-start; gap: 13px; }
  .topbar-actions { margin-left: auto; }
  .mobile-overlay.show { position: fixed; inset: 0; z-index: 20; display: block; background: rgba(23,43,43,.28); }
}
@media (max-width: 680px) {
  .content { padding: 30px 18px 38px; }
  .topbar { height: 56px; flex-basis: 56px; padding: 0 18px; }
  .global-error { margin: 13px 18px 0; }
  .page-heading { align-items: flex-start; margin-bottom: 21px; }
  .page-heading > .button { min-height: 34px; padding: 0 10px; font-size: 10px; white-space: nowrap; }
  .page-heading h1 { font-size: 27px; }.page-heading p { max-width: 460px; font-size: 11px; }
  .heading-meta { display: none; }
  .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin-bottom: 12px; }
  .metric-card { min-height: 101px; padding: 13px; }.metric-value { font-size: 24px; }
  .overview-grid { grid-template-columns: 1fr; gap: 11px; }
  .activity-card, .source-card, .recent-card, .health-card { grid-column: auto; grid-row: auto; padding: 16px; }
  .chart-wrap { min-height: 180px; }.chart-wrap svg { height: 180px; }
  .chart-wrap.tall, .chart-wrap.tall svg { min-height: 220px; height: 220px; }
  .app-footer { padding: 14px 18px; }.app-footer span:last-child { display: none; }
  .business-layout { grid-template-columns: 1fr; }.business-aside { grid-template-columns: 1fr 1fr; }
  .business-toolbar { flex-wrap: wrap; margin-top: 20px; }.search-field { flex-basis: 100%; border-bottom: 1px solid #eff0eb; }.select-field { flex: 1; }.select-field select { width: 100%; max-width: none; }
  .business-table-card { padding: 0 11px; }.business-row { grid-template-columns: minmax(0,1.2fr) minmax(95px,.8fr) auto; gap: 8px; }.business-location { display: none; }.business-tags { max-width: 125px; }.business-latest { font-size: 8px; }
  .quality-summary { gap: 8px; }.quality-summary .metric-card { padding: 12px 10px; }.quality-summary .metric-label { font-size: 9px; }.quality-summary .metric-hint { line-height: 1.4; }
  .quality-item { grid-template-columns: minmax(0,1fr) auto; gap: 6px 10px; }.quality-meta { grid-column: 1; flex-wrap: wrap; gap: 6px; }.evidence-count { grid-column: 2; grid-row: 1 / span 2; }
  .trend-grid { grid-template-columns: 1fr; }.trend-card.wide { grid-column: auto; }
}
@media (max-width: 420px) {
  .login-card { padding: 34px 25px 26px; }.login-brand { left: 22px; top: 24px; }
  .content { padding-left: 14px; padding-right: 14px; }.topbar { padding: 0 14px; }.global-error { margin-left: 14px; margin-right: 14px; }
  .page-heading { gap: 10px; }.page-heading > .button { gap: 6px; padding: 0 8px; font-size: 9px; }
  .heading-period { display: block; margin: 5px 0 0; font-size: 10px; vertical-align: initial; }
  .session-status { font-size: 9px; }.topbar-actions { gap: 10px; }
  .metric-card { padding: 12px 10px; }.metric-hint { font-size: 8px; }
  .business-row { grid-template-columns: minmax(0,1fr) auto; }.business-tags { display: none; }
  .filter-toolbar { align-items: flex-start; flex-direction: column; }.filter-pills { width: 100%; }
  .quality-summary { grid-template-columns: 1fr; }.quality-summary .metric-card { min-height: 82px; }
  .profile-body { padding-left: 17px; padding-right: 17px; }.dialog-top { padding-left: 17px; padding-right: 17px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }





/* Readable operational typography and touch targets, including narrow phones. */
:root { --muted: #526966; }
body { font-size: 15px; }
.metric-label, .metric-hint, .secondary-metrics .metric-hint, .quality-summary .metric-label,
.quality-summary .metric-hint, .capture-subtitle, .capture-meta, .card-footnote, .breakdown-name,
.breakdown-value, .backup-age, .heading-meta, .business-latest, .subtle-chip, .session-status,
.result-count, .profile-field-label, .document-meta, .chart-legend, .heading-period, .quiet-label,
.business-toolbar .select-field input, .business-toolbar .select-field select { font-size: 12px; line-height: 1.5; }
.page-heading p, .nav-item, .capture-title, .business-name-cell, .profile-field-value, .button,
.search-field input, .quality-copy, .quality-meta { font-size: 14px; line-height: 1.5; }
.metric-hint, .card-footnote, .capture-meta, .backup-age, .business-latest, .heading-period,
.heading-meta, .result-count, .quiet-label, .document-meta { color: #526966; }
.eyebrow, .workspace-label { color: #526966; }
.chart-axis { fill: #526966; font-size: 12px; }
.chart-point { fill: #345c66; stroke: #fffefa; stroke-width: 1.5px; }
.legend-dot.pale { background: #345c66; }
.secondary-metrics .metric-card { min-height: 96px; }
.metric-value { margin: 8px 0; }
.capture-details { display: block; color: #526966; font-size: 13px; margin-top: 5px; line-height: 1.5; overflow-wrap: anywhere; }
.capture-main, .capture-meta, .breakdown-name { min-width: 0; overflow-wrap: anywhere; }
.quality-summary { grid-template-columns: repeat(4,minmax(0,1fr)); }
.quality-summary [role=button], .quality-item[role=button] { cursor: pointer; }
[role=button]:focus-visible { outline: 3px solid #16766e; outline-offset: 3px; }
.icon-action, .mobile-menu, .page-button, .dialog-close { min-width: 44px; min-height: 44px; }
.filter-pill { min-height: 44px; font-size: 12px; }
@media (max-width: 680px) {
  .quality-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .page-heading { flex-wrap: wrap; }
  .page-heading > .button { font-size: 12px; min-height: 44px; }
  .business-toolbar .select-field input, .business-toolbar .select-field select, .search-field input, #password { min-height: 44px; font-size: 16px; }
  .profile-field { grid-template-columns: 1fr; gap: 4px; }
  .capture-item { align-items: start; }
  .capture-meta { font-size: 12px; }
  .session-status { font-size: 11px; }
  .chart-wrap svg { height: 230px; }
  .filter-pills { flex-wrap: wrap; overflow: visible; }
}
