:root {
    color-scheme: light;
    --ink: #172033;
    --muted: #657086;
    --line: #dfe5ee;
    --line-strong: #cbd4e1;
    --surface: #ffffff;
    --canvas: #f4f7fb;
    --navy: #111b31;
    --blue: #2563eb;
    --blue-dark: #1746b2;
    --blue-soft: #eaf1ff;
    --cyan: #06b6d4;
    --green: #087f5b;
    --green-soft: #e6f7f1;
    --red: #b4232f;
    --red-soft: #fff0f1;
    --amber: #99600a;
    --amber-soft: #fff7dd;
    --on-accent: #ffffff;
    --code-bg: #edf1f7;
    --topbar-border: rgba(207, 217, 231, .9);
    --topbar-bg: rgba(255,255,255,.94);
    --nav-text: #48556b;
    --hover-bg: #f0f4f9;
    --subtle-bg: #f8fafc;
    --soft-bg: #fbfcfe;
    --muted-bg: #f4f6f8;
    --table-head-bg: #f7f9fc;
    --sticky-head-bg: #eef3f9;
    --sticky-hover-bg: #f8fafe;
    --label: #3f4c61;
    --input-bg: #ffffff;
    --placeholder: #98a2b4;
    --secondary-text: #32415a;
    --secondary-border-hover: #9daabd;
    --blue-border: #b8cdf7;
    --blue-border-soft: #cdddfb;
    --blue-border-state: #c5d8ff;
    --avatar-border: #cfe0ff;
    --active-tab-border: #a9c3f7;
    --blue-hover-bg: #dfeaff;
    --green-border: #b9ead9;
    --red-border: #f2c0c6;
    --amber-border: #f2dca2;
    --neutral-pill-bg: #f3f5f8;
    --neutral-pill-text: #536075;
    --source-text: #4a586d;
    --progress-bg: #e7ecf4;
    --separator: #a7b0c0;
    --incident-border: #efd9a4;
    --incident-text: #76521c;
    --incident-card-bg: rgba(255,255,255,.72);
    --subtab-text: #59667a;
    --sort-muted: #9aa6b8;
    --danger-hover: #831722;
    --value-text: #344159;
    --value-hover-bg: #f6f9fc;
    --present-border: #ccebe1;
    --present-bg: #f0faf6;
    --present-text: #17684f;
    --missing-border: #f1c2c7;
    --neutral-border: #e1e5ec;
    --neutral-text: #7c8798;
    --heading-count-bg: #f0f4f8;
    --image-preview-bg: #eef2f7;
    --image-canvas: #ffffff;
    --success-border: #b8e3d4;
    --flash-error-border: #efbbc2;
    --flash-warning-border: #ecd594;
    --auth-bg: #f2f6fb;
    --auth-card-border: rgba(203,212,225,.9);
    --auth-card-bg: rgba(255,255,255,.96);
    --auth-blue-glow: rgba(37,99,235,.15);
    --auth-cyan-glow: rgba(6,182,212,.13);
    --error-code: #dce5f1;
    --dialog-backdrop: rgba(10,20,38,.6);
    --detail-text: #25334a;
    --overview-border: #c9dbfb;
    --overview-bg: #f5f8ff;
    --overview-missing-border: #efc1c6;
    --overview-missing-bg: #fff7f8;
    --overview-neutral-bg: #f5f7f9;
    --overview-warning-bg: #fffbef;
    --focus-ring: rgba(37,99,235,.28);
    --focus-shadow: rgba(37,99,235,.13);
    --shadow: 0 14px 40px rgba(25, 48, 78, .08);
    --card-shadow: 0 8px 26px rgba(25,48,78,.05);
    --brand-shadow: 0 8px 20px rgba(37, 99, 235, .25);
    --primary-shadow: 0 8px 18px rgba(37,99,235,.18);
    --flash-shadow: 0 8px 18px rgba(20,40,70,.06);
    --auth-shadow: 0 24px 70px rgba(28,50,82,.13);
    --dialog-shadow: 0 26px 90px rgba(5,17,40,.3);
    --radius: 16px;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--ink);
    background: var(--canvas);
    font-synthesis: none;
}

