:root {
    --afr-bg: #f3f6fa;
    --afr-card: #ffffff;
    --afr-line: #d8e1eb;
    --afr-line-strong: #c4d0dd;
    --afr-ink: #142033;
    --afr-muted: #53657a;
    --afr-soft: #718197;
    --afr-primary: #166c9b;
    --afr-primary-soft: #e9f5fb;
    --afr-success: #16794f;
    --afr-success-soft: #e8f7ef;
    --afr-warning: #a76308;
    --afr-warning-soft: #fff4d9;
    --afr-danger: #b42318;
    --afr-danger-soft: #fff0ee;
    --afr-ai: #8b2b82;
    --afr-ai-soft: #f9eff8;
    --afr-radius: 11px;
    --afr-shadow: 0 1px 2px rgba(15, 23, 42, .045);
}

[data-final-report-workspace] {
    color: var(--afr-ink);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    font-size: 14px;
    line-height: 1.48;
    min-width: 0;
    padding: 12px;
}

[data-final-report-workspace] *,
[data-final-report-workspace] *::before,
[data-final-report-workspace] *::after {
    box-sizing: border-box;
}

[data-final-report-workspace] :where(h1,h2,h3,h4,p,span,strong,small,label,button,input,select,textarea,dd,dt,th,td,a) {
    font-family: inherit;
    overflow-wrap: break-word;
    word-break: normal;
}

.afr-workspace { max-width: 1760px; margin: 0 auto; }
.afr-commandbar {
    align-items: center;
    background: var(--afr-card);
    border: 1px solid var(--afr-line);
    border-radius: var(--afr-radius);
    box-shadow: var(--afr-shadow);
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 11px;
    min-height: 62px;
    padding: 10px 12px;
}
.afr-commandbar__identity { align-items: center; display: flex; gap: 10px; min-width: 0; }
.afr-commandbar__identity > div:last-child { min-width: 0; }
.afr-commandbar h2 { color: var(--afr-ink); font-size: 19px; font-weight: 760; letter-spacing: -.02em; line-height: 1.18; margin: 2px 0 0; }
.afr-commandbar p { color: var(--afr-muted); font-size: 11.5px; margin: 3px 0 0; }
.afr-commandbar__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.afr-eyebrow,
.afr-panel__kicker { color: var(--afr-primary); display: block; font-size: 9.5px; font-weight: 800; letter-spacing: .07em; line-height: 1.2; text-transform: uppercase; }
.afr-icon-link,
.afr-avatar {
    align-items: center;
    background: #fff;
    border: 1px solid var(--afr-line-strong);
    border-radius: 9px;
    color: var(--afr-primary);
    display: inline-flex;
    flex: 0 0 38px;
    font-size: 18px;
    font-weight: 800;
    height: 38px;
    justify-content: center;
    text-decoration: none;
    width: 38px;
}
.afr-avatar { background: var(--afr-primary-soft); font-size: 12px; }
.afr-status,
.afr-chip,
.afr-count {
    align-items: center;
    background: #f4f6f8;
    border-radius: 999px;
    color: var(--afr-muted);
    display: inline-flex;
    font-size: 10px;
    font-weight: 760;
    gap: 4px;
    line-height: 1;
    min-height: 24px;
    padding: 5px 8px;
}
.afr-status.is-success,
.afr-chip.is-success,
.afr-count.is-success { background: var(--afr-success-soft); color: var(--afr-success); }
.afr-status.is-warning,
.afr-chip.is-warning,
.afr-count.is-warning { background: var(--afr-warning-soft); color: var(--afr-warning); }
.afr-status.is-danger,
.afr-chip.is-danger,
.afr-count.is-danger { background: var(--afr-danger-soft); color: var(--afr-danger); }
.afr-status.is-info,
.afr-chip.is-info { background: var(--afr-primary-soft); color: var(--afr-primary); }
.afr-chip-row { align-items: center; display: flex; flex-wrap: wrap; gap: 5px; }
.afr-chip-row--wrap { margin-top: 8px; }

