/* ==========================================================================
   SEO Strategy Workbench V2
   Main Application Stylesheet
   Version: 2.0.0-dev
   Sprint: 1.7
   ========================================================================== */


/* ==========================================================================
   1. Design Tokens
   ========================================================================== */

:root {
    --navy: #13233f;
    --navy-border: #506784;

    --blue: #2457a6;
    --blue-dark: #174b91;
    --blue-soft: #eaf1fb;

    --background: #f4f7fb;
    --card: #ffffff;
    --border: #d9e2ec;

    --text: #172033;
    --muted: #66768d;
    --muted-light: #91a0b2;

    --success: #137333;
    --success-bg: #ecfdf5;

    --danger: #b42318;
    --danger-dark: #912018;
    --danger-bg: #fff1f2;

    --radius: 10px;
    --radius-large: 14px;
}


/* ==========================================================================
   2. Reset & Base
   ========================================================================== */

* {
    box-sizing: border-box;
}

html {
    font-size: 16px;
}

body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    background: var(--background);
    color: var(--text);
}

a {
    color: inherit;
}

p {
    line-height: 1.5;
}

h1 {
    margin: 0.25rem 0 0.65rem;
    font-size: 2rem;
}

h2 {
    margin: 0.2rem 0 0.75rem;
    font-size: 1.2rem;
}

.eyebrow {
    margin: 0 0 8px;
    color: var(--blue);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.muted {
    color: var(--muted);
}

.required {
    color: var(--danger);
}


/* ==========================================================================
   3. Authentication Screens
   ========================================================================== */

.auth-body {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
}

.auth-shell {
    width: min(100%, 460px);
}

.auth-card {
    padding: 32px;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius-large);
}


/* ==========================================================================
   4. Forms
   ========================================================================== */

.stack {
    display: grid;
    gap: 16px;
    margin-top: 24px;
}

label {
    display: grid;
    gap: 7px;
    font-weight: 700;
}

input,
textarea,
select {
    width: 100%;
    padding: 12px;
    border: 1px solid #b8c5d6;
    border-radius: 8px;
    background: #ffffff;
    font: inherit;
}

textarea {
    resize: vertical;
}

.form-panel {
    max-width: 920px;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.full-width {
    grid-column: 1 / -1;
}

.form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #edf1f5;
}


/* ==========================================================================
   5. Buttons & Links
   ========================================================================== */

button,
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 16px;
    border: 0;
    border-radius: 8px;
    background: var(--blue);
    color: #ffffff;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.button.secondary {
    background: #edf2f7;
    color: #334155;
}

.ghost-button {
    padding: 8px 12px;
    background: transparent;
    border: 1px solid var(--navy-border);
}


/* ==========================================================================
   6. Alerts
   ========================================================================== */

.alert {
    margin: 16px 0;
    padding: 12px 14px;
    border-radius: 8px;
}

.alert.success {
    color: #166534;
    background: var(--success-bg);
}

.alert.error {
    color: #9f1239;
    background: var(--danger-bg);
}


/* ==========================================================================
   7. Header
   ========================================================================== */

.topbar {
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 10px 28px;
    background: var(--navy);
    color: #ffffff;
}

.brand {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    color: #ffffff;
    text-decoration: none;
}

.brand-mark {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: #ffffff;
    color: var(--navy);
    font-weight: 800;
}

.brand-copy {
    min-width: 0;
    display: block;
}

.brand strong {
    display: block;
    font-size: 1rem;
    white-space: nowrap;
}

.brand small {
    display: block;
    margin-top: 2px;
    color: #c9d6e8;
    font-size: 0.76rem;
    white-space: nowrap;
}

.user-area {
    display: flex;
    align-items: center;
    gap: 14px;
}

.user-name {
    color: #dbe5f2;
    font-size: 0.9rem;
}


/* ==========================================================================
   8. Main Application Layout
   ========================================================================== */

.app-grid {
    min-height: calc(100vh - 70px);
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
}

.content {
    width: 100%;
    max-width: 1440px;
    min-width: 0;
    padding: 34px;
}

.page-heading {
    margin-bottom: 24px;
}

.page-heading-actions {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}


/* ==========================================================================
   9. Sidebar Navigation
   ========================================================================== */

.sidebar {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 22px 14px;
    background: #ffffff;
    border-right: 1px solid var(--border);
}

.side-nav {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.sidebar .side-nav > a,
.sidebar .side-nav > .nav-disabled {
    width: 100%;
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: 10px 14px;
    border-radius: 8px;
    line-height: 1.25;
    text-decoration: none;
}

.sidebar .side-nav > a {
    color: #334155;
}

.sidebar .side-nav > a:hover {
    background: #f1f5f9;
}

.sidebar .side-nav > a.active {
    background: var(--blue-soft);
    color: var(--blue-dark);
    font-weight: 700;
}

.nav-section {
    width: 100%;
    margin: 20px 0 6px;
    padding: 0 14px;
    color: #9aa7b8;
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.nav-disabled {
    color: #8b98aa;
}

.nav-disabled em {
    margin-left: auto;
    padding: 3px 7px;
    border-radius: 999px;
    background: #eef2f7;
    font-size: 0.68rem;
    font-style: normal;
    text-transform: uppercase;
}

.sidebar-foot {
    padding: 16px 14px 2px;
    color: var(--muted-light);
}


/* ==========================================================================
   10. Cards & Dashboard
   ========================================================================== */

.panel,
.metric {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius-large);
}

.panel {
    padding: 24px;
}

.metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 22px;
}

.metric {
    padding: 21px;
}

.metric span {
    display: block;
    color: var(--muted);
}

.metric strong {
    display: block;
    margin-top: 7px;
    font-size: 2rem;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
    gap: 22px;
}

.empty-state {
    padding: 38px 20px;
    text-align: center;
    color: var(--muted);
}

.empty-state strong {
    display: block;
    margin-bottom: 7px;
    color: var(--text);
}

.empty-state .button {
    margin-top: 8px;
}


/* ==========================================================================
   11. Audit Trail
   ========================================================================== */

.activity-item {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 0;
    border-bottom: 1px solid #edf1f5;
}

.activity-item strong,
.activity-item span {
    display: block;
}

.activity-item span,
.activity-item time {
    margin-top: 4px;
    color: var(--muted);
    font-size: 0.82rem;
}


/* ==========================================================================
   12. Tables
   ========================================================================== */

.table-wrap {
    overflow-x: auto;
}

.data-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}

.data-table th,
.data-table td {
    padding: 14px 12px;
    border-bottom: 1px solid #edf1f5;
    text-align: left;
    vertical-align: middle;
}

.data-table th {
    color: #718096;
    font-size: 0.78rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.data-table td strong,
.data-table td small {
    display: block;
}

.data-table td small {
    margin-top: 3px;
    color: var(--muted);
}


/* ==========================================================================
   13. Table Actions
   ========================================================================== */

.actions-cell {
    min-width: 150px;
    text-align: right !important;
    white-space: nowrap;
}

.actions-cell .text-link {
    display: inline-block;
    margin-right: 18px;
    padding: 8px 0;
    color: var(--blue);
    font-weight: 700;
    text-decoration: none;
}

.actions-cell .inline-form {
    display: inline-block;
    margin: 0;
}

.actions-cell .danger-link {
    display: inline-block;
    margin: 0;
    padding: 9px 14px;
    border-radius: 7px;
    background: var(--danger);
    color: #ffffff;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.actions-cell .danger-link:hover {
    background: var(--danger-dark);
}


/* ==========================================================================
   14. System Status
   ========================================================================== */

.status-row {
    display: flex;
    justify-content: space-between;
    padding: 15px 0;
    border-bottom: 1px solid #edf1f5;
}

.status-pass {
    color: var(--success);
}

.status-fail {
    color: var(--danger);
}

.system-meta {
    display: flex;
    gap: 20px;
    margin-top: 22px;
    padding: 15px;
    border-radius: 8px;
    background: #f8fafc;
}


/* ==========================================================================
   15. Utility Lists
   ========================================================================== */

.check-list {
    padding-left: 20px;
    line-height: 1.9;
}

.check-list li::marker {
    color: var(--success);
}


/* ==========================================================================
   16. Responsive
   ========================================================================== */

@media (max-width: 900px) {
    .metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .app-grid {
        grid-template-columns: 1fr;
    }

    .sidebar {
        display: none;
    }

    .content {
        padding: 24px 18px;
    }

    .topbar {
        padding: 10px 18px;
    }

    .brand small,
    .user-name {
        display: none;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .full-width {
        grid-column: auto;
    }

    .page-heading-actions {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 480px) {
    .metrics {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================================
   17. Sprint 1.7.1 - Navigation, Tables & Archive Hardening
   ========================================================================== */

/* Sidebar: enforce a true vertical navigation stack with clear separation. */
.sidebar {
    padding: 24px 16px;
}

.side-nav {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
}

.sidebar .side-nav > a,
.sidebar .side-nav > .nav-disabled {
    width: 100%;
    min-height: 44px;
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    padding: 11px 14px;
    margin: 0;
}

.nav-section {
    display: block;
    margin: 22px 0 4px;
    padding: 0 14px;
}

/* Tables: give every value breathing room and prevent columns running together. */
.data-table {
    border-collapse: separate;
    border-spacing: 0;
}

.data-table th,
.data-table td {
    padding: 16px 18px;
}

.data-table tbody tr:last-child td {
    border-bottom: 0;
}

/* Client and website action cells: keep Edit / Archive separated horizontally. */
.actions-cell {
    width: 190px;
    min-width: 190px;
    padding-left: 22px !important;
    padding-right: 22px !important;
    text-align: left !important;
}

.actions-cell .text-link {
    margin-right: 22px;
}

.actions-cell .inline-form {
    vertical-align: middle;
}

/* Website list: stable column widths stop long values collapsing into neighbours. */
.data-table th:nth-child(1),
.data-table td:nth-child(1) {
    min-width: 190px;
}

.data-table th:nth-child(2),
.data-table td:nth-child(2) {
    min-width: 180px;
}

.data-table th:nth-child(3),
.data-table td:nth-child(3) {
    min-width: 220px;
}

.data-table th:nth-child(4),
.data-table td:nth-child(4) {
    min-width: 220px;
}

.data-table th:nth-child(5),
.data-table td:nth-child(5) {
    min-width: 125px;
    white-space: nowrap;
}

/* Archived record screen. */
.archive-section + .archive-section {
    margin-top: 22px;
}

.section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 12px;
}

.record-count {
    min-width: 36px;
    padding: 7px 10px;
    border-radius: 999px;
    background: var(--blue-soft);
    color: var(--blue-dark);
    font-weight: 700;
    text-align: center;
}

.restore-button {
    min-width: 92px;
}

.restore-disabled {
    display: inline-block;
    padding: 9px 12px;
    border-radius: 7px;
    background: #eef2f7;
    color: var(--muted);
    font-size: 0.85rem;
    font-weight: 700;
}

.archive-table td small {
    display: block;
    margin-top: 4px;
    color: var(--muted);
}

/* Smaller screens retain horizontal table scrolling rather than crushing columns. */
@media (max-width: 1100px) {
    .data-table {
        min-width: 980px;
    }
}


/* ==========================================================================
   18. Sprint 1.8 - Project Management
   ========================================================================== */

/* Project tables require additional width because page URLs are retained. */
.project-table {
    min-width: 1280px;
}

.project-table th:nth-child(1),
.project-table td:nth-child(1) {
    min-width: 190px;
}

.project-table th:nth-child(2),
.project-table td:nth-child(2) {
    min-width: 180px;
}

.project-table th:nth-child(3),
.project-table td:nth-child(3) {
    min-width: 200px;
}

.project-table th:nth-child(4),
.project-table td:nth-child(4) {
    min-width: 150px;
}

.project-table th:nth-child(5),
.project-table td:nth-child(5) {
    min-width: 300px;
}

.project-table th:nth-child(6),
.project-table td:nth-child(6) {
    min-width: 125px;
}

.url-cell {
    max-width: 420px;
}

.url-cell a {
    color: var(--blue);
    text-decoration: none;
    overflow-wrap: anywhere;
}

.url-cell a:hover {
    text-decoration: underline;
}

.project-archive-table {
    min-width: 980px;
}


/* ==========================================================================
   19. Sprint 1.9.0 - Assessment Foundation
   ========================================================================== */

.assessment-table {
    min-width: 1320px;
}

.assessment-table th,
.assessment-table td {
    vertical-align: middle;
}

.assessment-table th:nth-child(1),
.assessment-table td:nth-child(1) {
    min-width: 210px;
}

.assessment-table th:nth-child(2),
.assessment-table td:nth-child(2) {
    min-width: 170px;
}

.assessment-table th:nth-child(3),
.assessment-table td:nth-child(3) {
    min-width: 190px;
}

.assessment-table th:nth-child(4),
.assessment-table td:nth-child(4) {
    min-width: 190px;
}

.assessment-table th:nth-child(5),
.assessment-table td:nth-child(5) {
    min-width: 300px;
}

.assessment-archive-table {
    min-width: 1180px;
}


/* ==========================================================================
   20. Sprint 2.0 - Evidence Manager Foundation
   ========================================================================== */

.assessment-actions {
    min-width: 250px;
}

.assessment-actions .primary-action {
    color: var(--success);
}

.evidence-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.evidence-summary {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr);
    gap: 32px;
    align-items: center;
    margin-bottom: 22px;
}

.evidence-progress-wrap {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 10px 14px;
    align-items: center;
}

.evidence-percent {
    grid-row: 1 / 3;
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--blue-soft);
    color: var(--blue-dark);
    font-weight: 800;
}

.evidence-progress {
    height: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: #e8edf4;
}

.evidence-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--blue);
}

