/* REQ-INTERN-KALENDER-UEBERSICHT-001: Kalender-Uebersicht (/intern/rentalcore/kalender/) und Startseiten-Widget.
   Namensraum .arf-calendar / .arf-cal-*. Farben je Terminart-Gruppe als Variablenpaar (Text/Flaeche), jedes Paar >= 4.5:1
   (WCAG AA, im Pruefstand gemessen); die Art steht zusaetzlich im Text, nie nur in der Farbe. Steuerelementhoehe 36px (Touch 44px)
   ueber die zentrale Skala --augite-control-h. Kein Gruen im Markenpalettenbereich (brand_colour_migration). */
.arf-calendar{--cal-line:#dcdcde;--cal-soft:#f0f0f1;--cal-muted:#50575e;--cal-panel:#fff;--cal-ink:#1d2327;--cal-accent:#b84e08;
  --g-abh:#b84e08;--g-abh-bg:#fdf1e7;--g-rueck:#1b6a86;--g-rueck-bg:#e5f2f7;--g-miete:#35578f;--g-miete-bg:#e8edf8;
  --g-werk:#6a4fa3;--g-werk-bg:#efeaf8;--g-sperr:#5d636a;--g-sperr-bg:#eceded;--g-frist:#8a5a00;--g-frist-bg:#fbf1dc}
.arf-cal-g-abh{--c:var(--g-abh);--cb:var(--g-abh-bg)}.arf-cal-g-rueck{--c:var(--g-rueck);--cb:var(--g-rueck-bg)}
.arf-cal-g-miete{--c:var(--g-miete);--cb:var(--g-miete-bg)}.arf-cal-g-werk{--c:var(--g-werk);--cb:var(--g-werk-bg)}
.arf-cal-g-sperr{--c:var(--g-sperr);--cb:var(--g-sperr-bg)}.arf-cal-g-frist{--c:var(--g-frist);--cb:var(--g-frist-bg)}

.arf-calendar-split{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start;margin-bottom:16px}
/* REQ-INTERN-PLANUNG-KALENDER-OPTIK-001: Zeitnavigation und Ansichtswechsel sind Piktogrammknoepfe (augite-icon-btn, 36 px / Touch 44 px ueber
   die zentrale Skala); Gruppen sind Segmente, die aktive Ansicht (aria-pressed=true) traegt die Akzentflaeche. Text nur als aria-label/Tooltip. */
.arf-calendar__range{margin:2px 0 0;font-size:13px;color:var(--cal-muted)}
.arf-calendar__crumb{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;margin-top:4px}
.arf-calendar__crumb button{border:0;background:none;padding:0;color:var(--cal-accent);text-decoration:underline;font:inherit;cursor:pointer;min-height:var(--augite-control-h)}
.arf-cal-sep{color:var(--cal-muted)}
.arf-calendar__status{margin:0 0 8px;font-size:13px;color:var(--cal-muted);min-height:1.2em}

/* Monat / Woche */
.arf-cal-month{border-top:1px solid var(--cal-line);border-left:1px solid var(--cal-line)}
.arf-cal-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.arf-cal-dow{padding:6px 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--cal-muted);background:var(--cal-soft);border-right:1px solid var(--cal-line);border-bottom:1px solid var(--cal-line)}
.arf-cal-day{min-height:104px;padding:4px;border-right:1px solid var(--cal-line);border-bottom:1px solid var(--cal-line);display:flex;flex-direction:column;gap:3px;background:var(--cal-panel);position:relative;min-width:0;cursor:pointer}
.arf-cal-week .arf-cal-day{min-height:220px}
.arf-cal-day:hover{background:var(--cal-soft)}
.arf-cal-day.is-out{background:var(--cal-soft)}.arf-cal-day.is-out .arf-cal-daynum{opacity:.7}
.arf-cal-day.is-closed{background:repeating-linear-gradient(135deg,var(--cal-soft),var(--cal-soft) 6px,var(--cal-panel) 6px,var(--cal-panel) 12px)}
.arf-cal-daynum{align-self:flex-start;border:0;background:none;font:inherit;font-size:12px;font-weight:700;color:var(--cal-muted);padding:0 6px;min-width:var(--augite-control-h);min-height:var(--augite-control-h);cursor:pointer;font-variant-numeric:tabular-nums}
.arf-cal-day.is-today .arf-cal-daynum{background:var(--cal-accent);color:#fff}
.arf-cal-closed{font-size:10.5px;color:var(--cal-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arf-cal-ev{display:block;width:100%;box-sizing:border-box;text-align:left;font:inherit;font-size:11.5px;line-height:1.25;padding:2px 5px;min-height:20px;background:var(--cb);color:var(--c);border:0;border-left:3px solid var(--c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.arf-cal-ev.is-band{font-weight:600}
.arf-cal-ev.is-band:not(.is-start){border-left-color:transparent;margin-left:-5px;width:calc(100% + 5px)}
.arf-cal-ev.is-band:not(.is-end){margin-right:-5px;width:calc(100% + 5px)}
.arf-cal-ev.is-band:not(.is-start):not(.is-end){width:calc(100% + 10px)}
.arf-cal-ev.is-done{opacity:.6}
.arf-cal-ev--gap{visibility:hidden;cursor:default}
.arf-cal-more{align-self:flex-start;border:0;background:none;font:inherit;font-size:11px;color:var(--cal-accent);text-decoration:underline;padding:0 4px;min-height:20px;cursor:pointer}
.arf-cal-daynum:focus-visible,.arf-cal-ev:focus-visible,.arf-cal-more:focus-visible,.arf-legend__key:focus-visible,.arf-calendar__agenda-item:focus-visible{outline:2px solid #d9600a;outline-offset:2px}

/* Tag */
.arf-cal-closedbar{margin:0 0 8px;padding:6px 10px;background:var(--cal-soft);border:1px solid var(--cal-line);font-size:13px}
.arf-cal-dayview{border:1px solid var(--cal-line)}
.arf-cal-allday{padding:8px 10px;background:var(--cal-soft);border-bottom:1px solid var(--cal-line);display:flex;flex-direction:column;gap:4px}
.arf-cal-allday__h{margin:0;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cal-muted)}
.arf-cal-hours{display:grid;grid-template-columns:56px minmax(0,1fr)}
.arf-cal-hour{min-height:44px;border-bottom:1px solid var(--cal-line);font-size:11px;color:var(--cal-muted);padding:2px 6px;font-variant-numeric:tabular-nums}
.arf-cal-slot{min-height:44px;border-bottom:1px solid var(--cal-line);border-left:1px solid var(--cal-line);padding:4px 6px;display:flex;flex-direction:column;gap:3px}
.arf-cal-slot .arf-cal-ev{min-height:36px;display:flex;align-items:center}

/* Agenda + Anstehend */
.arf-calendar__agenda{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}
.arf-calendar__agenda-item{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;width:100%;box-sizing:border-box;text-align:left;text-decoration:none;font:inherit;color:var(--cal-ink);background:var(--cal-panel);border:1px solid var(--cal-line);border-left:4px solid var(--c);padding:8px 10px;min-height:var(--augite-control-h);cursor:pointer}
.arf-calendar__agenda-item:hover{background:var(--cal-soft)}
.arf-calendar__agenda-item.is-done{opacity:.6}
.arf-calendar__agenda-item time{font-weight:700;font-variant-numeric:tabular-nums;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* REQ-INTERN-AGENDA-GANZTAEGIG-001: Nicht-Uhrzeit-Text ("ganztägig") in der Zeitspalte kleiner (12 px statt Fliesstextgroesse), damit er die Spalte fasst und den Titel nicht ueberdeckt. */
.arf-calendar__agenda-item time.is-text{font-size:12px;font-weight:600}
.arf-calendar__agenda-item small{display:block;color:var(--cal-muted)}
.arf-cal-agendaday h3{margin:12px 0 6px;font-size:14px}.arf-cal-agendaday h3 small{font-weight:400;color:var(--cal-muted)}

/* Detailkarte */
.arf-cal-tag{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:1px 7px;color:var(--c);background:var(--cb)}

/* iCal-Dialog */
.arf-calendar-ical__link{display:flex;gap:8px;align-items:flex-end}.arf-calendar-ical__link label{flex:1;display:flex;flex-direction:column;gap:2px;font-size:12px}
.arf-calendar-ical__link input{min-height:var(--augite-control-h);box-sizing:border-box;width:100%;font-size:var(--augite-field-font-size)}
.arf-calendar-ical__status{margin:0}

/* Startseite: Kennzahlen */
.arf-start-kpis{margin-bottom:16px}
/* REQ-INTERN-PLANUNG-KALENDER-OPTIK-001: Klappboxen der Startseite (Kennzahlen, Kalender, Planung) - gemeinsame Box von .arf-ops-collapse, Kalender volle Breite */
.arf-calendar-split--start{grid-template-columns:minmax(0,1fr);margin-bottom:0}
.arf-start-box__body>.arf-start-kpis{margin:0;padding:20px 16px 16px}
.arf-start-box .arf-viewcard{border:0}
.arf-start-box[open] .arf-viewcard__head{padding-right:46px}

@media (max-width:700px){
  .arf-cal-day{min-height:64px}
  .arf-legend__key,.arf-calendar__filterwrap select,.arf-calendar__filterwrap input[type=search]{min-height:var(--augite-control-h)}
}
@media (pointer:coarse){.arf-cal-daynum{min-height:var(--augite-control-h);min-width:var(--augite-control-h)}.arf-legend__key{min-height:var(--augite-control-h)}}

/* Die Flaechenregel `.arf-app.arf-ops button{min-height:48px}` gilt fuer Bedienknoepfe, nicht fuer Rasterinhalt: Termin-Chips, Tageszahlen und
   "+N weitere" behalten ihre Rastermasse (Tastatur/Touch erreichen den Tag ueber die 44px-Tageszahl bzw. die Agenda). Legende/Steuerung: 36px (Touch 44px). */
.arf-app.arf-ops .arf-calendar .arf-cal-ev{min-height:20px;padding-top:2px;padding-bottom:2px}
.arf-app.arf-ops .arf-calendar .arf-cal-ev--gap{min-height:20px}
.arf-app.arf-ops .arf-calendar .arf-cal-slot .arf-cal-ev{min-height:36px}
.arf-app.arf-ops .arf-calendar .arf-cal-daynum{min-height:var(--augite-control-h);min-width:var(--augite-control-h)}
.arf-app.arf-ops .arf-calendar .arf-cal-more{min-height:20px}
.arf-app.arf-ops .arf-calendar .arf-legend__key{min-height:var(--augite-control-h);font-size:12px}
.arf-app.arf-ops .arf-calendar .arf-calendar__crumb button{min-height:var(--augite-control-h)}
.arf-app.arf-ops .arf-calendar .arf-calendar__agenda-item{min-height:var(--augite-control-h)}
@media (pointer:coarse){.arf-app.arf-ops .arf-calendar .arf-cal-daynum{min-height:var(--augite-control-h);min-width:var(--augite-control-h)}}
@media (max-width:700px){.arf-app.arf-ops .arf-calendar .arf-legend__key,.arf-app.arf-ops .arf-calendar .arf-calendar__tools .augite-btn{min-height:var(--augite-control-h)}.arf-app.arf-ops .arf-calendar .arf-viewseg .augite-icon-btn,.arf-app.arf-ops .arf-calendar .arf-calendar__tools .augite-icon-btn{min-height:var(--augite-control-h);min-width:var(--augite-control-h)}}
.arf-app.arf-ops .arf-calendar .arf-cal-ev{font-size:11.5px;line-height:1.25;font-weight:400}
.arf-app.arf-ops .arf-calendar .arf-cal-ev.is-band{font-weight:600}
.arf-app.arf-ops .arf-calendar .arf-cal-more{font-size:11px}
.arf-app.arf-ops .arf-calendar .arf-cal-daynum{font-size:12px}

/* Schmale Ansicht (< 768px): Entscheidung 18 setzt JEDES Raster auf eine Spalte (public.css). Der Monat wird deshalb zur Tagesliste:
   nur Tage mit Terminen und heute, Wochentag vor der Tageszahl, Termine in voller Breite und Touch-Hoehe. */
.arf-cal-dowtag{display:none}
@media (max-width:767px){
  .arf-app.arf-ops .arf-calendar .arf-cal-row--head{display:none}
  .arf-app.arf-ops .arf-calendar .arf-cal-day{min-height:0;flex-direction:column}
  .arf-app.arf-ops .arf-calendar .arf-cal-day:not(.has-items):not(.is-today){display:none}
  .arf-app.arf-ops .arf-calendar .arf-cal-ev--gap{display:none}
  .arf-app.arf-ops .arf-calendar .arf-cal-ev{min-height:var(--augite-control-h);display:flex;align-items:center;font-size:13px;width:100%;margin:0;padding:0 8px}
  .arf-app.arf-ops .arf-calendar .arf-cal-ev.is-band:not(.is-start),.arf-app.arf-ops .arf-calendar .arf-cal-ev.is-band:not(.is-end){margin:0;width:100%}
  .arf-app.arf-ops .arf-calendar .arf-cal-ev.is-band:not(.is-start){border-left-color:var(--c)}
  .arf-app.arf-ops .arf-calendar .arf-cal-ev .arf-cal-ev__t{display:inline}
  .arf-app.arf-ops .arf-calendar .arf-cal-more{min-height:var(--augite-control-h)}
  .arf-app.arf-ops .arf-calendar .arf-cal-daynum{min-height:var(--augite-control-h);min-width:var(--augite-control-h)}
  .arf-cal-dowtag{display:inline;font-weight:400;margin-right:.25em}
}
.arf-cal-ev__t.is-cont{visibility:hidden}
@media (max-width:767px){.arf-cal-ev__t.is-cont{visibility:visible}}

.arf-calendar-ical__privacy{margin:0 0 12px;padding:10px 12px;border-left:4px solid var(--cal-accent,#2563eb);background:var(--cal-soft,#f3f4f6);border-radius:0;font-size:14px;line-height:1.5;color:inherit}
