/* Calendário profissional */
    .calendar-shell { overflow: visible; }
    .calendar-sticky-head { position: sticky; top: 82px; z-index: 24; border-radius: var(--radius) var(--radius) 0 0; overflow: hidden; box-shadow: 0 8px 18px var(--shadow-color, #43131c); box-shadow: 0 8px 18px color-mix(in srgb, var(--shadow-color, #43131c) 10%, transparent); }
    .calendar-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding:18px; border-bottom:1px solid var(--line); background:linear-gradient(180deg,#fff,#fbfdfd); }
    .calendar-toolbar-left,.calendar-toolbar-right { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
    .calendar-toolbar-right { align-items:flex-end; }
    .calendar-toolbar-right .calendar-view-switch { margin-bottom:1px; }
    .calendar-title { min-width:245px; text-align:center; font-size:22px; font-weight:900; color:var(--ink); text-transform:capitalize; }
    .calendar-view-switch { display:inline-flex; padding:4px; border:1px solid var(--line); border-radius:12px; background:#f5f8f8; }
    .calendar-view-btn { border:0; background:transparent; color:var(--muted); padding:8px 14px; border-radius:9px; font-weight:800; cursor:pointer; }
    .calendar-view-btn.active { background:#fff; color:var(--primary-dark); box-shadow:0 2px 8px rgba(20,54,60,.10); }
    .calendar-legend { display:flex; gap:10px; flex-wrap:wrap; padding:12px 18px; border-bottom:1px solid var(--line); background:#fff; }
    .calendar-legend-item { display:inline-flex; align-items:center; gap:8px; border:1px solid var(--border); border-radius:999px; padding:7px 10px; background:var(--surface-2); color:var(--muted); font:inherit; font-size:12px; font-weight:850; cursor:pointer; transition:.16s ease; }
    .calendar-legend-item:hover { border-color:var(--primary); color:var(--text); transform:translateY(-1px); }
    .calendar-legend-item.is-active { border-color:var(--legend-color); background:color-mix(in srgb,var(--legend-color) 10%,var(--surface)); color:var(--text); }
    .calendar-legend-dot { width:10px; height:10px; flex:0 0 auto; border-radius:999px; background:#aeb5b9; box-shadow:0 0 0 3px color-mix(in srgb,#8d969b 18%,transparent); }
    .calendar-legend-item.is-active .calendar-legend-dot { background:var(--legend-color); box-shadow:0 0 0 3px color-mix(in srgb,var(--legend-color) 18%,transparent); }
    .calendar-legend-hint { width:100%; color:var(--muted); font-size:11px; font-weight:750; }
    .calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); background:var(--line); gap:1px; }
    .calendar-weekdays-row { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:1px; background:var(--line); position:sticky; top:var(--calendar-weekdays-top,0px); z-index:31; box-shadow:0 8px 16px -16px rgba(32,16,20,.72); }
    .calendar-weekday { padding:11px 8px; text-align:center; background:#f5f8f8; color:var(--muted); font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
    #monitorCalendarContent .calendar-weekdays-row { top:var(--monitor-calendar-weekdays-top,0px); z-index:33; }
    #calendarWeekdaysHost:empty, #monitorCalendarWeekdaysHost:empty { display:none; }
    .calendar-sticky-head #calendarWeekdaysHost .calendar-weekdays-row, .monitor-calendar-sticky-head #monitorCalendarWeekdaysHost .calendar-weekdays-row { position:static; top:auto; z-index:auto; box-shadow:none; }
    .calendar-sticky-head #calendarWeekdaysHost, .monitor-calendar-sticky-head #monitorCalendarWeekdaysHost { border-top:1px solid var(--border); }
    .calendar-day { min-height:142px; height:auto; background:#fff; padding:9px; position:relative; cursor:pointer; transition:.16s ease; overflow:visible; }
    .calendar-day:hover { background:#f7fbfb; box-shadow:inset 0 0 0 2px rgba(8,127,140,.12); }
    .calendar-day.outside { background:#fafbfb; color:#9aa9ac; }
    .calendar-day.today { background:#f2fbfb; }
    .calendar-day.today .calendar-day-number { background:var(--primary); color:#fff; }
    .calendar-day-number { width:28px; height:28px; border-radius:9px; display:grid; place-items:center; font-size:12px; font-weight:900; margin-bottom:7px; }
    .calendar-events { display:flex; flex-direction:column; gap:5px; overflow:visible; }
    .calendar-event { --event-color:var(--primary); border:1px solid rgba(16,47,54,.10); width:100%; text-align:left; border-left:4px solid var(--event-color); background:#f8fbfc; border-radius:10px; padding:7px 8px; cursor:pointer; color:var(--ink); overflow:hidden; box-shadow:0 1px 0 rgba(255,255,255,.72) inset; }
    .calendar-event:hover { filter:brightness(.985); transform:translateY(-1px); }
    .calendar-event-time { font-size:10px; font-weight:900; color:var(--event-color); }
    .calendar-event-client { display:block; margin-top:2px; font-size:11px; font-weight:900; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .calendar-event-lawyer { display:block; margin-top:4px; font-size:10px; font-weight:900; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .calendar-event-status { display:inline-flex; align-items:center; justify-content:center; margin-top:4px; padding:3px 7px; border-radius:999px; font-size:9px; font-weight:900; line-height:1.15; max-width:100%; white-space:normal; }
    .calendar-event-status[data-calendar-status-date] { cursor:pointer; transition:transform .15s ease, box-shadow .15s ease; }
    .calendar-event-status[data-calendar-status-date]:hover { transform:translateY(-1px); box-shadow:0 0 0 2px rgba(16,47,54,.12); }
    .calendar-event.calendar-status-AGENDADO { background:#f5f7f8; border-color:#dbe3e6; }
    .calendar-event.calendar-status-PRESENTE { background:#ecf7f0; border-color:#b6dcc6; }
    .calendar-event.calendar-status-CHAMADO { background:#fff4dc; border-color:#e7c98c; }
    .calendar-event.calendar-status-EM_ATENDIMENTO { background:#e7efff; border-color:#a9c2ee; }
    .calendar-event.calendar-status-CONCLUIDO { background:#e3f5f7; border-color:#abd8de; }
    .calendar-event.calendar-status-FALTOU,
    .calendar-event.calendar-status-CANCELADO { background:#fff0f2; border-color:#efc0c6; }
    .calendar-event.calendar-status-REAGENDADO { background:#f1ebfb; border-color:#ccbce6; }
    .calendar-more { font-size:10px; color:var(--primary-dark); font-weight:900; padding:3px 5px; }
    .calendar-week { display:grid; grid-template-columns:repeat(7,minmax(160px,1fr)); gap:1px; background:var(--line); overflow:auto; }
    .calendar-week-column { min-height:520px; background:#fff; }
    .calendar-week-head { position:sticky; top:0; z-index:2; padding:13px 10px; text-align:center; background:#f6f9f9; border-bottom:1px solid var(--line); }
    .calendar-week-head strong { display:block; font-size:19px; margin-top:4px; }
    .calendar-week-head.today { color:var(--primary-dark); background:#eaf8f8; }
    .calendar-week-events { padding:9px; display:flex; flex-direction:column; gap:8px; }
    .calendar-day-view { padding:18px; display:grid; gap:14px; }
    .calendar-day-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
    .calendar-day-kpi { padding:14px; border:1px solid var(--line); border-radius:14px; background:#fff; }
    .calendar-day-kpi strong { display:block; font-size:24px; color:var(--ink); }
    .calendar-day-list { display:flex; flex-direction:column; gap:10px; }
    .calendar-day-item { display:grid; grid-template-columns:90px minmax(210px,1.2fr) minmax(240px,1fr) 150px auto; gap:14px; align-items:center; padding:14px; border:1px solid var(--line); border-radius:14px; background:#fff; }
    .calendar-day-item:hover { box-shadow:0 8px 22px rgba(20,54,60,.08); }
    .calendar-empty { padding:64px 20px; text-align:center; color:var(--muted); background:#fff; }
    .correction-note { padding:12px 14px; border-radius:12px; background:#fff7df; border:1px solid #f4d88b; color:#765612; font-size:13px; line-height:1.5; }
    .status-correction-current { display:flex; justify-content:space-between; align-items:center; padding:13px 14px; border:1px solid var(--line); border-radius:12px; background:#f8fafa; }
    @media (max-width:900px){.calendar-title{order:-1;width:100%}.calendar-grid{min-width:820px}.calendar-shell{overflow:visible}#calendarContent{overflow-x:auto}.calendar-sticky-head{top:78px}.calendar-day-summary{grid-template-columns:repeat(2,1fr)}.calendar-day-item{grid-template-columns:72px 1fr}.calendar-day-item>*:nth-child(n+3){grid-column:2}.calendar-toolbar{position:sticky;left:0;z-index:5}.calendar-legend{position:sticky;left:0;z-index:4}}
