.profile-form-dialog { width:min(680px,calc(100vw - 28px)); max-height:min(780px,calc(100vh - 28px)); padding:0; border:0; border-radius:20px; background:#fff; box-shadow:0 25px 80px rgba(24,28,25,.28); }
.profile-form-dialog::backdrop { background:rgba(17,28,28,.48); backdrop-filter:blur(3px); }
.profile-form-dialog [hidden] { display:none !important; }
.profile-form-shell { display:flex; flex-direction:column; max-height:min(780px,calc(100vh - 28px)); margin:0; }
.profile-form-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:21px 24px 16px; border-bottom:1px solid #ebe5dc; }
.profile-form-head h2 { margin:3px 0 0; color:#183f45; font-size:22px; }
.profile-form-kicker { margin:0; color:#df7c43; font-size:12px; font-weight:700; letter-spacing:.08em; }
.profile-form-close { flex:0 0 38px; width:38px; height:38px; display:flex; align-items:center; justify-content:center; padding:0; border:1px solid #ded7cc; border-radius:50%; background:#fff; color:#45413b; cursor:pointer; }
.profile-form-close svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.profile-form-body { display:grid; gap:14px; padding:19px 24px; overflow:auto; }
.profile-form-body .form-field { min-width:0; }
.profile-form-body .form-field label { display:block; margin-bottom:6px; font-size:13px; font-weight:650; }
.profile-form-body input,.profile-form-body select { width:100%; min-width:0; min-height:43px; padding:9px 11px; border:1px solid #d8d2c6; border-radius:8px; background:#fff; color:inherit; font:inherit; }
.profile-form-body input:disabled { background:#f2f0eb; color:#5f5a53; opacity:1; }
.profile-form-body input[name="birth_time"] { font-variant-numeric:tabular-nums; letter-spacing:.04em; }
.profile-form-place-selects { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); gap:9px; }
.profile-form-place-selects .select2-container { width:100% !important; min-width:0; }
.profile-form-place-selects .select2-selection--single { height:43px; border-color:#d8d2c6; border-radius:8px; }
.profile-form-place-selects .select2-selection--single .select2-selection__rendered { line-height:41px; padding-left:12px; padding-right:28px; }
.profile-form-place-selects .select2-selection--single .select2-selection__arrow { height:41px; }
.profile-form-dialog .select2-search--dropdown { padding:10px; background:#fff; }
.profile-form-dialog .select2-container--default .select2-search--dropdown .select2-search__field { box-sizing:border-box; min-height:44px; padding:9px 11px; border:1px solid #cfc8bd !important; border-radius:8px; outline:0; color:#243f43; background:#fff; font:inherit; font-size:16px; font-weight:400; line-height:1.4; }
.profile-form-dialog .select2-container--default .select2-search--dropdown .select2-search__field:focus { border-color:#6b9393 !important; box-shadow:0 0 0 3px rgba(63,116,116,.12); }
.profile-form-dialog .select2-results__option { padding:10px 12px; font-size:15px; font-weight:400; line-height:1.4; }
.profile-form-place-locked { margin:0; min-height:43px; padding:10px 11px; border:1px solid #ddd6cb; border-radius:8px; background:#f2f0eb; color:#5f5a53; }
.profile-form-help { margin:7px 0 0; color:#77716a; font-size:12px; line-height:1.5; }
.profile-form-message { min-height:20px; margin:0; color:#a3281c; font-size:13px; }
.profile-form-actions { display:flex; justify-content:flex-end; gap:10px; padding:15px 24px 20px; border-top:1px solid #ebe5dc; }
@media (max-width:600px) {
    .profile-form-place-selects { grid-template-columns:1fr; }
    .profile-form-head,.profile-form-body,.profile-form-actions { padding-left:16px; padding-right:16px; }
    .profile-form-actions .button { flex:1; }
}
