.re5sgc-app {
	--re5sgc-red: #c7141b;
	--re5sgc-blue: #173fae;
	--re5sgc-blue-dark: #0b1e58;
	--re5sgc-ink: #172033;
	--re5sgc-muted: #667085;
	--re5sgc-border: #dce2ec;
	--re5sgc-soft: #f5f7fb;
	--re5sgc-white: #fff;
	color: var(--re5sgc-ink);
	font-family: inherit;
	line-height: 1.55;
	margin: 28px auto;
	max-width: 1500px;
}
.re5sgc-app * { box-sizing: border-box; }
.re5sgc-app h2,.re5sgc-app h3,.re5sgc-app h4,.re5sgc-app p { margin-top: 0; }
.re5sgc-app h2,.re5sgc-app h3,.re5sgc-app h4 { color: var(--re5sgc-ink); line-height: 1.15; margin-bottom: 10px; }
.re5sgc-shell { background: #fff; border: 1px solid var(--re5sgc-border); border-radius: 24px; box-shadow: 0 22px 65px rgba(12,28,70,.1); overflow: hidden; }
.re5sgc-hero { align-items: center; background: linear-gradient(135deg,#071337 0%,#173fae 67%,#c7141b 150%); color: #fff; display: grid; gap: 32px; grid-template-columns: minmax(0,1fr) minmax(180px,300px); padding: clamp(32px,5vw,62px); }
.re5sgc-hero h2 { color: #fff; font-size: clamp(31px,5vw,55px); letter-spacing: -.035em; max-width: 950px; }
.re5sgc-hero p:not(.re5sgc-eyebrow) { color: rgba(255,255,255,.86); font-size: clamp(16px,2vw,20px); max-width: 900px; }
.re5sgc-eyebrow,.re5sgc-card-label { color: var(--re5sgc-red); font-size: 12px; font-weight: 900; letter-spacing: .11em; margin-bottom: 8px; text-transform: uppercase; }
.re5sgc-hero .re5sgc-eyebrow { color: #ffda74; }
.re5sgc-logo-wrap { text-align: center; }
.re5sgc-logo { background: #fff; border-radius: 18px; box-shadow: 0 16px 38px rgba(0,0,0,.25); height: auto; max-width: 100%; padding: 16px; }
.re5sgc-library,.re5sgc-upload-card { padding: clamp(27px,4vw,48px); }
.re5sgc-library { background: #f8faff; border-bottom: 1px solid var(--re5sgc-border); }
.re5sgc-upload-card { background: #fff; }
.re5sgc-section-heading { align-items: flex-start; display: flex; gap: 20px; justify-content: space-between; }
.re5sgc-section-heading h3,.re5sgc-section-heading h4 { font-size: clamp(24px,3vw,34px); }
.re5sgc-section-heading p { color: var(--re5sgc-muted); max-width: 900px; }
.re5sgc-library-search-row { align-items: end; display: flex; gap: 12px; margin-top: 22px; }
.re5sgc-form-grid { display: grid; gap: 16px; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 24px 0; }
.re5sgc-field { display: flex; flex-direction: column; gap: 7px; }
.re5sgc-field-grow { flex: 1; }
.re5sgc-field > span { font-size: 13px; font-weight: 800; }
.re5sgc-field b { color: var(--re5sgc-red); }
.re5sgc-field input { background: #fff; border: 1px solid #bdc7d8; border-radius: 10px; color: var(--re5sgc-ink); font: inherit; min-height: 48px; padding: 11px 13px; width: 100%; }
.re5sgc-field input:focus { border-color: var(--re5sgc-blue); box-shadow: 0 0 0 3px rgba(23,63,174,.12); outline: 0; }
.re5sgc-library-status { color: var(--re5sgc-muted); font-size: 14px; margin: 12px 0 0; }
.re5sgc-library-grid { display: grid; gap: 16px; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 20px; }
.re5sgc-library-card { background: #fff; border: 1px solid var(--re5sgc-border); border-radius: 16px; display: flex; flex-direction: column; min-width: 0; padding: 20px; }
.re5sgc-library-card h4 { font-size: 20px; overflow-wrap: anywhere; }
.re5sgc-library-meta { color: var(--re5sgc-muted); display: flex; flex-wrap: wrap; font-size: 12px; gap: 7px 12px; margin-bottom: 16px; }
.re5sgc-library-meta span { background: var(--re5sgc-soft); border-radius: 999px; padding: 4px 8px; }
.re5sgc-library-score { align-items: baseline; display: flex; gap: 8px; margin: auto 0 14px; }
.re5sgc-library-score strong { color: var(--re5sgc-blue); font-size: 28px; }
.re5sgc-library-score span { color: var(--re5sgc-muted); font-size: 12px; }
.re5sgc-file-input { height: 1px; opacity: 0; overflow: hidden; position: absolute; width: 1px; }
.re5sgc-drop-zone { align-items: center; background: var(--re5sgc-soft); border: 2px dashed #aeb9cb; border-radius: 18px; cursor: pointer; display: flex; flex-direction: column; justify-content: center; min-height: 220px; padding: 28px; text-align: center; transition: .18s ease; }
.re5sgc-drop-zone:hover,.re5sgc-drop-zone.is-dragging { background: #edf2ff; border-color: var(--re5sgc-blue); transform: translateY(-1px); }
.re5sgc-drop-zone strong { font-size: 20px; margin-top: 12px; }
.re5sgc-drop-zone > span:not(.re5sgc-upload-icon) { color: var(--re5sgc-muted); }
.re5sgc-file-note { color: var(--re5sgc-muted); margin-top: 9px; }
.re5sgc-upload-icon { align-items: center; background: var(--re5sgc-red); border-radius: 13px; color: #fff; display: flex; font-size: 13px; font-weight: 900; height: 50px; justify-content: center; width: 50px; }
.re5sgc-file-summary { align-items: center; background: #fff; border: 1px solid var(--re5sgc-border); border-radius: 12px; display: flex; gap: 12px; justify-content: space-between; margin-top: 16px; padding: 13px 16px; }
.re5sgc-file-name { font-weight: 800; overflow-wrap: anywhere; }
.re5sgc-file-size { color: var(--re5sgc-muted); white-space: nowrap; }
.re5sgc-existing-match { align-items: center; background: #eaf7ef; border: 1px solid #9ed0b1; border-radius: 14px; display: flex; flex-wrap: wrap; gap: 10px 16px; margin-top: 16px; padding: 16px; }
.re5sgc-existing-match strong { color: #125b33; }
.re5sgc-existing-match span { color: #397151; flex: 1; }
.re5sgc-actions,.re5sgc-cta-row,.re5sgc-report-tools { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.re5sgc-button { align-items: center; appearance: none; border: 1px solid transparent; border-radius: 10px; cursor: pointer; display: inline-flex; font-size: 14px; font-weight: 800; justify-content: center; line-height: 1.2; min-height: 44px; padding: 12px 17px; text-decoration: none !important; transition: .18s ease; }
.re5sgc-button:hover { transform: translateY(-1px); }
.re5sgc-button:disabled { cursor: not-allowed; opacity: .48; transform: none; }
.re5sgc-button-primary { background: var(--re5sgc-red); color: #fff !important; }
.re5sgc-button-primary:hover { background: #a80e12; }
.re5sgc-button-secondary { background: var(--re5sgc-blue); color: #fff !important; }
.re5sgc-button-secondary:hover { background: var(--re5sgc-blue-dark); }
.re5sgc-button-ghost { background: #fff; border-color: var(--re5sgc-border); color: var(--re5sgc-ink) !important; }
.re5sgc-button-ghost:hover { border-color: #9aa8bc; }
.re5sgc-button-ghost.is-on-dark { background: transparent; border-color: rgba(255,255,255,.5); color: #fff !important; }
.re5sgc-status { padding: 0 clamp(24px,4vw,46px) 34px; }
.re5sgc-progress-track { background: #e8edf5; border-radius: 999px; height: 10px; overflow: hidden; }
.re5sgc-progress-bar { background: linear-gradient(90deg,var(--re5sgc-blue),var(--re5sgc-red)); display: block; height: 100%; transition: width .18s ease; width: 0; }
.re5sgc-status-text { color: var(--re5sgc-muted); margin: 9px 0 0; }
.re5sgc-error { background: #fff0f0; border: 1px solid #efb6b8; border-radius: 12px; color: #8a1216; margin: 0 clamp(24px,4vw,46px) 34px; padding: 14px 16px; }
.re5sgc-results { border-top: 1px solid var(--re5sgc-border); padding: clamp(27px,4vw,48px); }
.re5sgc-report-head { align-items: flex-start; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 24px; }
.re5sgc-report-head h3 { font-size: clamp(28px,4vw,42px); overflow-wrap: anywhere; }
.re5sgc-report-head p { color: var(--re5sgc-muted); }
.re5sgc-report-tools { margin-top: 0; }
.re5sgc-metric-grid { display: grid; gap: 14px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.re5sgc-metric { background: var(--re5sgc-soft); border: 1px solid var(--re5sgc-border); border-radius: 15px; min-width: 0; padding: 18px; }
.re5sgc-metric span { color: var(--re5sgc-muted); display: block; font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.re5sgc-metric strong { display: block; font-size: 21px; margin: 7px 0 5px; overflow-wrap: anywhere; }
.re5sgc-metric small { color: var(--re5sgc-muted); display: block; }
.re5sgc-section { border-top: 1px solid var(--re5sgc-border); margin-top: 32px; padding-top: 32px; }
.re5sgc-side-by-side,.re5sgc-findings { display: grid; gap: 18px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.re5sgc-compare-card { border: 1px solid var(--re5sgc-border); border-radius: 16px; padding: 22px; }
.re5sgc-compare-card.is-re5 { background: linear-gradient(145deg,#0b1e58,#173fae); border-color: #173fae; color: #fff; }
.re5sgc-compare-card.is-re5 h4 { color: #fff; }
.re5sgc-compare-card.is-re5 .re5sgc-card-label { color: #ffda74; }
.re5sgc-compare-card ul,.re5sgc-findings ul,.re5sgc-strength-list { margin: 14px 0 0; padding-left: 20px; }
.re5sgc-compare-card li,.re5sgc-findings li,.re5sgc-strength-list li { margin-bottom: 8px; }
.re5sgc-insight { background: #fff8e7; border: 1px solid #efd38b; border-radius: 16px; padding: 22px; }
.re5sgc-insight h4 { font-size: 21px; }
.re5sgc-insight p { margin-bottom: 0; }
.re5sgc-score-ring { align-items: center; background: var(--re5sgc-soft); border: 6px solid #dfe7fa; border-radius: 50%; display: flex; flex: 0 0 96px; flex-direction: column; height: 96px; justify-content: center; text-align: center; width: 96px; }
.re5sgc-score-ring strong { color: var(--re5sgc-blue); font-size: 24px; line-height: 1; }
.re5sgc-score-ring span { color: var(--re5sgc-muted); font-size: 11px; }
.re5sgc-score-ring.is-alert { border-color: #ffd5d5; }
.re5sgc-score-ring.is-alert strong { color: var(--re5sgc-red); }
.re5sgc-table-wrap { border: 1px solid var(--re5sgc-border); border-radius: 14px; margin-top: 18px; overflow-x: auto; }
.re5sgc-table-wrap.is-wide { max-width: 100%; }
.re5sgc-table { border-collapse: collapse; margin: 0; min-width: 760px; width: 100%; }
.re5sgc-comparison-table { min-width: 1650px; table-layout: fixed; }
.re5sgc-comparison-table th:nth-child(1) { width: 145px; }
.re5sgc-comparison-table th:nth-child(2) { width: 230px; }
.re5sgc-comparison-table th:nth-child(3) { width: 300px; }
.re5sgc-comparison-table th:nth-child(4) { width: 315px; }
.re5sgc-comparison-table th:nth-child(5) { width: 280px; }
.re5sgc-comparison-table th:nth-child(6) { width: 280px; }
.re5sgc-table th,.re5sgc-table td { border-bottom: 1px solid var(--re5sgc-border); padding: 14px 15px; text-align: left; vertical-align: top; }
.re5sgc-table th { background: var(--re5sgc-soft); font-size: 11px; letter-spacing: .05em; position: sticky; text-transform: uppercase; top: 0; z-index: 2; }
.re5sgc-table tr:last-child td { border-bottom: 0; }
.re5sgc-table td p { margin: 8px 0 0; }
.re5sgc-table td small { color: var(--re5sgc-muted); display: block; margin-top: 5px; }
.re5sgc-task-number { background: #e9efff; border-radius: 999px; color: var(--re5sgc-blue); display: inline-block; font-size: 12px; font-weight: 900; padding: 5px 9px; }
.re5sgc-badge,.re5sgc-risk-badge { border-radius: 999px; display: inline-block; font-size: 11px; font-weight: 900; padding: 5px 9px; text-transform: uppercase; white-space: nowrap; }
.re5sgc-badge.is-strong { background: #e7f7ee; color: #16643a; }
.re5sgc-badge.is-partial,.re5sgc-badge.is-present { background: #fff3d2; color: #795400; }
.re5sgc-badge.is-missing,.re5sgc-badge.is-not-detected { background: #fce8e8; color: #8a1216; }
.re5sgc-risk-badge.is-low { background: #e7f7ee; color: #16643a; }
.re5sgc-risk-badge.is-medium { background: #fff3d2; color: #795400; }
.re5sgc-risk-badge.is-high { background: #ffe7d1; color: #8b3b00; }
.re5sgc-risk-badge.is-critical { background: #f8d7da; color: #842029; }
.re5sgc-outdated-section { background: #fff9f9; border: 1px solid #f0c8cb; border-radius: 18px; margin-top: 34px; padding: 26px; }
.re5sgc-alert-grid { display: grid; gap: 14px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 20px; }
.re5sgc-alert-card { background: #fff; border: 1px solid #e3aeb2; border-left-width: 6px; border-radius: 14px; padding: 18px; }
.re5sgc-alert-card.is-critical { border-left-color: #a50f15; }
.re5sgc-alert-card.is-high { border-left-color: #d24600; }
.re5sgc-alert-card.is-medium { border-left-color: #d59500; }
.re5sgc-alert-card.is-notice { border-left-color: #4c6fbf; }
.re5sgc-alert-head { align-items: flex-start; display: flex; gap: 12px; justify-content: space-between; }
.re5sgc-alert-head strong { font-size: 17px; }
.re5sgc-alert-head span { background: #f4e8e9; border-radius: 999px; color: #8a1216; font-size: 10px; font-weight: 900; padding: 4px 7px; text-transform: uppercase; }
.re5sgc-alert-card p { margin: 10px 0 0; }
.re5sgc-alert-card small { color: var(--re5sgc-muted); display: block; margin-top: 10px; }
.re5sgc-no-alerts { background: #eaf7ef; border: 1px solid #abd5ba; border-radius: 14px; margin-top: 20px; padding: 18px; }
.re5sgc-no-alerts p { margin: 6px 0 0; }
.re5sgc-findings > div { background: var(--re5sgc-soft); border-radius: 16px; padding: 22px; }
.re5sgc-re5-advantage { background: linear-gradient(145deg,#071337,#173fae); border: 0; border-radius: 20px; color: #fff; margin-top: 34px; padding: clamp(26px,4vw,42px); }
.re5sgc-re5-advantage .re5sgc-eyebrow { color: #ffda74; }
.re5sgc-re5-advantage h4 { color: #fff; font-size: clamp(25px,3vw,36px); }
.re5sgc-re5-advantage p { color: rgba(255,255,255,.87); }
.re5sgc-strength-list { columns: 2; column-gap: 38px; }
.re5sgc-strength-list li { break-inside: avoid; }
.re5sgc-disclaimer { background: #f6f7f9; border-left: 4px solid var(--re5sgc-muted); color: #596275; font-size: 13px; margin-top: 24px; padding: 16px 18px; }
@media (max-width: 1100px) {
	.re5sgc-library-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.re5sgc-metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px) {
	.re5sgc-hero { grid-template-columns: 1fr; }
	.re5sgc-logo-wrap { display: none; }
	.re5sgc-form-grid,.re5sgc-side-by-side,.re5sgc-findings,.re5sgc-alert-grid { grid-template-columns: 1fr; }
	.re5sgc-library-search-row { align-items: stretch; flex-direction: column; }
}
@media (max-width: 650px) {
	.re5sgc-shell { border-radius: 15px; }
	.re5sgc-hero,.re5sgc-library,.re5sgc-upload-card,.re5sgc-results { padding: 23px; }
	.re5sgc-library-grid,.re5sgc-metric-grid { grid-template-columns: 1fr; }
	.re5sgc-report-head,.re5sgc-section-heading { align-items: flex-start; flex-direction: column; }
	.re5sgc-strength-list { columns: 1; }
	.re5sgc-button { width: 100%; }
	.re5sgc-file-summary,.re5sgc-existing-match { align-items: flex-start; flex-direction: column; }
}
@media print {
	body * { visibility: hidden !important; }
	.re5sgc-results,.re5sgc-results * { visibility: visible !important; }
	.re5sgc-results { border: 0; left: 0; padding: 0; position: absolute; top: 0; width: 100%; }
	.re5sgc-report-tools,.re5sgc-cta-row { display: none !important; }
	.re5sgc-table-wrap { overflow: visible; }
	.re5sgc-comparison-table { min-width: 0; table-layout: auto; }
	.re5sgc-table th { position: static; }
	.re5sgc-re5-advantage { background: #fff !important; border: 1px solid #999; color: #000 !important; }
	.re5sgc-re5-advantage h4,.re5sgc-re5-advantage p { color: #000 !important; }
}


/* Version 2.1 detailed task analysis */
.re5sgc-authority-note { background: #eef4ff; border: 1px solid #b9c9ee; border-left: 6px solid var(--re5sgc-blue); border-radius: 14px; margin: 0 0 22px; padding: 17px 19px; }
.re5sgc-authority-note strong { color: var(--re5sgc-blue-dark); display: block; font-size: 17px; }
.re5sgc-authority-note p { color: var(--re5sgc-muted); margin: 6px 0 0; }
.re5sgc-task-summary-grid { display: grid; gap: 14px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 20px; }
.re5sgc-task-summary-card { background: #fff; border: 1px solid var(--re5sgc-border); border-left: 6px solid #9aa8bc; border-radius: 15px; padding: 19px; }
.re5sgc-task-summary-card.is-score-good { border-left-color: #218b54; }
.re5sgc-task-summary-card.is-score-medium { border-left-color: #d59500; }
.re5sgc-task-summary-card.is-score-weak { border-left-color: var(--re5sgc-red); }
.re5sgc-task-summary-head { align-items: center; display: flex; justify-content: space-between; }
.re5sgc-task-summary-head span { color: var(--re5sgc-blue); font-size: 12px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.re5sgc-task-summary-head strong { font-size: 27px; }
.re5sgc-task-summary-card h5 { font-size: 18px; margin: 9px 0 6px; }
.re5sgc-task-summary-card p { color: var(--re5sgc-muted); margin: 0; }
.re5sgc-task-summary-card small { color: var(--re5sgc-muted); display: block; margin-top: 12px; }
.re5sgc-task-summary-counts { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.re5sgc-task-summary-counts span { background: var(--re5sgc-soft); border: 1px solid var(--re5sgc-border); border-radius: 999px; font-size: 11px; font-weight: 800; padding: 5px 8px; }
.re5sgc-task-block { border: 1px solid var(--re5sgc-border); border-radius: 19px; margin-top: 24px; overflow: hidden; }
.re5sgc-task-block-head { align-items: center; background: linear-gradient(145deg,#eef3ff,#f8faff); display: flex; gap: 20px; justify-content: space-between; padding: 24px; }
.re5sgc-task-block-head h4 { font-size: clamp(23px,3vw,31px); margin: 2px 0 6px; }
.re5sgc-task-block-head p { color: var(--re5sgc-muted); margin: 0; max-width: 900px; }
.re5sgc-task-score { align-items: center; background: #fff; border: 1px solid #cfdaef; border-radius: 13px; display: flex; flex: 0 0 125px; flex-direction: column; padding: 15px; text-align: center; }
.re5sgc-task-score strong { color: var(--re5sgc-blue); font-size: 28px; }
.re5sgc-task-score span { color: var(--re5sgc-muted); font-size: 11px; }
.re5sgc-topic-stack { display: grid; gap: 0; }
.re5sgc-topic-card { border-top: 1px solid var(--re5sgc-border); padding: 24px; }
.re5sgc-topic-card.is-missing { background: #fffafa; }
.re5sgc-topic-card.is-partial { background: #fffdf7; }
.re5sgc-topic-head { align-items: flex-start; display: flex; gap: 18px; justify-content: space-between; }
.re5sgc-topic-head h5 { font-size: 21px; margin: 4px 0 0; }
.re5sgc-topic-section { color: var(--re5sgc-muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.re5sgc-topic-badges { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.re5sgc-comparison-detail-grid { display: grid; gap: 15px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 18px; }
.re5sgc-detail-panel { background: #fff; border: 1px solid var(--re5sgc-border); border-radius: 14px; padding: 18px; }
.re5sgc-detail-panel.is-re5 { background: #f0f4ff; border-color: #bdccef; }
.re5sgc-detail-panel strong { display: block; line-height: 1.45; }
.re5sgc-detail-panel p { margin: 9px 0 0; }
.re5sgc-detection-stats { display: flex; flex-wrap: wrap; gap: 9px; margin: 15px 0 0; }
.re5sgc-detection-stats div { background: var(--re5sgc-soft); border-radius: 9px; min-width: 82px; padding: 8px 10px; }
.re5sgc-detection-stats dt { color: var(--re5sgc-muted); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.re5sgc-detection-stats dd { font-size: 18px; font-weight: 900; margin: 2px 0 0; }
.re5sgc-signal-grid { display: grid; gap: 15px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 15px; }
.re5sgc-signal-grid > div { background: var(--re5sgc-soft); border-radius: 13px; padding: 16px; }
.re5sgc-signal-grid > div > strong { display: block; margin-bottom: 9px; }
.re5sgc-signal-list { display: flex; flex-wrap: wrap; gap: 6px; }
.re5sgc-signal-list span { background: #e5f5eb; border: 1px solid #b7d9c5; border-radius: 999px; color: #155d37; font-size: 11px; padding: 5px 8px; }
.re5sgc-signal-list.is-missing span { background: #fceaea; border-color: #efc5c7; color: #85171b; }
.re5sgc-muted-note { color: var(--re5sgc-muted); font-size: 12px; }
.re5sgc-evidence-box { background: #f7f9fc; border: 1px solid var(--re5sgc-border); border-radius: 13px; margin-top: 15px; padding: 16px; }
.re5sgc-evidence-list { display: grid; gap: 9px; margin-top: 10px; }
.re5sgc-evidence-list blockquote { background: #fff; border-left: 4px solid var(--re5sgc-blue); border-radius: 0 9px 9px 0; color: #465069; font-size: 13px; margin: 0; padding: 11px 13px; }
.re5sgc-difference-risk-grid { display: grid; gap: 12px; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 15px; }
.re5sgc-difference-risk-grid > div { border: 1px solid var(--re5sgc-border); border-radius: 13px; padding: 16px; }
.re5sgc-difference-risk-grid span { color: var(--re5sgc-blue); display: block; font-size: 11px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.re5sgc-difference-risk-grid p { margin: 8px 0 0; }
@media (max-width: 900px) {
	.re5sgc-task-summary-grid,.re5sgc-comparison-detail-grid,.re5sgc-signal-grid,.re5sgc-difference-risk-grid { grid-template-columns: 1fr; }
	.re5sgc-task-block-head,.re5sgc-topic-head { align-items: flex-start; flex-direction: column; }
	.re5sgc-task-score { flex-basis: auto; width: 100%; }
	.re5sgc-topic-badges { justify-content: flex-start; }
}
@media print {
	.re5sgc-task-block,.re5sgc-topic-card,.re5sgc-task-summary-card { break-inside: avoid; }
	.re5sgc-task-summary-grid,.re5sgc-comparison-detail-grid,.re5sgc-signal-grid,.re5sgc-difference-risk-grid { grid-template-columns: 1fr 1fr; }
}


.re5sgc-engine-badge{display:inline-flex;align-items:center;width:max-content;margin:.65rem 0 0;padding:.38rem .72rem;border-radius:999px;background:#eef7ff;color:#123f67;font-weight:800;font-size:.78rem;letter-spacing:.02em}
.re5sgc-engine-stamp{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:150px;padding:1rem;border:1px solid #d9e8f3;border-radius:16px;background:#f8fcff;text-align:center}.re5sgc-engine-stamp strong{font-size:1rem;color:#123f67}.re5sgc-engine-stamp span{font-size:.75rem;color:#5f6f7c}
.re5sgc-curated-section{border:2px solid #1f6fa8;background:linear-gradient(180deg,#f7fcff 0%,#fff 100%)}
.re5sgc-curated-grid{display:grid;gap:1rem}.re5sgc-curated-card{border:1px solid #d9e3ea;border-left:6px solid #7f8c96;border-radius:16px;background:#fff;padding:1.15rem;box-shadow:0 8px 24px rgba(26,56,78,.06)}.re5sgc-curated-card.risk-critical{border-left-color:#b42318}.re5sgc-curated-card.risk-high{border-left-color:#d97706}.re5sgc-curated-card.risk-medium{border-left-color:#ca8a04}.re5sgc-curated-card.risk-low{border-left-color:#15803d}.re5sgc-curated-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.re5sgc-curated-card h5{margin:.4rem 0 0;font-size:1.12rem;color:#172b3a}.re5sgc-task-chip{display:inline-block;font-size:.73rem;font-weight:800;letter-spacing:.02em;color:#31556f}.re5sgc-risk-badge{flex:0 0 auto;padding:.33rem .55rem;border-radius:999px;background:#f4f6f8;font-size:.72rem;font-weight:800;text-transform:uppercase}.re5sgc-curated-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.re5sgc-curated-columns>div{padding:1rem;border-radius:12px;background:#f6f8fa}.re5sgc-curated-columns>div.is-re5{background:#eef8f1;border:1px solid #cde9d5}.re5sgc-curated-columns b{display:block;margin-bottom:.45rem;color:#163b55}.re5sgc-curated-columns p,.re5sgc-curated-bottom p{margin:0;line-height:1.6}.re5sgc-curated-bottom{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e5eaee}
@media(max-width:760px){.re5sgc-curated-columns,.re5sgc-curated-bottom{grid-template-columns:1fr}.re5sgc-curated-card header{flex-direction:column}.re5sgc-engine-stamp{align-items:flex-start;min-width:0}}

/* Version 3.1 report priority, summary and save visibility */
.re5sgc-immediate-grid { display: grid; gap: 18px; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); margin: 0 0 28px; }
.re5sgc-immediate-risk,.re5sgc-immediate-offer { border-radius: 19px; padding: 25px; }
.re5sgc-immediate-risk { background: linear-gradient(145deg,#fff3f3,#fffafa); border: 1px solid #e8b6b9; border-left: 7px solid var(--re5sgc-red); }
.re5sgc-immediate-offer { background: linear-gradient(145deg,#091b4d,#173fae); border: 1px solid #173fae; color: #fff; }
.re5sgc-immediate-risk h4,.re5sgc-immediate-offer h4 { font-size: clamp(24px,3vw,34px); }
.re5sgc-immediate-offer h4,.re5sgc-immediate-offer p,.re5sgc-immediate-offer li { color: #fff; }
.re5sgc-immediate-offer .re5sgc-eyebrow { color: #ffdd78; }
.re5sgc-immediate-risk ul,.re5sgc-immediate-offer ul { margin: 17px 0 0; padding-left: 21px; }
.re5sgc-immediate-risk li,.re5sgc-immediate-offer li { margin: 7px 0; }
.re5sgc-risk-number-row { display: grid; gap: 9px; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 18px 0; }
.re5sgc-risk-number-row > div { background: rgba(255,255,255,.85); border: 1px solid #edc9cb; border-radius: 12px; padding: 13px; }
.re5sgc-risk-number-row strong { color: var(--re5sgc-red); display: block; font-size: 30px; line-height: 1; }
.re5sgc-risk-number-row span { color: var(--re5sgc-muted); display: block; font-size: 11px; font-weight: 800; margin-top: 6px; text-transform: uppercase; }
.re5sgc-summary-section { border: 2px solid #cfdaf3; background: #fbfcff; }
.re5sgc-summary-table { min-width: 1050px; }
.re5sgc-summary-table th:nth-child(1) { width: 17%; }
.re5sgc-summary-table th:nth-child(2),.re5sgc-summary-table th:nth-child(3) { width: 27%; }
.re5sgc-summary-table th:nth-child(4) { width: 29%; }
.re5sgc-summary-table td { line-height: 1.48; vertical-align: top; }
.re5sgc-summary-table td p { margin: 8px 0 0; }
.re5sgc-summary-task { color: var(--re5sgc-blue); display: block; font-size: 10px; font-weight: 900; letter-spacing: .05em; margin-bottom: 5px; text-transform: uppercase; }
.re5sgc-summary-table .re5sgc-risk-badge { margin-bottom: 4px; }
@media (max-width: 900px) {
	.re5sgc-immediate-grid { grid-template-columns: 1fr; }
	.re5sgc-risk-number-row { grid-template-columns: 1fr; }
}
