.budget{flex-direction:column;gap:24px;padding-top:12px;display:flex}.budget h1 em.cold{color:var(--s1)}.presets{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.presets .lbl{font:500 12px var(--f-data);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-right:4px}.presets button{font:600 14px var(--f-body);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--r);cursor:pointer;padding:8px 12px}.presets button:hover{border-color:var(--ink)}.budget .layout{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;gap:28px;display:grid}@media (width<=860px){.budget .layout{grid-template-columns:minmax(0,1fr)}}.controls{flex-direction:column;gap:16px;display:flex}fieldset.poste{border:1px solid var(--line);background:var(--surface);border-radius:var(--r);flex-direction:column;gap:14px;min-width:0;margin:0;padding:16px;display:flex}fieldset.poste legend{font:900 22px/1 var(--f-display);font-stretch:var(--display-stretch);text-transform:uppercase;margin-left:-6px;padding:0 6px}.q{flex-direction:column;gap:6px;min-width:0;display:flex}.q>label,.q>.qt{font-size:15px;font-weight:700}.hint,.small{color:var(--muted);font-size:13px}.small{color:var(--ink);font-size:15px}.budget select{font:15px var(--f-body);border:1px solid var(--line);border-radius:var(--r);background:var(--bg);color:var(--ink);max-width:100%;padding:9px 10px}.seg{flex-wrap:wrap;gap:4px;display:flex}.seg label{position:relative}.seg input{opacity:0;margin:0;position:absolute;inset:0}.seg span{font:600 14px var(--f-body);border:1px solid var(--line);border-radius:var(--r);background:var(--bg);cursor:pointer;padding:7px 11px;display:block}.seg input:checked+span{background:var(--ink);color:var(--bg);border-color:var(--ink)}.seg input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}.seg input:disabled+span{opacity:.4;cursor:default}.stepper{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stepper button{border:1px solid var(--line);background:var(--bg);width:36px;height:36px;color:var(--ink);border-radius:var(--r);font:700 18px var(--f-data);cursor:pointer}.stepper output{font:700 20px var(--f-data);text-align:center;min-width:2ch}.stepper .hint{flex:160px}.check{align-items:flex-start;gap:10px;font-size:15px;display:flex}.check input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin-top:2px}.check small{color:var(--muted);font-size:13px;display:block}.check.off{opacity:.45}.fixed{color:var(--muted);border-top:1px dashed var(--line);justify-content:space-between;gap:12px;padding-top:10px;font-size:14px;display:flex}.fixed b{font:700 14px var(--f-data);color:var(--ink);white-space:nowrap}.panel{top:calc(env(safe-area-inset-top,0px) + 12px);flex-direction:column;gap:18px;display:flex;position:sticky}@media (width<=860px){.panel{position:static}}.total{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.total .n{font:900 clamp(56px,10vw,84px)/.9 var(--f-display);font-stretch:var(--display-stretch);font-variant-numeric:tabular-nums}.total .u{font:700 16px var(--f-data);color:var(--muted)}.total .sw{border-radius:2px;align-self:center;width:14px;height:44px}.verdict{max-width:52ch;margin-top:8px;font-size:16px}.ruler{margin-top:22px;padding-bottom:34px;position:relative}.ruler .band{background:var(--surface);border-radius:2px;gap:2px;height:22px;display:flex;overflow:hidden}.ruler .band i{flex:1}.ruler .ticks{height:16px;font:500 11px var(--f-data);color:var(--muted);position:relative}.ruler .ticks span{position:absolute;top:4px;transform:translate(-50%)}.mk{border-left:2px solid var(--ink);width:0;position:absolute;top:-8px;bottom:22px}.mk .tag{font:700 11px var(--f-data);white-space:nowrap;background:var(--surface);padding:0 2px;position:absolute;bottom:-32px;transform:translate(-50%)}.mk.goal{border-left-style:dashed}.mk.avg{border-left:2px dotted var(--muted)}.mk.avg .tag{color:var(--muted);top:-18px;bottom:auto}.mk.you{border-left-width:3px;transition:left .35s cubic-bezier(.2,.8,.2,1)}.mk.you:before{content:"";border:7px solid #0000;border-top:9px solid var(--ink);position:absolute;top:-2px;left:-8px}.row.locked .name:after{content:" · hors de portée individuelle";color:var(--muted);font-size:13px;font-weight:400}.legend{color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:12px;font-size:13px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{background:var(--s3);border-radius:2px;width:16px;height:10px;display:inline-block}.legend i.dot{border-left:2px dotted var(--muted);border-radius:0;width:0;height:14px}ol.levers{flex-direction:column;gap:8px;margin:0;padding-left:22px;display:flex}ol.levers b{font-family:var(--f-data);white-space:nowrap}.floor{background:var(--next-bg);color:var(--next-ink);border-radius:var(--r);flex-direction:column;gap:8px;padding:18px;display:flex}.floor h2{font:900 22px/1.1 var(--f-display);font-stretch:var(--display-stretch);text-transform:uppercase;margin:0}.floor a{color:var(--next-ink);font-weight:700}.budget .col{flex-direction:column;gap:24px;margin-top:24px;display:flex}.mini{display:none}@media (width<=860px){body:before{content:"";height:env(safe-area-inset-top,0px);z-index:10;background:var(--surface);position:fixed;inset:0 0 auto}.mini{top:env(safe-area-inset-top,0px);z-index:5;background:var(--surface);border-bottom:1px solid var(--line);margin-inline:calc(-1 * max(16px,env(safe-area-inset-left,0px))) calc(-1 * max(16px,env(safe-area-inset-right,0px)));padding-block:8px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));align-items:center;gap:12px;display:flex;position:sticky}.mini .n{font:900 26px/1 var(--f-display);font-stretch:var(--display-stretch);white-space:nowrap}.mini .g{background:var(--track);border-radius:2px;flex:1;min-width:0;height:10px;position:relative}.mini .g i{border-radius:0 4px 4px 0;transition:width .35s;position:absolute;inset:0 auto 0 0}.mini .g b{border-left:2px dashed var(--ink);position:absolute;top:-3px;bottom:-3px}.mini .t{font:500 11px var(--f-data);color:var(--muted);white-space:nowrap}}
