.hub-profile-page { width:min(920px,100%); margin:0 auto; padding:32px 32px 60px; }
.hub-profile-form fieldset { margin:0; padding:0; border:0; min-width:0; }
.profile-photo-row { display:flex; gap:24px; align-items:center; padding:24px 0 32px; border-bottom:1px solid var(--border); margin-bottom:28px; }
.profile-photo { width:112px; height:112px; flex:0 0 112px; border:1px solid var(--border-strong); border-radius:50%; overflow:hidden; display:grid; place-items:center; background:var(--subtle); font-size:38px; color:var(--accent); }
.profile-photo img { width:100%; height:100%; object-fit:cover; }
.profile-photo-actions { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0 10px; }
.profile-photo-actions input { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.profile-photo-actions label:focus-within { outline:2px solid var(--focus); outline-offset:3px; }
.profile-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 24px; margin-top:20px; }
.profile-fields label { display:flex; flex-wrap:wrap; gap:8px; font-size:13px; }
.profile-fields input { width:100%; min-width:0; min-height:42px; padding:10px 12px; color:var(--text); background:var(--surface); border:1px solid var(--border-strong); }
.profile-fields input[readonly] { color:var(--muted); background:var(--subtle); }
.profile-save { margin-top:24px; }
.profile-message { padding:12px 16px; margin:0 0 24px; border:1px solid var(--border); border-radius:4px; line-height:1.5; }
.profile-message.error { color:var(--danger); background:var(--danger-soft); border-color:var(--danger); }
.profile-message.success { color:var(--success); background:var(--success-soft); border-color:var(--success); }
.profile-account { margin-top:36px; padding-top:24px; border-top:1px solid var(--border); }
.profile-account dl { display:flex; flex-wrap:wrap; gap:24px 80px; margin:18px 0 0; }
.profile-account dt { color:var(--muted); font-size:12px; margin-bottom:6px; }
.profile-account dd { margin:0; }
.hub-account-avatar { width:28px; height:28px; flex:0 0 28px; border-radius:50%; overflow:hidden; display:inline-grid; place-items:center; background:var(--subtle); color:var(--muted); border:1px solid var(--border-strong); }
.hub-account-avatar img { width:100%; height:100%; object-fit:cover; }
.hub-account-avatar svg { width:17px; height:17px; }
.fiha-module-account { position:relative; flex:none; font-size:13px; }
.fiha-module-account summary { display:flex; align-items:center; gap:8px; min-height:36px; cursor:pointer; list-style:none; }
.fiha-module-account summary::-webkit-details-marker { display:none; }
.fiha-module-account .hub-account-avatar { background:var(--bg-card,#edf1f2); color:var(--text-main,#31454c); border:1px solid var(--border-color,#a6b2ba); }
.fiha-module-account-name { max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fiha-module-account-popup { position:absolute; top:calc(100% + 8px); right:0; width:200px; padding:6px; z-index:50000; background:var(--bg-card,#fff); color:var(--text-main,#202d35); border:1px solid var(--border-color,#a6b2ba); border-radius:4px; box-shadow:0 6px 20px #0002; }
.fiha-module-account-popup a { display:block; padding:12px; color:inherit; text-decoration:none; }
.fiha-module-account-popup a:hover,.fiha-module-account-popup a:focus-visible { outline:2px solid #27856f; outline-offset:-2px; }
@media(max-width:600px) { .fiha-module-account-name { display:none; } .fiha-module-account summary { min-width:36px; justify-content:center; } }
.profile-photo span { display:grid; place-items:center; }
.profile-photo span[hidden] { display:none; }
.profile-photo svg { width:52px; height:52px; }
.hub-user-identity { display:flex; align-items:center; gap:12px; }
.hub-user-identity > div { min-width:0; }
.hub-user-identity .hub-account-avatar { width:32px; height:32px; flex-basis:32px; }
.hub-ui-header .account-menu a { padding:10px 8px; margin-top:6px; border-top:0; border-radius:4px; color:var(--text); }
.hub-ui-header .account-menu a:hover,.hub-ui-header .account-menu a:focus-visible { background:var(--hover); color:var(--accent); }
@media(max-width:700px) {
  .hub-ui-header .account-wrap { display:block; }
  .hub-ui-header .account-button { gap:4px; }
  .hub-ui-header .account-button > span { max-width:72px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .hub-ui-header .account-button svg { display:inline-block; }
  .hub-ui-header .account-menu { right:-42px; top:42px; max-width:calc(100vw - 32px); }
  .hub-ui-header .hub-account-avatar { width:24px; height:24px; }
}
@media(max-width:420px) { .hub-ui-header .ui-brand > span { display:none; } }
@media(max-width:600px) { .hub-profile-page { padding:24px 16px 40px; } .profile-fields { grid-template-columns:1fr; } .profile-photo-row { gap:16px; align-items:flex-start; } .profile-photo { width:80px; height:80px; flex-basis:80px; font-size:28px; } .profile-photo-actions .button { font-size:12px; padding:8px; } .hub-profile-page .page-heading { align-items:flex-start; flex-wrap:wrap; } }