:root[data-theme="dark"] {
    color-scheme: dark;
    --ink: #e6edf7;
    --muted: #a9b5c7;
    --line: #2b374b;
    --line-strong: #40506a;
    --surface: #151e2e;
    --canvas: #0b1220;
    --navy: #f4f7fb;
    --blue: #60a5fa;
    --blue-dark: #93c5fd;
    --blue-soft: #172b4f;
    --cyan: #22d3ee;
    --green: #6ee7b7;
    --green-soft: #12372f;
    --red: #fda4af;
    --red-soft: #3c2028;
    --amber: #fcd34d;
    --amber-soft: #3b3018;
    --on-accent: #07111f;
    --code-bg: #202b3d;
    --topbar-border: rgba(64, 80, 106, .88);
    --topbar-bg: rgba(15, 23, 38, .94);
    --nav-text: #b6c1d1;
    --hover-bg: #202b3d;
    --subtle-bg: #182335;
    --soft-bg: #111a2a;
    --muted-bg: #1b2638;
    --table-head-bg: #182335;
    --sticky-head-bg: #202d41;
    --sticky-hover-bg: #1d293c;
    --label: #c1cbda;
    --input-bg: #0f1828;
    --placeholder: #78869c;
    --secondary-text: #cbd5e3;
    --secondary-border-hover: #65758f;
    --blue-border: #355a91;
    --blue-border-soft: #29476e;
    --blue-border-state: #315581;
    --avatar-border: #29476e;
    --active-tab-border: #3a629d;
    --blue-hover-bg: #203c68;
    --green-border: #276956;
    --red-border: #75404a;
    --amber-border: #77602b;
    --neutral-pill-bg: #202b3c;
    --neutral-pill-text: #bdc8d8;
    --source-text: #c0cada;
    --progress-bg: #253146;
    --separator: #6f7c91;
    --incident-border: #6b572a;
    --incident-text: #f3cf72;
    --incident-card-bg: rgba(17,26,42,.7);
    --subtab-text: #bdc7d6;
    --sort-muted: #78869c;
    --danger-hover: #fecdd3;
    --value-text: #d7e0ec;
    --value-hover-bg: #1b2739;
    --present-border: #296453;
    --present-bg: #12372f;
    --present-text: #83e6c2;
    --missing-border: #75404a;
    --neutral-border: #3a465a;
    --neutral-text: #aab5c5;
    --heading-count-bg: #202b3d;
    --image-preview-bg: #202b3d;
    --success-border: #296453;
    --flash-error-border: #75404a;
    --flash-warning-border: #77602b;
    --auth-bg: #09111e;
    --auth-card-border: rgba(64,80,106,.9);
    --auth-card-bg: rgba(21,30,46,.97);
    --auth-blue-glow: rgba(37,99,235,.22);
    --auth-cyan-glow: rgba(6,182,212,.15);
    --error-code: #344258;
    --dialog-backdrop: rgba(0,5,14,.78);
    --detail-text: #d7e0ec;
    --overview-border: #355a91;
    --overview-bg: #14233c;
    --overview-missing-border: #75404a;
    --overview-missing-bg: #301c24;
    --overview-neutral-bg: #1b2638;
    --overview-warning-bg: #332b18;
    --focus-ring: rgba(96,165,250,.46);
    --focus-shadow: rgba(96,165,250,.22);
    --shadow: 0 14px 40px rgba(0,0,0,.28);
    --card-shadow: 0 8px 26px rgba(0,0,0,.2);
    --brand-shadow: 0 8px 20px rgba(37,99,235,.3);
    --primary-shadow: 0 8px 18px rgba(37,99,235,.24);
    --flash-shadow: 0 8px 18px rgba(0,0,0,.18);
    --auth-shadow: 0 24px 70px rgba(0,0,0,.38);
    --dialog-shadow: 0 26px 90px rgba(0,0,0,.55);
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--canvas); }
body { min-height: 100vh; margin: 0; background: var(--canvas); color: var(--ink); font-size: 16px; line-height: 1.5; }
a { color: inherit; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
code, pre { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; }
code { padding: .12rem .34rem; border-radius: 5px; background: var(--code-bg); font-size: .9em; }

.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; }
.topbar { position: sticky; top: 0; z-index: 40; display: flex; align-items: center; gap: 28px; min-height: 68px; padding: 10px clamp(18px, 4vw, 64px); border-bottom: 1px solid var(--topbar-border); background: var(--topbar-bg); backdrop-filter: blur(14px); }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--navy); font-size: 1.05rem; font-weight: 800; letter-spacing: -.02em; text-decoration: none; }
.brand-mark { display: block; width: 34px; height: 34px; border-radius: 10px; object-fit: cover; box-shadow: var(--brand-shadow); }
.main-nav { display: flex; align-items: center; gap: 6px; }
.main-nav a { padding: 8px 11px; border-radius: 8px; color: var(--nav-text); font-size: .92rem; font-weight: 650; text-decoration: none; }
.main-nav a:hover { background: var(--hover-bg); color: var(--navy); }
.user-menu { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.user-menu form, td form { margin: 0; }
.user-chip { max-width: 180px; overflow: hidden; color: var(--muted); font-size: .88rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.theme-toggle { display: grid; flex: 0 0 auto; width: 44px; height: 44px; place-items: center; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--muted); cursor: pointer; }
.theme-toggle:hover { border-color: var(--line-strong); background: var(--subtle-bg); color: var(--navy); }
.theme-toggle:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.theme-toggle-icon { font-size: 1.15rem; line-height: 1; }
.main-content { width: min(1680px, 100%); margin: 0 auto; padding: 36px clamp(18px, 4vw, 64px) 72px; }

h1, h2, h3 { margin: 0; color: var(--navy); line-height: 1.15; letter-spacing: -.035em; }
h1 { font-size: clamp(2rem, 3vw, 3rem); }
h2 { font-size: clamp(1.35rem, 2vw, 1.75rem); }
h3 { font-size: 1.12rem; }
p { margin: 0; }
.eyebrow { margin: 0 0 7px; color: var(--blue); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.page-heading { margin: 6px 0 28px; }
.page-heading > p:last-child { max-width: 720px; margin-top: 10px; color: var(--muted); }
.page-heading-split { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.heading-stat { display: flex; align-items: baseline; gap: 7px; color: var(--muted); }
.heading-stat strong { color: var(--navy); font-size: 2rem; }
.breadcrumbs { display: flex; align-items: center; gap: 9px; margin-bottom: 22px; color: var(--muted); font-size: .86rem; }
.breadcrumbs a { color: var(--blue-dark); text-decoration: none; }
.muted-link { display: inline-block; max-width: 100%; margin-top: 7px; overflow: hidden; color: var(--muted); font-size: .88rem; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.muted-link:hover { color: var(--blue); }

.panel { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.launch-panel { padding: clamp(20px, 3vw, 30px); }
.panel-heading, .section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.info-chip, .source-chip > span { display: inline-flex; align-items: center; border: 1px solid var(--blue-border-soft); border-radius: 999px; background: var(--blue-soft); color: var(--blue-dark); font-size: .73rem; font-weight: 750; white-space: nowrap; }
.info-chip { min-height: 30px; padding: 4px 10px; }
.launch-form { display: grid; grid-template-columns: minmax(320px, 1.7fr) minmax(190px, .7fr) auto; align-items: end; gap: 14px; }
.launch-form:has(input[name="project_id"]) { grid-template-columns: minmax(300px, 1fr) auto; }
.form-stack { display: grid; gap: 17px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
label { display: grid; gap: 7px; color: var(--label); font-size: .84rem; font-weight: 700; }
label small { color: var(--muted); font-weight: 500; }
input, select { width: 100%; min-height: 44px; border: 1px solid var(--line-strong); border-radius: 10px; outline: none; background: var(--input-bg); color: var(--ink); padding: 10px 12px; transition: border-color .15s, box-shadow .15s; }
input::placeholder { color: var(--placeholder); }
input:focus, select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px var(--focus-shadow); }
.form-note { margin-top: 13px; color: var(--muted); font-size: .82rem; }
.button { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: 8px; border: 1px solid transparent; border-radius: 10px; padding: 9px 15px; cursor: pointer; font-weight: 750; text-decoration: none; transition: transform .12s, background .15s, border-color .15s; white-space: nowrap; }
.button:hover { transform: translateY(-1px); }
.button:focus-visible, .value-cell:focus-visible, .source-chip:focus-visible, .icon-button:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.button-primary { background: var(--blue); color: var(--on-accent); box-shadow: var(--primary-shadow); }
.button-primary:hover { background: var(--blue-dark); }
.button-secondary { border-color: var(--line-strong); background: var(--surface); color: var(--secondary-text); }
.button-secondary:hover { border-color: var(--secondary-border-hover); background: var(--subtle-bg); }
.button-ghost { border-color: transparent; background: transparent; color: var(--muted); }
.button-ghost:hover { background: var(--hover-bg); color: var(--ink); }
.button-small { min-height: 34px; padding: 6px 10px; border-radius: 8px; font-size: .8rem; }
.button-block { width: 100%; }
.button.disabled { pointer-events: none; opacity: .42; }

.section-block { margin-top: 38px; }
.section-block-first { margin-top: 0; }
.project-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(285px, 1fr)); gap: 18px; }
.project-card { min-width: 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); padding: 22px; box-shadow: var(--card-shadow); transition: transform .15s, box-shadow .15s; }
.project-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.project-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 17px; }
.site-avatar { position: relative; display: grid; flex: 0 0 auto; width: 42px; height: 42px; overflow: hidden; place-items: center; border: 1px solid var(--avatar-border); border-radius: 12px; background: var(--blue-soft); color: var(--blue-dark); font-weight: 850; }
.project-avatar img[data-project-icon] { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; background: var(--image-canvas); object-fit: contain; }
.project-avatar-large { width: 72px; height: 72px; border-radius: 18px; font-size: 1.35rem; box-shadow: var(--brand-shadow); }
img[data-project-icon][hidden], .project-icon-fallback[hidden] { display: none; }
.project-icon-fallback { display: grid; width: 100%; height: 100%; place-items: center; color: var(--blue-dark); font-weight: 850; }
.project-card h3 a { text-decoration: none; }
.project-card-action { margin-top: 22px; }
.card-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 22px 0; }
.card-metrics div:first-child { grid-column: 1 / -1; }
.card-metrics dt { color: var(--muted); font-size: .72rem; }
.card-metrics dd { margin: 2px 0 0; color: var(--navy); font-size: .9rem; font-weight: 750; }
.empty-state { padding: 48px 24px; text-align: center; }
.empty-state p { margin-top: 8px; color: var(--muted); }
.empty-icon { display: block; margin-bottom: 12px; color: var(--blue); font-size: 2.2rem; }

.project-title-block { display: flex; min-width: 0; align-items: center; gap: 18px; }
.project-title-block > div { min-width: 0; }
.project-management { margin: -6px 0 28px; overflow: hidden; box-shadow: none; }
.project-management > summary { padding: 14px 18px; cursor: pointer; color: var(--secondary-text); font-size: .86rem; font-weight: 800; list-style-position: inside; }
.project-management[open] > summary { border-bottom: 1px solid var(--line); background: var(--subtle-bg); }
.project-management-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; padding: 22px; }
.project-management-body > section { min-width: 0; border: 1px solid var(--line); border-radius: 12px; padding: 18px; }
.project-management-body h2 { font-size: 1.05rem; }
.project-icon-form, .delete-project-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 12px; margin-top: 17px; }
.inline-management-form { margin-top: 9px; }
.danger-zone { border-color: var(--missing-border) !important; background: var(--red-soft); }
.button-danger { border-color: var(--red); background: var(--red); color: var(--on-accent); }
.button-danger:hover { border-color: var(--danger-hover); background: var(--danger-hover); }
.table-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.table-actions form { flex: 0 0 auto; }

