.core-profile-dialog { width:min(760px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:0; border:1px solid #cbd9e6; border-radius:18px; background:#fff; color:#183b60; box-shadow:0 24px 80px #0a244652; }
.core-profile-dialog::backdrop { background:#091f3b99; backdrop-filter:blur(3px); }
.core-profile-dialog[open],.core-profile-form { display:flex; flex-direction:column; min-height:0; }
.core-profile-form { max-height:calc(100dvh - 34px); }
.core-profile-form>header { display:flex; align-items:flex-start; gap:24px; justify-content:space-between; padding:24px 28px 20px; border-bottom:1px solid #dbe5ef; flex-shrink:0; }
.core-profile-eyebrow { margin:0 0 7px; color:#647b92; font-size:12px; }
.core-profile-form h2,.core-profile-loading h2 { margin:0; color:#0d3159; font:400 29px/1.2 Georgia,serif; }
.core-profile-form>header p:last-child { margin:10px 0 0; font-size:13px; line-height:1.6; color:#647b92; }
.core-profile-close { flex:0 0 36px; width:36px; height:36px; border:1px solid #cad9e7; border-radius:9px; background:#fff; color:#183b60; cursor:pointer; font-size:23px; }
.core-profile-body { padding:22px 28px; overflow-y:auto; overscroll-behavior:contain; }
.core-profile-completion { padding:13px 16px; margin-bottom:22px; border:1px solid #eac78b; border-radius:10px; background:#fff7e9; color:#7b501e; font-size:13px; line-height:1.6; }
.core-profile-completion.is-complete { background:#edf8f3; border-color:#b7dccb; color:#25654f; }
.core-profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 22px; align-items:start; }
.core-profile-field { display:grid; gap:8px; align-content:start; min-width:0; font-size:13px; font-weight:700; }
.core-profile-field>span { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.core-profile-field input,.core-profile-field select { box-sizing:border-box; width:100%; min-width:0; height:44px; padding:9px 12px; border:1px solid #bfd1e2; border-radius:8px; background:#fff; color:#173a60; font-family:inherit; font-size:16px; font-weight:400; line-height:1.4; }
.core-profile-field.is-missing input,.core-profile-field.is-missing select { border-color:#dab779; background:#fffdfa; }
.core-profile-field>small,.core-profile-legacy-location small { font-size:11px; font-weight:400; color:#647b92; line-height:1.6; }
.core-profile-field [data-core-missing],.core-profile-location-heading>span { border-radius:5px; padding:2px 6px; background:#fff1d9; color:#855420; font-size:10px; font-weight:700; }
.core-profile-dialog [hidden] { display:none!important; }
.core-profile-location { margin-top:24px; padding-top:20px; border-top:1px solid #e0e8f0; }
.core-profile-location-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.core-profile-location h3 { margin:0; color:#193e65; font-size:16px; }
.core-profile-location>p { margin:8px 0 17px; font-size:12px; line-height:1.6; color:#647b92; }
.core-profile-location>.core-profile-legacy-location { display:grid; gap:5px; margin:18px 0 0; padding:12px 14px; border-radius:8px; background:#f3f7fb; overflow-wrap:anywhere; }
.core-profile-legacy-location strong { font-size:11px; color:#47647f; }
.core-profile-save-status { margin:16px 0 0; font-size:13px; line-height:1.6; }
.core-profile-save-status:empty { display:none; }
.core-profile-save-status.is-error { padding:12px; background:#fff0ed; color:#923e2d; border-radius:8px; }
.core-profile-save-status>.button { display:block; margin-top:12px; }
.core-profile-form>footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 28px; border-top:1px solid #dbe5ef; background:#f7fafd; flex-shrink:0; }
.core-profile-form>footer>p { margin:0; max-width:260px; color:#61758b; font-size:11px; line-height:1.6; }
.core-profile-form>footer>div { display:flex; gap:10px; flex-shrink:0; }
.core-profile-form .button { min-height:42px; }
.core-profile-form :disabled { opacity:.65; cursor:wait; }
.core-profile-dialog :focus-visible { outline:3px solid #8bb5dc; outline-offset:3px; }
.core-profile-loading { padding:28px; }
.core-profile-loading .button { margin:12px 10px 0 0; }
.talent-review-name-row { display:flex; align-items:center; flex-wrap:wrap; gap:9px 14px; }
.talent-review-name-row .talent-review-core-edit { flex:0 0 auto; padding:5px 9px; min-height:30px; border:1px solid #c2d4e5; border-radius:7px; background:#f5f9fd; color:#214d77; font-family:inherit; font-size:11px; font-weight:600; line-height:1.3; cursor:pointer; }
.talent-review-name-row .talent-review-core-edit:hover { background:#e7f1fb; border-color:#85aed2; }
@media(max-width:580px) {
  .core-profile-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); border-radius:13px; }
  .core-profile-form { max-height:calc(100dvh - 18px); }
  .core-profile-form>header { padding:20px 18px 16px; }
  .core-profile-form h2 { font-size:25px; }
  .core-profile-body { padding:18px; }
  .core-profile-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
  .core-profile-form>footer { flex-direction:column; align-items:stretch; gap:13px; padding:16px 18px; }
  .core-profile-form>footer>p { max-width:none; }
  .core-profile-form>footer>div { justify-content:flex-end; flex-wrap:wrap; }
  .talent-review-name-row .talent-review-core-edit { min-height:36px; }
}
