.budget{max-width:1120px;padding-block:clamp(2rem,5vw,5rem);color:var(--ink,#202923)}
.budget h1{font-size:clamp(2rem,5vw,3.8rem);line-height:1.08;max-width:850px;margin:0 0 1.3rem}.budget h2{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.2;margin:2.8rem 0 1rem}.budget p{line-height:1.65}.budget-intro{max-width:760px;font-size:1.16rem}.budget-date,.budget-help{font-size:.9rem}.budget-help{margin:.45rem 0;color:#43574f}.budget-kicker{text-transform:uppercase;letter-spacing:.09em;font-size:.8rem;color:#466857}.budget-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:2.2rem;margin-top:2.2rem}.budget fieldset{min-width:0;margin:0 0 1.7rem;padding:1.2rem 0;border:0;border-top:1px solid #bac5be}.budget legend{font-size:1.2rem;font-weight:700;padding:0 .6rem 0 0}.budget label{display:block;font-weight:600;margin:.7rem 0 .35rem}.budget input:not([type=checkbox]),.budget select{width:100%;max-width:100%;min-height:48px;padding:.6rem;border:1px solid #74897c;border-radius:2px;background:#fffdf8;color:#202923;font:inherit}.budget input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:#235941}.budget .budget-check{display:flex;align-items:flex-start;gap:.6rem;font-size:.95rem;font-weight:400;line-height:1.5}.budget .budget-check input{margin-top:.12rem}.budget-pair{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.budget button,.budget-action{background:#235941;color:#fffdf8;border:0;border-radius:2px;font:inherit;font-weight:700;min-height:48px;padding:.8rem 1.2rem;cursor:pointer;display:inline-block;text-decoration:none}.budget button:disabled{opacity:.6;cursor:wait}.budget a{overflow-wrap:anywhere}.budget :focus-visible{outline:3px solid #b36b17;outline-offset:3px}.budget-result{background:#edf1e7;padding:clamp(1rem,2.5vw,2rem);align-self:start;position:sticky;top:1rem}.budget-result h2{margin-top:0;font-size:1.3rem}.budget-total{font-size:clamp(1.7rem,3vw,2.6rem);font-weight:700;line-height:1.15!important;margin:.8rem 0 1.6rem;overflow-wrap:break-word}.budget table{border-collapse:collapse;width:100%;font-size:.88rem}.budget caption{text-align:left;font-weight:700;margin:.6rem 0}.budget th,.budget td{text-align:left;padding:.6rem .35rem;border-bottom:1px solid #c1cabe;vertical-align:top;overflow-wrap:anywhere}.budget td{font-variant-numeric:tabular-nums}.budget th{font-weight:600}.budget-result tbody th{width:40%}.budget-result td{white-space:nowrap;overflow-wrap:normal}.budget-table{overflow-x:auto}.budget-table table{min-width:270px}.budget-result p:not(.budget-total){font-size:.88rem}.budget-error{color:#8c2419;font-weight:600}.budget [hidden]{display:none!important}.budget details{border-bottom:1px solid #bac5be;padding:1rem 0}.budget summary{cursor:pointer;font-weight:600;min-height:32px}.budget-reperes{overflow-x:auto}.budget-reperes table{min-width:580px}.budget-sources{font-size:.86rem;padding-top:1rem;border-top:1px solid #bac5be}.budget-links{display:flex;flex-wrap:wrap;gap:1rem}.budget-etat{font-size:.9rem}.budget-noscript{padding:1rem;background:#edf1e7}
@media(max-width:760px){.budget-layout{grid-template-columns:1fr;gap:1rem}.budget-result{position:static}.budget h1{font-size:2.3rem}.budget th,.budget td{padding:.5rem .2rem}.budget-result{padding:1rem}.budget-total{font-size:1.9rem}.budget-result table{font-size:.8rem}.budget-pair{gap:.5rem}.budget input:not([type=checkbox]),.budget select{font-size:16px}.budget button{width:100%}}
@media(prefers-reduced-motion:reduce){.budget *{scroll-behavior:auto}}
