:root{--ink:#152c12;--lime:#a1e04d;--cream:#f2fee2;--line:#dfe6d7;--muted:#66715f}
main>.topbar{flex-wrap:wrap;row-gap:14px;margin-bottom:24px}
.topbar .actions-file{gap:8px;align-items:center;flex-shrink:0;margin-left:auto}
.topbar #save,.topbar #resume{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:550;line-height:20px;white-space:nowrap;border:1px solid var(--ink)}
.topbar #save{background:var(--ink);color:#fff}
.topbar #save:hover{background:#294523;border-color:#294523}
.topbar #resume{background:#fff;color:var(--ink);border-color:#cbd5c3}
.topbar #resume:hover{background:#f0f5e9;border-color:#8b9f7d}
.topbar #save svg,.topbar #resume svg{flex-shrink:0}
.topbar #fileHelp{width:42px;min-width:42px;height:42px;min-height:42px;border:1px solid var(--line);background:#fff;color:var(--muted);padding:0}
.topbar #fileHelp:hover{background:#f0f5e9;color:var(--ink);border-color:#8b9f7d}
@media(max-width:600px){.topbar>div:first-child{flex-basis:100%}.topbar #save,.topbar #resume{min-height:44px;padding:10px 12px}.topbar #fileHelp{width:44px;min-width:44px;height:44px;min-height:44px}}
.result-eyebrow{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:650;color:var(--muted);margin:0 0 8px}
#summary h2{font-size:28px;margin-bottom:5px}
#summary #resultContext{margin-bottom:24px}
.goal-card{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:10px;padding:19px 24px}
.goal-card small{display:block;margin-top:3px}
.goal-card strong{font-size:29px;font-variant-numeric:tabular-nums;white-space:nowrap}
#summary .flow-caption{font-size:12px;color:var(--muted);margin:18px 0 12px}
#summary .target-card{padding:24px 26px;background:var(--ink);color:white;border-radius:12px}
.metric-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px}
#summary .target-card .info-dot{background:transparent;color:white;border-color:#829979;flex-shrink:0}
#target{display:block;font-size:46px;font-weight:650;letter-spacing:-1px;line-height:1.25;margin:8px 0;font-variant-numeric:tabular-nums;color:var(--lime);overflow-wrap:anywhere}
#annualTarget{font-size:13px;color:#dce8d6}
.rate-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0 10px}
.metric-card{background:#f4f7ef;border:1px solid var(--line);border-radius:10px;padding:17px 22px}
.metric-card strong{display:block;font-size:27px;margin-top:8px;font-variant-numeric:tabular-nums}
#summary .result-rhythm{font-size:11px;margin:12px 0 5px}
#summary .result-reminder{font-size:12px;margin:0 0 20px;color:var(--muted)}
#forecast .scenario-section{margin-top:35px;padding:30px 26px;border:1px solid var(--line);border-top:3px solid #b8c8ad;border-radius:12px;background:#fbfcf9}
#forecast .scenario-section h2{font-size:24px;margin-bottom:6px}
#forecast .scenario-input{margin-bottom:22px;grid-template-columns:minmax(0,280px) 115px}
#forecast #exploreSocial{margin-top:24px}
@media(max-width:600px){#summary h2{font-size:25px}.goal-card{padding:16px;align-items:flex-start;flex-direction:column;gap:8px}.goal-card strong{font-size:27px}#summary .target-card{padding:19px}#target{font-size:35px}.rate-cards{grid-template-columns:1fr;gap:10px}.metric-card{padding:14px 17px}.metric-card .info-dot,#summary .target-card .info-dot{width:36px;min-height:36px}#forecast .scenario-section{padding:20px 15px;margin-top:28px}#forecast .scenario-input{grid-template-columns:minmax(0,1fr) 97px}.topbar.actions-file{flex-wrap:wrap}#fileHelp{min-width:28px}.field-caption .info-dot,.field-checkbox .info-dot{width:36px;min-height:36px}}
.field-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}
.equipment .field-checkbox{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0}
.equipment .field-checkbox label{display:flex;align-items:center;gap:10px}
.equipment .field-checkbox input[type=checkbox]{margin:0;width:18px;height:18px;flex-shrink:0}
.field-with-help .info-dot,.field-checkbox .info-dot{flex-shrink:0}
.step-help h4{font-size:13px;margin:22px 0 7px}
.actions-file .info-dot{padding:0;border:1px solid var(--line);min-width:28px;height:28px;min-height:28px;align-self:center}
#profileModal .advanced-profile{border:0;padding:0;margin:0}
#profileModal #closeProfile{margin-top:18px}
*{box-sizing:border-box}body{margin:0;background:#fafbf8;color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;background:white;padding:9px 13px;min-height:40px}button:hover{background:var(--cream)}button.primary,button.active{background:var(--lime);border-color:var(--lime)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #71984c;outline-offset:3px}[hidden]{display:none!important}a{color:inherit}h1{font-size:27px;margin:0}h2{font-size:21px;margin:0 0 10px}h3{font-size:15px;margin:0 0 12px}p{margin:7px 0 17px}small,.muted{font-size:12px;color:var(--muted)}.sidebar{position:fixed;width:200px;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;gap:12px}.brand{width:95px;height:58px;object-fit:contain;object-position:left;margin-bottom:25px}.sidebar button{text-align:left;border:0}.sidebar small{margin-top:auto;font-size:11px}main{margin-left:200px;padding:30px 32px;max-width:1590px;min-width:0}.topbar,.social-actions{display:flex;justify-content:space-between;align-items:center;gap:16px}.topbar{margin-bottom:14px}.page-description{max-width:790px;color:var(--muted);margin:0 0 27px;font-size:14px}.toolbar{display:flex;flex-wrap:wrap;gap:13px}.actions-file{flex-wrap:nowrap}.actions-file button{border:0;background:transparent;padding:5px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:22px;align-items:start}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;min-width:0}.steps{display:flex;gap:6px;margin-bottom:28px;flex-wrap:wrap}.steps button{flex:1;white-space:nowrap;font-size:12px;padding:8px}.form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:21px 0}label{display:block;font-size:12px;color:#506047}input,select{display:block;width:100%;min-width:0;border:1px solid #c9d4bf;border-radius:6px;background:#fff;padding:9px 10px;margin-top:5px}input:focus,select:focus{outline:2px solid #a5c77e}input[type=checkbox]{display:inline;width:auto;margin:0 6px 0 0}.actions{display:flex;justify-content:space-between;gap:10px;margin-top:25px}.info-dot{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;padding:0;width:26px;min-width:26px;min-height:26px;font-size:12px;vertical-align:middle}.advanced-profile{margin-top:20px;color:var(--muted);font-size:12px}.advanced-profile[open]{padding:16px;border:1px solid var(--line);border-radius:8px}.advanced-profile>label{margin:12px 0}.step-help{position:sticky;top:24px;padding:21px;background:#f5f8f1;border-color:transparent}.step-help p{font-size:13px}.line{display:flex;align-items:baseline;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid #edf1e8;font-size:13px}.line b{font-variant-numeric:tabular-nums;white-space:nowrap}.step-help .line{font-size:11px}.step-help small{display:block;margin-top:18px}.charge-head,.charge-main{display:grid;grid-template-columns:minmax(120px,1fr) 88px 90px 61px 51px 28px 30px;gap:7px;align-items:center}.charge-head{font-size:10px;color:var(--muted);padding:8px 0}.charge{padding:9px 0;border-bottom:1px solid var(--line)}.charge-main input,.charge-main select{margin:0;padding:8px 5px;font-size:12px}.charge-main .charge-name{border-color:transparent;background:transparent;font-size:13px}.charge-main .charge-name:focus,.charge-main .charge-name:hover{border-color:var(--line)}.delete-button{border:0;background:transparent;font-size:20px;padding:0;min-width:30px}.charge-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:15px}.text-button{background:transparent;border:0;text-decoration:underline;text-underline-offset:3px;color:var(--muted);font-size:12px;padding:8px 0}.equipment{margin:0;border-bottom:1px solid var(--line);padding:13px 0}.equipment>summary{display:grid;grid-template-columns:1fr 55px auto 32px;gap:10px;align-items:center;list-style:none;cursor:pointer}.material-title:before{content:'›';display:inline-block;margin-right:10px;color:var(--muted)}.equipment[open] .material-title:before{transform:rotate(90deg)}.material-title{font-weight:550}.material-summary{font-variant-numeric:tabular-nums;font-size:13px}.equipment>small{display:block}.equipment .form{padding:5px 12px 0}.equipment summary::-webkit-details-marker{display:none}#addMaterial{margin-top:18px}.result-view{display:block}.result-view .editor{max-width:1000px}.target-line{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:18px 0}.target-line strong{font-size:34px;letter-spacing:-1px}.target-line span{color:var(--muted)}.result-rhythm{max-width:720px}.rate-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px}.rate-pair .line{font-size:14px}.rate-pair b{font-size:20px}.scenario-section{border-top:1px solid var(--line);padding-top:27px;margin-top:25px}.scenario-input{display:grid;grid-template-columns:minmax(100px,250px) 115px;gap:15px;margin:20px 0}.income-result{display:flex;flex-direction:column;background:var(--cream);padding:20px;border-radius:8px;margin:15px 0}.income-result strong{font-size:34px}.income-result span{font-size:13px}.recap{margin:12px 0 20px}.recap .line{font-size:12px}.error{color:#9e3427;font-size:13px}.notice{background:#f1f4ed;padding:12px;border-radius:7px;font-size:12px;margin:16px 0}details{margin-top:12px}summary{cursor:pointer;font-size:13px}#socialSetup{max-width:850px}.social-cas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:15px 0 20px}.history-year{padding:12px;border:1px solid var(--line);border-radius:7px}.history-year b{display:block;font-size:17px}.history-year small{display:block;font-size:11px;margin:4px 0}.social-cas>details{grid-column:1/-1}.frise{overflow-x:auto;max-width:100%;padding-bottom:8px}.year-line{min-width:1120px;border-top:1px solid var(--line);padding:14px 0}.year-heading{display:flex;align-items:center;gap:10px}.year-heading h3{font-size:22px;margin:0}.aid-badge{font-size:11px;min-height:28px;padding:2px 8px;border-radius:20px;background:var(--cream)}.year-income{font-size:12px;color:var(--muted);margin:3px 0 0}.calendar-content{display:grid;grid-template-columns:minmax(0,1fr) 165px;gap:30px}.calendar-plot{position:relative;height:110px;margin:0 8px}.month-axis{position:absolute;top:17px;left:0;right:0;display:grid;grid-template-columns:repeat(12,1fr);border-top:2px solid #91a384}.month-tick{position:relative;text-align:center;font-size:10px;color:var(--muted);padding-top:9px}.month-tick:before{content:'';position:absolute;width:1px;height:8px;background:#829474;top:-5px;left:50%}.calendar-pin{position:absolute;top:3px;transform:translateX(-50%);width:70px;border:0;background:transparent!important;padding:0;text-align:center;min-height:65px}.pin-dot{display:block;width:9px;height:9px;border:2px solid #547742;border-radius:50%;background:var(--lime);margin:8px auto 25px}.pin-label{display:inline-block;white-space:nowrap;background:var(--cream);border:1px solid #a4bf94;border-radius:6px;font-size:11px;font-weight:600;padding:6px 5px;min-width:55px}.calendar-pin:hover .pin-label{background:var(--lime);border-color:#71984c}.calendar-pin.regularization{top:75px;min-height:30px}.regularization .pin-dot{display:none}.regularization .pin-label{background:#faf0e2;border-color:#c8a37a}.calendar-total{padding:18px 0 0 20px;border-left:1px solid var(--line)}.calendar-total small{display:block}.calendar-total strong{display:block;white-space:nowrap;font-size:22px;font-variant-numeric:tabular-nums}.calendar-total .info-dot{margin-top:5px}.year-line>details{font-size:12px;margin-top:3px}.year-line>details p{max-width:850px;font-size:12px}.reserve-advice{padding:20px 22px;background:var(--cream);border-radius:8px;margin-top:18px;max-width:800px}.reserve-advice h3{font-size:17px;margin-bottom:5px}.reserve-advice p{font-size:15px;margin-bottom:7px}.reserve-advice strong{font-weight:700}dialog{border:1px solid var(--line);border-radius:12px;width:min(550px,calc(100vw - 32px));max-height:85vh;overflow:auto;padding:25px;color:var(--ink)}dialog::backdrop{background:#152c1260}dialog .toolbar{margin-top:22px}#modalBody{white-space:pre-line;overflow-wrap:anywhere}#modalBody>button{display:block;margin-top:20px}#fileStatus:empty{display:none}
@media(max-width:1200px){.layout{grid-template-columns:minmax(0,1fr)}.step-help{position:static}.step-help .line{font-size:13px}.step-help{max-width:none}}
@media(max-width:600px){.sidebar{position:static;width:auto;padding:14px;flex-direction:row;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--line)}.brand{width:65px;height:40px;margin:0 10px 0 0}.sidebar small{display:none}.sidebar button{padding:7px;font-size:12px}main{margin:0;padding:19px 15px}.topbar{align-items:flex-start;gap:10px}h1{font-size:23px}.actions-file{gap:5px}.actions-file button{font-size:11px}.page-description{font-size:13px;margin-bottom:20px}.card{padding:17px}.steps{gap:6px;margin-bottom:22px}.steps button{flex:1 1 40%;padding:7px}.form{grid-template-columns:1fr;gap:13px}h2{font-size:19px}.charge-head{display:none}.charge-main{grid-template-columns:minmax(65px,1fr) 75px 86px 30px;gap:8px}.charge-main .charge-name{grid-column:1/3}.charge-main .amount-wrap{grid-column:1;grid-row:2}.charge-main [data-label]:before{content:attr(data-label);display:block;font-size:9px;color:var(--muted);white-space:nowrap;margin-bottom:3px}.charge-main .recovery-wrap{grid-column:1;grid-row:3}.charge-main .rate-wrap{grid-column:2;grid-row:3}.charge-main .charge-period{align-self:end}.charge-main .charge-period{grid-column:2/4}.charge-main .charge-recovery{grid-column:1}.charge-main input[aria-label="Taux TVA de la charge"]{grid-column:2}.charge-main .info-dot{grid-column:3;grid-row:3;justify-self:end}.charge-main .delete-button{grid-column:4;grid-row:1}.charge-main .charge-recovery:before{content:'TVA'}.charge-main select,.charge-main input{font-size:13px;min-height:40px}.charge{padding:12px 0}.charge-main .charge-recovery{background:#f5f8f1}.charge-main .charge-name{grid-column:1/4}.charge-main .info-dot{width:34px;min-height:34px}.equipment>summary{grid-template-columns:minmax(70px,1fr) auto 28px;gap:6px}.equipment>summary>small{display:none}.material-title{font-size:13px}.material-summary{font-size:12px}.equipment .form{padding:0}.rate-pair{grid-template-columns:1fr;gap:3px}.target-line strong,.income-result strong{font-size:30px}.target-line{gap:0;flex-direction:column}.social-cas{grid-template-columns:1fr}.social-actions{align-items:flex-start}.social-actions h2{font-size:18px}.social-actions button{font-size:11px}.reserve-advice{padding:16px}.actions button{font-size:12px}.info-dot{min-width:30px;min-height:30px}.charge-footer{flex-direction:column;align-items:flex-start}}
