.panel.maison-shell{position:absolute;inset:auto 8px calc(var(--maison-obscured,0px) + max(8px,env(safe-area-inset-bottom))) 8px;z-index:80;width:auto;max-width:520px;height:min(55dvh,calc(var(--maison-view-height,100dvh) - 76px));max-height:560px;margin:0 auto;padding:17px 14px max(10px,env(safe-area-inset-bottom));overflow:hidden;place-items:unset;text-align:left;border:1px solid #63cbeb73;border-radius:25px 25px 18px 18px;background:linear-gradient(150deg,#092842f2 0%,#05182eee 47%,#071224f5 100%);box-shadow:0 -16px 46px #02101caf,0 0 0 1px #d8f9ff16 inset;backdrop-filter:blur(18px)}
.panel.maison-shell.open{display:flex}
.panel.maison-shell::before{content:"";position:absolute;top:0;right:11%;width:43%;height:2px;background:linear-gradient(90deg,transparent,#f2bc7b9c,transparent);pointer-events:none}
.panel.maison-shell>div{display:flex;flex-direction:column;width:100%;max-width:none;min-width:0;min-height:0;margin:0}
.panel.maison-shell #panelDefault{display:flex;flex-direction:column;min-height:0;flex:1}
.panel.maison-shell #panelTitle{flex:none;margin:0;color:#f4fbff;font-size:1.42rem;line-height:1.2;text-align:left}
.panel.maison-shell .panel-copy{flex:none;margin:2px 0 12px;color:#9fc6df;font-size:.82rem;line-height:1.35}
.panel.maison-shell .panel-content{display:block;flex:1;min-height:0;min-width:0;margin:0;padding:0 2px 12px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#5a9fc0 transparent;-webkit-overflow-scrolling:touch}
.maison-keyboard-focus .panel.maison-shell{height:min(55dvh,calc(var(--maison-view-height,100dvh) - 76px));transition:none}
.maison-keyboard-focus .panel.maison-shell .panel-content{scroll-behavior:auto;overflow-anchor:none}
.panel.maison-shell #backHome{flex:none;align-self:flex-start;min-height:40px;margin:8px 0 0;padding:8px 13px;border:1px solid #75b6d077;border-radius:12px;color:#d9f5ff;background:#103653;font-size:.8rem}
.panel.maison-shell .panel-back{position:sticky;top:0;z-index:3;display:inline-flex;align-items:center;min-height:36px;margin:0 0 12px;padding:7px 11px!important;border:1px solid #79bdd277;border-radius:10px;color:#e0f7ff!important;background:#0a2740f5!important;font-size:.8rem;backdrop-filter:blur(10px)}
.panel.maison-shell button:focus-visible,.panel.maison-shell summary:focus-visible,.panel.maison-shell input:focus-visible,.panel.maison-shell textarea:focus-visible{outline:2px solid #9ceeff;outline-offset:2px}
.maison-home,.maison{color:#f2f9ff;font-size:.9rem;line-height:1.45}
.maison-home *,.maison *{box-sizing:border-box;min-width:0}
.maison-home .eyebrow,.maison .eyebrow{display:block;color:#f0be84;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.maison-feature{display:grid;gap:5px;margin:0 0 8px;padding:11px 13px;border:1px solid #eebd7e5e;border-radius:17px;background:radial-gradient(circle at 100% 0,#bd6f393d,transparent 48%),linear-gradient(145deg,#113b53e8,#09243eec)}
.maison-feature strong{display:block;color:#fff;font-size:1.1rem;line-height:1.25}
.maison-feature p{margin:0;color:#d6e8f0;font-size:.82rem}
.panel .maison-feature button{justify-self:start;margin-top:3px;padding:8px 12px;border:0;border-radius:10px;color:#052337;background:#8fe9f5;font-size:.8rem;font-weight:800}
.maison-destinations{display:grid;gap:5px}
.panel .maison-destinations .destination{display:grid;grid-template-columns:39px 1fr 14px;align-items:center;gap:9px;width:100%;min-height:53px;padding:6px 11px;border:1px solid #6ea7c25e;border-radius:14px;color:#f4fbff;background:linear-gradient(115deg,#123855d9,#08213bdc);text-align:left}
.maison-destinations .destination strong{display:block;font-size:.88rem;line-height:1.2}
.maison-destinations .destination small{display:block;margin-top:2px;color:#a9c9db;font-size:.72rem;line-height:1.2;font-weight:500}
.maison-destinations .destination-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;color:#83eaf6;background:#1d60785e;font-size:1.2rem}
.maison-destinations .destination.family .destination-icon{color:#ffd19d;background:#9d634e4d}
.maison-privacy{margin:10px 2px 0;color:#a6c6d9;font-size:.72rem}
.maison-privacy summary{cursor:pointer;list-style:none;text-decoration:underline;text-decoration-color:#a6c6d978;text-underline-offset:3px}
.maison-privacy summary::-webkit-details-marker{display:none}
.maison-privacy p{margin:5px 0 0}
.maison{display:grid;gap:12px}
.maison h3,.maison h4,.maison p{margin:0}
.maison h3{color:#f9fdff;font-size:1.1rem}
.maison h4{font-size:1rem}
.maison .local-note{padding:7px 9px;border-left:2px solid #79d9e8;color:#b6d7e3;font-size:.74rem;background:#1a45635c}
.maison .storage-error{border-color:#ff9b91;color:#ffe2df;background:#6d2638}
.maison .section{background:#082641d9}
.maison label{gap:5px;color:#d2e9f1;font-size:.83rem}
.maison input,.maison select,.maison textarea{min-height:43px;padding:9px 11px;border-radius:10px;font-size:1rem;line-height:1.25}
.maison textarea{min-height:76px}
.maison button,.panel .maison button{font-size:.81rem;min-height:41px}
.maison .tiny{font-size:.78rem}
.maison .item strong{font-size:.91rem}
.maison .pill{font-size:.72rem}
.maison .meal-slot{grid-template-columns:52px 1fr 61px}
.maison .totals span{font-size:.7rem}.maison .totals strong{font-size:.86rem}
.family-overview{display:grid;gap:12px}
.family-lead{color:#c5dce9;font-size:.9rem}
.family-next{display:grid;gap:3px;padding:10px 12px;border-left:3px solid #eeb777;border-radius:0 11px 11px 0;background:#6f4c3154}
.family-next strong{font-size:.9rem}
.family-add{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.panel .maison .family-add button{min-height:45px;padding:8px;border:1px solid #85dbea7d;color:#06273b;background:#8fe5ee;font-size:.77rem}
.panel .maison .family-add button+button{color:#f4e5d3;background:#644d4b;border-color:#caa9856b}
.family-empty{display:grid;justify-items:start;gap:7px;padding:18px;border:1px dashed #80bad47d;border-radius:16px;background:linear-gradient(130deg,#12384d9c,#0a2540b8)}
.family-empty .empty-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;color:#ffd099;background:#815c4b74;font-size:1.2rem}
.family-empty h3{font-size:1.08rem}.family-empty p{color:#c0dce8;font-size:.83rem}
.family-group{display:grid;gap:7px}
.family-group h3{display:flex;align-items:center;gap:7px;margin:0 0 2px;font-size:.96rem}
.family-group h3 span{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;color:#9eeaf3;background:#1a5671;font-size:.7rem}
.panel .maison .family-card{display:grid;grid-template-columns:42px 1fr 13px;align-items:center;gap:10px;width:100%;min-height:62px;padding:7px 9px;border:1px solid #68b5ce67;border-radius:13px;color:#fff;background:#0c2d48e6;text-align:left}
.panel .maison .family-card.pet{border-color:#d3aa7a63;background:#2a3345df}
.family-avatar{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:14px;color:#062438;background:linear-gradient(145deg,#e8fcff,#81d9eb);font-size:1.13rem;font-weight:800}
.family-avatar.pet,.family-card.pet .family-avatar{color:#3b2418;background:linear-gradient(145deg,#fff2d1,#e6ad75)}
.family-card-copy strong{display:block;font-size:.91rem}
.family-card-copy small{display:block;margin-top:3px;color:#bdd4e0;font-size:.75rem;font-weight:500;line-height:1.3}
.family-chevron{font-size:1.3rem;color:#9fe8ed}
.family-detail{display:grid;gap:13px}
.panel .maison .text-back{justify-self:start;padding:4px 0;border:0;color:#ace9f2;background:none;font-size:.8rem}
.family-identity{display:flex;align-items:center;gap:12px;padding:15px;border-radius:15px;background:linear-gradient(125deg,#16425cbd,#0d2b46c9)}
.family-identity .family-avatar{width:52px;height:52px;font-size:1.4rem}
.family-identity h3{margin:3px 0;font-size:1.2rem}.family-identity p{color:#c6dbe6}
.family-fact{display:grid;gap:3px;padding:10px 12px;border-bottom:1px solid #7daec649}
.family-fact span{color:#a6c9dc;font-size:.77rem}.family-fact strong,.family-fact p{font-size:.91rem}
.family-detail-actions{display:flex;gap:8px;flex-wrap:wrap}
.family-form{display:grid;gap:12px;padding-bottom:56px}
.family-form-head{display:grid;gap:3px}.family-form-head h3{font-size:1.12rem}.family-form-head p{color:#bdd8e5;font-size:.82rem}
.family-fields{display:grid;gap:13px}
.family-more{padding:9px 11px;border:1px solid #73a9c267;border-radius:11px}
.family-more summary{display:flex;justify-content:space-between;gap:8px;color:#dbf4fc;font-size:.82rem;font-weight:700;cursor:pointer}
.family-more summary span{color:#a9c7d5;font-size:.74rem;font-weight:500}.family-extra{display:grid;gap:12px;margin-top:12px}
.form-actions{position:sticky;bottom:0;z-index:2;display:flex;gap:8px;padding:10px 0 4px;background:linear-gradient(transparent,#061b30 20%)}
.panel .maison .form-actions button[type=submit]{flex:1;color:#052438;background:#85e7f0}
.panel.maison-shell.maison-form-open .panel-copy{display:none}
.panel.maison-shell.maison-form-open .family-form-head p{display:none}
.family-confirm-backdrop{position:absolute;z-index:10;inset:0;display:grid;place-items:center;padding:18px;background:#010b19c9;backdrop-filter:blur(6px)}
.family-confirm{display:grid;gap:11px;width:100%;max-width:330px;padding:19px;border:1px solid #f1b9a179;border-radius:17px;background:#15304a;box-shadow:0 18px 35px #0009}
.family-confirm p{color:#cddfeb;font-size:.87rem}.family-confirm .row{justify-content:flex-end}
@media(max-width:390px){.maison .grid2{grid-template-columns:1fr}.maison .meal-slot{grid-template-columns:43px 1fr 55px}}
@media(max-height:620px){.panel.maison-shell{height:calc(var(--maison-view-height,100dvh) - 70px)}.maison-feature{padding:10px}}
