#technical-menu,#tools-menu{width:310px;max-height:min(650px,75vh);overflow-y:auto}.calculator-page{background:#f3f6f8}.calc-workspace{padding-top:40px;padding-bottom:55px}.calc-workspace h1{font-size:clamp(1.7rem,3vw,2.6rem);letter-spacing:-.025em;margin:18px 0}.calc-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.calc-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr);gap:24px;align-items:start}.calc-panel{background:#fff;border:1px solid #dbe3e9;padding:28px;min-width:0}.calc-panel h2,.calc-note h2{font-size:1.25rem;margin:0 0 20px}.calc-form-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.calc-reset{font:inherit;font-size:.875rem;background:none;border:none;color:#405e75;text-decoration:underline;cursor:pointer}.calc-fields{display:grid;grid-template-columns:1fr;gap:16px}.calc-field{display:block;font-size:1rem;color:#18354d;font-weight:600;margin-bottom:16px}.calc-field>span{display:block;margin-bottom:8px;line-height:1.45}.calc-input-wrap{display:flex;position:relative}.calc-field input,.calc-field select{border:1px solid #b9c9d5;border-radius:3px;background:#fff;color:#102a43;font:inherit;font-weight:400;width:100%;min-width:0;min-height:48px;padding:10px 15px}.calc-input-wrap input{padding-right:74px}.calc-unit{position:absolute;right:12px;top:13px;color:#5e7485;font-size:.9rem;pointer-events:none}.calc-field input:focus,.calc-field select:focus{outline:3px solid #d4b878;outline-offset:2px}.calc-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.calc-metric{padding:20px;background:#102a43;color:white;border-top:3px solid #b79653;overflow-wrap:anywhere}.calc-metric small{display:block;font-size:.9rem;color:#d9e4ec;margin-bottom:10px}.calc-metric strong{font-size:clamp(1.3rem,2vw,1.9rem);font-weight:600;line-height:1.3}.calc-table-wrap{overflow-x:auto;margin-top:24px}.calc-table-wrap table{width:100%;border-collapse:collapse;font-size:.95rem}.calc-table-wrap th,.calc-table-wrap td{padding:12px 8px;border-bottom:1px solid #dbe3e9;text-align:left}.calc-table-wrap thead th{color:#102a43;background:#eef3f6;font-weight:700}.calc-table-wrap tbody th{font-weight:500}.calc-method{margin-top:24px;font-size:1rem}.calc-method summary{cursor:pointer;font-weight:700;color:#163e5d;padding:12px 0}.calc-method p{line-height:1.65;overflow-wrap:anywhere;margin:14px 0}.calc-note{margin:24px 0;background:#e7eef3;border-left:4px solid #b79653;padding:24px;color:#27485f;font-size:1rem;line-height:1.7}.calc-note h2{margin-bottom:8px}.calc-note p{margin:0}.calc-related{display:flex;gap:12px;flex-wrap:wrap}.calc-related a{border:1px solid #becbd4;padding:9px 14px;color:#18354d;background:white;font-size:.9rem}.calc-related a:hover{background:#102a43;color:white}.calc-actions button[disabled]{opacity:.55;cursor:not-allowed}.calc-example{background:#f7f2e8;padding:12px;font-size:.95rem;line-height:1.55}.calculator-page #calculator-error{color:#8a1821;background:#ffedf0;padding:15px}.calculator-page #pdf-status{font-size:.9rem;color:#355c76;min-height:1.2rem;margin:0 0 15px}.calc-gantt{margin-top:24px}.gantt-axis{display:flex;justify-content:space-between;color:#516d81;font-size:.875rem;border-bottom:1px solid #d8e1e8;padding-bottom:10px}.gantt-row{display:grid;grid-template-columns:minmax(130px,40%) minmax(0,1fr);gap:12px;align-items:center;font-size:.875rem;margin:12px 0}.gantt-track{height:23px;background:repeating-linear-gradient(90deg,#e8eef2 0%,#e8eef2 9.8%,#fff 9.8%,#fff 10%)}.gantt-track i{display:block;min-height:23px;background:#247a8a}.gantt-track i.reserve{background:#b79653}.calc-results svg{display:block;max-width:100%;margin-top:20px;fill:#102a43;font:18px Arial}.calc-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}.calc-directory-card{background:#fff;padding:26px;border:1px solid #d6e0e7;color:#102a43;transition:transform .2s}.calc-directory-card:hover{transform:translateY(-3px);border-color:#b79653}.calc-directory-card>span{color:#967a44;font-size:1.5rem}.calc-directory-card h2{font-size:1.35rem;margin:18px 0 10px}.calc-directory-card p{font-size:1rem;line-height:1.6}.calc-panel :focus-visible,.calc-related a:focus-visible{outline:3px solid #c7a363;outline-offset:3px}@media(max-width:1040px){#technical-menu,#tools-menu{width:100%;max-height:60vh;overflow:auto}}@media(max-width:850px){.calc-layout{grid-template-columns:1fr}.calc-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.calc-panel{padding:18px}.calc-metrics,.calc-directory{grid-template-columns:1fr}.calc-title-row{gap:0}.calc-actions{margin-bottom:12px}.gantt-row{grid-template-columns:minmax(110px,42%) minmax(0,1fr);font-size:.875rem}.calc-note{padding:18px}.calc-workspace{padding-top:20px}}@media print{.site-header,.calc-actions,.calc-related,.contact{display:none}.calc-layout{display:block}.calc-panel{break-inside:avoid}.calc-metric{color:#102a43;background:#eef3f6}.calc-metric small{color:#102a43}}

