/* =============================================
   CALENDAR / AGENDA
   ============================================= */
.cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:2px; }
.cal-header { font-size:.7rem; text-transform:uppercase; color:var(--text-muted); text-align:center; padding:.5rem; font-weight:600; }
.cal-day { min-height:80px; background:var(--bg-card); border:1px solid var(--border); border-radius:6px; padding:.4rem; font-size:.7rem; transition:all .2s; }
.cal-day:hover { border-color:var(--border-hover); }
.cal-day .num { font-weight:600; margin-bottom:.25rem; }
.cal-day.today { border-color:var(--orange); }
.cal-day.other-month { opacity:.3; }
.cal-event { padding:.15rem .3rem; border-radius:3px; margin-bottom:2px; font-size:.6rem; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:pointer; }
.cal-event.festa { background:rgba(3,155,229,0.2); color:#039BE5; }
.cal-event.visita { background:rgba(51,182,121,0.2); color:#33B679; }
.cal-event.reserva { background:rgba(246,191,38,0.2); color:#F6BF26; }
.cal-event.operacao { background:rgba(97,97,97,0.2); color:#9E9E9E; }
.cal-event.aniversario { background:rgba(142,36,170,0.2); color:#8E24AA; }
/* Calendar filters */
.cal-filters { display:flex; gap:.5rem; margin-bottom:1rem; flex-wrap:wrap; align-items:center; }
.cal-filter { display:flex; align-items:center; gap:.4rem; padding:.35rem .65rem; border-radius:8px; font-size:.75rem; font-weight:500; cursor:pointer; transition:all .2s; border:1px solid transparent; user-select:none; }
.cal-filter:hover { opacity:.85; }
.cal-filter.off { opacity:.35; text-decoration:line-through; }
.cal-filter .dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.cal-filter .count { font-size:.65rem; opacity:.7; margin-left:.15rem; }
.cal-add-btn { display:flex; align-items:center; gap:.4rem; padding:.6rem 1.2rem; border-radius:10px; font-size:.95rem; font-weight:700; cursor:pointer; background:var(--orange); color:#fff; border:none; transition:all .2s; margin-left:auto; }
.cal-add-btn:hover { background:#e8850a; transform:scale(1.05); }
/* Add event modal */
.cal-modal-overlay { display:none; position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,.85); z-index:1000; justify-content:center; align-items:center; }
.cal-modal-overlay.active { display:flex; }
.cal-modal { background:var(--bg-card); border-radius:16px; padding:2rem; width:90%; max-width:500px; box-shadow:0 20px 60px rgba(0,0,0,.6); border:1px solid var(--border); }
.cal-modal h3 { margin:0 0 1rem; font-size:1.1rem; }
.cal-modal label { display:block; font-size:.8rem; font-weight:500; margin:.75rem 0 .3rem; color:var(--text-secondary); }
.cal-modal select, .cal-modal input, .cal-modal textarea { width:100%; padding:.75rem .85rem; border-radius:8px; border:1px solid var(--border); background:var(--bg-main); color:var(--text-primary); font-size:.95rem; font-family:inherit; box-sizing:border-box; }
.cal-modal input[type="date"] { font-size:1rem; min-height:2.8rem; }
.cal-modal textarea { min-height:100px; resize:vertical; font-size:.95rem; }
.cal-modal-actions { display:flex; gap:.75rem; margin-top:1.25rem; justify-content:flex-end; }
.cal-modal-actions button { padding:.5rem 1.2rem; border-radius:8px; font-size:.8rem; font-weight:600; cursor:pointer; border:none; transition:all .2s; }
.cal-modal-actions .btn-cancel { background:var(--bg-main); color:var(--text-secondary); border:1px solid var(--border); }
.cal-modal-actions .btn-confirm { background:var(--orange); color:#fff; }
.cal-modal-actions .btn-confirm:hover { background:#e8850a; }
.cal-modal .tipo-chips { display:flex; gap:.5rem; flex-wrap:wrap; }
.cal-modal .tipo-chip { padding:.4rem .75rem; border-radius:20px; font-size:.75rem; font-weight:500; cursor:pointer; border:2px solid var(--border); background:transparent; color:var(--text-secondary); transition:all .2s; }
.cal-modal .tipo-chip.selected { border-color:var(--orange); background:rgba(247,148,29,.15); color:var(--orange); }
.cal-local-badge { font-size:.6rem; background:rgba(247,148,29,.2); color:var(--orange); padding:.1rem .4rem; border-radius:4px; margin-left:.4rem; font-weight:600; }
.cal-sidebar { min-width:280px; }
.cal-sidebar-item { padding:.75rem; border-left:3px solid var(--cyan); margin-bottom:.5rem; background:var(--bg-card); border-radius:0 8px 8px 0; }
.cal-sidebar-item .date { font-weight:600; font-size:.8rem; }
.cal-sidebar-item .info { font-size:.75rem; color:var(--text-secondary); }
.cal-sidebar-item .sb-main { font-weight:600; font-size:.85rem; color:var(--text-primary); margin:.3rem 0 .2rem; }
.cal-sidebar-item .sb-detail { font-size:.75rem; color:var(--text-secondary); margin:.15rem 0; }
.cal-sidebar-item .sb-status { color:var(--orange); font-weight:500; font-style:italic; }

