/* Calendar uses the CRM theme and a single outline icon style. */
.dc-dashboard{display:flex;flex-direction:column;gap:1.25rem}
.dc-page-heading,.dc-calendar-toolbar,.dc-month-controls,.dc-toolbar-actions,.dc-note-footer,.dc-person,.dc-selection,.dc-details-heading,.dc-person-actions{display:flex;align-items:center;gap:.75rem}
.dc-page-heading,.dc-calendar-toolbar,.dc-note-footer,.dc-person,.dc-details-heading{justify-content:space-between}
.dc-icon{width:16px;height:16px;flex:none;vertical-align:middle}
.dc-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:38px;padding:.45rem .8rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));font-size:.875rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s}
.dc-button:hover{background:hsl(var(--muted));border-color:hsl(var(--primary)/.3)}
.dc-button:disabled{opacity:.5;cursor:default}.dc-icon-button{width:36px;min-height:36px;padding:0}
.dc-toolbar-actions{justify-content:flex-end;flex-wrap:wrap}.dc-month-controls{gap:.5rem}
.dc-month-controls h2{min-width:10rem;text-align:center;text-transform:capitalize;font-size:1rem}
.dc-tabs{display:flex;gap:.25rem;background:hsl(var(--muted));border-radius:var(--radius);padding:.25rem;width:fit-content}
.dc-tabs button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem 1.2rem;min-height:42px;border-radius:calc(var(--radius) - 2px);font-weight:500;font-size:.9rem;color:hsl(var(--muted-foreground))}
.dc-tabs button[aria-selected=true]{background:hsl(var(--background));color:hsl(var(--primary));box-shadow:0 1px 3px #0001}
.dc-tab-panel{display:flex;flex-direction:column;gap:1.25rem}
.dc-card{border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.25rem;background:hsl(var(--card));color:hsl(var(--card-foreground));box-shadow:0 1px 2px #00000005}
.dc-card h2,.dc-heading{font-weight:600;font-size:1rem}.dc-heading{display:flex;align-items:center;gap:.5rem;margin:0}
.dc-muted,.dc-empty{font-size:.85rem;color:hsl(var(--muted-foreground))}.dc-empty{padding:1rem 0}
.dc-calendar-card{scroll-margin-top:7rem}
.dc-month-title{border:0;background:transparent;padding:.3rem .5rem;text-transform:capitalize;font-size:1rem}
.dc-modal-overlay{position:fixed;inset:0;z-index:100;background:#0005;display:flex;align-items:center;justify-content:center;padding:1rem}
.dc-modal{width:min(900px,100%);max-height:85vh;overflow:auto;border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.25rem;background:hsl(var(--background));box-shadow:0 16px 48px #0002;color:hsl(var(--foreground))}
.dc-modal-compact{width:340px}.dc-modal-heading,.dc-mini-nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.dc-modal-heading h2{font-weight:600;font-size:1.05rem}
.dc-date-controls{display:flex;gap:.5rem;margin-bottom:.75rem}.dc-date-controls select,.dc-date-controls input{padding:.5rem;border:1px solid hsl(var(--input));border-radius:var(--radius);background:hsl(var(--background));min-width:0;flex:1;width:50%}
.dc-mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.dc-mini-grid button{height:34px;border-radius:5px;font-size:.8rem}.dc-mini-grid button:hover{background:hsl(var(--muted))}.dc-mini-grid .dc-mini-selected{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}
.dc-status-filters{display:flex;flex-wrap:wrap;gap:.7rem 1rem;margin-bottom:1rem}.dc-status-filters label{display:flex;align-items:center;gap:.4rem;font-size:.85rem}.dc-status-filters input{accent-color:hsl(var(--primary));width:16px;height:16px}
.dc-participant-list{margin-top:.5rem}.dc-modal .dc-filters{flex-wrap:wrap}.dc-modal .dc-filters input{min-width:200px}.dc-modal .dc-filters select{max-width:100%}
.dc-event-actions{display:flex;flex-direction:column;gap:.4rem;align-items:flex-end}.dc-event-actions .dc-button{min-height:30px;font-size:.75rem;padding:.25rem .55rem}.dc-done-label{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:hsl(var(--primary));white-space:nowrap}.dc-event-completed strong{text-decoration:line-through;color:hsl(var(--muted-foreground))}.dc-event-completed{background:hsl(var(--muted)/.25)}.dc-event-hidden{border-style:dashed;opacity:.65}.dc-actions-heading{padding:0 0 .75rem;border:0}
.dc-action-groups{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem}.dc-group-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:.65rem;gap:.5rem}.dc-group-heading h3{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600}.dc-group-overdue .dc-group-heading{color:#a96b31}.dc-group-done .dc-group-heading{color:hsl(var(--primary))}.dc-event-overdue{border-left:3px solid #bd8a51;background:rgba(189,138,81,.035)}.dc-action-state{font-size:.7rem;font-weight:600;display:inline-flex;align-self:flex-start;padding:.2rem .45rem;border-radius:4px;margin-bottom:.15rem}.dc-state-today{color:hsl(var(--primary));background:hsl(var(--primary)/.08)}.dc-state-done{color:hsl(var(--primary));background:hsl(var(--primary)/.08)}.dc-state-overdue{color:#9b612b;background:rgba(189,138,81,.12)}
.dc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:.75rem 0 1.2rem}
.dc-grid.dc-weekdays{grid-template-columns:repeat(5,minmax(0,1fr))}
.dc-weekday{text-align:center;padding:.35rem;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground))}
.dc-day{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:72px;padding:.5rem .6rem;text-align:left;border:1px solid hsl(var(--border)/.65);border-radius:calc(var(--radius) - 2px);position:relative;cursor:pointer;background:hsl(var(--background));transition:background .15s,border-color .15s}
.dc-day:hover{background:hsl(var(--muted)/.55);border-color:hsl(var(--primary)/.3)}
.dc-outside{color:hsl(var(--muted-foreground)/.65);background:hsl(var(--muted)/.2)}
.dc-day.dc-range{background:hsl(var(--primary)/.09);border-color:hsl(var(--primary)/.18)}
.dc-day.dc-selected{background:hsl(var(--primary)/.045);border-color:hsl(var(--primary)/.7);box-shadow:inset 0 0 0 1px hsl(var(--primary)/.5)}
.dc-day.dc-range.dc-selected{background:hsl(var(--primary)/.14)}
.dc-day-number{display:flex;align-items:center;justify-content:space-between;gap:2px;min-height:24px}
.dc-date{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;font-size:.85rem}
.dc-today .dc-date{font-weight:600;color:hsl(var(--primary));background:hsl(var(--primary)/.1);border-radius:6px}
.dc-note-mark{display:flex;color:hsl(var(--primary));align-items:center}.dc-note-mark .dc-icon{width:14px;height:14px}
.dc-day-count{position:absolute;right:8px;bottom:7px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:5px;background:hsl(var(--muted));font-size:.65rem;font-weight:500;color:hsl(var(--muted-foreground))}
.dc-dots{display:flex;flex-wrap:wrap;gap:4px;margin-top:.5rem;padding-right:20px}
.dc-dot{display:inline-block;flex:none;width:6px;height:6px;border-radius:50%;background:var(--dc-event-color,#64748b)}
.dc-kind-task{--dc-event-color:#c87965}.dc-kind-analysis{--dc-event-color:#9984bd}.dc-kind-contact{--dc-event-color:#c29b4b}.dc-kind-touchpoint{--dc-event-color:#659b97}.dc-kind-start{--dc-event-color:#6b9d74}.dc-kind-end{--dc-event-color:#b97f57}.dc-kind-ending_soon{--dc-event-color:#b7a05d}.dc-kind-consultation{--dc-event-color:#7197bc}
.dc-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1rem;color:hsl(var(--muted-foreground))}
.dc-legend-item{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem}.dc-legend-item .dc-icon{width:13px;height:13px;color:hsl(var(--primary))}
.dc-settings{display:flex;flex-wrap:wrap;gap:.8rem 1.5rem;padding:1rem;margin-top:1rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--muted)/.25)}
.dc-settings>strong,.dc-settings>.dc-toolbar-actions{width:100%}.dc-settings label{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.dc-settings input{accent-color:hsl(var(--primary));width:18px;height:18px}
.dc-details-heading{padding:1rem 0;border-top:1px solid hsl(var(--border))}
.dc-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 .4rem;font-size:.75rem;border-radius:6px;background:hsl(var(--muted));color:hsl(var(--muted-foreground))}
.dc-day-details{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:1.25rem;align-items:start}
.dc-events{display:flex;flex-direction:column;gap:.5rem}
.dc-event{display:flex;align-items:flex-start;gap:.7rem;padding:.8rem;border:1px solid hsl(var(--border)/.8);border-radius:var(--radius);background:hsl(var(--background))}
.dc-event-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border-radius:7px;background:hsl(var(--muted)/.6);color:var(--dc-event-color);margin-top:.1rem}
.dc-event-content{display:flex;flex:1;flex-direction:column;gap:.2rem;min-width:0;overflow-wrap:anywhere}.dc-event a{color:hsl(var(--primary));font-size:.875rem}.dc-event a:hover{text-decoration:underline}.dc-event strong{font-weight:500;font-size:.9rem}.dc-event .dc-button{align-self:center}
.dc-status{color:hsl(var(--muted-foreground));font-size:.7rem;background:hsl(var(--muted)/.6);border-radius:4px;padding:.15rem .4rem;width:fit-content;margin-top:.2rem}
.dc-note{padding:1rem;background:hsl(var(--muted)/.3);border:1px solid hsl(var(--border)/.6);border-radius:var(--radius)}
.dc-note .dc-heading{font-size:.9rem;margin-bottom:.75rem}.dc-note .dc-heading .dc-icon{color:hsl(var(--primary))}
.dc-note textarea,.dc-filters input,.dc-filters select,.dc-participant-picker select{width:100%;border:1px solid hsl(var(--input));border-radius:var(--radius);padding:.65rem;background:hsl(var(--background));font-size:.875rem}
.dc-note textarea{resize:vertical;min-height:112px;line-height:1.6}.dc-note-footer{margin-top:.5rem;font-size:.7rem;color:hsl(var(--muted-foreground))}.dc-note-footer .dc-button{font-size:.8rem;min-height:34px;padding:.35rem .6rem}
.dc-filters{display:flex;gap:.75rem;margin:.8rem 0}.dc-filters input{flex:1}.dc-filters select{width:auto;max-width:45%}
.dc-person{padding:1rem 0;border-bottom:1px solid hsl(var(--border)/.65)}.dc-person:last-child{border-bottom:0}.dc-person-name{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:.25rem;min-height:44px;min-width:0;overflow-wrap:anywhere}.dc-person-name strong{font-weight:500}.dc-person-name:hover strong{color:hsl(var(--primary))}.dc-person-selected .dc-person-name{color:hsl(var(--primary))}.dc-person-actions{flex:none;gap:.5rem}.dc-person-actions button[aria-pressed=true]{color:hsl(var(--primary));background:hsl(var(--primary)/.07);border-color:hsl(var(--primary)/.25)}
.dc-selection{padding:.8rem 0 .2rem;font-size:.8rem;flex-wrap:wrap}.dc-participant-picker{display:flex;align-items:center;gap:.75rem;color:hsl(var(--muted-foreground))}.dc-participant-picker select{width:auto;max-width:300px;padding:.5rem .65rem;color:hsl(var(--foreground))}.dc-period-label{display:flex;align-items:center;gap:.4rem;color:hsl(var(--primary))}
.dc-dashboard button:focus-visible,.dc-dashboard a:focus-visible,.dc-dashboard input:focus-visible,.dc-dashboard textarea:focus-visible,.dc-dashboard select:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}
@media(max-width:850px){.dc-person{align-items:flex-start;flex-direction:column;gap:.5rem}.dc-person-actions{width:100%}.dc-person-actions .dc-button{flex:1}.dc-day-details{grid-template-columns:1fr}.dc-event{padding:.7rem}.dc-note{margin-top:.25rem}}
@media(max-width:640px){.dc-dashboard{padding:1rem!important}.dc-card{padding:.8rem}.dc-page-heading,.dc-calendar-toolbar{align-items:flex-start;flex-wrap:wrap}.dc-month-controls{width:100%;justify-content:space-between}.dc-toolbar-actions{width:100%}.dc-day{min-height:62px;padding:.3rem;font-size:.85rem}.dc-grid{gap:3px}.dc-date{min-width:21px;height:21px;font-size:.8rem}.dc-dots{gap:3px;padding-right:14px}.dc-dot{width:5px;height:5px}.dc-day-count{right:4px;bottom:4px;min-width:15px;height:15px;font-size:.6rem}.dc-note-mark .dc-icon{width:12px;height:12px}.dc-legend{gap:.4rem .8rem}.dc-legend-item{font-size:.65rem}.dc-filters{flex-direction:column}.dc-filters select{max-width:100%;width:100%}.dc-person .dc-button{font-size:.8rem;padding:.4rem .5rem}.dc-note-footer{align-items:center;gap:.4rem}.dc-note textarea{font-size:16px}.dc-tabs{width:100%}.dc-tabs button{flex:1}.dc-participant-picker{width:100%;align-items:flex-start;flex-direction:column;gap:.35rem}.dc-participant-picker select{max-width:100%;width:100%}.dc-heading{font-size:.95rem}}

