/* FL Buddy 7 · Phase 3A · Kalender-Workspace
   Reines UI-Upgrade: vorhandene Live-Kalenderlogik und Datenquellen bleiben unverändert. */

#page-kalender{--cal-accent:#19b7a7;--cal-accent-soft:rgba(25,183,167,.12);--cal-head:rgba(247,251,251,.96)}
#page-kalender .calendar-topbar{align-items:center;margin-bottom:14px;padding:2px 2px 0}
#page-kalender .calendar-topbar h1{font-size:30px;letter-spacing:-.035em}
#page-kalender .page-subtitle{max-width:720px}
#page-kalender .top-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
#page-kalender .calendar-action{min-height:40px;border-radius:11px}
#page-kalender .calendar-action.primary{box-shadow:0 7px 18px rgba(16,116,108,.16)}
#page-kalender .planner-button{background:linear-gradient(135deg,#153e45,#0d7069);border-color:transparent;color:#fff;box-shadow:0 7px 18px rgba(12,80,77,.16)}

#page-kalender .calendar-toolbar{position:relative;padding:12px 14px;grid-template-columns:minmax(250px,1fr) auto minmax(190px,230px);gap:14px;margin-bottom:12px;border-radius:16px}
#page-kalender .week-switcher{gap:8px}
#page-kalender .week-switcher .icon-button{width:38px;height:38px;border-radius:10px}
#page-kalender .week-switcher>div strong{font-size:15px}
#page-kalender .calendar-tools{padding:3px;border:1px solid var(--line);background:var(--soft);border-radius:12px}
#page-kalender .tool-pill{min-height:34px;border:0;background:transparent;border-radius:9px;padding:0 11px}
#page-kalender .tool-pill.active{background:var(--card);color:#0d7169;box-shadow:0 2px 7px rgba(26,64,68,.08)}
#page-kalender .week-summary{padding-left:14px;border-left:1px solid var(--line)}
#page-kalender .week-summary .progress{height:6px;border-radius:999px;overflow:hidden}

#page-kalender .calendar-layout{grid-template-columns:minmax(0,1fr) 248px;gap:12px;align-items:start}
#page-kalender .week-calendar{border-radius:17px;box-shadow:0 8px 28px rgba(25,58,63,.06)}
#page-kalender .calendar-grid{border-radius:16px;background:var(--card)}
#page-kalender .time-head,#page-kalender .day-head{background:var(--cal-head);backdrop-filter:blur(10px)}
#page-kalender .day-head{border-left:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .16s ease,color .16s ease}
#page-kalender .day-head:hover{background:var(--cal-accent-soft)}
#page-kalender .day-head span{font-size:10px;letter-spacing:.1em}
#page-kalender .day-head strong{font-size:21px;line-height:1}
#page-kalender .day-head small{font-size:9px}
#page-kalender .day-head.today{background:linear-gradient(180deg,rgba(25,183,167,.16),rgba(25,183,167,.05));color:#08766d}
#page-kalender .day-head.today strong{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 6px;border-radius:11px;background:#0f8e84;color:#fff}
#page-kalender .time-col{background:linear-gradient(90deg,var(--card),rgba(247,251,251,.82));border-right:1px solid var(--line)}
#page-kalender .time-col span{font-size:10px;font-weight:750;color:var(--muted);padding-right:8px}
#page-kalender .day-col{border-left:1px solid var(--line);background-color:var(--card);background-image:linear-gradient(to bottom,transparent calc(100% - 1px),rgba(121,151,154,.16) 1px)}
#page-kalender .day-col.today-column{background-color:rgba(25,183,167,.025)}
#page-kalender .day-col.weekend{background-color:rgba(130,146,150,.035)}

#page-kalender .cal-event{left:4px!important;right:4px!important;width:auto!important;border-radius:9px!important;padding:6px 7px!important;box-shadow:0 3px 9px rgba(24,56,61,.10);border-width:1px!important;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;overflow:hidden}
#page-kalender .cal-event:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(24,56,61,.15);filter:saturate(1.05);z-index:6}
#page-kalender .cal-event b{font-size:9px;opacity:.82}
#page-kalender .cal-event strong{font-size:11px;line-height:1.25}
#page-kalender .cal-event small{font-size:9px;line-height:1.2;opacity:.8}
#page-kalender .now-line{height:2px;background:#ed5b61;z-index:8;box-shadow:0 0 0 1px rgba(237,91,97,.06)}
#page-kalender .now-line:before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:#ed5b61}
#page-kalender .now-line span{border-radius:7px;font-size:9px;font-weight:850;box-shadow:0 2px 7px rgba(160,38,46,.18)}
#page-kalender .sunset-line{z-index:4;border-top-style:dashed;opacity:.9}
#page-kalender .sunset-line span{font-size:9px;border-radius:7px}

