.profile-link { display:flex; align-items:center; gap:11px; background:transparent; padding:4px; border-radius:12px; min-width:0; }
.profile-link:hover { background:var(--soft); }
.person-avatar,.large-avatar { display:inline-flex; align-items:center; justify-content:center; width:35px; height:35px; border-radius:50%; background:var(--primary-soft); color: var(--muted); font-size:12px; font-weight:650; flex-shrink:0; overflow:hidden; border:1px solid var(--line); }
.person-avatar img,.large-avatar img { width:100%; height:100%; object-fit:cover; }
.large-avatar { width:80px; height:80px; font-size:25px; }
.user-avatar { display:flex; }
.account-control .person-avatar { width:37px; height:37px; background:var(--primary-soft); border:2px solid var(--surface); box-shadow:0 0 0 1px var(--line); }
.creator-cell { display:flex; align-items:center; gap:9px; min-width:135px; max-width:190px; font-size:12px; color: var(--muted); }
.creator-cell>span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.creator-cell .person-avatar { width:28px; height:28px; font-size:10px; }
.profile-card { width:min(560px,calc(100% - 28px)); }
.profile-card .modal-head h2 { font-size:24px; margin-top:0; }
.profile-avatar-row { display:flex; align-items:center; gap:22px; padding:20px; margin:0 0 26px; background:var(--soft); border:1px solid var(--line); border-radius:16px; }
.profile-avatar-row>div:last-child { display:flex; flex-wrap:wrap; align-items:center; gap:9px; min-width:0; }
.profile-avatar-row small { flex-basis:100%; font-size:12px; color: var(--muted); }
.upload-label { flex-direction:row; position:relative; cursor:pointer; font-size:13px; }
.upload-label:focus-within { outline:3px solid var(--focus); outline-offset:3px; }
.profile-avatar-row .text-button { font-size:12px; }
.password-section { padding-top:28px; margin-top:30px; border-top:1px solid var(--line); }
.password-section h3 { font:800 17px var(--display); }
.role-note { font-size:13px; color: var(--primary); }
.team-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.team-person { display:flex; flex-wrap:wrap; align-items:center; gap:15px; padding:25px; background:var(--surface); border:1px solid var(--line); border-radius:21px; box-shadow:0 5px 15px #2b4b8f03; position:relative; overflow:hidden; }
.team-person:has(.role-tag.owner) { border-color:var(--line); background:linear-gradient(135deg,var(--soft),var(--surface) 75%); }
.team-identity { flex-basis:100%; display:flex; align-items:center; gap:15px; padding-bottom:8px; min-width:0; }
.team-identity>div { min-width:0; }
.team-identity h3 { font:800 15px/1.4 var(--display); overflow-wrap:anywhere; }
.team-identity p { font-size:12px; color: var(--muted); margin-top:5px; overflow-wrap:anywhere; }
.team-identity .person-avatar { width:51px; height:51px; font-size:16px; background:var(--primary-soft); border:1px solid var(--line); }
.role-tag { font-size:12px; color: var(--muted); background:var(--soft); border-radius:7px; padding:5px 9px; white-space:nowrap; }
.role-tag.owner { color: var(--primary); background:var(--primary-soft); }
.team-person>.status-pill { margin-left:auto; font-size:12px; }
.team-actions { display:flex; justify-content:space-between; align-items:center; gap:15px; width:100%; padding-top:18px; margin-top:5px; border-top:1px solid var(--line); }
.team-actions .secondary,.team-actions .text-button { font-size:12px; }
.team-actions .secondary { padding:9px 12px; min-height:38px; }
.danger-text { color: var(--danger); }
.team-person>.muted { flex-basis:100%; padding-top:21px; margin-top:5px; border-top:1px solid var(--line); font-size:12px; min-height:57px; }
.history-event { padding:19px 0; border-bottom:1px solid var(--line); }
.history-event:first-child { padding-top:0; }
.history-person { display:flex; align-items:center; gap:11px; margin-bottom:14px; }
.history-person strong { display:block; font-size:13px; font-weight:600; }
.history-person small { display:block; font-size:12px; color: var(--muted); margin-top:4px; }
.change-detail { display:flex; flex-direction:column; gap:5px; margin:10px 0 10px 45px; padding:12px 14px; background:var(--soft); border:1px solid var(--line); border-radius:10px; overflow-wrap:anywhere; font-size:13px; }
.change-detail>span { font-size:12px; color: var(--muted); }
.change-detail del { color: var(--danger); text-decoration-thickness:1px; }
.change-detail strong { color: var(--primary); font-weight:500; }
#passwordResultValue { font:16px ui-monospace,monospace; margin-bottom:21px; }
@media(max-width:1200px) { .team-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) {
  .profile-summary { display:none; }
  .account-control .person-avatar { width:34px; height:34px; }
  .team-list { grid-template-columns:1fr; gap:16px; }
  .team-person { padding:23px; }
  .team-identity h3 { font-size:16px; }
  .team-identity p { font-size:13px; }
  .team-actions .secondary,.team-actions .text-button { min-height:42px; font-size:13px; }
  .creator-cell { min-width:0; max-width:none; font-size:12px; }
  .creator-cell>span:last-child { white-space:normal; }
  .creator-cell .person-avatar { width:26px; height:26px; }
  .profile-avatar-row { padding:16px; gap:14px; align-items:flex-start; }
  .large-avatar { width:60px; height:60px; font-size:22px; }
  .profile-avatar-row .secondary { padding:9px 12px; font-size:12px; }
  .change-detail { margin-left:0; }
}
