*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#14233b;background:#f5f8fd;line-height:1.65}a{color:#1556b2}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #80b6ff;outline-offset:3px}header,footer{background:#fff;border-bottom:1px solid #e0e7f0}.header-inner,.footer-inner{max-width:1060px;margin:auto;padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.brand{font-weight:850;font-size:1.35rem;text-decoration:none;color:#123e82}.header-note{font-size:.85rem;color:#53647c}main{max-width:1060px;margin:0 auto;padding:2rem 1.25rem 4rem;min-height:70vh}.hero{padding:2.5rem 0 2rem;max-width:780px}.eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.09em;font-weight:750;color:#1556b2}h1{font-size:clamp(2.1rem,5vw,3.6rem);line-height:1.15;letter-spacing:-.04em;margin:.6rem 0}h2{line-height:1.3}.hero p{font-size:1.1rem;color:#52647c}.section-title{margin:1.5rem 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.card,.calculator-form,.result,.explanation,.related,.about{display:block;background:white;border:1px solid #e0e7f0;border-radius:16px;padding:1.6rem;box-shadow:0 5px 24px #14233b0a}.card{color:inherit;text-decoration:none;transition:transform .15s,border-color .15s}.card:hover{border-color:#1556b2;transform:translateY(-2px)}.card h2{font-size:1.2rem;margin:0 0 .6rem}.card p{color:#53647c;margin:0}.tool-page{max-width:790px}.tool-page h1{font-size:clamp(2rem,4vw,3rem)}nav{margin:0 0 1.5rem}nav a{text-decoration:none}.calculator-form{margin-top:1.6rem}label{display:block;margin:1rem 0 .35rem;font-weight:650}input{display:block;width:100%;padding:.85rem;border:1px solid #9eacc0;border-radius:9px;font:inherit}button{margin-top:1.3rem;padding:.85rem 1.35rem;border:0;border-radius:9px;background:#1556b2;color:white;font:inherit;font-weight:750;cursor:pointer}button:hover{background:#0e4089}.result{margin-top:1rem;font-size:1.35rem;font-weight:750;border-left:4px solid #1556b2}.explanation,.related,.about{margin-top:1.5rem}.explanation h2,.related h2,.about h2{margin-top:0}.explanation h3{margin-bottom:.3rem}.explanation p{margin-top:.2rem}.muted,small{color:#53647c}.footer-inner{flex-wrap:wrap}footer{border-top:1px solid #e0e7f0;border-bottom:0}@media(max-width:600px){.header-note{display:none}.hero{padding:1.5rem 0}.calculator-form,.result,.explanation,.related,.about{padding:1.2rem}main{padding-top:1.4rem}.grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}}
:root{color-scheme:light;--bg:#f5f8fd;--surface:#fff;--text:#14233b;--muted:#53647c;--border:#e0e7f0;--accent:#1556b2;--input:#fff;--shadow:#14233b0a}
html[data-theme="dark"]{color-scheme:dark;--bg:#0d1221;--surface:#1b2336;--text:#f3f5fc;--muted:#bbc7dc;--border:#35415a;--accent:#a998ff;--input:#11192b;--shadow:#0004}
body{background:var(--bg);color:var(--text)}header,footer{background:var(--surface);border-color:var(--border)}.brand{color:var(--text);display:inline-flex;align-items:center;gap:.6rem}.brand img{width:34px;height:34px}.header-note,.muted,small,.card p,.hero p{color:var(--muted)}a{color:var(--accent)}.card,.calculator-form,.result,.explanation,.related,.about,.panel{background:var(--surface);border-color:var(--border);box-shadow:0 5px 24px var(--shadow)}.card{color:var(--text)}.card:hover{border-color:var(--accent)}.eyebrow{color:var(--accent)}.result{border-left-color:var(--accent)}input,select{background:var(--input);color:var(--text);border:1px solid var(--border);border-radius:9px;padding:.72rem;font:inherit;width:100%;min-width:0}button{background:#4d55c9}button:hover{background:#353ca6}.theme-toggle{margin:0;background:transparent;color:var(--text);border:1px solid var(--border);font-size:.9rem;padding:.55rem .8rem}.theme-toggle:hover{background:var(--bg)}.header-actions{display:flex;align-items:center;gap:.75rem}.panel{border:1px solid var(--border);border-radius:16px;padding:1.25rem;margin:1rem 0}.panel h2{margin:0 0 1rem}.panel h3{margin:.5rem 0}.inline-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.secondary-button{background:transparent;color:var(--accent);border:1px solid var(--border);margin:.4rem 0}.secondary-button:hover{background:var(--bg)}.danger-button{background:transparent;color:#ce5151;border:1px solid var(--border);margin:0;padding:.6rem}.expense-row{display:grid;grid-template-columns:minmax(110px,1.5fr) minmax(85px,1fr) minmax(110px,1.2fr) auto;gap:.55rem;align-items:end;border-bottom:1px solid var(--border);padding:1rem 0}.expense-row label,.person-row label{margin:0;font-size:.85rem}.expense-row .expense-beneficiaries{grid-column:1/-1}.person-row{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:end;margin:.6rem 0}.person-row button{margin:0}.expense-row button{margin:0}.help{font-size:.9rem;color:var(--muted)}.results-table{width:100%;border-collapse:collapse}.results-table th,.results-table td{padding:.8rem .5rem;border-bottom:1px solid var(--border);text-align:left}.results-table th:last-child,.results-table td:last-child{text-align:right}.positive{color:#238b65}.negative{color:#c45c5c}html[data-theme=dark] .positive{color:#6cdbac}html[data-theme=dark] .negative{color:#ff9a9a}.result-summary{font-size:1rem;font-weight:400}.result-summary strong{font-size:1.35rem}.note{padding:.75rem;border-radius:10px;background:var(--bg);color:var(--muted)}.hidden{display:none!important}@media(max-width:650px){.expense-row{grid-template-columns:1fr 1fr}.expense-row .expense-beneficiaries{grid-column:1/-1}.header-inner{gap:.5rem}.header-note{display:none}.results-table{font-size:.9rem}}

/* Calculo design system — V4 */
:root{--bg:#f6f7fc;--surface:#fff;--surface2:#f1f3fa;--text:#171b2c;--muted:#626a80;--border:#e1e5f0;--accent:#7251e8;--accent2:#4d80ed;--input:#fff;--shadow:rgba(32,34,78,.06);--glow:rgba(114,81,232,.10)}
html[data-theme="dark"]{--bg:#0e101d;--surface:#191c2d;--surface2:#22263a;--text:#f6f5ff;--muted:#a9aec6;--border:#363a52;--accent:#a37bff;--accent2:#7198ff;--input:#141727;--shadow:rgba(0,0,0,.24);--glow:rgba(125,86,255,.14)}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.55}a{color:var(--accent)}.site-header{background:color-mix(in srgb,var(--bg) 85%,transparent);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20;backdrop-filter:blur(16px)}.header-inner{max-width:1190px;padding:14px 24px}.brand{font-size:1.65rem;font-weight:800;letter-spacing:-.055em}.brand img{width:39px;height:39px}.site-nav{display:flex;align-items:center;gap:28px;margin:0}.site-nav a{font-size:.91rem;font-weight:650;color:var(--muted);text-decoration:none;transition:color .2s}.site-nav a:hover,.site-nav a:focus-visible{color:var(--accent)}.theme-toggle{border-radius:99px;padding:9px 14px;background:var(--surface2);border:1px solid var(--border);font-size:.85rem;font-weight:650;white-space:nowrap}.theme-toggle:hover{background:var(--surface2);border-color:var(--accent)}main{max-width:1190px}.home-main{padding-top:0}.hero{text-align:center;max-width:none;position:relative;padding:82px 20px 68px;isolation:isolate;overflow:hidden}.hero:before{content:"";position:absolute;inset:-110px -15% 0;background:radial-gradient(ellipse 36% 40% at 18% 55%,var(--glow),transparent 80%),radial-gradient(ellipse 38% 40% at 85% 50%,var(--glow),transparent 80%);z-index:-1;pointer-events:none}.eyebrow{font-size:.76rem;letter-spacing:.11em;font-weight:800;color:var(--accent)}.hero h1{font-size:clamp(2.65rem,6vw,4.4rem);font-weight:850;line-height:1.1;margin:18px 0;letter-spacing:-.065em}.gradient-text{background:linear-gradient(95deg,var(--accent),var(--accent2));background-clip:text;color:transparent}.hero p{max-width:590px;margin:0 auto 27px;font-size:1.08rem;color:var(--muted)}.search-wrap{display:flex;align-items:center;gap:13px;max-width:565px;margin:0 auto;background:var(--surface);border:1px solid var(--border);box-shadow:0 14px 35px var(--shadow);border-radius:15px;padding:8px 14px}.search-wrap>span{font-size:1.8rem;color:var(--muted)}.search-wrap input{border:0;outline:0;box-shadow:none;background:transparent;padding:9px 0;flex:1;min-width:0;font-size:.98rem}.search-wrap input:focus{outline:0}.search-wrap:focus-within{outline:2px solid var(--accent)}.search-wrap kbd{background:var(--surface2);color:var(--muted);border:1px solid var(--border);padding:4px 8px;border-radius:7px;font-size:.75rem;white-space:nowrap}.catalog-head{display:flex;align-items:end;justify-content:space-between;gap:12px}.section-title{margin:7px 0 0;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.04em}.tool-count{font-size:.84rem;color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0 22px}.filter-chip{margin:0;padding:10px 19px;border-radius:99px;background:var(--surface);border:1px solid var(--border);color:var(--muted);font-size:.9rem;font-weight:650}.filter-chip:hover{background:var(--surface2)}.filter-chip.active{background:linear-gradient(120deg,#7251e8,#8d66fb);color:white;border-color:transparent}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.card{position:relative;min-height:217px;padding:24px;border-radius:17px;background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 26px var(--shadow);transition:transform .18s,border-color .18s,box-shadow .18s}.card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 16px 35px var(--shadow)}.card.featured{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 10px 25px var(--shadow)}.card-icon,.page-icon,.banner-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:13px;background:linear-gradient(135deg,rgba(114,81,232,.24),rgba(77,128,237,.15));color:var(--accent);font-size:1.6rem;font-weight:750}.card h3{font-size:1.12rem;letter-spacing:-.025em;margin:14px 0 8px}.card p{font-size:.9rem;line-height:1.55;max-width:32ch;padding-right:10px}.card-arrow{position:absolute;right:22px;bottom:16px;font-size:1.35rem;color:var(--text)}.feature-banner{display:flex;gap:16px;align-items:center;padding:22px;margin-top:27px;border:1px solid var(--border);border-radius:17px;background:linear-gradient(120deg,var(--surface),var(--surface2));color:var(--text);text-decoration:none}.feature-banner strong,.feature-banner small{display:block}.feature-banner small{margin-top:4px;font-size:.86rem}.banner-icon{border-radius:50%;flex-shrink:0}.banner-arrow{margin-left:auto;font-size:1.5rem}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:45px 0}.benefits>div{display:grid;grid-template-columns:36px 1fr;column-gap:8px;align-items:center}.benefits span{grid-row:span 2;color:var(--accent);font-size:1.7rem}.benefits strong{font-size:.94rem}.benefits small{font-size:.8rem}.about{padding:28px;margin-top:15px}.about p{max-width:75ch;color:var(--muted)}.empty-state{padding:20px;text-align:center;color:var(--muted)}
/* All calculator pages */
.tool-page,.budget-main{padding-top:40px}.tool-page h1,.budget-main h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.05em}.calculator-form,.result,.explanation,.related,.about,.panel{border-radius:17px}.calculator-form,.panel{padding:24px}.calculator-form label{font-size:.92rem}.calculator-form input,.panel input,.panel select{border-radius:10px;background:var(--input);border:1px solid var(--border);padding:12px}.calculator-form input:focus,.panel input:focus,.panel select:focus{border-color:var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 25%,transparent)}button:not(.theme-toggle):not(.filter-chip):not(.secondary-button):not(.danger-button){background:linear-gradient(120deg,#7251e8,#855ef5);border-radius:10px}button:not(.theme-toggle):not(.filter-chip):not(.secondary-button):not(.danger-button):hover{filter:brightness(1.1)}.result{border-left:4px solid var(--accent)}.breadcrumb{font-size:.86rem}.breadcrumb a{color:var(--muted)}.page-title{display:flex;align-items:center;gap:17px}.page-title h1{margin:0}.page-icon{width:58px;height:58px;flex-shrink:0}.budget-main>p{max-width:75ch;color:var(--muted)}.budget-main{max-width:1190px}.budget-main form{display:grid;gap:12px}.budget-main .panel{margin:12px 0}.panel h2{display:flex;align-items:center;gap:10px;font-size:1.22rem}.step{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;background:linear-gradient(130deg,#7251e8,#8e6afc);color:white;font-size:.8rem}.person-row{grid-template-columns:1fr auto}.person-row label{font-size:.84rem;color:var(--muted)}.expense-row{grid-template-columns:minmax(125px,1.5fr) minmax(90px,.8fr) minmax(125px,1.2fr) auto}.expense-row label{font-size:.82rem;color:var(--muted)}.expense-row .expense-beneficiaries{padding:3px 0 6px}.expense-row .beneficiaries label{font-weight:500}.secondary-button{padding:10px 15px;border-radius:10px;color:var(--accent)}.danger-button{border-radius:9px}.results-table{display:block;overflow-x:auto}.results-table th{color:var(--muted);font-size:.83rem}.results-table td{font-weight:600}.note{background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:14px}.footer-inner{max-width:1190px}footer{background:var(--bg)}
@media(max-width:850px){.site-nav{gap:13px}.site-nav a{font-size:.8rem}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{padding:65px 12px 52px}}@media(max-width:620px){.header-inner{padding:12px 15px}.brand{font-size:1.3rem}.brand img{width:32px;height:32px}.site-nav{display:none}.theme-toggle{font-size:.76rem;padding:8px 10px}.home-main{padding:0 16px 40px}.hero{padding:53px 0 42px}.hero h1{font-size:2.55rem}.hero p{font-size:.98rem}.search-wrap kbd{display:none}.grid{grid-template-columns:1fr}.card{min-height:190px}.catalog-head{align-items:start}.tool-count{display:none}.filters{gap:7px}.filter-chip{padding:9px 13px;font-size:.82rem}.benefits{grid-template-columns:1fr;gap:15px;margin:30px 0}.feature-banner{padding:17px}.tool-page,.budget-main{padding:24px 15px 40px}.page-title{align-items:start}.page-title h1{font-size:1.85rem}.page-icon{width:44px;height:44px}.expense-row{grid-template-columns:1fr 1fr}.expense-row label:first-child,.expense-row label:nth-child(3){grid-column:1/-1}.expense-row .expense-beneficiaries{grid-column:1/-1}.panel{padding:16px}.calculator-form{padding:17px}}

.export-actions{margin-top:1.5rem;display:flex;align-items:flex-start;flex-direction:column;gap:.4rem}.export-actions button:disabled{opacity:.45;cursor:not-allowed}


/* V6 — affordance: interactive tools vs informational content */
:root{--tool-border:#c8c0f5;--tool-shadow:rgba(94,75,178,.10);--info-bg:#eef1f8}
html[data-theme="dark"]{--tool-border:#6654a0;--tool-shadow:rgba(0,0,0,.28);--info-bg:#151827}
/* Clickable cards have a clearly identifiable accent and action */
#tool-grid .card{border:1px solid var(--tool-border);border-top:3px solid var(--accent);padding-top:22px;box-shadow:0 8px 24px var(--tool-shadow);cursor:pointer}
#tool-grid .card::after{content:"Ouvrir l’outil";position:absolute;bottom:19px;left:24px;font-size:.78rem;font-weight:750;color:var(--accent)}
#tool-grid .card{padding-bottom:57px}
#tool-grid .card-arrow{display:flex;align-items:center;justify-content:center;right:20px;bottom:15px;width:33px;height:33px;border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);transition:transform .18s,background .18s}
#tool-grid .card:hover,#tool-grid .card:focus-visible{transform:translateY(-5px);border-color:var(--accent);box-shadow:0 16px 36px var(--tool-shadow)}
#tool-grid .card:hover .card-arrow,#tool-grid .card:focus-visible .card-arrow{transform:translate(2px,-2px);background:color-mix(in srgb,var(--accent) 22%,transparent)}
#tool-grid .card.featured{border-top-color:var(--accent)}
/* Feature banner is also an actionable link */
.feature-banner{border:1px solid var(--tool-border);border-left:4px solid var(--accent);box-shadow:0 6px 20px var(--tool-shadow);cursor:pointer;transition:border-color .18s,transform .18s,box-shadow .18s}
.feature-banner:hover,.feature-banner:focus-visible{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 12px 26px var(--tool-shadow)}
.banner-arrow{color:var(--accent);font-weight:800}
/* Informational panels: quieter backgrounds, no elevated clickable treatment */
.about,.explanation,.related{background:var(--info-bg);border:1px solid var(--border);box-shadow:none}
.about{border-left:3px solid var(--border)}
.about h2::before{content:"ⓘ";display:inline-block;color:var(--muted);font-size:1rem;margin-right:.6rem;vertical-align:middle}
.benefits{color:var(--muted)}
.benefits strong{color:var(--text)}
@media(prefers-reduced-motion:reduce){#tool-grid .card-arrow,.feature-banner{transition:none}}
