/* "Make a recap" image panel inside each business generator's recap dialog. Uses the generator's own theme variables. */
.recap-dialog { max-height: calc(100vh - 2rem); overflow: auto; }
.recap-visual { margin-top: 1.4rem; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.recap-visual [hidden] { display: none !important; }
.recap-visual .rv-head h3 { margin: .25rem 0 .8rem; font-size: 1.15rem; }
.recap-visual .eyebrow { margin: 0; }
.rv-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.rv-controls label { display: grid; gap: .3rem; color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.rv-controls select { width: 100%; min-height: 2.6rem; padding: .5rem .6rem; border: 1px solid var(--line); border-radius: .6rem; background: var(--panel); color: var(--ink); font: inherit; font-size: .85rem; text-transform: none; letter-spacing: 0; font-weight: 600; }
.rv-check { display: flex; align-items: flex-start; gap: .6rem; margin: .8rem 0; color: var(--ink); font-size: .82rem; line-height: 1.4; cursor: pointer; }
.rv-check input { flex: none; width: 1.1rem; height: 1.1rem; margin: .1rem 0 0; accent-color: var(--accent); }
.rv-check small { display: block; color: var(--muted); font-size: .72rem; margin-top: .15rem; }
.rv-preview { display: flex; justify-content: center; align-items: flex-start; padding: .8rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--soft, rgb(127 127 127 / 10%)); overflow: hidden; }
.rv-preview svg { display: block; max-width: 100%; box-shadow: 0 .8rem 2.4rem rgb(0 0 0 / 28%); }
.rv-warnings { margin: .6rem 0 0; padding: .6rem .75rem; border-radius: .6rem; background: var(--danger-soft, #fff4dc); color: var(--danger, #8a5a00); font-size: .76rem; line-height: 1.45; }
.rv-warnings p { margin: 0; }
.rv-message { margin: .6rem 0 0; color: var(--danger, #b23535); font-size: .8rem; font-weight: 700; }
.rv-message:empty { display: none; }
.rv-confirm { padding: .7rem; border: 1px solid var(--line); border-radius: .7rem; }
.rv-exports { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
.rv-exports button { min-height: 2.6rem; border: 0; border-radius: .6rem; background: var(--accent); color: var(--accent-mint-ink, #04201a); font: inherit; font-weight: 900; font-size: .8rem; cursor: pointer; }
.rv-exports button:disabled { opacity: .38; cursor: not-allowed; }
.rv-exports .rv-copy { grid-column: 1 / -1; min-height: 3rem; font-size: .92rem; }
.rv-exports .rv-copy[hidden] { display: none; }
.rv-status { min-height: 1rem; margin: .55rem 0 0; color: var(--accent); font-size: .76rem; font-weight: 700; }
.rv-note { margin: .4rem 0 0; color: var(--muted); font-size: .7rem; line-height: 1.45; }
@media (max-width: 30rem) {
    .rv-controls, .rv-exports { grid-template-columns: 1fr; }
}

/* The spreadsheet-to-recap step, made obvious next to the workbook download. */
.recap-cta { background: linear-gradient(135deg, #f0d08e, #d5a954) !important; color: #1d1604 !important; border: 0 !important; font-weight: 900 !important; letter-spacing: 0 !important; text-transform: none !important; box-shadow: 0 6px 18px rgba(227, 169, 60, .28); }
.recap-cta:disabled { opacity: .45; box-shadow: none; }