.run-status, .status-pill { display: inline-flex; align-items: center; min-height: 27px; border: 1px solid var(--line); border-radius: 999px; background: var(--neutral-pill-bg); color: var(--neutral-pill-text); padding: 3px 9px; font-size: .72rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.run-status-running, .run-status-discovering, .run-status-queued { border-color: var(--blue-border-state); background: var(--blue-soft); color: var(--blue-dark); }
.run-status-completed { border-color: var(--green-border); background: var(--green-soft); color: var(--green); }
.run-status-completed_with_errors { border-color: var(--amber-border); background: var(--amber-soft); color: var(--amber); }
.run-status-failed { border-color: var(--red-border); background: var(--red-soft); color: var(--red); }
a.run-status:hover { border-color: currentColor; filter: brightness(.97); }
a.run-status:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.source-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 17px; }
.source-chip { display: inline-flex; max-width: 100%; min-height: 36px; align-items: center; gap: 8px; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: var(--subtle-bg); color: var(--source-text); padding: 6px 9px; cursor: pointer; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.source-chip > span { padding: 1px 6px; }

.table-shell { width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.data-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .9rem; }
.data-table th { position: sticky; top: 0; z-index: 3; background: var(--table-head-bg); color: var(--neutral-pill-text); font-size: .77rem; font-weight: 800; letter-spacing: .045em; text-align: left; text-transform: uppercase; }
.data-table th, .data-table td { min-width: 120px; border-bottom: 1px solid var(--line); padding: 12px 13px; vertical-align: middle; }
.data-table tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover td { background-color: var(--soft-bg); }
.data-table .url-column { max-width: 360px; }
.cell-truncate { display: block; max-width: 360px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.url-column small { display: block; margin-top: 3px; color: var(--muted); }
.empty-cell { padding: 42px !important; color: var(--muted); text-align: center; }
.history-table th:last-child, .history-table td:last-child { min-width: 330px; text-align: right; }

.run-header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, .65fr); gap: 24px; margin-bottom: 28px; }
.run-title, .run-progress { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); padding: 24px; box-shadow: var(--shadow); }
.run-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.run-progress { display: grid; align-content: center; gap: 11px; }
.run-retry-panel { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 15px 0; border: 1px solid var(--blue-border); border-radius: var(--radius); background: var(--blue-soft); padding: 16px 20px; }
.run-retry-panel p { color: var(--ink); font-size: .86rem; line-height: 1.55; }
.run-retry-panel small { display: block; margin-top: 7px; color: var(--muted); font-size: .76rem; line-height: 1.5; }
.run-retry-form { flex-shrink: 0; }
.queue-status-panel { display: grid; gap: 13px; margin: 18px 0 25px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); padding: 20px 24px; }
.queue-status-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.queue-status-heading h2 { font-size: 1.02rem; }
.queue-status-heading .eyebrow { margin-bottom: 5px; }
.queue-state-label { display: inline-flex; align-items: center; min-height: 28px; border: 1px solid var(--blue-border); border-radius: 999px; background: var(--blue-soft); padding: 4px 10px; color: var(--blue-dark); font-size: .76rem; font-weight: 800; }
.queue-status-panel[data-queue-state="paused"] .queue-state-label { border-color: var(--amber-border); background: var(--amber-soft); color: var(--amber); }
.queue-status-panel[data-queue-state="processing"] .queue-state-label { border-color: var(--green-border); background: var(--green-soft); color: var(--green); }
.queue-status-panel[data-queue-state="idle"] .queue-state-label { border-color: var(--line); background: var(--neutral-pill-bg); color: var(--muted); }
.queue-status-message, .queue-status-timing { margin: 0; color: var(--ink); font-size: .85rem; line-height: 1.55; }
.queue-status-counts { display: flex; flex-wrap: wrap; gap: 7px 18px; color: var(--muted); font-size: .77rem; }
.queue-status-counts strong { color: var(--ink); }
.queue-status-refresh { color: var(--muted); font-size: .73rem; line-height: 1.5; }
.queue-resume-opportunity { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid var(--line); padding-top: 14px; }
.queue-resume-opportunity p { margin: 0; color: var(--ink); font-size: .82rem; line-height: 1.55; }
.queue-resume-opportunity small { display: block; margin-top: 5px; color: var(--muted); font-size: .76rem; line-height: 1.5; }
.queue-resume-form { flex-shrink: 0; }
.queue-resume-form button:disabled { cursor: not-allowed; opacity: .65; }
.queue-status-panel [hidden] { display: none; }
.history-queue-state { display: block; margin-top: 6px; max-width: 240px; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.row-retry-form { margin-top: 8px; }
.row-retry-button { display: inline-flex; align-items: center; min-height: 44px; border: 1px solid var(--blue-border); border-radius: 8px; background: var(--surface); color: var(--blue-dark); padding: 7px 10px; cursor: pointer; font-size: .72rem; font-weight: 800; }
.row-retry-button:hover { border-color: var(--blue); background: var(--blue-hover-bg); }
.row-retry-button:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.row-retry-button:disabled { cursor: wait; opacity: .65; }
.row-retry-pending { display: inline-flex; align-items: center; min-height: 28px; margin-top: 8px; border: 1px solid var(--blue-border); border-radius: 7px; background: var(--blue-soft); padding: 4px 8px; color: var(--blue-dark); font-size: .73rem; font-weight: 750; }
.retry-unavailable { display: block; margin-top: 8px; color: var(--muted); font-size: .72rem; line-height: 1.4; }
.worker-incident-list .row-retry-form, .worker-incident-list .url-overview-button { justify-self: start; }
.incident-pagination { padding: 10px 0 0; }
.progress-copy, .run-meta { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: .78rem; }
.progress-copy strong { color: var(--navy); }
.omitted-summary { justify-self: start; color: var(--muted); font-size: .78rem; text-underline-offset: 2px; }
.omitted-summary:hover { color: var(--blue-dark); }
.omitted-summary:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; border-radius: 4px; }
.inline-info { color: var(--muted); }
.omitted-notice { margin: 0; padding: 12px 18px; border-bottom: 1px solid var(--line); color: var(--muted); background: var(--subtle-bg); font-size: .8rem; line-height: 1.5; }
.crawler-credentials-form { display: grid; gap: 12px; margin-top: 17px; }
.progress-track { width: 100%; height: 9px; overflow: hidden; border: 0; border-radius: 999px; background: var(--progress-bg); appearance: none; }
.progress-track::-webkit-progress-bar { border-radius: 999px; background: var(--progress-bg); }
.progress-track::-webkit-progress-value { border-radius: 999px; background: linear-gradient(90deg, var(--blue), var(--cyan)); }
.progress-track::-moz-progress-bar { border-radius: 999px; background: linear-gradient(90deg, var(--blue), var(--cyan)); }
.run-meta { justify-content: flex-start; flex-wrap: wrap; }
.run-meta span + span::before { content: "·"; margin-right: 8px; color: var(--separator); }
.inline-error { border-radius: 8px; background: var(--red-soft); color: var(--red); padding: 9px 11px; font-size: .8rem; }
.inline-warning { border-radius: 8px; background: var(--amber-soft); color: var(--amber); padding: 9px 11px; font-size: .8rem; }
.result-tabs { display: flex; gap: 4px; overflow-x: auto; border-bottom: 1px solid var(--line-strong); }
.result-tabs a { flex: 0 0 auto; border-bottom: 3px solid transparent; color: var(--muted); padding: 12px 16px; font-size: .88rem; font-weight: 750; text-decoration: none; }
.result-tabs a:hover { color: var(--blue); }
.result-tabs a.active { border-color: var(--blue); color: var(--blue-dark); }
.results-panel { margin-top: 16px; overflow: visible; box-shadow: none; }
.results-toolbar { display: flex; align-items: center; gap: 12px; padding: 16px; border-bottom: 1px solid var(--line); }
.search-form { display: flex; flex: 1; align-items: center; gap: 9px; }
.search-form label:first-of-type { flex: 1; max-width: 520px; }
.search-form input, .search-form select { min-height: 40px; }
.result-count { margin-left: auto; color: var(--muted); font-size: .78rem; white-space: nowrap; }
.export-menu { position: relative; flex: 0 0 auto; }
.export-menu > summary { list-style: none; }
.export-menu > summary::-webkit-details-marker { display: none; }
.export-menu[open] > summary { border-color: var(--blue); color: var(--blue-dark); }
.export-menu-options { position: absolute; top: calc(100% + 7px); right: 0; z-index: 30; display: grid; min-width: 250px; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 11px; background: var(--surface); box-shadow: var(--shadow); }
.export-menu-options a { padding: 11px 13px; color: var(--secondary-text); font-size: .82rem; font-weight: 700; text-decoration: none; }
.export-menu-options a + a { border-top: 1px solid var(--line); }
.export-menu-options a:hover, .export-menu-options a:focus-visible { background: var(--subtle-bg); color: var(--blue-dark); outline: none; }
.active-column-filter { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--blue-border); background: var(--blue-soft); padding: 10px 16px; color: var(--blue-dark); font-size: .8rem; }
.active-column-filter span { min-width: 0; overflow-wrap: anywhere; }
.active-column-filter a { flex: 0 0 auto; color: inherit; font-weight: 800; text-underline-offset: 2px; }
.active-column-filter a:focus-visible { border-radius: 4px; outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.worker-incidents { display: grid; grid-template-columns: minmax(240px, .55fr) minmax(0, 1.45fr); gap: 18px; border-bottom: 1px solid var(--incident-border); background: var(--amber-soft); padding: 18px 16px; }
.worker-incidents h2 { font-size: 1rem; }
.worker-incidents p:not(.eyebrow) { margin-top: 6px; color: var(--incident-text); font-size: .8rem; }
.worker-incident-list { display: grid; gap: 8px; }
.worker-incident-list article { display: grid; gap: 3px; border: 1px solid var(--incident-border); border-radius: 9px; background: var(--incident-card-bg); padding: 9px 11px; }
.worker-incident-list a { overflow-wrap: anywhere; color: var(--blue-dark); font-size: .8rem; font-weight: 750; text-decoration: none; }
.worker-incident-list span { overflow-wrap: anywhere; color: var(--incident-text); font-size: .76rem; }
.worker-incident-list small { color: var(--muted); font-size: .7rem; }
.subtabs { display: flex; gap: 7px; overflow-x: auto; padding: 13px 16px; border-bottom: 1px solid var(--line); background: var(--soft-bg); }
.subtabs a { flex: 0 0 auto; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--subtab-text); padding: 6px 11px; font-size: .75rem; font-weight: 750; text-decoration: none; }
.subtabs a.active { border-color: var(--blue-border); background: var(--blue-soft); color: var(--blue-dark); }
.table-scroll { max-height: min(66vh, 780px); border: 0; border-radius: 0; }
.audit-table { width: max-content; min-width: 100%; }
.audit-table th, .audit-table td { max-width: 280px; min-width: 170px; }
.audit-table th:first-child, .audit-table td:first-child { min-width: 310px; max-width: 310px; }
.audit-table.is-column-resizable { table-layout: fixed; }
.audit-table.is-column-resizable th, .audit-table.is-column-resizable td { min-width: 0; max-width: none; }
.audit-table.is-column-resizable th:first-child, .audit-table.is-column-resizable td:first-child { min-width: 0; max-width: none; }
.audit-table.is-column-resizable .sequence-cell, .audit-table.is-column-resizable .image-source-cell { min-width: 0; }
.audit-table .sortable-column { padding-right: 18px; user-select: none; }
.column-heading { display: flex; min-width: 0; align-items: center; gap: 7px; }
.table-sort-link { min-width: 0; color: inherit; line-height: 1.25; text-decoration: none; }
.table-sort-link::after { content: "↕"; display: inline-block; margin-left: 6px; color: var(--sort-muted); font-size: .9em; letter-spacing: 0; }
.audit-table .sortable-column[aria-sort="ascending"] .table-sort-link::after { content: "↑"; color: var(--blue); }
.audit-table .sortable-column[aria-sort="descending"] .table-sort-link::after { content: "↓"; color: var(--blue); }
.table-sort-link:focus-visible { border-radius: 4px; outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.column-filter-trigger { position: relative; display: grid; flex: 0 0 auto; width: 30px; height: 30px; place-items: center; border: 1px solid transparent; border-radius: 7px; background: transparent; color: var(--muted); cursor: pointer; }
.column-filter-trigger svg { width: 16px; height: 16px; fill: currentColor; }
.column-filter-trigger:hover { border-color: var(--line-strong); background: var(--surface); color: var(--blue-dark); }
.column-filter-trigger.is-active { border-color: var(--blue-border); background: var(--blue-soft); color: var(--blue-dark); box-shadow: inset 0 0 0 1px var(--blue-border-soft); }
.column-filter-trigger.is-active::after { content: ""; position: absolute; top: 3px; right: 3px; width: 5px; height: 5px; border-radius: 999px; background: var(--blue); }
.column-filter-trigger:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 1px; }
.column-resizer { position: absolute; top: 0; right: -5px; z-index: 8; width: 11px; height: 100%; cursor: col-resize; touch-action: none; }
.column-resizer::after { content: ""; position: absolute; top: 20%; bottom: 20%; left: 5px; width: 2px; border-radius: 999px; background: transparent; }
.column-resizer:hover::after, .column-resizer:focus-visible::after, .column-resizer.is-resizing::after { background: var(--blue); }
.column-resizer:focus-visible { outline: none; }
.is-resizing-table, .is-resizing-table * { cursor: col-resize !important; user-select: none !important; }
.table-controls-hint { border-bottom: 1px solid var(--line); background: var(--soft-bg); padding: 8px 16px; color: var(--muted); font-size: .75rem; }
.column-filter-dialog { width: min(500px, calc(100vw - 30px)); max-width: none; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 16px; background: var(--surface); color: var(--ink); padding: 0; box-shadow: var(--dialog-shadow); }
.column-filter-dialog::backdrop { background: var(--dialog-backdrop); backdrop-filter: blur(3px); }
.column-filter-dialog-shell { display: grid; }
.column-filter-dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); padding: 19px 20px; }
.column-filter-dialog-header h2 { margin-top: 2px; color: var(--navy); font-size: 1.18rem; line-height: 1.3; text-transform: none; }
.column-filter-dialog-header h2 span { overflow-wrap: anywhere; }
.column-filter-dialog-body { display: grid; gap: 15px; padding: 20px; }
.column-filter-search { display: grid; gap: 9px; }
.column-filter-search > label { color: var(--label); font-size: .79rem; font-weight: 750; }
.column-filter-search-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
.column-filter-search-row input { width: 100%; min-height: 44px; }
.column-filter-search-row .button { min-width: 92px; }
.column-filter-divider { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.column-filter-divider::before, .column-filter-divider::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.column-empty-filter-link { width: 100%; min-height: 44px; justify-content: center; text-align: center; }
.column-filter-help { color: var(--muted); font-size: .76rem; line-height: 1.5; }
.column-filter-clear { justify-self: start; color: var(--blue-dark); font-size: .78rem; font-weight: 750; text-underline-offset: 2px; }
.column-filter-clear:focus-visible { border-radius: 4px; outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.sticky-column { position: sticky !important; left: 0; z-index: 2; border-right: 1px solid var(--line-strong); background: var(--surface); }
.data-table th.sticky-column { z-index: 5; background: var(--sticky-head-bg); }
.data-table tbody tr:hover .sticky-column { background: var(--sticky-hover-bg); }
.url-cell a { display: block; overflow: hidden; color: var(--blue-dark); font-size: .86rem; font-weight: 700; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.url-cell > span { display: block; margin-top: 4px; color: var(--muted); font-size: .78rem; }
.url-overview-button { display: inline-flex; min-height: 44px; align-items: center; margin-top: 8px; border: 1px solid var(--blue-border); border-radius: 8px; background: var(--blue-soft); padding: 7px 10px; color: var(--blue-dark); cursor: pointer; font-size: .72rem; font-weight: 800; line-height: 1.2; text-align: left; }
.url-overview-button:hover { border-color: var(--blue); background: var(--blue-hover-bg); }
.url-overview-button:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.row-delete-form { margin-top: 7px; }
.row-delete-button { border: 0; background: transparent; padding: 0; color: var(--red); cursor: pointer; font-size: .75rem; font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }
.row-delete-button:hover { color: var(--danger-hover); }
.value-cell { display: grid; width: 100%; min-height: 44px; max-height: 76px; align-content: center; overflow: hidden; border: 1px solid transparent; border-radius: 8px; background: transparent; padding: 8px 10px; color: var(--value-text); font-size: .875rem; line-height: 1.3; text-align: left; text-overflow: ellipsis; }
button.value-cell { cursor: pointer; }
button.value-cell:hover { border-color: var(--line-strong); background: var(--value-hover-bg); }
.value-cell > span { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.value-cell small { margin-top: 3px; color: var(--muted); font-size: .75rem; font-weight: 750; }
.status-present { border-color: var(--present-border); background: var(--present-bg); color: var(--present-text); }
.status-missing, .status-empty { border-color: var(--missing-border); background: var(--red-soft); color: var(--red); font-weight: 750; }
.status-not_applicable { border-color: var(--neutral-border); background: var(--muted-bg); color: var(--neutral-text); }
.status-not_analyzed, .status-invalid { border-color: var(--incident-border); background: var(--amber-soft); color: var(--amber); }
.heading-count { display: inline-grid; min-width: 32px; height: 32px; place-items: center; border-radius: 8px; background: var(--heading-count-bg); font-weight: 800; }
.heading-count.status-missing { background: var(--red-soft); }
.sequence-cell { min-width: 420px; }
.images-table .image-source-cell { min-width: 280px; }
.image-url-view { display: -webkit-box; overflow: hidden; color: var(--blue-dark); text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.audit-table td.is-wide-column .value-cell { max-height: none; overflow: visible; overflow-wrap: anywhere; }
.audit-table td.is-wide-column .value-cell > span, .audit-table td.is-wide-column .image-url-view { display: block; overflow: visible; overflow-wrap: anywhere; -webkit-line-clamp: unset; }
.audit-table td.is-wide-column.url-cell > a { overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; }
.image-preview-view { position: relative; width: 148px; height: 92px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--image-preview-bg); }
.image-preview-view img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; background: var(--image-canvas); }
.image-preview-view span { position: absolute; inset: 0; display: grid; place-items: center; color: var(--muted); font-size: .72rem; text-align: center; }
.image-preview-view.is-error img { display: none; }
.pagination { display: flex; align-items: center; justify-content: center; gap: 15px; padding: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: .82rem; }

.compare-heading p:last-child { max-width: 760px; }
.compare-selector { padding: clamp(20px, 3vw, 28px); }
.compare-selector .panel-heading { align-items: center; margin-bottom: 18px; }
.compare-select-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; gap: 14px; }
.compare-select-form select { min-width: 0; }
.compare-empty-state { border-radius: 12px; background: var(--soft-bg); }
.compare-period { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 14px; align-items: center; margin: 24px 0; }
.compare-period > div { display: flex; min-width: 0; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); padding: 13px 16px; }
.compare-period > div > span { color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.compare-period > div > strong { color: var(--navy); font-size: .87rem; }
.compare-period > div > a { margin-left: auto; color: var(--blue-dark); font-size: .78rem; font-weight: 750; }
.compare-period-arrow { color: var(--blue); font-size: 1.45rem; font-weight: 800; }
.compare-warnings { display: grid; gap: 8px; margin-bottom: 20px; border: 1px solid var(--amber-border); border-radius: 11px; background: var(--amber-soft); padding: 13px 16px; color: var(--amber); font-size: .83rem; line-height: 1.5; }
.compare-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 22px; }
.compare-summary-card { display: grid; gap: 9px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); padding: 15px; color: var(--muted); text-decoration: none; box-shadow: var(--card-shadow); }
.compare-summary-card:hover, .compare-summary-card:focus-visible { border-color: var(--blue-border); background: var(--soft-bg); outline: none; }
.compare-summary-card.is-selected { border-color: var(--blue); box-shadow: inset 0 0 0 1px var(--blue); }
.compare-summary-card > span { font-size: .76rem; font-weight: 800; }
.compare-summary-card > strong { color: var(--navy); font-size: 1.8rem; line-height: 1; }
.compare-summary-card.compare-status-new > strong { color: var(--green); }
.compare-summary-card.compare-status-removed > strong { color: var(--red); }
.compare-summary-card.compare-status-changed > strong { color: var(--blue-dark); }
.compare-summary-card.compare-status-unavailable > strong { color: var(--amber); }
.compare-results { overflow: hidden; box-shadow: none; }
.compare-results-header { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding: 20px; }
.compare-search-form { display: flex; flex-wrap: wrap; align-items: end; justify-content: flex-end; gap: 9px; }
.compare-search-form input { min-width: 220px; }
.compare-search-form select { min-width: 150px; }
.compare-status-tabs { padding: 0 10px; }
.compare-status-tabs a span { margin-left: 4px; color: var(--muted); font-size: .75rem; }
.compare-result-count { border-bottom: 1px solid var(--line); background: var(--soft-bg); padding: 10px 18px; color: var(--muted); font-size: .77rem; }
.compare-table-shell { border: 0; border-radius: 0; }
.compare-table th:first-child, .compare-table td:first-child { min-width: 300px; }
.compare-table th:last-child, .compare-table td:last-child { min-width: 180px; }
.compare-url-cell { max-width: 600px; overflow-wrap: anywhere; }
.compare-url-cell a { color: var(--blue-dark); font-size: .84rem; font-weight: 700; text-decoration: none; }
.compare-url-cell a:hover { text-decoration: underline; }
.compare-status-badge { display: inline-flex; border: 1px solid var(--line); border-radius: 999px; background: var(--neutral-pill-bg); padding: 5px 10px; color: var(--neutral-pill-text); font-size: .75rem; font-weight: 800; white-space: nowrap; }
.compare-status-badge.compare-status-new { border-color: var(--green-border); background: var(--green-soft); color: var(--green); }
.compare-status-badge.compare-status-removed { border-color: var(--red-border); background: var(--red-soft); color: var(--red); }
.compare-status-badge.compare-status-changed { border-color: var(--blue-border); background: var(--blue-soft); color: var(--blue-dark); }
.compare-status-badge.compare-status-unavailable { border-color: var(--amber-border); background: var(--amber-soft); color: var(--amber); }
.compare-muted { color: var(--muted); font-size: .8rem; }
.compare-run-links { white-space: nowrap; }
.compare-run-links a { margin-right: 12px; color: var(--blue-dark); font-size: .78rem; font-weight: 750; }
.compare-detail-row td { border-bottom-color: var(--line-strong); background: var(--soft-bg); padding: 0 18px 15px; }
.compare-row-details { border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.compare-row-details > summary { padding: 10px 13px; color: var(--blue-dark); cursor: pointer; font-size: .79rem; font-weight: 800; }
.compare-row-details > summary:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.compare-row-details[open] > summary { border-bottom: 1px solid var(--line); }
.compare-http-status, .compare-unavailable-note { margin: 13px 15px; color: var(--muted); font-size: .79rem; overflow-wrap: anywhere; }
.compare-change-list { display: grid; gap: 11px; padding: 13px 15px; }
.compare-change-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--soft-bg); }
.compare-change-title { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; border-bottom: 1px solid var(--line); padding: 9px 12px; }
.compare-change-title span { color: var(--muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.compare-change-title strong { color: var(--navy); font-size: .83rem; overflow-wrap: anywhere; }
.compare-change-values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.compare-change-values > div { min-width: 0; padding: 10px 12px; }
.compare-change-values > div + div { border-left: 1px solid var(--line); }
.compare-change-values > div > span { display: block; margin-bottom: 6px; color: var(--muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.compare-change-values pre { max-height: 330px; margin: 0; overflow: auto; color: var(--detail-text); font-family: inherit; font-size: .8rem; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
.compare-change-values pre.is-empty { color: var(--red); font-weight: 800; }
.compare-more-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 0 15px 14px; }
.compare-more-count { color: var(--muted); font-size: .73rem; }
.compare-more-error { flex-basis: 100%; color: var(--red); font-size: .79rem; }
.compare-more-controls button[hidden] { display: none; }
.compare-more-error[hidden] { display: none; }

.two-column-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .5fr); gap: 20px; align-items: start; }
.two-column-layout > .panel { overflow: hidden; }
.two-column-layout .panel-heading, .compact-panel { padding: 22px; }
.two-column-layout .panel-heading { margin: 0; }
.compact-panel .panel-heading { padding: 0; margin-bottom: 20px; }
.account-panel { max-width: 620px; }
.account-identity { display: flex; align-items: center; gap: 13px; margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.account-identity div { display: grid; }
.account-identity span { color: var(--muted); font-size: .84rem; }

/* Client access and weekly quotas share the existing light/dark variables. */
.client-settings, .client-project-picker { min-width: 0; margin: 0; border: 1px solid var(--line); border-radius: 12px; padding: 14px; }
.client-settings { display: grid; gap: 17px; }
.client-settings[hidden] { display: none; }
.client-limit-settings { display: grid; gap: 17px; min-width: 0; margin: 0; border: 0; padding: 0; }
.client-limit-settings[hidden], [data-client-readonly-note][hidden] { display: none; }
.client-limit-settings legend { margin-bottom: 12px; }
.password-suggestion { display: grid; gap: 9px; }
.password-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.password-suggestion .form-note { margin: 0; }
.password-suggestion-status:empty { display: none; }
.account-mail-note { padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--subtle-bg); line-height: 1.55; }
.auth-secondary-link { display: block; margin-top: 20px; text-align: center; color: var(--blue-dark); font-size: .88rem; font-weight: 650; }
.auth-secondary-link:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 4px; border-radius: 4px; }
.readonly-access-note { margin: 0 0 22px; padding: 15px 18px; border: 1px solid var(--blue-border); border-radius: 12px; background: var(--blue-soft); color: var(--blue-dark); font-size: .88rem; line-height: 1.6; }
.client-settings legend, .client-project-picker legend { color: var(--label); padding: 0 5px; font-size: .84rem; font-weight: 750; }
.client-settings .form-note { margin-top: 0; }
.client-project-picker { max-height: 300px; overflow: auto; }
.client-project-option { grid-template-columns: 18px minmax(0, 1fr); align-items: start; gap: 10px; padding: 8px 0; }
.client-project-option input { width: 18px; height: 18px; min-height: 18px; margin: 2px 0 0; accent-color: var(--blue); }
.client-project-option span { display: grid; gap: 4px; overflow-wrap: anywhere; }
.client-project-option small { font-size: .75rem; }
.client-access-row > td { white-space: normal; }
.client-access-editor > summary { cursor: pointer; color: var(--blue-dark); font-weight: 750; }
.client-access-editor > summary > span { display: block; margin-top: 6px; color: var(--muted); font-size: .75rem; font-weight: 500; }
.client-access-form { margin-top: 18px; }
.client-access-form > .button { justify-self: start; }
.client-quota { margin-bottom: 22px; padding: 22px; }
.client-quota-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.client-quota-heading h2 { font-size: 1.2rem; }
.client-quota-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.client-quota-grid > div { display: grid; gap: 6px; border: 1px solid var(--line); border-radius: 10px; padding: 14px; background: var(--subtle-bg); }
.client-quota-grid span, .client-quota-grid small { color: var(--muted); font-size: .82rem; }
.client-quota-grid strong { color: var(--navy); font-size: 1.4rem; }
.launch-form.client-launch-form, .launch-form.client-launch-form:has(input[name="project_id"]) { grid-template-columns: minmax(300px, 1fr) auto; }
.launch-form.client-dashboard-launch { grid-template-columns: minmax(220px, .9fr) minmax(300px, 1.3fr) auto; }
@media (max-width: 960px) {
    .client-quota-heading { align-items: start; flex-direction: column; }
    .launch-form.client-launch-form, .launch-form.client-launch-form:has(input[name="project_id"]), .launch-form.client-dashboard-launch, .client-access-form .form-grid { grid-template-columns: 1fr; }
    .client-dashboard-launch > .button { justify-self: stretch; }
}

.flash { width: min(760px, 100%); margin: 0 auto 18px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); padding: 11px 14px; box-shadow: var(--flash-shadow); font-size: .88rem; }
.flash-success { border-color: var(--success-border); background: var(--green-soft); color: var(--green); }
.flash-error { border-color: var(--flash-error-border); background: var(--red-soft); color: var(--red); }
.flash-warning { border-color: var(--flash-warning-border); background: var(--amber-soft); color: var(--amber); }

