/* Platform redesign. Loaded last: one shared visual system for all app roles. */
:root {
  --ui-canvas: #f5f6f8;
  --ui-surface: #fff;
  --ui-ink: #202b32;
  --ui-muted: #606c76;
  --ui-line: #e1e6e9;
  --ui-strong-line: #b2bec5;
  --ui-accent: #075985;
  --ui-accent-hover: #0c4a6e;
  --ui-accent-soft: #e0f2fe;
  --ui-success: #047857;
  --ui-success-soft: #e1f1e8;
  --ui-radius: 16px;
  --brand-primary: var(--ui-accent);
  --brand-primary-hover: var(--ui-accent-hover);
  --brand-primary-soft: var(--ui-accent-soft);
  --brand-ink: var(--ui-ink);
  --brand-muted: var(--ui-muted);
  --brand-border: var(--ui-line);
  --accent: var(--ui-accent);
  --accent-2: var(--ui-accent-hover);
  --grad-accent: var(--ui-accent);
}
.workspace-page, .dashboard-page {
  --dash-bg: var(--ui-canvas);
  --dash-surface: var(--ui-surface);
  --dash-surface-soft: #f8fafb;
  --dash-ink: var(--ui-ink);
  --dash-muted: var(--ui-muted);
  --dash-line: var(--ui-line);
  --dash-line-strong: var(--ui-strong-line);
  --dash-accent: var(--ui-accent);
  --dash-accent-dark: var(--ui-accent-hover);
  --dash-accent-soft: var(--ui-accent-soft);
  --fg: var(--ui-ink);
  --fg-2: var(--ui-muted);
  --muted: var(--ui-muted);
  --border: var(--ui-line);
  --line: var(--ui-line);
  --accent: var(--ui-accent);
  --accent-2: var(--ui-accent-hover);
  background: var(--ui-canvas);
  color: var(--ui-ink);
  font-family: var(--brand-font-ui);
}
[hidden] { display: none !important; }
.workspace-page .app { max-width: none; grid-template-columns: 236px minmax(0,1fr); }
.workspace-page .app > aside {
  position: sticky; top: 0; height: 100dvh; padding: 28px 16px 18px;
  background: var(--ui-surface); border-right: 1px solid var(--ui-line);
  box-shadow: none; backdrop-filter: none; gap: 22px; z-index: 45;
}
.workspace-page .app > aside .brand { padding: 0 12px 8px; color: var(--ui-ink); gap: 10px; }
.workspace-page .app > aside .brand img { width: 32px; height: 32px; object-fit: contain; filter: none; }
.workspace-page .app > aside .brand-wordmark { font-size: 22px; letter-spacing: -.8px; }
.workspace-page .app > aside .brand-wordmark small { color: var(--ui-muted); font-size: 11px; letter-spacing: 1.1px; margin-top: 5px; }
.workspace-page aside nav { display: flex; flex-direction: column; gap: 5px; }
.workspace-page .app > aside nav a {
  display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 11px 13px;
  color: #56636d; background: transparent; border-radius: 9px; font-size: 13px;
  font-weight: 550; line-height: 1.45; text-decoration: none; box-shadow: none; font-size: 14px;
}
.workspace-page .app > aside nav a:hover { color: var(--ui-ink); background: #f4f6f7; }
.workspace-page .app > aside nav a.active,
.workspace-page .app > aside nav a[aria-current=page] {
  color: var(--ui-accent); background: var(--ui-accent-soft); box-shadow: none; font-weight: 700;
}
.workspace-page .app > aside nav a::before { display: none; }
.nav-icon { width: 19px; height: 19px; flex: 0 0 19px; stroke: currentColor; fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.nav-label { flex: 1; }
.nav-section-label { margin: 21px 13px 6px; font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--ui-muted); }
.nav-section-label:first-child { margin-top: 0; }
.workspace-page .account-nav { margin-top: 0; border: 0; padding-top: 0; }
.workspace-page .account-nav summary { display: flex; align-items: center; gap: 12px; padding: 11px 13px; min-height: 44px; color: #56636d; font-size: 13px; border-radius: 9px; }
.account-nav summary::after { content: '⌄'; margin-left: auto; }
.account-nav[open] summary::after { transform: rotate(180deg); }
.account-nav summary::-webkit-details-marker { display: none; }
.workspace-page .account-nav a { margin-left: 20px; font-size: 12px !important; }
.workspace-page .sidebar-trust { margin-top: auto; border: 1px solid var(--ui-line); background: #f8f9fa; border-radius: 12px; color: var(--ui-ink); padding: 13px 10px; }
.workspace-page .sidebar-trust strong { font-size: 12px; font-weight: 650; }
.workspace-page .sidebar-trust small { color: var(--ui-muted); font-size: 11px; margin-top: 3px; }
.workspace-page .sidebar-trust-icon { background: var(--ui-accent-soft); }
.workspace-page .sidebar-trust-icon::before, .workspace-page .sidebar-trust-icon::after { border-color: var(--ui-accent); }
.workspace-page .app > main { width: 100%; max-width: 1560px; padding: 0 40px 48px; margin-inline: auto; min-width: 0; }
.workspace-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 78px; margin-bottom: 31px; border-bottom: 1px solid var(--ui-line); }
.workspace-location { display: flex; align-items: center; gap: 12px; color: var(--ui-muted); font-size: 12px; min-width: 0; }
.workspace-location strong { color: var(--ui-ink); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-location .nav-icon { width: 16px; height: 16px; flex-basis: 16px; }
.workspace-toolbar-actions { display: flex; gap: 12px; align-items: center; }
.workspace-page .workspace-jump { display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 8px 12px; color: var(--ui-muted); background: #fff; border: 1px solid var(--ui-line); box-shadow: none; border-radius: 8px; font-size: 12px; font-weight: 400; }
kbd { border: 1px solid var(--ui-line); background: #f8fafb; padding: 2px 5px; border-radius: 4px; font: 10px var(--brand-font-ui); color: var(--ui-muted); }
.workspace-help { display: flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; color: var(--ui-muted); border-radius: 9px; }
.workspace-help:hover { color: var(--ui-accent); background: var(--ui-accent-soft); }
.workspace-page .topbar, .workspace-page .scan-header { padding: 0; align-items: center; gap: 24px; margin: 0 0 28px; }
.workspace-page .topbar h1, .workspace-page .scan-header h1 { font-size: clamp(26px,2.2vw,34px); font-weight: 650; line-height: 1.22; letter-spacing: -1.15px; margin: 0 0 8px; }
.workspace-page .topbar .muted, .workspace-page .scan-header p { font-size: 14px; line-height: 1.65; margin: 0; }
.workspace-page .eyebrow, .workspace-page .section-kicker, .workspace-page .billing-eyebrow { color: var(--ui-muted); font-size: 11px; font-weight: 650; letter-spacing: 1.6px; text-transform: uppercase; }
.workspace-page .eyebrow { margin-bottom: 10px; }
.workspace-page .panel, .workspace-page .card { background: var(--ui-surface); border: 1px solid var(--ui-line); border-radius: var(--ui-radius); box-shadow: 0 2px 3px #202b3202; backdrop-filter: none; }
.workspace-page .panel { padding: 24px; margin-bottom: 24px; }
.workspace-page .panel h2 { color: var(--ui-ink); font-size: 18px; line-height: 1.45; letter-spacing: -.35px; font-weight: 650; }
.workspace-page .panel h3 { font-weight: 600; }
.workspace-page .panel.bare { padding: 0; border: 0; box-shadow: none; }
.workspace-page :is(button, .button), .auth-page :is(button, .button) { border-radius: 9px; min-height: 44px; font-size: 13px; font-weight: 600; cursor: pointer; transition: background-color 160ms, border-color 160ms, box-shadow 160ms; }
.workspace-page :is(button, .button):hover { transform: none; }
.workspace-page button.primary, .workspace-page .button.primary, .auth-page form > button[type=submit] { color: #fff; background: var(--ui-accent); border: 1px solid var(--ui-accent); box-shadow: 0 2px 3px #10232d0a; }
.workspace-page button.primary:hover, .workspace-page .button.primary:hover, .auth-page form > button[type=submit]:hover { background: var(--ui-accent-hover); border-color: var(--ui-accent-hover); }
.workspace-page button.secondary, .workspace-page .button.secondary { color: var(--ui-ink); background: #fff; border: 1px solid var(--ui-line); box-shadow: 0 1px 2px #202b3205; }
.workspace-page button.secondary:hover, .workspace-page .button.secondary:hover { background: #f7f9fa; border-color: var(--ui-strong-line); }
.workspace-page button:disabled, .auth-page button:disabled { cursor: not-allowed; opacity: .5; }
.workspace-page :is(input:not([type=checkbox]):not([type=radio]), select, textarea), .auth-page :is(input, select) { background: #fff; border-color: var(--ui-strong-line); border-radius: 9px; font-size: 14px; min-height: 44px; box-shadow: none; color: var(--ui-ink); }
.workspace-page input::placeholder { color: #77828a; }
.workspace-page input[type=checkbox], .workspace-page input[type=radio] { accent-color: var(--ui-accent); }
.workspace-page :is(input, select, textarea):focus, .auth-page :is(input, select):focus { border-color: var(--ui-accent); box-shadow: 0 0 0 3px #07598514; }
:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid var(--ui-accent); outline-offset: 3px; }
.workspace-page .topbar .user-pill { border: 0; background: transparent; box-shadow: none; gap: 8px; padding: 0; }
.workspace-page .avatar { color: var(--ui-accent); background: var(--ui-accent-soft); border: 1px solid #d3dfe5; }
.workspace-page button.site-health-dot { position: relative; width: 44px; height: 44px; flex: 0 0 44px; border: 1px solid var(--ui-line); border-radius: 50%; background: #fff; box-shadow: none; }
.workspace-page button.site-health-dot::after { content: ''; position: absolute; width: 9px; height: 9px; left: 17px; top: 17px; border-radius: 50%; background: #82909a; }
.workspace-page button.site-health-dot.ok::after { background: var(--ui-accent); }
.workspace-page button.site-health-dot.warn::after { background: #a56b20; }
.workspace-page button.site-health-dot.danger::after { background: #b74c42; }
.workspace-page .pill { border-radius: 6px; font-size: 11px; font-weight: 600; }
.workspace-page .pill.info { color: var(--ui-accent); background: var(--ui-accent-soft); border-color: #cddce3; }
.workspace-page .table-scroll { border: 1px solid var(--ui-line); border-radius: 10px; overflow: auto; }
.workspace-page table { border-collapse: collapse; }
.workspace-page table.tight th { padding: 13px 15px; color: var(--ui-muted); background: #f8fafb; text-transform: none; font-size: 12px; font-weight: 600; letter-spacing: 0; border-bottom: 1px solid var(--ui-line); }
.workspace-page table.tight td { padding: 15px; border-color: #edf0f2; font-size: 13px; }
.workspace-page table tr:hover td { background: #fafbfc; }
.workspace-page table td a { color: var(--ui-accent); }
.workspace-page .filter-chip { background: #fff; border-color: var(--ui-line); border-radius: 7px; font-size: 12px; padding: 8px 12px; }
.workspace-page .filter-chip.active, .workspace-page .queue-summary button.active { background: var(--ui-accent-soft); color: var(--ui-accent); border-color: #c6d5dc; }
.workspace-page .filter-bar { gap: 16px; padding: 0; margin: 20px 0; background: transparent; border: 0; }
.workspace-page .filter-label { font-size: 11px; }
.workspace-page .section-heading { margin-bottom: 20px; }
.workspace-page .section-heading h2 { margin-top: 4px; }
.workspace-page .text-action { color: var(--ui-accent); font-size: 12px; }
.workspace-page .empty-state { padding: 36px 20px; background: #fafbfc; border: 1px dashed #d8dfe2; border-radius: 12px; }
.workspace-page .empty-state h3 { font-size: 17px; }
.workspace-page .empty-state p { color: var(--ui-muted); font-size: 13px; max-width: 48ch; margin-inline: auto; line-height: 1.7; }
.dashboard-page .dashboard-header-actions { gap: 10px; }
.dashboard-page .dashboard-header-actions .user-pill { margin-left: 8px; }
.dashboard-page .progress-overview { margin-bottom: 24px; }
.dashboard-page.is-new-workspace .progress-overview { display: none; }
.dashboard-page .outcome-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.dashboard-page .outcome-cards .card { padding: 25px 24px 20px 88px; background: #fff; position: relative; overflow: hidden; }
.dashboard-page .outcome-cards .card::before { content: ''; position: absolute; width: 8px; height: 8px; top: 27px; right: 24px; border-radius: 50%; background: #ad7629; }
.dashboard-page .outcome-cards .card.ok::before { background: var(--ui-success); }
.dashboard-page .outcome-cards .card.danger::before { background: #b85042; }
.dashboard-page .outcome-cards .card h3 { font-size: 14px; color: var(--ui-ink); margin: 0 0 10px; text-transform: none; letter-spacing: 0; }
.dashboard-page .outcome-cards .card .v { color: var(--ui-ink); font-size: 36px; line-height: 1.2; font-weight: 600; letter-spacing: -1.5px; font-variant-numeric: tabular-nums; }
.dashboard-page .outcome-cards .card.ok .v { color: var(--ui-success); }
.dashboard-page .outcome-cards .card .sub { margin-top: 18px; margin-left: -64px; font-size: 12px; color: var(--ui-muted); line-height: 1.6; }
.outcome-icon { position: absolute; top: 25px; left: 24px; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: #e6eef8; color: #355a7c; }
.outcome-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.card.ok .outcome-icon { background: var(--ui-success-soft); color: var(--ui-success); }
.card.danger .outcome-icon { background: #fdf0d8; color: #936222; }
.dashboard-page .workflow-panel { padding: 24px 28px !important; background: #eaf0f3 !important; border: 1px solid #d1dde3; }
.dashboard-page .workflow-panel .section-heading { margin-bottom: 12px; }
.dashboard-page .workflow-panel .section-kicker { color: #415965; }
.dashboard-page .workflow-panel .next-action-row { padding: 0; background: transparent; border: 0; box-shadow: none; }
.dashboard-page .workflow-panel h2 { font-size: 13px; font-weight: 500; color: #526670; }
.dashboard-page .next-action-row strong { font-size: 20px; line-height: 1.4; letter-spacing: -.5px; font-weight: 650; }
.dashboard-page .next-action-row #nextActionHint { margin-top: 6px; font-size: 13px; color: #526670; line-height: 1.65; }
.dashboard-page .next-action-row .button { padding: 11px 20px; flex-shrink: 0; }
.dashboard-page .dashboard-lower-grid { gap: 24px; }
.dashboard-page .usage-details { border-style: dashed; background: transparent; }
.dashboard-page .starter-dashboard { border-radius: 18px; background: #eaf0f3; border-color: #d1dde3; }
.dashboard-page .starter-dashboard__steps { background: #fff; border: 0; border-radius: 12px; }
.workspace-page .tools-drawer > summary, .workspace-page .history-details > summary, .workspace-page .usage-details > summary { font-size: 13px; color: var(--ui-muted); min-height: 44px; }
.scan-page .app > main { max-width: 1300px; }
.scan-page .scan-composer { padding: 28px; }
.scan-page .scan-methods { gap: 10px; margin-block: 26px; }
.scan-page .scan-methods button { min-height: 78px; display: flex; flex-direction: column; gap: 8px; border-radius: 10px; background: #fafbfc; }
.scan-page .scan-methods button.active { background: var(--ui-accent-soft); color: var(--ui-accent); border-color: var(--ui-accent); }
.scan-page .profile-picker { background: #f8fafb; border-radius: 10px; padding: 18px; }
.scan-page .scan-field { gap: 10px; }
.scan-page .scan-submit { padding-top: 24px; }
.scan-page .scan-composer-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.scan-composer-heading > .nav-icon { width: 38px; height: 38px; padding: 10px; flex-basis: 38px; border-radius: 10px; color: var(--ui-accent); background: var(--ui-accent-soft); }
.scan-composer-heading h2 { margin: 0 0 3px; }
.scan-composer-heading p { font-size: 12px; color: var(--ui-muted); margin: 0; }
.workspace-page .case-tabs { border-bottom: 1px solid var(--ui-line); padding-bottom: 10px; gap: 8px; }
.workspace-page .case-tabs :is(button,a).active { background: var(--ui-accent-soft); color: var(--ui-accent); border-color: #cddce3; }
.finding-evidence-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 16px; }
.finding-evidence-row .url { overflow-wrap: anywhere; line-height: 1.7; }
.finding-evidence-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.workspace-page .finding-evidence-actions :is(a,button) { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 12px; }
@media (max-width: 1200px) { .finding-evidence-row { grid-template-columns: 1fr; } }
@media (min-width: 701px) and (max-width:1200px) {
  .dashboard-page .takedowns-table :is(th,td):nth-child(4) { display: none; }
}
.workspace-page[data-shell=admin] .review-work-queue { gap: 14px; }
.workspace-page[data-shell=admin] .review-work-queue a { border-radius: 12px; border-color: var(--ui-line); background: #fafbfc; }
.workspace-page[data-shell=admin] .review-work-queue a:hover { background: var(--ui-accent-soft); border-color: #becfd8; }
.workspace-page[data-shell=admin] .queue-secondary { border: 1px solid var(--ui-line); border-radius: 12px; padding: 16px; background: #fafbfc; }
.workspace-page[data-shell=admin] .safety-review-grid { gap: 16px; }
.workspace-page[data-shell=admin] .small-text { line-height: 1.65; }
.workspace-page .billing-plan-card { border-radius: 16px; box-shadow: none; }
.workspace-page .billing-plan-card.is-featured { border: 2px solid var(--ui-accent) !important; }
.workspace-page .billing-plan-card .billing-plan-name { color: var(--ui-ink); }
.workspace-page .sidebar-toggle { z-index: 60; width: 44px; height: 44px; background: #fff; border: 1px solid var(--ui-line); border-radius: 9px; box-shadow: none; }
.workspace-page .sidebar-toggle span { background: var(--ui-ink); }
.workspace-page .sidebar-backdrop.show { z-index: 40; background: #182b3670; backdrop-filter: blur(2px); }
body.drawer-open { overflow: hidden; }
:is(.workspace-page,.viewer-page) .jump-dialog { margin: 13vh auto auto; padding: 0; width: min(560px,calc(100vw - 32px)); max-height: 70dvh; border: 1px solid var(--ui-line); border-radius: 16px; color: var(--ui-ink); background: #fff; box-shadow: 0 24px 80px #122c3933; }
.jump-dialog::backdrop { background: #182b3670; backdrop-filter: blur(3px); }
.jump-dialog-head { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px 0; }
.jump-dialog-head h2 { margin: 0; font-size: 17px; }
:is(.workspace-page,.viewer-page) .jump-close { background: transparent; color: var(--ui-muted); border: 0; box-shadow: none; padding: 8px; font-size: 20px; min-width: 44px; min-height: 44px; }
.jump-search-wrap { padding: 10px 20px 16px; }
.jump-search-wrap label { display: block; font-size: 12px; color: var(--ui-muted); margin-bottom: 8px; }
.workspace-page .jump-search-wrap input { width: 100%; margin: 0; }
.jump-results { display: flex; flex-direction: column; gap: 4px; padding: 0 12px 12px; max-height: 42dvh; overflow: auto; }
.jump-results a { display: flex; align-items: center; gap: 12px; padding: 13px; border-radius: 8px; color: var(--ui-ink); font-size: 14px; }
.jump-results a:hover, .jump-results a:focus { background: var(--ui-accent-soft); color: var(--ui-accent); }
.jump-empty { padding: 20px; font-size: 14px; color: var(--ui-muted); }
.viewer-search-status { padding: 8px 20px; font-size: 13px; color: var(--ui-muted); }
.viewer-search-results a { display: block; overflow-wrap: anywhere; }
.viewer-search-results small { display: block; margin-top: 6px; color: var(--ui-muted); font-size: 12px; }
.jump-footer { margin: 0; padding: 12px 20px; border-top: 1px solid var(--ui-line); font-size: 11px; color: var(--ui-muted); }
.auth-page { background: var(--ui-canvas); color: var(--ui-ink); }
.auth-page .auth-public-nav { max-width: 1280px; padding: 24px 40px; border: 0; }
.auth-page .auth-public-links > a:not(.button) { display: none; }
.auth-page .auth-layout { max-width: 1200px; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; padding: 30px 40px 60px; }
.auth-page .auth-copy { align-self: stretch; padding: 56px 44px; border-radius: 22px; background: #17323f; color: #fff; position: relative; overflow: hidden; }
.auth-page .auth-copy h1 { color: #fff; font-size: clamp(34px,3.5vw,50px); line-height: 1.1; letter-spacing: -1.7px; max-width: 10ch; }
.auth-page .auth-copy p { color: #d4dfe5; font-size: 15px; line-height: 1.8; margin-top: 24px; }
.auth-page .auth-proof { display: grid; grid-template-columns: 1fr; gap: 13px; margin-top: 34px; }
.auth-page .auth-proof span { display: flex; align-items: center; gap: 12px; border: 0; background: transparent; box-shadow: none; color: #dfe8ed; font-size: 13px; padding: 0; }
.auth-page .auth-proof span::before { content: '✓'; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; color: #bce6c9; background: #ffffff10; }
.auth-page .auth-card { border: 0; background: transparent; padding: 16px 0; box-shadow: none; max-width: 400px; }
.auth-page .auth-card h2 { font-size: 27px; font-weight: 650; letter-spacing: -.8px; }
.auth-page .auth-card .sub { color: var(--ui-muted); font-size: 14px; }
.auth-page .auth-card label { color: var(--ui-ink); font-size: 13px; font-weight: 550; }
.auth-page .auth-card input { min-height: 48px; font-size: 16px; }
.auth-page .auth-card .field { margin-top: 20px; }
.auth-page .auth-card form > button[type=submit] { min-height: 48px; margin-top: 12px; }
.auth-page .security-hints { border-top: 1px solid var(--ui-line); padding-top: 20px; font-size: 12px; color: var(--ui-muted); }
.viewer-page { --bg: var(--ui-canvas); --bg-2: #fff; --bg-3: #f8fafb; --fg: var(--ui-ink); --line: var(--ui-line); background: var(--ui-canvas); color: var(--ui-ink); }
.viewer-page .toolbar { flex-wrap: wrap; gap: 10px; padding: 18px 24px; background: #fff; border-color: var(--ui-line); }
.viewer-page .toolbar .url { flex-basis: 250px; }
.viewer-page .toolbar :is(button,input,a) { min-height: 44px; border-radius: 8px; font-size: 13px; }
.viewer-page .toolbar a { display: inline-flex; align-items: center; }
.viewer-page .toolbar input { background: #f8fafb; }
.viewer-page .evidence-pane { background: #fff; border-color: var(--ui-line); padding: 18px 24px; }
@media (max-width:640px) { .viewer-page .toolbar { padding: 14px; } .viewer-page .toolbar input { width: 100%; min-width: 0; } }
/* Bottom bar is phone/tablet only; admin pages do not load customer.css. */
.customer-mobile-nav { display: none; }
@media (min-width: 1024px) { .workspace-page .sidebar-toggle { display: none; } }
@media (max-width: 1200px) {
  .workspace-page .app { grid-template-columns: 214px minmax(0,1fr); }
  .workspace-page .app > main { padding-inline: 26px; }
  .dashboard-page .dashboard-header { align-items: flex-start; flex-wrap: wrap; }
  .dashboard-page .dashboard-header-actions { margin-left: 0; }
}
@media (max-width: 1023px) {
  .workspace-page .app { display: block; }
  .workspace-page .app > aside { position: fixed; left: 0; top: 0; width: 256px; height: 100dvh; transform: translateX(-100%); transition: transform 180ms ease; padding-top: 80px; }
  .workspace-page .app > aside.open { transform: translateX(0); }
  .workspace-page .app > main { padding: 0 24px 110px; }
  .workspace-page .sidebar-toggle, .scan-header .sidebar-toggle { position: fixed; top: 17px; left: 20px; display: flex; margin: 0; }
  .workspace-toolbar { min-height: 78px; margin-bottom: 26px; padding-left: 56px; }
  .workspace-location > span { display: none; }
  .workspace-location { gap: 8px; }
  .workspace-page .customer-mobile-nav { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); position: fixed; bottom: 0; left: 0; right: 0; z-index: 35; padding: 7px 12px calc(7px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--ui-line); box-shadow: 0 -3px 20px #1f2d3407; }
  .workspace-page .customer-mobile-nav a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 52px; font-size: 11px; color: var(--ui-muted); background: transparent; border: 0; border-radius: 8px; padding: 6px 2px; text-decoration: none; }
  .customer-mobile-nav .nav-label { flex: 0; }
  .workspace-page .customer-mobile-nav a.active { color: var(--ui-accent); background: var(--ui-accent-soft); }
  .auth-page .auth-layout { gap: 36px; }
  .auth-page .auth-copy { padding: 40px 28px; }
}
@media (max-width: 640px) {
  .workspace-page .app > main { padding: 0 16px 108px; }
  .workspace-page .workspace-toolbar { padding-left: 58px; gap: 8px; margin-bottom: 24px; }
  .workspace-toolbar-actions { gap: 0; }
  .workspace-jump kbd, .workspace-help, .workspace-location .nav-icon { display: none; }
  .workspace-page .workspace-jump { padding: 10px; font-size: 11px; min-height: 44px; }
  .workspace-page .workspace-jump .nav-icon { width: 16px; height: 16px; flex-basis: 16px; }
  .workspace-page .topbar, .workspace-page .scan-header { flex-direction: column; align-items: stretch; gap: 16px; margin-bottom: 24px; }
  .workspace-page .topbar h1, .workspace-page .scan-header h1 { font-size: 27px; letter-spacing: -.8px; }
  .workspace-page .topbar .muted, .workspace-page .scan-header p { font-size: 13px; }
  .dashboard-page .dashboard-header-actions { width: 100%; display: flex; }
  .dashboard-page .dashboard-header-actions .button { flex: 1; padding: 10px; font-size: 12px; }
  .dashboard-page .dashboard-header-actions .user-pill { display: none; }
  .dashboard-page .outcome-cards { gap: 8px; }
  .dashboard-page .outcome-cards .card { padding: 15px 12px; border-radius: 12px; }
  .outcome-icon { position: static; width: 32px; height: 32px; margin-bottom: 12px; }
  .outcome-icon svg { width: 18px; height: 18px; }
  .dashboard-page .outcome-cards .card h3 { min-height: 32px; margin-bottom: 4px; font-size: 11px; line-height: 1.4; }
  .dashboard-page .outcome-cards .card::before { display: none; }
  .dashboard-page .outcome-cards .card .v { font-size: 28px; }
  .dashboard-page .outcome-cards .card .sub { font-size: 11px; line-height: 1.5; margin-left: 0; margin-top: 8px; }
  .dashboard-page .workflow-panel { padding: 20px !important; }
  .dashboard-page .next-action-row { flex-direction: column; align-items: stretch; gap: 16px; }
  .dashboard-page .next-action-row strong { font-size: 19px; }
  .workspace-page .panel, .scan-page .scan-composer { padding: 18px; margin-bottom: 18px; border-radius: 13px; }
  .workspace-page .section-heading { flex-wrap: wrap; gap: 12px; }
  .workspace-page .panel h2 { font-size: 17px; }
  .workspace-page :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { font-size: 16px; }
  .workspace-page .filter-group { flex-wrap: wrap; }
  .workspace-page .table-scroll { max-width: 100%; }
  .workspace-page .scan-methods { gap: 6px; }
  .scan-page .scan-methods button { min-height: 72px; font-size: 11px; }
  .scan-page .profile-picker { padding: 14px; }
  .workspace-page .dashboard-lower-grid { grid-template-columns: 1fr; }
  .auth-page .auth-public-nav { padding: 20px; }
  .auth-page .auth-layout { display: flex; flex-direction: column; padding: 10px 24px 40px; gap: 24px; }
  .auth-page .auth-copy { width: 100%; padding: 26px; border-radius: 16px; }
  .auth-page .auth-copy h1 { font-size: 32px; max-width: 14ch; margin: 0; }
  .auth-page .auth-copy p { margin: 14px 0 0; font-size: 13px; }
  /* Two of the four lines survive on phones: the price answer and the review
     promise. Hiding all four removed "Free for survivors / 14-day creator
     trial" from the only screen a mobile visitor saw before "3. Choose plan". */
  .auth-page .auth-proof { margin-top: 16px; gap: 8px; }
  .auth-page .auth-proof span:nth-child(2), .auth-page .auth-proof span:nth-child(3) { display: none; }
  .auth-page .auth-card { width: 100%; max-width: none; padding: 0; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* 2026-10-03 mobile sweep: the fixed menu button (17px, 20px) sat on top of the
   construction banner's first words; keep the text clear of it below desktop. */
@media (max-width: 1023px) {
  .workspace-page #constructionNotice {
    padding-left: 76px !important;
    padding-right: 14px !important;
    text-align: left !important;
    font-size: 13px !important;
    min-height: 64px;
    display: flex;
    align-items: center;
  }
}
