/* HSP Client Portal visual refresh - Build 23.05.08 */
#portal.cp-polished{display:grid;gap:22px}.cp-polished .hero{align-items:start;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#15120c,#111216 58%)}.cp-polished .summary{grid-template-columns:repeat(3,minmax(115px,1fr));max-width:570px}.cp-polished nav{position:sticky;top:72px;z-index:1;padding:10px 0;background:#08080af5;backdrop-filter:blur(12px)}
.contact-summary{display:grid;grid-template-columns:1fr 1.15fr;gap:14px}.cp-contact-group{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:18px}.cp-contact-group>header{display:grid;grid-template-columns:1fr auto;gap:2px 16px;align-items:end;padding-bottom:13px;border-bottom:1px solid var(--line)}.cp-contact-group>header .eyebrow,.cp-contact-group>header h2{grid-column:1}.cp-contact-group>header span{grid-column:2;grid-row:1/3;color:var(--muted);font-size:.78rem}.cp-contact-people{display:grid;gap:10px;margin-top:12px}.cp-person-contact{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:12px;border:1px solid #292a31;border-radius:12px;background:#0d0d10}.cp-contact-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#2c210d;color:var(--gold);font-weight:900;font-size:1rem}.cp-contact-copy h3{margin:0;font-size:1rem}.cp-contact-copy p{margin:2px 0 9px;font-size:.78rem}.cp-contact-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cp-contact-links a{display:grid;gap:1px;padding:8px 9px;border:1px solid #30313a;border-radius:8px;background:#15161b;text-decoration:none;min-width:0}.cp-contact-links a span{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.cp-contact-links a b{font-size:.78rem;color:#f6f3ed;overflow-wrap:anywhere}.cp-contact-missing{font-size:.75rem;color:var(--muted)}
.cp-event-browser{display:grid;gap:16px}.cp-event-browser-head{align-items:end}.cp-event-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.cp-event-summary span{padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#121216;color:var(--muted);font-size:.76rem}.cp-event-summary b{display:block;color:#fff;font-size:1.2rem}.cp-event-section,.cp-completed-group{border:1px solid var(--line);border-radius:16px;background:#0d0d10;padding:14px}.cp-section-head,.cp-completed-group>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:4px 4px 13px}.cp-section-head h2,.cp-completed-group h2{margin:0}.cp-section-head .eyebrow,.cp-completed-group .eyebrow{margin:0 0 3px}.cp-section-count,.cp-completed-group>summary>span{padding:6px 10px;border-radius:99px;background:#2c210d;color:var(--gold);font-weight:800;font-size:.76rem}.cp-completed-group>summary{cursor:pointer;list-style:none}.cp-completed-group>summary::-webkit-details-marker{display:none}.cp-completed-group:not([open]){background:#0b0b0d}.cp-completed-group:not([open]) .cp-event-list{display:none}.cp-event-list{display:grid;gap:9px}.cp-event-row{border:1px solid #30313a;border-radius:13px;background:#131419;overflow:hidden}.cp-event-upcoming{border-left:4px solid var(--gold)}.cp-event-active{border-left:4px solid #40d889}.cp-event-completed{border-left:4px solid #6b6e78;opacity:.82}.cp-event-cancelled{border-left:4px solid #b34d55;opacity:.78}.cp-event-glance{display:grid;grid-template-columns:auto minmax(190px,1.25fr) minmax(145px,.75fr) minmax(130px,.65fr) minmax(170px,.9fr) auto;gap:10px;align-items:center;padding:12px}.cp-life{padding:6px 8px;border-radius:99px;font-weight:900;font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.cp-life-upcoming{background:#3a2b08;color:#ffc857}.cp-life-active{background:#0d3825;color:#62eba3}.cp-life-completed{background:#292a30;color:#c4c6ce}.cp-life-cancelled{background:#411d21;color:#ff9ba3}.cp-event-title p{margin:0;color:var(--gold);font-size:.65rem;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.cp-event-title h3{margin:2px 0;font-size:.95rem}.cp-event-fact{display:grid;gap:2px;min-width:0;padding-left:10px;border-left:1px solid #2e3037}.cp-event-fact span{font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.cp-event-fact b{font-size:.78rem;overflow-wrap:anywhere}.cp-event-toggle{padding:9px 12px}.cp-event-expanded{padding:0 12px 12px}.cp-event-expanded>.event{margin:0;border-radius:10px}.cp-event-expanded>.event>summary{display:none}.cp-event-expanded>.event>.event-detail{display:block!important;border-top:1px solid var(--line)}
.cp-doc-library{display:grid;gap:15px}.cp-doc-stats{display:flex;gap:8px;overflow:auto;padding-bottom:4px}.cp-doc-stats button{flex:0 0 auto;min-width:125px;text-align:left;background:#15161b;color:#fff;border:1px solid #30313a;padding:11px 13px}.cp-doc-stats button.active{border-color:var(--gold);background:#2c210d}.cp-doc-stats b,.cp-doc-stats span{display:block}.cp-doc-stats b{font-size:1.15rem}.cp-doc-stats span{font-size:.72rem;color:var(--muted)}.cp-doc-tools{margin:0}.cp-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.cp-doc-card{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#121216}.cp-doc-card-top{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:start}.cp-doc-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:#2c210d;color:var(--gold);font-size:.63rem;font-weight:900}.cp-doc-card-top p{margin:0;color:var(--gold);font-size:.67rem;text-transform:uppercase;font-weight:800}.cp-doc-card-top h3{margin:2px 0;font-size:.95rem}.cp-doc-meta{display:flex;gap:8px;flex-wrap:wrap}.cp-doc-meta span{display:grid;gap:2px;min-width:130px;padding:8px 10px;border:1px solid #292a31;border-radius:8px;background:#0d0d10}.cp-doc-meta small{color:var(--muted);text-transform:uppercase;font-size:.6rem;letter-spacing:.06em}.cp-doc-meta b{font-size:.75rem}.cp-doc-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:auto}
@media(max-width:1050px){.cp-event-glance{grid-template-columns:auto 1fr 1fr 1fr}.cp-event-place{grid-column:2/4}.cp-event-toggle{grid-column:4}.contact-summary{grid-template-columns:1fr}.cp-polished .hero{display:grid}.cp-polished .summary{max-width:none}}
@media(max-width:760px){.cp-polished .summary{grid-template-columns:1fr 1fr}.cp-contact-links{grid-template-columns:1fr}.cp-event-summary{grid-template-columns:1fr 1fr}.cp-event-glance{grid-template-columns:1fr 1fr}.cp-life{justify-self:start}.cp-event-title{grid-column:1/-1}.cp-event-fact,.cp-event-place{grid-column:auto;border-left:0;padding-left:0}.cp-event-toggle{grid-column:1/-1;width:100%}.cp-doc-tools{grid-template-columns:1fr}.cp-doc-grid{grid-template-columns:1fr}.cp-doc-actions{justify-content:stretch}.cp-doc-actions .button{flex:1;text-align:center}}

/* Build 23.05.09 - client contact layout cleanup */
.contact-summary{grid-template-columns:1fr;gap:16px;margin:22px 0}
.cp-contact-group{padding:18px 20px;overflow:hidden}
.cp-contact-group>header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:12px}
.cp-contact-group>header .eyebrow{margin:0 0 3px}
.cp-contact-group>header h2{margin:0;min-width:0;font-size:1.15rem;line-height:1.18;overflow-wrap:normal;word-break:normal}
.cp-contact-group>header span{flex:0 0 auto;white-space:nowrap;font-size:.72rem;padding:5px 8px;border:1px solid #30313a;border-radius:999px;background:#15161b}
.cp-contact-people{margin-top:12px}
.cp-contact-client .cp-contact-people{grid-template-columns:minmax(0,1fr)}
.cp-contact-hsp .cp-contact-people{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.cp-person-contact{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:12px;align-items:start;min-width:0}
.cp-contact-avatar{width:38px;height:38px;font-size:.9rem}
.cp-contact-copy{min-width:0}
.cp-contact-copy h3{font-size:.9rem;line-height:1.18;white-space:normal;overflow-wrap:normal;word-break:normal}
.cp-contact-copy p{margin:3px 0 10px;line-height:1.3;color:var(--muted)}
.cp-contact-links{grid-template-columns:1fr;gap:6px}
.cp-contact-links a{padding:7px 8px}
.cp-contact-links a b{font-size:.72rem;line-height:1.25;overflow-wrap:anywhere}
@media(max-width:980px){.cp-contact-hsp .cp-contact-people{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.cp-contact-group>header{align-items:flex-start;flex-direction:column;gap:8px}.cp-contact-hsp .cp-contact-people{grid-template-columns:1fr}.cp-person-contact{grid-template-columns:34px minmax(0,1fr)}.cp-contact-avatar{width:34px;height:34px}}
