.family-upload-modal[hidden]{display:none}.family-upload-modal{position:fixed;inset:0;z-index:10000;background:rgba(10,12,10,.76);display:grid;place-items:center;padding:24px}.family-upload-card{position:relative;width:min(680px,100%);max-height:92vh;overflow:auto;background:#f3f0e8;color:#171814;padding:38px 40px;box-shadow:0 24px 90px rgba(0,0,0,.35)}.family-upload-close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:32px;line-height:1;cursor:pointer}.family-upload-card h2{font-size:48px;margin:8px 0 10px}.family-upload-intro{max-width:570px;margin:0 0 26px;color:#575951}.family-upload-card form>label:not(.family-file-drop){display:block;margin:18px 0}.family-upload-card label>span{display:block;font-size:12px;letter-spacing:.1em;font-weight:600;margin-bottom:7px}.family-upload-card label span b,.family-upload-card label span em{font-size:10px;font-style:normal;font-weight:500;color:#777970;letter-spacing:.04em}.family-upload-card input[type=text],.family-upload-card input[type=name],.family-upload-card input:not([type=file]):not([type=hidden]),.family-upload-card textarea{width:100%;border:1px solid #bcb8ad;background:#faf8f2;color:#171814;padding:13px 14px;border-radius:0;resize:vertical}.family-file-drop{display:block;border:1px dashed #8d8d84;background:#faf8f2;padding:20px;cursor:pointer}.family-file-drop input{position:absolute;opacity:0;pointer-events:none}.family-file-drop span{font-size:11px;letter-spacing:.13em}.family-file-drop strong{display:block;font-size:18px;margin:4px 0}.family-file-drop small{color:#74756e}.family-upload-preview{margin-top:12px;background:#ddd9ce}.family-upload-preview img{display:block;max-width:100%;max-height:260px;margin:auto;object-fit:contain}.family-upload-person{border-top:1px solid #d1ccc0;margin-top:24px;padding-top:16px;font-size:14px;color:#62635c}.family-upload-status{min-height:26px;margin:12px 0;font-size:14px}.family-upload-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.family-upload-actions button{padding:13px 18px;cursor:pointer}.family-upload-cancel{background:transparent;border:1px solid #aaa69c}.family-upload-submit{border:1px solid #171814;background:#171814;color:#fff;font-weight:600}.family-upload-submit:disabled{opacity:.5}.family-upload-open{overflow:hidden}@media(max-width:650px){.family-upload-modal{padding:0}.family-upload-card{height:100%;max-height:none;padding:30px 20px}.family-upload-card h2{font-size:40px}}