.auth-shell { display: grid; min-height: 100vh; place-items: center; padding: 28px; background: radial-gradient(circle at 20% 15%, var(--auth-blue-glow), transparent 34%), radial-gradient(circle at 85% 80%, var(--auth-cyan-glow), transparent 30%), var(--auth-bg); }
.auth-content { width: min(480px, 100%); }
.environment-banner { margin-bottom: 20px; padding: 12px 18px; border: 2px solid var(--amber-border); border-radius: 12px; background: var(--amber-soft); color: var(--amber); font-size: .9rem; line-height: 1.5; }
.environment-banner strong { display: block; letter-spacing: .035em; }
.environment-banner span { display: block; margin-top: 2px; }
.auth-card { border: 1px solid var(--auth-card-border); border-radius: 20px; background: var(--auth-card-bg); padding: clamp(24px, 5vw, 40px); box-shadow: var(--auth-shadow); }
.auth-card-wide { width: min(720px, calc(100vw - 40px)); margin-left: 50%; transform: translateX(-50%); }
.brand-auth { margin-bottom: 34px; }
.brand-auth .brand-mark { width: 58px; height: 58px; border-radius: 15px; }
.auth-heading { margin-bottom: 28px; }
.auth-heading p:last-child { margin-top: 10px; color: var(--muted); }
.error-card { max-width: 640px; margin: 10vh auto; padding: 38px; text-align: center; }
.error-card p:not(.eyebrow) { margin: 12px 0 25px; color: var(--muted); }
.error-code { display: block; color: var(--error-code); font-size: 5rem; font-weight: 900; line-height: 1; }

