/* ============================================================
   MCS Cockpit - Kalender-Modul (Styles)
   Gehoert zu: calendar.js
   Eingebunden ueber: <link rel="stylesheet" href="calendar.css">
   ============================================================ */

/* Kalender-Widget Container */
.cal-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--rl);padding:14px;margin-top:18px}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px}
.cal-title{font-weight:700;font-size:1rem;flex:1;text-align:center}
.cal-nav{display:flex;gap:4px}
.cal-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--input);color:var(--t1);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;-webkit-tap-highlight-color:transparent;font-family:inherit}
.cal-btn:active{background:var(--ac);border-color:var(--ac);color:#fff}
.cal-btn.today{width:auto;padding:0 10px;font-size:.75rem;font-weight:600}

/* Ansicht-Umschalter */
.cal-view-tabs{display:flex;gap:3px;background:var(--input);border-radius:var(--rs);padding:3px;margin-bottom:10px;border:1px solid rgba(59,130,246,.55);box-shadow:0 0 12px rgba(59,130,246,.25),0 0 30px rgba(59,130,246,.12);-webkit-box-shadow:0 0 12px rgba(59,130,246,.25),0 0 30px rgba(59,130,246,.12)}
.cal-view-tabs .tb-i{padding:7px;font-size:.72rem}

/* Monatsansicht */
.cal-month{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal-dow{font-size:.62rem;color:var(--t3);text-align:center;padding:4px 0;text-transform:uppercase;font-weight:600;letter-spacing:.04em}
.cal-day{aspect-ratio:1;background:var(--input);border:1px solid transparent;border-radius:var(--rs);padding:5px 4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;font-size:.8rem;position:relative;-webkit-tap-highlight-color:transparent;transition:var(--tr);min-height:40px}
.cal-day:active{background:var(--card2);transform:scale(.94)}
.cal-day.other{opacity:.3}
.cal-day.today{border-color:var(--ac);background:var(--acg);font-weight:700;color:var(--ac)}
.cal-day.weekend{color:var(--t2)}
.cal-day-num{font-family:var(--fm);font-size:.8rem;font-weight:600;line-height:1}
.cal-dots{display:flex;gap:2px;margin-top:auto;padding-top:3px;flex-wrap:wrap;justify-content:center;min-height:7px}
.cal-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}

/* Dot-Farben pro Kategorie */
.cal-dot-aufgabe{background:#3b82f6}
.cal-dot-besuch{background:#22c55e}
.cal-dot-privat{background:#8b5cf6}
.cal-dot-gesundheit{background:#a855f7}
.cal-dot-arbeit{background:#f59e0b}
.cal-dot-abwesenheit{background:#ec4899}
.cal-dot-ziel{background:#06b6d4}
.cal-dot-sonstiges{background:#6b7280}

/* Wochenansicht */
.cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-week-day{background:var(--input);border:1px solid var(--border);border-radius:var(--rs);padding:8px 6px;min-height:110px;cursor:pointer;display:flex;flex-direction:column;gap:4px;-webkit-tap-highlight-color:transparent}
.cal-week-day:active{background:var(--card2)}
.cal-week-day.today{border-color:var(--ac);background:var(--acg)}
.cal-week-day-head{font-size:.68rem;color:var(--t3);text-transform:uppercase;font-weight:600;text-align:center}
.cal-week-day-num{font-family:var(--fm);font-size:1rem;font-weight:700;text-align:center;margin-bottom:4px}
.cal-week-events-wrap{display:flex;flex-direction:column;gap:3px;min-width:0}
.cal-week-event{background:var(--card);border-radius:4px;padding:3px 5px;font-size:.65rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:3px solid var(--ac)}

/* Tagesansicht */
.cal-day-view{display:flex;flex-direction:column;gap:6px}
.cal-day-header{background:var(--input);border-radius:var(--rs);padding:12px;text-align:center;margin-bottom:6px}
.cal-day-header-date{font-size:1.2rem;font-weight:700}
.cal-day-header-sub{font-size:.75rem;color:var(--t2);margin-top:3px}
.cal-event-item{background:var(--input);border:1px solid var(--border);border-left:4px solid var(--ac);border-radius:var(--rs);padding:10px 12px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.cal-event-item:active{background:var(--card2)}
.cal-event-time{font-family:var(--fm);font-size:.72rem;color:var(--t2);font-weight:600}
.cal-event-title{font-size:.9rem;font-weight:600;margin-top:2px}
.cal-event-desc{font-size:.75rem;color:var(--t2);margin-top:3px}

/* Legende */
.cal-legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);font-size:.68rem;color:var(--t2);justify-content:center}
.cal-legend-i{display:flex;align-items:center;gap:4px}

/* Schnelleingabe-Modal: Kategorie-Tabs */
.qe-cats{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:14px}
.qe-cat{background:var(--input);border:1px solid var(--border);border-radius:var(--rs);padding:10px 6px;text-align:center;cursor:pointer;font-size:.68rem;font-weight:600;color:var(--t2);-webkit-tap-highlight-color:transparent;transition:var(--tr);display:flex;flex-direction:column;align-items:center;gap:4px}
.qe-cat:active{transform:scale(.95)}
.qe-cat.on{border-color:var(--ac);color:var(--t1);background:var(--acg)}
.qe-cat-ic{font-size:1.1rem}

/* Events des Tages in Schnelleingabe */
.qe-day-events-wrap{background:var(--input);border-radius:var(--rs);padding:10px;margin-bottom:14px;max-height:180px;overflow-y:auto}
.qe-day-event{padding:8px 10px;background:var(--card);border-radius:var(--rs);margin-bottom:4px;font-size:.8rem;display:flex;align-items:center;gap:8px;border-left:3px solid var(--ac)}
.qe-day-event:last-child{margin-bottom:0}
.qe-day-event-time{font-family:var(--fm);font-size:.7rem;color:var(--t3);flex-shrink:0;min-width:38px}
.qe-day-event-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Mobile-Anpassungen */
@media(max-width:767px){
  .cal-week{grid-template-columns:1fr;gap:4px}
  .cal-week-day{min-height:auto;flex-direction:row;align-items:center;gap:10px}
  .cal-week-day-head{text-align:left;min-width:38px}
  .cal-week-day-num{margin-bottom:0;min-width:42px}
  .cal-week-events-wrap{flex:1}
  .qe-cats{grid-template-columns:repeat(3,1fr)}
}

/* 3-Spalten-Grid fuer Gesundheitsformular */
.fr3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
@media(max-width:767px){.fr3{grid-template-columns:1fr 1fr}}
/* Live-Uhr im Kalender-Titel */
.cal-clock{display:block;font-family:var(--fm);font-size:.75rem;font-weight:500;color:var(--t2);margin-top:2px;letter-spacing:.04em}
