/* Company and agent profile, using the shared GHome palette. */
.pro-profile { overflow:hidden; }
.pro-cover { display:block; width:100%; height:clamp(140px,24vw,290px); object-fit:cover; }
.pro-profile-body { display:grid; gap:18px; padding:clamp(16px,3vw,38px); min-width:0; }
.pro-profile:not(:has(.pro-cover)) { background:linear-gradient(125deg,var(--brand-soft),var(--surface) 57%); }
.pro-identity { display:flex; align-items:center; gap:14px; min-width:0; }
.pro-identity>div { min-width:0; }
.pro-identity h1 { font-size:clamp(24px,4vw,45px); line-height:1.2; margin:.22em 0 0; overflow-wrap:anywhere; }
.pro-logo { flex:none; width:clamp(62px,10vw,86px); height:clamp(62px,10vw,86px); object-fit:contain; background:var(--surface); border:1px solid var(--line); border-radius:13px; }
.pro-agent .pro-logo { object-fit:cover; border-radius:50%; }
.pro-verified { display:inline-block; color:var(--brand-bright); background:var(--brand-soft); border:1px solid var(--line); border-radius:7px; padding:3px 8px; font-size:12px; font-weight:800; }
.pro-facts { display:flex; flex-wrap:wrap; gap:10px; margin:0; }
.pro-facts>div { min-width:0; padding:8px 12px; border:1px solid var(--line); border-radius:9px; background:var(--surface-soft); }
.pro-facts dt { font-size:11px; color:var(--muted); }
.pro-facts dd { font-weight:750; margin:0; overflow-wrap:anywhere; }
.pro-portfolio { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.pro-pages { margin-top:14px; }
.pro-card-brand { display:inline-flex; align-items:center; gap:5px; min-width:0; max-width:100%; color:var(--brand-bright); text-decoration:none; }
.pro-card-brand span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pro-card-brand:hover span { text-decoration:underline; }
.pro-card-brand img { flex:none; object-fit:contain; background:var(--surface); border:1px solid var(--line); border-radius:6px; }
.pro-card-brand b { flex:none; color:var(--brand-bright); font-size:13px; }
.card-footer .pro-card-brand { flex:1 1 auto; overflow:hidden; }
.pro-kind { margin:10px 0 16px; }
.pro-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; min-width:0; }
.pro-setup-heading {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;min-width:0;}
.pro-setup-heading .hub-actions {flex-wrap:wrap;}
.pro-submit-actions {margin-top:4px;padding-top:12px;border-top:1px solid var(--line);}
.pro-submit-actions button {min-height:44px;white-space:normal;}
.pro-form [readonly] { background:var(--surface-soft); color:var(--muted); }
.pro-upload { min-width:0; display:grid; align-content:start; gap:8px; padding:10px; border:1px solid var(--line); border-radius:9px; }
.pro-upload-logo { width:64px; height:64px; object-fit:contain; border-radius:8px; }
.pro-upload-cover { display:block; width:100%; max-height:130px; object-fit:cover; border-radius:8px; }
.pro-upload small { color:var(--muted); font-size:11px; }
.pro-feedback { color:var(--brand-bright); font-size:13px; margin-top:12px; overflow-wrap:anywhere; }
.pro-feedback:empty { display:none; }
.pro-notice { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; background:var(--surface-soft); padding:10px; border-radius:8px; }
.pro-admin { padding:clamp(12px,2vw,20px); margin-bottom:18px; background:var(--surface); border:1px solid var(--line); border-radius:12px; }
.pro-admin h3,.pro-admin p { margin:0 0 10px; }
.pro-review-list { display:grid; gap:8px; margin-top:10px; }
.pro-review-card { padding:10px; border:1px solid var(--line); border-radius:9px; min-width:0; }
.pro-review-identity { display:flex; align-items:center; gap:10px; min-width:0; }
.pro-review-identity img { flex:none; object-fit:contain; background:var(--surface); border-radius:6px; border:1px solid var(--line); }
.pro-review-identity small { display:block; color:var(--muted); }
.pro-review-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 12px; margin:8px 0; }
.pro-review-card :is(dd,strong,small),#pro-issued-code :is(p,strong) { overflow-wrap:anywhere; }
.pro-review-details dt { font-size:11px; color:var(--muted); }
.pro-review-details dd { margin:0; font-size:13px; }
.pro-review-check { display:flex; align-items:center; gap:7px; font-size:12px; margin:7px 0; }
.pro-review-check input { flex:none; }
#pro-issued-code { padding:12px; margin:10px 0; border:1px solid var(--line-strong); border-radius:9px; background:var(--brand-soft); }
#pro-issued-code input { width:100%; max-width:420px; margin:6px 0; font-family:monospace; font-size:16px; }
@media(max-width:840px) { .pro-portfolio { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
 .pro-fields,.pro-review-details { grid-template-columns:minmax(0,1fr); }
 .pro-identity { gap:10px; }
 .pro-profile-body { gap:13px; }
}
@media(max-width:460px) { .pro-portfolio { grid-template-columns:minmax(0,1fr); } }
