/* RAMP 90S final contract refinement — presentation and accessibility only */
body.r90-contract-presentation-mode{--r90-status-good:#2f6e49;--r90-status-good-bg:#edf7f1;--r90-status-watch:#8a641c;--r90-status-watch-bg:#fbf5e8;--r90-status-risk:#9a4f22;--r90-status-risk-bg:#fbefe8;--r90-status-info:#426477;--r90-status-info-bg:#eef4f7}
body.r90-contract-presentation-mode .ramp-step{opacity:1;transition:box-shadow .15s ease,transform .15s ease}
body.r90-contract-presentation-mode .ramp-step.r90-stage-active{position:relative;z-index:1;box-shadow:inset 0 -4px 0 rgba(255,255,255,.92),0 2px 8px rgba(12,38,61,.08)}
body.r90-contract-presentation-mode .ramp-step.r90-stage-active strong{color:inherit}
body.r90-contract-presentation-mode .r90-stage-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:-4px 0 28px;border:1px solid #dfe7eb;border-left:5px solid var(--r90-phase-color);border-radius:8px;overflow:hidden;background:#dfe7eb}
body.r90-contract-presentation-mode .r90-stage-guide>div{padding:15px 17px;background:#fff;min-height:88px}
body.r90-contract-presentation-mode .r90-stage-guide span{display:block;margin-bottom:5px;font-size:11px;line-height:1.2;font-weight:800;text-transform:uppercase;letter-spacing:.055em;color:var(--r90-phase-color)}
body.r90-contract-presentation-mode .r90-stage-guide p{margin:0;font-size:14px;line-height:1.55;color:#3e5662}
body.r90-contract-presentation-mode .r90-stage-transition-note{display:flex;align-items:flex-start;gap:12px;margin:24px 0 12px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--r90-phase-color) 28%,#dfe7eb);border-left:5px solid var(--r90-phase-color);border-radius:7px;background:color-mix(in srgb,var(--r90-phase-color) 5%,#fff)}
body.r90-contract-presentation-mode .r90-stage-transition-note strong{flex:0 0 auto;font-size:12px;text-transform:uppercase;letter-spacing:.045em;color:var(--r90-phase-color)}
body.r90-contract-presentation-mode .r90-stage-transition-note span{font-size:14px;line-height:1.5;color:#3f5662}
body.r90-contract-presentation-mode .r90-plan-filterbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:30px 0 16px;padding:12px 14px;border:1px solid #dfe7eb;border-radius:8px;background:#f8fafb}
body.r90-contract-presentation-mode .r90-plan-filterbar>strong{margin-right:3px;font-size:12px;color:#405965}
body.r90-contract-presentation-mode .r90-plan-filterbar button{min-height:36px;padding:7px 11px;border:1px solid #cbd7de;border-radius:999px;background:#fff;color:#425a67;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
body.r90-contract-presentation-mode .r90-plan-filterbar button[aria-pressed="true"]{border-color:var(--r90-phase-color);background:color-mix(in srgb,var(--r90-phase-color) 10%,#fff);color:var(--r90-phase-color)}
body.r90-contract-presentation-mode .r90-plan-filter-empty{margin:0 0 20px;padding:14px 16px;border:1px dashed #c9d6dd;border-radius:7px;background:#fafcfd;font-size:14px;color:#526975}
body.r90-contract-presentation-mode .r90-state-card{min-height:120px;padding:24px!important;border-style:dashed!important;border-color:#cbd8df!important;background:#fafcfd!important;box-shadow:none!important}
body.r90-contract-presentation-mode .r90-state-card[aria-live="polite"]{border-left:5px solid var(--r90-phase-color)!important}
body.r90-contract-presentation-mode .r90-state-card h2{font-size:20px}.r90-state-card p{font-size:14px;line-height:1.6}
body.r90-contract-presentation-mode .status-accepted,body.r90-contract-presentation-mode .r90-req-status.confirmed{background:var(--r90-status-good-bg)!important;color:var(--r90-status-good)!important;border:1px solid #cce3d5}
body.r90-contract-presentation-mode .status-changed,body.r90-contract-presentation-mode .r90-req-status.partial,body.r90-contract-presentation-mode .r90-req-status.planned{background:var(--r90-status-watch-bg)!important;color:var(--r90-status-watch)!important;border:1px solid #ead9ad}
body.r90-contract-presentation-mode .status-not-accepted,body.r90-contract-presentation-mode .r90-req-status.needs-action{background:var(--r90-status-risk-bg)!important;color:var(--r90-status-risk)!important;border:1px solid #edcfbf}
body.r90-contract-presentation-mode .r90-req-status.not-confirmed,body.r90-contract-presentation-mode .r90-req-status.future{background:var(--r90-status-info-bg)!important;color:var(--r90-status-info)!important;border:1px solid #d6e3e9}
body.r90-contract-presentation-mode .r90-req-status,body.r90-contract-presentation-mode .r90-simple-finding>summary em{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;font-size:11px!important;font-weight:750;line-height:1.2;padding:5px 9px!important}
body.r90-contract-presentation-mode .btn:focus-visible,body.r90-contract-presentation-mode button:focus-visible,body.r90-contract-presentation-mode summary:focus-visible,body.r90-contract-presentation-mode a:focus-visible,body.r90-contract-presentation-mode input:focus-visible,body.r90-contract-presentation-mode textarea:focus-visible,body.r90-contract-presentation-mode select:focus-visible{outline:3px solid color-mix(in srgb,var(--r90-phase-color) 68%,#fff);outline-offset:3px}
body.r90-contract-presentation-mode .btn,body.r90-contract-presentation-mode button{min-height:36px}
body.r90-contract-presentation-mode .package-section{border:1px solid #dfe7eb;border-left:5px solid var(--r90-phase-color);border-radius:8px;padding:24px 26px;box-shadow:none}
body.r90-contract-presentation-mode .contract-executive-summary{border-top:6px solid var(--phase-review,#2d6fa3);border-left:1px solid #dfe7eb;background:#fff}
body.r90-contract-presentation-mode .contract-executive-summary .report-lead{max-width:900px;font-size:17px;line-height:1.7;color:#263f4c}
body.r90-contract-presentation-mode .report-section-heading{margin:32px 0 14px;padding:0 2px 12px;border-bottom:2px solid color-mix(in srgb,var(--r90-phase-color) 30%,#dfe7eb)}
body.r90-contract-presentation-mode .report-section-heading h2,body.r90-contract-presentation-mode .package-section>h2{font-size:24px;line-height:1.25;letter-spacing:-.015em}
body.r90-contract-presentation-mode .management-priority-card{border-left-color:var(--phase-mobilize,#ad5e1d)}
body.r90-contract-presentation-mode .management-priority-grid{gap:16px}.management-priority-grid>div{padding:14px 15px;border-radius:6px;background:#f8fafb}
body.r90-contract-presentation-mode .management-priority-grid strong{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#526975}
body.r90-contract-presentation-mode .management-priority-grid p,body.r90-contract-presentation-mode .report-followup,body.r90-contract-presentation-mode .report-limitations,body.r90-contract-presentation-mode .report-unknown-list{font-size:14px;line-height:1.62}
body.r90-contract-presentation-mode .report-methodology>div{border-top-width:5px}
body.r90-contract-presentation-mode .report-plan-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#536b77;background:#f5f8fa}
body.r90-contract-presentation-mode .report-plan-table td{font-size:12px;line-height:1.45;vertical-align:top}
@media(max-width:900px){body.r90-contract-presentation-mode .r90-stage-guide{grid-template-columns:1fr}.r90-stage-guide>div{min-height:auto}body.r90-contract-presentation-mode .r90-stage-transition-note{display:block}.r90-stage-transition-note strong{display:block;margin-bottom:5px}}
@media(max-width:600px){body.r90-contract-presentation-mode .r90-plan-filterbar{display:grid;grid-template-columns:1fr 1fr}.r90-plan-filterbar>strong{grid-column:1/-1}.r90-plan-filterbar button{width:100%}}
@media print{body.r90-contract-presentation-mode .r90-stage-guide,body.r90-contract-presentation-mode .r90-plan-filterbar,body.r90-contract-presentation-mode .r90-stage-transition-note{display:none!important}body.r90-contract-presentation-mode .package-section{break-inside:avoid;border-left-width:3px}}
