.portfolio-profile-row { margin-top:16px; border-top:1px solid var(--line); border-bottom:0; text-align:left; }
.portfolio-profile-row > span { min-width:0; flex:1; }
.portfolio-profile-row [data-portfolio-summary] { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; margin-top:4px; }
.portfolio-editor { min-width:0; }
.portfolio-editor label { display:block; margin:14px 0 7px; }
.portfolio-editor .input { width:100%; min-width:0; }
.portfolio-editor textarea { resize:vertical; min-height:96px; }
.portfolio-editor .dialog-actions { margin-top:16px; }
.portfolio-editor .error:empty { display:none; }
.portfolio-back { margin-bottom:10px; }
.portfolio-albums-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:22px 0 12px; }
.portfolio-albums-head h3 { margin:0; }
.portfolio-album-row { display:flex; align-items:center; gap:12px; width:100%; min-width:0; padding:12px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; color:var(--ink); text-align:left; }
.portfolio-album-row > img,.portfolio-album-icon { width:60px; height:60px; flex:0 0 60px; object-fit:cover; border-radius:14px; }
.portfolio-album-icon { display:grid; place-items:center; background:var(--soft); }
.portfolio-album-row > span:not(.portfolio-album-icon) { flex:1; min-width:0; }
.portfolio-album-row strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; font-size:16px; line-height:1.35; }
.portfolio-album-row .small { display:block; margin-top:3px; }
.portfolio-album-row > svg { width:20px; height:20px; flex:0 0 20px; }
.portfolio-edit-albums { margin-bottom:14px; }
.portfolio-edit-photos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:18px 0 8px; }
.portfolio-edit-photo { position:relative; aspect-ratio:1; min-width:0; }
.portfolio-edit-photo > img { width:100%; height:100%; object-fit:cover; border-radius:14px; }
.portfolio-edit-photo > .iconbtn { position:absolute; top:3px; right:3px; width:44px; height:44px; background:var(--surface); box-shadow:0 1px 6px #0002; }
.portfolio-photo-add { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-height:98px; border:1px dashed var(--control-border); border-radius:var(--ui-corner); background:var(--soft); color:var(--ink); padding:8px; font-size:13px; line-height:1.3; }
.portfolio-photo-add svg { width:26px; height:26px; flex:0 0 auto; }
.portfolio-public-hint { margin-top:16px; }
.portfolio-retry { display:flex; flex-wrap:wrap; gap:8px; }
.public-profile { min-width:0; }
.public-profile-identity { display:flex; gap:14px; align-items:center; margin-bottom:14px; }
.public-profile-identity > div { min-width:0; }
.public-profile-identity h3 { margin:0 0 3px; overflow-wrap:anywhere; }
.public-profile-identity p { margin:3px 0 0; }
.portfolio-about { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.5; margin:18px 0; }
.portfolio-section-title { margin:22px 0 4px; }
.public-profile-completed { margin:24px 0; }
.public-profile-completed h3 { margin:0 0 10px; }
.public-profile-completed ul { list-style:none; margin:0; padding:0; }
.public-profile-completed li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); }
.public-profile-completed li > div { min-width:0; flex:1; }
.public-profile-completed li > div strong { display:block; overflow-wrap:anywhere; font-size:15px; }
.public-profile-completed li .small { display:block; margin-top:3px; }
.public-work-price { flex:0 0 auto; max-width:45%; font-size:15px; text-align:right; overflow-wrap:anywhere; }
.performer-card .performer-bio { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.counterpart-link { text-align:left; color:var(--ink); background:transparent; border:0; border-radius:var(--ui-corner); width:100%; }
.counterpart-link > svg { margin-left:auto; flex:0 0 20px; width:20px; height:20px; }
.chat-peer-name > button { display:block; max-width:100%; padding:0; border:0; background:transparent; color:inherit; font:inherit; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; }
button.chat-peer-avatar { border:0; padding:0; cursor:pointer; }
.large-text .portfolio-album-row strong,.large-text .public-profile-completed li > div strong,.large-text .public-work-price { font-size:18px; }
.large-text .portfolio-photo-add { font-size:16px; }
@media(max-width:640px){
  .portfolio-edit-photos { gap:8px; }
  .portfolio-editor .dialog-actions { flex-direction:row; gap:10px; padding-top:4px; }
  .portfolio-editor .dialog-actions > button { flex:1; min-width:0; min-height:50px; padding:12px 8px; }
  .portfolio-album-view .order-gallery-stage { max-height:58dvh; }
  .public-profile-identity .avatar.big { width:56px; height:56px; flex:0 0 56px; }
}
