.family-dialog-open{overflow:hidden}
.family-dialog-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:flex-end;justify-content:center;padding-top:18px;background:rgba(42,52,47,.38);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:family-dialog-fade-in .18s ease-out}
.family-dialog-sheet{display:flex;flex-direction:column;width:100%;max-width:480px;max-height:88vh;overflow:hidden;border:1px solid rgba(221,233,226,.9);border-bottom:0;border-radius:28px 28px 0 0;background:#fffdf9;box-shadow:0 -14px 45px rgba(55,66,58,.2);color:#352b27;animation:family-dialog-sheet-in .22s ease-out}
.family-dialog-grip{flex:0 0 auto;width:38px;height:4px;margin:10px auto 5px;border-radius:99px;background:#d9e4dd}
.family-dialog-head{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 19px 8px}
.family-dialog-head small{display:block;margin-bottom:5px;color:#52816d;font-size:10px;font-weight:900;letter-spacing:.04em}
.family-dialog-head h2{margin:0;color:#302a27;font-size:19px;line-height:1.35;font-weight:900}
.family-dialog-close{flex:0 0 auto;width:34px;height:34px;border:0;border-radius:50%;background:#f4eee9;color:#786d67;font-size:23px;line-height:1;cursor:pointer}
.family-dialog-description{flex:0 0 auto;margin:0;padding:0 19px 12px;color:#766b65;font-size:12px;line-height:1.65}
.family-dialog-rows{flex:1 1 auto;min-height:0;overflow:auto;margin:0 16px;padding:4px 13px;border:1px solid #e2ece6;border-radius:19px;background:#fff}
.family-dialog-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf1ed;font-size:12px;line-height:1.5}
.family-dialog-row:last-child{border-bottom:0}
.family-dialog-row span{flex:0 0 72px;color:#7b8982}
.family-dialog-row b{flex:1;color:#33463d;text-align:right;font-weight:800;overflow-wrap:anywhere}
.family-dialog-content{flex:1 1 auto;min-height:0;overflow:auto;margin:0 16px;padding:13px;border-radius:17px;background:#f4f8f5;color:#655b56;font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.family-dialog-notice{flex:0 0 auto;margin:11px 16px 0;padding:11px 12px;border-radius:15px;background:#eef7f1;color:#4d7665;font-size:11px;line-height:1.6}
.family-dialog-input-label{flex:0 0 auto;margin:14px 19px 6px;color:#536d60;font-size:11px;font-weight:900}
.family-dialog-input{flex:0 0 auto;min-height:88px;max-height:28vh;resize:vertical;margin:0 16px;padding:12px;border:1px solid #dce8e0;border-radius:15px;background:#fff;color:#342a26;font:inherit;font-size:13px;line-height:1.6;outline:none}
.family-dialog-input:focus{border-color:#70a88f;box-shadow:0 0 0 3px rgba(112,168,143,.12)}
.family-dialog-input.is-invalid{border-color:#d45d55}
.family-dialog-input::placeholder{color:#a8b0aa}
.family-dialog-actions{display:flex;flex:0 0 auto;gap:9px;padding:14px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #edf0ec;background:rgba(255,253,249,.97)}
.family-dialog-button{min-height:46px;border:0;border-radius:24px;font-size:13px;font-weight:900;cursor:pointer}
.family-dialog-button.secondary{flex:1;border:1px solid #dfe8e2;background:#fff;color:#60746a}
.family-dialog-button.primary{flex:1.2;background:#5f9a7d;color:#fff;box-shadow:0 5px 14px rgba(75,137,109,.16)}
.family-dialog-button:active{transform:scale(.99)}
@keyframes family-dialog-fade-in{from{opacity:0}to{opacity:1}}
@keyframes family-dialog-sheet-in{from{transform:translateY(24px);opacity:.8}to{transform:translateY(0);opacity:1}}
@media(min-width:600px){.family-dialog-overlay{align-items:center;padding:24px}.family-dialog-sheet{border-bottom:1px solid rgba(221,233,226,.9);border-radius:26px;max-height:min(82vh,760px)}.family-dialog-actions{padding-bottom:16px}}
@media(prefers-reduced-motion:reduce){.family-dialog-overlay,.family-dialog-sheet{animation:none}}
