.client-calendar { color:var(--heirlo-navy, #172033); }
.client-calendar .cc-header { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:20px; }
.client-calendar h2 { margin:0 0 6px; font-size:21px !important; }
.client-calendar .cc-header p { margin:0; color:var(--heirlo-muted, #5d6b82); font-size:13px; line-height:1.6; }
.client-calendar button,.client-calendar input,.client-calendar select { width:auto; min-height:38px; margin:0; padding:8px 12px; border:1px solid #dce3ec; border-radius:8px; background:white; color:var(--heirlo-text-secondary, #475569); font:inherit; font-size:13px; box-shadow:none; }
.client-calendar button { cursor:pointer; }
.client-calendar .cc-primary { background:var(--heirlo-primary, #a41f35); color:#fff; border-color:var(--heirlo-primary, #a41f35); white-space:nowrap; }
.client-calendar .cc-toolbar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding-bottom:16px; border-bottom:1px solid var(--heirlo-border, #e2e7f0); }
.client-calendar .cc-toolbar label { display:flex; align-items:center; gap:8px; margin:0; font-size:13px; color:var(--heirlo-muted, #5d6b82); }
.client-calendar [type=search] { width:240px; }
.client-calendar .cc-summary { margin:14px 0; color:var(--heirlo-muted, #5d6b82); font-size:13px; }
.client-calendar .cc-status { color:var(--heirlo-primary, #a41f35); font-size:14px; }
.client-calendar .cc-status:empty { display:none; }
.client-calendar .cc-day { margin:24px 0 10px; font-size:14px !important; font-weight:600; color:var(--heirlo-text-secondary, #475569); }
.client-calendar .cc-entry { display:flex; align-items:flex-start; gap:16px; padding:16px; margin-bottom:8px; background:#fff; border:1px solid var(--heirlo-border, #e2e7f0); border-radius:12px; }
.client-calendar .cc-date { flex:0 0 48px; padding:6px 0; border-radius:8px; background:var(--heirlo-canvas, #f5f7fb); text-align:center; }
.client-calendar .cc-date span { display:block; font-size:11px; color:var(--heirlo-muted, #5d6b82); text-transform:uppercase; }
.client-calendar .cc-date strong { font-size:22px; color:var(--heirlo-text-secondary, #475569); font-weight:500; }
.client-calendar .cc-body { flex:1; min-width:0; }
.client-calendar .cc-title { min-height:0; padding:0; border:0; background:none; font-size:14px; font-weight:600; text-align:left; line-height:1.6; overflow-wrap:anywhere; }
.client-calendar .cc-title:hover { color:var(--heirlo-primary, #a41f35); }
.client-calendar .cc-body p { margin:6px 0 0; font-size:13px; line-height:1.65; color:var(--heirlo-muted, #5d6b82); white-space:pre-wrap; overflow-wrap:anywhere; }
.client-calendar summary { margin-top:8px; padding:4px 0; color:var(--heirlo-primary, #a41f35); font-size:13px; cursor:pointer; }
.client-calendar .cc-badge { padding:4px 8px; background:#f1f4f8; border-radius:5px; font-size:11px; color:#526078; white-space:nowrap; }
.client-calendar .cc-overdue { color:var(--heirlo-primary, #a41f35); background:#fff0f3; }
.client-calendar .cc-empty { padding:32px 20px; border:1px dashed #dce3ec; border-radius:10px; text-align:center; color:var(--heirlo-muted, #5d6b82); font-size:14px; }
.client-calendar [hidden] { display:none !important; }
.client-calendar :is(button,input,select,summary):focus-visible { outline:2px solid var(--heirlo-primary, #a41f35); outline-offset:3px; }
#matterTabContent:has(.client-calendar) .tab-view-body { padding:20px; }
@media(max-width:650px) {
 .client-calendar .cc-header { flex-wrap:wrap; }
 .client-calendar [type=search] { width:100%; }
 .client-calendar .cc-entry { display:grid; grid-template-columns:48px minmax(0,1fr); gap:10px; padding:14px; }
 .client-calendar .cc-badge { grid-column:2; justify-self:start; }
 #matterTabContent:has(.client-calendar) .tab-view-body { padding:14px; }
}
