/* Investment reports R01 / R02 / R02D (saas-report-snapshot). Uses the shared design tokens from style.css. */
.ir-page{display:grid;gap:20px;}
.ir-page .panel{margin:0;padding:var(--layout-pad);border:0;border-radius:12px;background:var(--color-surface);}
.ir-page h2{font-size:16px;line-height:24px;margin:0 0 20px;}
.ir-muted,.ir-hint{font-size:12px;line-height:20px;color:var(--color-text-tertiary);margin:0;}
.ir-footnote{font-size:12px;color:var(--color-text-tertiary);margin:0;}
.ir-label{font-size:12px;color:var(--color-text-tertiary);}
.ir-field{display:grid;gap:8px;font-size:14px;font-weight:600;color:var(--color-text);}
.ir-field>.ir-label{font-size:14px;font-weight:600;color:var(--color-text);}
.ir-control{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;background-color:var(--color-surface);color:var(--color-text);font-size:14px;font-weight:400;}
.ir-control[readonly]{background-color:var(--color-surface);color:var(--color-text);}
.ir-primary,.ir-secondary{min-height:36px;min-width:96px;padding:0 24px;border-radius:6px;font-size:14px;font-weight:600;}
.ir-primary{background:var(--color-primary);border:1px solid var(--color-primary);color:#fff;min-width:144px;}
.ir-primary:hover{background:var(--color-primary-hover);}
.ir-secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);}
.ir-secondary.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}
.ir-actions{display:flex;flex-wrap:wrap;gap:12px;}
.ir-link{background:none;border:0;padding:0 0 0 8px;color:var(--brand);font-size:13px;min-height:0;}
.ir-notice{margin:0;padding:12px 16px;border-radius:8px;font-size:13px;}
.ir-error{background:var(--color-danger-soft);color:var(--color-danger);}
.ir-warn-notice,.ir-notice.ir-warn{background:var(--color-warning-soft);color:var(--color-warning);}

/* R01 */
.ir-page form.ir-config{display:block;margin:0;}
.ir-page .ir-field,.ir-page .ir-check{flex:none;min-width:0;}
.ir-page .ir-check{display:flex;}
.ir-page .ir-sections{width:auto;}
.ir-config-layout{display:grid;grid-template-columns:minmax(0,744px) minmax(0,396px);gap:var(--layout-gap);align-items:stretch;}
.ir-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;margin:0 0 24px;}
.ir-sections{border:0;margin:0 0 16px;padding:0;display:grid;gap:14px;}
.ir-sections legend{font-size:16px;font-weight:600;color:var(--color-text);padding:0;margin:0 0 16px;}
.ir-check{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--color-text);}
.ir-check input{width:18px;height:18px;margin:0;accent-color:var(--color-primary);}
.ir-config .ir-hint{margin:4px 0 20px;}
.ir-includes h2{margin-bottom:16px;}
.ir-include{display:grid;gap:8px;padding:0 0 20px;margin:0 0 20px;border-bottom:1px solid var(--color-border-light);}
.ir-include:last-child{margin-bottom:0;}
.ir-include strong{font-size:14px;font-weight:500;}

/* R02 */
.ir-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;}
.ir-toolbar .ir-field{min-width:320px;}
.ir-page .ir-sheet{padding:40px;}
.ir-brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:650;color:var(--color-text);margin:0 0 28px;}
.ir-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:var(--color-primary);color:#fff;font-size:15px;font-weight:700;}
.ir-page .ir-title{display:grid;font-size:26px;line-height:37px;font-weight:700;margin:0 0 24px;}
.ir-meta p{margin:0;font-size:12px;line-height:18px;color:var(--color-text-tertiary);}
.ir-meta{padding:0 0 24px;border-bottom:1px solid var(--color-border-light);}
.ir-row{padding:28px 0;border-bottom:1px solid var(--color-border-light);}
.ir-row-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;}
.ir-row h3,.ir-next h3,.ir-refs h3{font-size:16px;line-height:24px;font-weight:600;margin:0;}
.ir-figure{font-size:28px;line-height:36px;font-weight:700;white-space:nowrap;}
.ir-row-note{margin:20px 0 0;font-size:12px;line-height:18px;color:var(--color-text-tertiary);}
.ir-next{padding:28px 0 8px;}
.ir-next ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:26px;font-size:14px;}
.ir-refs{padding:20px 0 0;}
.ir-refs h3{margin:0 0 16px;}
.ir-refs p{margin:0;font-size:12px;line-height:18px;color:var(--color-text-tertiary);}
.ir-export .ir-primary{min-width:160px;}
.ir-export .ir-secondary{min-width:184px;}

/* R02D */
.ir-number{font-size:16px!important;font-weight:500!important;}
.ir-table{margin:0 0 20px;display:grid;}
.ir-table-row{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;padding:20px 0;border-bottom:1px solid var(--color-border-light);}
.ir-table-row:first-child{padding-top:4px;}
.ir-table dt{font-size:12px;color:var(--color-text-tertiary);}
.ir-table dd{margin:0;font-size:14px;color:var(--color-text);overflow-wrap:anywhere;}
.ir-citations>.ir-secondary{min-width:240px;margin:0 0 20px;}
.ir-citations>#ir-back{min-width:220px;}
.ir-warn{display:grid;gap:6px;margin:0 0 20px;padding:20px 16px;border-radius:8px;background:var(--color-warning-soft);color:var(--color-warning);font-size:12px;}
.ir-warn strong{color:var(--color-warning);font-size:14px;font-weight:600;}

@media (max-width:800px){
 .ir-config-layout{grid-template-columns:minmax(0,1fr);}
 .ir-grid{grid-template-columns:minmax(0,1fr);gap:16px;}
 .ir-page .ir-sheet{padding:24px;}
 .ir-row-head{display:grid;gap:16px;}
 .ir-figure{font-size:26px;}
 .ir-table-row{grid-template-columns:minmax(0,1fr);gap:6px;}
 .ir-toolbar .ir-field{min-width:0;width:100%;}
 .ir-actions{display:grid;}
 .ir-actions button,.ir-actions .button-link,.ir-citations>.ir-secondary{width:100%;min-height:44px;}
 .ir-control{min-height:44px;}
}

@media print{
 html.ir-printing body *{visibility:hidden!important;}
 html.ir-printing #ir-sheet,html.ir-printing #ir-sheet *{visibility:visible!important;}
 html.ir-printing #ir-sheet{position:absolute;left:0;top:0;width:100%;box-shadow:none;border:0;}
}
/* B-V27: 16px between the empty-state text and its action (saas-visual-prod-fixes). */
.ir-empty #ir-go-config{margin-top:16px;}
select.ir-control{padding-right:32px;}