.status-pending {
    color: #a16207;
    font-size: 0.78rem;
    letter-spacing: 0.04em;
}

.evidence-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.evidence-card.evidence-complete {
    border-color: #a7d7b4;
}

.evidence-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.evidence-card-heading > div {
    display: flex;
    gap: 12px;
}

.evidence-state {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--blue-soft);
    color: var(--blue-dark);
    font-weight: 800;
}

.evidence-complete .evidence-state {
    background: var(--success-bg);
    color: var(--success);
}

.evidence-badge {
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
}

.evidence-badge.valid {
    background: var(--success-bg);
    color: var(--success);
}

.evidence-badge.missing {
    background: #fff7ed;
    color: #9a3412;
}

.evidence-file {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 18px 0;
    padding: 13px 14px;
    border: 1px solid #d8e8dc;
    border-radius: 9px;
    background: #f4fbf6;
}

.evidence-file strong,
.evidence-file small {
    display: block;
}

.evidence-file small {
    margin-top: 4px;
    color: var(--muted);
}

.validation-mark {
    color: var(--success);
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
}

.evidence-upload-form {
    display: grid;
    gap: 12px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #edf1f5;
}

.evidence-upload-form input[type="file"] {
    padding: 10px;
    background: #fafcff;
}

.evidence-upload-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.evidence-upload-footer small {
    color: var(--muted);
}

.evidence-next-step {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 22px;
}

.disabled-button,
.disabled-button:disabled {
    background: #dce3ec;
    color: #77869a;
    cursor: not-allowed;
}

@media (max-width: 1000px) {
    .evidence-grid,
    .evidence-summary {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .evidence-heading,
    .evidence-next-step,
    .evidence-upload-footer,
    .evidence-file {
        align-items: stretch;
        flex-direction: column;
    }
}


/* ==========================================================================
   21. Sprint 2.1 - Evidence Extraction & Baseline Analysis
   ========================================================================== */

.analysis-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.analysis-empty {
    max-width: 760px;
}

.analysis-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 20px;
}

.metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 20px 0 24px;
}

.metric-card {
    padding: 16px;
    border: 1px solid #e2e8f0;
    border-radius: 9px;
    background: #fafcff;
}

.metric-card span {
    display: block;
    margin-bottom: 6px;
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.metric-card strong {
    color: var(--blue-dark);
    font-size: 1.45rem;
}

.analysis-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 28px;
}

.field-label {
    display: block;
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.break-word {
    overflow-wrap: anywhere;
}

.analysis-footnote {
    margin-top: 16px;
    color: var(--muted);
    font-size: 0.86rem;
}

@media (max-width: 900px) {
    .metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .analysis-detail-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .analysis-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .metric-grid {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================================
   Sprint 2.2 - Keyword Evaluation
   ========================================================================== */
.keyword-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:800;letter-spacing:.04em}.keyword-status.strong{background:#e9f8ef;color:#137333}.keyword-status.review{background:#fff6df;color:#9a5b00}.keyword-status.weak{background:#f4f6f8;color:#66768d}.evaluation-reason{min-width:340px;max-width:560px;line-height:1.45}.page-heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px}.page-heading-row h1{margin-bottom:6px}

/* Sprint 2.3A - Human Keyword Strategy Review */
.strategy-actions{display:flex;justify-content:flex-end;margin-top:20px}
.table-wrap select{min-width:130px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text)}


/* ==========================================================================
   Sprint 2.4A — Strategy Summary
   ========================================================================== */

.strategy-confirmed-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.strategy-confirmed-actions form {
    margin: 0;
}

.strategy-primary-panel {
    border-color: #b8d7c2;
}

.strategy-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 20px;
}

.strategy-summary-grid > div,
.strategy-rationale {
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #f8fafc;
}

.strategy-rationale {
    margin-top: 16px;
}

.strategy-rationale p {
    margin-bottom: 0;
    line-height: 1.55;
}

.summary-count {
    display: inline-flex;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #eaf1fb;
    color: #0b4ca3;
    font-weight: 800;
}

@media (max-width: 900px) {
    .strategy-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .strategy-summary-grid {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================================
   Sprint 2.4B — Deterministic Recommendation Engine
   ========================================================================== */

.strategy-next-action {
    margin-top: 20px;
}

.recommendation-primary {
    font-size: 1rem !important;
    line-height: 1.25;
}

.recommendation-list {
    display: grid;
    gap: 16px;
    margin-top: 20px;
}

.recommendation-card {
    padding: 20px;
    border: 1px solid var(--border);
    border-left-width: 4px;
    border-radius: 10px;
    background: #fff;
}

.recommendation-card.action {
    border-left-color: #b42318;
}

.recommendation-card.review {
    border-left-color: #b7791f;
}

.recommendation-card.aligned {
    border-left-color: #238636;
}

.recommendation-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.recommendation-card-heading h3 {
    margin: 4px 0 0;
}

.recommendation-status {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 5px 9px;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .04em;
}

.recommendation-status.action {
    background: #fce8e6;
    color: #b42318;
}

.recommendation-status.review {
    background: #fff6df;
    color: #8a5500;
}

.recommendation-status.aligned {
    background: #e9f8ef;
    color: #137333;
}

.recommendation-evidence {
    margin-top: 14px;
    padding: 14px;
    border-radius: 8px;
    background: #f8fafc;
}

.recommendation-evidence p {
    margin: 5px 0 0;
    overflow-wrap: anywhere;
}


/* ==========================================================================
   Sprint 2.5A.2 — Approval Lock & Fast Navigation
   ========================================================================== */

input[readonly],
textarea[readonly],
select:disabled {
    background: #f3f6f9;
    color: #526175;
    cursor: not-allowed;
}

.recommendation-status.aligned {
    background: #e9f8ef;
    color: #137333;
}


/* ==========================================================================
   Sprint 2.6A — Client Report Preview
   ========================================================================== */
.report-preview-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}
.heading-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.report-sheet {
    background: #fff;
    border: 1px solid #d7e1ee;
    border-radius: 14px;
    padding: 28px 32px;
    margin: 0 0 20px;
}
.report-cover-preview {
    min-height: 250px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.report-cover-preview h2 {
    font-size: 34px;
    margin: 8px 0;
}
.report-client {
    font-size: 20px;
    font-weight: 700;
}
.report-approval {
    margin-top: 28px;
    padding-top: 16px;
    border-top: 1px solid #e4eaf2;
}
.report-metric-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 12px;
}
.report-metric-grid.four {
    grid-template-columns: repeat(4, minmax(0,1fr));
}
.report-metric-grid > div {
    background: #f7f9fc;
    border: 1px solid #dce5ef;
    border-radius: 10px;
    padding: 16px;
}
.report-metric-grid span,
.report-recommendation span {
    display: block;
    color: #66758a;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 6px;
}
.report-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 14px;
}
.report-table th,
.report-table td {
    text-align: left;
    vertical-align: top;
    padding: 12px 10px;
    border-bottom: 1px solid #e5ebf2;
}
.report-table thead th {
    color: #65748a;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.report-recommendation {
    padding: 14px 0;
    border-bottom: 1px solid #e5ebf2;
}
.report-note,
.scope-boundary {
    margin-top: 20px;
    padding: 16px;
    background: #f7f9fc;
    border-radius: 10px;
}
@media (max-width: 900px) {
    .report-preview-heading { align-items: flex-start; flex-direction: column; }
    .report-metric-grid,
    .report-metric-grid.four { grid-template-columns: 1fr 1fr; }
}


/* ==========================================================================
   Sprint 2.6B — Report Content Review
   ========================================================================== */
.report-content-section textarea {
    width: 100%;
    min-height: 130px;
    resize: vertical;
    line-height: 1.55;
}
.report-content-locks {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 12px;
    margin-top: 18px;
}
.report-content-locks > div {
    padding: 14px;
    border: 1px solid #dce5ef;
    background: #f7f9fc;
    border-radius: 10px;
}
.report-content-locks span {
    display: block;
    color: #66758a;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 5px;
}
@media (max-width:900px) {
    .report-content-locks { grid-template-columns:1fr; }
}


/* ==========================================================================
   Sprint 2.7B — Content & AI Readiness Consultant Review
   ========================================================================== */

.readiness-review-list {
    display: grid;
    gap: 18px;
    margin-top: 18px;
}

.readiness-review-card {
    padding: 20px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #fff;
}

.readiness-review-controls {
    display: grid;
    grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr);
    gap: 18px;
    margin-top: 16px;
}

.readiness-review-controls select,
.readiness-review-controls textarea,
.review-context-box + .field-label + select {
    width: 100%;
}

.review-context-box {
    margin: 14px 0 18px;
    padding: 16px;
    border-radius: 10px;
    background: #f7f9fc;
    border: 1px solid #dce5ef;
}

.review-context-box p {
    margin: 5px 0 12px;
}

.review-context-box p:last-child {
    margin-bottom: 0;
}

