/* Workbook-shaped cost review. Calculation and saved data are unchanged. */
@media print{
 @page{size:A4 portrait;margin:8mm}
 /* Avoid a viewport-height flex shell creating a second, blank page. */
 .shell{display:block;min-height:0}
 .main{margin:0;width:100%}
 #comparison-panel{overflow:visible;break-inside:auto}
}
/* The table grows with its content; only the page scrolls vertically. */
#table-scroll{max-height:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior:auto;scroll-padding-top:0}
.insurance-period{margin:16px 0 0;padding:12px;border:1px solid #d3dfcb;border-radius:6px;display:flex;gap:18px;flex-wrap:wrap;font-size:calc(12px * var(--ui-font-scale, 1))}
.insurance-period legend{padding:0 5px;color:#62795a;font-size:calc(11px * var(--ui-font-scale, 1))}
.insurance-period label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.insurance-period input{accent-color:var(--green);width:16px;height:16px;margin:0}
.retirement-amount-label{display:flex;flex-direction:column;gap:7px;font-size:calc(11px * var(--ui-font-scale, 1));color:#62795a;margin-top:20px}
.retirement-amount-label input{padding:10px;border:1px solid #d3dfcb;border-radius:5px;font-size:calc(13px * var(--ui-font-scale, 1));text-align:right;color:#354f38;background:white;width:100%}
.content{max-width:1720px;padding:25px 27px}.heading h1{font-size:calc(25px * var(--ui-font-scale, 1));margin-bottom:7px}.heading p{font-size:calc(12px * var(--ui-font-scale, 1))}.eyebrow{margin-bottom:8px}.project-strip{margin:20px 0 16px}.overview{gap:12px;margin-bottom:18px}.overview .summary{padding:14px 16px 12px;border-radius:7px}.overview .summary-money{font-size:clamp(calc(19px * var(--ui-font-scale, 1)),calc(1.75vw * var(--ui-font-scale, 1)),calc(28px * var(--ui-font-scale, 1)));margin:11px 0 7px}.summary-label{font-size:calc(11px * var(--ui-font-scale, 1))}.summary-foot{font-size:calc(10px * var(--ui-font-scale, 1))}.summary-foot .delta{font-size:calc(9px * var(--ui-font-scale, 1))}.panel{border-radius:7px}.panel-head{padding:15px 18px}.panel-title{font-size:calc(14px * var(--ui-font-scale, 1))}.sheet-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;background:#f4f6f3;border-top:1px solid #dce2d8;font-size:calc(10px * var(--ui-font-scale, 1));color:#75846f;line-height:1.8}.sheet-legend{display:flex;align-items:center;gap:17px;flex-wrap:wrap}.sheet-legend>span{display:inline-flex;align-items:center;gap:6px}.sheet-legend i{width:12px;height:12px;border:1px solid #cfdbca;border-radius:1px}.legend-input{background:#fff3bd}.legend-formula{background:#fff}.sheet-rate-rule{color:#8b9687}.sheet-shortcuts{color:#84927b;font-size:calc(10px * var(--ui-font-scale, 1));text-align:right}.sheet-formula-bar{display:flex;align-items:center;gap:12px;background:#fff;padding:7px 14px;border-top:1px solid #dce2d8;font-size:calc(11px * var(--ui-font-scale, 1));min-height:35px}.sheet-formula-bar strong{color:#3b714b;font-variant-numeric:tabular-nums;font-weight:650;min-width:58px;border-right:1px solid #dce2d8;padding-right:12px}.sheet-formula-bar>span{color:#6d7f69}.sheet-formula-bar .sheet-format-hint{margin-left:auto;color:#9aa491;font-size:calc(10px * var(--ui-font-scale, 1));white-space:nowrap}.table-scroll{position:relative;max-height:72vh;overscroll-behavior:contain;scrollbar-color:#b7c7b2 #f4f6f2;scrollbar-width:thin;scroll-padding-top:58px;scroll-padding-left:350px}#comparison-panel{overflow:hidden}#cost-sheet{border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:1065px;font-size:calc(12px * var(--ui-font-scale, 1));border-left:1px solid #bfcdb8;border-top:1px solid #bfcdb8}#cost-sheet .sheet-number-col{width:32px}#cost-sheet .sheet-major-col{width:34px}#cost-sheet .sheet-category-col{width:48px}#cost-sheet .sheet-item-col{width:221px}#cost-sheet .sheet-money-col{width:auto}#cost-sheet th,#cost-sheet td{border:0;border-right:1px solid #cbd5c4;border-bottom:1px solid #d3ddcd;line-height:1.45;vertical-align:middle}#cost-sheet thead th{position:sticky;top:0;z-index:6;background:#e8eee3;color:#435f3c;font-size:calc(11px * var(--ui-font-scale, 1));font-weight:650;text-align:center;padding:10px 5px;height:53px;box-shadow:0 1px 0 #9eb294;width:auto}#cost-sheet thead .settlement-heading{background:#dcebdc;color:#346342}#cost-sheet thead th:last-child{background:#f0eee5;color:#827348}#cost-sheet thead .sheet-corner{left:0;z-index:10;background:#e7ece3;font-size:calc(10px * var(--ui-font-scale, 1));color:#91a188}#cost-sheet .sheet-stub-heading{left:32px;z-index:9;text-align:center}#cost-sheet tbody th{position:sticky;text-align:left;font-size:calc(11px * var(--ui-font-scale, 1));font-weight:500;color:#455b3f;background:#f7f9f4;padding:6px 9px}#cost-sheet .sheet-row-number{left:0;z-index:4;text-align:center;color:#98a38f;background:#f0f3ed;font-size:calc(9px * var(--ui-font-scale, 1));padding:4px 0;font-weight:400}#cost-sheet .sheet-major{left:32px;z-index:3;text-align:center;writing-mode:vertical-rl;text-orientation:upright;letter-spacing:4px;background:#e9efe1;color:#5c744e;font-weight:650;padding:12px 7px}#cost-sheet .sheet-category{left:66px;z-index:3;text-align:center;writing-mode:vertical-rl;text-orientation:upright;letter-spacing:4px;background:#f2f5ec;color:#668057;font-size:calc(11px * var(--ui-font-scale, 1));padding:10px 12px}#cost-sheet .sheet-item{left:114px;z-index:2;background:#fafcf7;box-shadow:1px 0 0 #bbcbb2}#cost-sheet .sheet-wide-item{left:32px;z-index:2;box-shadow:1px 0 0 #bbcbb2}#cost-sheet td{background:#fff;text-align:right;padding:3px 10px;height:32px;color:#42543e;font-size:calc(12px * var(--ui-font-scale, 1));font-variant-numeric:tabular-nums}#cost-sheet td.settlement-cell{background:#f5faf2}#cost-sheet td[data-adjustment]{background:#fcfbf5;color:#8b7d56;font-size:calc(11px * var(--ui-font-scale, 1))}#cost-sheet .cell-editor{display:block;min-width:0;max-width:none;width:100%;background:transparent;border:0;border-radius:0;margin:0;box-shadow:none}#cost-sheet td.sheet-editable{padding:0;background:#fff6ce}#cost-sheet .cell-editor input{width:100%;border:0;background:transparent;padding:7px 10px;height:31px;min-width:0;font-size:calc(12px * var(--ui-font-scale, 1));color:#4d5938;border-radius:0;line-height:1.3;outline:none}#cost-sheet .cell-editor input::placeholder{color:#baa975;font-size:calc(10px * var(--ui-font-scale, 1))}#cost-sheet .cell-editor span{display:none}#cost-sheet td.sheet-editable:focus-within{box-shadow:inset 0 0 0 2px #26744a;position:relative;z-index:1;background:#fff1b2}#cost-sheet .calculated-number{min-height:0}#cost-sheet .rate-hint{display:inline-block;margin:0 0 0 6px;color:#819675;font-size:calc(9px * var(--ui-font-scale, 1));font-weight:400;line-height:1.3;white-space:nowrap}#cost-sheet tr.subtotal td,#cost-sheet tr.subtotal .sheet-item,#cost-sheet tr.subtotal .sheet-wide-item{background:#edf3e6;color:#4a6640;font-weight:650}#cost-sheet tr.total td,#cost-sheet tr.total .sheet-wide-item{background:#dae9ce;color:#2f6338;font-size:calc(13px * var(--ui-font-scale, 1));font-weight:750;border-top:2px solid #91ad7a;border-bottom:2px solid #91ad7a;height:39px}#cost-sheet tr.supplied-row .sheet-wide-item{background:#f3f6ee}#cost-sheet tr.supplied-row .rate-hint{display:inline;margin-left:9px;font-size:calc(9px * var(--ui-font-scale, 1))}#cost-sheet tr.is-active-row .sheet-item,#cost-sheet tr.is-active-row .sheet-wide-item,#cost-sheet tr.is-active-row .sheet-row-number{background:#e2ecd7;color:#356139}#cost-sheet td.is-active-column:not(.sheet-editable){background:#f0f6e9}#cost-sheet thead th.is-active-column{background:#d8e6cb;color:#2f633b}.table-bottom{padding:10px 16px;background:#fafbf8}.comparison-note{font-size:calc(10px * var(--ui-font-scale, 1));line-height:1.8;padding:11px 15px}.footer{margin-top:16px}
.table-scroll.without-change #cost-sheet{min-width:915px}
@media print{.eyebrow{display:none}.heading h1{font-size:calc(17px * var(--ui-font-scale, 1));margin-bottom:4px}.heading p{font-size:calc(9px * var(--ui-font-scale, 1));line-height:1.4}.print-head{margin:6px 0;font-size:calc(11px * var(--ui-font-scale, 1))}.overview{margin:6px 0}.overview .summary{padding:6px}.overview .summary-money{font-size:calc(16px * var(--ui-font-scale, 1));margin:5px 0}.overview .summary-label{font-size:calc(9px * var(--ui-font-scale, 1))}.overview .summary-foot{font-size:calc(7px * var(--ui-font-scale, 1));min-height:11px}.summary-foot .delta{font-size:calc(7px * var(--ui-font-scale, 1))}.panel-head{padding:6px 10px}.panel-title{font-size:calc(12px * var(--ui-font-scale, 1))}.step{width:18px;height:18px}.table-bottom{padding:7px 10px;font-size:calc(8px * var(--ui-font-scale, 1))}#comparison-panel{overflow:visible}}
@media(min-width:1600px){.content{padding-top:29px}.overview .summary{padding:17px 19px 14px}.overview .summary-money{font-size:calc(29px * var(--ui-font-scale, 1))}}
@media(max-width:1279px){.overview,.overview.without-change{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.content{padding:21px 14px}.heading h1{font-size:calc(24px * var(--ui-font-scale, 1))}.heading-buttons{margin-top:14px}.overview,.overview.without-change{grid-template-columns:1fr}.overview .summary-money{font-size:calc(24px * var(--ui-font-scale, 1));margin:0;text-align:right}.overview .summary{padding:13px 15px}.sheet-tools{padding:9px 12px;display:block}.sheet-shortcuts{display:none}.sheet-legend{gap:10px;font-size:calc(9px * var(--ui-font-scale, 1))}.sheet-rate-rule{width:100%}.sheet-formula-bar{padding:8px 10px;font-size:calc(10px * var(--ui-font-scale, 1))}.sheet-formula-bar .sheet-format-hint{display:none}.sheet-formula-bar strong{min-width:47px}.table-scroll{max-height:75vh;scroll-padding-left:34px}.table-scroll.without-change table{min-width:915px}#cost-sheet{min-width:1065px}#cost-sheet .sheet-item,#cost-sheet .sheet-wide-item,#cost-sheet .sheet-category,#cost-sheet .sheet-major,#cost-sheet .sheet-stub-heading{position:static}#cost-sheet .sheet-row-number{position:sticky;left:0}#cost-sheet thead .sheet-stub-heading{position:sticky;top:0;left:auto}.table-bottom{padding:10px 12px}.panel-head{padding:13px}.panel-sub{display:none}}
@media print{.content{max-width:none;padding:0}.heading h1{font-size:calc(19px * var(--ui-font-scale, 1))}.heading p{font-size:calc(9px * var(--ui-font-scale, 1))}.sheet-tools,.sheet-formula-bar{display:none!important}.overview{display:flex;margin:10px 0}.overview .summary{padding:8px}.overview .summary-money{font-size:calc(18px * var(--ui-font-scale, 1));margin:8px 0 5px}.overview .summary-label{font-size:calc(10px * var(--ui-font-scale, 1))}.overview .summary-foot{font-size:calc(8px * var(--ui-font-scale, 1))}.table-scroll{max-height:none;overflow:visible;scroll-padding:0}#cost-sheet,.table-scroll.without-change #cost-sheet{min-width:0;font-size:calc(9px * var(--ui-font-scale, 1));width:100%}#cost-sheet .sheet-number-col{width:22px}#cost-sheet .sheet-major-col{width:24px}#cost-sheet .sheet-category-col{width:30px}#cost-sheet .sheet-item-col{width:170px}#cost-sheet th,#cost-sheet td{position:static!important;box-shadow:none!important;padding:3px 5px;font-size:calc(9px * var(--ui-font-scale, 1));height:auto;line-height:1.2}#cost-sheet thead th{height:auto;font-size:calc(9px * var(--ui-font-scale, 1));padding:6px 5px}#cost-sheet .sheet-major,#cost-sheet .sheet-category{letter-spacing:2px;padding:3px;font-size:calc(9px * var(--ui-font-scale, 1))}#cost-sheet .rate-hint{font-size:calc(7px * var(--ui-font-scale, 1));margin-top:2px}#cost-sheet tr.total td,#cost-sheet tr.total .sheet-wide-item{height:auto;font-size:calc(10px * var(--ui-font-scale, 1))}#cost-sheet .sheet-row-number{font-size:calc(7px * var(--ui-font-scale, 1))}#cost-sheet tr.supplied-row .rate-hint{display:block;margin:2px 0 0;font-size:calc(7px * var(--ui-font-scale, 1))}#cost-sheet .cell-editor{display:none!important}#cost-sheet .cell-print{display:inline}#cost-sheet td.sheet-editable{padding:3px 5px}#cost-sheet td,#cost-sheet th{-webkit-print-color-adjust:exact;print-color-adjust:exact}#cost-sheet .is-active-row .sheet-item,#cost-sheet .is-active-row .sheet-wide-item,#cost-sheet .is-active-row .sheet-row-number,#cost-sheet td.is-active-column:not(.sheet-editable){background:revert!important}}
/* Compact, full-content A4 portrait printout, independent of screen width. */
@media print{
 @page{size:A4 portrait;margin:8mm}
 .heading{display:block}.heading h1{font-size:calc(17px * var(--ui-font-scale, 1))}.heading p{font-size:calc(9px * var(--ui-font-scale, 1))}
 .print-head{margin:5px 0;font-size:calc(10px * var(--ui-font-scale, 1));overflow-wrap:anywhere}
 .overview,.overview.without-change{display:flex;gap:6px;margin:6px 0;break-inside:avoid}
 .overview .summary{display:block;flex:1;min-width:0;padding:6px}
 .overview .summary-money{font-size:calc(13px * var(--ui-font-scale, 1));letter-spacing:-.5px;margin:5px 0;text-align:left}
 .overview .summary-money small{font-size:calc(8px * var(--ui-font-scale, 1));margin-left:2px}
 .overview .summary-label{font-size:calc(8px * var(--ui-font-scale, 1))}.overview .summary-label svg{display:none}
 .overview .summary-foot{font-size:calc(7px * var(--ui-font-scale, 1));min-height:10px;flex-wrap:wrap;gap:3px}
 .panel-head{padding:6px 8px}.panel-title{font-size:calc(11px * var(--ui-font-scale, 1))}
 #table-scroll{max-height:none;overflow:visible;scroll-padding:0}
 #cost-sheet .sheet-number-col{width:18px}#cost-sheet .sheet-major-col{width:20px}
 #cost-sheet .sheet-category-col{width:24px}#cost-sheet .sheet-item-col{width:164px}
 #cost-sheet tbody th{padding:4px 3px;font-size:calc(9px * var(--ui-font-scale, 1));height:auto;line-height:1.15}
 #cost-sheet td,#cost-sheet td.sheet-editable{padding:4px 3px;font-size:calc(10px * var(--ui-font-scale, 1));height:auto;line-height:1.15;white-space:nowrap}
 #cost-sheet .sheet-row-number{padding:4px 0;font-size:calc(7px * var(--ui-font-scale, 1))}
 #cost-sheet thead th{padding:5px 3px;font-size:calc(8px * var(--ui-font-scale, 1))}
 #cost-sheet .column-sub{font-size:calc(7px * var(--ui-font-scale, 1));margin-top:2px}
 #cost-sheet .rate-hint{font-size:calc(7.5px * var(--ui-font-scale, 1));line-height:1.15;white-space:normal}
 #cost-sheet .sheet-major,#cost-sheet .sheet-category{padding:4px 2px;letter-spacing:2px}
 #cost-sheet tr.total td,#cost-sheet tr.total .sheet-wide-item{font-size:calc(11px * var(--ui-font-scale, 1));height:auto;padding:5px 3px}
 #cost-sheet tr td.sheet-long-money{font-size:calc(9px * var(--ui-font-scale, 1))}
 #cost-sheet tr td.sheet-longest-money{font-size:calc(8px * var(--ui-font-scale, 1))}
 .table-bottom{padding:6px 8px;display:flex;flex-direction:row;align-items:center;font-size:calc(7px * var(--ui-font-scale, 1))}
}
