/* ReviewPilot workspace — paper, ink and a single blue action accent. */
:root {
  --canvas: #f6f5f4;
  --paper: #fff;
  --ink: #111;
  --secondary: #615d59;
  --quiet: #757575;
  --line: rgba(0, 0, 0, .08);
  --blue: #0075de;
  --sky: #e6f3fe;
  --peach: #f6d5b8;
  --platform-primary: var(--blue);
  --platform-muted: var(--secondary);
  --platform-border: var(--line);
  --platform-surface: var(--canvas);
  --green: var(--blue);
  --border: var(--line);
  --muted: var(--quiet);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--canvas);
}
.reviewpilot { background: var(--canvas); color: var(--ink); font-size: 14px; line-height: 1.5; }
.reviewpilot h1, .reviewpilot h2, .reviewpilot h3 { font-family: inherit; color: var(--ink); }
.reviewpilot h1 { font-size: 40px; line-height: 1.15; letter-spacing: -1.5px; font-weight: 650; margin: 0 0 12px; }
.reviewpilot h2 { font-size: 20px; line-height: 1.35; letter-spacing: -.45px; font-weight: 600; }
.reviewpilot h3 { font-size: 16px; line-height: 1.4; letter-spacing: -.2px; font-weight: 600; }
.reviewpilot p { line-height: 1.65; }
.reviewpilot button, .reviewpilot a, .reviewpilot input, .reviewpilot select, .reviewpilot textarea, .reviewpilot summary { transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease; }
.reviewpilot :focus-visible, .reviewpilot #brand-root :focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.reviewpilot input::placeholder, .reviewpilot textarea::placeholder { color: #92908e; opacity: 1; }
.reviewpilot input, .reviewpilot select, .reviewpilot textarea { accent-color: var(--blue); }
.reviewpilot input:not([type=checkbox]):not([type=radio]), .reviewpilot select, .reviewpilot textarea {
  border: 1px solid rgba(0, 0, 0, .14); border-radius: 8px; background: var(--paper); color: var(--ink);
  font: inherit; font-weight: 400; min-width: 0; padding: 10px 12px; line-height: 1.5;
}
.reviewpilot select, .reviewpilot input:not([type=checkbox]):not([type=radio]) { min-height: 44px; }
.reviewpilot textarea { resize: vertical; width: 100%; line-height: 1.65; }
.reviewpilot input:focus, .reviewpilot textarea:focus, .reviewpilot select:focus { border-color: var(--blue); outline: 2px solid var(--sky); outline-offset: 1px; }
.reviewpilot .button { min-height: 40px; padding: 10px 16px; border-radius: 8px; font-size: 14px; line-height: 1.3; font-weight: 550; gap: 8px; box-shadow: none; white-space: normal; }
.reviewpilot .button.primary { color: #fff; background: var(--blue); border-color: var(--blue); }
.reviewpilot .button.primary:hover:not(:disabled) { background: #0067c4; border-color: #0067c4; }
.reviewpilot .button.secondary { background: var(--paper); border-color: rgba(0, 0, 0, .13); color: var(--ink); }
.reviewpilot .button.secondary:hover:not(:disabled) { background: #eeedeb; border-color: rgba(0, 0, 0, .22); }
.reviewpilot .button:hover:not(:disabled) { filter: none; }
.reviewpilot .button:disabled { opacity: .45; }
.reviewpilot .text-button { display: inline-flex; color: var(--blue); font-size: 13px; line-height: 1.4; padding: 8px 0; font-weight: 500; }
.reviewpilot .text-button:hover { color: #005fae; text-decoration: underline; text-underline-offset: 3px; }
.reviewpilot .danger-button { color: #b83b2b !important; border-color: #edc8c0 !important; }
.ui-icon { display: block; width: 20px; height: 20px; flex: 0 0 auto; }
.reviewpilot .button .ui-icon { width: 17px; height: 17px; }
.reviewpilot .muted, .reviewpilot .hint, .reviewpilot .footnote { color: var(--secondary); font-size: 12px; line-height: 1.6; }
.reviewpilot .eyebrow { color: var(--quiet); font-size: 10px; letter-spacing: 1.3px; font-weight: 600; }
.reviewpilot .logo { color: var(--ink); font-size: 22px; letter-spacing: -.8px; font-weight: 700; gap: 10px; }
.reviewpilot .logo-mark { width: 32px; height: 32px; border-radius: 8px; background: var(--ink); color: white; font-size: 28px; font-weight: 400; }

/* Workspace navigation. */
.reviewpilot .sidebar { position: fixed; inset: 0 auto 0 0; width: 240px; padding: 26px 16px 16px; background: var(--canvas); border-right: 1px solid var(--line); display: flex; flex-direction: column; }
.reviewpilot .sidebar .logo { padding: 0 8px; flex-shrink: 0; }
.reviewpilot .sidebar .workspace { display: block; float: none; background: transparent; border: 0; padding: 0 8px; margin: 30px 0 20px; }
.reviewpilot .workspace-label { display: block; margin-bottom: 8px; color: var(--quiet); font-size: 10px; font-weight: 600; letter-spacing: 1px; }
.reviewpilot .company-picker { display: block; max-width: none; width: 100%; background: white; min-height: 40px; font-size: 13px; padding: 8px 10px; margin: 0; border-color: var(--line); border-radius: 8px; color: var(--ink); font-weight: 500; }
.reviewpilot .sidebar .platform-nav { display: block; flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; margin: 0; padding: 0 0 12px; scrollbar-width: thin; }
.nav-group + .nav-group { margin-top: 22px; }
.nav-group-label { color: #8c8884; font-size: 10px; font-weight: 550; letter-spacing: .8px; margin: 0 12px 8px; }
.reviewpilot .sidebar .nav-item { display: flex; align-items: center; gap: 11px; padding: 8px 12px; min-height: 36px; border-radius: 8px; margin: 2px 0; color: var(--secondary); font-size: 13px; font-weight: 450; white-space: nowrap; }
.reviewpilot .nav-item > span { font-size: inherit; display: inline-flex; align-items: center; }
.reviewpilot .nav-item .ui-icon { width: 18px; height: 18px; }
.reviewpilot .sidebar .nav-item:hover { background: #ebe9e6; color: var(--ink); }
.reviewpilot .sidebar .nav-item.active { background: #e2ecf5; color: #0067c4; font-weight: 550; }
.reviewpilot .platform-account { display: flex; align-items: center; gap: 10px; padding: 16px 8px 0; margin-top: 8px; border-top: 1px solid var(--line); font-size: 12px; overflow-wrap: anywhere; flex-shrink: 0; }
.account-avatar { display: grid; place-items: center; background: #e4e1dc; width: 32px; height: 32px; border-radius: 50%; font-weight: 600; flex-shrink: 0; }
.reviewpilot .platform-account > div { min-width: 0; flex: 1; }
.reviewpilot .platform-account strong { display: block; font-size: 12px; font-weight: 550; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 125px; }
.reviewpilot .platform-account small { display: block; font-size: 11px; color: var(--quiet); }
.reviewpilot .platform-account button { margin: 0 0 0 auto; font-size: 11px; color: var(--secondary); }
.reviewpilot main { margin-left: 240px; min-width: 0; }
.reviewpilot .topbar { height: 64px; padding: 0 40px; background: var(--canvas); border-bottom: 1px solid var(--line); font-size: 13px; gap: 16px; }
.reviewpilot .topbar > span:first-child { color: var(--secondary); }
.reviewpilot .content, .reviewpilot .platform-content, .reviewpilot .local-content { max-width: 1440px; padding: 36px 40px 24px; margin: auto; }
.reviewpilot .content .page-heading { margin-bottom: 28px; gap: 24px; align-items: center; }
.reviewpilot .page-heading h1 { margin: 0 0 10px; }
.reviewpilot .page-heading p { color: var(--secondary); font-size: 14px; line-height: 1.6; margin: 0; }
.reviewpilot .page-heading .eyebrow { margin-bottom: 10px; }
.reviewpilot footer { color: var(--quiet); font-size: 12px; padding: 28px 0 8px; line-height: 1.6; }
.reviewpilot footer span { color: var(--quiet); font-size: 12px; }
.reviewpilot .platform-heading-actions, .reviewpilot .platform-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

/* Company overview. */
.overview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 28px; }
.overview-card { background: white; border: 1px solid var(--line); border-radius: 12px; padding: 22px 24px; }
.overview-card > div { display: flex; gap: 9px; align-items: center; font-size: 13px; color: var(--secondary); }
.overview-card > div .ui-icon { width: 18px; height: 18px; }
.overview-card > strong { display: block; font-size: 44px; line-height: 1.1; letter-spacing: -1.6px; font-weight: 550; margin: 18px 0 8px; }
.overview-card > p { margin: 0; font-size: 12px; color: var(--secondary); }
.overview-sky { background: var(--sky); border-color: transparent; }
.overview-peach { background: #f8e5d4; border-color: transparent; }
.reviewpilot .company-filter-panel { padding: 20px 24px; margin-bottom: 32px; }
.company-search-field { flex: 1; min-width: 200px; }
.reviewpilot .company-filter-panel .platform-actions { align-items: flex-end; }
.reviewpilot .company-search-field > span { display: none; }
.reviewpilot .company-filter-panel select { min-width: 180px; }
.section-label { display: flex; align-items: center; gap: 16px; justify-content: space-between; margin-bottom: 18px; }
.section-label h2 { display: flex; align-items: center; gap: 10px; }
.section-label h2 > span { font-size: 12px; letter-spacing: 0; font-weight: 500; background: #e8e6e2; color: var(--secondary); border-radius: 9999px; padding: 2px 8px; }
.section-label p { margin: 0; color: var(--quiet); font-size: 12px; }
.reviewpilot .company-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(285px, 1fr)); gap: 20px; }
.reviewpilot .company-card { background: white; border: 1px solid var(--line); border-radius: 12px; padding: 24px; display: flex; flex-direction: column; gap: 0; min-width: 0; box-shadow: none; }
.company-card-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.company-initial { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 10px; background: #e6f3fe; color: #254b6b; font-size: 15px; font-weight: 600; letter-spacing: -.5px; }
.initial-1 { background: #fae5d4; color: #7e5231; }
.initial-2 { background: #eee9f5; color: #6a547e; }
.initial-3 { background: #fff0c1; color: #7e641d; }
.reviewpilot .company-card h2 { margin: 0 0 5px; font-size: 21px; letter-spacing: -.5px; }
.reviewpilot .company-card-title { overflow-wrap: anywhere; }
.reviewpilot .company-card p { margin: 0; font-size: 13px; color: var(--secondary); }
.reviewpilot .company-card-title p > span { padding: 0 5px; color: #b4afaa; }
.company-meta { display: flex; justify-content: space-between; gap: 8px; margin: 24px 0 20px; font-size: 12px; color: var(--quiet); }
.company-meta strong { font-size: 12px; color: var(--ink); font-weight: 500; }
.reviewpilot .company-card .card-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; border-top: 1px solid var(--line); padding-top: 20px; margin-bottom: 24px; }
.reviewpilot .card-stats strong { display: block; font-size: 26px; line-height: 1.1; letter-spacing: -.8px; font-weight: 550; margin-bottom: 8px; }
.reviewpilot .card-stats span { color: var(--quiet); font-size: 11px; line-height: 1.4; display: block; }
.company-budget { margin-top: auto; margin-bottom: 24px; }
.company-budget > span { display: flex; justify-content: space-between; gap: 8px; font-size: 11px; color: var(--quiet); margin-bottom: 9px; }
.company-budget strong { color: var(--ink); font-size: 11px; font-weight: 500; }
.company-budget strong span { color: var(--quiet); }
.company-budget meter { display: block; width: 100%; height: 5px; border: 0; background: #eeedeb; border-radius: 9999px; }
.company-budget meter::-webkit-meter-bar { border: 0; background: #eeedeb; height: 5px; border-radius: 9999px; }
.company-budget meter::-webkit-meter-optimum-value { background: var(--blue); border-radius: 9999px; }
.company-budget meter::-moz-meter-bar { background: var(--blue); border-radius: 9999px; }
.reviewpilot .company-card .company-card-notice { padding: 10px 12px; margin: 0 0 16px; background: #fff5dc; border-radius: 8px; font-size: 12px; }
.reviewpilot .company-card footer.company-card-footer { display: flex; justify-content: space-between; gap: 8px; align-items: center; margin: 0; padding: 18px 0 0; border-top: 1px solid var(--line); }
.reviewpilot .company-card-footer .button { font-size: 12px; min-height: 36px; padding: 8px 10px; background: var(--sky); color: #0067c4; border-color: transparent; }
.reviewpilot .company-card-footer .button:hover { background: #d5eafd; }
.reviewpilot .company-card-footer .connection-label { display: flex; align-items: center; gap: 6px; font-size: 11px; line-height: 1.4; color: var(--quiet); margin: 0; }
.connection-label::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: #aaa5a0; flex-shrink: 0; }
.connection-label.is-connected::before { background: #537c5e; }

/* Forms, tables and workflow cards share one quiet surface. */
.reviewpilot .platform-panel, .reviewpilot .readonly-profile, .reviewpilot .job-card, .reviewpilot .settings-card, .reviewpilot .local-help > section { background: white; border: 1px solid var(--line); border-radius: 12px; box-shadow: none; padding: 24px; min-width: 0; }
.reviewpilot .platform-panel { margin-bottom: 24px; }
.reviewpilot .platform-panel h2 { margin: 0 0 18px; font-size: 20px; }
.reviewpilot .platform-panel h3 { margin: 22px 0 12px; }
.reviewpilot .stack { display: grid; gap: 18px; }
.reviewpilot .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.reviewpilot .form-grid .wide { grid-column: 1 / -1; }
.reviewpilot .platform-panel label, .reviewpilot .auth-card label, .reviewpilot .workspace-actions label { display: grid; gap: 8px; font-size: 13px; font-weight: 500; color: var(--ink); }
.reviewpilot .platform-panel input:not([type=checkbox]), .reviewpilot .platform-panel select, .reviewpilot .platform-panel textarea, .reviewpilot .auth-card input, .reviewpilot .workspace-actions textarea, .reviewpilot .workspace-actions select { width: 100%; }
.reviewpilot .platform-panel label.check, .reviewpilot .workspace-actions label.check { display: flex; align-items: flex-start; gap: 10px; font-weight: 400; line-height: 1.6; }
.reviewpilot .check input { width: 17px; height: 17px; margin: 3px 0; flex-shrink: 0; }
.reviewpilot .check-group { display: flex; gap: 18px; flex-wrap: wrap; padding: 12px 0; }
.reviewpilot .platform-panel fieldset { border: 1px solid var(--line); border-radius: 8px; margin: 0; padding: 20px; min-width: 0; }
.reviewpilot .platform-panel legend { padding: 0 8px; font-size: 13px; font-weight: 550; }
.reviewpilot .tag, .reviewpilot .status, .reviewpilot .local-badge { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; color: #50674f; background: #edf2e9; font-size: 11px; font-weight: 500; line-height: 1.4; padding: 4px 9px; border: 0; border-radius: 9999px; }
.reviewpilot .tag.warn, .reviewpilot .local-badge-amber { background: #fff2cc; color: #8b681b; }
.reviewpilot .tag.danger, .reviewpilot .status.risk { background: #fce5df; color: #ad4935; }
.reviewpilot .notice, .reviewpilot .platform-error { padding: 14px 18px; margin-bottom: 20px; border-radius: 8px; line-height: 1.6; font-size: 13px; overflow-wrap: anywhere; }
.reviewpilot .notice { background: var(--sky); border: 1px solid #cde4fa; color: #205a89; }
.reviewpilot .platform-error { background: #fcebe6; border: 1px solid #f2d4ca; color: #a63d2c; }
.reviewpilot .subscription-banner { display: flex; align-items: center; justify-content: space-between; gap: 16px; background: #fff2d5; border: 1px solid #eeddb3; border-radius: 8px; padding: 16px 20px; margin-bottom: 24px; font-size: 13px; line-height: 1.6; }
.reviewpilot .table-scroll { overflow-x: auto; }
.reviewpilot .platform-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.reviewpilot .platform-table th, .reviewpilot .platform-table td { text-align: left; padding: 14px 12px; border-bottom: 1px solid var(--line); vertical-align: top; line-height: 1.6; }
.reviewpilot .platform-table th { color: var(--quiet); font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .6px; white-space: nowrap; }
.reviewpilot .platform-table small { display: block; color: var(--secondary); font-size: 12px; }
.reviewpilot .platform-table button { font-size: 12px; min-height: 34px; padding: 7px 10px; }
.reviewpilot .empty-panel, .reviewpilot .platform-loading { text-align: center; padding: 56px 24px; color: var(--secondary); }
.reviewpilot .empty-panel h2 { color: var(--ink); }
.reviewpilot .secret-link { padding: 20px; margin: 20px 0; border: 1px solid #cde4fa; border-radius: 12px; background: var(--sky); overflow-wrap: anywhere; }
.reviewpilot .secret-link input { margin: 12px 0; }
.reviewpilot .job-card { margin-bottom: 20px; }
.reviewpilot .job-card header { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.reviewpilot .job-card h3 { font-size: 17px; margin: 0; }
.reviewpilot .job-card .button.primary { color: var(--blue); background: var(--sky); border-color: transparent; }
.reviewpilot .job-card .button.primary:hover { background: #d5eafd; }
.reviewpilot .job-text { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.75; font-size: 14px; background: var(--canvas); border-radius: 8px; padding: 18px; }
.reviewpilot .job-meta { color: var(--secondary); font-size: 12px; line-height: 1.7; }
.reviewpilot .job-card details { margin: 16px 0; }
.reviewpilot .job-card details summary, .reviewpilot .workspace-actions summary { cursor: pointer; font-size: 13px; }
.reviewpilot .workspace-actions form, .reviewpilot .workspace-actions details { margin-top: 20px; }
.reviewpilot .workspace-actions button { margin-top: 12px; }
.reviewpilot .compact-code { font-size: 12px; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; max-width: 650px; }
.reviewpilot .platform-main-link { font-size: 13px; color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }

/* Reviews and drafts. */
.reviewpilot .local-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-start; }
.reviewpilot .local-actions .button { font-size: 13px; padding: 10px 14px; }
.reviewpilot .local-sync { background: #eeefed; border: 1px solid var(--line); border-radius: 8px; padding: 12px 18px; font-size: 13px; margin-bottom: 20px; }
.reviewpilot .local-sync-note { color: var(--secondary); font-size: 12px; line-height: 1.6; margin-top: 4px; }
.reviewpilot .local-sync-primary > .muted { font-size: 12px; }
.reviewpilot .local-status-dot { background: #587960; width: 6px; height: 6px; }
.reviewpilot .local-spinner { border-color: #c7dcee; border-top-color: var(--blue); }
.reviewpilot .local-sync-warning, .reviewpilot .local-alert, .reviewpilot .local-inline-warning, .reviewpilot .ai-alert { background: #fff3d9; border-color: #efdfbb; color: #806121; font-size: 13px; border-radius: 8px; }
.reviewpilot .stats { gap: 16px; margin-bottom: 24px; }
.reviewpilot .stat, .reviewpilot .local-stats .stat { border-color: var(--line); border-radius: 12px; padding: 22px; background: white; }
.reviewpilot .stat > span, .reviewpilot .local-stats .stat > span { color: var(--secondary); font-size: 13px; }
.reviewpilot .stat > strong, .reviewpilot .local-stats .stat > strong { font-size: 34px; font-weight: 550; letter-spacing: -1px; margin: 14px 0 12px; }
.reviewpilot .local-stats .stat { padding: 18px 20px; }
.reviewpilot .local-stats .stat > strong { line-height: 1.1; margin: 12px 0 10px; }
.reviewpilot .stat small, .reviewpilot .stat-footer { font-size: 11px; color: var(--quiet); }
.reviewpilot .accent-stat { background: var(--sky); border-color: transparent; }
.reviewpilot .local-filters { padding: 20px; gap: 14px; border-color: var(--line); border-radius: 12px; margin-bottom: 24px; }
.reviewpilot .local-filters label { font-size: 12px; color: var(--secondary); min-width: 100px; }
.reviewpilot .local-filters .local-search { min-width: 175px; flex: 1.5; }
.reviewpilot .local-filters input, .reviewpilot .local-filters select { height: 42px; min-height: 42px; font-size: 13px; }
.reviewpilot .local-filters input[type=date] { font-size: 12px; }
.reviewpilot .local-reset { height: 42px; font-size: 12px !important; }
.reviewpilot .inbox { border-color: var(--line); border-radius: 12px; background: white; }
.reviewpilot .local-inbox .inbox-header { height: 64px; padding: 0 24px; gap: 12px; }
.reviewpilot .inbox-header h2 { font-size: 17px; }
.reviewpilot .inbox-header h2 span, .reviewpilot .count { font-size: 12px; color: var(--secondary); background: var(--canvas); border-radius: 9999px; }
.reviewpilot .local-inbox .inbox-header > .muted { font-size: 12px; }
.reviewpilot .local-inbox-body { display: grid; grid-template-columns: minmax(270px, .38fr) minmax(0, .62fr); }
.reviewpilot .local-list { background: #fcfbfa; border-color: var(--line); max-height: 920px; }
.reviewpilot .local-list .review-card { padding: 22px; border-color: var(--line); }
.reviewpilot .review-card:hover { background: #f1f0ed; }
.reviewpilot .review-card.selected { background: #eef6fc; }
.reviewpilot .review-card.selected::before { background: var(--blue); }
.reviewpilot .local-card-heading > strong { font-size: 14px; font-weight: 550; }
.reviewpilot .local-preview { color: var(--secondary); font-size: 13px; line-height: 1.65; margin: 12px 0; }
.reviewpilot .local-stars { color: #c68a1d; font-size: 14px; }
.reviewpilot .local-stars > span { color: #dedbd6; }
.reviewpilot .local-card-footer, .reviewpilot .local-list .review-card > small { color: var(--quiet); font-size: 11px; }
.reviewpilot .local-review-detail { padding: 28px; }
.reviewpilot .local-source { background: var(--canvas); color: var(--secondary); border: 1px solid var(--line); border-radius: 6px; font-size: 11px; padding: 4px 8px; }
.reviewpilot .avatar { background: #ede9e3; color: #6d6256; }
.reviewpilot .local-review-detail .author-row h2 { font-size: 17px; }
.reviewpilot .local-review-detail .author-row p { color: var(--secondary); font-size: 12px; }
.reviewpilot .local-date { color: var(--quiet); font-size: 12px; margin: 20px 0; }
.reviewpilot .local-full-text { color: #373431; font-size: 15px; line-height: 1.75; }
.reviewpilot .local-section-title h3 { font-size: 15px; }
.reviewpilot .local-section-title > span { color: var(--quiet); font-size: 11px; }
.reviewpilot .local-answer { border-color: var(--line); background: var(--canvas); border-radius: 8px; padding: 20px; }
.reviewpilot .local-answer p { font-size: 14px; }
.reviewpilot .local-answer small, .reviewpilot .local-comments > small { font-size: 12px; color: var(--quiet); }
.reviewpilot .local-conversation > .button { font-size: 13px; }
.reviewpilot .local-comment { border-color: var(--line); }
.reviewpilot .local-comment > div { font-size: 13px; }
.reviewpilot .local-comment small { color: var(--quiet); font-size: 11px; }
.reviewpilot .local-comment .local-full-text { font-size: 14px; }
.reviewpilot .local-moderation { padding: 20px; background: var(--canvas); border-radius: 8px; }
.reviewpilot .local-moderation p, .reviewpilot .local-moderation .text-button { font-size: 13px; color: var(--secondary); }
.reviewpilot .local-muted-note { font-size: 12px !important; color: var(--quiet) !important; }
.reviewpilot .local-pagination { padding: 20px; border-color: var(--line); font-size: 13px; gap: 16px; }
.reviewpilot .local-pagination .button { min-width: 36px; min-height: 36px; padding: 6px 10px; }
.reviewpilot .local-detail-empty { color: var(--secondary); padding: 100px 28px; }
.reviewpilot .local-detail-empty h2 { font-size: 18px; }
.reviewpilot .local-detail-empty p, .reviewpilot .local-empty p { color: var(--secondary); font-size: 14px; }
.reviewpilot .local-footer, .reviewpilot .local-footer span { font-size: 12px; color: var(--quiet); }
.reviewpilot .ai-summary { background: var(--sky); border: 0; border-radius: 12px; padding: 18px 24px; margin: 20px 0; }
.reviewpilot .ai-summary strong { font-size: 15px; }
.reviewpilot .ai-summary p { color: #4c6377; font-size: 13px; margin-top: 8px; }
.reviewpilot .ai-draft { background: #f1f7fc; border: 1px solid #dbe8f4; border-radius: 12px; padding: 22px; }
.reviewpilot .ai-editor-label { font-size: 13px; color: var(--ink); }
.reviewpilot .ai-editor-label textarea { background: white; color: var(--ink); font-size: 15px; line-height: 1.7; padding: 16px; }
.reviewpilot .ai-draft .button { font-size: 13px; }
.reviewpilot .ai-input summary { color: var(--blue); font-size: 13px; }
.reviewpilot .ai-input > p, .reviewpilot .ai-cost, .reviewpilot .ai-review-note, .reviewpilot .ai-draft-meta, .reviewpilot .ai-draft .muted { font-size: 12px; color: var(--secondary); }
.reviewpilot .ai-input .local-full-text { background: white; color: #373431; border-color: var(--line); font-size: 14px; }
.reviewpilot .ai-notice { color: #205a89; font-size: 13px; }
.reviewpilot .local-help { max-width: 980px; gap: 20px; margin-top: 28px; }
.reviewpilot .local-help h2 { margin-bottom: 16px; }
.reviewpilot .local-help p, .reviewpilot .local-help li { font-size: 14px; color: var(--secondary); line-height: 1.75; }
.reviewpilot .local-help a { color: var(--blue); }
.reviewpilot .ai-settings input { background: white; font-size: 14px; margin-top: 10px; }
.reviewpilot .ai-settings form > label { font-size: 13px; }
.reviewpilot .ai-ledger article { border-color: var(--line); padding: 20px 0; }
.reviewpilot .ai-ledger article > div, .reviewpilot .ai-ledger article > p { font-size: 13px; }
.reviewpilot .ai-ledger article > div span, .reviewpilot .ai-ledger small { font-size: 12px; color: var(--quiet); }
.reviewpilot .ai-batch { border-color: var(--line); border-radius: 12px; }
.reviewpilot .ai-batch article { border-color: var(--line); }
.reviewpilot .ai-batch > p, .reviewpilot .ai-batch article p, .reviewpilot .ai-batch article strong { font-size: 14px; color: var(--secondary); }

/* Voice setup uses the same forms and paper cards. */
.reviewpilot .brand-pill { background: var(--sky); border: 0; color: #205a89; font-size: 12px; }
.reviewpilot .brand-steps button { border-color: var(--line); border-radius: 8px; background: white; color: var(--secondary); box-shadow: none; }
.reviewpilot .brand-steps button[aria-current=step] { color: #0067c4; background: var(--sky); border-color: #cee5fa; box-shadow: none; }
.reviewpilot .brand-steps small { font-size: 11px; }
.reviewpilot .brand-intro, .reviewpilot .brand-section-intro p, .reviewpilot .brand-calibration-intro p { font-size: 14px; color: var(--secondary); line-height: 1.75; }
.reviewpilot .brand-question, .reviewpilot .brand-group, .reviewpilot .brand-calibration-card { border-color: var(--line); border-radius: 12px; background: white; }
.reviewpilot .brand-question h2 { font-size: 22px; font-weight: 550; }
.reviewpilot .brand-question-number { font-size: 11px; color: var(--quiet); }
.reviewpilot .brand-option { border-color: rgba(0, 0, 0, .12); border-radius: 8px; padding: 16px; transition: background-color 200ms ease, border-color 200ms ease; }
.reviewpilot .brand-option:hover { background: var(--canvas); border-color: #c4bfba; }
.reviewpilot .brand-option.is-selected { background: #f1f7fc; border-color: #8dbde8; }
.reviewpilot .brand-option strong { color: var(--ink); font-size: 14px; }
.reviewpilot .brand-option small, .reviewpilot .brand-option p { color: var(--secondary); font-size: 12px; }
.reviewpilot .brand-option input { width: 17px; height: 17px; accent-color: var(--blue); }
.reviewpilot .brand-option-muted { background: var(--canvas); }
.reviewpilot .brand-field { color: var(--ink); font-size: 13px; gap: 10px; margin: 20px 0; }
.reviewpilot .brand-field input, .reviewpilot .brand-field select, .reviewpilot .brand-field textarea, .reviewpilot .brand-progress select { background: white; color: var(--ink); font-size: 14px; }
.reviewpilot .brand-field input::placeholder, .reviewpilot .brand-field textarea::placeholder { font-size: 13px; color: #92908e; }
.reviewpilot .brand-hint { font-size: 12px; color: var(--secondary); }
.reviewpilot .brand-effect { background: var(--sky); color: #3f607d; font-size: 13px; padding: 16px; border-radius: 8px; }
.reviewpilot .brand-effect span { color: #5d7b96; font-size: 10px; }
.reviewpilot .brand-progress > span { font-size: 12px; color: var(--quiet); }
.reviewpilot .brand-progress progress { accent-color: var(--blue); }
.reviewpilot .brand-progress progress::-webkit-progress-bar { background: #e6e3df; }
.reviewpilot .brand-progress progress::-webkit-progress-value { background: var(--blue); }
.reviewpilot .brand-progress select { font-size: 12px; }
.reviewpilot .brand-question-nav .button, .reviewpilot .brand-save .button { font-size: 13px; }
.reviewpilot .brand-summary { background: #eeece8; border-color: var(--line); border-radius: 12px; padding: 24px; }
.reviewpilot .brand-summary h2 { font-size: 20px; font-weight: 550; }
.reviewpilot .brand-summary dt, .reviewpilot .brand-final-profile dt { color: var(--quiet); font-size: 11px; }
.reviewpilot .brand-summary dd, .reviewpilot .brand-final-profile dd { color: #373431; font-size: 13px; line-height: 1.65; }
.reviewpilot .brand-summary .brand-hint { border-color: var(--line); font-size: 12px; }
.reviewpilot .brand-save { border-color: var(--line); }
.reviewpilot .brand-save strong { color: var(--ink); font-size: 14px; }
.reviewpilot .brand-save p { color: var(--secondary); font-size: 13px; }
.reviewpilot .brand-group > summary { color: var(--ink); font-size: 15px; }
.reviewpilot .brand-group > summary span { color: var(--quiet); font-size: 12px; }
.reviewpilot .brand-group[open] > summary, .reviewpilot .brand-group .brand-question { border-color: var(--line); }
.reviewpilot .brand-group .brand-question { border-radius: 0; }
.reviewpilot .brand-row { background: var(--canvas); border-color: var(--line); border-radius: 8px; }
.reviewpilot .brand-row-heading strong { color: var(--ink); font-size: 14px; }
.reviewpilot .brand-row-heading .text-button { font-size: 12px; }
.reviewpilot .brand-check { color: var(--secondary); font-size: 13px; }
.reviewpilot .brand-check input { accent-color: var(--blue); }
.reviewpilot .brand-issues { background: #fff3d9; border-color: #efdfbb; color: #806121; }
.reviewpilot .brand-issues button { color: #806121; font-size: 13px; }
.reviewpilot .brand-confirm { background: var(--sky); border-color: #cee5fa; border-radius: 12px; }
.reviewpilot .brand-confirm p { color: var(--secondary); font-size: 14px; }
.reviewpilot .brand-confirm details { font-size: 13px; }
.reviewpilot .brand-calibration-card blockquote { border-left-color: #62aef0; background: var(--canvas); color: var(--secondary); font-size: 14px; }
.reviewpilot .brand-variants > article { border-color: var(--line); border-radius: 8px; }
.reviewpilot .brand-variants p { color: var(--secondary); font-size: 14px; }
.reviewpilot .brand-feedback button { background: white; border-color: var(--line); color: var(--secondary); font-size: 12px; border-radius: 6px; }
.reviewpilot .brand-feedback button:first-child { background: var(--sky); color: #205a89; border-color: #cee5fa; }
.reviewpilot .brand-feedback button:hover { border-color: #8dbde8; }
.reviewpilot #brand-root .local-alert small { font-size: 12px; }

/* First visit, sign-in and invitations. */
.reviewpilot .auth-page { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr); align-items: center; gap: 60px; width: min(1200px, 100%); padding: 40px; margin: auto; }
.auth-story { min-height: 650px; display: flex; flex-direction: column; justify-content: space-between; }
.auth-story-copy { margin: 56px 0 44px; }
.story-label, .auth-eyebrow { display: block; font-size: 10px; letter-spacing: 1.1px; color: var(--quiet); font-weight: 550; }
.reviewpilot .auth-story h2 { font-size: 62px; line-height: 1.09; letter-spacing: -2.8px; font-weight: 650; margin: 20px 0 24px; }
.highlight-pill { position: relative; display: inline-block; padding: 0 15px 6px; margin-left: -15px; background: var(--peach); border-radius: 9999px; }
.reviewpilot .auth-story-copy > p { font-size: 15px; color: var(--secondary); line-height: 1.7; }
.story-notes { display: grid; gap: 12px; margin: 34px 0 30px; max-width: 380px; }
.story-note { display: flex; align-items: center; gap: 14px; background: white; border: 1px solid var(--line); padding: 16px; border-radius: 12px; transform: rotate(-2deg); }
.story-note + .story-note { margin-left: 24px; transform: rotate(2deg); background: #fff0c1; border-color: transparent; }
.note-icon { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 8px; flex-shrink: 0; background: #fff; }
.story-note > span:nth-child(2) { font-size: 11px; color: var(--quiet); line-height: 1.4; }
.story-note strong { display: block; color: var(--ink); font-size: 13px; font-weight: 550; margin-top: 4px; }
.note-star, .note-arrow { font-size: 28px; margin-left: auto; color: #f64932; font-weight: 400; }
.note-arrow { color: var(--ink); }
.story-benefits { display: flex; gap: 24px; flex-wrap: wrap; font-size: 12px; color: var(--secondary); }
.story-benefits > span { display: flex; align-items: center; gap: 7px; }
.story-benefits .ui-icon { width: 16px; height: 16px; }
.reviewpilot .auth-story-footer { color: var(--quiet); font-size: 12px; margin: 0; }
.auth-form-wrap { width: 100%; max-width: 460px; justify-self: end; }
.reviewpilot .auth-card { width: 100%; padding: 32px; border: 1px solid var(--line); border-radius: 12px; box-shadow: none; background: white; }
.reviewpilot .auth-card h1 { font-size: 28px; font-weight: 600; letter-spacing: -.8px; margin: 14px 0 12px; }
.reviewpilot .auth-card > p { color: var(--secondary); font-size: 14px; line-height: 1.65; margin: 0 0 24px; }
.reviewpilot .auth-card .stack { gap: 16px; }
.reviewpilot .auth-card .button { width: 100%; min-height: 44px; margin-top: 4px; justify-content: center; }
.reviewpilot .auth-card .button .ui-icon { margin-left: auto; }
.reviewpilot .auth-card .button:has(.ui-icon)::before { content: ''; width: 17px; margin-right: auto; }
.reviewpilot .auth-card .hint { font-size: 12px; margin: 20px 0 0; }
.reviewpilot .auth-card code { overflow-wrap: anywhere; }
.reviewpilot .auth-footnote { text-align: center; font-size: 12px; color: var(--quiet); margin: 18px 8px 0; }
.reviewpilot .auth-page:has(> .auth-card) { grid-template-columns: 1fr; max-width: 540px; }
.reviewpilot .toast { background: var(--ink); color: white; font-size: 13px; border-radius: 8px; box-shadow: none; }

@media (min-width: 1500px) {
  .reviewpilot .platform-content { padding-top: 44px; }
}
@media (max-width: 1150px) {
  .reviewpilot .content, .reviewpilot .platform-content, .reviewpilot .local-content { padding: 30px 28px 24px; }
  .reviewpilot .topbar { padding: 0 28px; }
  .reviewpilot .page-heading { align-items: flex-start; }
  .reviewpilot .local-heading { flex-wrap: wrap; }
  .reviewpilot .local-actions { justify-content: flex-start; }
  .reviewpilot .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reviewpilot .brand-layout { grid-template-columns: minmax(0, 1fr); }
  .reviewpilot .brand-summary { position: static; }
  .reviewpilot .auth-page { gap: 36px; padding: 32px; }
  .reviewpilot .auth-story h2 { font-size: 52px; letter-spacing: -2.2px; }
  .reviewpilot .auth-story-copy > p { font-size: 14px; }
  .reviewpilot .auth-card { padding: 28px; }
  .section-label p { display: none; }
}
@media (max-width: 900px) {
  .reviewpilot .sidebar { position: static; width: auto; display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 16px; padding: 20px 24px 12px; border-right: 0; border-bottom: 1px solid var(--line); }
  .reviewpilot .sidebar .logo { padding: 0; }
  .reviewpilot .sidebar .workspace { display: block; margin: 0 0 0 auto; padding: 0; max-width: 200px; }
  .reviewpilot .workspace-label { display: none; }
  .reviewpilot .sidebar .platform-nav { display: flex; flex: 1 0 100%; flex-wrap: nowrap; overflow-x: auto; padding: 0 0 4px; margin: 0; gap: 6px; scrollbar-width: none; }
  .reviewpilot .nav-group { display: flex; flex: 0 0 auto; gap: 4px; margin: 0; }
  .reviewpilot .nav-group-label { display: none; }
  .reviewpilot .sidebar .nav-item { padding: 8px 10px; margin: 0; font-size: 13px; }
  .reviewpilot .platform-account { display: flex; flex: 0 0 auto; padding: 0; margin: 0; border: 0; }
  .reviewpilot .platform-account > span, .reviewpilot .platform-account > div { display: none; }
  .reviewpilot .platform-account button { font-size: 12px; }
  .reviewpilot main { margin-left: 0; }
  .reviewpilot .topbar { height: 56px; padding: 0 24px; font-size: 12px; }
  .reviewpilot .content, .reviewpilot .platform-content, .reviewpilot .local-content { padding: 28px 24px 20px; }
  .reviewpilot h1 { font-size: 36px; letter-spacing: -1.2px; }
  .reviewpilot .local-inbox-body { grid-template-columns: minmax(250px, .4fr) minmax(0, .6fr); }
  .overview-card { padding: 20px; }
  .overview-card > strong { font-size: 38px; }
  .reviewpilot .auth-page { grid-template-columns: 1fr; gap: 32px; max-width: 540px; padding: 32px 24px; align-content: center; }
  .auth-story { min-height: 0; display: block; }
  .auth-story-copy, .reviewpilot .auth-story-footer { display: none; }
  .auth-form-wrap { justify-self: center; max-width: none; }
  .reviewpilot .auth-card { padding: 32px; }
}
@media (max-width: 650px) {
  .reviewpilot .sidebar { padding: 18px 16px 10px; gap: 16px; }
  .reviewpilot .sidebar .logo { font-size: 20px; gap: 8px; }
  .reviewpilot .logo-mark { width: 28px; height: 28px; font-size: 24px; border-radius: 7px; }
  .reviewpilot .sidebar .workspace { order: 2; flex: 1 0 100%; max-width: none; }
  .reviewpilot .sidebar .platform-nav { order: 3; }
  .reviewpilot .platform-account { margin-left: auto; }
  .reviewpilot .company-picker { min-height: 36px; font-size: 12px; padding: 6px 8px; }
  .reviewpilot .topbar { padding: 0 16px; height: 52px; }
  .reviewpilot .content, .reviewpilot .platform-content, .reviewpilot .local-content { padding: 26px 16px 16px; }
  .reviewpilot .content .page-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; margin-bottom: 24px; }
  .reviewpilot h1, .reviewpilot .local-heading h1, .reviewpilot .brand-heading h1 { font-size: 32px; letter-spacing: -1px; }
  .reviewpilot .page-heading p { font-size: 13px; }
  .overview-grid { grid-template-columns: 1fr; gap: 10px; margin-bottom: 20px; }
  .overview-card { padding: 18px 20px; display: grid; grid-template-columns: 1fr auto; gap: 5px 16px; align-items: center; }
  .overview-card > div { font-size: 13px; }
  .overview-card > strong { grid-column: 2; grid-row: 1 / 3; font-size: 34px; margin: 0; }
  .overview-card > p { grid-column: 1; font-size: 12px; padding-left: 27px; }
  .reviewpilot .platform-panel, .reviewpilot .readonly-profile, .reviewpilot .job-card, .reviewpilot .local-help > section { padding: 20px; }
  .reviewpilot .company-filter-panel { padding: 16px; margin-bottom: 24px; }
  .company-search-field { min-width: 100%; }
  .reviewpilot .company-filter-panel select { flex: 1; min-width: 0; }
  .reviewpilot .company-filter-panel .button { font-size: 13px; }
  .reviewpilot .company-grid, .reviewpilot .form-grid { grid-template-columns: minmax(0, 1fr); }
  .reviewpilot .form-grid .wide { grid-column: auto; }
  .reviewpilot .company-card { padding: 22px; }
  .section-label h2 { font-size: 19px; }
  .reviewpilot .platform-heading-actions { gap: 8px; }
  .reviewpilot .subscription-banner, .reviewpilot .job-card header { align-items: flex-start; flex-direction: column; }
  .reviewpilot .platform-table td { min-width: 110px; }
  .reviewpilot .stats { gap: 10px; }
  .reviewpilot .stat, .reviewpilot .local-stats .stat { padding: 18px; }
  .reviewpilot .stat > strong, .reviewpilot .local-stats .stat > strong { font-size: 29px; }
  .reviewpilot .stat > span, .reviewpilot .local-stats .stat > span { font-size: 12px; }
  .reviewpilot .local-heading .local-actions { margin-top: 0; }
  .reviewpilot .local-sync { padding: 16px; }
  .reviewpilot .local-sync-primary > .muted { margin-left: 0; padding-left: 15px; }
  .reviewpilot .local-sync-note { margin-left: 0; }
  .reviewpilot .local-filters { padding: 16px; gap: 12px; }
  .reviewpilot .local-filters label { min-width: 120px; }
  .reviewpilot .local-filters .local-search { min-width: 100%; }
  .reviewpilot .local-inbox .inbox-header { padding: 0 18px; }
  .reviewpilot .local-inbox .inbox-header > .muted { font-size: 11px; }
  .reviewpilot .local-inbox-body { display: block; }
  .reviewpilot .local-list { max-height: 400px; border-right: 0; border-bottom: 1px solid var(--line); }
  .reviewpilot .local-list .review-card { padding: 20px; }
  .reviewpilot .review-card.selected::before { top: 0; bottom: 0; height: auto; width: 3px; }
  .reviewpilot .local-detail { border-top: 0; }
  .reviewpilot .local-review-detail { padding: 24px 20px; }
  .reviewpilot .local-detail-heading { margin-bottom: 20px; }
  .reviewpilot .local-full-text { font-size: 14px; }
  .reviewpilot .ai-summary { padding: 20px; }
  .reviewpilot .ai-draft { padding: 18px; }
  .reviewpilot .ai-editor-label textarea, .reviewpilot .auth-card input, .reviewpilot .platform-panel input:not([type=checkbox]), .reviewpilot .brand-field input, .reviewpilot .brand-field textarea { font-size: 16px; }
  .reviewpilot .local-footer { flex-direction: column; gap: 6px; }
  .reviewpilot .brand-steps { gap: 8px; }
  .reviewpilot .brand-steps button { padding: 12px 10px; gap: 8px; }
  .reviewpilot .brand-steps strong { font-size: 12px; }
  .reviewpilot .brand-steps small { display: none; }
  .reviewpilot .brand-steps button > span { font-size: 11px; }
  .reviewpilot .brand-question { padding: 22px 18px; }
  .reviewpilot .brand-question h2 { font-size: 20px; }
  .reviewpilot .brand-summary dl { display: block; }
  .reviewpilot .brand-option { padding: 14px; }
  .reviewpilot .brand-question-nav { flex-wrap: wrap; }
  .reviewpilot .auth-page { padding: 28px 20px; gap: 28px; }
  .reviewpilot .auth-card { padding: 28px 24px; }
  .reviewpilot .auth-card h1 { font-size: 27px; }
}
@media (prefers-reduced-motion: reduce) {
  .reviewpilot *, .reviewpilot *::before, .reviewpilot *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Review triage: facts, response and moderation remain separate decisions. */
.reviewpilot .review-case, .reviewpilot .review-complaint { padding: 20px; margin: 24px 0; border: 1px solid var(--line); border-radius: 12px; background: var(--canvas); }
.reviewpilot .review-case .local-section-title, .reviewpilot .review-complaint .local-section-title { gap: 12px; flex-wrap: wrap; align-items: flex-start; }
.reviewpilot .review-case .tag { white-space: normal; max-width: 100%; }
.reviewpilot .case-summary { font-size: 15px; color: var(--ink); margin: 12px 0; }
.reviewpilot .case-risk-list { padding-left: 20px; color: #806025; font-size: 13px; line-height: 1.7; margin: 12px 0; }
.reviewpilot .review-case summary, .reviewpilot .review-complaint summary { font-size: 13px; cursor: pointer; line-height: 1.6; }
.reviewpilot .case-form { display: grid; gap: 16px; padding: 18px 0 0; }
.reviewpilot .case-form > label, .reviewpilot .workspace-actions label { display: grid; gap: 8px; color: var(--ink); font-size: 13px; font-weight: 500; }
.reviewpilot .case-form textarea { min-height: 80px; background: white; border-radius: 8px; font-size: 14px; line-height: 1.65; }
.reviewpilot .case-form .check, .reviewpilot .job-card .check { display: flex; align-items: flex-start; gap: 9px; line-height: 1.6; font-size: 13px; font-weight: 400; }
.reviewpilot .case-form .hint, .reviewpilot .case-form .job-text { margin: 0; }
.reviewpilot .case-form .check input, .reviewpilot .job-card .check input { flex: 0 0 auto; width: 17px; height: 17px; margin: 3px 0; accent-color: var(--blue); }
.reviewpilot .case-form select { width: 100%; }
.reviewpilot .case-block-title { padding-top: 4px; margin-bottom: 18px; }
.reviewpilot .review-response { padding: 22px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.reviewpilot .review-response .ai-draft { margin-bottom: 20px; }
.reviewpilot .review-response .workspace-actions { margin-top: 18px; }
.reviewpilot .case-action-state { font-size: 13px; font-weight: 550; color: #806025; background: #fff2cc; border-radius: 8px; padding: 12px; }
.reviewpilot .case-rule { background: #f8e5d4; border-radius: 8px; padding: 16px; margin: 18px 0; }
.reviewpilot .case-rule > strong, .reviewpilot .case-suggestions > strong { font-size: 14px; }
.reviewpilot .case-rule p, .reviewpilot .case-suggestions p { font-size: 13px; }
.reviewpilot .case-rule blockquote { margin: 12px 0; border-left: 2px solid #b18164; padding-left: 12px; font-size: 14px; overflow-wrap: anywhere; }
.reviewpilot .case-history { border-top: 1px solid var(--line); margin-top: 22px; padding-top: 18px; }
.reviewpilot .case-history article { padding: 18px 0; border-bottom: 1px solid var(--line); }
.reviewpilot .case-history article:last-child { border-bottom: 0; padding-bottom: 0; }
.reviewpilot .case-history article > div { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.reviewpilot .case-history strong { font-size: 13px; }
.reviewpilot .case-history .tag { white-space: normal; }
@media (max-width: 650px) {
  .reviewpilot .review-case, .reviewpilot .review-complaint { padding: 18px; margin: 20px 0; }
  .reviewpilot .case-form textarea { font-size: 16px; }
  .reviewpilot .review-complaint .local-section-title .text-button { padding: 0; }
}

/* Owners see business statistics without provider accounting. */
.reviewpilot .business-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
@media (max-width: 700px) { .reviewpilot .business-stats { grid-template-columns: 1fr; } }

/* Company provisioning and the required owner setup. */
.reviewpilot .provision-steps,.reviewpilot .setup-steps { list-style:none; padding:0; display:grid; gap:8px; margin:24px 0; }
.reviewpilot .provision-steps { grid-template-columns:repeat(4,minmax(0,1fr)); }
.reviewpilot .provision-steps li,.reviewpilot .setup-steps li { border:1px solid var(--line); border-radius:10px; background:var(--paper); color:var(--secondary); }
.reviewpilot .provision-steps button { width:100%; padding:14px 10px; text-align:left; color:inherit; display:flex; align-items:center; gap:10px; }
.reviewpilot .provision-steps span,.reviewpilot .setup-steps li>span { display:inline-grid; place-items:center; width:26px; height:26px; background:var(--canvas); border-radius:50%; flex-shrink:0; font-variant-numeric:tabular-nums; }
.reviewpilot .provision-steps .current,.reviewpilot .setup-steps .current { background:var(--sky); border-color:#b2d7f4; color:#005fae; }
.reviewpilot .setup-heading { max-width:900px; }
.reviewpilot .setup-heading h1 { font-size:34px; margin-top:10px; }
.reviewpilot .setup-heading p { color:var(--secondary); }
.reviewpilot .setup-progress { display:flex; justify-content:space-between; gap:16px; margin-top:24px; color:var(--secondary); font-size:12px; }
.reviewpilot .setup-heading progress { width:100%; height:6px; display:block; margin-top:10px; accent-color:var(--blue); }
.reviewpilot .setup-steps { grid-template-columns:repeat(6,minmax(0,1fr)); font-size:12px; }
.reviewpilot .setup-steps li { padding:12px 8px; display:flex; align-items:center; gap:7px; }
.reviewpilot .setup-steps .done { color:#39704a; background:#edf5ef; }
.reviewpilot .setup-card { background:var(--paper); border:1px solid var(--line); padding:32px; border-radius:14px; max-width:1040px; margin-bottom:32px; }
.reviewpilot .setup-card>fieldset { border:0; padding:0; margin:0; min-width:0; }
.reviewpilot .setup-step-title { margin-bottom:28px; }
.reviewpilot .setup-step-title h2 { font-size:25px; margin:8px 0; }
.reviewpilot .setup-step-title p,.reviewpilot .setup-hint { color:var(--secondary); font-size:13px; line-height:1.65; }
.reviewpilot .setup-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:20px; }
.reviewpilot .setup-field { display:flex; flex-direction:column; gap:8px; font-size:13px; font-weight:500; margin-bottom:18px; }
.reviewpilot .setup-field input,.reviewpilot .setup-field textarea,.reviewpilot .setup-field select { width:100%; box-sizing:border-box; border:1px solid #d8d6d4; border-radius:7px; background:white; color:var(--ink); padding:11px 12px; font:inherit; }
.reviewpilot .setup-field textarea { resize:vertical; min-height:85px; }
.reviewpilot .setup-question { border:0; padding:0 0 26px; margin:0 0 28px; border-bottom:1px solid var(--line); min-width:0; }
.reviewpilot .setup-question legend { font-size:17px; font-weight:600; margin-bottom:16px; }
.reviewpilot .setup-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.reviewpilot .setup-choices label { border:1px solid var(--line); border-radius:8px; padding:14px; display:flex; align-items:flex-start; gap:10px; cursor:pointer; font-size:13px; }
.reviewpilot .setup-choices label:has(input:checked) { background:var(--sky); border-color:#a8cfea; }
.reviewpilot .setup-choices input { flex-shrink:0; margin-top:3px; }
.reviewpilot .setup-actions { display:flex; align-items:center; gap:16px; justify-content:space-between; flex-wrap:wrap; padding-top:22px; border-top:1px solid var(--line); margin-top:28px; }
.reviewpilot .setup-contact { border:1px solid var(--line); background:var(--canvas); padding:22px; border-radius:10px; margin:18px 0; }
.reviewpilot .setup-summary { margin:0; }
.reviewpilot .setup-summary>div { display:grid; grid-template-columns:minmax(130px,1fr) 2fr; gap:24px; padding:14px 0; border-bottom:1px solid var(--line); }
.reviewpilot .setup-summary dt { color:var(--secondary); }
.reviewpilot .setup-summary dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.reviewpilot .setup-consent,.reviewpilot .setup-check { margin:24px 0; }
.reviewpilot .provision-checks { display:flex; gap:24px; flex-wrap:wrap; padding:12px 20px; border-radius:8px; background:var(--canvas); margin-bottom:20px; }
@media(max-width:1100px) { .reviewpilot .setup-steps { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:700px) {
 .reviewpilot .setup-card { padding:20px 16px; }.reviewpilot .setup-heading h1 { font-size:28px; }
 .reviewpilot .setup-grid,.reviewpilot .setup-choices { grid-template-columns:1fr; gap:12px; }
 .reviewpilot .setup-steps,.reviewpilot .provision-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .reviewpilot .setup-summary>div { grid-template-columns:1fr; gap:6px; }.reviewpilot .setup-actions .button.primary { width:100%; }
 .reviewpilot .setup-progress { flex-direction:column; gap:4px; }
}
