#atlasBloomToggle{font:inherit;color:var(--fir);background:transparent;border:0;padding:5px 0;cursor:pointer}
#atlasBloomToggle:hover{color:var(--brick)}
#atlasBloomCalendar{width:min(1180px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:28px;border:1px solid var(--sage);border-radius:12px;color:var(--fir);background:var(--paper);box-shadow:0 16px 60px #0f3a2840;font-family:var(--font-body);overflow:auto}
#atlasBloomCalendar::backdrop{background:#0f3a2866}
#atlasBloomCalendar header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:1px solid var(--line);padding-bottom:16px}
#atlasBloomCalendar h2{font-family:var(--font-heading);font-size:32px;margin:3px 0 0}
#bloomClose{font-size:24px;line-height:1;padding:8px 12px;min-width:44px;background:var(--surface)}
.bloomScope{display:flex;gap:16px;margin:20px 0 12px;flex-wrap:wrap}.bloomScope label{font-size:12px;font-weight:600;flex:1;min-width:160px}.bloomScope select{display:block;width:100%;margin-top:4px}
.bloomIntro{font-size:14px;margin:12px 0}.bloomDemo{padding:7px 10px;border-left:3px solid var(--brick);background:#f3eae4;color:var(--brick);font-size:12px}
.bloomTableWrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:white;height:52vh;max-height:52vh}
#atlasBloomCalendar table{border-collapse:separate;border-spacing:0;width:100%;min-width:0;table-layout:fixed;font-size:12px}
#atlasBloomCalendar th,#atlasBloomCalendar td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:8px 3px;text-align:center;vertical-align:middle}
#atlasBloomCalendar thead th{position:sticky;top:0;background:var(--fir);color:white;z-index:2;height:42px;font-size:12px}
#atlasBloomCalendar abbr{text-decoration:none;cursor:help}
#atlasBloomCalendar .bloomPlant{width:200px;text-align:left;padding:6px 10px;position:sticky;left:0;background:#fff;z-index:1;border-right:2px solid var(--sage);line-height:1.4}
#atlasBloomCalendar thead .bloomPlant{background:var(--fir);z-index:3}
.bloomPlant strong{display:block;overflow-wrap:anywhere}
#atlasBloomCalendar tbody td{color:#a3ada0;background:#fafbf8;height:44px}
.bloomBar{display:block;height:25px;min-width:16px;border:1px solid #52634e;border-radius:4px;box-shadow:0 1px 2px #0f3a2812}
.bloomUnknownColor{background:repeating-linear-gradient(135deg,#e4e8df 0 4px,#82907b 4px 6px)}
#atlasBloomCalendar tfoot td,#atlasBloomCalendar tfoot th{background:var(--soft);font-weight:600}
#atlasBloomCalendar .bloomGap{background:#f1e4d9;color:var(--brick)}
.bloomGaps{margin-top:18px;padding:16px 20px;background:var(--soft);border-left:4px solid var(--sage);border-radius:4px}.bloomGaps h3{font-size:21px;margin:0 0 6px}.bloomGaps p{font-size:13px;margin:5px 0}.bloomGaps small{font-size:11px;color:var(--muted)}
#atlasBloomCalendar footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}#atlasBloomCalendar footer p{font-size:11px;color:var(--muted);margin:0}#bloomAddPlants{background:var(--fir);color:white;white-space:nowrap}
.bloomEmpty{padding:30px 12px;text-align:center}.bloomSr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:700px){#atlasBloomCalendar{padding:16px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}#atlasBloomCalendar h2{font-size:26px}#atlasBloomCalendar .bloomPlant{width:160px}#atlasBloomCalendar table{min-width:0}#atlasBloomCalendar footer{align-items:stretch;flex-direction:column}.bloomScope{gap:8px}.bloomTableWrap{max-height:45vh}}

.bloomZoom{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0;font-size:12px}.bloomZoom button{min-height:34px;padding:5px 10px}.bloomZoom input[type=range]{width:140px;min-height:28px;accent-color:var(--fir);padding:0}.bloomZoom output{min-width:44px;text-align:center;font-family:var(--font-measure)}.bloomZoom small{color:var(--muted);font-size:11px}.bloomZoom button[aria-pressed=true]{background:var(--brick);color:white}.bloomTableWrap{overscroll-behavior:contain}#atlasBloomCalendar table{transform-origin:top left}
#atlasBloomCalendar .bloomOverview .bloomPlant{width:24%;padding:3px 8px;line-height:1.2;font-size:16px}
#atlasBloomCalendar .bloomOverview th,#atlasBloomCalendar .bloomOverview td{padding:2px 3px;font-size:16px;height:26px;line-height:1.2}
#atlasBloomCalendar .bloomOverview .bloomBar{height:17px}

/* Gesamtübersicht nutzt das ganze Browserfenster. */
#atlasBloomCalendar.bloomExpanded[open]{box-sizing:border-box;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;padding:16px 24px;display:flex;flex-direction:column}
#atlasBloomCalendar.bloomExpanded header{padding-bottom:8px}
#atlasBloomCalendar.bloomExpanded .bloomScope{margin:8px 0;gap:12px}
#atlasBloomCalendar.bloomExpanded #bloomContent{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto}
#atlasBloomCalendar.bloomExpanded .bloomIntro{margin:4px 0}
#atlasBloomCalendar.bloomExpanded .bloomDemo{margin:4px 0}
#atlasBloomCalendar.bloomExpanded .bloomZoom{margin:8px 0}
#atlasBloomCalendar.bloomExpanded .bloomTableWrap{flex:1;min-height:160px;height:auto;max-height:none}
#atlasBloomCalendar.bloomExpanded .bloomGaps{margin-top:8px;padding:8px 12px}
#atlasBloomCalendar.bloomExpanded footer{margin-top:8px}
@media(max-width:700px){#atlasBloomCalendar.bloomExpanded[open]{padding:10px}}
