/* Reports and plan variants. Scoped to avoid collisions with designer fragments. */
.insights-page{color:#14232b;min-width:0}
.insights-header{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px}
.insights-header h1{font-size:28px;font-weight:800;letter-spacing:-.6px;line-height:1.2;margin:0 0 7px;color:#0b3a4c}
.insights-heading{flex:1;min-width:240px}
.insights-heading p,.insights-subtitle{font-size:12px;line-height:1.55;color:#5b707b;margin:0}
.insights-eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:.08em;color:#6b818d;margin-bottom:9px;text-transform:uppercase}
.insights-page .btn{min-height:40px;white-space:nowrap;font-size:12px;transition:background .15s,border-color .15s,box-shadow .15s}
.insights-page .btn:hover:not(:disabled){box-shadow:0 3px 8px #0b3a4c10}
.insights-seg{display:inline-flex;background:#e6edf1;border-radius:10px;padding:3px;gap:3px}
.insights-seg button{padding:8px 12px;border-radius:8px;color:#5b707b;font-size:12px;font-weight:600;min-height:32px}
.insights-seg button.on{background:#fff;color:#0b3a4c;box-shadow:0 1px 3px #0b3a4c1f}
.insights-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:0 24px 20px}
.insights-tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid #dce5ea}
.insights-tabs button{min-height:42px;padding:10px 14px;font-size:12px;font-weight:700;color:#6b7e88;border-bottom:3px solid transparent;white-space:nowrap}
.insights-tabs button.on{color:#0b3a4c;border-bottom-color:#e31e25}
.insights-tabs button:hover{background:#e9f0f4;border-radius:6px 6px 0 0}
.insights-filter{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:#5b707b}
.insights-filter select{font:inherit;color:#0b3a4c;background:#fff;border:1px solid #d8e2e7;border-radius:8px;padding:9px 28px 9px 10px;max-width:100%}
.insights-panel-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.insights-panel-title h2{margin:0;font-size:14px;font-weight:800;color:#0b3a4c}
.insights-panel-title>span{font-size:11px;color:#6b818d}
.report-risk-grid .card{padding:15px 18px;border-radius:12px;box-shadow:0 2px 4px #0b3a4c03}
.insights-risk-list{background:#fff;border:1px solid #e1e8ec;border-radius:14px;padding:16px 18px}
.insights-risk-item{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #edf1f4;font-size:12px;flex-wrap:wrap}
.insights-risk-item>span:not(.insights-risk-mark){color:#5b707b;flex:1;min-width:200px}
.insights-risk-mark{display:flex;align-items:center;justify-content:center;width:23px;height:23px;border-radius:7px;background:#fef0f0;color:#a5121a;font-weight:800}
.insights-link{font-size:12px;font-weight:700;color:#0b3a4c;padding:8px 0;text-align:left;min-height:36px}
.insights-link:hover{text-decoration:underline}
.insights-link.danger{color:#a5121a}
.insights-positive{display:flex;gap:12px;flex-wrap:wrap;padding:14px;background:#eef8f2;border-radius:8px;font-size:12px;color:#0f7a4d}
.insights-positive span{color:#547566}
.insights-footnote{font-size:11px;line-height:1.65;color:#6b818d;margin:10px 0 0}
.reports-page .data-note{background:#f3f7f9;color:#59707e;border-left:3px solid #c5d8e1;border-radius:0 8px 8px 0;font-size:11px;line-height:1.65;padding:10px 12px}
.reports-page .report-expand{font-size:12px;font-weight:700;line-height:1.5;white-space:normal}
.reports-page .report-person{font-size:11px;padding:10px 12px;border-radius:4px;margin:3px 0;gap:8px}
.reports-page .report-person span:not(:first-child){text-align:right;color:#5b707b}
.reports-page[data-report-tab="1"] .report-risk-grid,.reports-page[data-report-tab="2"] .report-risk-grid,.reports-page[data-report-tab="3"] .report-risk-grid{display:none!important}
.reports-page[data-report-tab="1"] .report-analysis,.reports-page[data-report-tab="2"] .report-schedule,.reports-page[data-report-tab="3"] .report-schedule{display:none!important}
.reports-page[data-report-tab="2"] .report-cost,.reports-page[data-report-tab="3"] .report-hours{display:none!important}
.reports-page[data-report-tab="1"] .report-schedule{max-width:1100px;flex-basis:100%!important}
.reports-page[data-report-tab="2"] .report-analysis,.reports-page[data-report-tab="3"] .report-analysis{max-width:1100px;flex-basis:100%!important}
.report-cost>div:first-child{margin-top:22px!important}
.reports-page[data-report-tab="3"] .report-cost>div:first-child{margin-top:0!important}
.variants-page{padding:24px;display:flex;flex-direction:column;gap:20px}
.variants-page .insights-header{margin:0}
.variants-context{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;color:#59707e;font-size:11px;line-height:1.5}
.variants-context b{color:#0b3a4c;font-weight:700}
.variants-context-dot{width:7px;height:7px;border-radius:50%;background:#0f7a4d;flex:none}
.variants-save{display:flex;flex-wrap:wrap;gap:16px;align-items:center;border:1px solid #d8e3e9;border-radius:14px;padding:18px 20px;background:#fff}
.variants-save>div{flex:1;min-width:210px}
.variants-save b{font-size:13px;color:#0b3a4c}
.variants-save p{font-size:11px;color:#5b707b;margin:5px 0 0;line-height:1.5}
.variants-name{min-width:250px;flex:1;font-size:10px;font-weight:700;color:#5b707b}
.variants-name span{display:block;margin-bottom:6px}
.variants-name input{width:100%;font:inherit;font-size:12px;font-weight:500;color:#14232b;border:1px solid #d8e2e7;border-radius:8px;height:40px;padding:0 12px;background:#fbfcfd}
.variants-save>.btn{align-self:flex-end}
.variants-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.variant-card{padding:20px;background:#fff;border:1px solid #dce5ea;border-radius:14px;display:flex;flex-direction:column;min-width:0;transition:border-color .15s,box-shadow .15s}
.variant-card.working{border:2px solid #0b3a4c;background:linear-gradient(180deg,#f3f9fc,#fff 110px)}
.variant-card.selected{border:2px solid #7c3aed;box-shadow:0 4px 18px #7c3aed0b}
.variant-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;min-height:55px}
.variant-card h2{font-size:15px;line-height:1.4;color:#0b3a4c;margin:0 0 4px;overflow-wrap:anywhere}
.variant-card-top p{font-size:10px;color:#6b818d;margin:0}
.variant-badge{font-size:9px;font-weight:700;white-space:nowrap;background:#0b3a4c;color:#fff;padding:5px 7px;border-radius:5px}
.variant-badge.draft{background:#f1ebff;color:#6d28d9}
.variant-price-label{display:block;margin-top:15px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b818d}
.variant-price{display:block;margin-top:7px;font-size:27px;line-height:1.2;color:#0b3a4c;letter-spacing:-.5px}
.variant-delta{font-size:10px;font-weight:600;line-height:1.5;margin:9px 0 0;min-height:30px}
.variant-delta.neutral{color:#6b818d}.variant-delta.saving{color:#0f7a4d}.variant-delta.increase{color:#a5121a}
.variant-numbers{display:flex;flex-wrap:wrap;gap:12px 18px;padding:14px 0 18px;margin-top:4px;border-top:1px solid #edf1f4}
.variant-numbers>div{min-width:65px}
.variant-numbers b{display:block;font-size:17px;color:#0b3a4c;margin-bottom:4px}
.variant-numbers span{display:block;font-size:10px;color:#6b818d}
.variant-card>.btn{margin-top:auto}
.variant-card-actions{display:flex;gap:8px;margin-top:auto}
.variant-card-actions .btn{flex:1;padding-left:8px;padding-right:8px}
.variant-comparison-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;align-items:start}
.variant-changes,.variant-decision{min-width:0}
.variant-decision h2{font-size:15px;color:#0b3a4c;margin:0 0 18px}
.variant-change-row{display:flex;align-items:center;gap:12px;border-top:1px solid #edf1f4;padding:12px 0;font-size:12px}
.variant-change-row>div{flex:1;min-width:0}
.variant-change-row>div b{display:block;font-size:12px;margin-bottom:5px}
.variant-change-row>div span{display:block;font-size:10px;color:#6b818d}
.variant-before,.variant-after{min-width:30px;padding:5px;text-align:center;border-radius:5px;font-size:11px;background:#eef3f6}
.variant-before{color:#80939e;text-decoration:line-through}.variant-after{color:#0b3a4c;background:#dcebf0}
.variant-compare-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;align-items:center;font-size:11px;padding:12px 0;border-bottom:1px solid #edf1f4}
.variant-compare-row>span:nth-child(n+2),.variant-compare-row>b:nth-child(n+2){text-align:right}
.variant-compare-row.compare-head{font-size:10px;color:#6b818d;padding-top:0}
.variant-decision>.btn{width:100%;margin-top:14px}
.variant-decision>.insights-link{display:block;text-align:center;margin:8px auto 0}
.insights-empty{text-align:center;padding:30px 20px;max-width:100%}
.insights-empty-symbol{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:15px;background:#eaf2f6;color:#0b3a4c;font-size:27px;margin-bottom:12px}
.insights-empty h2,.insights-empty h3{font-size:16px;color:#0b3a4c;margin:5px 0 10px;line-height:1.5}
.insights-empty p{max-width:520px;margin:0 auto 16px;font-size:12px;line-height:1.7;color:#6b818d}
.insights-dialog-backdrop{position:fixed;inset:0;background:#0b3a4c66;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}
.insights-confirm{width:460px;max-width:100%;border-radius:16px;background:#fff;padding:26px;box-shadow:0 16px 70px #0b3a4c33;border-top:4px solid #e31e25}
.insights-confirm h2{font-size:20px;line-height:1.4;color:#0b3a4c;margin:0 0 12px}.insights-confirm>p{font-size:13px;line-height:1.6;margin:10px 0}
.insights-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
@media(max-width:1100px){.variant-comparison-layout{grid-template-columns:1fr}.insights-controls{align-items:flex-start}.report-risk-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:767px){
 .variants-page{padding:18px 12px;gap:16px}.insights-header{gap:10px}.insights-header h1{font-size:23px}
 .reports-page>.insights-header{padding:18px 12px 0!important}.reports-page>.insights-header>div:first-child{flex-basis:100%}
 .reports-page>.insights-header>.insights-seg{flex:1}.insights-seg button{padding:8px 9px}
 .insights-controls{padding:0 12px 16px;gap:12px}.insights-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.insights-tabs button{font-size:11px;padding:8px 10px}
 .reports-page>div:last-of-type:not(.toast){padding-left:12px!important;padding-right:12px!important}
 .insights-filter{width:100%;justify-content:space-between}.insights-filter select{flex:1;margin-left:8px}
 .report-risk-grid{gap:8px!important}.report-risk-grid .card{padding:12px!important;border-left-width:4px!important}.report-risk-grid .card>div:first-child{font-size:9px!important;line-height:1.4;min-height:25px}.report-risk-grid .card>div:last-child{font-size:10px!important;line-height:1.5}
 .report-layout{display:block!important}.report-layout>.card{margin-bottom:14px;padding:16px 12px}
 .reports-page .report-schedule select{width:100%}.reports-page .report-analysis{overflow-x:auto}
 .variants-save{padding:16px;gap:12px}.variants-name{min-width:0;flex-basis:100%}.variants-save>.btn{width:100%;height:auto;padding:12px;font-size:11px}
 .variants-cards{grid-template-columns:1fr}.variant-price{font-size:26px}.variants-context{font-size:10px}.variants-context>span:last-child{flex-basis:100%;margin-left:19px}
 .variant-compare-row{font-size:10px;gap:8px;grid-template-columns:1fr 1fr 1fr}.variant-card-top{min-height:45px}
 .insights-confirm{padding:20px}.insights-confirm-actions{flex-direction:column-reverse}.insights-confirm-actions .btn{width:100%}
}
@media print{.reports-page .insights-controls,.reports-page .report-risk-grid,.reports-page .insights-risk-list,.reports-page .insights-header button,.reports-page .insights-seg,.reports-page .insights-footnote{display:none!important}.reports-page .report-schedule{display:block!important;max-width:none!important;width:100%}.reports-page .report-analysis{display:none!important}.reports-page .insights-header{padding:0!important}.reports-page .report-schedule{border:0}}

.insights-eyebrow,.variants-name,.variant-badge,.variant-price-label,.variant-numbers span,.variant-delta,.variant-change-row>div span,.variant-compare-row.compare-head { font-size:12px; }
.variants-context,.variants-save p,.variant-card-top p,.insights-footnote,.insights-subtitle { font-size:12px;line-height:1.55; }
.reports-page .data-note,.reports-page .report-person { font-size:12px; }
.insights-tabs button,.insights-filter,.insights-seg button { font-size:13px; }
.variant-compare-row { font-size:13px; }
.variant-card-top { flex-wrap:wrap; }
.variant-card-top>div { min-width:0; }
.variant-badge { white-space:normal; }
@media(max-width:1100px) {
 .reports-page .report-risk-grid { grid-template-columns:repeat(4,minmax(0,1fr))!important; }
 .reports-page .report-risk-grid .card { padding:12px; }
 .reports-page .report-risk-grid .card>div:first-child { font-size:11px!important;line-height:1.45; }
 .reports-page .report-risk-grid .card>div:last-child { font-size:12px!important; }
}
@media(max-width:700px) {
 .reports-page .report-risk-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important; }
 .reports-page .report-risk-grid .card { padding:10px 12px; }
 .reports-page .report-risk-grid .card>div:first-child { min-height:32px; }
 .reports-page .report-risk-grid .card>div:nth-child(2) { font-size:26px!important; }
 .reports-page .report-risk-grid .card>div:last-child { display:none; }
 .insights-tabs { width:100%;display:flex;flex-wrap:nowrap;overflow-x:auto; }
 .insights-tabs button { flex:none;font-size:12px; }
 .variants-save>div { min-width:0; }
 .variants-name { min-width:0;width:100%; }
 .variant-numbers span,.variant-card-top p,.variant-compare-row.compare-head,.insights-subtitle { font-size:12px; }
 .variant-compare-row { font-size:12px; }
}

@media(max-width:700px) {
 .reports-page .insights-header { display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:10px!important;align-items:center; }
 .reports-page .insights-header>div:first-child { grid-column:1;grid-row:1;min-width:0; }
 .reports-page .insights-header>div:nth-child(2) { display:none; }
 .reports-page .insights-header>.insights-back { grid-column:2;grid-row:1; }
 .reports-page .insights-header>.insights-seg { grid-column:1/-1;display:flex; }
 .reports-page .insights-seg button { flex:1; }
 .reports-page .insights-tabs { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible; }
 .reports-page .report-analysis { overflow:visible!important; }
 .reports-page .report-analysis>div,.reports-page .report-analysis>p { min-width:0!important; }
 .reports-page .role-summary-head { display:none!important; }
 .reports-page .role-summary-row,.reports-page .role-summary-total { display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px 6px!important;margin:8px 0;padding:12px!important;border:1px solid #e1e8ec;border-radius:8px;background:#f8fafb; }
 .role-summary-row>.report-expand,.role-summary-total>span:first-child { grid-column:1/-1;text-align:left; }
 .role-summary-row>span { text-align:left!important;font-size:13px; }
 .role-summary-row>span[data-label]::before { content:attr(data-label);display:block;font-size:10px;color:#5b707b;margin-bottom:4px;font-weight:500; }
 .reports-page .report-person { grid-template-columns:1fr 1fr; }
 .reports-page .report-person>span:first-child { grid-column:1/-1; }
 .reports-page .report-person>span:not(:first-child) { text-align:left; }
 .reports-page .overtime-person-row { display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:8px!important; }
 .overtime-person-row>span { width:auto!important;min-width:0; }
 .overtime-person-row>span:first-child { grid-column:1;grid-row:1; }
 .overtime-person-row>span:nth-child(2) { grid-column:1;grid-row:2; }
 .overtime-person-row>span:nth-child(3) { grid-column:2;grid-row:2; }
 .overtime-person-row>span:nth-child(4) { grid-column:2;grid-row:1; }
 .reports-page .data-note { min-width:0!important;white-space:normal;overflow-wrap:anywhere; }
}