/* Card actions share a footer instead of competing with the event title. */
.dc-event{display:grid;grid-template-columns:30px minmax(0,1fr);gap:.65rem .75rem}
.dc-event-content{min-width:0}.dc-event-actions{grid-column:2;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;width:100%;gap:.5rem;border-top:1px solid hsl(var(--border)/.6);padding-top:.65rem;margin-top:.15rem}
.dc-event-actions .dc-button{min-height:36px;padding:.4rem .7rem;font-size:.8rem}.dc-action-primary{color:hsl(var(--primary));background:hsl(var(--primary)/.08);border-color:hsl(var(--primary)/.22)}.dc-action-primary:hover{background:hsl(var(--primary)/.15);border-color:hsl(var(--primary)/.4)}.dc-action-secondary{background:transparent;color:hsl(var(--muted-foreground));border-color:transparent}.dc-action-secondary:hover{background:hsl(var(--muted));border-color:hsl(var(--border))}.dc-event-actions .dc-done-label{margin-right:auto}
.dc-confirm-title{font-weight:500;margin-bottom:.3rem;overflow-wrap:anywhere}.dc-confirm-description{font-size:.85rem;line-height:1.6;color:hsl(var(--muted-foreground));margin:1rem 0}.dc-confirm-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.dc-confirm-actions .dc-button{min-height:40px}
@media(max-width:640px){.dc-event{padding:.75rem;gap:.6rem}.dc-event-actions{grid-column:1/-1;justify-content:flex-start}.dc-event-actions .dc-button{min-height:44px;font-size:.8rem;padding:.5rem .7rem}.dc-event-actions .dc-action-primary{flex:1}.dc-event-actions .dc-action-secondary{min-width:70px}.dc-modal-compact{width:min(360px,100%)}.dc-confirm-actions{flex-wrap:nowrap}.dc-confirm-actions .dc-button{flex:1;min-height:44px}.dc-confirm-actions .dc-icon{width:14px;height:14px}}