#page-kalender .calendar-side{display:grid;gap:12px;position:sticky;top:92px}
#page-kalender .calendar-side .panel{border-radius:16px;padding:16px;box-shadow:0 7px 24px rgba(25,58,63,.05)}
#page-kalender .day-summary h3,#page-kalender .legend-panel h3{font-size:16px;margin-top:4px}
#page-kalender .summary-ring{width:88px;height:88px;margin:14px auto}
#page-kalender .summary-ring>div{width:68px;height:68px}
#page-kalender .day-summary dl{gap:0;border-top:1px solid var(--line)}
#page-kalender .day-summary dl>div{padding:9px 0;border-bottom:1px solid var(--line)}
#page-kalender .legend-list{display:grid;grid-template-columns:1fr;gap:9px}
#page-kalender .legend-list span{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:750}
#page-kalender .legend-list i{width:10px;height:10px;border-radius:3px;box-shadow:0 0 0 3px rgba(127,151,154,.08)}

@media (max-width:1180px){
  #page-kalender .calendar-layout{grid-template-columns:minmax(0,1fr)}
  #page-kalender .calendar-side{position:static;grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  #page-kalender .calendar-topbar{align-items:flex-start;flex-direction:column}
  #page-kalender .top-actions{justify-content:flex-start}
  #page-kalender .calendar-toolbar{grid-template-columns:1fr auto}
  #page-kalender .week-summary{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:10px 0 0}
  #page-kalender .week-calendar{overflow:auto}
  #page-kalender .calendar-grid{min-width:820px}
}
@media (max-width:620px){
  #page-kalender .calendar-topbar h1{font-size:26px}
  #page-kalender .page-subtitle{display:none}
  #page-kalender .top-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  #page-kalender .top-actions .calendar-action{width:100%;padding:0 9px}
  #page-kalender .calendar-toolbar{display:flex;flex-direction:column;align-items:stretch}
  #page-kalender .week-switcher{justify-content:space-between}
  #page-kalender .week-switcher>div{text-align:center}
  #page-kalender .calendar-tools{align-self:flex-start}
  #page-kalender .calendar-side{grid-template-columns:1fr}
}

/* Phase 3B · Arbeitsfokus und echte Terminfilter */
#page-kalender .calendar-focusbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:11px 14px;margin:-2px 0 12px;border-radius:15px}
#page-kalender .calendar-focus-copy{display:grid;gap:1px;min-width:150px}
#page-kalender .calendar-focus-copy strong{font-size:12px;white-space:nowrap}
#page-kalender .calendar-filter-chips{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px}
#page-kalender .calendar-filter-chips::-webkit-scrollbar{display:none}
#page-kalender .calendar-filter-chip{appearance:none;border:1px solid var(--line);background:var(--soft);color:var(--muted);min-height:34px;padding:0 12px;border-radius:999px;font:inherit;font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer;transition:.15s ease}
#page-kalender .calendar-filter-chip:hover{border-color:rgba(25,183,167,.42);color:var(--text)}
#page-kalender .calendar-filter-chip.active{background:rgba(25,183,167,.13);border-color:rgba(25,183,167,.35);color:#08766d;box-shadow:inset 0 0 0 1px rgba(25,183,167,.04)}
#page-kalender .calendar-filter-status{font-size:10px;font-weight:750;color:var(--muted);white-space:nowrap;text-align:right}
#page-kalender .cal-event.flb-v7-filter-hidden{display:none!important}
#page-kalender .calendar-grid[data-filter-active="true"] .cal-event:not(.flb-v7-filter-hidden){box-shadow:0 5px 14px rgba(24,56,61,.14)}
@media(max-width:900px){#page-kalender .calendar-focusbar{grid-template-columns:1fr}.calendar-filter-status{text-align:left!important}}
@media(max-width:620px){#page-kalender .calendar-focusbar{padding:10px 11px;gap:8px}#page-kalender .calendar-focus-copy{display:none}#page-kalender .calendar-filter-chip{min-height:36px;padding:0 13px}.calendar-filter-status{padding-left:2px}}


/* FL Buddy 7 · Fix 12 · kompakte Kalendersteuerung */
#page-kalender .calendar-toolbar{min-height:0!important;align-items:center!important}
#page-kalender .calendar-toolbar .week-summary{align-self:center!important}
#page-kalender #calendarFocusBar[hidden]{display:none!important}
#page-kalender .calendar-tools .tool-pill[aria-expanded="true"]{background:var(--card);color:#0d7169;box-shadow:0 2px 7px rgba(26,64,68,.08)}
#page-kalender .calendar-side .flb-worktime-card{margin-top:0}
