/* Client Portal source-of-truth alignment: Calendar shell + Production staffing. */
.client-source-note{margin:0 0 18px;padding:14px 16px;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:12px;background:#15130e;color:var(--muted);line-height:1.55}
.client-source-note b{color:var(--text)}
.client-event-shell{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}
.client-event-shell article{min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:#0d0d10}
.client-event-shell span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;margin-bottom:5px}
.client-event-shell b{display:block;overflow-wrap:normal;word-break:normal;white-space:normal}
.client-event-section{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.client-event-section>h3{margin:.1rem 0 .45rem}
.client-event-section>.section-help{margin:.1rem 0 12px;color:var(--muted);line-height:1.5}
.client-role{display:block;color:var(--muted);font-size:.78rem;margin-top:3px}
.client-calendar .calendar-event .client-cal-meta{display:block;color:#d3d4d9;font-size:.67rem;line-height:1.35}
.client-calendar .calendar-event .client-cal-status{color:var(--gold)}
@media(max-width:900px){.client-event-shell{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.client-event-shell{grid-template-columns:1fr}.client-event-shell article{padding:12px}.hours-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.hours-wrap .hours{min-width:680px}}

.client-calendar .calendar-day.is-today{border-color:var(--gold);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 45%,transparent)}
.client-calendar .calendar-day-number{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.client-calendar .calendar-day-number>b{color:var(--muted)}
.client-calendar .calendar-day-number>span{padding:2px 7px;border-radius:999px;background:var(--gold);color:#111;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.client-calendar-today-row{margin-top:9px}
.client-calendar-today-row .ghost{padding:7px 13px}

/* Build 8.4.04: client People view is client-hours only and linked back to source events. */
.client-people-linked .client-person-card{padding:0;overflow:hidden}
.client-person-card>summary{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;cursor:pointer;list-style:none}
.client-person-card>summary::-webkit-details-marker{display:none}
.client-person-card>summary h2{margin:0 0 8px}
.client-person-card>summary p{margin:3px 0}
.client-person-open-label{flex:0 0 auto;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:.78rem;font-weight:800;color:var(--gold)}
.client-person-card[open] .client-person-open-label{color:var(--text)}
.client-person-totals{margin:0;padding:0 20px 18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 14px}
.client-person-totals dt{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.client-person-totals dd{margin:0;font-weight:800;text-align:right}
.client-person-events{border-top:1px solid var(--line);padding:14px 16px 16px;display:grid;gap:10px;background:rgba(255,255,255,.015)}
.client-person-events-head{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:0 4px 4px}
.client-person-events-head span{color:var(--muted);font-size:.76rem;text-align:right}
.client-person-event-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel)}
.client-person-event-row strong,.client-person-event-row small{display:block}
.client-person-event-row small{margin-top:4px;color:var(--muted);line-height:1.35}
.client-person-event-hours{display:grid;grid-template-columns:auto auto auto;gap:10px;align-items:center}
.client-person-event-hours span{min-width:84px;text-align:center;color:var(--muted);font-size:.72rem}
.client-person-event-hours span b{display:block;color:var(--text);font-size:.95rem}
.client-person-event-hours button{white-space:nowrap}
@media(max-width:760px){.client-person-card>summary,.client-person-events-head{display:block}.client-person-open-label{display:inline-block;margin-top:10px}.client-person-events-head span{display:block;text-align:left;margin-top:4px}.client-person-event-row{grid-template-columns:1fr}.client-person-event-hours{grid-template-columns:1fr 1fr}.client-person-event-hours button{grid-column:1/-1;width:100%}}
/* Build 8.4.18 calendar consistency */
.client-calendar .calendar-event .client-cal-status{text-transform:capitalize}.client-calendar .calendar-event[data-status="cancelled"],.client-calendar .calendar-event[data-status="canceled"]{opacity:.72}.client-calendar .calendar-day.is-today{box-shadow:inset 0 0 0 2px #f2aa16}.client-calendar .calendar-day.is-today .calendar-day-number span{font-weight:800}