@media print{.calc-gantt{break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}.calc-gantt h3{font-size:1.2rem}.gantt-row{break-inside:avoid}.gantt-track i{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

.calc-budget-intro{margin:0 0 24px;color:#27485f;font-size:1rem;line-height:1.65}.calc-budget-intro p{margin:6px 0}.calc-budget-intro a{color:#18354d;text-decoration:underline;text-underline-offset:3px;font-weight:600}

/* Compact touch-friendly calculators, with two-column numeric inputs. */
@media screen and (max-width:700px) {
  .calc-workspace { padding-top:16px; padding-bottom:32px; }
  .calc-layout { gap:16px; }
  .calc-panel { padding:16px; }
  .calc-workspace h1 { font-size:1.7rem; line-height:1.2; margin:12px 0; }
  .calc-panel h2,.calc-note h2 { font-size:1.2rem; margin-bottom:14px; }
  .calc-form-heading { align-items:center; gap:8px; }
  .calc-reset { font-size:.875rem; line-height:1.3; min-height:44px; text-align:right; }
  .calc-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 12px; align-items:end; }
  .calc-field { font-size:.875rem; line-height:1.35; margin-bottom:0; min-width:0; }
  .calc-field>span { margin-bottom:6px; line-height:1.35; }
  .calc-panel>.calc-field { margin-bottom:14px; }
  .calc-field input,.calc-field select { min-height:44px; padding:9px 10px; font-size:1rem; }
  .calc-input-wrap input { padding-right:52px; }
  .calc-unit { right:8px; top:11px; font-size:.875rem; }
  .calc-fields .calc-rates-heading,.calc-fields .calc-field:has(select),.calc-fields .calc-field:has(input[type=date]) { grid-column:1 / -1; }
  .calc-fields .calc-rates-heading { margin:10px 0 0; }
  .calc-example { padding:10px; font-size:1rem; line-height:1.45; margin:0 0 16px; }
  .calc-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .calc-metric { padding:12px; }
  .calc-metric small { font-size:.875rem; line-height:1.35; margin-bottom:6px; }
  .calc-metric strong { font-size:1.25rem; }
  .calc-table-wrap { margin-top:16px; }
  .calc-table-wrap table { font-size:.875rem; }
  .calc-table-wrap th,.calc-table-wrap td { padding:9px 6px; }
  .calc-note { padding:16px; margin:18px 0; line-height:1.5; }
  .calc-budget-intro { margin-bottom:16px; line-height:1.5; }
  .calc-directory { gap:12px; }
  .calc-directory-card { padding:18px; }
  .calc-directory-card h2 { font-size:1.2rem; margin:12px 0 8px; }
}
@media screen and (max-width:359px) { .calc-fields,.calc-metrics { grid-template-columns:1fr; } }
@media screen and (max-width:700px) {
  .calculator-page { padding-top:76px; }
  .calc-input-wrap { align-items:center; border:1px solid #b9c9d5; border-radius:3px; }
  .calc-input-wrap input { width:0; flex:1; border:0; padding-right:8px; }
  .calc-unit { position:static; flex:0 1 auto; max-width:45%; padding:0 8px 0 0; overflow-wrap:anywhere; line-height:1.2; }
}
