@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#143d34;--lime:#d7ee82;--ink:#183b34;--muted:#71817c;--line:#dce4df;--bg:#f4f7f4}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px 'DM Sans',sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #8ba748;outline-offset:3px}header{height:88px;display:flex;align-items:center;gap:35px;padding:0 5%;background:white;border-bottom:1px solid var(--line)}.brand{font:800 37px Manrope,sans-serif;letter-spacing:-2px;color:var(--green);text-decoration:none}.brand span{font-size:13px;color:#94b552;margin-left:4px}.header-label{font-size:12px;letter-spacing:2px;color:var(--muted)}.ghost{background:none;border:1px solid var(--line);border-radius:9px;padding:10px 15px;color:var(--green)}header .ghost{margin-left:auto}.demo{padding:9px 5%;background:#eaf0df;font-size:12px;letter-spacing:.5px;color:#596748}.demo span{letter-spacing:0}main{max-width:1240px;padding:30px 40px 60px;margin:auto}nav{display:flex;gap:8px;max-width:730px;margin-bottom:36px}nav button{border:0;border-bottom:2px solid var(--line);background:none;text-align:left;flex:1;padding:14px 0;color:#89948f;font-size:14px}nav button b{margin-right:10px;font-size:12px}nav button.active{color:var(--green);border-color:var(--green);font-weight:700}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:44px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:#78923f;margin-bottom:12px}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:38px;line-height:1.2;letter-spacing:-1.4px;margin:0 0 13px}h2{font-size:24px;letter-spacing:-.6px}h3{font-size:17px;margin:0}.intro{color:var(--muted);margin:0 0 28px;line-height:1.6}.card{background:white;border:1px solid var(--line);border-radius:16px;padding:25px;margin-bottom:18px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:14px;font-weight:500;margin:0 0 18px}input,select{display:block;width:100%;margin-top:8px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:13px;color:var(--ink);min-height:48px}input[type=checkbox]{width:21px;min-height:21px;margin:0;accent-color:var(--green)}.segmented{display:flex;background:#eaf0ea;padding:4px;border-radius:10px;margin-bottom:22px;gap:4px}.segmented button{border:0;background:transparent;padding:11px;flex:1;border-radius:7px;color:var(--muted)}.segmented .selected{background:white;color:var(--green);box-shadow:0 2px 5px #163b3410;font-weight:700}.muted{font-size:13px;line-height:1.6;color:var(--muted)}.upload{border:1px dashed #b5c8b6;border-radius:10px;padding:17px;background:#f8faf5;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.upload strong{display:block;font-size:14px}.upload span{font-size:12px;color:var(--muted)}.upload button{background:#e8efdf;border:0;border-radius:8px;padding:10px 14px;color:var(--green);white-space:nowrap}.primary{background:var(--green);color:white;border:0;border-radius:9px;padding:15px 22px;font-weight:600}.actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:25px}.actions .primary{margin-left:auto}.side{background:var(--green);color:white;border-radius:18px;padding:28px;position:sticky;top:24px;overflow:hidden}.side .eyebrow{color:var(--lime)}.side h2{font-size:28px;margin:14px 0 4px}.side p{color:#bad1c7;font-size:14px;line-height:1.7}.side .sun{font-size:45px;color:var(--lime);margin:20px 0}.side-line{display:flex;justify-content:space-between;gap:15px;font-size:14px;padding:16px 0;border-bottom:1px solid #ffffff24}.side small{color:#bad1c7;font-size:12px}.price{font:700 34px Manrope,sans-serif;letter-spacing:-1px;margin-top:10px}.included{color:var(--lime);font-size:13px;margin-top:18px}.side-note{padding:20px;font-size:13px;color:var(--muted);line-height:1.7}.kits{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.kit{padding:17px 5px;background:white;border:1px solid var(--line);border-radius:10px;color:var(--ink)}.kit strong{display:block;font-size:22px}.kit span{font-size:12px;color:var(--muted)}.kit.selected{border:2px solid var(--green);background:#eef5e8}.option{display:flex;align-items:center;gap:14px;margin:0;font-size:16px}.option small{display:block;color:var(--muted);font-weight:400;margin-top:5px}.option-fields{margin-top:20px}.tag{display:inline-block;font-size:12px;background:#eaf2d7;color:#52662d;padding:5px 9px;border-radius:5px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}details{border-top:1px solid var(--line);padding-top:20px;margin-top:25px}summary{cursor:pointer;font-size:14px;font-weight:600}.advanced{padding-top:20px}.metric{font:700 42px Manrope,sans-serif;letter-spacing:-1.5px}.hero-result{background:var(--green);color:white;padding:25px;border-radius:15px;margin-bottom:22px;display:flex;justify-content:space-between;align-items:center}.hero-result p{font-size:13px;color:#c4d7c9;margin:6px 0}.hero-result .eyebrow{color:var(--lime)}.scenarios{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.scenario{background:white;border:1px solid var(--line);border-radius:13px;padding:18px 10px;text-align:center}.scenario.featured{border:2px solid #9abb54}.scenario h3{font-size:14px;min-height:38px}.ring{height:108px;width:108px;margin:17px auto;border-radius:50%;display:grid;place-items:center}.ring-inner{height:82px;width:82px;background:white;border-radius:50%;display:grid;place-content:center;font-size:23px;font-weight:700}.scenario p{font-size:12px;color:var(--muted);line-height:1.5}.scenario strong{font-size:20px}.projection{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.projection div{background:#f0f5e8;border-radius:9px;padding:17px 10px}.projection strong{display:block;font-size:22px;margin-top:8px}.projection span{font-size:13px;color:var(--muted)}.chart{width:100%;height:auto;margin-top:20px}.legend{display:flex;gap:20px;font-size:12px;color:var(--muted)}.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#a5bf61;margin-right:5px}.bar-row{display:grid;grid-template-columns:110px 1fr 75px;align-items:center;gap:10px;margin:14px 0;font-size:13px}.bar{background:#edf1e9;border-radius:5px;height:16px;overflow:hidden}.bar>div{height:100%;background:#a1bf5b}.notice{border-left:3px solid #acc667;padding:10px 15px;font-size:13px;line-height:1.7;color:#63705c}footer{max-width:1160px;margin:auto;border-top:1px solid var(--line);padding:25px 0;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}dialog{border:0;border-radius:18px;padding:30px;width:min(560px,95vw);max-height:90vh;color:var(--ink)}dialog::backdrop{background:#0c241c88}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:16px 22px;border-radius:10px;max-width:90vw;display:none;z-index:20}.report-only{display:none}@media(max-width:850px){.workspace{grid-template-columns:1fr;gap:25px}aside{order:2}.side{position:static}.side .sun{display:none}main{padding:20px}.side-note{display:none}h1{font-size:32px}header{padding:0 20px;height:74px;gap:15px}.header-label{display:none}footer{margin:0 20px;gap:15px}.demo span{display:block;margin-top:3px}nav{margin-bottom:27px}.side{padding:22px}.actions{position:sticky;bottom:0;background:var(--bg);padding:15px 0;z-index:2}}@media(max-width:430px){.fields{grid-template-columns:1fr;gap:0}.card{padding:19px}.kits{grid-template-columns:repeat(2,1fr)}.scenarios{grid-template-columns:1fr}.scenario{display:grid;grid-template-columns:1fr 1fr;align-items:center}.scenario h3{min-height:0}.scenario .ring{grid-column:2;grid-row:1/4;margin:0 auto}.scenario p{margin:7px 0}.projection strong{font-size:18px}.hero-result{display:block}.hero-result .metric{font-size:35px}nav button{font-size:12px}nav button b{margin-right:3px}.upload{align-items:flex-start}.header-label{display:none}}@media print{header,.demo,nav,aside,footer,.actions,details,dialog,#toast,.no-print{display:none!important}body{background:white}main{padding:0}.workspace{display:block}h1{font-size:28px}.card,.hero-result,.scenario{break-inside:avoid}.report-only{display:block}.scenarios{grid-template-columns:repeat(3,1fr)}.scenario{display:block}.hero-result,.side{print-color-adjust:exact;-webkit-print-color-adjust:exact}.ring,.projection div{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Palette ENEVIE : menthe, pêche et bleu pastel. */
:root{--green:#365d53;--lime:#527864;--ink:#304d46;--muted:#61756f;--line:#dce8e2;--bg:#f7faf8}
body{background:linear-gradient(135deg,#f4faf6 0%,#faf9f6 60%,#f0f7fb 100%);background-attachment:fixed}
header{background:#ffffffee;border-color:#e5ece6}.brand span{color:#80b6a2}.demo{background:#eef2fc;color:#52617f}
nav button.active{border-color:#7cae99;color:#365d53}nav button{color:#677b73}
.eyebrow{color:#557b68}.card{border-color:#e3eae4;box-shadow:0 5px 22px #42695406}
.segmented{background:#e6f0eb}.segmented .selected{color:#365d53;box-shadow:0 2px 9px #365d5310}
input,select{background:#fcfefd}.upload{background:#edf6f1;border-color:#b7d4c6}.upload button{background:#d6e9df;color:#365d53}
.primary{background:#cde5d9;color:#294b40;box-shadow:0 3px 10px #496f5710;border:1px solid #bddbcb;transition:background .2s,transform .2s}.primary:hover{background:#bad9c9;transform:translateY(-1px)}
.ghost{background:#ffffffa6;border-color:#d9e6df}.ghost:hover{background:#edf5ef}
.side{background:linear-gradient(145deg,#dceee5 0%,#eaf4ec 58%,#f5eedc 100%);color:#304d46;border:1px solid #cfe3d7;box-shadow:0 10px 34px #456e5910}
.side .eyebrow{color:#567967}.side p,.side small{color:#59776a}.side .sun{color:#ba8038}.side-line{border-color:#aac7b745}.side .included{color:#496c58;background:#ffffff85;padding:10px 12px;border-radius:8px}
.tag{background:#f7e4d5;color:#805738}.kit.selected{border-color:#8fb9a2;background:#e8f3eb}.kit:hover{background:#f0f7f2}
.hero-result{background:linear-gradient(120deg,#e0eee7,#eaf2df);color:#304d46;border:1px solid #d4e4d8}.hero-result p{color:#5c7568}.hero-result .eyebrow{color:#587b64}.hero-result>span{color:#b98a45!important}
.scenario.featured{border-color:#98bfa6;background:#f9fcf8}.ring-inner{background:#fff}.scenario:first-child{background:#f4f8fc;border-color:#dae6ef}.scenario:last-child:not(:nth-child(2)){background:#fff8f2;border-color:#eddccd}
.projection div{background:#e9f2eb}.projection div:nth-child(2){background:#f9eadf}.projection div:nth-child(3){background:#e9eef9}.projection strong{color:#34584b}.projection span{color:#5f7069}
.bar{background:#edf1ee}.bar>div{background:#aacdba}.notice{border-color:#afcbbb;background:#f0f6f0;border-radius:0 9px 9px 0;color:#5b7063}.legend i{background:#a7cbb6}
#toast{background:#dceee5;color:#304d46;border:1px solid #aecdbb}
@media print{body{background:white}.side,.hero-result,.scenario,.projection div,.tag,.ring{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Direction visuelle solaire : photographie, ciel et abricot. */
:root{--green:#275e58;--ink:#254d49;--muted:#627773;--line:#dce9e4;--bg:#f4f9f7}
body{background:radial-gradient(ellipse at 95% 3%,#d8edf3 0,transparent 48%),radial-gradient(ellipse at 0 60%,#faeee0 0,transparent 55%),#f5f9f6;background-attachment:fixed}
header{height:82px;background:#ffffffd9;backdrop-filter:blur(16px);padding:0 max(4%,calc((100vw - 1320px)/2));border-color:#fff}.brand{font-size:40px;color:#2b655b}.brand span{color:#edb66d}.header-label{color:#638a7c;letter-spacing:2.3px}.demo{background:#eaf2f4;color:#60757b;padding:8px 4%;font-size:12px}
main{max-width:1320px;padding:28px 36px 55px}nav{max-width:620px;gap:16px;margin-bottom:30px}nav button{border:0;padding:11px 13px;border-radius:30px;white-space:nowrap}nav button b{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e6eeea;color:#638377;margin-right:8px}nav button.active{background:#fff;box-shadow:0 5px 20px #295e4b0a;color:#285d50}nav button.active b{background:#bcdac6;color:#29563f}
.workspace{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:50px;align-items:start}h1{font-size:42px;line-height:1.18;letter-spacing:-1.6px;margin-bottom:14px;font-weight:700}h1 em{font-style:normal;color:#619986}h2,h3{font-weight:700}.eyebrow{font-size:12px;letter-spacing:2px;color:#648c7c}.intro{margin-bottom:24px;max-width:460px}.card{border:1px solid #fff;background:#ffffffec;box-shadow:0 12px 32px #2d64570a;border-radius:20px;padding:24px}.segmented{background:#e3eee7;border:1px solid #d9e8de}.segmented .selected{background:#fff9ee;color:#446353}.primary{background:#f4c697;color:#65432b;border:1px solid #ebba8b;box-shadow:0 6px 18px #c88b441c;border-radius:12px;min-height:50px}.primary:hover{background:#f0b87d}.ghost{border-radius:12px;background:#fff9}.upload{border:1px dashed #a8cebf;background:#f1f8f3;border-radius:13px}.upload button{background:#dbeee4;color:#375f50}.tag{background:#fcebd5;color:#82613d}input,select{border-radius:11px;border-color:#dfebe5;background:#fcfefd}input:focus,select:focus{border-color:#8cbaaa}.kit{border-radius:14px}.kit.selected{background:#e6f2e9;border-color:#7bab92}.option small{line-height:1.5}
.visual-proposal{position:sticky;top:24px;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 18px 60px #365e521a;border:1px solid #fff}.solar-photo{position:relative;height:340px;background:#dceef0;overflow:hidden}.solar-photo img{height:100%;width:100%;object-fit:cover;object-position:56% 56%;display:block}.solar-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#183e3740,transparent 50%);pointer-events:none}.photo-label{position:absolute;z-index:1;top:20px;left:20px;border:1px solid #ffffffb5;background:#ffffffd9;backdrop-filter:blur(8px);padding:10px 14px;border-radius:30px;font-size:11px;letter-spacing:1.5px;font-weight:700;color:#3a6454}.photo-credit{position:absolute;z-index:1;right:14px;bottom:10px;font-size:10px;color:white;text-shadow:0 1px 5px #123}
.side{position:static;border:0;border-radius:0;background:linear-gradient(125deg,#fffdf8,#eef6f0);box-shadow:none;padding:27px 30px}.side h2{font-size:33px;margin:8px 0}.side h2 span{font-size:16px;font-family:'DM Sans',sans-serif;font-weight:400;letter-spacing:0;color:#668072}.side .eyebrow{color:#6c8b75;font-size:11px}.side p{margin:6px 0 14px}.side-line{padding:12px 0;font-size:14px}.side .price{font-size:38px;color:#2f6655}.side .included{display:inline-block;background:#dfefdf;color:#4d7053;border-radius:30px;padding:8px 14px}.side-note{padding:16px 24px;color:#6c8177;font-size:12px}
.hero-result{background:linear-gradient(120deg,#d8ede3,#eaf3e4);border-color:#d1e6d8;border-radius:20px}.scenario{border-radius:17px}.projection div{border-radius:14px}.notice{background:#eff5ed;border-color:#b7d0a6}.actions{gap:15px}footer{max-width:1248px;border-color:#dce7dc}.report-only h2{color:#285d50}
@media(min-width:1100px){#panel>.card:first-of-type .fields{gap:16px}#panel>.card:first-of-type label{margin-bottom:14px}}
@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr) 340px;gap:25px}.solar-photo{height:280px}h1{font-size:34px}.side{padding:22px}.side h2 span{display:block;margin-top:5px}.side .price{font-size:32px}}
@media(max-width:850px){main{padding:22px 20px 40px}.workspace{grid-template-columns:1fr;gap:24px}aside{order:2}.visual-proposal{position:static}.solar-photo{height:270px}.side h2 span{display:inline}#panel:before{content:'';display:block;height:180px;background:linear-gradient(90deg,#ffffff08,#ffffff00),url('solar-home.png') center 52%/cover;border-radius:18px;margin-bottom:25px;box-shadow:0 8px 28px #34594314}h1{font-size:34px;line-height:1.2}.actions{background:#f5f9f6eb;backdrop-filter:blur(10px);padding:12px 0}.header-label{display:none}.side-note{display:none}nav{gap:4px;margin-bottom:22px}nav button{padding:8px 5px;font-size:13px}nav button b{width:23px;height:23px;font-size:11px;margin-right:4px}header{height:72px;padding:0 20px}.brand{font-size:34px}.demo{font-size:11px}}
@media(max-width:430px){main{padding:18px 16px 35px}#panel:before{height:155px;margin-bottom:20px}h1{font-size:30px;letter-spacing:-1px}.intro{font-size:15px;line-height:1.5}.card{padding:19px}.solar-photo{height:245px}.side{padding:22px}.side h2 span{display:block}.primary{padding:14px 16px}.ghost{padding:10px 12px}nav button{font-size:12px}nav button b{margin-right:3px}.hero-result .metric{font-size:34px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{#panel:before{display:none}.visual-proposal{display:none}h1 em{color:#3d7358}.card{box-shadow:none;border:1px solid #dde8df}body{background:white}}
@media(max-width:850px){#panel:before{background-position:center 32%}}
.header-actions{display:flex;gap:8px;margin-left:auto}header .header-actions .ghost{margin-left:0}.account-status{padding:10px 14px;background:#e7f1ea;border-radius:8px;font-size:13px;overflow-wrap:anywhere}.saved-logo{max-height:75px;max-width:180px}.project-row{display:flex;width:100%;justify-content:space-between;gap:15px;padding:20px 0;border:0;border-bottom:1px solid var(--line);background:white;text-align:left;color:var(--ink)}.project-row small{display:block;color:var(--muted);margin-top:7px}.project-row:last-child{border-bottom:0}#companyError{color:#a33e32;font-size:14px}button:disabled{opacity:.6;cursor:wait}nav{max-width:900px}.professional #panel:before{background-image:url('solar-business.png?v=wide2')}@media(max-width:850px){header{height:auto;min-height:74px;flex-wrap:wrap;padding:12px 16px;gap:10px}.header-actions{gap:6px}.header-actions .ghost{font-size:12px;padding:9px 10px}nav{gap:2px}nav button{font-size:11px;padding:7px 3px}nav button b{width:20px;height:20px;font-size:10px;margin-right:2px}.professional #panel:before{background-position:center 48%}}@media(max-width:430px){header .brand{font-size:30px}.header-actions{width:100%;margin:0}.header-actions button{flex:1}nav button b{display:block;margin:0 auto 4px}nav button{text-align:center}#companyForm .primary{width:100%}}
/* Comparateur commercial */
.horizon-switch{display:flex;gap:6px;background:#e7efec;padding:5px;border-radius:30px;width:max-content;margin:0 0 20px}.horizon-switch button{border:0;background:transparent;border-radius:24px;padding:10px 25px;color:#31594b;font-size:15px}.horizon-switch button[aria-pressed=true]{background:#fff;box-shadow:0 2px 8px #173d3420;font-weight:700}.baseline-card{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#f5e6d8;border:1px solid #ead4bf;border-radius:22px;padding:26px;margin-bottom:22px}.baseline-card span{font-size:15px}.baseline-card strong{display:block;font-size:clamp(30px,4vw,42px);color:#704628;margin-top:7px}.baseline-card p{margin:5px 0 0;color:#755d4b}.baseline-assumption{font-size:14px;line-height:1.9;text-align:right}.scenario-switch{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.scenario-switch button{padding:11px 15px;border:1px solid #d6e4dd;background:white;border-radius:24px;font-size:14px;color:#244d3e}.scenario-switch button[aria-pressed=true]{background:#225d49;color:white;border-color:#225d49}.benefit-detail{padding:28px;background:#fff;border:1px solid #e1ebe6;border-radius:24px}.benefit-detail h2{font-size:25px;margin:8px 0 0}.benefit-metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:25px 0}.benefit-metrics>div{padding:20px;background:#f1f5f3;border-radius:18px}.benefit-metrics>div.savings-metric{background:#def0e5}.benefit-metrics span,.benefit-metrics small{display:block}.benefit-metrics span{font-size:14px}.benefit-metrics strong{display:block;font-size:clamp(25px,3vw,36px);margin:12px 0}.benefit-metrics small{font-size:13px;line-height:1.55;color:#53665d}.energy-grid{display:grid;gap:20px}.energy-donut-block{display:flex;align-items:center;gap:22px}.energy-donut{width:146px;height:146px;flex:0 0 146px;border-radius:50%;background:conic-gradient(#44896d 0 var(--used),#e5b792 var(--used) calc(var(--used) + var(--lost)),#ccdfef calc(var(--used) + var(--lost)) 100%);display:grid;place-items:center}.energy-donut>div{width:112px;height:112px;border-radius:50%;background:white;display:flex;flex-direction:column;justify-content:center;align-items:center}.energy-donut strong{font-size:29px}.energy-donut span{font-size:12px;color:#5d7469}.energy-donut-block p{font-size:15px;line-height:1.6}.energy-donut-block h3{margin:0}.chart-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:#51675a}.chart-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.chart-legend .used{background:#44896d}.chart-legend .surplus{background:#ccdfef}.chart-legend .loss{background:#e5b792}.annual-detail{background:#f7f9f8;border-radius:18px;padding:18px}.annual-detail h3{margin:0 0 8px}.annual-detail>div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #e4ece8;font-size:14px}.scenario-note{font-size:13px;line-height:1.7;color:#5b7065;margin:20px 0 0}.comparison-card{margin-top:24px}.cost-comparison{display:grid;gap:7px}.cost-comparison button{display:grid;grid-template-columns:145px 1fr 95px;gap:12px;align-items:center;border:1px solid transparent;border-radius:12px;padding:12px 8px;background:none;text-align:left;color:#234f3e}.cost-comparison button[aria-pressed=true]{background:#f0f7f3;border-color:#bdd8ca}.cost-label{font-size:13px;line-height:1.5}.cost-track{height:20px;background:#f0f3f1;border-radius:8px;overflow:hidden}.cost-track>span{display:block;height:100%;border-radius:8px;transition:width .2s}.cost-comparison strong{font-size:14px;text-align:right}.benefit-assumptions{margin-top:24px}.benefit-assumptions p{font-size:14px;line-height:1.7;padding:0 16px}.benefit-detail .card-head{align-items:flex-start;gap:14px}@media(max-width:650px){.baseline-card{align-items:flex-start;flex-direction:column;padding:22px}.baseline-assumption{text-align:left}.benefit-detail{padding:18px}.benefit-metrics{grid-template-columns:1fr}.energy-donut-block{flex-direction:column;align-items:flex-start}.energy-donut{align-self:center}.scenario-switch{gap:6px}.scenario-switch button{font-size:13px;padding:10px 12px}.cost-comparison button{grid-template-columns:1fr 95px;gap:8px}.cost-track{grid-column:1/-1;grid-row:2}.cost-comparison strong{grid-column:2;grid-row:1}.benefit-detail .card-head{flex-direction:column}.baseline-card p{font-size:15px}.horizon-switch button{padding:10px 22px}}
@media print{.horizon-switch,.scenario-switch,.benefit-assumptions{display:none}.baseline-card,.benefit-detail,.comparison-card{break-inside:avoid}.cost-comparison button{break-inside:avoid}}
/* Lecture commerciale : facture d'abord, investissement ensuite. */
.benefit-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:24px 0 12px}.period-switch{display:flex;background:#e8efeb;border-radius:26px;padding:5px}.period-switch button{border:0;background:none;border-radius:23px;padding:12px 25px;font-size:16px;color:#234f3e}.period-switch button[aria-pressed=true]{background:#245c48;color:white;box-shadow:0 3px 10px #173d3420}.period-context{font-size:13px;color:#687c70}.bill-comparison{background:#fff;border:1px solid #e0eae4;border-radius:25px;overflow:hidden}.bill-versus{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:26px 28px 18px}.bill-column{text-align:center;min-width:0}.bill-label{display:flex;align-items:center;justify-content:center;min-height:45px;font-size:15px;line-height:1.4;font-weight:600}.bill-column>strong{display:block;font-size:clamp(28px,3.3vw,45px);letter-spacing:-1px;margin-top:12px;white-space:nowrap}.bill-column>small{font-size:15px}.before>strong{color:#8b6347}.after>strong{color:#246449}.bill-bar-space{height:135px;display:flex;align-items:flex-end;justify-content:center;margin:18px 0 12px;border-bottom:1px solid #e3e9e5}.bill-pillar{width:70%;max-width:140px;border-radius:12px 12px 0 0;transition:height .25s}.before .bill-pillar{background:linear-gradient(#edc7a4,#d6a27c)}.after .bill-pillar{background:linear-gradient(#9bcab1,#4e9373)}.bill-caption{font-size:13px;color:#667a6d}.saving-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 28px;background:#245c48;color:white}.saving-banner span{font-size:15px}.saving-banner strong{display:block;font-size:clamp(30px,4vw,45px);margin-top:8px;letter-spacing:-1px}.saving-banner strong small{font-size:17px;font-weight:400;letter-spacing:0}.saving-banner>b{text-align:center;font-size:32px;white-space:nowrap;background:#ffffff16;border:1px solid #ffffff30;padding:14px;border-radius:16px}.saving-banner>b small{display:block;font-size:12px;font-weight:400;margin-top:5px}.bill-footnote{padding:15px 25px;margin:0;font-size:12px;line-height:1.6;color:#6b7b72}.autoconsumption-message{font-size:14px;line-height:1.65;color:#4a6758;margin:20px 4px}.autoconsumption-message b{display:block}.energy-disclosure,.roi-disclosure{border:1px solid #dbe7df;background:#fff;border-radius:18px;margin-top:18px}.energy-disclosure .energy-donut-block{padding:22px}.roi-disclosure summary{font-size:18px;padding:23px}.roi-disclosure summary small{display:block;font-size:13px;font-weight:400;color:#61786a;margin-top:7px}.roi-content{padding:0 22px 22px}.roi-top{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:25px}.roi-top>div{padding:16px;background:#eff5f1;border-radius:14px}.roi-top span,.roi-top small{display:block;font-size:13px}.roi-top strong{display:block;font-size:25px;margin:10px 0}.roi-top small{color:#65796c}.roi-chart{width:100%;height:auto;margin:0 0 12px}.roi-result{padding:20px;background:#e0eee5;border-radius:15px}.roi-result span,.roi-result small{display:block}.roi-result strong{display:block;font-size:34px;margin:8px 0}.roi-result small{font-size:13px}.future-bills{display:grid;gap:8px;font-size:14px;margin:20px 0}.benefit-assumptions a{color:#245c48;text-decoration:underline}@media(max-width:650px){.bill-versus{gap:12px;padding:18px 12px}.bill-column>strong{font-size:clamp(23px,6.9vw,37px)}.bill-label{font-size:13px;min-height:48px}.bill-bar-space{height:105px}.bill-caption{font-size:12px}.saving-banner{padding:20px 16px;gap:12px}.saving-banner strong{font-size:30px}.saving-banner>b{font-size:25px;padding:10px}.saving-banner span{font-size:13px}.bill-footnote{padding:14px 16px}.roi-top{grid-template-columns:1fr}.period-context{font-size:12px}.benefit-controls{gap:10px}.energy-disclosure .energy-donut-block{padding:18px}.roi-content{padding:0 15px 18px}}
@media(prefers-reduced-motion:reduce){.bill-pillar{transition:none}}

.benefits-mode #panel::before{display:none}.benefits-mode #panel h1{font-size:clamp(32px,3.5vw,44px);line-height:1.12;margin-bottom:18px}.benefits-mode .scenario-switch{margin:16px 0}.benefits-mode .benefit-controls{margin-top:16px}
@media(max-width:650px){.bill-bar-space{height:64px;margin:10px 0 8px}.bill-label{min-height:40px}.bill-column>strong{margin-top:6px}.saving-banner{padding:16px}.benefits-mode #panel h1{margin-top:10px}.benefits-mode .scenario-switch{margin:12px 0}}

/* Projections visibles et parcours de rentabilité. */
.projection-card{margin:26px 0;padding:26px;background:linear-gradient(135deg,#fff9f0,#edf6f1);border:1px solid #dde9df;border-radius:24px}.projection-card h2{font-size:30px;margin:8px 0}.projection-card>p{line-height:1.65}.future-comparison{display:grid;grid-template-columns:1fr 1fr;gap:22px}.future-comparison span,.future-comparison strong,.future-comparison small{display:block}.future-comparison strong{font-size:30px;margin:12px 0;color:#876444}.future-comparison strong small{display:inline;font-size:14px;font-weight:400}.future-comparison>div+div strong{color:#285f49}.future-comparison small{font-size:12px;color:#617668}.future-track{height:13px;border-radius:12px;background:#e5eae4;margin:12px 0;overflow:hidden}.future-track i{display:block;height:100%;background:#d5aa82;border-radius:12px}.future-comparison>div+div i{background:#5c9c7b}.future-saving{background:#285f49;color:white;padding:22px;border-radius:18px;margin:23px 0}.future-saving strong,.future-saving small{display:block;margin-top:8px}.future-saving strong{font-size:32px}.future-saving small{opacity:.8}.projection-totals{display:grid;grid-template-columns:1fr 1fr;gap:16px}.projection-totals span{font-size:13px}.projection-totals strong{display:block;font-size:25px;margin-top:8px}.projection-card .muted{font-size:12px}.roi-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:#327a59;margin:20px 0}.roi-legend span+span{color:#a9774d}.roi-milestones{display:grid;gap:13px;padding:20px;background:#f1f7f3;border-radius:16px}.roi-milestones span{font-size:13px;line-height:1.6}.roi-milestones b{display:block;font-size:15px;color:#285f49}.roi-target-note{padding:14px;border-radius:12px;background:#fff4e4;font-size:13px;line-height:1.65}@media(max-width:650px){.projection-card{padding:18px}.future-comparison{gap:12px}.future-comparison strong{font-size:24px}.projection-totals strong{font-size:23px}.future-saving strong{font-size:28px}.roi-chart{min-height:180px}}

/* Palette commerciale commune aux graphiques et au rapport. */
.location-card,.production-card{padding:25px;margin:24px 0;border:1px solid #dce8e6;border-radius:24px;background:linear-gradient(125deg,#fff8e9,#eef6ff)}.location-card h3{font-size:23px;margin:8px 0 20px}.location-card>small{display:block;font-size:12px;line-height:1.6;color:#61766d;margin-top:16px}.city-choice{display:block;padding:13px 16px;width:100%;text-align:left;border:1px solid #dce6df;border-radius:12px;background:white;margin:7px 0;color:#285f49}.local-sun{padding:20px;margin:18px 0;background:#fff3d7;border-radius:18px}.local-sun strong{display:block;font-size:30px;margin:9px 0}.local-sun small{font-size:12px}.local-warning{padding:15px;border-radius:14px;background:#fff0d7;font-size:13px}.production-card h2{font-size:25px;line-height:1.25}.production-kpi strong{display:block;font-size:37px;color:#4e7864}.production-kpi strong small{font-size:18px}.production-kpi span{font-size:13px;color:#62796b}.season-bars{display:flex;gap:8px;height:145px;padding:12px 0 24px;margin:22px 0}.season-bars>div{position:relative;flex:1;display:flex;align-items:flex-end}.season-bars i{display:block;width:100%;background:var(--season);border-radius:8px 8px 3px 3px;min-height:2px}.season-bars small{position:absolute;bottom:-23px;width:100%;text-align:center;color:#62796b;font-size:11px}.production-card .muted{font-size:12px;line-height:1.7}.before .bill-pillar{background:linear-gradient(#f8d9b8,#e8b79b)}.after .bill-pillar{background:linear-gradient(#bfe6d4,#7ab49b)}.saving-banner{background:linear-gradient(110deg,#d5eee0,#dcebf7);color:#245342}.saving-banner>b{background:#fff9;border-color:#fff}.future-saving{background:linear-gradient(115deg,#e5dcf7,#dceaf8);color:#4f4678}.future-comparison>div:first-child .future-track i{background:linear-gradient(90deg,#f4d0aa,#e5aa99)}.future-comparison>div+div .future-track i{background:linear-gradient(90deg,#b1ddca,#7fb7a2)}.projection-totals>div{padding:16px;border-radius:16px;background:#fcebdc}.projection-totals>div+div{background:#e8e0f7}.roi-top>div:first-child{background:#e2edf9}.roi-top>div+div{background:#efe6fa}.roi-result{background:linear-gradient(110deg,#d8eddf,#f0efd4)}.roi-milestones span{padding:12px 14px;border-radius:12px;background:#e4eff9}.roi-milestones span:nth-child(2){background:#eee4f9}.roi-milestones span:nth-child(3){background:#e0f0e5}.roi-legend span:first-child{color:#8075bb}.scenario-switch button[aria-pressed=true]{background:#dfd5f1;color:#50446e;border-color:#bcaed7}@media(max-width:650px){.location-card,.production-card{padding:18px}.season-bars{gap:5px}.projection-totals{gap:10px}.projection-totals>div{padding:12px}.production-kpi strong{font-size:32px}}

footer{flex-wrap:wrap}.legal-links{display:flex;flex-wrap:wrap;gap:14px;width:100%;margin-top:16px;font-size:12px}.legal-links a{color:#456d5a}.legal-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.6;margin:18px 0}.legal-check input{width:auto;margin-top:5px;flex:none}.legal-check a{color:#245c48;text-decoration:underline}.legal-notice{font-size:12px;line-height:1.7;color:#567563}

/* Même format que le particulier, avec le bâtiment au centre du cadrage. */
.professional .solar-photo img{object-position:center 56%}
@media(max-width:850px){.professional #panel:before{background-position:center 56%}}

/* Les étapes d’identité restent centrées sur la saisie, sans proposition répétée. */
.identity-mode #summary{display:none}
.identity-mode .workspace{grid-template-columns:minmax(0,1fr)}
.identity-mode #panel{width:100%;max-width:760px;margin-inline:auto}
.identity-mode #panel:before{display:none}

/* L’économie est le premier repère du comparatif de facture. */
.bill-comparison .saving-banner{margin:0 0 30px;padding:26px;background:linear-gradient(120deg,#d9f0e1,#e7f4ce);border:1px solid #b9d8be;border-radius:20px;box-shadow:0 10px 26px #46775c12}
.bill-comparison .saving-banner strong{font-size:clamp(36px,6vw,54px);line-height:1.2;letter-spacing:-1.5px;color:#245e48}
.bill-comparison .saving-banner strong small{font-size:19px;letter-spacing:0}
.bill-comparison .saving-banner .saving-context{display:block;margin-top:9px;font-size:12px;font-weight:400;color:#52745d}
.bill-label{line-height:1.5;font-size:14px}.bill-label b{font-size:16px;color:#294e47}
@media(max-width:430px){.bill-comparison .saving-banner{padding:20px;gap:15px;flex-wrap:wrap}.bill-label b{font-size:14px}}
