/* UX de préversion : les surfaces et la scène ELYOS restent inchangées. */
.panel.open{animation:elyos-panel-in .23s ease-out both}
@keyframes elyos-panel-in{from{opacity:.75;transform:translateY(7px)}to{opacity:1;transform:none}}
.panel[data-section].open:not(.maison-shell){inset:auto 8px max(8px,env(safe-area-inset-bottom));display:flex;align-items:stretch;max-width:520px;height:min(55dvh,560px);margin:0 auto;padding:17px 14px max(10px,env(safe-area-inset-bottom));overflow:hidden;text-align:left;border-color:#69cfe39c;border-radius:25px 25px 18px 18px;background:linear-gradient(150deg,#092842f8,#061b32f8 50%,#07182cf9);box-shadow:0 -16px 46px #02101caf,0 0 0 1px #d8f9ff16 inset}
.panel[data-section]:not(.maison-shell)>div,.panel[data-section]:not(.maison-shell) #panelDefault{display:flex;flex-direction:column;min-height:0;width:100%}
.panel[data-section]:not(.maison-shell) #panelTitle{margin:0;color:#f3fbff;font-size:1.42rem;text-align:left}
.panel[data-section]:not(.maison-shell) .panel-copy{margin:2px 0 12px;color:#aacde0;font-size:.82rem;text-align:left}
.panel[data-section]:not(.maison-shell) .panel-content{display:block;flex:1;min-height:0;margin:0;padding:0 2px 12px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.panel[data-section]:not(.maison-shell) #backHome{flex:none;align-self:flex-start;min-height:40px;margin:8px 0 0;padding:8px 13px;border:1px solid #86daf0a8;border-radius:11px;color:#ecfbff;background:linear-gradient(150deg,#17455f,#10314b);box-shadow:0 2px 10px #0016267d}
.panel[data-section]:not(.maison-shell) .module-grid{display:grid;gap:8px}
.panel[data-section]:not(.maison-shell) .plans-grid{margin:9px 0}
.panel button{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}
.panel button:active{transform:scale(.975)}
.panel button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none!important}
.panel button:focus-visible,.panel input:focus-visible,.panel textarea:focus-visible,.panel select:focus-visible{outline:2px solid #aaf1ff;outline-offset:2px}
.panel.maison-shell #backHome{margin-top:8px;padding:9px 14px;border:1px solid #86daf0a8;border-radius:11px;color:#ecfbff;background:linear-gradient(150deg,#17455f,#10314b);box-shadow:0 2px 10px #0016267d,0 0 0 1px #a4ecff15 inset}
.panel.maison-shell .panel-back,.panel .food-back,.panel .text-back{border:1px solid #8bdcf08f!important;border-radius:10px!important;padding:7px 10px!important;color:#e5faff!important;background:#143e57e8!important;box-shadow:0 2px 9px #0014237d;font-weight:750;text-decoration:none}
.panel.maison-shell .panel-back{position:sticky;top:0}
.panel .food-back,.panel .text-back{justify-self:start;min-height:36px}
.panel .maison button[type=submit],.panel .food-primary,.panel .food-form>button[type=submit],.panel .maison-feature button{border:1px solid #b8f8fa9c;background:linear-gradient(150deg,#a4f4f3,#75dfe9);color:#06293c;box-shadow:0 3px 12px #16bfd52c;font-weight:800}
.panel .maison .secondary,.panel .maison .form-actions button[data-action="cancel"],.panel .maison .form-actions button[data-action="cancel-family"],.panel .food-form button[data-food-action="cancel-edit"]{border:1px solid #93bbd094;background:#193f58;color:#e5f6ff;box-shadow:0 2px 9px #00142355}
.panel .maison .danger,.panel .food-mini-actions button[data-food-action^="delete"],.panel .food-mini-actions button[data-food-action="clear-meal"]{border:1px solid #d99cad91;background:#482e46;color:#ffe2e9}
.panel .food-top-links button,.panel .food-actions button,.panel .food-mini-actions button,.panel .food-meal>button,.panel .maison .row button,.panel .maison .family-add button{box-shadow:0 2px 8px #00142366}
.panel .food-day{gap:8px;padding:12px;border-color:#78b6cb7b;background:linear-gradient(150deg,#16415ad9,#0b2b45e8);box-shadow:0 8px 18px #01122438}
.panel .food-day.is-today{border-color:#f5cc9ba6;background:linear-gradient(150deg,#36536ac9,#12394fe8);box-shadow:0 0 0 1px #f4c69523 inset,0 9px 19px #01122455}
.food-day-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.food-day-heading h4{font-size:.97rem;text-transform:capitalize}
.food-today-badge{flex:none;padding:4px 8px;border:1px solid #ffd6a98f;border-radius:999px;color:#ffe3be;background:#75503d8c;font-size:.69rem;font-weight:800}
.food-meal-content{padding:3px 0}
.panel .food-meal .food-mini-actions{gap:6px}
.panel .food-meal .food-mini-actions button{min-height:35px;border-color:#9bd0dd91;background:#17435d;color:#e9f9ff}
.panel .food-meal .food-mini-actions button[data-food-action="clear-meal"]{border-color:#d99cad91;background:#482e46;color:#ffe2e9}
.food-meal-portions input{border-color:#a4cfdf9c!important;background:#0b2e49!important}
.panel .food-recipe-card,.panel .food-shop-item,.panel .food-stock-item,.panel .maison .item,.panel .maison .section,.panel .maison-destinations .destination,.panel .food-main-actions button{box-shadow:0 7px 18px #0114263d,0 0 0 1px #caeffb0a inset}
.panel .maison-destinations .destination:active,.panel .food-main-actions button:active{border-color:#b3eff4}
.panel .maison .budget-summary{border-color:#e3bd8b72;background:linear-gradient(150deg,#143f57,#0b2943)}
.budget-summary .totals span:last-child{background:#215367;border:1px solid #83d8e580}
.budget-envelope{padding:12px!important;border-color:#76b6c879!important}
.budget-envelope-heading{display:flex;justify-content:space-between;gap:8px;align-items:center}
.budget-envelope-heading small{color:#d5e8f0;font-size:.73rem}
.budget-progress{height:7px;overflow:hidden;border-radius:99px;background:#32536a}
.budget-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6fd9e7,#aaeef4)}
.budget-progress.is-near span{background:linear-gradient(90deg,#f4c27f,#f7d79e)}
.budget-progress.is-over span{background:linear-gradient(90deg,#ec93a5,#ffc3c9)}
.panel .maison .alert{font-size:.78rem}
.panel[data-section="agenda"] .module-card{border-color:#74d8e08f;background:linear-gradient(145deg,#194b64e8,#0b2c45eb)}
.panel[data-section="agenda"].open:not(.maison-shell),.panel[data-section="pro"].open:not(.maison-shell){height:auto;max-height:min(55dvh,560px)}
.agenda-context{margin:0 0 11px;padding:10px 12px;border-left:3px solid #f1c992;border-radius:0 11px 11px 0;color:#dcebf4;background:#1b4155b8;font-size:.78rem;line-height:1.42;text-align:left}
.panel[data-section="pro"] .plan-card{border-color:#c9b3948c;background:linear-gradient(145deg,#21435bed,#14263dec);box-shadow:0 9px 20px #00122366}
.panel[data-section="pro"]{border-color:#c8ae8b9c;background:linear-gradient(150deg,#1c3449f9,#0b253df9 48%,#08182cf9)}
.panel[data-section="pro"] .plan-card h3{color:#f9d49f}
.panel[data-section="pro"] .plans-note{padding:9px 11px;border-left:2px solid #e7c391;background:#18364fa3}
.maison-keyboard-focus .panel.open:not(.maison-shell),.maison-keyboard-focus .note-dialog.open{inset:max(8px,env(safe-area-inset-top)) 3% calc(var(--maison-obscured,0px) + max(8px,env(safe-area-inset-bottom)));max-height:calc(var(--maison-view-height,100dvh) - 16px);overflow-y:auto;overscroll-behavior:contain;animation:none}
@media(max-width:430px){.panel .maison .totals{gap:4px}.panel .maison .totals span{padding:6px 3px}.food-day{scroll-margin-top:8px}}
@media(prefers-reduced-motion:reduce){.panel.open{animation:none}.panel button{transition:none}}
