/* Maison · système d’interface commun · 23 octobre 2026 */
:root{color-scheme:light;--paper:#F3F5FA;--white:#FFF;--ink:#18243B;--muted:#5E6B82;--line:#E4E9F2;--teal:#2861DF;--clay:#2861DF;--mint:#EDF3FF;--peach:#FFF1EA;--gold:#8A5E08;--shadow:0 4px 20px #192C5605;--radius:20px;--space:24px;--navy:#142B50;--blue:#2861DF}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 "Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;color:inherit;background:transparent}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7299FF;outline-offset:3px}a{color:var(--blue);text-underline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:34px;line-height:1.18;letter-spacing:-1px;font-weight:700}h2{font-size:20px;line-height:1.35;letter-spacing:-.35px}h3{font-size:16px;line-height:1.4}.muted,.help,small{color:var(--muted)}small{font-size:12px}.help{font-size:13px;line-height:1.6}.warning{color:#A13D28}.eyebrow{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.heading .eyebrow{display:none}.line-icon{flex-shrink:0;vertical-align:middle}
.demo{display:flex;justify-content:center;gap:12px;padding:6px 16px;font-size:11px;background:#E9EDF6;color:#42516D}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--blue);margin-right:6px}.layout{display:grid;grid-template-columns:196px minmax(0,1fr);min-height:calc(100vh - 29px)}.shell{min-width:0}.sidebar{background:#F9FAFE;padding:32px 18px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:32px;height:calc(100dvh - 29px);position:sticky;top:0;overflow-y:auto}.brand,.mobile-brand{font-size:32px;font-weight:800;letter-spacing:-1.6px;color:var(--blue);line-height:1.1}.brand small{display:block;font-size:9px;font-weight:600;letter-spacing:1px;line-height:1.8;margin-top:8px;color:var(--muted)}.sidebar .brand{padding:0 8px}.sidebar-foot{margin-top:auto;padding:12px 8px 0;font-size:11px;line-height:1.8;color:var(--muted)}.sidebar-foot strong{color:var(--ink);font-weight:600}.nav{display:flex;flex-direction:column;gap:8px}.nav button,.nav-group>summary{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px;border-radius:12px;min-height:48px;font-size:14px;color:#4D5D76}.nav button .line-icon,.nav summary .line-icon{width:21px;height:21px}.nav button.active{background:#E4EEFF;color:#1554CE;font-weight:700}.nav button:hover:not(.active),.nav-group>summary:hover{background:#EEF2FA}.nav-group{padding:0;margin:0;border:0;border-radius:0}.nav-group>summary{list-style:none;cursor:pointer}.nav-group>summary::-webkit-details-marker{display:none}.nav-group[open]>summary{color:var(--blue);font-weight:600}.nav-children{padding:3px 0 4px 15px;border-left:1px solid #DFE6F4;margin:2px 0 6px 21px;display:grid;gap:2px}.nav-children button{padding:9px 11px;font-size:13px;min-height:42px}.nav-children .line-icon{display:none}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:74px;padding:16px 32px}.date{font-size:13px;color:var(--muted)}.rolebox{display:flex;align-items:center;gap:8px}.a-profile{font-size:13px;font-weight:600;margin-right:5px}.rolebox .btn{min-height:40px;padding:8px 12px;font-size:12px}.content{width:100%;max-width:1400px;padding:20px 32px 48px;margin:auto;min-width:0}.heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.heading p{font-size:14px;color:var(--muted);margin-top:8px;max-width:640px}.heading>.actions{justify-content:flex-end}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.btn,.button{min-height:46px;border-radius:12px;padding:11px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:600;text-decoration:none;line-height:1.4;max-width:100%}.btn.primary,.button{background:var(--blue);color:white;border:1px solid var(--blue)}.btn.secondary{background:#F0F5FF;border:1px solid transparent;color:#1B53BD}.btn.primary:hover,.button:hover{background:#1C4FC3}.btn.secondary:hover{background:#E3EDFF}.textbtn{color:#1856CE;text-decoration:underline;text-underline-offset:4px;min-height:40px;font-size:13px;padding:6px 0;font-weight:600}.card{background:var(--white);border:1px solid #ECF0F6;border-radius:var(--radius);padding:var(--space);min-width:0;box-shadow:var(--shadow)}.content>.card+.card{margin-top:20px}.card>p{margin:14px 0}.card-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:18px}.card-head p{margin-top:5px}.stack{display:grid;gap:20px;min-width:0}.grid,.split,.twocol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.spaced,.a-spaced{margin-top:22px}.storage-note{font-size:11px;color:var(--muted);margin-top:28px;line-height:1.7}.notice,.note{background:#EDF3FF;color:#35517D;border-radius:12px;padding:14px 16px;font-size:13px;line-height:1.6;margin:16px 0}.notice.error{background:#FFF0EC;color:#9C3524}.note{display:flex;gap:10px}.badge,.chip,.status{display:inline-flex;align-items:center;padding:5px 10px;border-radius:8px;font-size:12px;font-weight:600;background:#EEF1F7;color:#536078;white-space:nowrap}.badge.approved,.badge.paid,.badge.received,.badge.done{background:#E7F7EF;color:#166346}.badge.pending,.badge.changes,.badge.proposed{background:#FFF2D9;color:#80520D}.empty{padding:24px 20px;text-align:center;background:#F5F7FC;border-radius:14px;color:var(--muted);font-size:14px}.empty p{margin-top:6px}.between{display:flex;justify-content:space-between;align-items:center;gap:12px}.list-row,.ticket-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);min-width:0;flex-wrap:wrap}.list-row:last-child,.ticket-row:last-child{border:0}.list-row p{font-size:13px;margin-top:4px;color:var(--muted)}.row-main{flex:1;min-width:150px}.list-row .actions{gap:8px}.status-line{display:flex;justify-content:space-between;align-items:start;gap:18px;flex-wrap:wrap;margin-bottom:18px}.status-line p{margin-top:5px}.person{width:52px;height:52px;display:inline-grid;place-items:center;background:#E8EEFF;color:#4452B1;border-radius:17px;object-fit:cover;flex-shrink:0;font-weight:700}.photo-preview{max-width:140px;max-height:140px;border-radius:16px}.history{max-height:280px;overflow:auto}.history p{padding:10px 0;border-bottom:1px solid var(--line)}
details{padding:16px 18px;border:1px solid var(--line);border-radius:14px;margin-bottom:14px;background:#FFFFFF80}summary{font-size:14px;font-weight:600;cursor:pointer;min-height:28px;line-height:1.7}details[open]>summary{margin-bottom:14px}details>p+p{margin-top:12px}.table-wrap{overflow-x:auto}.ledger,.stock-table{width:100%;border-collapse:collapse;font-size:14px}.ledger th,.stock-table th{text-align:left;padding:12px 10px;color:var(--muted);font-size:12px;font-weight:600;border-bottom:1px solid var(--line)}.ledger td,.stock-table td{padding:15px 10px;border-bottom:1px solid var(--line);vertical-align:top}.ledger td small{display:block;margin-top:4px}.ledger td:last-child{text-align:right;font-weight:650;white-space:nowrap}.ledger td:first-child{color:var(--muted);white-space:nowrap}.ledger tr:last-child td{border:0}.filter{max-width:230px}.stock-table input{min-width:100px;max-width:140px}
input,select,textarea{font:inherit;width:100%;max-width:100%;min-height:46px;border:1px solid #D7DFEC;border-radius:11px;background:#FAFBFE;color:var(--ink);padding:11px 13px}textarea{min-height:96px;resize:vertical}input[type=checkbox]{width:22px;height:22px;min-height:22px;accent-color:var(--blue);flex-shrink:0}input[type=month],input[type=date]{font-size:14px}label{display:block;font-weight:600}label input,label select,label textarea{margin-top:7px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.fields .full{grid-column:1/-1}.check{display:flex;gap:12px;align-items:center;font-weight:400;font-size:13px}.check input{margin:0}
dialog{border:1px solid #E3EAF5;background:#FFF;color:var(--ink);border-radius:22px;padding:28px;width:min(680px,calc(100vw - 48px));max-width:680px;max-height:88dvh;overflow-y:auto;box-shadow:0 24px 90px #10274A22}dialog::backdrop{background:#142B5060;backdrop-filter:blur(2px)}dialog h2{font-size:25px;letter-spacing:-.5px;margin:2px 40px 20px 0}dialog>button[data-action=close]{float:right;border-radius:50%;min-width:40px;min-height:40px;font-size:24px;background:#F1F4FA;padding:0}#editor label{font-size:14px;margin:16px 0}#editor .check{font-weight:400;font-size:13px}.form-actions{position:sticky;bottom:-28px;background:white;display:flex;justify-content:flex-end;gap:10px;padding:16px 0 6px;border-top:1px solid var(--line);margin-top:20px}.form-actions .btn{min-width:110px}#form-error{margin-top:12px}#form-error:empty{display:none}.ingredient{display:grid;grid-template-columns:minmax(0,1fr) 80px 100px 40px;gap:7px;align-items:center;margin:10px 0}.ingredient input,.ingredient select{min-width:0;font-size:13px}.ingredient button{font-size:22px;min-width:36px;min-height:44px;background:#F2F5FC;border-radius:10px}.amount-input{font-size:34px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-1px;background:#F6F8FF;min-height:72px}.preview{padding:18px;background:#EDF3FF;border-radius:14px;font-size:14px;line-height:1.7;margin:18px 0}.preview strong{display:block;font-size:21px;color:var(--ink)}.nav-dialog-links{display:grid;gap:8px}.nav-dialog-links .btn{justify-content:flex-start}
.login{max-width:660px;margin:6vh auto;padding:30px}.login .brand{font-size:40px;margin-bottom:26px}.login h1{font-size:35px;line-height:1.2}.login p{margin:16px 0}.login .eyebrow{font-size:11px}.profiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.profiles button{display:flex;flex-direction:column;align-items:start;gap:8px;min-height:112px;background:white;border:1px solid var(--line);border-radius:18px;padding:22px;text-align:left;font-size:17px}.profiles button:hover{border-color:#86A6F2;background:#F8FAFF}.profiles small{font-size:12px;font-weight:400}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;max-width:min(440px,calc(100vw - 40px));padding:14px 20px;border-radius:14px;font-size:13px;z-index:100;box-shadow:0 8px 25px #142B5026}.toast:empty{display:none}
.a-home h1{font-size:40px;letter-spacing:-1.2px;margin-bottom:8px}.home-intro{color:var(--muted);margin-bottom:24px}.a-today-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:22px}.a-meal-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:center;background:white;border:1px solid #ECF0F6;border-radius:20px;padding:20px}.a-meal-icon{background:#EDF3FF;color:#2E63CF;width:52px;height:52px;border-radius:16px;display:grid;place-items:center}.a-meal-text h2{font-size:20px}.a-meal-text p{font-size:14px;color:var(--muted);margin-top:4px}.a-meal-status{display:flex;align-items:center;gap:6px;font-size:12px;border-radius:9px;padding:8px 10px;background:#FFF2D9;color:#80520D}.a-meal-status svg{width:16px;height:16px}.a-meal-status.is-approved{background:#E7F7EF;color:#166346}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.a-quick-action{display:grid;grid-template-columns:48px minmax(0,1fr) 18px;gap:16px;align-items:center;min-height:150px;border-radius:20px;padding:26px;text-align:left;background:#FFF;border:1px solid #ECF0F6}.a-quick-action>.line-icon{width:38px;height:38px;color:var(--blue)}.a-quick-action strong{display:block;font-size:22px;letter-spacing:-.4px;line-height:1.25}.a-quick-text>span{display:block;margin-top:8px;font-size:14px;color:var(--muted);line-height:1.6}.a-quick-action.primary{background:var(--navy);color:#FFF;border-color:var(--navy)}.a-quick-action.primary>.line-icon{color:#ADC6FF}.a-quick-action.primary .a-quick-text>span{color:#D5E1F9}.a-quick-action:hover{border-color:#A9BFF2}.a-chevron svg{width:17px;height:17px}.home-manager .quick-grid{margin-bottom:24px}.home-manager .a-quick-action{min-height:136px}.home-manager .a-today-grid{margin-bottom:0}.home-section-title{font-size:19px;margin:26px 0 16px}
.a-week-picker{display:flex;align-items:center;gap:10px}.a-week-picker label{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:10px}.a-week-picker input{width:155px;margin:0;min-height:43px}.a-week-picker .btn{min-width:42px;padding:10px 12px}.week-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#EDF3FF;padding:16px 20px;border-radius:14px;margin-bottom:20px;font-size:14px}.week-banner p{font-size:12px;color:var(--muted);margin-top:4px}.week-card{padding:8px 20px}.week-head,.week-row{display:grid;grid-template-columns:76px repeat(2,minmax(0,1fr));gap:14px}.week-head{font-size:13px;color:var(--muted);padding:14px 0}.week-row{border-top:1px solid var(--line);padding:10px 0}.week-day{display:flex;align-items:center;gap:8px;font-size:14px}.week-day span{color:var(--muted)}.meal-cell{background:#F7F9FD;text-align:left;border-radius:12px;border:1px solid #EEF2F8;padding:14px 16px;min-height:78px;min-width:0}.meal-cell:hover:not(:disabled){background:#EDF3FF;border-color:#B6CBF9}.meal-cell:disabled{opacity:1}.meal-cell strong{display:block;font-size:15px;font-weight:600}.meal-cell small{display:block;font-size:12px;margin-top:6px}.meal-cell small span{float:right;font-size:17px}.week-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px}.week-bottom>p{font-size:13px;max-width:460px}.extras-card{margin-top:24px}.need-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.need-chip{padding:16px;background:#F7F9FE;border-radius:14px;border:1px solid #EDF1F8}.a-need-main{text-align:left;display:block;width:100%;padding:0;min-height:70px}.a-need-main:disabled{opacity:1}.a-need-main strong{display:block;font-size:15px;margin:7px 0}.a-need-main>span{font-size:13px;color:var(--muted)}.a-remove-need{font-size:12px}.a-secondary-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.shopping-list{list-style:none;padding:0;margin:8px 0}.shopping-list li{padding:14px 0;border-bottom:1px solid var(--line)}.shopping-list label{display:flex;gap:14px;align-items:center;cursor:pointer}.shopping-list strong{display:block;font-weight:600}.shopping-list small{display:block;margin-top:3px}.shopping-group{margin-top:26px}.shopping-group h3{font-size:13px;letter-spacing:.3px;color:var(--muted)}.shopping-list input:checked+span{opacity:.6;text-decoration:line-through}.single-list{max-width:none}.a-ticket-history{margin-top:24px}.ticket-row{font-size:14px}.ticket-row p{font-size:13px;margin-top:4px}.planning-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}.planning-day h2{font-size:18px;text-transform:capitalize}.planning-day .list-row{font-size:14px;padding:14px 0}.planning-day .btn{min-height:40px;font-size:12px;padding:9px 12px}.planning-day .row-main{min-width:140px}.planning-day p{font-size:12px}
.ds-tabs{display:flex;gap:4px;background:#EAF0FA;padding:5px;border-radius:13px;width:fit-content;margin-bottom:24px}.ds-tabs button{font-size:14px;min-height:42px;padding:9px 18px;border-radius:10px;color:#52617C}.ds-tabs button[aria-selected=true]{background:#FFF;color:#1554CD;box-shadow:0 2px 6px #243D6F08;font-weight:650}.finance-head{margin-bottom:20px}.a-finance-period{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}.a-finance-period input{width:164px;margin:0}.finance-stats{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:18px;margin-bottom:20px}.stat{padding:22px;border-radius:18px;background:#FFF;border:1px solid #ECF0F6;min-width:0}.stat p{font-size:13px;color:var(--muted)}.stat strong{display:block;font-size:28px;letter-spacing:-.8px;margin:8px 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.2}.stat small{font-size:12px;display:block}.stat.featured{background:var(--navy);color:white;border-color:var(--navy)}.stat.featured p,.stat.featured small{color:#D4E1FA}.stat-icon{display:flex;justify-content:space-between;align-items:center}.ds-icon{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:13px;flex-shrink:0;background:#EDF3FF;color:#2861DF}.ds-icon .line-icon{width:21px;height:21px}.tone-courses{--tone:#2861DF;--tint:#EAF1FF}.tone-personnel{--tone:#7443C4;--tint:#F0EAFE}.tone-vehicules{--tone:#BC491E;--tint:#FFF0E8}.tone-maison{--tone:#168357;--tint:#E7F6EF}.tone-autres{--tone:#61738F;--tint:#EFF2F7}.ds-icon[class*=tone-]{background:var(--tint);color:var(--tone)}.featured .ds-icon{background:#FFFFFF17;color:#D1E0FF}.overview-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:20px;align-items:start}.category-list{margin:0;padding:0;list-style:none}.category-row{display:grid;grid-template-columns:38px 100px minmax(30px,1fr) 148px;align-items:center;gap:12px;min-height:68px;border-bottom:1px solid #F0F3F8}.category-row:last-child{border:0}.category-row .ds-icon{width:36px;height:36px;border-radius:12px}.category-row strong{font-size:14px;font-weight:600}.category-value{text-align:right;font-size:13px;font-variant-numeric:tabular-nums}.category-value small{display:block;font-size:11px;margin-top:2px}.category-row progress{margin:0}.next-step{background:#F0EEFF}.next-step h3{margin:14px 0 6px;font-size:18px}.next-step p{font-size:13px;color:var(--muted);margin-bottom:10px}.mini-goal+.mini-goal{margin-top:18px}.mini-goal-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;gap:12px}.mini-goal p{font-size:12px;color:var(--muted);margin-top:5px}.recent-panel{margin-top:20px}.recent-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.recent-row strong{font-size:14px;overflow-wrap:anywhere}.recent-row small{display:block;margin-top:2px}.recent-row>span:last-child{font-weight:650;font-size:14px;font-variant-numeric:tabular-nums}.recent-row .ds-icon{width:36px;height:36px}.amount{font-weight:700;font-variant-numeric:tabular-nums}.finance-simple progress,progress{display:block;width:100%;height:8px;margin:12px 0;border:0;border-radius:9px;overflow:hidden;appearance:none;background:#EAF0F7;color:var(--tone,var(--blue))}progress::-webkit-progress-bar{background:#EAF0F7;border-radius:9px}progress::-webkit-progress-value{background:var(--tone,var(--blue));border-radius:9px}progress::-moz-progress-bar{background:var(--tone,var(--blue));border-radius:9px}.budget-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.budget-summary p{font-size:13px;margin-top:6px;color:var(--muted)}.budget-summary progress{width:28%;min-width:130px}.finance-budget{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr);gap:20px;align-items:start}.finance-envelope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.finance-envelope{padding:20px}.finance-envelope .between{align-items:center}.finance-envelope h2{display:flex;align-items:center;gap:10px;font-size:16px}.finance-envelope .textbtn{font-size:12px}.finance-big{font-size:26px;font-weight:700;letter-spacing:-.65px;margin:15px 0;line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.finance-envelope .help{font-size:12px}.finance-envelope:last-child{grid-column:1/-1}.finance-action{background:#F0EEFF}.finance-action h3{margin:18px 0 10px}.finance-action ul{padding-left:20px;font-size:14px;line-height:1.9;margin-bottom:18px}.finance-action .help{margin-top:16px}.finance-intro{font-size:14px;color:var(--muted);margin-bottom:20px;max-width:760px;line-height:1.7}.finance-goals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.goal-title{display:flex;align-items:center;gap:12px}.goal-title h2{font-size:20px}.goal-title .ds-icon{background:#E7F6EF;color:#16734C;width:46px;height:46px}.finance-goals .finance-big{font-size:32px;margin:22px 0 4px}.finance-goals .help{margin:6px 0 20px;font-size:12px}.goal-metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 22px}.goal-metrics>div+div{border-left:1px solid var(--line);padding-left:16px}.goal-metrics span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.goal-metrics strong{font-size:15px}.finance-goals .between{align-items:start;flex-wrap:wrap}.finance-goals details{margin:20px 0 0;padding:12px 16px}.finance-goals details p{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.finance-extra{margin-top:24px}.finance-extra .stack{margin-top:20px}.finance-history-filtered .ledger{font-size:13px}.mobile-nav,.mobile-brand{display:none}
@media(min-width:1600px){.planning-days{grid-template-columns:repeat(3,minmax(0,1fr))}.content{padding-left:40px;padding-right:40px}.category-row{grid-template-columns:38px 120px minmax(60px,1fr) 168px}}
@media(min-width:851px) and (max-width:1200px){.layout{grid-template-columns:178px minmax(0,1fr)}.sidebar{padding:28px 12px}.content{padding:18px 24px 40px}.topbar{padding:14px 24px}.heading{flex-wrap:wrap}.finance-stats{gap:12px}.stat{padding:18px}.stat strong{font-size:24px}.overview-grid,.finance-budget{grid-template-columns:1fr}.overview-grid>.stack{grid-template-columns:repeat(2,minmax(0,1fr))}.category-row{grid-template-columns:38px 110px minmax(40px,1fr) 164px}.a-meal-card{grid-template-columns:46px minmax(0,1fr);gap:10px}.a-meal-status{grid-column:2;justify-self:start}.a-meal-icon{width:46px;height:46px;grid-row:1/3}.a-quick-action strong{font-size:20px}.finance-action{display:block}.grid{grid-template-columns:1fr}.need-chips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.layout{display:block}.sidebar{display:none}.topbar{padding:15px 20px;min-height:70px}.mobile-brand{display:block;font-size:28px}.date{display:none}.content{padding:16px 20px 108px}.heading{flex-wrap:wrap;gap:16px;margin-bottom:20px}h1{font-size:29px}.heading p{font-size:13px}.heading>.actions{justify-content:flex-start}.mobile-nav{display:flex;justify-content:space-around;gap:4px;position:fixed;z-index:30;bottom:0;left:0;right:0;border-top:1px solid var(--line);background:#FFFFFFF5;backdrop-filter:blur(12px);padding:8px 12px max(10px,env(safe-area-inset-bottom))}.mobile-nav button{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px;min-height:50px;border-radius:12px;color:var(--muted);padding:4px}.mobile-nav button .line-icon{width:22px;height:22px}.mobile-nav button.active{color:#1554CE;background:#EAF1FF;font-weight:650}.rolebox .btn{font-size:11px;min-height:36px;padding:7px 10px}.rolebox .btn[data-action=refresh]{display:none}.a-profile{font-size:12px}.toast{bottom:94px}.grid,.split,.twocol,.finance-goals{grid-template-columns:1fr}.planning-days{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid,.finance-budget{grid-template-columns:1fr}.finance-stats{grid-template-columns:1fr 1fr;gap:12px}.stat.featured{grid-column:1/-1}.stat.featured strong{font-size:34px}.stat{padding:18px}.stat strong{font-size:23px}.overview-grid>.stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ds-tabs{width:100%;gap:2px;padding:4px;overflow-x:auto}.ds-tabs button{flex:1;font-size:13px;padding:9px 10px;white-space:nowrap}.finance-simple>.heading .actions{width:100%;justify-content:space-between}.category-row{grid-template-columns:36px 100px minmax(30px,1fr) 148px}.finance-extra .list-row .actions{width:100%}.finance-extra .list-row>.row-main{flex-basis:170px}.a-home h1{font-size:34px}.a-quick-action{padding:22px;min-height:152px;grid-template-columns:36px minmax(0,1fr) 14px;gap:12px}.a-quick-action>.line-icon{width:30px;height:30px}.a-quick-action strong{font-size:20px}.a-quick-text>span{font-size:13px}.a-meal-card{grid-template-columns:46px minmax(0,1fr);padding:18px}.a-meal-status{grid-column:2;justify-self:start}.a-meal-icon{width:46px;height:46px;grid-row:1/3}.a-meal-text h2{font-size:18px}.a-meal-text p{font-size:13px}.card{padding:20px}.finance-envelope-grid{gap:16px}.login{margin:3vh auto}.finance-goals .between{flex-wrap:wrap}.budget-summary{flex-wrap:wrap}.budget-summary progress{width:100%}}
@media(max-width:600px){.demo{font-size:10px;gap:6px;flex-wrap:wrap;justify-content:flex-start;padding:6px 16px}.content{padding:14px 16px 105px}.topbar{padding:14px 16px;gap:12px}.card{padding:18px;border-radius:18px}.heading h1{font-size:28px}.heading .actions>.btn{font-size:13px}.a-home h1{font-size:31px}.a-today-grid{grid-template-columns:1fr;gap:12px;margin-bottom:16px}.a-meal-card{grid-template-columns:44px minmax(0,1fr) auto;gap:10px;padding:15px}.a-meal-icon{width:44px;height:44px;grid-row:auto;border-radius:14px}.a-meal-status{grid-column:auto;font-size:10px;padding:6px 7px;gap:4px}.a-meal-status svg{width:13px;height:13px}.a-meal-text h2{font-size:17px}.a-meal-text p{font-size:12px}.quick-grid{gap:12px}.a-quick-action{padding:18px 15px;grid-template-columns:1fr;gap:12px;min-height:170px;position:relative}.a-quick-action strong{font-size:18px}.a-quick-text>span{font-size:12px}.a-chevron{position:absolute;top:22px;right:15px}.home-manager .a-quick-action{min-height:170px}.fields{grid-template-columns:1fr}.profiles{grid-template-columns:1fr}.login{padding:24px 18px}.login h1{font-size:30px}.finance-envelope-grid{grid-template-columns:1fr}.finance-envelope:last-child{grid-column:auto}.overview-grid>.stack{grid-template-columns:1fr}.category-row{grid-template-columns:34px minmax(0,1fr) auto;gap:10px;padding:12px 0;min-height:76px}.category-row .ds-icon{grid-column:1;grid-row:1/3;width:34px;height:34px}.category-row>strong{grid-column:2;grid-row:1}.category-row>progress{grid-column:2;grid-row:2;margin:0;height:6px}.category-value{grid-column:3;grid-row:1/3;font-size:12px}.category-value small{font-size:11px}.recent-row{grid-template-columns:34px minmax(0,1fr) auto;gap:9px}.recent-row strong{font-size:13px}.recent-row>span:last-child{font-size:13px}.a-finance-period input{width:146px}.finance-big{font-size:25px}.finance-goals .finance-big{font-size:30px}.goal-title h2{font-size:19px}.goal-metrics{gap:12px}.goal-metrics strong{font-size:14px}.stat strong{font-size:22px}.stat small{font-size:11px}.finance-stats{gap:10px}.stat{padding:16px}.ds-tabs button{font-size:12px;padding:9px 7px}.week-head,.week-row{grid-template-columns:42px repeat(2,minmax(0,1fr));gap:8px}.week-card{padding:6px 12px}.week-head{font-size:11px}.week-day{display:flex;flex-direction:column;justify-content:center;gap:0;font-size:12px}.meal-cell{padding:11px 9px;min-height:87px}.meal-cell strong{font-size:13px;line-height:1.4}.meal-cell small{font-size:10px;line-height:1.4}.a-week-picker{gap:7px;width:100%;justify-content:space-between}.a-week-picker label{font-size:11px;gap:6px}.a-week-picker input{width:142px;font-size:12px}.week-bottom{flex-direction:column;align-items:stretch;gap:14px}.week-bottom .actions{width:100%}.week-bottom .btn{flex:1}.week-banner{padding:13px 14px;font-size:12px}.week-banner p{font-size:11px}.need-chips{grid-template-columns:1fr;gap:10px}.need-chip{padding:14px}.a-need-main{min-height:65px}.a-secondary-actions{display:grid;grid-template-columns:1fr}.planning-days{grid-template-columns:1fr}.list-row{gap:12px}.list-row .actions{width:100%}.status-line .actions{width:100%}.ledger{font-size:12px}.ledger th{font-size:11px;padding:10px 5px}.ledger td{padding:13px 5px}.ledger td:first-child{white-space:normal;width:64px}.ledger td:last-child{font-size:12px}.ledger th:nth-child(3),.ledger td:nth-child(3){display:none}.filter{max-width:190px}.finance-extra{padding:14px 12px}.finance-extra>.stack>.card{padding:16px 12px}.finance-extra .list-row .row-main{min-width:120px}.finance-extra .list-row>strong{font-size:13px}.finance-extra .actions .btn{font-size:12px;padding:10px 12px}.form-actions{bottom:-22px}.form-actions .btn{flex:1}.ingredient{grid-template-columns:minmax(0,1fr) 61px 72px 32px;gap:5px}.ingredient input,.ingredient select{font-size:12px;padding:10px 5px}.ingredient button{min-width:30px}.goal-metrics>div+div{padding-left:12px}dialog{width:100%;max-width:none;max-height:92dvh;margin:auto 0 0;padding:22px 18px;border-radius:24px 24px 0 0;border-bottom:0}dialog h2{font-size:23px;margin-bottom:16px}.nav-dialog-links .btn{min-height:50px}.help{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Ajustement des proportions sur le contenu réel. */
.category-row{width:100%;text-align:left}
@media(min-width:1201px){
 .finance-stats .stat{padding:18px 22px}
 .finance-stats .stat strong{margin:6px 0}
 .overview-grid>.card{padding:20px 24px}
 .category-row{min-height:56px}
 .overview-grid .card-head{margin-bottom:14px}
 .overview-grid>.stack .card{padding:20px}
 .next-step h2{font-size:18px}.next-step h3{margin:10px 0 6px;font-size:17px}
 .next-step .btn{min-height:40px;font-size:13px;padding:9px 13px}
 .mini-goal+.mini-goal{margin-top:12px}
 .mini-goal progress{margin:8px 0;height:7px}
 .recent-panel{padding:18px 24px}
 .recent-panel .card-head{margin-bottom:8px}
 .recent-rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
 .recent-rows .recent-row{border:0;align-items:start;padding:12px 0;grid-template-columns:34px minmax(0,1fr)}
 .recent-rows .recent-row>span:last-child{grid-column:2;font-size:14px;margin-top:-6px}
 .recent-rows .recent-row>div strong{font-size:13px}
 .finance-envelope:last-child{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:4px 14px;align-items:center}
 .finance-envelope:last-child>.between{display:contents}
 .finance-envelope:last-child h2{grid-column:1;grid-row:1}
 .finance-envelope:last-child .textbtn{grid-column:3;grid-row:1/3}
 .finance-envelope:last-child .finance-big{grid-column:2;grid-row:1;font-size:21px;margin:0}
 .finance-envelope:last-child progress{grid-column:2;grid-row:2;margin:6px 0}
 .finance-envelope:last-child .help{grid-column:1;grid-row:2;margin:0;font-size:11px}
}

/* Approved Studio system */

/* Maison studio. DESIGN: identité en exploration, rythme et composants.
EXPERIENCE: structure et parcours validés conservés. Police embarquée localement. */
:root{--paper:#F5F5F1;--ink:#263430;--muted:#69736F;--line:#E8EBE5;--blue:#315CD7;--forest:#253B33;--sage:#E4EDDF;--peach:#F3ECE0;--lavender:#EFEDF5;--radius:22px}
*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:13px/1.55 MaisonSans,Arial,sans-serif;-webkit-font-smoothing:antialiased;font-optical-sizing:auto}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #6A91E6;outline-offset:4px}button,input{font:inherit}svg{width:20px;height:20px;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:35px;line-height:1.2;letter-spacing:-1.4px;font-weight:700}h2{font-size:18px;line-height:1.35;font-weight:700;letter-spacing:-.55px}h3{font-size:14px;font-weight:650;line-height:1.4}.muted{color:var(--muted)}.caption{font-size:11px;color:var(--muted)}.numeric{font-variant-numeric:tabular-nums}.rail{position:fixed;inset:0 auto 0 0;width:196px;background:#FBFCF9;border-right:1px solid #E8EBE3;display:flex;flex-direction:column;padding:31px 18px 22px;z-index:5}.brand{font-size:31px;font-weight:800;letter-spacing:-1.9px;line-height:1;padding:0 10px}.brand-note{font-size:9px;color:#6E7970;margin:11px 10px 36px;letter-spacing:.2px}.rail nav{display:grid;gap:7px}.nav-link{min-height:44px;display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:11px;font-size:12px;font-weight:550;color:#67716A}.nav-link svg{width:18px;height:18px}.nav-link.active{background:#E7EDE3;color:#2C4937;font-weight:750}.nav-link.active:after{content:'';width:5px;height:5px;background:#47664C;border-radius:50%;margin-left:auto}.rail-foot{margin-top:auto;padding:17px 10px 0;border-top:1px solid var(--line)}.avatars{display:flex;align-items:center}.avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;font-size:10px;font-weight:750;background:#E1E8DD;color:#405B40;border:2px solid #FBFCF9}.avatar.second{background:#E6DDEB;color:#775C83;margin-left:-8px}.family{display:flex;align-items:center;gap:10px}.family b{font-size:10px;font-weight:650}.family p{font-size:9px;color:#748071;margin-top:2px}.workspace{margin-left:196px}.topbar{height:70px;padding:0 36px;display:flex;justify-content:space-between;align-items:center;gap:20px}.crumb{font-size:11px;color:#788278;display:flex;align-items:center;gap:10px}.crumb svg{width:11px;height:11px}.crumb strong{font-weight:550;color:#47564B}.top-right{display:flex;align-items:center;gap:18px}.mock-label{font-size:9px;color:#69756E;border:1px solid #E0E6DD;padding:3px 7px;border-radius:6px}.profile{display:flex;align-items:center;gap:9px;font-size:10px}.profile .avatar{width:30px;height:30px;border:0;background:#E7E5EF;color:#716781}.mobile-brand{display:none}.main{max-width:1250px;margin:auto;padding:15px 36px 34px;min-width:0}.page-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.page-head p{font-size:12px;margin-top:7px;color:#728071}.head-actions{display:flex;align-items:center;gap:9px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:11px 15px;border-radius:11px;font-size:11px;font-weight:700;background:var(--blue);color:white}.btn svg{width:16px;height:16px}.btn.soft{background:#E8EEE2;color:#385139}.btn.white{background:#FFF;color:#314C39}.btn.ghost{border:1px solid #DCE3D8;background:transparent;color:#51624F}.period{display:flex;align-items:center;gap:12px;border:1px solid #DDE3D7;background:#FAFBF7;border-radius:11px;padding:11px 13px;font-size:11px;font-weight:550}.period svg{width:13px;height:13px}.tabs{display:flex;gap:5px;margin:0 0 23px;width:max-content;padding:4px;background:#E9EDE5;border-radius:12px}.tabs a{font-size:11px;padding:9px 17px;border-radius:9px;min-height:35px;color:#697867}.tabs a.active{background:white;box-shadow:0 1px 4px #253B3307;color:#2A3D2D;font-weight:750}.metrics{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:18px;margin-bottom:22px}.hero{background:var(--forest);border-radius:24px;padding:25px 28px;color:white;min-width:0}.eyebrow{font-size:11px;font-weight:550;color:#D0DAD1}.hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.hero-tag{font-size:9px;color:#E0E8DC;background:#FFFFFF0D;border:1px solid #FFFFFF1F;padding:4px 8px;border-radius:7px}.hero-value{font-size:52px;line-height:1.15;font-weight:600;letter-spacing:-2.4px;margin:17px 0 20px;white-space:nowrap}.hero-value small{font-size:18px;font-weight:400;letter-spacing:-.3px;color:#CCD7CD;margin-left:7px}.hero-bottom{border-top:1px solid #FFFFFF21;padding-top:15px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:10px;color:#C4D0C4}.hero-bottom b{font-weight:550;color:white;margin-left:6px}.text-link{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:650;color:#46688F;min-height:30px}.text-link svg{width:15px;height:15px}.hero .text-link{color:#E0EBDD;font-size:10px;min-height:20px}.budget-card{background:#E7EEE1;border:1px solid #E0E8D8;border-radius:24px;padding:25px 26px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.budget-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.budget-icon{width:30px;height:30px;border:1px solid #CFDCC6;border-radius:10px;display:grid;place-items:center;color:#5F7B51}.budget-icon svg{width:16px;height:16px}.budget-value{font-size:39px;line-height:1.2;letter-spacing:-1.7px;font-weight:650;margin:5px 0 16px;white-space:nowrap}.budget-value small{font-size:16px;font-weight:450;letter-spacing:-.3px;margin-left:4px;color:#66775F}.budget-track{height:5px;border-radius:5px;background:#D1DDC9;overflow:hidden}.budget-track i{display:block;height:100%;width:78%;background:#6C8E55;border-radius:5px}.budget-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px;font-size:10px;color:#586F4B}.columns{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:18px;align-items:start}.stack{display:grid;gap:18px;min-width:0}.surface{background:#FFF;border:1px solid #E9ECE6;border-radius:22px;padding:23px 25px;min-width:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.section-head p{font-size:10px;color:#74806E;margin-top:5px}.round-link{display:grid;place-items:center;width:30px;height:30px;border:1px solid #E4E9DF;border-radius:50%;color:#6F8069;flex-shrink:0}.round-link svg{width:15px;height:15px}.category-layout{display:grid;grid-template-columns:172px minmax(0,1fr);gap:25px;align-items:center;padding-top:5px}.donut{width:172px;height:172px;position:relative;display:grid;place-items:center}.donut svg{width:172px;height:172px;position:absolute;inset:0}.donut-center{text-align:center;z-index:1}.donut-center b{font-size:24px;font-weight:700;letter-spacing:-1px;display:block}.donut-center small{display:block;font-size:9px;color:#78816F;margin-top:3px}.category-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid #F0F2ED;min-width:0}.category-row:last-child{border:0}.category-name{display:flex;align-items:center;gap:9px;min-width:0}.category-dot{width:8px;height:8px;border-radius:3px;flex-shrink:0;background:var(--tone)}.category-name strong{font-size:11px;font-weight:600}.category-name small{display:block;font-size:9px;color:#7C8676;margin-top:2px}.category-row>b{font-size:11px;font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.2px}.context{padding:23px 24px;border-radius:22px;background:#F1ECE1;min-width:0}.context-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#7B725E;font-size:10px}.badge-icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;background:#E9DFC9;color:#8B7553}.badge-icon svg{width:16px;height:16px}.context h2{font-size:23px;line-height:1.2;letter-spacing:-.8px;margin:13px 0 10px;font-weight:650}.context p{font-size:11px;line-height:1.7;color:#736D5D}.context p b{font-weight:650;color:#544C3C}.context .text-link{color:#75674B;font-size:10px;margin-top:11px}.projects{background:#ECEAF2;border:1px solid #E5E1EC;border-radius:22px;padding:23px 24px;min-width:0}.projects .section-head{margin-bottom:16px}.projects .section-head h2{font-size:15px;font-weight:650}.projects .badge-icon{background:#DFD8EB;color:#8A749F}.project-value{font-size:32px;font-weight:650;letter-spacing:-1.3px;line-height:1.2}.project-value small{font-size:14px;font-weight:450;color:#7A7189;margin-left:4px;letter-spacing:0}.project-caption{font-size:9px;color:#746B7F;margin-top:6px}.goal{margin-top:16px}.goal-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:#665D74;margin-bottom:7px}.goal-track{height:4px;background:#DCD6E5;border-radius:5px;overflow:hidden}.goal-track i{display:block;height:100%;background:#9D86B7;border-radius:5px}.projects>.text-link{display:flex;justify-content:space-between;border-top:1px solid #DDD6E7;padding-top:11px;margin-top:17px;font-size:10px;color:#78638B}.recent .section-head{margin-bottom:5px}.recent h2{font-size:16px}.recent .text-link{font-size:9px;font-weight:550}.list-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #EEF1E9}.list-row:last-child{border:0;padding-bottom:0}.row-main{display:flex;align-items:center;gap:11px;min-width:0}.row-icon{width:33px;height:33px;display:grid;place-items:center;flex-shrink:0;border-radius:10px;background:var(--tint,#EBF0E5);color:var(--tone,#688353)}.row-icon svg{width:16px;height:16px}.row-main strong{font-size:11px;font-weight:600}.row-main p{font-size:9px;color:#7B8574;margin-top:3px}.row-amount{font-size:11px;font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}.state-badge{font-size:9px;border-radius:6px;padding:4px 7px;background:#EAF0E3;color:#567344;white-space:nowrap}.state-badge.pending{background:#F3E9CE;color:#7E632E}.app-note{font-size:9px;color:#75816D;margin-top:22px;line-height:1.65}.app-note:target{background:white;padding:14px;border:1px solid #D9E1D2;border-radius:11px;outline:2px solid #8DA878}.bottomnav{display:none}.mobile-period{display:none}.home-hero h2{font-size:29px;font-weight:650;line-height:1.25;letter-spacing:-1px;max-width:440px;margin:14px 0 12px}.home-hero p{font-size:12px;color:#D3DCD0;line-height:1.65;max-width:420px}.home-hero .btn{margin-top:20px;min-height:39px}.home-budget .budget-value{font-size:35px;margin:15px 0 12px}.home-budget p{font-size:11px;color:#6C7C60}.home-budget .text-link{margin-top:13px;color:#537348}.date-icon{width:38px;height:43px;border-radius:10px;background:#F0F3EB;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;color:#6E845B;font-size:8px;line-height:1.4}.date-icon b{font-size:17px;line-height:1.2;letter-spacing:-.5px}.meal-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:2px}.meal{padding:8px 0}.meal+.meal{border-left:1px solid var(--line);padding-left:20px}.meal .caption{font-size:9px;letter-spacing:.5px}.meal h3{font-size:14px;margin-top:9px}.meal p{font-size:10px;color:#7C8476;margin-top:5px}.shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.shortcut{display:flex;align-items:center;gap:9px;padding:13px 11px;border:1px solid #E8EDE0;border-radius:11px;font-size:10px;font-weight:550;min-height:43px}.shortcut svg{width:16px;height:16px;color:#839077}.week-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#E9EFE2;border:1px solid #DFE8D5;border-radius:13px;padding:13px 18px;margin-bottom:20px;font-size:11px}.week-strip strong{font-weight:650;color:#5B7645}.week-strip small{color:#728566;margin-left:9px}.week-strip .text-link{font-size:10px;color:#5C7947;min-height:24px}.shopping-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.shopping-head p{font-size:10px;color:#7E8976;margin-top:5px}.shopping-progress{height:4px;border-radius:5px;background:#E8EDE0;margin-bottom:22px}.shopping-progress i{display:block;width:37.5%;height:100%;background:#8AA36D;border-radius:5px}.group-label{font-size:9px;letter-spacing:.7px;color:#87917D;margin-top:18px;margin-bottom:5px;text-transform:uppercase}.shop-row{display:flex;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid #EEF1E9}.shop-row:last-child{border:0}.check{width:20px;height:20px;flex-shrink:0;border:1px solid #D5DFCC;border-radius:6px;display:grid;place-items:center}.check svg{width:13px;height:13px}.done .check{background:#EAF0E2;color:#64814D;border-color:#D6E2CB}.shop-name{flex:1;min-width:0}.shop-name b{font-size:12px;font-weight:600}.shop-name p{font-size:9px;color:#7F8977;margin-top:4px}.done .shop-name b{color:#85907D;text-decoration:line-through;font-weight:450}.quantity{font-size:11px;color:#6F7F63;white-space:nowrap}.receipt-value{font-size:33px;font-weight:650;letter-spacing:-1.3px;margin:18px 0 4px}.receipt-value small{font-size:14px;font-weight:450;color:#7E8B72}.receipt-data{display:grid;gap:11px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin:18px 0;font-size:10px}.receipt-data div{display:flex;justify-content:space-between;gap:12px}.receipt-data span{color:#7C8970}.receipt-data b{font-weight:600}.receipt .btn{width:100%;margin-top:12px}.mobile-ticket{display:none}
@media(min-width:1600px){.topbar{max-width:1250px;margin:auto}.main{padding-top:24px}}
@media(min-width:851px) and (max-width:1199px){.rail{width:178px;padding-inline:13px}.workspace{margin-left:178px}.topbar{padding-inline:26px}.main{padding-inline:26px}.metrics,.columns{grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr)}.hero{padding:23px}.hero-value{font-size:43px}.budget-card{padding:23px}.budget-value{font-size:33px}.category-layout{grid-template-columns:1fr;gap:8px}.donut{margin:0 auto}.surface,.context,.projects{padding:22px}.home-hero h2{font-size:26px}}
@media(max-width:850px){.rail{display:none}.workspace{margin-left:0}.topbar{height:59px;padding:0 18px}.crumb,.profile .person-name{display:none}.mobile-brand{display:block;font-size:28px;letter-spacing:-1.7px;font-weight:800}.top-right{gap:11px}.mock-label{font-size:8px;padding:3px 5px}.profile .avatar{width:28px;height:28px;font-size:9px}.main{padding:16px 18px 103px}.page-head{margin-bottom:20px;gap:12px}h1{font-size:29px;letter-spacing:-1px}.page-head p{font-size:11px;margin-top:6px}.head-actions .period{display:none}.head-actions .btn{width:41px;min-height:41px;padding:10px;border-radius:12px}.head-actions .btn span{display:none}.head-actions .btn svg{width:19px;height:19px}.mobile-period{display:inline-flex;align-items:center;gap:7px;font-size:10px;color:#73836A;margin-top:6px}.mobile-period svg{width:12px;height:12px}.finance-page .page-head p{display:none}.tabs{width:100%;gap:2px;margin-bottom:19px;padding:4px;border-radius:12px}.tabs a{flex:1;text-align:center;padding:9px 4px;font-size:10px;min-height:33px;white-space:nowrap}.tabs a:first-child{flex:1.3}.metrics,.columns{grid-template-columns:minmax(0,1fr);gap:14px}.metrics{margin-bottom:16px}.hero{padding:22px;border-radius:22px}.eyebrow{font-size:10px}.hero-value{font-size:40px;letter-spacing:-1.7px;margin:17px 0 18px}.hero-value small{font-size:16px;margin-left:4px}.hero-tag{font-size:8px}.hero-bottom{font-size:9px;padding-top:13px;gap:10px}.hero-bottom b{margin-left:4px}.hero .text-link{font-size:9px;gap:6px}.hero .text-link svg{width:13px;height:13px}.budget-card{padding:18px 21px;border-radius:20px}.budget-top .caption{font-size:10px}.budget-icon{width:27px;height:27px;border-radius:9px}.budget-value{font-size:32px;margin:0 0 13px}.budget-value small{font-size:14px}.budget-meta{font-size:9px;margin-top:8px}.budget-track{height:4px}.surface{padding:21px;border-radius:21px}.section-head{margin-bottom:14px}h2{font-size:17px}.section-head p{font-size:10px}.category-layout{grid-template-columns:116px minmax(0,1fr);gap:16px;padding-top:2px}.donut,.donut svg{width:116px;height:116px}.donut-center b{font-size:18px;letter-spacing:-.6px}.donut-center small{font-size:7px;margin-top:3px}.category-row{padding:9px 0;gap:10px}.category-name{gap:7px}.category-dot{width:6px;height:6px;border-radius:2px}.category-name strong{font-size:10px}.category-name small{font-size:8px;margin-top:1px}.category-row>b{font-size:9px;letter-spacing:-.15px}.stack{gap:16px}.context,.projects{padding:22px;border-radius:21px}.context h2{font-size:24px;margin:12px 0 10px}.context p{font-size:12px}.context .text-link{font-size:11px}.projects .section-head h2{font-size:16px}.project-value{font-size:33px}.project-caption{font-size:10px}.goal-label{font-size:11px}.goal-track{height:5px}.projects>.text-link{font-size:11px}.recent h2{font-size:16px}.recent .text-link{font-size:9px}.list-row{padding:13px 0}.row-main strong{font-size:11px}.row-main p{font-size:9px}.row-amount{font-size:11px}.bottomnav{display:flex;position:fixed;bottom:0;inset-inline:0;z-index:20;justify-content:space-around;gap:3px;padding:8px 9px max(10px,env(safe-area-inset-bottom));background:#FCFCF9F7;backdrop-filter:blur(12px);border-top:1px solid #E2E8DC}.bottomnav a{display:flex;flex:1;min-height:46px;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:8px;border-radius:11px;color:#6E7B66}.bottomnav a.active{background:#E8EEDF;color:#41603B;font-weight:750}.bottomnav svg{width:19px;height:19px}.app-note{font-size:8px;line-height:1.7;margin-top:22px}.home-hero h2{font-size:26px;margin:13px 0 10px}.home-hero p{font-size:11px}.home-hero .btn{margin-top:17px}.home-budget .budget-value{font-size:31px;margin:9px 0}.home-budget .text-link{font-size:10px}.meal-pair{gap:16px}.meal+.meal{padding-left:16px}.meal h3{font-size:13px}.meal p{font-size:10px}.shortcut{font-size:10px}.week-strip{padding:12px 14px;margin-bottom:14px;font-size:10px}.week-strip small{display:block;margin-left:0;font-size:9px;margin-top:3px}.week-strip .text-link{font-size:9px}.shopping-head h2{font-size:17px}.shopping-head p{font-size:10px}.shop-row{padding:13px 0}.shop-name b{font-size:12px}.shop-name p{font-size:9px}.quantity{font-size:11px}.receipt-value{font-size:32px}.mobile-ticket{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#FFF;border:1px solid #E4EADD;border-radius:12px;padding:11px 14px;margin-bottom:14px;font-size:10px}.mobile-ticket .text-link{font-size:9px;min-height:25px}.receipt .btn{min-height:43px}}
@media(max-width:360px){.main{padding-inline:14px}.topbar{padding-inline:14px}.mock-label{font-size:7px}.hero,.surface,.budget-card,.context,.projects{padding:18px}.hero-value{font-size:35px}.hero-bottom{font-size:8px}.hero .text-link{font-size:8px}.category-layout{grid-template-columns:92px minmax(0,1fr);gap:12px}.donut,.donut svg{width:92px;height:92px}.donut-center b{font-size:15px}.donut-center small{font-size:6px}.category-row{gap:7px}.category-name strong{font-size:9px}.category-row>b{font-size:8px}.section-head h2{font-size:16px}.tabs a{font-size:9px}.row-main{gap:8px}.row-main strong{font-size:10px}.row-amount{font-size:10px}.hero-tag{font-size:7px}.hero-value small{font-size:14px}.budget-value{font-size:29px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.topbar{height:64px}.caption,.section-head p,.row-main p,.brand-note,.family p{color:#65715F}.context p{color:#68604F}.project-caption,.goal-label{color:#665D73}.category-name strong{display:block;line-height:1.25}.category-name small{line-height:1.3}.category-row{padding-top:10px;padding-bottom:10px}.finance-page .page-head p{display:none}.finance-page .page-head{margin-bottom:22px}.finance-page .tabs{margin-bottom:22px}.bottomnav a{font-size:9px}
@media(max-width:850px){.topbar{height:59px}.category-name strong{line-height:1.25}.category-name small{line-height:1.3}.category-row{padding-top:9px;padding-bottom:9px}.finance-page .page-head{margin-bottom:19px}.finance-page .tabs{margin-bottom:19px}}

@font-face{font-family:MaisonSans;src:url('/fonts/Manrope.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
:root{--white:#FFF;--teal:#315CD7;--clay:#315CD7;--mint:#E7EEE1;--navy:#253B33;--space:24px;--shadow:none}button,input,select,textarea{font-family:MaisonSans,Arial,sans-serif}.btn{border:0}.btn.primary{background:#315CD7;border-color:#315CD7}.btn.secondary{background:#EAEFE5;color:#40583E;border:1px solid #DEE6D7}.btn.white{background:#FFF;color:#314C39}.text-link{background:transparent;padding:0;text-decoration:none}.text-link:hover{text-decoration:underline}.demo{background:#EAEDE5;color:#65715F;font-size:9px;padding:4px 16px}.layout{grid-template-columns:196px minmax(0,1fr);min-height:calc(100dvh - 23px)}.sidebar{height:calc(100dvh - 23px);background:#FBFCF9;padding:30px 18px 22px;gap:28px;border-color:#E8EBE3}.sidebar .brand{color:#263430;padding:0 10px;font-size:31px}.brand small{font-weight:400;letter-spacing:.1px;margin-top:12px;font-size:9px}.sidebar-foot{border-top:1px solid var(--line);font-size:10px}.nav{gap:6px}.nav button,.nav-group>summary{min-height:44px;font-size:12px;color:#67716A;border-radius:11px;padding:11px 12px;gap:11px}.nav button .line-icon,.nav summary .line-icon{width:18px;height:18px}.nav button.active{background:#E7EDE3;color:#2C4937}.nav-group[open]>summary{color:#40583E}.nav-children{border-color:#DDE5D8}.nav-children button{font-size:11px;min-height:38px}.nav button:hover:not(.active),.nav-group>summary:hover{background:#EEF1E9}.topbar{min-height:64px;height:auto;padding:12px 36px;background:transparent;border:0}.topbar .date,.a-profile{font-size:11px}.rolebox .btn{min-height:32px;padding:6px 10px;font-size:10px;background:transparent;border:1px solid #DDE3D7;color:#52634C}.content{max-width:1250px;padding:15px 36px 34px}.heading p{font-size:12px;margin-top:7px;color:#65715F}.heading .actions .btn{font-size:11px;min-height:42px}.a-finance-period{font-size:10px}.a-finance-period input{min-height:38px;padding:7px 10px;font-size:11px}.finance-simple>.heading p{display:none}.ds-tabs{background:#E9EDE5;border:0;box-shadow:none;width:max-content;padding:4px;gap:5px;border-radius:12px;margin-bottom:22px}.ds-tabs [role=tab]{border:0;border-radius:9px;min-height:35px;font-size:11px;padding:9px 17px;color:#65715F}.ds-tabs [aria-selected=true]{background:#FFF;color:#2A3D2D;box-shadow:0 1px 4px #253B3307}.finance-extra{margin-top:22px;background:transparent}.card{border-color:#E8EBE5;background:white;box-shadow:none;border-radius:22px}.card h2{font-size:18px}.card-head .muted,.card .help{font-size:12px}.notice,.note{background:#EBEFE5;color:#52634C}.empty{background:#F1F3ED;color:#65715F;font-size:12px}.person{background:#E7E5EF;color:#716781}.textbtn{color:#46688F;font-size:12px}.budget-summary{background:#E7EEE1;border-color:#E0E8D8}.finance-goals .card{background:#F5F3FA}.finance-goals .goal-title .ds-icon{background:#E9E2F0;color:#77648B}.amount-input{background:#F1F4EC}.preview{background:#E7EEE1}.preview strong{color:#263430}input,select,textarea{background:#FAFBF7;border-color:#DDE3D7}dialog{background:#FCFCF9;color:#263430;border:1px solid #E0E6DB;border-radius:24px}dialog::backdrop{background:#1F302C66}.profiles button:hover{background:#F5F8F0;border-color:#819576}.login .brand{color:#263430}.login .eyebrow{color:#65715F}.storage-note{font-size:10px;color:#65715F}.hero .eyebrow{margin:0;text-transform:none;letter-spacing:0;color:#D0DAD1}.hero-value{font-size:clamp(30px,3.6vw,52px)}.budget-value{font-size:clamp(25px,2.8vw,39px)}.project-value{font-size:clamp(24px,2.6vw,35px)}.metrics .hero-value,.metrics .budget-value,.projects .project-value{white-space:normal;overflow-wrap:anywhere}.budget-track,.goal-track,.shopping-progress{height:auto;background:transparent;overflow:visible}.budget-track progress,.goal-track progress,.shopping-progress progress{display:block;width:100%;height:5px;border:0;border-radius:5px;overflow:hidden;background:#D1DDC9;accent-color:#6C8E55}.budget-track progress::-webkit-progress-bar,.shopping-progress progress::-webkit-progress-bar{background:#D1DDC9}.budget-track progress::-webkit-progress-value,.shopping-progress progress::-webkit-progress-value{background:#6C8E55}.goal-track progress::-webkit-progress-bar{background:#DAD3E5}.goal-track progress::-webkit-progress-value{background:#A396C3}.budget-meta .text-link{font-size:10px;color:#586F4B}.category-row{width:100%;background:transparent;border-radius:0;grid-template-columns:none;text-align:left}.category-name strong{font-size:12px;display:block;line-height:1.25}.category-name small{font-size:10px}.category-row>b{font-size:12px}.category-dot.tone-courses{background:#4D79C8}.category-dot.tone-personnel{background:#A396C3}.category-dot.tone-vehicules{background:#D1A278}.category-dot.tone-maison{background:#7EA28A}.category-dot.tone-autres{background:#A3AEAA}.donut-center b span{font-size:12px;font-weight:500}.ds-icon{background:#EBEFE5;color:#65715F}.recent-row{padding:14px 0}.recent-row strong{font-size:12px}.recent-row small{font-size:10px}.recent-row>span{font-size:12px}.row-main{min-width:0}.studio-event{width:100%;text-align:left;flex-wrap:nowrap}.event-copy{display:grid;gap:4px;flex:1}.event-copy strong{font-size:13px}.event-copy small{font-size:11px}.studio-event>.line-icon{width:16px}.shortcut{text-align:left}.home-page .projects .text-link{margin-top:12px}.shop-row{cursor:pointer;display:flex;align-items:center;gap:14px;margin:0;padding:16px 0;min-height:68px;border-bottom:1px solid #EDF0E9;font-weight:400}.shop-row input{width:22px;height:22px;margin:0}.shop-name{flex:1;min-width:0}.shop-name b{font-size:13px}.shop-name>span{display:block;font-size:10px;color:#65715F;margin-top:3px}.shop-row.done .shop-name b{text-decoration:line-through;color:#75806C}.shopping-head p{font-size:11px;color:#65715F;margin-top:5px}.receipt .btn{width:100%;margin-top:15px}.receipt-data b{overflow-wrap:anywhere}.week-strip small{margin-left:10px}.preparation>.text-link{display:flex}.a-home .quick-action.primary{background:#253B33;border-color:#253B33}.a-meal-icon{background:#E7EEE1;color:#52634C}.a-meal-card,.quick-action{border-color:#E1E6DA;background:#FAFBF7}.week-banner{background:#EBEFE5;border-color:#DEE6D7}.week-day{background:#F4F6EF}.meal-cell:hover{background:#F5F8F0}.a-week-picker{background:#FAFBF7;border-color:#DDE3D7}.need-chip{background:#F5F7F0;border-color:#E0E6D9}.finance-action{background:#F1ECE1}.ledger th,.stock-table th{color:#65715F}.ledger td,.stock-table td{font-size:13px}body .mobile-brand{color:#263430}.mobile-nav button.active{background:#E7EDE3;color:#2C4937}.mobile-nav{background:#FCFCF9F7;border-color:#E2E8DC}.mobile-nav button{color:#65715F}.mobile-ticket{display:none}
@media(min-width:851px) and (max-width:1199px){.layout{grid-template-columns:178px minmax(0,1fr)}.sidebar{padding-inline:13px}.content,.topbar{padding-inline:26px}.category-layout{grid-template-columns:1fr}.hero-value{font-size:39px}.budget-value{font-size:29px}}
@media(max-width:850px){.layout{display:block}.sidebar{display:none}.content{padding:16px 18px 104px}.topbar{min-height:59px;padding:10px 18px}.topbar .date{display:none}.topbar .mobile-brand{display:block;font-size:28px}.rolebox{gap:6px}.a-profile{font-size:10px;margin:0}.rolebox .btn{font-size:9px;padding:6px;min-height:32px}.heading{gap:12px;align-items:flex-start}.heading h1,.finance-simple>.heading h1{font-size:29px}.heading p{font-size:11px}.heading .actions .btn{font-size:10px;min-height:40px;padding:9px 11px}.finance-simple .heading{flex-wrap:wrap}.finance-simple .heading>.actions{width:100%;justify-content:space-between;align-items:end}.a-finance-period{max-width:170px}.ds-tabs{width:100%;gap:2px;overflow:hidden}.ds-tabs [role=tab]{min-width:0;flex:1;font-size:10px;padding:9px 4px}.ds-tabs [role=tab]:first-child{flex:1.3}.hero-value{font-size:40px}.budget-value{font-size:32px}.project-value{font-size:31px}.category-layout{grid-template-columns:minmax(80px,116px) minmax(0,1fr);gap:16px}.category-row{gap:7px}.category-name strong{font-size:11px}.category-name small{font-size:9px}.category-row>b{font-size:10px}.donut-center b span{font-size:10px}.category-name{gap:6px}.metrics,.columns{grid-template-columns:minmax(0,1fr)}.hero-bottom{flex-wrap:wrap}.surface .section-head .text-link{font-size:10px}.mobile-ticket{display:flex}.mobile-ticket .btn{font-size:10px;min-height:36px;padding:8px 10px}.shop-row{min-height:64px}.week-strip{gap:12px}.week-strip small{display:block;margin-left:0}.week-strip .text-link{font-size:10px;white-space:nowrap}.event-copy{min-width:0}.event-copy strong{font-size:12px}.event-copy small{font-size:10px}.recent-row{grid-template-columns:30px minmax(0,1fr) auto;gap:9px}.recent-row strong{font-size:11px}.recent-row>span{font-size:10px}.recent-row small{font-size:9px}.content .card{padding:20px}.mobile-nav button{font-size:9px}.courses-page .heading{flex-wrap:wrap}.courses-page .heading>.actions{justify-content:flex-start}.shop-name b{font-size:12px}.quantity{font-size:11px}.finance-extra summary{font-size:12px}}
@media(max-width:360px){.content{padding-inline:14px}.topbar{padding-inline:14px}.topbar .mobile-brand{font-size:25px}.rolebox .a-profile{max-width:60px;overflow:hidden;text-overflow:ellipsis}.hero-value{font-size:33px}.budget-value{font-size:29px}.category-layout{grid-template-columns:1fr}.donut{margin:auto}.category-name strong,.category-row>b{font-size:12px}.category-name small{font-size:10px}.ds-tabs [role=tab]{font-size:9px}.hero-bottom{font-size:9px}.heading h1{font-size:26px}}

.finance-simple .ds-tabs [aria-selected=true]{color:#2A3D2D;background:#FFF}.budget-card.is-over{background:#F5E8DF}.budget-card.is-over .budget-value{color:#99432B}.shop-row:focus-within{outline:2px solid #7194CE;outline-offset:3px}

/* Personal accounts, same Maison system. */
.auth-login{max-width:550px}.auth-login form{display:grid;gap:16px;margin:25px 0}.auth-login form label{font-size:13px}.auth-login .eyebrow{color:#65715F}.auth-error{color:#99432B;white-space:pre-line;font-size:13px}.auth-error:empty{display:none}.account-list{display:grid;margin:20px 0}.account-row{padding:16px 0;border-bottom:1px solid #E8EBE5;display:flex;justify-content:space-between;gap:16px;align-items:center}.account-row small{display:block;margin-top:5px}.account-row .actions{justify-content:flex-end}.account-row .btn{font-size:11px;padding:8px 10px}.activation-code{padding:18px;background:#E7EEE1;border-radius:12px;word-break:break-all;user-select:all;margin:20px 0!important}.activation-code code{font-size:16px}form[data-auth]{display:grid;gap:16px;margin-top:20px}form[data-auth] label{font-size:13px}@media(max-width:600px){.auth-login{margin:20px auto;padding:24px}.auth-login h1{font-size:30px}.account-row{align-items:start;flex-direction:column}.topbar .rolebox .btn[data-action=account]{display:inline-flex}.a-profile{display:none}.account-row .actions{justify-content:flex-start}}