.afr-btn {
    align-items: center;
    background: #fff;
    border: 1px solid var(--afr-line-strong);
    border-radius: 8px;
    color: var(--afr-ink);
    cursor: pointer;
    display: inline-flex;
    font-size: 10.5px;
    font-weight: 760;
    justify-content: center;
    min-height: 34px;
    padding: 7px 10px;
    text-decoration: none;
}
.afr-btn:hover { border-color: #9db1c4; }
.afr-btn:disabled { cursor: not-allowed; opacity: .52; }
.afr-btn--primary { background: var(--afr-primary); border-color: var(--afr-primary); color: #fff; }
.afr-btn--success { background: var(--afr-success); border-color: var(--afr-success); color: #fff; }
.afr-btn--warning { background: var(--afr-warning); border-color: var(--afr-warning); color: #fff; }
.afr-btn--soft { background: #f8fafc; }
.afr-btn--ghost { background: transparent; border-color: transparent; color: var(--afr-primary); }
.afr-btn--ai { background: var(--afr-ai-soft); border-color: #dec6dd; color: var(--afr-ai); }
.afr-btn--block { width: 100%; }
.afr-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.afr-actions--stack { display: grid; }

.afr-shell { align-items: start; display: grid; gap: 11px; grid-template-columns: 245px minmax(0, 1fr) 340px; }
.afr-shell--consensus { grid-template-columns: 260px minmax(0, 1fr) 320px; }
.afr-rail,
.afr-side { max-height: calc(100vh - 98px); overflow: auto; position: sticky; top: 76px; }
.afr-main { display: grid; gap: 11px; min-width: 0; }
.afr-panel {
    background: var(--afr-card);
    border: 1px solid var(--afr-line);
    border-radius: var(--afr-radius);
    box-shadow: var(--afr-shadow);
    min-width: 0;
    overflow: hidden;
}
.afr-panel + .afr-panel { margin-top: 10px; }
.afr-main .afr-panel + .afr-panel { margin-top: 0; }
.afr-panel--ai { border-color: #e3cfe2; }
.afr-panel__header {
    align-items: center;
    border-bottom: 1px solid var(--afr-line);
    display: flex;
    gap: 10px;
    justify-content: space-between;
    min-height: 44px;
    padding: 9px 11px;
}
.afr-panel__header strong { color: var(--afr-ink); display: block; font-size: 11.5px; font-weight: 760; line-height: 1.3; }
.afr-panel__body { padding: 11px; }
.afr-panel__footer {
    align-items: center;
    background: #fbfcfd;
    border-top: 1px solid var(--afr-line);
    display: flex;
    gap: 10px;
    justify-content: space-between;
    padding: 9px 11px;
}
.afr-helper { color: var(--afr-soft); font-size: 10.5px; line-height: 1.45; }
.afr-error { color: var(--afr-danger); display: block; font-size: 10px; font-weight: 700; margin-top: 3px; }

.afr-hero {
    align-items: flex-start;
    background: linear-gradient(135deg, #fff, #f7fafc);
    border: 1px solid var(--afr-line);
    border-radius: var(--afr-radius);
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 13px 15px;
}
.afr-hero h3 { color: var(--afr-ink); font-size: 18px; font-weight: 760; letter-spacing: -.018em; line-height: 1.2; margin: 7px 0 0; }
.afr-hero h3 span { color: var(--afr-soft); font-size: 11px; font-weight: 700; }
.afr-hero p { color: var(--afr-muted); font-size: 11.5px; margin: 4px 0 0; }
.afr-hero__score { background: #fff; border: 1px solid var(--afr-line); border-radius: 9px; min-width: 104px; padding: 9px 11px; text-align: right; }
.afr-hero__score small { color: var(--afr-soft); display: block; font-size: 9px; font-weight: 760; letter-spacing: .05em; text-transform: uppercase; }
.afr-hero__score strong { color: var(--afr-ink); display: block; font-size: 22px; line-height: 1.15; margin-top: 2px; }

.afr-filter-stack { border-bottom: 1px solid var(--afr-line); display: grid; gap: 7px; padding: 9px; }
.afr-field { display: block; min-width: 0; }
.afr-field > span { color: var(--afr-muted); display: block; font-size: 9.5px; font-weight: 760; letter-spacing: .035em; margin-bottom: 4px; }
.afr-field input,
.afr-field select,
.afr-field textarea {
    background: #fff;
    border: 1px solid var(--afr-line-strong);
    border-radius: 8px;
    color: var(--afr-ink);
    font-size: 11.5px;
    line-height: 1.45;
    min-height: 36px;
    outline: none;
    padding: 7px 8px;
    width: 100%;
}
.afr-field textarea { min-height: 82px; resize: vertical; }
.afr-field input:focus,
.afr-field select:focus,
.afr-field textarea:focus { border-color: var(--afr-primary); box-shadow: 0 0 0 2px rgba(22, 108, 155, .1); }
.afr-field input:disabled,
.afr-field select:disabled,
.afr-field textarea:disabled { background: #f3f5f7; color: #637083; }
.afr-field--compact input,
.afr-field--compact select { min-height: 32px; padding: 5px 7px; }
.afr-field--internal { background: #fff8ed; border: 1px solid #edd9b8; border-radius: 9px; padding: 9px; }
.afr-field--internal small { color: var(--afr-warning); display: block; font-size: 10px; margin-top: 4px; }
.afr-check { align-items: center; color: var(--afr-muted); display: flex; font-size: 10.5px; gap: 6px; }
.afr-check input { height: 16px; width: 16px; }

.afr-form-grid { display: grid; gap: 9px; }
.afr-form-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.afr-form-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.afr-form-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.afr-form-grid--six { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.afr-field--span-2 { grid-column: span 2; }
.afr-field--span-3 { grid-column: span 3; }
.afr-field--span-6 { grid-column: span 6; }

.afr-step-nav { display: grid; }
.afr-step-nav__item,
.afr-agenda__item {
    align-items: center;
    background: #fff;
    border: 0;
    border-bottom: 1px solid var(--afr-line);
    color: var(--afr-ink);
    cursor: pointer;
    display: grid;
    gap: 8px;
    grid-template-columns: 26px minmax(0, 1fr) 24px;
    padding: 9px;
    text-align: left;
    width: 100%;
}
.afr-step-nav__item:last-child,
.afr-agenda__item:last-child { border-bottom: 0; }
.afr-step-nav__item:hover,
.afr-agenda__item:hover { background: #f7fafc; }
.afr-step-nav__item.is-active,
.afr-agenda__item.is-active { background: var(--afr-primary-soft); box-shadow: inset 3px 0 0 var(--afr-primary); }
.afr-agenda__item.is-critical { background: #fff7f6; }
.afr-agenda__item.is-warning { background: #fffaf0; }
.afr-step-nav__index,
.afr-agenda__index {
    align-items: center;
    background: #f1f5f9;
    border-radius: 7px;
    color: var(--afr-muted);
    display: inline-flex;
    font-size: 10px;
    font-weight: 800;
    height: 26px;
    justify-content: center;
    width: 26px;
}
.is-active > .afr-step-nav__index,
.is-active > .afr-agenda__index { background: var(--afr-primary); color: #fff; }
.afr-step-nav__copy,
.afr-agenda__copy { min-width: 0; }
.afr-step-nav__copy strong,
.afr-agenda__copy strong { color: var(--afr-ink); display: block; font-size: 10.8px; font-weight: 760; line-height: 1.3; }
.afr-step-nav__copy small,
.afr-agenda__copy small { color: var(--afr-soft); display: block; font-size: 9.5px; line-height: 1.35; margin-top: 2px; }
.afr-step-nav__state,
.afr-agenda__state { align-items: center; border-radius: 50%; display: inline-flex; font-size: 10px; font-weight: 800; height: 22px; justify-content: center; width: 22px; }
.afr-step-nav__state.is-success,
.afr-agenda__state.is-success { background: var(--afr-success-soft); color: var(--afr-success); }
.afr-step-nav__state.is-warning,
.afr-agenda__state.is-warning { background: var(--afr-warning-soft); color: var(--afr-warning); }
.afr-agenda { max-height: 55vh; overflow: auto; }
.afr-progress { background: #e8eef4; border-radius: 99px; display: block; height: 3px; margin-top: 6px; overflow: hidden; }
.afr-progress i { background: var(--afr-primary); border-radius: inherit; display: block; height: 100%; }
.afr-progress--large { height: 6px; margin-top: 10px; }

.afr-metrics { display: grid; gap: 7px; margin-bottom: 10px; }
.afr-metrics--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.afr-metrics--six { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.afr-metrics article {
    background: #fff;
    border: 1px solid var(--afr-line);
    border-radius: 8px;
    min-width: 0;
    padding: 8px;
}
.afr-metrics article.is-danger { background: var(--afr-danger-soft); border-color: #f0c0bb; }
.afr-metrics small { color: var(--afr-soft); display: block; font-size: 8.8px; font-weight: 760; letter-spacing: .04em; text-transform: uppercase; }
.afr-metrics strong { color: var(--afr-ink); display: block; font-size: 18px; line-height: 1.15; margin-top: 3px; }
.afr-metrics span { color: var(--afr-soft); display: block; font-size: 9px; margin-top: 2px; }

.afr-table-wrap { border: 1px solid var(--afr-line); border-radius: 9px; overflow: auto; }
.afr-table { border-collapse: collapse; min-width: 760px; width: 100%; }
.afr-table th { background: #f7fafc; color: var(--afr-soft); font-size: 8.8px; font-weight: 800; letter-spacing: .05em; padding: 7px 8px; text-align: left; text-transform: uppercase; }
.afr-table td { border-top: 1px solid var(--afr-line); color: var(--afr-muted); font-size: 10.5px; line-height: 1.4; padding: 8px; vertical-align: top; }
.afr-table td strong { color: var(--afr-ink); }
.afr-table td small { color: var(--afr-soft); }

.afr-readiness-list { display: grid; gap: 0; }
.afr-readiness-list article,
.afr-readiness-link {
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--afr-line);
    color: var(--afr-muted);
    display: flex;
    font-size: 10.5px;
    gap: 8px;
    justify-content: space-between;
    padding: 7px 0;
    text-align: left;
    width: 100%;
}
.afr-readiness-list article:last-child,
.afr-readiness-link:last-child { border-bottom: 0; }
.afr-readiness-list strong,
.afr-readiness-link strong { color: var(--afr-ink); font-size: 11px; }
.afr-readiness-list .is-danger,
.afr-readiness-list .is-danger strong { color: var(--afr-danger); }
.afr-readiness-link { cursor: pointer; }
.afr-readiness-link:hover span { color: var(--afr-primary); }

.afr-source-grid { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.afr-source-card { border: 1px solid var(--afr-line); border-radius: 9px; min-width: 0; padding: 9px; }
.afr-source-card.is-ready { border-color: #b8dfcd; }
.afr-source-card.is-waiting { border-color: #ead49d; }
.afr-source-card header { align-items: flex-start; display: flex; gap: 8px; justify-content: space-between; }
.afr-source-card header > div { min-width: 0; }
.afr-source-card strong { color: var(--afr-ink); display: block; font-size: 11px; }
.afr-source-card small { color: var(--afr-soft); display: block; font-size: 9.5px; line-height: 1.35; margin-top: 2px; }
.afr-source-card dl { display: grid; gap: 5px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 8px 0 0; }
.afr-source-card dl div { background: #f7fafc; border-radius: 6px; padding: 6px; }
.afr-source-card dt { color: var(--afr-soft); font-size: 8.5px; text-transform: uppercase; }
.afr-source-card dd { color: var(--afr-ink); font-size: 12px; font-weight: 760; margin: 2px 0 0; }

.afr-alert { border: 1px solid var(--afr-line); border-radius: 8px; color: var(--afr-muted); font-size: 10.5px; line-height: 1.5; margin-top: 9px; padding: 8px 9px; }
.afr-alert:first-child { margin-top: 0; }
.afr-alert ul { margin: 5px 0 0; padding-left: 17px; }
.afr-alert--info { background: var(--afr-primary-soft); border-color: #c6e5f3; color: #1d5878; }
.afr-alert--success { background: var(--afr-success-soft); border-color: #b8dfcd; color: var(--afr-success); }
.afr-alert--warning { background: var(--afr-warning-soft); border-color: #ead49d; color: #7c4a05; }
.afr-alert--danger { background: var(--afr-danger-soft); border-color: #efc1bc; color: var(--afr-danger); }
.afr-subpanel { border: 1px solid var(--afr-line); border-radius: 9px; margin: 10px 0; padding: 9px; }
.afr-subpanel--warning { background: #fffaf0; border-color: #ead49d; }

.afr-check-grid { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.afr-check-card { align-items: flex-start; border: 1px solid var(--afr-line); border-radius: 9px; display: flex; gap: 8px; padding: 9px; }
.afr-check-card > span { align-items: center; border-radius: 50%; display: inline-flex; flex: 0 0 24px; font-size: 10px; font-weight: 800; height: 24px; justify-content: center; }
.afr-check-card.is-success > span { background: var(--afr-success-soft); color: var(--afr-success); }
.afr-check-card.is-warning > span { background: var(--afr-warning-soft); color: var(--afr-warning); }
.afr-check-card strong { color: var(--afr-ink); display: block; font-size: 10.5px; }
.afr-check-card p { color: var(--afr-muted); font-size: 9.8px; line-height: 1.4; margin: 2px 0 0; }
.afr-flag-list { color: #7c4a05; font-size: 10.5px; line-height: 1.5; margin: 0; padding-left: 18px; }
.afr-flag-list li + li { margin-top: 5px; }
.afr-empty { color: var(--afr-soft); font-size: 10.5px; padding: 14px; text-align: center; }
.afr-empty strong { color: var(--afr-muted); display: block; font-size: 11.5px; margin-bottom: 3px; }
.afr-empty--large { min-height: 220px; display: grid; place-items: center; }

.afr-facts { display: grid; gap: 6px; margin: 0; }
.afr-facts div { border-bottom: 1px solid var(--afr-line); padding-bottom: 6px; }
.afr-facts div:last-child { border-bottom: 0; padding-bottom: 0; }
.afr-facts dt { color: var(--afr-soft); font-size: 8.8px; font-weight: 760; letter-spacing: .04em; text-transform: uppercase; }
.afr-facts dd { color: var(--afr-ink); font-size: 10.5px; font-weight: 650; margin: 2px 0 0; }

.afr-ai-draft { background: #fff; border: 1px solid #e2d1e1; border-radius: 8px; color: var(--afr-muted); font-size: 10.5px; line-height: 1.5; margin: 8px 0; padding: 9px; white-space: pre-wrap; }
.afr-timeline { display: grid; gap: 10px; }
.afr-timeline article { display: grid; gap: 8px; grid-template-columns: 10px minmax(0, 1fr); }
.afr-timeline__dot { background: var(--afr-primary); border: 2px solid #d8eef8; border-radius: 50%; height: 9px; margin-top: 4px; width: 9px; }
.afr-timeline strong { color: var(--afr-ink); display: block; font-size: 10.5px; }
.afr-timeline p { color: var(--afr-muted); font-size: 10px; margin: 2px 0; }
.afr-timeline small { color: var(--afr-soft); font-size: 9px; }

.afr-development-guide { display: grid; gap: 8px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 10px; }
.afr-development-guide article { border: 1px solid var(--afr-line); border-radius: 9px; padding: 9px; }
.afr-development-guide strong { color: var(--afr-primary); display: block; font-size: 18px; }
.afr-development-guide span { color: var(--afr-muted); display: block; font-size: 10px; line-height: 1.45; margin-top: 3px; }
.afr-preview-sheet { background: #fff; border: 1px solid var(--afr-line); border-radius: 10px; padding: 18px; }
.afr-preview-sheet h3 { color: var(--afr-ink); font-size: 19px; margin: 4px 0 8px; }
.afr-preview-sheet h4 { color: var(--afr-ink); font-size: 11px; margin: 0 0 4px; }
.afr-preview-sheet p { color: var(--afr-muted); font-size: 11px; line-height: 1.65; margin: 0; white-space: pre-wrap; }
.afr-preview-sheet section { border-top: 1px solid var(--afr-line); margin-top: 12px; padding-top: 10px; }
.afr-preview-columns { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.afr-workflow-list { list-style: none; margin: 0 0 10px; padding: 0; }
.afr-workflow-list li { align-items: center; border-bottom: 1px solid var(--afr-line); display: grid; gap: 7px; grid-template-columns: 10px minmax(0, 1fr) auto; padding: 7px 0; }
.afr-workflow-list li > span { background: #cfd8e3; border-radius: 50%; height: 8px; width: 8px; }
.afr-workflow-list li.is-done > span { background: var(--afr-success); }
.afr-workflow-list li.is-current > span { background: var(--afr-warning); }
.afr-workflow-list strong { color: var(--afr-ink); font-size: 10.5px; }
.afr-workflow-list small { color: var(--afr-soft); font-size: 8.8px; text-transform: uppercase; }

@media (max-width: 1380px) {
    .afr-shell,
    .afr-shell--consensus { grid-template-columns: 230px minmax(0, 1fr); }
    .afr-side { display: grid; gap: 10px; grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); max-height: none; position: static; }
    .afr-side .afr-panel + .afr-panel { margin-top: 0; }
}

@media (max-width: 1080px) {
    [data-final-report-workspace] { padding: 8px; }
    .afr-shell,
    .afr-shell--consensus { grid-template-columns: 1fr; }
    .afr-rail,
    .afr-side { max-height: none; position: static; }
    .afr-side { grid-template-columns: 1fr; }
    .afr-agenda { max-height: none; }
    .afr-step-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .afr-step-nav__item { border: 1px solid var(--afr-line); }
    .afr-metrics--six { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .afr-form-grid--four,
    .afr-form-grid--six { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .afr-field--span-3,
    .afr-field--span-6 { grid-column: span 2; }
}

@media (max-width: 720px) {
    [data-final-report-workspace] { font-size: 13px; padding: 6px; }
    .afr-commandbar { align-items: flex-start; flex-direction: column; }
    .afr-commandbar__actions { justify-content: flex-start; width: 100%; }
    .afr-step-nav,
    .afr-form-grid--two,
    .afr-form-grid--three,
    .afr-form-grid--four,
    .afr-form-grid--six,
    .afr-metrics--four,
    .afr-metrics--six,
    .afr-source-grid,
    .afr-check-grid,
    .afr-development-guide,
    .afr-preview-columns { grid-template-columns: 1fr; }
    .afr-field--span-2,
    .afr-field--span-3,
    .afr-field--span-6 { grid-column: span 1; }
    .afr-hero { display: grid; }
    .afr-hero__score { text-align: left; }
    .afr-panel__footer { align-items: flex-start; flex-direction: column; }
    .afr-actions { justify-content: flex-start; width: 100%; }
}
