/* FadiTec v0.8.7: responsive, read-only calendar. */
.calendar-card{padding:24px;overflow:hidden}
.calendar-filters,.calendar-toolbar,.calendar-nav,.calendar-view-switch,.cal-legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.calendar-filters{margin-bottom:22px;gap:16px}
.calendar-filters label{display:flex;align-items:center;gap:8px;font-size:.86rem;font-weight:600;color:var(--text,#334155)}
.calendar-filters .form-select{min-width:145px;max-width:250px}.calendar-filters input[type=date]{width:150px;min-height:37px;padding:5px 10px}
.calendar-view-switch{border:1px solid var(--border,#e3e8ee);border-radius:11px;padding:4px;gap:3px;background:var(--surface-2,#f5f7fa)}
.cal-tab{padding:8px 14px;border-radius:8px;color:var(--text-muted,#64748b);font-weight:700;font-size:.87rem;text-decoration:none}
.cal-tab.active{color:#fff;background:#d31c28;box-shadow:0 3px 8px #d31c2820}
.cal-tab:hover:not(.active){color:#d31c28}
.calendar-toolbar{justify-content:space-between;margin-bottom:16px}
.calendar-nav strong{font-size:1.08rem;min-width:126px;text-align:center}
.cal-legend{font-size:.8rem;color:var(--text-muted,#64748b)}
.cal-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-inline-end:5px}
.cal-dot-task{background:#d31c28}.cal-dot-followup{background:#0d9488}
.calendar-month,.calendar-week{display:grid;direction:rtl}
.calendar-month{grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--border,#e1e7ed);border-radius:14px;overflow:hidden}
.cal-weekday{padding:12px 4px;background:var(--surface-2,#f6f8fb);text-align:center;font-weight:700;font-size:.83rem;border-bottom:1px solid var(--border,#e1e7ed)}
.cal-cell{min-height:143px;padding:10px 7px;border-inline-end:1px solid var(--border,#e1e7ed);border-bottom:1px solid var(--border,#e1e7ed);min-width:0;background:var(--card-bg,var(--surface,#fff))}
.cal-cell.is-other-month{opacity:.56;background:var(--surface-2,#fafbfc)}
.cal-cell.is-today,.cal-week-column.is-today{background:rgba(211,28,40,.055)}
.cal-cell-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}
.cal-cell-title a{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;font-weight:700;color:inherit;text-decoration:none}
.is-today .cal-cell-title a{color:white;background:#d31c28}
.cal-count{font-size:.72rem;background:var(--surface-2,#eee);padding:2px 6px;border-radius:7px}
.cal-event{display:flex;align-items:flex-start;gap:7px;padding:7px 8px;border-radius:7px;text-decoration:none!important;margin-bottom:5px;background:rgba(211,28,40,.08);color:inherit;border-inline-start:3px solid #d31c28;min-width:0}
.cal-event.is-followup{background:rgba(13,148,136,.08);border-color:#0d9488}
.cal-event.is-late{outline:1px dashed rgba(211,28,40,.20)}
.cal-event>i{font-size:10px;margin-top:3px;color:#d31c28}.cal-event.is-followup>i{color:#0d9488}
.cal-event-copy{min-width:0;display:block}.cal-event-copy b{display:block;font-size:.76rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-weight:700}
.cal-event-copy small{display:block;font-size:.66rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;opacity:.7;margin-top:3px}
.cal-event:hover{filter:brightness(.96);color:inherit}
.cal-more{font-size:.75rem;color:#d31c28;text-decoration:none;padding-inline-start:3px}
.calendar-week{grid-template-columns:repeat(7,minmax(150px,1fr));border:1px solid var(--border,#e1e7ed);border-radius:12px;overflow:hidden}
.cal-week-column{padding:10px;border-inline-end:1px solid var(--border,#e1e7ed);min-height:320px}
.cal-week-head{display:flex;flex-direction:column;text-align:center;gap:8px;text-decoration:none;color:inherit;border-bottom:1px solid var(--border,#e1e7ed);margin-bottom:12px;padding:8px}
.cal-week-head strong{font-size:1.5rem}
.cal-empty-small{font-size:.75rem;color:var(--text-muted,#7c899c)}
.calendar-day h2{font-size:1rem;margin-bottom:20px}.cal-day-events{max-width:740px;display:grid;gap:8px}.cal-day-events .cal-event{padding:14px}.cal-day-events .cal-event-copy b{font-size:.95rem}.cal-day-events .cal-event-copy small{font-size:.79rem}
.calendar-footnote{margin-top:14px;font-size:.78rem;color:var(--text-muted,#64748b)}
@media(max-width:1100px){.calendar-month-scroll,.calendar-week-scroll{overflow-x:auto;overscroll-behavior-x:contain}.calendar-month{min-width:850px}.calendar-week{min-width:1060px}}
@media(max-width:640px){.calendar-card{padding:14px}.calendar-filters{align-items:stretch}.calendar-filters label{flex:1 1 145px;display:block}.calendar-filters label .form-select,.calendar-filters label input[type=date]{max-width:none;width:100%;margin-top:5px}.calendar-view-switch{width:100%;justify-content:space-around}.cal-tab{flex:1;text-align:center}.calendar-nav{gap:6px}.calendar-toolbar{gap:12px}.calendar-nav strong{min-width:90px}.calendar-footnote{line-height:1.8}}