.detail-dialog { width: min(940px, 92vw); max-width: none; height: min(760px, 88dvh); max-height: none; overflow: hidden; border: 0; border-radius: 18px; background: var(--surface); color: var(--ink); padding: 0; box-shadow: var(--dialog-shadow); }
.detail-dialog::backdrop { background: var(--dialog-backdrop); backdrop-filter: blur(3px); }
.dialog-shell { display: grid; height: 100%; grid-template-rows: auto auto minmax(0, 1fr); }
.dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); padding: 20px 22px; }
.dialog-header h2 { font-size: 1.35rem; }
.dialog-url { display: block; max-width: 760px; margin-top: 7px; overflow: hidden; color: var(--blue-dark); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.icon-button { display: grid; flex: 0 0 auto; width: 44px; height: 44px; place-items: center; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); cursor: pointer; color: var(--muted); font-size: 1.45rem; line-height: 1; }
.detail-sections { display: flex; gap: 6px; overflow-x: auto; border-bottom: 1px solid var(--line); background: var(--subtle-bg); padding: 10px 22px; }
.detail-sections[hidden] { display: none; }
.detail-section-tab { flex: 0 0 auto; min-height: 44px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); padding: 8px 13px; color: var(--neutral-pill-text); cursor: pointer; font-size: .78rem; font-weight: 800; }
.detail-section-tab:hover { border-color: var(--blue-border); color: var(--blue-dark); }
.detail-section-tab.active { border-color: var(--active-tab-border); background: var(--blue-soft); color: var(--blue-dark); }
.detail-section-tab:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 1px; }
.dialog-body { grid-row: 3; min-height: 0; overflow: auto; padding: 22px; }
.detail-item { margin-bottom: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--soft-bg); padding: 16px; }
.detail-item:last-child { margin-bottom: 0; }
.detail-item-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.detail-item-header strong { color: var(--navy); font-size: .85rem; }
.detail-value { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; color: var(--detail-text); font-size: .82rem; line-height: 1.6; }
.detail-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; margin-top: 12px; color: var(--muted); font-size: .75rem; }
.detail-meta div { border-radius: 7px; background: var(--image-preview-bg); padding: 7px 9px; overflow-wrap: anywhere; }
.detail-heading { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 12px; align-items: start; }
.detail-heading-tag { display: grid; height: 36px; place-items: center; border-radius: 8px; background: var(--blue-soft); color: var(--blue-dark); font-weight: 850; }
.loading-state { padding: 50px; color: var(--muted); text-align: center; }
.overview-content + .overview-content { margin-top: 30px; padding-top: 30px; border-top: 2px solid var(--line); }
.overview-summary { margin-bottom: 26px; border: 1px solid var(--overview-border); border-radius: 13px; background: var(--overview-bg); padding: 16px; }
.overview-summary-header, .overview-section-title, .overview-field-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.overview-summary h3, .overview-section h3 { font-size: 1.1rem; }
.overview-error { margin-top: 12px; }
.overview-section > h3, .overview-section > .overview-section-title { margin-bottom: 14px; }
.overview-group { margin-top: 22px; }
.overview-group:first-of-type { margin-top: 0; }
.overview-group > h4, .overview-group > .overview-section-title { margin: 0 0 10px; color: var(--navy); font-size: .93rem; }
.overview-field-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 10px; }
.overview-field { min-width: 0; border: 1px solid var(--line); border-radius: 11px; background: var(--soft-bg); padding: 13px; }
.overview-field.status-missing, .overview-field.status-empty { border-color: var(--overview-missing-border); background: var(--overview-missing-bg); }
.overview-field.status-not_applicable { border-color: var(--line); background: var(--overview-neutral-bg); }
.overview-field.status-not_analyzed, .overview-field.status-invalid { border-color: var(--flash-warning-border); background: var(--overview-warning-bg); }
.overview-field-header { align-items: flex-start; margin-bottom: 9px; }
.overview-field-header > div { display: grid; min-width: 0; gap: 3px; }
.overview-field-header strong { overflow-wrap: anywhere; color: var(--navy); font-size: .84rem; }
.overview-field-header code { max-width: 100%; overflow-wrap: anywhere; color: var(--muted); font-size: .7rem; }
.overview-field-values { display: grid; gap: 9px; }
.overview-value + .overview-value { border-top: 1px solid var(--line); padding-top: 9px; }
.overview-value > small { display: block; margin-bottom: 5px; color: var(--muted); font-size: .7rem; font-weight: 800; }
.overview-empty-value { color: var(--muted); font-size: .8rem; }
.overview-count { color: var(--muted); font-size: .76rem; font-weight: 750; white-space: nowrap; }
.overview-heading-list, .overview-document-list, .overview-image-list { display: grid; gap: 10px; }
.overview-heading-list .detail-item, .overview-document-list .detail-item, .overview-image-list .detail-item { margin: 0; }
.overview-image-card { display: grid; gap: 12px; }
.overview-image-preview { display: grid; justify-items: start; gap: 8px; }
.overview-image-preview .button { min-height: 44px; }
.overview-image-preview .muted-link { max-width: 100%; margin: 0; overflow-wrap: anywhere; white-space: normal; }
.overview-image-preview .image-preview-view { width: min(320px, 100%); height: 180px; }
.overview-more-controls { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; border-top: 1px solid var(--line); padding-top: 14px; }
.overview-more-controls[hidden] { display: none; }
.overview-load-more { min-height: 44px; }
.overview-load-error { flex-basis: 100%; }
.overview-section-error { display: grid; gap: 12px; justify-items: start; }

