:root{--navy:#112d44;--ink:#153047;--muted:#596d7c;--teal:#006f68;--mint:#b7f0d4;--line:#d8e2e7;--bg:#f0f4f7;--white:#fff;--negative:#ab3f2d;--negative-bg:#fff0eb;--positive-bg:#e9f8f1;--radius:16px;color-scheme:light;font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.5;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--teal);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #0879c2;outline-offset:4px}input:focus,select:focus{outline:2px solid #0879c2;outline-offset:1px}button:disabled{cursor:not-allowed;opacity:.5}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3,.brand,.cashflow-value,.metrics strong,.balance-number strong{font-family:Manrope,'DM Sans',Arial,sans-serif}h1{font-size:2.35rem;letter-spacing:-.05em;font-weight:800;line-height:1.2}h2{font-size:1.125rem;letter-spacing:-.02em;line-height:1.4}h3{font-size:1rem}strong{font-weight:700}small,.hint{font-size:.8125rem;color:var(--muted)}.topbar{background:var(--navy);color:var(--white)}.topbar-inner{max-width:1360px;margin:auto;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font-size:1.0625rem;font-weight:700}.brand-mark{display:flex;align-items:center;justify-content:center;background:var(--mint);color:var(--navy);font-size:1.4rem;letter-spacing:-.07em;width:38px;height:38px;border-radius:11px}.topbar-note{font-size:.875rem;color:#d0e1eb}main{max-width:1360px;padding:34px 32px 24px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.12em;color:var(--teal);margin-bottom:8px}.intro{color:var(--muted);margin-top:8px}.button{padding:11px 16px;border-radius:9px;font-weight:600;border:1px solid var(--line);font-size:.875rem;min-height:44px;background:var(--white);color:var(--ink);white-space:normal}.button:hover{background:#e6edf2}.property{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border:1px solid var(--line);border-radius:12px;background:var(--white);margin-bottom:24px;border-left:4px solid var(--teal)}.property p{font-size:.875rem;color:var(--muted);margin-top:4px}.property-facts{display:flex;align-items:center;gap:24px}.property-facts>div{display:grid;white-space:nowrap}.property-facts strong{font-size:1.125rem}.property-facts a{font-size:.875rem;white-space:nowrap}.dpe{font-size:.75rem;font-weight:700;background:#ffefb8;color:#735306;padding:5px 9px;border-radius:5px;white-space:nowrap}.workspace{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);align-items:start;gap:28px}.input-intro{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:.8125rem;padding:0 2px 18px}.tag{display:inline-block;padding:2px 7px;line-height:1.5;border-radius:4px;font-size:.75rem;font-weight:600}.source{color:#145878;background:#e1eff7;white-space:nowrap}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:20px}.section-heading{display:flex;align-items:center;gap:11px;margin-bottom:22px}.section-number{font-size:.75rem;font-weight:700;color:var(--teal);border:1px solid #cee8e1;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:7px;flex:none}.unit-chip{margin-left:auto;font-size:.75rem;color:var(--muted);white-space:nowrap}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.single{grid-template-columns:1fr}.field{min-width:0}.field-label{font-size:.875rem;font-weight:500;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:7px}.input-wrap{display:flex;position:relative;align-items:center}input,select{border:1px solid #c6d3dc;color:var(--ink);border-radius:8px;background:#fff;min-height:46px;width:100%;max-width:100%;font-size:1rem}input{padding:9px 48px 9px 12px;font-weight:600;font-variant-numeric:tabular-nums;appearance:textfield}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[aria-invalid=true]{border-color:var(--negative);background:#fff6f3}select{padding:10px 32px 10px 12px}select option{font-size:.875rem}.suffix{position:absolute;right:12px;color:var(--muted);font-size:.8125rem;pointer-events:none}.field .hint{display:block;margin-top:5px}.derived-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0 0;margin-top:20px;border-top:1px solid var(--line);font-size:.875rem}.derived-row strong{font-size:1rem;white-space:nowrap;font-variant-numeric:tabular-nums}.subsection{margin-top:22px}.subsection .hint{margin:8px 0 18px}.panel>.hint{margin-top:12px}.emphasis{padding-left:10px;border-left:2px solid #d5a530}.result-stick{position:sticky;top:24px}.results-column{height:100%}.cashflow-card{background:var(--navy);color:var(--white);padding:26px 28px;border-radius:var(--radius);position:relative;overflow:hidden}.cashflow-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.cashflow-top h2{font-family:'DM Sans',Arial,sans-serif;font-size:1rem;font-weight:500}.cashflow-top>span{border:1px solid #496477;border-radius:20px;padding:4px 9px;font-size:.75rem;white-space:nowrap;color:#e1eaf1}.cashflow-value{display:flex;align-items:baseline;gap:10px;margin:20px 0 5px;flex-wrap:wrap}.cashflow-value strong{font-size:clamp(2.25rem,4.7vw,4rem);font-weight:800;line-height:1.15;letter-spacing:-.055em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.cashflow-value span{font-size:.875rem;color:#d0e1eb}.cashflow-card.negative .cashflow-value strong{color:#ffc7b4}.cashflow-card.positive .cashflow-value strong{color:var(--mint)}#cashflow-comment{font-size:.875rem;color:#d8e5ed;min-height:1.5em}.cashflow-bottom{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:20px;margin-top:24px;border-top:1px solid #456073}.cashflow-bottom>div{display:grid;gap:5px}.cashflow-bottom span{color:#cbdde8;font-size:.8125rem}.cashflow-bottom strong{font-variant-numeric:tabular-nums;font-size:1.125rem}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.metrics>div{padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:12px;display:grid;gap:4px}.metrics span{font-size:.8125rem;color:var(--muted)}.metrics strong{font-size:1.5rem;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.metrics small{font-size:.75rem}.flow-chart{display:grid;gap:14px;margin-bottom:24px}.bar-label{display:flex;justify-content:space-between;gap:12px;font-size:.8125rem;margin-bottom:5px}.bar-label strong{font-variant-numeric:tabular-nums;font-weight:500}.bar-track{height:8px;background:#edf2f5;border-radius:3px;overflow:hidden}.bar{height:100%;background:var(--teal);border-radius:3px;transition:width .25s}.bar.outflow{background:#59768e}.table-wrap{max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.8125rem;font-variant-numeric:tabular-nums}th,td{padding:9px 0;border-bottom:1px solid #e7edf1;text-align:right;vertical-align:top}th:first-child,td:first-child{text-align:left;padding-right:14px}th{font-weight:500;color:var(--muted);font-size:.75rem}td:not(:first-child),th:not(:first-child){padding-left:12px;white-space:nowrap}td:first-child{color:var(--muted)}tfoot td{font-weight:700;color:var(--ink)!important;border-bottom:0;padding-top:13px}td .detail{font-size:.75rem;color:var(--muted)}.balance-panel{border-left:4px solid var(--teal)}.balance-number{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin-top:12px}.balance-number strong{font-size:1.75rem;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.balance-number span{color:var(--muted);font-size:.8125rem}.capital-detail{display:flex;justify-content:space-between;gap:15px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:.8125rem}.capital-detail strong{white-space:nowrap;font-variant-numeric:tabular-nums}.comparison{margin-top:8px;padding:26px 28px}.comparison-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px}.comparison-heading>p{font-size:.8125rem;color:var(--muted);text-align:right}.scenario-table{font-size:1rem}.scenario-table th{font-size:.875rem;padding:12px}.scenario-table td{padding:12px}.scenario-table td:first-child{color:var(--ink);font-weight:600}.scenario-table td:first-child small{font-weight:400;font-size:.75rem;display:block}.scenario-button{min-width:115px;min-height:44px;padding:9px 14px;border-radius:7px;font-size:1rem;font-weight:600;border:1px solid transparent;font-variant-numeric:tabular-nums;background:var(--positive-bg);color:var(--teal)}.scenario-button.negative{background:var(--negative-bg);color:var(--negative)}.scenario-button:hover{border-color:currentColor}.scenario-button[aria-pressed=true]{border:2px solid var(--navy);box-shadow:0 0 0 2px #fff inset}.comparison>.hint{margin-top:16px}.method{padding:12px 0 24px}.method summary{cursor:pointer;font-size:.875rem;font-weight:600;padding:10px 0}.method-content{max-width:900px;font-size:.875rem;color:var(--muted);padding:14px 0;line-height:1.7}.method-content h3{margin-top:18px;color:var(--ink)}.method-content h3:first-child{margin-top:0}.method-content p{margin-top:6px}.method-content li{margin:5px 0}footer{border-top:1px solid var(--line);padding:18px 0;font-size:.75rem;color:var(--muted)}.validation{background:var(--negative-bg);border:1px solid #edb9a6;border-radius:10px;padding:14px;margin-bottom:16px;font-size:.875rem;color:#892f1e}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.cashflow-value strong{font-size:4rem}}
@media(max-width:1000px){.property{align-items:flex-start}.property-facts{gap:14px;flex-wrap:wrap;justify-content:flex-end}.workspace{gap:20px}.panel{padding:20px}.fields{gap:16px 14px}.cashflow-card{padding:23px}.cashflow-value strong{font-size:3rem}.metrics>div{padding:15px}.topbar-inner,main{padding-left:24px;padding-right:24px}}
@media(max-width:800px){.workspace{display:flex;flex-direction:column}.input-column{width:100%;order:0}.results-column,.result-stick{display:contents}.cashflow-card{order:-3;width:100%}.metrics{order:-2;width:100%}.validation{order:-4;width:100%}.breakdown{order:1;width:100%}.balance-panel{order:2;width:100%}.results-column .breakdown,.results-column .balance-panel{display:block}.page-heading{align-items:flex-start}h1{font-size:2rem}.property{flex-direction:column}.property-facts{width:100%;justify-content:flex-start}.property-facts a{margin-left:auto}.cashflow-value strong{font-size:3.5rem}.results-column .metrics{margin-bottom:20px}.comparison-heading{align-items:flex-start}.input-intro{padding-top:8px}.cashflow-bottom{grid-template-columns:1fr 1fr}}
@media(max-width:500px){main{padding:24px 16px 20px}.topbar-inner{padding:14px 16px}.topbar-note{display:none}.page-heading{flex-wrap:wrap;gap:16px;margin-bottom:22px}.page-heading .button{font-size:.8125rem}.property{padding:16px}.property-facts{gap:16px}.property-facts a{margin-left:0}.fields{gap:16px;grid-template-columns:1fr}.cashflow-card{padding:22px}.panel{padding:20px 18px}.metrics{gap:12px}.metrics>div{padding:15px}.metrics strong{font-size:1.35rem}.cashflow-value strong{font-size:3.25rem}.comparison-heading{flex-direction:column;gap:12px}.comparison-heading>p{text-align:left}.scenario-table th,.scenario-table td{padding:10px 5px;font-size:.875rem}.scenario-table td:not(:first-child),.scenario-table th:not(:first-child){padding-left:5px}.scenario-button{min-width:0;padding:8px;font-size:.875rem;width:100%}.cashflow-top{flex-wrap:wrap}.capital-detail{flex-wrap:wrap}.comparison{padding:22px 16px}td,th{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.bar{transition:none}}

.negotiation-control{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}.negotiation-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.875rem;font-weight:500}.negotiation-heading output{font-size:1.125rem;font-weight:700;color:var(--teal);font-variant-numeric:tabular-nums;white-space:nowrap}input[type=range]{min-height:44px;width:100%;padding:0;margin:6px 0 0;border:0;background:transparent;accent-color:var(--teal);cursor:pointer;appearance:auto}.negotiation-scale{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:-4px}.negotiation-control .hint{margin-top:10px}
.decision-card{display:grid;grid-template-columns:1fr 1fr;gap:28px;background:var(--negative-bg);border:1px solid #edc3b9;border-radius:16px;padding:24px;margin-bottom:28px}.decision-card .eyebrow{color:var(--negative)}.decision-card h2{font-size:2rem;color:var(--negative);margin-bottom:6px}.decision-card.passes{background:var(--positive-bg);border-color:#a8d7bd}.decision-card.passes h2,.decision-card.passes .eyebrow{color:var(--teal)}.decision-lead>p:last-child,.decision-checks{font-size:.875rem}.decision-checks{display:grid;gap:6px;margin-bottom:12px;font-weight:600}.decision-card a{font-size:.8125rem}.analysis-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.target-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.target-row h3{font-size:.875rem;font-weight:500}.target-value{display:block;font-size:1.75rem;font-variant-numeric:tabular-nums;margin:6px 0}.target-row .button{flex-shrink:0}.cash-metrics{margin:20px 0}.cash-metrics>div{display:flex;align-items:baseline;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:14px 0}.cash-metrics dt{font-size:.875rem;color:var(--muted)}.cash-metrics dd{margin:0;font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.review-heading{margin:16px 0 20px}.fact-list{padding-left:20px;font-size:.875rem;display:grid;gap:12px}.review-text,.fiscal-note>p{font-size:.875rem;margin-top:14px}.rental-table{min-width:550px}.rental-table th:first-child{width:40%;text-align:left}.rental-table td,.rental-table th:not(:first-child){text-align:right}.rental-table tbody tr:nth-child(3){font-weight:700;background:var(--negative-bg)}.rental-table .scenario-button{min-width:82px}.field:has(#targetCashflow) input{padding-right:78px}#investment-review{scroll-margin-top:20px}
@media(max-width:760px){.decision-card,.analysis-grid{grid-template-columns:1fr;gap:18px}.analysis-grid{gap:0}.decision-card{padding:20px}.target-row{flex-wrap:wrap}.cash-metrics dd{font-size:1.1rem}.cash-metrics>div{gap:12px}.decision-card h2{font-size:1.65rem}}

/* Paramètres libres et pédagogie des charges */
.check-label{display:flex;gap:12px;align-items:center;font-weight:650;margin:20px 0 12px;cursor:pointer}
.check-label input[type=checkbox]{width:20px;height:20px;min-height:20px;flex:0 0 20px;accent-color:#127b73}
#agency-fields,#heating-fields,#caretaker-fields{margin-top:16px}
#charge-curve svg{display:block;width:100%;max-width:900px;height:auto;margin:24px auto}
#charge-impact{scroll-margin-top:24px;border-top:4px solid #b53d48}
#charge-impact .analysis-grid{margin-top:24px;gap:32px}
#charge-impact .analysis-grid p{line-height:1.75}
#charge-summary{font-size:1.12rem;line-height:1.7}
#reference-fields{margin-bottom:20px}
#charge-curve caption{text-align:left;padding:12px 0;font-weight:650}
[hidden]{display:none!important}

#charge-education{margin-top:32px;border-top:1px solid #dbe4e9;padding-top:24px}
#charge-education h3{font-size:1.25rem;margin:24px 0 14px}
#charge-education svg{display:block;width:100%;max-width:900px;height:auto;margin:24px auto}
#charge-education caption{text-align:left;padding:12px 0;font-weight:650}
.charge-scenarios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}
.charge-scenario{padding:16px;border:1px solid #dbe4e9;border-radius:10px}
.charge-axis{height:16px;position:relative;background:#edf1f4;margin-top:12px}
.charge-axis:after{content:'';position:absolute;left:50%;top:-4px;bottom:-4px;border-left:1px solid #526574}
.charge-axis span{position:absolute;top:0;height:100%}.charge-negative{background:#b53d48}.charge-positive{background:#127b73}
@media(max-width:640px){.charge-scenarios{grid-template-columns:1fr}#charge-education svg{min-width:0}.charge-scenario .bar-label{flex-wrap:wrap;gap:8px}}

textarea{font:inherit;width:100%;box-sizing:border-box;padding:12px;border:1px solid #c9d5de;border-radius:8px;resize:vertical}
#project-title{width:100%;box-sizing:border-box;margin-bottom:18px}
#startup-summary{margin-top:20px}#startup-summary tr:nth-last-child(2){font-weight:750;background:#e6f3f0}
#bank-document h3{margin-top:28px}#bank-document p,#bank-document li{line-height:1.65}
#bank-document th{width:57%}#bank-document{max-width:1000px;margin:auto}
@media print{body{background:white!important;color:#111!important}body>header,main>*{display:none!important}main,#bank-presentation,#bank-document{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}#bank-presentation>.comparison-heading,#bank-presentation>.hint{display:none!important}#bank-document table{font-size:10pt!important;min-width:0!important;width:100%!important}#bank-document h2{font-size:20pt}#bank-document h3{font-size:13pt;break-after:avoid}#bank-document p,#bank-document li{font-size:10pt}#bank-document tr{break-inside:avoid}#bank-document .table-wrap{overflow:visible!important} @page{size:A4;margin:16mm}}

#project-budget th{font-weight:500;white-space:normal}#project-budget td{white-space:nowrap;text-align:right}#project-budget caption{text-align:left;padding:12px 0;font-weight:650}#project-budget .derived-row{gap:16px;flex-wrap:wrap}
/* Shared navigation across calculators and documentary pages. */
header nav[aria-label="Navigation principale"] { display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; }