@media (max-width: 900px) {
    .readiness-review-controls {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================================
   Sprint 2.7C.2 — Assessment Workflow Navigation
   ========================================================================== */

.assessment-card-list {
    display: grid;
    gap: 20px;
}

.assessment-card {
    padding: 24px;
    border: 1px solid var(--border);
    border-radius: var(--radius-large);
    background: var(--card);
}

.assessment-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.assessment-breadcrumb {
    margin: 0 0 8px;
    color: var(--blue);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.assessment-breadcrumb span {
    margin: 0 4px;
    color: #9aa7b8;
}

.assessment-card h2 {
    margin: 0 0 6px;
    font-size: 1.35rem;
}

.assessment-page-url {
    color: var(--muted);
    font-size: .88rem;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.assessment-page-url:hover {
    color: var(--blue);
    text-decoration: underline;
}

.assessment-card-meta {
    min-width: 105px;
    text-align: right;
}

.assessment-card-meta span,
.assessment-card-meta strong {
    display: block;
}

.assessment-card-meta span {
    margin-bottom: 4px;
    color: var(--muted);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.assessment-workflow-heading {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin: 22px 0 10px;
}

.assessment-workflow-heading span {
    font-weight: 700;
}

.assessment-workflow-heading small {
    color: var(--muted);
}

.assessment-workflow {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 10px;
}

.workflow-stage {
    min-width: 0;
    min-height: 68px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 11px 12px;
    border: 1px solid #cfd9e6;
    border-radius: 9px;
    background: #f8fafc;
    color: #25364f;
    text-decoration: none;
}

.workflow-stage:hover {
    border-color: var(--blue);
    background: #eef5ff;
}

.workflow-stage span {
    display: block;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.2;
}

.workflow-stage small {
    display: block;
    margin-top: 6px;
    color: var(--blue);
    font-size: .7rem;
    font-weight: 700;
}

.workflow-stage.disabled {
    border-color: #e3e8ef;
    background: #f5f6f8;
    color: #a0a9b5;
    cursor: default;
}

.workflow-stage.disabled small {
    color: #a8b1bd;
}

.assessment-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #edf1f5;
}

.assessment-status-badge {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    background: #eef2f7;
    color: #65748a;
    font-size: .72rem;
    font-weight: 700;
}

.assessment-status-badge.active {
    background: #eef5ff;
    color: var(--blue);
}

.assessment-status-badge.ready {
    background: var(--success-bg);
    color: var(--success);
}

.assessment-manage {
    position: relative;
}

.assessment-manage summary {
    list-style: none;
    padding: 8px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    background: #fff;
    color: #334155;
    font-size: .82rem;
    font-weight: 700;
    cursor: pointer;
}

.assessment-manage summary::-webkit-details-marker {
    display: none;
}

.assessment-manage-menu {
    position: absolute;
    z-index: 20;
    right: 0;
    bottom: calc(100% + 8px);
    width: 180px;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(18, 35, 63, .12);
}

.assessment-manage-menu a,
.assessment-manage-menu button {
    width: 100%;
    display: block;
    padding: 9px 10px;
    border-radius: 6px;
    text-align: left;
    text-decoration: none;
}

.assessment-manage-menu form {
    margin: 4px 0 0;
}

.assessment-manage-menu .danger-link {
    border: 0;
}

@media (max-width: 1180px) {
    .assessment-workflow {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .assessment-card-header {
        flex-direction: column;
    }

    .assessment-card-meta {
        text-align: left;
    }

    .assessment-workflow {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .assessment-workflow {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================================
   Sprint 2.8A — Implementation Effort Review
   ========================================================================== */

.implementation-effort-list {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.implementation-effort-row {
    display: grid;
    grid-template-columns: minmax(0,1fr) 150px;
    align-items: center;
    gap: 18px;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: #f8fafc;
}

.implementation-effort-row label {
    margin: 0;
}

.implementation-effort-row label span {
    color: var(--muted);
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.implementation-effort-total {
    margin: 16px 0 0;
    padding: 12px 14px;
    border-radius: 8px;
    background: var(--success-bg);
    color: var(--success);
}

.workflow-bottom-actions {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--border);
}

@media (max-width: 700px) {
    .implementation-effort-row {
        grid-template-columns: 1fr;
    }
}

/* Sprint 3.0A — AI Consultant */
.ai-consultant-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.ai-consultant-status>div,.ai-rec{padding:12px;border:1px solid var(--border);border-radius:8px;background:#f8fafc}.ai-consultant-status span,.ai-consultant-status strong,.ai-consultant-status code{display:block}.ai-consultant-status span{font-size:.7rem;color:var(--muted);text-transform:uppercase}.ai-json{max-height:520px;overflow:auto;white-space:pre-wrap;padding:14px;border-radius:8px;background:#101827;color:#e5edf8;font-size:.76rem}.ai-run{padding:18px 0;border-top:1px solid var(--border)}.ai-run-head{display:flex;justify-content:space-between;gap:18px;margin-bottom:14px}.ai-rec{margin-bottom:8px}@media(max-width:760px){.ai-consultant-status{grid-template-columns:1fr}}

/* Sprint 3.0A.1 — AI Consultant Navigation */
@media (max-width: 1400px) {
    .assessment-workflow {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}


/* ==========================================================================
   Sprint 3.0B — AI Consultant Review Gate
   ========================================================================== */

.ai-compare-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 16px 0;
}

.ai-compare-grid > div {
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: #f8fafc;
}

.ai-compare-grid.compact {
    margin: 12px 0;
}

.ai-review-list {
    display: grid;
    gap: 14px;
    margin-top: 16px;
}

.ai-review-card {
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #fff;
}

.ai-review-card-heading {
    display: flex;
    justify-content: space-between;
    gap: 18px;
}

.ai-review-card-heading h3 {
    margin: 2px 0 0;
}

.ai-review-controls {
    display: grid;
    grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr);
    gap: 14px;
    margin-top: 14px;
}

.ai-review-controls select,
.ai-review-controls textarea {
    width: 100%;
}

@media (max-width: 760px) {
    .ai-compare-grid,
    .ai-review-controls {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================================
   Sprint 3.0D.4 — Report feedback prominence & section spacing
   ========================================================================== */
.report-generation-feedback {
    margin: 0 0 28px;
    padding: 18px 20px;
    border: 2px solid #2f6fb8;
    border-radius: 12px;
    background: #eef6ff;
    color: #123b6d;
    box-shadow: 0 4px 12px rgba(23,54,93,.08);
    font-size: 16px;
}
.report-generation-feedback strong {
    display: block;
    font-size: 18px;
    margin-bottom: 3px;
}
.report-preview-heading {
    margin-bottom: 30px;
}
.report-sheet {
    margin-bottom: 30px;
}
.report-sheet + .report-sheet {
    margin-top: 8px;
}


/* ==========================================================================
   Sprint 3.0D.5 — Word generation feedback
   ========================================================================== */
.report-generation-feedback.success {
    display: block;
    margin: 0 0 28px !important;
    padding: 18px 20px !important;
    border: 2px solid #2f855a !important;
    border-radius: 10px !important;
    background: #edfdf3 !important;
    color: #17603a !important;
    box-shadow: 0 3px 10px rgba(23,96,58,.08);
}
.report-generation-feedback.success strong {
    display: block;
    margin: 0 !important;
    color: #17603a !important;
    font-size: 18px;
    line-height: 1.35;
}
.report-generation-feedback.error {
    display: block;
    margin: 0 0 28px !important;
    padding: 18px 20px !important;
    border: 2px solid #b42318 !important;
    border-radius: 10px !important;
    background: #fff1f0 !important;
    color: #8f1d14 !important;
}
.report-generation-feedback.error strong,
.report-generation-feedback.error span {
    color: #8f1d14 !important;
}
.report-generation-feedback.error span {
    display: block;
    margin-top: 4px;
}


/* ==========================================================================
   Sprint 3.1A — AI Readiness Score
   ========================================================================== */
.ai-readiness-score-row {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: 24px;
    align-items: center;
    margin: 20px 0;
}
.ai-readiness-score {
    display: flex;
    align-items: baseline;
    min-width: 180px;
    padding: 18px 22px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #f7fbff;
}
.ai-readiness-score-number {
    font-size: 54px;
    line-height: 1;
    font-weight: 800;
    color: #174f9b;
}
.ai-readiness-score-total {
    margin-left: 4px;
    font-size: 20px;
    font-weight: 700;
    color: var(--muted);
}
.ai-readiness-breakdown {
    display: grid;
    gap: 12px;
}
.ai-readiness-component {
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #fff;
}
.ai-readiness-component-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
}
.ai-readiness-component-head strong {
    display: block;
    margin-top: 4px;
    font-size: 18px;
    color: #174f9b;
}
.ai-readiness-action {
    margin-top: 12px;
    padding: 12px;
    border-radius: 8px;
    background: #f7f9fc;
}
.ai-readiness-two-col,
.ai-report-priority-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 22px;
}
.ai-score-methodology {
    margin-top: 16px;
}
.ai-score-card strong,
.ai-report-score strong {
    color: #174f9b;
}
.ai-report-score-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
}
.ai-report-priority-grid {
    margin: 22px 0;
}
@media (max-width: 760px) {
    .ai-readiness-score-row,
    .ai-readiness-two-col,
    .ai-report-priority-grid,
    .ai-report-score-grid {
        grid-template-columns: 1fr;
    }
}

/* Workflow completion and client clarity */
.report-save-feedback.success{margin:0 0 28px;padding:18px 20px;border:2px solid #2f855a;border-radius:10px;background:#edfdf3;color:#17603a;box-shadow:0 3px 10px rgba(23,96,58,.08)}
.report-save-feedback.success strong{display:block;color:#17603a;font-size:18px;line-height:1.35}
.report-save-feedback.success span{display:block;margin-top:4px;color:#17603a}
.ai-readiness-client-explainer{margin:18px 0 24px;padding:18px 20px;border-left:4px solid #174f9b;background:#f7fbff}
.ai-readiness-client-explainer h3{margin-top:0}

/* conditional Search Console evidence */
.search-console-availability{margin-bottom:20px}
.search-console-status-form{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin-top:14px}
.search-console-status-form label{width:100%;min-width:0}
.search-console-status-form select{width:100%}
.search-console-status-form button{justify-self:start;margin-top:14px}

/* V3 Stage 3A.1 — Website findings dashboard */
.wr-severity-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;margin:20px 0 24px}.wr-stat{border:1px solid #dbe3ef;border-radius:10px;padding:16px;background:#f8fafc}.wr-stat small{display:block;text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-bottom:8px}.wr-stat strong{font-size:28px}.wr-stat-critical{border-left:5px solid #991b1b}.wr-stat-high{border-left:5px solid #dc2626}.wr-stat-medium{border-left:5px solid #d97706}.wr-stat-review{border-left:5px solid #64748b}.wr-positive-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:18px;margin:0 0 24px}.wr-positive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wr-positive-item{background:#fff;border:1px solid #dcfce7;border-radius:8px;padding:14px}.wr-positive-item strong,.wr-positive-item span{display:block}.wr-positive-item span{margin-top:6px}.wr-category{border-top:1px solid #dbe3ef;padding-top:20px;margin-top:24px}.wr-category>h3{margin-top:2px}.wr-finding{border:1px solid #dbe3ef;border-radius:8px;margin:10px 0;background:#fff}.wr-finding summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;cursor:pointer;font-weight:700}.wr-finding-title{flex:1}.wr-badge{font-size:11px;letter-spacing:.05em;border-radius:999px;padding:5px 9px;white-space:nowrap}.wr-badge-critical,.wr-badge-high{background:#fee2e2;color:#991b1b}.wr-badge-medium{background:#ffedd5;color:#9a3412}.wr-badge-review{background:#e2e8f0;color:#334155}.wr-badge-low{background:#e0f2fe;color:#075985}.wr-finding-body{border-top:1px solid #e5e7eb;padding:14px 16px}.wr-evidence-list{margin-top:12px}.wr-evidence-item{border-top:1px solid #eef2f7;padding:12px 0}.wr-evidence-item:first-child{border-top:0;padding-top:0}.wr-evidence-item p{margin:5px 0;word-break:break-word}@media(max-width:800px){.wr-severity-grid,.wr-positive-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.wr-severity-grid,.wr-positive-grid{grid-template-columns:1fr}.wr-finding summary{align-items:flex-start}}


/* V3 Stage 3A.1.2 — Website Review dashboard polish */
.wr-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0 26px}
.wr-metric-card{min-width:0;padding:18px 18px 16px;border:1px solid #d9e2ef;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(15,35,65,.04)}
.wr-metric-label{display:block;color:#304760;font-size:.76rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase;line-height:1.25}
.wr-metric-value{display:block;margin:9px 0 6px;color:#1757a6;font-size:2.15rem;line-height:1;font-weight:800}
.wr-metric-note{display:block;color:#6b7d91;font-size:.78rem;line-height:1.35}
.wr-metric-card-warning .wr-metric-value{color:#b45309}
.wr-metric-status{display:block;margin:12px 0 10px;font-size:1.18rem;line-height:1.1;font-weight:800}
.wr-status-completed{color:#15803d}.wr-status-failed{color:#b91c1c}.wr-status-running,.wr-status-queued{color:#1757a6}

.wr-severity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0 28px}
.wr-severity-card{position:relative;overflow:hidden;min-width:0;padding:19px 20px 17px;border:1px solid #d9e2ef;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(15,35,65,.04)}
.wr-severity-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#64748b}
.wr-severity-label{display:block;color:#304760;font-size:.77rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.wr-severity-value{display:block;margin:8px 0 5px;font-size:2.25rem;line-height:1;font-weight:800}
.wr-severity-note{display:block;color:#6b7d91;font-size:.78rem}
.wr-severity-critical:before{background:#991b1b}.wr-severity-critical .wr-severity-value{color:#991b1b}
.wr-severity-high:before{background:#dc2626}.wr-severity-high .wr-severity-value{color:#dc2626}
.wr-severity-medium:before{background:#d97706}.wr-severity-medium .wr-severity-value{color:#b45309}
.wr-severity-review:before{background:#64748b}.wr-severity-review .wr-severity-value{color:#475569}

.wr-inventory-wrap{width:100%;overflow-x:auto;border:1px solid #e0e7f0;border-radius:10px;background:#fff}
.wr-inventory-table{width:100%;min-width:1180px;border-collapse:separate;border-spacing:0;margin:0}
.wr-inventory-table th{position:sticky;top:0;z-index:1;background:#f5f8fc;color:#40556f;font-size:.72rem;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}
.wr-inventory-table th,.wr-inventory-table td{padding:11px 10px;border-bottom:1px solid #edf1f6;vertical-align:top}
.wr-inventory-table tbody tr:last-child td{border-bottom:0}
.wr-inventory-table tbody tr:hover{background:#f8fbff}
.wr-status-badge,.wr-index-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:800;white-space:nowrap}
.wr-status-good{background:#e8f7ee;color:#176b38}.wr-status-warn{background:#fff4df;color:#925c0a}.wr-status-bad{background:#feecec;color:#a61b1b}
.wr-index-good{background:#e8f1fb;color:#1757a6}.wr-index-muted{background:#eef2f6;color:#59697c}

.wr-positive-box{border-radius:12px}.wr-positive-item{border-radius:10px}
.wr-finding{border-radius:10px;box-shadow:0 1px 2px rgba(15,35,65,.025)}

@media(max-width:1200px){.wr-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.wr-metric-grid,.wr-severity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.wr-metric-grid,.wr-severity-grid{grid-template-columns:1fr}.wr-metric-value,.wr-severity-value{font-size:1.9rem}}
/* V3 Stage 3B — AI Website Consultant */
.wr-ai-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.wr-ai-actions{display:flex;gap:10px;align-items:center}.wr-ai-status{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.wr-ai-proposed{background:#fff4d8;color:#8a5a00}.wr-ai-approved{background:#e8f7ed;color:#18713a}.wr-ai-exec{margin:18px 0;padding:18px;border:1px solid #d9e3f2;border-left:4px solid #2463b5;border-radius:8px;background:#f8fbff}.wr-ai-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.wr-ai-box{border:1px solid #d9e3f2;border-radius:8px;padding:16px;background:#fff}.wr-ai-box h3{margin-top:0}.wr-ai-list{margin:8px 0 0;padding-left:20px}.wr-ai-item{border:1px solid #d9e3f2;border-radius:8px;padding:14px;margin:10px 0;background:#fff}.wr-ai-item-head{display:flex;justify-content:space-between;gap:12px}.wr-ai-item p{margin:8px 0 0}.wr-ai-section{margin-top:22px}.wr-ai-limitations{background:#f7f8fa;border-radius:8px;padding:14px}.wr-ai-meta{font-size:12px;color:#65758b;margin-top:10px}@media(max-width:850px){.wr-ai-columns{grid-template-columns:1fr}.wr-ai-header{display:block}.wr-ai-actions{margin-top:12px;flex-wrap:wrap}}

/* Release 53 — one visible Page Assessment path with section jumping. */
.assessment-stepper{padding:18px;margin-bottom:18px;overflow:hidden}.assessment-stepper-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}.assessment-stepper-heading h2{margin:2px 0 0;font-size:1.05rem}.assessment-stepper-heading>strong{color:#2463b5;font-size:.86rem}.assessment-stepper-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.assessment-stepper-list li{min-width:0}.assessment-step{display:flex;align-items:center;gap:8px;min-height:52px;padding:9px 10px;border:1px solid #d9e3f2;border-radius:8px;background:#f7f9fc;color:#34465f;text-decoration:none}.assessment-step span{display:flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#dfe8f5;color:#284869;font-size:.75rem;font-weight:800}.assessment-step strong{font-size:.76rem;line-height:1.2}.assessment-step:hover{border-color:#7ea6d8;background:#f0f6fd}.assessment-step.current{border-color:#2463b5;background:#eaf3ff;color:#174f91;box-shadow:inset 0 0 0 1px #2463b5}.assessment-step.current span{background:#2463b5;color:#fff}.assessment-stepper-handoff{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding-top:14px;border-top:1px solid #e0e7f0}.assessment-stepper-handoff>div:first-child{display:flex;flex-direction:column;gap:2px}.assessment-stepper-handoff span{color:#65758b;font-size:.72rem;text-transform:uppercase;font-weight:800;letter-spacing:.045em}.assessment-stepper-handoff strong{color:#14243d}.programme-context+.assessment-stepper{margin-top:-8px}@media(max-width:1000px){.assessment-stepper-list{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-stepper-handoff{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.assessment-stepper-list{grid-template-columns:1fr}.assessment-stepper-heading{display:block}.assessment-stepper-heading>strong{display:block;margin-top:8px}}

/* V3 Stage 3B.1 — AI Consultant Review Dashboard */
.wr-ai-panel{overflow:hidden}.wr-ai-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.wr-ai-summary-card{border:1px solid #d9e3f2;border-radius:10px;background:#fff;padding:16px 18px;min-height:118px;display:flex;flex-direction:column}.wr-ai-summary-card span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.055em;color:#52647d}.wr-ai-summary-card strong{font-size:2.35rem;line-height:1.05;color:#2463b5;margin:8px 0 5px}.wr-ai-summary-card small{color:#718096}.wr-ai-summary-priority{border-top:3px solid #d34b4b}.wr-ai-summary-quick{border-top:3px solid #2463b5}.wr-ai-summary-strategic{border-top:3px solid #6b63b5}.wr-ai-working{background:#f0fbf4;border-color:#cfead8}.wr-ai-section{padding-top:8px}.wr-ai-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.wr-ai-section-heading h3{margin:2px 0 4px}.wr-ai-section-heading p{margin-bottom:0}.wr-ai-count{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 10px;border-radius:10px;background:#eef4fc;color:#2463b5;font-size:1.35rem;font-weight:800}.wr-ai-card-grid{display:grid;grid-template-columns:1fr;gap:12px}.wr-ai-recommendation{border:1px solid #d9e3f2;border-radius:10px;background:#fff;padding:16px 18px;box-shadow:0 1px 2px rgba(17,42,78,.03)}.wr-ai-recommendation h4{font-size:1rem;margin:0;color:#14243d}.wr-ai-rec-block{margin-top:13px}.wr-ai-rec-block>span,.wr-ai-evidence>span{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.055em;color:#52647d;margin-bottom:4px}.wr-ai-rec-block p,.wr-ai-evidence p{margin:0;line-height:1.55}.wr-ai-evidence{margin-top:14px;padding:11px 13px;border-radius:7px;background:#f5f7fa;color:#52647d}.wr-ai-section-priority .wr-ai-count{background:#fff0f0;color:#b62f2f}.wr-ai-section-quick .wr-ai-count{background:#eef5ff;color:#2463b5}.wr-ai-section-strategic .wr-ai-count{background:#f2f0ff;color:#6255ad}.wr-ai-limitations{margin-top:24px;padding:18px;border:1px solid #dde3ea;border-radius:10px;background:#f7f8fa}.wr-ai-limitations h3{margin:2px 0 5px}.wr-ai-limitations ul{margin-bottom:0}.wr-ai-approval{margin-top:24px;padding:18px;border:1px solid #cddbf0;border-radius:10px;background:#f7fbff;display:flex;align-items:center;justify-content:space-between;gap:24px}.wr-ai-approval h3{margin:2px 0 5px}.wr-ai-approval p{margin-bottom:0}.wr-ai-approved-note{display:flex;flex-direction:column;align-items:flex-end;color:#18713a}.wr-ai-approved-note strong{font-size:1rem}.wr-ai-approved-note span{font-size:12px;color:#65758b;margin-top:3px}.wr-ai-meta{text-align:right;margin-top:12px}@media(max-width:850px){.wr-ai-summary-grid{grid-template-columns:1fr}.wr-ai-approval{display:block}.wr-ai-approval form,.wr-ai-approved-note{margin-top:14px}.wr-ai-approved-note{align-items:flex-start}}@media(min-width:1180px){.wr-ai-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wr-ai-section-priority .wr-ai-card-grid{grid-template-columns:1fr}}

/* V3 Stage 3C - overall assessment and consolidated implementation plan */
.wr-overall-assessment{display:flex;justify-content:space-between;gap:28px;align-items:flex-start;margin:20px 0;padding:18px 20px;border:1px solid #d9e3f2;border-left:5px solid #2463b5;border-radius:10px;background:#f8fbff}.wr-overall-assessment h3{margin:2px 0 7px;font-size:1.25rem}.wr-overall-assessment p{margin:0;line-height:1.55}.wr-overall-strong_foundation{border-left-color:#20834b;background:#f3fbf6}.wr-overall-generally_sound{border-left-color:#2463b5}.wr-overall-improvement_required{border-left-color:#d88618;background:#fffaf2}.wr-overall-significant_attention{border-left-color:#c83e3e;background:#fff6f6}.wr-overall-note{min-width:220px;max-width:280px;padding:12px 14px;border-radius:8px;background:#fff;border:1px solid #e0e7f0}.wr-overall-note strong,.wr-overall-note span{display:block}.wr-overall-note strong{font-size:.82rem;color:#1a2d49}.wr-overall-note span{font-size:.75rem;color:#687991;margin-top:4px;line-height:1.4}.wr-implementation{margin-top:26px;padding-top:20px;border-top:1px solid #dfe7f1}.wr-implementation-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:14px}.wr-implementation-head h3{margin:2px 0 5px}.wr-effort-total{min-width:150px;padding:12px 15px;border:1px solid #cddbf0;border-radius:9px;background:#f5f9ff;text-align:right}.wr-effort-total span,.wr-effort-total small{display:block;color:#667991;font-size:.72rem}.wr-effort-total strong{display:block;color:#1859aa;font-size:1.5rem;line-height:1.15;margin:3px 0}.wr-implementation-table-wrap{overflow-x:auto;border:1px solid #d9e3f2;border-radius:10px}.wr-implementation-table{width:100%;border-collapse:collapse;background:#fff}.wr-implementation-table th{padding:11px 12px;background:#f5f8fc;color:#52647d;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.055em;border-bottom:1px solid #d9e3f2}.wr-implementation-table td{padding:13px 12px;vertical-align:top;border-bottom:1px solid #e7edf5}.wr-implementation-table tbody tr:last-child td{border-bottom:0}.wr-implementation-table td p{margin:5px 0 0;line-height:1.45}.wr-implementation-table details{margin-top:8px;color:#60728a;font-size:.78rem}.wr-implementation-table summary{cursor:pointer;font-weight:700;color:#315f9b}.wr-implementation-table details p{margin-top:6px}.wr-sequence{font-weight:800;color:#2463b5;width:42px}.wr-hours{white-space:nowrap;font-weight:800;color:#1d4f91}.wr-effort-disclaimer{font-size:.76rem;color:#718096;margin:10px 2px 0;line-height:1.45}@media(max-width:850px){.wr-overall-assessment,.wr-implementation-head{display:block}.wr-overall-note,.wr-effort-total{max-width:none;margin-top:14px;text-align:left}}

/* V3 Stage 3C - implementation summary cards */
.wr-implementation-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 18px}.wr-implementation-stat{padding:15px 17px;border:1px solid #cddbf0;border-radius:10px;background:#fff}.wr-implementation-stat span,.wr-implementation-stat small{display:block}.wr-implementation-stat span{color:#1a2d49;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}.wr-implementation-stat strong{display:block;color:#1859aa;font-size:1.75rem;line-height:1.1;margin:7px 0 5px}.wr-implementation-stat small{color:#667991;font-size:.72rem;line-height:1.35}.wr-implementation-stat-high strong{color:#c83e3e}@media(max-width:850px){.wr-implementation-summary{grid-template-columns:1fr}}

/* V3 Stage 3D — client report preview */
.wr-report-preview-cta{margin-top:24px;padding:18px 20px;border:1px solid #cfdcf0;border-radius:12px;background:#f7faff;display:flex;align-items:center;justify-content:space-between;gap:20px}.wr-report-preview-cta h3{margin:2px 0 4px}.wr-report-preview-page{max-width:1180px;margin:0 auto}.wr-report-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.wr-report-toolbar h1{margin:2px 0 4px}.wr-client-report{background:#fff;border:1px solid #d8e1ee;border-radius:14px;overflow:hidden;box-shadow:0 8px 30px rgba(20,45,80,.05)}.wr-report-cover{min-height:420px;padding:64px 70px;background:linear-gradient(145deg,#10294f,#173b70);color:#fff;display:flex;flex-direction:column}.wr-report-kicker{font-size:12px;font-weight:800;letter-spacing:.16em;color:#b9d4ff}.wr-report-cover h1{font-size:42px;line-height:1.08;margin:28px 0 14px;color:#fff}.wr-report-client{font-size:24px;font-weight:700;margin:0 0 5px}.wr-report-domain{color:#d7e5fb;margin:0}.wr-report-cover-rule{width:80px;height:4px;background:#f0b24b;margin:32px 0 22px;border-radius:2px}.wr-report-objective{font-size:18px;max-width:720px;line-height:1.55}.wr-report-cover-meta{margin-top:auto;padding-top:40px;display:flex;justify-content:space-between;gap:20px;color:#b9cce8;font-size:12px}.wr-report-section{padding:42px 56px;border-bottom:1px solid #e4eaf2}.wr-report-section h2{font-size:26px;margin:4px 0 16px;color:#132b50}.wr-report-lead{font-size:16px;line-height:1.7;color:#253a59}.wr-report-assessment{display:grid;grid-template-columns:1fr 240px;gap:28px;padding:24px;border:1px solid #cfe0f6;background:#f5f9ff;border-radius:12px;margin-bottom:22px}.wr-report-assessment h2{margin-top:0}.wr-report-assessment-note{border-left:3px solid #2862b8;padding-left:18px;display:flex;flex-direction:column;justify-content:center}.wr-report-assessment-note span{font-size:12px;color:#60738f;margin-top:5px}.wr-report-stats,.wr-report-plan-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.wr-report-stats div,.wr-report-plan-stats div{border:1px solid #d5e0ef;border-radius:10px;padding:16px}.wr-report-stats span,.wr-report-plan-stats span{display:block;text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:800;color:#314b70}.wr-report-stats strong,.wr-report-plan-stats strong{display:block;color:#1558ad;font-size:26px;margin-top:7px}.wr-report-note{font-size:12px;color:#657893;margin:14px 0 0}.wr-report-positive-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wr-report-positive-grid div{padding:16px;border:1px solid #cce7d6;background:#f2fbf5;border-radius:9px;line-height:1.5}.wr-report-intro{color:#60738f}.wr-report-rec-list{display:grid;gap:14px}.wr-report-rec-list article{border:1px solid #d8e1ee;border-radius:10px;padding:18px 20px}.wr-report-rec-list article p{line-height:1.55}.wr-report-rec-head{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px}.wr-report-rec-head>span{width:28px;height:28px;border-radius:50%;background:#e8f1ff;color:#1558ad;display:grid;place-items:center;font-weight:800}.wr-report-rec-head h3{margin:0;color:#162a49}.wr-report-two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px}.wr-report-mini-rec{border-top:1px solid #dfe6ef;padding:14px 0}.wr-report-mini-rec h3{font-size:15px;margin:0 0 6px}.wr-report-mini-rec p{margin:0;line-height:1.5;color:#40536f}.wr-report-plan-stats{margin-bottom:18px}.wr-report-plan-table{width:100%;border-collapse:collapse}.wr-report-plan-table th{background:#f1f5fa;text-transform:uppercase;letter-spacing:.06em;font-size:10px;color:#49617f;text-align:left;padding:11px}.wr-report-plan-table td{padding:14px 11px;border-bottom:1px solid #e1e7ef;vertical-align:top}.wr-report-plan-table td:first-child{font-weight:800;color:#1558ad}.wr-report-plan-table td:last-child{font-weight:800;color:#1558ad;white-space:nowrap}.wr-report-plan-table p{margin:5px 0 0;line-height:1.45}.wr-report-limitations{background:#fbfcfe}.wr-report-limitations li{margin:7px 0;line-height:1.5}.wr-report-disclaimer{padding:28px 56px;background:#f4f6f9;color:#566980;font-size:12px;line-height:1.55}.wr-report-disclaimer strong{color:#223a5a;text-transform:uppercase;letter-spacing:.08em}.wr-report-disclaimer p{margin:7px 0 0}@media(max-width:800px){.wr-report-cover,.wr-report-section,.wr-report-disclaimer{padding:28px 24px}.wr-report-cover h1{font-size:32px}.wr-report-assessment,.wr-report-two-col{grid-template-columns:1fr}.wr-report-stats,.wr-report-plan-stats{grid-template-columns:1fr 1fr}.wr-report-positive-grid{grid-template-columns:1fr}.wr-report-toolbar,.wr-report-preview-cta{align-items:stretch;flex-direction:column}}@media print{.no-print,.sidebar,.topbar{display:none!important}.app-shell,.main-content{display:block!important;margin:0!important;padding:0!important}.wr-client-report{border:0;box-shadow:none}.wr-report-cover{min-height:90vh;page-break-after:always}.wr-report-section{break-inside:avoid}.wr-report-preview-page{max-width:none}.wr-client-report{border-radius:0}}

/* V3 Stage 3D.1 — client report evidence/findings summary */
.wr-report-stats > div small { display:block; margin-top:4px; color:#66758f; font-size:11px; font-weight:600; }
.wr-report-findings-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:18px; }
.wr-report-findings-stats > div { border:1px solid #d8e1ef; border-radius:10px; padding:16px; background:#fff; }
.wr-report-findings-stats span { display:block; color:#173d76; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.wr-report-findings-stats strong { display:block; margin:5px 0 2px; color:#1559ae; font-size:28px; line-height:1; }
.wr-report-findings-stats small { color:#66758f; font-size:11px; }
.wr-report-findings-stats .critical { border-left:4px solid #b42318; }
.wr-report-findings-stats .critical strong,.wr-report-findings-stats .high strong { color:#c93434; }
.wr-report-findings-stats .medium strong { color:#c15c00; }
.wr-report-findings-stats .review strong { color:#40536f; }
@media (max-width:800px){.wr-report-findings-stats{grid-template-columns:repeat(2,minmax(0,1fr));}}
/* V3 Stage 3C.1 — consultant timing override */
.wr-effort-input-wrap{display:flex;align-items:center;gap:5px;justify-content:flex-end}.wr-effort-input{width:82px;padding:7px 8px;border:1px solid #cbd8e9;border-radius:7px;text-align:right;font:inherit;font-weight:800;color:#1d4f91;background:#fff}.wr-effort-input:focus{outline:2px solid rgba(36,99,181,.18);border-color:#2463b5}.wr-hours small{display:block;margin-top:4px;text-align:right;font-size:10px;font-weight:600;color:#718096}.wr-effort-review-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:12px;padding:13px 15px;border:1px solid #d6e1ef;border-radius:9px;background:#f7faff}.wr-effort-review-actions strong,.wr-effort-review-actions span{display:block}.wr-effort-review-actions strong{font-size:.82rem;color:#1a2d49}.wr-effort-review-actions span{margin-top:3px;font-size:.74rem;color:#667991}@media(max-width:700px){.wr-effort-review-actions{display:block}.wr-effort-review-actions button{margin-top:10px;width:100%}}

/* V3 Website Review — Search Console containment + implementation timing UX */
.wr-gsc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:20px;width:100%;max-width:100%;min-width:0}
.wr-gsc-panel{min-width:0;max-width:100%}
.wr-gsc-panel h3{margin:0 0 10px}
.wr-gsc-table-wrap{width:100%;max-width:100%;overflow-x:auto;border:1px solid #e0e7f0;border-radius:10px;background:#fff}
.wr-gsc-table{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0;margin:0}
.wr-gsc-table th,.wr-gsc-table td{padding:10px 8px;border-bottom:1px solid #edf1f6;vertical-align:top}
.wr-gsc-table th{background:#f5f8fc;color:#40556f;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.wr-gsc-table th:first-child,.wr-gsc-table td:first-child{width:auto;text-align:left;overflow-wrap:anywhere;word-break:break-word}
.wr-gsc-table th:not(:first-child),.wr-gsc-table td:not(:first-child){width:64px;text-align:right;white-space:nowrap}
.wr-gsc-table tbody tr:last-child td{border-bottom:0}
.wr-gsc-table tbody tr:hover{background:#f8fbff}
.wr-implementation-table .wr-hours{min-width:105px}
.wr-implementation-table .wr-effort-input-wrap{justify-content:flex-end}
@media(max-width:900px){.wr-gsc-grid{grid-template-columns:1fr}.wr-gsc-table th:not(:first-child),.wr-gsc-table td:not(:first-child){width:58px}}

/* V3 workspace hierarchy — Client > Website > Project > Module */
.hierarchy-actions{display:flex;gap:10px;align-items:center}.hierarchy-metrics{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:22px}.hierarchy-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.hierarchy-card{display:block;padding:20px;border:1px solid #d8e2ef;border-radius:12px;background:#fff;text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.hierarchy-card:hover{border-color:#9fbce2;box-shadow:0 8px 22px rgba(24,66,116,.08);transform:translateY(-1px)}.hierarchy-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.hierarchy-card h3{margin:4px 0 5px;color:#17375f;font-size:1.1rem}.hierarchy-card p{margin:0;color:#65758b;line-height:1.45}.hierarchy-arrow{font-size:1.6rem;color:#2d67ae}.hierarchy-card-stats{display:flex;gap:18px;margin-top:18px;padding-top:14px;border-top:1px solid #e7edf4;color:#65758b;font-size:.76rem}.hierarchy-card-stats strong{color:#1859aa;font-size:1rem;margin-right:3px}.hierarchy-title-link{color:inherit;text-decoration:none}.hierarchy-title-link:hover{color:#1859aa}.breadcrumb-link{color:#2a63aa;text-decoration:none}.module-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid #e7edf4}.module-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:.72rem;font-weight:700}.module-badge strong{font-size:.78rem}.module-badge.v3{background:#eaf3ff;color:#195da8}.module-badge.v2{background:#eef8f0;color:#26723c}.module-badge.v4{background:#f3f4f6;color:#6b7280}.dashboard-start{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.dashboard-start h2{margin:3px 0 6px}.dashboard-start p{margin-bottom:0}@media(max-width:850px){.hierarchy-card-grid{grid-template-columns:1fr}.hierarchy-actions,.dashboard-start{align-items:stretch;flex-direction:column}.hierarchy-actions .button{width:100%;text-align:center}.hierarchy-card-stats{flex-wrap:wrap}}

.wr-crawl-limit-note{margin-top:8px;max-width:760px;}
.wr-crawl-limit-warning{margin:14px 0;padding:12px 14px;border:1px solid #e4c56a;border-radius:8px;background:#fffaf0;}

/* V3 crawl size controls */
#wr-custom-max-wrap{display:block;margin-top:10px;}
#wr-custom-max-wrap[hidden]{display:none;}
#wr-custom-max-wrap input[type="number"]{display:block;width:180px;margin:6px 0;}
.wr-custom-limit-label{display:block;font-weight:700;margin-top:8px;}

.wr-report-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.wr-report-actions form{margin:0}.wr-report-actions button{white-space:nowrap}@media(max-width:800px){.wr-report-actions{align-items:stretch;flex-direction:column}.wr-report-actions .button,.wr-report-actions button{width:100%;text-align:center}}

/* V3 Website Review setup summary */
.review-setup-item{
    display:flex;
    flex-direction:column;
    gap:3px;
    min-width:0;
}
.review-setup-item small{
    display:block;
    font-size:12px;
    line-height:1.2;
    color:#58708f;
}
.review-setup-item strong{
    display:block;
    line-height:1.35;
    word-break:break-word;
}


/* V3 final presentation pass — inventory fits card without horizontal scrolling. */
.wr-inventory-wrap{
    width:100%;
    max-width:100%;
    overflow:visible;
}
.wr-inventory-table{
    width:100%;
    min-width:0;
    table-layout:fixed;
    border-collapse:separate;
    border-spacing:0;
    margin:0;
    font-size:12px;
}
.wr-inventory-table th,
.wr-inventory-table td{
    padding:9px 6px;
    min-width:0;
    max-width:none;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
}
.wr-inventory-table th{
    font-size:9px;
    line-height:1.2;
}
.wr-inventory-table .wr-status-badge,
.wr-inventory-table .wr-index-badge{
    padding:3px 5px;
    font-size:10px;
    white-space:normal;
    text-align:center;
    justify-content:center;
}
.wr-inventory-table .wr-cell-url,
.wr-inventory-table .wr-cell-title{
    overflow-wrap:anywhere;
    word-break:break-word;
}
.wr-inventory-table .wr-col-url{width:19%}
.wr-inventory-table .wr-col-status{width:6%}
.wr-inventory-table .wr-col-index{width:7%}
.wr-inventory-table .wr-col-depth{width:4%}
.wr-inventory-table .wr-col-title{width:18%}
.wr-inventory-table .wr-col-h1{width:3%}
.wr-inventory-table .wr-col-words{width:5%}
.wr-inventory-table .wr-col-internal{width:7%}
.wr-inventory-table .wr-col-assets{width:5%}
.wr-inventory-table .wr-col-external{width:5%}
.wr-inventory-table .wr-col-images{width:5%}
.wr-inventory-table .wr-col-alt{width:6%}
.wr-inventory-table .wr-col-response{width:10%}

/* V3 client report preview — Search Console metric cards. */
.wr-gsc-metrics{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-top:16px;
}
.wr-gsc-card{
    min-width:0;
    border:1px solid #d5e0ef;
    border-radius:10px;
    padding:16px;
    background:#fff;
}
.wr-gsc-card span{
    display:block;
    text-transform:uppercase;
    letter-spacing:.07em;
    font-size:10px;
    font-weight:800;
    color:#314b70;
}
.wr-gsc-card strong{
    display:block;
    color:#1558ad;
    font-size:26px;
    line-height:1.05;
    margin-top:7px;
}
.wr-gsc-card small{
    display:block;
    margin-top:5px;
    color:#657893;
    font-size:11px;
    line-height:1.35;
}
.wr-gsc-note{margin-top:14px}
@media(max-width:800px){
    .wr-gsc-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
    .wr-inventory-table{font-size:11px}
    .wr-inventory-table th,.wr-inventory-table td{padding:7px 4px}
}

/* V3 client report — Google Page Indexing evidence. */
.wr-indexing-metrics{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin:16px 0;
}
.wr-indexing-card{
    border:1px solid #d5e0ef;
    border-radius:10px;
    padding:15px 16px;
    background:#fff;
    min-width:0;
}
.wr-indexing-card span{
    display:block;
    font-size:10px;
    line-height:1.25;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:#314b70;
}
.wr-indexing-card strong{
    display:block;
    margin-top:6px;
    font-size:26px;
    line-height:1.05;
    color:#1558ad;
}
.wr-indexing-card .wr-indexing-scope{
    font-size:18px;
    line-height:1.2;
}
.wr-indexing-card small{
    display:block;
    margin-top:6px;
    color:#657893;
    line-height:1.35;
}
.wr-indexing-table-wrap{width:100%;overflow:hidden}
.wr-indexing-table{
    width:100%;
    table-layout:fixed;
    border-collapse:collapse;
    font-size:12px;
}
.wr-indexing-table th,.wr-indexing-table td{
    border-bottom:1px solid #e0e7f0;
    padding:9px 8px;
    text-align:left;
    vertical-align:top;
    overflow-wrap:anywhere;
}
.wr-indexing-table th:nth-child(1){width:28%}
.wr-indexing-table th:nth-child(2){width:13%}
.wr-indexing-table th:nth-child(3){width:14%}
.wr-indexing-table th:nth-child(4){width:7%}
.wr-indexing-table th:nth-child(5){width:38%}
@media(max-width:700px){
    .wr-indexing-metrics{grid-template-columns:1fr}
}

/* V3 Progress Review — baseline vs current evidence */
.wr-progress-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.wr-progress-heading h2{margin-bottom:4px}
.wr-progress-awaiting{
    border:1px solid #cbdaf0;
    background:#f7faff;
    border-radius:10px;
    padding:16px;
}
.wr-progress-awaiting p{margin:6px 0 0;color:#59708f}
.wr-progress-status-cards{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin:16px 0 22px;
}
.wr-progress-status{
    border:1px solid #d7e1ee;
    border-radius:10px;
    padding:14px 15px;
    background:#fff;
}
.wr-progress-status span{
    display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#3a5170
}
.wr-progress-status strong{display:block;font-size:27px;line-height:1.05;margin:6px 0;color:#1558ad}
.wr-progress-status small{display:block;color:#657893;line-height:1.35}
.wr-progress-status.resolved{border-left:4px solid #22a06b}
.wr-progress-status.improved{border-left:4px solid #2f6fdd}
.wr-progress-status.outstanding{border-left:4px solid #d98400}
.wr-progress-status.new{border-left:4px solid #d9363e}
.wr-progress-table-wrap{width:100%;overflow:hidden;margin:8px 0 20px}
.wr-progress-table{width:100%;table-layout:fixed}
.wr-progress-table th:first-child{width:46%}
.wr-progress-table th:not(:first-child){width:18%}
.wr-progress-table td,.wr-progress-table th{overflow-wrap:anywhere}
.wr-progress-pill{
    display:inline-block;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;
    background:#eef2f7;color:#53647a;white-space:nowrap
}
.wr-progress-pill.resolved{background:#e4f7ed;color:#08794b}
.wr-progress-pill.improved{background:#e7f0ff;color:#1758b3}
.wr-progress-pill.worsened,.wr-progress-pill.new{background:#ffe8e8;color:#b4232a}
.wr-progress-pill.still_present,.wr-progress-pill.outstanding{background:#fff0dc;color:#a85d00}
.wr-progress-pill.unchanged{background:#eef2f7;color:#53647a}
.wr-progress-pill.changed{background:#eee9ff;color:#5a43a5}
.wr-progress-pill.unable_to_validate,.wr-progress-pill.awaiting{background:#f2f3f5;color:#687386}
.wr-progress-findings{
    border:1px solid #d7e1ee;border-radius:10px;overflow:hidden;margin:8px 0 20px
}
.wr-progress-finding{
    display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-bottom:1px solid #e4eaf2
}
.wr-progress-finding:last-child{border-bottom:0}
.wr-progress-finding strong{display:block}
.wr-progress-finding small{display:block;margin-top:4px;color:#657893}
.wr-progress-boundary{margin-top:8px}
@media(max-width:760px){
    .wr-progress-status-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* V3 Competitor Review foundation */
.competitor-site-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin:16px 0 22px}
.competitor-site-card{border:1px solid #d7e1ee;border-radius:10px;padding:16px;background:#fff;display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.competitor-site-card h3{margin:3px 0 8px}
.competitor-add-form{border-top:1px solid #e3e9f1;margin-top:18px;padding-top:18px}
@media(max-width:760px){.competitor-site-grid{grid-template-columns:1fr}.competitor-site-card{flex-direction:column}}

/* V3 Competitor Review Stage 2 */
.competitor-evidence-card{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:start}
.competitor-card-actions{display:flex;flex-direction:column;gap:10px}
.competitor-card-actions form{display:flex;flex-direction:column;gap:8px}
.competitor-card-actions select{width:100%}
.competitor-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.competitor-metrics>div{border:1px solid #dce5f0;border-radius:8px;padding:10px;background:#f8fbff}
.competitor-metrics small{display:block;color:#58708f;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.competitor-metrics strong{display:block;font-size:20px;color:#0b55b5;margin-top:3px}
.competitor-crawl-meta{margin-top:10px}
.empty-state.compact{padding:12px;margin-top:12px}
@media(max-width:800px){.competitor-evidence-card{grid-template-columns:1fr}.competitor-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V3 Competitor Review Stage 3A — findings presentation */
.competitor-findings-dashboard > .muted{max-width:900px}
.competitor-findings-site{
    border:1px solid #d7e1ee;
    border-radius:12px;
    padding:20px;
    margin-top:18px;
    background:#fff;
}
.competitor-findings-heading{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:flex-start;
    padding-bottom:16px;
    border-bottom:1px solid #e4eaf2;
}
.competitor-findings-heading h3{margin:3px 0 5px}
.finding-total{
    border:1px solid #dce5f0;
    border-radius:9px;
    padding:10px 14px;
    background:#f8fbff;
    min-width:128px;
}
.finding-total small{
    display:block;
    color:#58708f;
    text-transform:uppercase;
    font-size:10px;
    font-weight:800;
    letter-spacing:.05em;
}
.finding-total strong{display:block;margin-top:4px;font-size:26px;color:#0b55b5}
.findings-metrics{margin:16px 0}
.competitor-positive{
    margin:18px 0;
    padding:16px;
    border:1px solid #bfe6ca;
    border-left:4px solid #22a06b;
    background:#effbf3;
    border-radius:9px;
}
.competitor-positive .eyebrow{margin-bottom:9px;color:#08794b}
.competitor-positive>div{
    position:relative;
    padding:6px 0 6px 22px;
    line-height:1.45;
}
.competitor-positive>div:before{
    content:"✓";
    position:absolute;
    left:0;
    top:6px;
    font-weight:800;
    color:#08794b;
}
.competitor-finding-list{
    display:grid;
    gap:12px;
    margin-top:18px;
}
.competitor-finding-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    align-items:start;
    border:1px solid #dce5f0;
    border-radius:9px;
    padding:16px 16px 15px;
    background:#fff;
}
.competitor-finding-content{min-width:0}
.competitor-finding-category{
    display:block;
    margin-bottom:6px;
    color:#31527f;
    text-transform:uppercase;
    font-size:10px;
    line-height:1.25;
    font-weight:800;
    letter-spacing:.07em;
}
.competitor-finding-title{
    display:block;
    margin:0;
    font-size:14px;
    line-height:1.35;
    color:#111d31;
}
.competitor-finding-detail{
    margin:8px 0 0;
    color:#405675;
    line-height:1.5;
}
.finding-severity{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
    border-radius:999px;
    padding:5px 9px;
    font-size:10px;
    line-height:1;
    font-weight:800;
    letter-spacing:.03em;
}
.finding-severity.high{background:#ffe7e7;color:#c51d1d}
.finding-severity.medium{background:#fff0d9;color:#b65d00}
.finding-severity.review{background:#e9eef5;color:#53657c}
@media(max-width:760px){
    .competitor-findings-heading{flex-direction:column}
    .findings-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
    .competitor-finding-row{grid-template-columns:1fr}
    .finding-severity{justify-self:start}
}

/* V3 Competitor Review Stage 4 — standalone AI consultant */
.competitor-consultant .section-heading{align-items:flex-start}
.competitor-ai-assessment{border:1px solid #cfdcf0;border-left:4px solid #2463b5;background:#f7faff;border-radius:10px;padding:18px;margin-top:18px}
.competitor-ai-assessment h3{margin:4px 0 8px}
.competitor-ai-boundary{display:flex;gap:10px;align-items:center;margin-top:12px;padding:10px 12px;border-radius:8px;background:#fff;border:1px solid #dce5f0}
.competitor-ai-boundary span{color:#647795}
.competitor-ai-executive,.competitor-ai-summary,.competitor-ai-limitations{margin-top:16px;border:1px solid #dce5f0;border-radius:10px;padding:18px;background:#fff}
.competitor-ai-executive h3,.competitor-ai-summary h3,.competitor-ai-limitations h3{margin:4px 0 10px}
.competitor-ai-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.competitor-ai-section{border:1px solid #dce5f0;border-radius:10px;padding:16px;background:#fff}
.competitor-ai-section.strength{background:#f4fbf6;border-color:#c9e9d2}
.competitor-ai-observation{border-top:1px solid #e3e9f1;padding-top:12px;margin-top:12px}
.competitor-ai-observation:first-of-type{border-top:0;padding-top:0}
.competitor-ai-observation-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.competitor-ai-observation-head span{font-size:10px;font-weight:800;text-transform:uppercase;color:#55708f;background:#eef3f9;border-radius:999px;padding:4px 8px;white-space:nowrap}
.competitor-ai-observation p{margin:8px 0 0;line-height:1.5}
.competitor-ai-observation small{display:block;text-transform:uppercase;font-weight:800;font-size:9px;letter-spacing:.05em;color:#31527f;margin-bottom:3px}
.competitor-ai-limitations ul{margin-bottom:0}
.competitor-ai-limitations li{margin:6px 0;line-height:1.45}
.competitor-ai-approval{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding:16px;border:1px solid #cfdcf0;border-radius:10px;background:#f8fbff}
.competitor-ai-approval h3{margin:4px 0 5px}
.competitor-ai-meta{text-align:right;margin-top:8px;font-size:11px}
@media(max-width:800px){.competitor-ai-sections{grid-template-columns:1fr}.competitor-ai-approval,.competitor-ai-boundary{flex-direction:column;align-items:flex-start}}

.competitor-ai-observation{display:block;border-top:1px solid #e3e9f1;padding:0;margin:8px 0;background:transparent}
.competitor-ai-observation summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:11px 0}
.competitor-ai-observation summary::-webkit-details-marker{display:none}.competitor-ai-observation summary:after{content:"+";font-weight:800;color:#2463b5}.competitor-ai-observation[open] summary:after{content:"−"}
.competitor-ai-observation summary span{display:block;min-width:0;flex:1}.competitor-ai-observation summary small{display:block;margin-top:4px;color:#60738e;font-weight:400;line-height:1.35}.competitor-ai-observation summary em{font-style:normal;font-size:10px;font-weight:800;text-transform:uppercase;color:#55708f;background:#eef3f9;border-radius:999px;padding:4px 8px;white-space:nowrap}.competitor-ai-observation-detail{padding:0 22px 12px 0}
.competitor-report-site{border:1px solid #dce5f0;border-radius:8px;padding:14px;margin:12px 0}.competitor-report-site h3{margin:0}.competitor-report-observations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.competitor-report-observations article{border:1px solid #dce5f0;border-radius:8px;padding:14px}.competitor-report-observations article>div{display:flex;justify-content:space-between;gap:12px}.competitor-report-observations h3{margin:0 0 8px}.competitor-report-observations span{font-size:10px;font-weight:800;text-transform:uppercase;color:#55708f}@media(max-width:800px){.competitor-report-observations{grid-template-columns:1fr}}

/* V3 client-owned project scope */
.website-scope-field small{display:block;margin-top:6px}


/* ==========================================================================
   V3 UI tidy-up: report toolbar + project list
   ========================================================================== */

.report-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.report-toolbar .inline-form {
    margin: 0;
}

/*
 * Keep the Projects action controls visible.
 * Previously Open + Edit + Archive could exceed the generic 150px actions
 * column and the red Archive button appeared clipped at the right edge.
 */
.project-table {
    min-width: 1080px;
}

.project-table .actions-cell {
    width: 235px;
    min-width: 235px;
    padding-right: 16px;
}

.project-table .actions-cell .text-link {
    margin-right: 12px;
}

.project-table td {
    overflow-wrap: anywhere;
}

.project-table td:last-child {
    overflow-wrap: normal;
}

@media (max-width: 900px) {
    .page-heading-actions {
        align-items: flex-start;
    }

    .report-toolbar {
        justify-content: flex-start;
    }
}


/* ==========================================================================
   V3 Projects list — proper fit override
   Overrides legacy Sprint 1.8 min-width rules that were still forcing the
   Archive action outside the visible panel.
   ========================================================================== */

.project-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
}

.project-table th,
.project-table td {
    min-width: 0 !important;
    max-width: none !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    overflow-wrap: anywhere;
}

.project-table th:nth-child(1),
.project-table td:nth-child(1) {
    width: 15% !important;
}

.project-table th:nth-child(2),
.project-table td:nth-child(2) {
    width: 14% !important;
}

.project-table th:nth-child(3),
.project-table td:nth-child(3) {
    width: 16% !important;
}

.project-table th:nth-child(4),
.project-table td:nth-child(4) {
    width: 12% !important;
}

.project-table th:nth-child(5),
.project-table td:nth-child(5) {
    width: 23% !important;
}

.project-table th:nth-child(6),
.project-table td:nth-child(6) {
    width: 10% !important;
    white-space: normal !important;
}

.project-table th:nth-child(7),
.project-table td:nth-child(7) {
    width: 10% !important;
}

.project-table .actions-cell {
    width: auto !important;
    min-width: 0 !important;
    padding-left: 8px !important;
    padding-right: 4px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-align: left !important;
}

.project-table .actions-cell .text-link {
    margin-right: 9px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.project-table .actions-cell .inline-form {
    display: inline-block !important;
    margin: 0 !important;
}

.project-table .actions-cell .danger-link {
    padding: 8px 9px !important;
    font-size: 0.82rem;
    white-space: nowrap !important;
}

.project-table .url-cell {
    max-width: none !important;
}

/* Only fall back to horizontal scrolling when the viewport genuinely gets narrow. */
@media (max-width: 1050px) {
    .table-wrap {
        overflow-x: auto;
    }

    .project-table {
        min-width: 980px !important;
        table-layout: auto !important;
    }
}

/*
 * V3 Projects view — corrective layout patch
 * Purpose: undo the over-compressed Actions column from the previous patch.
 *
 * This file is intended to be appended after the existing app.css rules
 * (or copied into the end of app.css).
 */

.project-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
}

.project-table th,
.project-table td {
    min-width: 0 !important;
    max-width: none !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    vertical-align: middle;
}

/* Rebalance the table: give Actions proper room. */
.project-table th:nth-child(1),
.project-table td:nth-child(1) { width: 14% !important; }   /* Project */

.project-table th:nth-child(2),
.project-table td:nth-child(2) { width: 13% !important; }   /* Client */

.project-table th:nth-child(3),
.project-table td:nth-child(3) { width: 15% !important; }   /* Website */

.project-table th:nth-child(4),
.project-table td:nth-child(4) { width: 13% !important; }   /* Project type */

.project-table th:nth-child(5),
.project-table td:nth-child(5) { width: 17% !important; }   /* Scope */

.project-table th:nth-child(6),
.project-table td:nth-child(6) { width: 9% !important; }    /* Updated */

.project-table th:nth-child(7),
.project-table td:nth-child(7) { width: 19% !important; }   /* Actions */

.project-table td {
    overflow-wrap: anywhere;
}

.project-table .actions-cell {
    width: auto !important;
    min-width: 0 !important;
    padding-left: 8px !important;
    padding-right: 12px !important;
    white-space: nowrap !important;
    overflow: visible !important;
}

.project-table .actions-cell .text-link {
    margin-right: 12px !important;
}

.project-table .actions-cell .inline-form {
    display: inline-block !important;
    margin: 0 !important;
}

.project-table .actions-cell .danger-link,
.project-table .actions-cell button {
    padding: 8px 12px !important;
    min-width: auto !important;
    white-space: nowrap !important;
}

/* Keep a scroll fallback only for genuinely narrow screens. */
@media (max-width: 1050px) {
    .table-wrap {
        overflow-x: auto !important;
    }

    .project-table {
        min-width: 980px !important;
        table-layout: auto !important;
    }
}
.section-jump-nav{position:sticky;top:10px;z-index:30;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:10px 12px;background:rgba(255,255,255,.96);border:1px solid #d7e2ef;border-radius:10px;box-shadow:0 5px 18px rgba(20,48,84,.08);backdrop-filter:blur(8px)}
.section-jump-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border-radius:8px;background:var(--blue);color:#fff;font-size:.86rem;font-weight:700;text-decoration:none}
.section-jump-nav a:hover,.section-jump-nav a:focus{filter:brightness(.9);color:#fff}
.section-jump-nav a.is-active{background:#123763;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.panel[id],.card[id]{scroll-margin-top:76px}
.technology-evidence{margin-top:6px;padding-top:20px;border-top:1px solid #d7e2ef}
.technology-evidence h3{margin:0 0 10px}
.technology-correction .form-grid{margin-top:12px}.technology-correction label{font-weight:700;color:#172b4d}.technology-correction input,.technology-correction textarea{display:block;width:100%;margin-top:6px}.form-grid-full{grid-column:1/-1}
.technology-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:14px 0 16px}
.alt-evidence-section{margin-top:26px;padding-top:22px;border-top:1px solid #d7e2ef;scroll-margin-top:76px}.alt-evidence-section h3{margin:0 0 8px}.alt-evidence-panel{margin-top:14px;border:1px solid #cbdcf0;border-radius:10px;background:#f8fbff;overflow:hidden}.alt-evidence-panel>summary{padding:13px 16px;cursor:pointer;color:#184f9e;font-weight:800}.alt-evidence-panel[open]>summary{border-bottom:1px solid #dbe6f2}.alt-evidence-list{display:grid;gap:12px;padding:14px}.alt-evidence-item{display:grid;grid-template-columns:112px minmax(0,1fr);gap:15px;padding:13px;border:1px solid #dae4f0;border-radius:9px;background:#fff}.alt-evidence-image{display:flex;width:112px;height:88px;align-items:center;justify-content:center;overflow:hidden;border:1px solid #d8e1ec;border-radius:7px;background:#eef2f6}.alt-evidence-image img{display:block;width:100%;height:100%;object-fit:contain}.alt-evidence-body{min-width:0}.alt-evidence-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.alt-evidence-head strong{overflow-wrap:anywhere}.alt-evidence-url{display:block;margin:5px 0;color:#315f9b;font-size:.78rem;overflow-wrap:anywhere}.alt-evidence-body p{margin:8px 0}.alt-evidence-pages{margin-top:7px}.alt-evidence-pages>summary{cursor:pointer;color:#184f9e;font-size:.82rem;font-weight:750}.alt-evidence-pages ul{margin:8px 0 0;padding-left:20px}.alt-evidence-pages li{margin:5px 0;overflow-wrap:anywhere}.alt-evidence-compact{margin-top:18px}.alt-evidence-compact .alt-evidence-panel>p{padding:0 14px}.alt-evidence-compact .alt-evidence-item{grid-template-columns:84px minmax(0,1fr)}.alt-evidence-compact .alt-evidence-image{width:84px;height:70px}@media(max-width:650px){.alt-evidence-item,.alt-evidence-compact .alt-evidence-item{grid-template-columns:1fr}.alt-evidence-image,.alt-evidence-compact .alt-evidence-image{width:100%;height:160px}.alt-evidence-head{display:block}.alt-evidence-head .wr-badge{margin-top:7px}}

/* Project report hub: one project, three visible client deliverables. */
.project-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.project-report-card{display:flex;min-width:0;min-height:390px;flex-direction:column;padding:22px;border:1px solid #d7e2ef;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(20,48,84,.05)}
.project-report-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
.project-report-number{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:var(--blue);color:#fff;font-weight:800}
.status-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eef2f6;color:#52657a;font-size:.72rem;font-weight:800;line-height:1.2}
.status-pill.status-approved{background:#e8f7ed;color:#18713a}
.project-report-card h3{margin:3px 0 12px;font-size:1.45rem}
.project-report-name{margin:0 0 8px;color:#17375f;font-weight:800}
.project-report-meta{margin:2px 0 0;color:#52657a;font-size:.82rem;font-weight:700}
.project-report-actions{display:flex;flex-direction:column;gap:9px;margin-top:auto;padding-top:20px}
.project-report-actions .button,.project-report-actions .button.secondary{width:100%;min-height:42px;background:var(--blue);color:#fff;text-align:center}
.project-report-actions .button:hover,.project-report-actions .button:focus{filter:brightness(.9)}
.project-report-baseline{margin:10px 0 0;padding:10px 12px;border-left:3px solid var(--blue);background:#f5f9ff;border-radius:0 6px 6px 0}
.review-workflow-guide{border-left:5px solid var(--blue);background:linear-gradient(135deg,#fff 0%,#f5f9ff 100%)}
.review-workflow-guide h2{margin-bottom:6px}
.review-workflow-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0;padding:0;list-style:none;counter-reset:review-guide}
.review-workflow-steps li{position:relative;min-width:0;padding:14px 12px 12px 44px;border:1px solid #d7e2ef;border-radius:9px;background:#fff;counter-increment:review-guide}
.review-workflow-steps li::before{content:counter(review-guide);position:absolute;left:12px;top:12px;display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-size:.78rem;font-weight:800}
.review-workflow-steps strong,.review-workflow-steps span{display:block}.review-workflow-steps span{margin-top:4px;color:var(--muted);font-size:.83rem;line-height:1.35}
.review-workflow-note{margin:0;padding:10px 12px;border-radius:7px;background:#eef5ff;color:#173b6c}
.section-guidance{margin:12px 0 16px;border:1px solid #cbdcf0;border-radius:8px;background:#f7faff}
.section-guidance summary{padding:10px 13px;cursor:pointer;color:#184f9e;font-weight:750;list-style-position:inside}
.section-guidance[open] summary{border-bottom:1px solid #dbe6f2}
.section-guidance>div{padding:11px 14px;color:#385475}.section-guidance>div p{margin:0 0 8px}.section-guidance>div p:last-child{margin-bottom:0}
.section-guidance-compact{margin:10px 0 14px}
.review-create-guidance{margin-top:14px;padding:12px 14px;border-left:3px solid var(--blue);border-radius:0 7px 7px 0;background:#f5f9ff}.review-create-guidance ol{margin:8px 0 0;padding-left:20px}.review-create-guidance li+li{margin-top:5px}
.project-secondary-work{padding:0;overflow:hidden}
.project-secondary-work>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;cursor:pointer;list-style-position:inside}
.project-secondary-work>summary span{color:var(--muted);font-size:.85rem;font-weight:400}
.project-secondary-content{padding:4px 24px 24px;border-top:1px solid #e5ebf3}
.comparison-existing-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}
.comparison-add-another{margin-top:18px;border:1px solid #d7e2ef;border-radius:10px;background:#fafcff}
.comparison-add-another>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;cursor:pointer}
.comparison-add-another>summary span{color:var(--muted);font-size:.82rem;font-weight:400}
.comparison-add-another[open]{padding:0 17px 17px}
.comparison-add-another[open]>summary{margin:0 -17px;padding-left:17px;padding-right:17px;border-bottom:1px solid #e5ebf3}
@media(max-width:1100px){.project-report-grid{grid-template-columns:1fr}.project-report-card{min-height:0}.technology-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-workflow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.review-workflow-steps{grid-template-columns:1fr}}
@media(max-width:700px){.technology-metric-grid{grid-template-columns:1fr}.comparison-existing-row,.comparison-existing-actions,.project-secondary-work>summary,.comparison-add-another>summary{align-items:stretch;flex-direction:column}.comparison-existing-actions .button{width:100%}}
/* V4 Release 31 — secure, tabbed client Website Review. */
/* V4 Release 34 — keep only the report section tabs sticky. */
.client-report-topbar{position:static!important}
.client-report-tabs{top:0!important}
.client-report-tabs{flex-wrap:wrap!important;overflow-x:visible!important;min-width:0}.client-report-tabs button{min-width:0;max-width:100%;white-space:normal!important}.client-report-link{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:8px;background:#225cae;color:#fff!important;font-weight:800;text-decoration:none}.client-report-link:hover{background:#17447d}
.report-status.readiness-gaps-observed{background:#ffedea;color:#b42318}
.review-section-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0;padding:13px 15px;border:1px solid #cbd9eb;border-radius:10px;background:#fff}.review-section-nav>a{display:inline-flex;gap:4px;padding:8px 10px;border-radius:7px;background:#edf3fb;color:#17447d;font-weight:800;text-decoration:none}.review-section-nav>a:hover{background:#dce9fa}.review-section-nav a span{color:#b42318}.review-required-guide{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 16px;padding:13px 15px;border-left:4px solid #225cae;border-radius:8px;background:#f1f6fd;color:#334f73}.required-marker{display:inline-flex;margin-left:6px;padding:3px 6px;border-radius:999px;background:#ffedea;color:#b42318;font-size:10px;font-weight:800;text-transform:uppercase;vertical-align:middle}.required-marker[hidden]{display:none!important}.validation-jump-link{display:inline-flex;margin-left:12px;color:#9b1220;font-weight:800;text-decoration:underline}.panel[id],.readiness-review-card[id]{scroll-margin-top:18px}.panel:target,.readiness-review-card:target{outline:3px solid #f0a33a;outline-offset:3px;animation:review-target-pulse 1.4s ease-out 1}@keyframes review-target-pulse{0%{box-shadow:0 0 0 8px rgba(240,163,58,.28)}100%{box-shadow:none}}@media(max-width:700px){.review-section-nav{align-items:stretch}.review-section-nav>strong{width:100%}.review-section-nav>a{flex:1 1 44%;justify-content:center}.validation-jump-link{display:block;margin:8px 0 0}}
.client-report-more{margin-top:14px;padding:14px 16px;border:1px solid #d7e1ee;border-radius:10px;background:#f8fbff}.client-report-more summary{cursor:pointer;color:#17447d;font-weight:800}.client-report-more[open] summary{margin-bottom:14px}.client-report-tab>.client-report-callout+.client-report-callout{margin-top:14px}
.client-report-topbar-actions{display:flex;align-items:center;gap:14px}.client-report-print{border:1px solid #87a9d7;border-radius:7px;padding:8px 11px;background:#fff;color:#143c70;font-weight:800;cursor:pointer}.client-report-print:hover{background:#edf4fd}@media print{.public-report-body{background:#fff!important}.client-report-topbar,.client-report-tabs{display:none!important}.client-report-shell{max-width:none!important;margin:0!important;padding:0!important}.client-report-hero{border-radius:0!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.client-report-tab{display:none!important;margin:16px 0 0!important;box-shadow:none!important}.client-report-tab.active{display:block!important}.client-report-footer{margin-bottom:0!important}.client-report-table-wrap{max-height:none!important;overflow:visible!important}}
.public-report-body{margin:0;background:#eef3f9;color:#142945;font-family:Arial,sans-serif}.client-report-topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;gap:24px;padding:14px max(24px,calc((100vw - 1240px)/2));background:#10294f;color:#fff;box-shadow:0 4px 14px rgba(10,30,60,.18)}.client-report-topbar div:first-child{display:flex;gap:14px;align-items:center}.client-report-topbar span{color:#b9cce8;font-size:12px}.client-report-shell{max-width:1240px;margin:28px auto;padding:0 22px}.client-report-hero{padding:34px 40px;background:linear-gradient(145deg,#10294f,#17447d);border-radius:16px 16px 0 0;color:#fff}.client-report-hero h1{margin:8px 0;font-size:36px;color:#fff}.client-report-hero .eyebrow{color:#aecdff}.client-report-identity{font-size:18px;font-weight:700}.client-report-tabs{position:sticky;top:46px;z-index:15;display:flex;gap:6px;padding:12px;background:#fff;border:1px solid #d5e0ee;border-top:0;border-radius:0 0 14px 14px;overflow-x:auto;box-shadow:0 6px 18px rgba(20,45,80,.08)}.client-report-tabs button{border:0;border-radius:8px;padding:11px 15px;background:#edf3fb;color:#17447d;font-weight:800;white-space:nowrap;cursor:pointer}.client-report-tabs button.active{background:#225cae;color:#fff}.client-report-tab{display:none;margin-top:20px;padding:34px;background:#fff;border:1px solid #d5e0ee;border-radius:14px}.client-report-tab.active{display:block}.client-report-section-head{margin-bottom:24px}.client-report-section-head h2{margin:5px 0 8px;font-size:28px}.client-report-callout{padding:22px 24px;border-left:4px solid #225cae;border-radius:8px;background:#f1f6fd;line-height:1.65}.client-report-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.client-report-metrics>div{padding:17px;border:1px solid #d5e0ee;border-radius:10px;background:#fbfdff}.client-report-metrics span{display:block;color:#4f6481;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.client-report-metrics strong{display:block;margin-top:7px;color:#1658aa;font-size:23px;overflow-wrap:anywhere}.client-report-card-list,.client-report-checks{display:grid;gap:11px}.client-report-card-list article,.client-report-checks article{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:14px;padding:17px;border:1px solid #d7e1ee;border-radius:10px}.client-report-card-list article>b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e7f0fd;color:#1959aa}.client-report-card-list h4,.client-report-checks h3{margin:2px 0 7px}.client-report-card-list p,.client-report-checks p{margin:0;color:#4b607d;line-height:1.5}.report-status{display:inline-flex;flex-direction:column;gap:3px;padding:6px 9px;border-radius:999px;background:#edf1f6;color:#445875;font-size:10px;font-weight:800;text-transform:uppercase;white-space:nowrap}.report-status.ready,.report-status.observed,.report-status.accessible-foundation{background:#e7f7ec;color:#147a34}.report-status.improve,.report-status.evidence-improvements-required{background:#ffedea;color:#b42318}.report-status.review,.report-status.partially-ready{background:#fff2dc;color:#a34f00}.report-status.not-assessed{background:#edf1f6;color:#586b84}.report-status small{font-size:9px}.client-report-note,.client-report-empty{padding:15px 17px;border-radius:8px;background:#f5f7fa;color:#526680;line-height:1.55}.client-report-table-wrap{overflow:auto;max-height:680px;border:1px solid #d7e1ee;border-radius:10px}.client-report-table-wrap table{width:100%;border-collapse:collapse;font-size:13px}.client-report-table-wrap th{position:sticky;top:0;z-index:1;padding:12px;background:#edf3fb;color:#324d70;text-align:left;text-transform:uppercase;letter-spacing:.04em;font-size:10px}.client-report-table-wrap td{padding:12px;border-top:1px solid #e1e7ef;vertical-align:top;max-width:420px;overflow-wrap:anywhere}.client-report-filter{display:block;margin:0 0 14px;color:#314b70;font-weight:800}.client-report-filter input{display:block;width:min(520px,100%);margin-top:7px;padding:11px;border:1px solid #bfcde0;border-radius:8px}.client-report-footer{margin:20px 0 40px;padding:22px 28px;background:#e5ebf3;border-radius:12px;color:#4d617d}.client-report-footer p{margin:7px 0 0;line-height:1.55}@media(max-width:850px){.client-report-topbar{position:static}.client-report-topbar>div:last-child{display:none}.client-report-tabs{top:0}.client-report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.client-report-card-list article,.client-report-checks article{grid-template-columns:auto 1fr}.client-report-card-list .report-status,.client-report-checks .report-status{grid-column:2}.client-report-tab{padding:24px}.client-report-hero{padding:28px 24px}}@media(max-width:520px){.client-report-metrics{grid-template-columns:1fr}.client-report-shell{padding:0 10px}.client-report-hero h1{font-size:29px}}