.simulation-preview { margin-bottom: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); padding: 22px; }
.simulation-preview.simulation-preview-meta { border: 0; background: transparent; padding: 0; }
.simulation-preview > h3 { margin: 0; color: var(--navy); font-size: 1rem; }
.simulation-preview-note { margin: 7px 0 20px; color: var(--muted); font-size: .76rem; line-height: 1.5; }
.preview-field-message { margin: 6px 0; color: var(--red); font-size: .85rem; line-height: 1.5; overflow-wrap: anywhere; }
.google-result { max-width: 696px; border: 1px solid #dfe5ee; border-radius: 14px; background: #fff; padding: 22px; font-family: Arial, sans-serif; }
.google-result-identity { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.preview-favicon { position: relative; display: grid; flex: 0 0 28px; width: 28px; height: 28px; place-items: center; overflow: hidden; border: 1px solid #dfe5ee; border-radius: 50%; background: #f1f3f4; color: #4d5156; font-size: 14px; font-weight: 700; }
.preview-favicon img { position: absolute; inset: 0; display: block; width: 28px; height: 28px; background: #fff; object-fit: contain; }
.google-result-location { min-width: 0; }
.google-result-domain { margin: 0 0 3px; color: #202124; font-size: 16px; line-height: 1.2; overflow-wrap: anywhere; }
.google-result-breadcrumb { display: -webkit-box; margin: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 1; color: #4d5156; font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
.google-result-title { display: -webkit-box; margin: 0 0 5px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 1; color: #1a0dab; font-size: 20px; font-weight: 400; line-height: 1.3; text-decoration: none; overflow-wrap: anywhere; }
.google-result-title:hover { text-decoration: underline; }
.google-result-description { display: -webkit-box; margin: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: #4d5156; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.meta-link-card { width: 100%; max-width: 600px; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--subtle-bg); font-family: Arial, sans-serif; }
.meta-link-media { width: 100%; aspect-ratio: 1.91 / 1; overflow: hidden; background: var(--muted-bg); }
.meta-link-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.meta-link-media-unavailable { display: grid; min-height: 80px; aspect-ratio: auto; place-items: center; padding: 18px; }
.meta-link-content { background: #fff; padding: 15px 17px 17px; }
.meta-link-site-name { display: -webkit-box; margin: 0 0 6px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 1; color: #606770; font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
.meta-link-domain { margin: 0 0 7px; color: #606770; font-size: 12px; line-height: 1.4; text-transform: uppercase; overflow-wrap: anywhere; }
.meta-link-title { display: -webkit-box; margin: 0 0 6px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: #1c1e21; font-size: 19px; font-weight: 700; line-height: 1.3; text-decoration: none; overflow-wrap: anywhere; }
.meta-link-title:hover { text-decoration: underline; }
.meta-link-description { display: -webkit-box; margin: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; color: #606770; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.google-result .preview-field-message, .meta-link-content .preview-field-message { color: #b4232f; }
.google-result-title:focus-visible, .meta-link-title:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; }

@media (max-width: 540px) {
    .simulation-preview { padding: 16px; }
    .google-result { padding: 16px; }
    .google-result-title { font-size: 19px; }
    .meta-link-content { padding: 13px; }
    .meta-link-title { font-size: 18px; }
}

.overview-structured-group { margin-top: 24px; }
.overview-structured-group > .overview-section-title { margin-bottom: 8px; }
.overview-structured-group h4 { color: var(--navy); font-size: .94rem; overflow-wrap: anywhere; }
.overview-structured-list { margin: 0; }
.overview-structured-row { display: grid; grid-template-columns: minmax(100px, 26%) minmax(0, 1fr); gap: 10px 16px; border: 0; border-bottom: 1px solid var(--line); background: transparent; padding: 12px 0; color: var(--ink); font-size: .82rem; font-weight: 400; }
.overview-structured-row dt { min-width: 0; overflow-wrap: anywhere; font-weight: 750; }
.overview-structured-row dd { min-width: 0; margin: 0; }
.overview-structured-row.status-missing, .overview-structured-row.status-empty { color: var(--red); background: transparent; }
.overview-structured-state { margin: 0; overflow-wrap: anywhere; color: inherit; font-size: .82rem; }
.overview-structured-state.status-missing, .overview-structured-state.status-empty { background: transparent; color: var(--red); }
.overview-structured-row.status-not_applicable, .overview-structured-row.status-not_analyzed { color: var(--muted); background: transparent; }
.overview-structured-value + .overview-structured-value { margin-top: 12px; border-top: 1px solid var(--line); padding-top: 12px; }
.overview-structured-value > small { display: block; margin-bottom: 5px; color: var(--muted); font-size: .72rem; }
.overview-structured-context { margin-top: 7px; color: var(--muted); font-size: .72rem; }
.overview-structured-context > summary { cursor: pointer; }
.overview-structured-context > summary:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; }
.overview-structured-context .detail-meta { margin-top: 8px; }
.overview-structured-documents { margin-top: 26px; border-top: 1px solid var(--line); padding-top: 16px; }
.overview-structured-documents > summary { cursor: pointer; color: var(--navy); font-size: .9rem; font-weight: 750; }
.overview-structured-documents > summary:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 4px; }
.overview-structured-documents .overview-document-list { margin: 14px 0 0; padding-left: 22px; }
.overview-structured-documents .detail-item { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; padding: 12px 0; }

@media (max-width: 960px) {
    .compare-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .compare-select-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .compare-select-form .button { grid-column: 1 / -1; }
    .compare-results-header { align-items: stretch; flex-direction: column; }
    .compare-search-form { justify-content: flex-start; }
    .launch-form, .launch-form:has(input[name="project_id"]) { grid-template-columns: 1fr; align-items: stretch; }
    .launch-form .button { width: 100%; }
    .run-header, .two-column-layout { grid-template-columns: 1fr; }
    .run-progress { min-height: 150px; }
    .results-toolbar { align-items: stretch; flex-wrap: wrap; }
    .search-form { flex-wrap: wrap; }
    .search-form label:first-of-type { flex-basis: 100%; max-width: none; }
    .result-count { align-self: center; }
    .active-column-filter { align-items: flex-start; flex-direction: column; gap: 7px; }
    .worker-incidents { grid-template-columns: 1fr; }
    .run-retry-panel { align-items: stretch; flex-direction: column; }
    .queue-resume-opportunity { align-items: stretch; flex-direction: column; }
    .queue-resume-form .button { width: 100%; }
    .project-management-body { grid-template-columns: 1fr; }
    .project-icon-form, .delete-project-form { grid-template-columns: 1fr; align-items: stretch; }
    .project-icon-form .button, .delete-project-form .button { width: 100%; }
}

@media (max-width: 680px) {
    .compare-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .compare-select-form, .compare-period { grid-template-columns: 1fr; }
    .compare-select-form .button { grid-column: auto; }
    .compare-period-arrow { justify-self: center; transform: rotate(90deg); }
    .compare-change-values { grid-template-columns: 1fr; }
    .compare-change-values > div + div { border-top: 1px solid var(--line); border-left: 0; }
    .compare-search-form label:first-of-type { flex: 1 1 100%; }
    .compare-search-form input { min-width: 0; }
    .topbar { flex-wrap: wrap; gap: 8px 14px; padding: 10px 15px; }
    .main-nav { order: 3; width: 100%; overflow-x: auto; }
    .main-nav a { flex: 0 0 auto; }
    .user-chip { display: none; }
    .main-content { padding: 25px 14px 54px; }
    .page-heading-split, .run-title { align-items: flex-start; flex-direction: column; }
    .project-title-block { align-items: flex-start; }
    .form-grid { grid-template-columns: 1fr; }
    .panel-heading { flex-direction: column; }
    .project-grid { grid-template-columns: 1fr; }
    .run-title, .run-progress { padding: 19px; }
    .queue-status-panel { padding: 18px; }
    .queue-status-heading { align-items: flex-start; flex-direction: column; }
    .progress-copy { flex-direction: column; gap: 2px; }
    .results-panel { margin-left: -14px; margin-right: -14px; border-radius: 0; }
    .search-form label { flex: 1 1 140px; }
    .search-form .button { flex: 1 1 100%; }
    .audit-table th:first-child, .audit-table td:first-child { min-width: 230px; max-width: 230px; }
    .audit-table .sticky-column { position: static !important; }
    .column-filter-search-row { grid-template-columns: 1fr; }
    .column-filter-search-row .button { width: 100%; }
    .sequence-cell { min-width: 300px; }
    .detail-dialog { width: 100vw; height: 100dvh; border-radius: 0; }
    .dialog-header, .dialog-body { padding: 16px; }
    .detail-sections { padding: 9px 16px; }
    .dialog-url { max-width: 75vw; }
    .overview-field-grid { grid-template-columns: 1fr; }
    .overview-summary-header, .overview-field-header { align-items: flex-start; }
    .table-actions { flex-wrap: wrap; justify-content: flex-start; }
    .auth-shell { padding: 18px; }
    .auth-card-wide { width: calc(100vw - 28px); }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* PageSpeed Insights keeps its asynchronous results apart from HTML extraction. */
.pagespeed-progress { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 20px 0; padding: 24px; }
.pagespeed-progress p { margin: 6px 0; }
.pagespeed-progress .button { flex-shrink: 0; }
.pagespeed-help, .pagespeed-table-note { color: var(--muted); font-size: .86rem; line-height: 1.65; }
.pagespeed-table-note { padding: 0 18px 12px; margin: 0; }
.pagespeed-table { min-width: 1550px; }
.pagespeed-table th:not(:first-child) { min-width: 145px; }
.pagespeed-heading-lines { display: flex; flex-direction: column; gap: 4px; line-height: 1.3; }
.pagespeed-table .table-sort-link { display: inline-flex; align-items: center; }
.pagespeed-heading-lines > span { white-space: nowrap; }
.pagespeed-heading-lines > span:first-child { color: var(--muted); font-size: .74rem; font-weight: 650; }
.pagespeed-score-cell { text-align: center; vertical-align: middle; }
.pagespeed-score { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border: 2px solid currentColor; border-radius: 50%; font-size: 1.14rem; font-weight: 750; font-variant-numeric: tabular-nums; }
.pagespeed-score-good { color: var(--green); background: var(--green-soft); }
.pagespeed-score-average { color: var(--amber); background: var(--amber-soft); }
.pagespeed-score-poor { color: var(--red); background: var(--red-soft); }
.pagespeed-score-unavailable { color: var(--muted); background: var(--neutral-pill-bg); }
.pagespeed-reports { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px; white-space: normal; }
.pagespeed-device-result { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 8px; white-space: normal; overflow-wrap: anywhere; font-size: .78rem; }
.url-cell .pagespeed-reports a.button { width: 100%; margin-top: 5px; white-space: normal; overflow: visible; color: var(--secondary-text); font-size: .75rem; line-height: 1.4; text-align: center; }
.pagespeed-device-result small { font-size: .76rem; line-height: 1.5; color: var(--muted); }
.pagespeed-device-result .inline-error { color: var(--red); }
.pagespeed-report-url { overflow-wrap: anywhere; }
.pagespeed-report-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 10px; }
.pagespeed-category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 22px 0; }
.pagespeed-category { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; padding: 24px 16px; }
.pagespeed-category h2 { font-size: 1rem; margin: 0; }
.pagespeed-category > span:last-child { color: var(--muted); font-size: .8rem; }
.pagespeed-audits, .pagespeed-warning { margin: 20px 0; padding: 24px; }
.pagespeed-audits { min-width: 0; }
.pagespeed-audits h3 { margin: 28px 0 14px; }
.pagespeed-audit { border: 1px solid var(--line); border-radius: 10px; margin: 8px 0; overflow: hidden; }
.pagespeed-audit > summary { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 15px; cursor: pointer; font-weight: 650; background: var(--subtle-bg); }
.pagespeed-audit > summary::before { content: '+'; flex: 0 0 auto; color: var(--muted); }
.pagespeed-audit[open] > summary::before { content: '−'; }
.pagespeed-audit > summary > span:first-child { flex: 1; }
.pagespeed-audit-value { color: var(--muted); font-size: .82rem; text-align: right; }
.pagespeed-audit > div { padding: 4px 16px 16px; overflow-wrap: anywhere; }
.pagespeed-audit p { white-space: pre-wrap; line-height: 1.65; }
.pagespeed-audit pre { max-width: 100%; max-height: 480px; overflow: auto; padding: 14px; border-radius: 8px; background: var(--code-bg); color: var(--detail-text); font-size: .78rem; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.account-panel + .account-panel { margin-top: 22px; }
.account-pagespeed-guide { line-height: 1.7; }
.account-pagespeed-guide > summary { color: var(--blue); font-weight: 650; cursor: pointer; padding: 8px 0; }
.account-pagespeed-guide ol { padding-left: 24px; }
.account-pagespeed-guide li { margin: 12px 0; padding-left: 3px; }
.account-pagespeed-guide a { overflow-wrap: anywhere; }
.overview-pagespeed-devices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.overview-pagespeed-device { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.overview-pagespeed-device h4 { margin: 0 0 8px; color: var(--navy); }
.overview-pagespeed-scores { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 8px; margin: 18px 0; }
.overview-pagespeed-score { display: flex; flex-direction: column; align-items: center; gap: 7px; text-align: center; font-size: .76rem; }
.overview-pagespeed-score dd { margin: 0; }
.pagespeed-report-dialog { width: min(1180px, 94vw); height: min(900px, 92dvh); }
.pagespeed-report-shell { display: grid; grid-template-rows: auto minmax(0, 1fr); height: 100%; }
.pagespeed-report-body { min-height: 0; position: relative; overflow: hidden; }
.pagespeed-report-frame { display: block; width: 100%; height: 100%; border: 0; background: var(--canvas); }
.pagespeed-report-frame[hidden] { display: none; }
.pagespeed-report-loading, .pagespeed-report-error { padding: 24px; }
.pagespeed-embedded-content { max-width: 1180px; margin: 0 auto; padding: 24px; }
.pagespeed-embedded .page-heading { margin-top: 0; }
@media (max-width: 760px) {
    .pagespeed-progress { align-items: flex-start; flex-direction: column; gap: 12px; padding: 16px; }
    .pagespeed-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .pagespeed-category { padding: 20px 10px; }
    .pagespeed-audits, .pagespeed-warning { padding: 16px; }
    .pagespeed-audit > summary { align-items: flex-start; flex-wrap: wrap; gap: 8px; }
    .pagespeed-audit-value { flex-basis: 100%; text-align: left; margin-left: 18px; }
    .pagespeed-report-actions .button { width: 100%; }
    .overview-pagespeed-devices { grid-template-columns: 1fr; }
    .pagespeed-embedded-content { padding: 16px; }
}
