/* budds: grow_bro's screens in Tarvi's UI system (ui-system.css tokens). Phase colours follow grow_bro. */
#budds-panel {
  --bd-seed: #f5a54b; --bd-veg: #74d68b; --bd-flower: #ff7fae; --bd-harvest: #c6e36a; --bd-dry: #ff8f5c; --bd-extra: #b799ff; --bd-prep: #8a9bad;
  --bd-warm: #f5b25b;
}
#budds-panel[hidden], #home-devices-panel[hidden] { display: none; }
.budds-tabs { display: flex; gap: .5rem; flex-wrap: wrap; margin: 0 0 1rem; }
.budds-tabs [aria-pressed=true] { background: var(--k-surface-3); color: var(--k-text); }
#budds-panel [data-kind=seed] { --bd-c: var(--bd-seed); } #budds-panel [data-kind=veg] { --bd-c: var(--bd-veg); }
#budds-panel [data-kind=flower] { --bd-c: var(--bd-flower); } #budds-panel [data-kind=harvest] { --bd-c: var(--bd-harvest); }
#budds-panel [data-kind=dry] { --bd-c: var(--bd-dry); } #budds-panel [data-kind=extra] { --bd-c: var(--bd-extra); }
#budds-panel [data-kind=prep], #budds-panel [data-kind=after] { --bd-c: var(--bd-prep); }

.bd-content { display: grid; gap: 16px; min-width: 0; }
.bd-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.bd-toolbar > .bd-field { min-width: 220px; }
.bd-toolbar input[type=search] { flex: 1 1 240px; }
.bd-grow { flex: 1; }
.bd-h { margin: 8px 0 0; font-size: 1rem; }
.bd-card { min-width: 0; }
.bd-card > h3 { margin: 0 0 12px; font-size: 1rem; }
.bd-chip { display: inline-flex; align-items: center; gap: 4px; padding: 2px 9px; border-radius: 999px; font-size: .75rem; font-weight: 600;
  background: var(--k-surface-3); color: var(--k-muted); border: 1px solid var(--k-line); white-space: nowrap; }
.bd-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.bd-phase { color: var(--bd-c); background: color-mix(in srgb, var(--bd-c) 14%, transparent); border-color: color-mix(in srgb, var(--bd-c) 35%, transparent); }
.bd-custom { color: var(--bd-warm); }
.bd-care { white-space: normal; }
.bd-warn { color: var(--k-warn); margin: 6px 0; }
.bd-warn:empty { display: none; }
.bd-list { margin: 6px 0; padding-left: 1.1rem; display: grid; gap: 3px; }
.bd-dl { display: grid; grid-template-columns: minmax(0, max-content) minmax(0, 1fr); gap: 6px 16px; margin: 0; }
.bd-dl dt { color: var(--k-muted); } .bd-dl dd { margin: 0; overflow-wrap: anywhere; }

.bd-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
.bd-stat { display: grid; gap: 2px; padding: 10px 12px; border-radius: var(--k-radius-sm); background: var(--k-surface-2); border: 1px solid var(--k-line); min-width: 0; }
.bd-stat > span:first-child { font-size: .72rem; color: var(--k-muted); text-transform: uppercase; letter-spacing: .06em; }
.bd-stat > strong { font-size: clamp(1.05rem, 1.6vw, 1.25rem); letter-spacing: -.02em; overflow-wrap: anywhere; }
.bd-stat > small { color: var(--k-faint); }
.bd-stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 16px; align-items: start; }
.bd-stats-grid > .card:last-child { grid-column: 1 / -1; }

.bd-empty { text-align: center; display: grid; justify-items: center; gap: 8px; padding: 40px 24px !important; }
.bd-empty-icon { font-size: 2.4rem; }
.bd-empty p { max-width: 56ch; }

/* Tagebücher */
.bd-diary-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 16px; }
#workspace .bd-diary-card, #workspace .bd-post { padding: 0 !important; overflow: hidden; cursor: pointer; transition: transform 200ms var(--k-ease-out), border-color 160ms ease; }
#workspace .bd-post { cursor: default; }
.bd-diary-card:focus-visible { outline: 2px solid var(--k-accent); }
@media (hover: hover) and (pointer: fine) { #workspace .bd-diary-card:hover { transform: translateY(-2px); border-color: var(--k-line-strong); } }
.bd-cover { position: relative; aspect-ratio: 16 / 8; overflow: hidden;
  background: radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--bd-c, var(--bd-veg)) 45%, transparent), transparent 60%),
              linear-gradient(140deg, color-mix(in srgb, var(--bd-c, var(--bd-veg)) 22%, #08131d), #071019); }
.bd-cover::after { content: "🌿"; position: absolute; right: 16px; bottom: 6px; font-size: 3rem; opacity: .35; }
.bd-cover:has(.bd-cover-img)::after { display: none; }
.bd-cover-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bd-badge { position: absolute; left: 12px; top: 12px; padding: 3px 10px; border-radius: 999px; font-size: .75rem; font-weight: 650; background: rgba(0, 0, 0, .55); color: #fff; backdrop-filter: blur(6px); }
.bd-badge-done { left: auto; right: 12px; }
.bd-diary-body { padding: 14px 18px 18px; display: grid; gap: 6px; }
.bd-diary-body h3 { margin: 0; font-size: 1.05rem; }
.bd-strains { margin: 0; color: var(--k-muted); font-size: .875rem; overflow-wrap: anywhere; }
.bd-meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: .85rem; font-weight: 600; }
.bd-progress { height: 5px; border-radius: 3px; background: var(--k-surface-3); overflow: hidden; }
.bd-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--bd-seed), var(--bd-veg) 35%, var(--bd-flower)); }

/* Hero */
#workspace .bd-hero { position: relative; overflow: hidden; padding: 0 !important; min-height: 220px; display: grid; }
.bd-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .4; }
.bd-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, rgba(5, 12, 20, .95) 25%, color-mix(in srgb, var(--bd-c, var(--bd-veg)) 18%, rgba(5, 12, 20, .55))); }
.bd-hero-body { position: relative; padding: 18px 24px 22px; display: grid; gap: 10px; align-content: start; }
.bd-hero-body h2 { margin: 0; font-size: clamp(1.4rem, 2.4vw, 2rem) !important; letter-spacing: -.03em; }
.bd-back { justify-self: start; margin-left: -8px; }
.bd-hero-stats { display: flex; flex-wrap: wrap; gap: 10px; }
.bd-hero-stats .bd-stat { min-width: 110px; background: rgba(0, 0, 0, .3); }
.bd-tabs { margin-bottom: 0 !important; }
.bd-tab-body { display: grid; gap: 16px; min-width: 0; }

/* Timeline */
.bd-timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; position: relative; }
.bd-timeline::before { content: ""; position: absolute; left: 92px; top: 6px; bottom: 6px; width: 2px; background: linear-gradient(var(--k-line-strong), transparent); }
.bd-tl-week span { margin-left: 104px; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--k-accent); }
.bd-tl-item { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 24px; position: relative; }
.bd-tl-item::before { content: ""; position: absolute; left: 86px; top: 18px; width: 14px; height: 14px; border-radius: 50%; background: var(--bd-c); box-shadow: 0 0 0 4px var(--k-bg), 0 0 14px color-mix(in srgb, var(--bd-c) 60%, transparent); }
.bd-tl-date { text-align: right; display: grid; align-content: start; padding-top: 12px; gap: 2px; }
.bd-tl-date small { color: var(--k-muted); font-size: .75rem; }
.bd-entry { display: grid; gap: 8px; min-width: 0; }
.bd-entry-head { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.bd-phase-start { margin: 0; font-weight: 700; color: var(--bd-c); font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.bd-notes { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.5; }
.bd-line { margin: 0; color: var(--k-muted); font-size: .875rem; }
.bd-issues { margin: 0; padding-left: 0; list-style: none; color: var(--k-warn); font-size: .875rem; display: grid; gap: 2px; }
.bd-like[aria-pressed=true] { color: var(--bd-flower) !important; }
.bd-collage { display: grid; gap: 4px; grid-template-columns: repeat(2, 1fr); border-radius: 12px; overflow: hidden; position: relative; max-width: 560px; }
.bd-collage[data-count="1"] { grid-template-columns: 1fr; }
.bd-collage[data-count="3"] > :first-child { grid-row: span 2; }
.bd-thumb { width: 100%; height: 100%; min-height: 120px; max-height: 320px; object-fit: cover; display: block; background: var(--k-surface-3); cursor: zoom-in; }
.bd-collage[data-count="1"] .bd-thumb { max-height: 420px; }
.bd-missing { opacity: .3; }
.bd-more { position: absolute; right: 10px; bottom: 10px; padding: 2px 10px; border-radius: 999px; background: rgba(0, 0, 0, .65); font-weight: 700; }
.bd-comments p { margin: 2px 0; font-size: .875rem; }
.bd-comment-form { display: flex; gap: 8px; }
.bd-comment-form input { flex: 1; min-width: 0; }

/* Dialoge und Formulare */
.bd-dialog { width: min(640px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); padding: 0; border: 1px solid var(--k-line-strong); border-radius: var(--k-radius);
  background: #0b1621; color: var(--k-text); box-shadow: 0 30px 80px rgba(0, 0, 0, .55); display: flex; flex-direction: column; }
.bd-dialog:not([open]) { display: none; }
.bd-dialog-wide { width: min(920px, calc(100vw - 24px)); }
.bd-dialog::backdrop { background: rgba(2, 6, 12, .66); backdrop-filter: blur(4px); }
.bd-dialog[open] { animation: bd-in 220ms var(--k-ease-out); }
@keyframes bd-in { from { opacity: 0; transform: translateY(8px) scale(.98); } }
.bd-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--k-line); }
.bd-dialog-head h3 { margin: 0; font-size: 1.05rem; }
.bd-dialog-body { padding: 18px 20px; overflow: auto; display: grid; gap: 12px; }
.bd-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 14px 20px; border-top: 1px solid var(--k-line); flex-wrap: wrap; }
.bd-dialog-actions:empty { display: none; }
.bd-dialog :is(input:not([type=checkbox], [type=range], [type=file]), select, textarea) {
  width: 100%; box-sizing: border-box; min-height: 42px; padding: 8px 12px; border: 1px solid var(--k-line-strong); border-radius: var(--k-radius-sm);
  color: var(--k-text); background: rgba(0, 0, 0, .28); font: inherit; font-size: 16px; }
.bd-dialog textarea { min-height: 80px; resize: vertical; }
.bd-dialog .button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 40px; padding: 0 16px; border: 1px solid var(--k-line-strong);
  border-radius: var(--k-radius-sm); color: var(--k-text); background: var(--k-surface-2); font: inherit; font-size: .875rem; font-weight: 600; cursor: pointer; }
.bd-dialog .button.small { min-height: 32px; padding: 0 12px; font-size: .8125rem; }
.bd-dialog .button.primary { color: var(--k-accent-ink); background: var(--k-accent); border-color: transparent; }
.bd-dialog .button.ghost { background: transparent; color: var(--k-muted); }
.bd-dialog .button.danger { color: var(--k-danger); }
.bd-dialog .button:disabled { opacity: .45; cursor: not-allowed; }
.bd-dialog .help { color: var(--k-muted); margin: 0; }
.bd-dialog .eyebrow { color: var(--k-accent); font-size: .7rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; margin: 0; }
.bd-field { display: grid; gap: 6px; min-width: 0; font-weight: 600; font-size: .875rem; }
.bd-field small { font-weight: 400; }
.bd-check { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.bd-check input { width: 20px; height: 20px; accent-color: var(--k-accent); }
.bd-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 12px; }
.bd-grid2, .bd-grid3, .bd-grid4 { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bd-grid3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .bd-grid4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bd-rows { display: grid; gap: 8px; }
.bd-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1.2fr) auto auto; gap: 8px; align-items: center; }
.bd-row:not(:has(select)) { grid-template-columns: minmax(0, 2fr) minmax(0, 1.2fr) auto; }
.bd-section { border: 1px solid var(--k-line); border-radius: var(--k-radius-sm); background: var(--k-surface-2); }
.bd-section > summary { padding: 10px 14px; cursor: pointer; font-weight: 650; }
.bd-section-body { padding: 4px 14px 14px; display: grid; gap: 12px; }
.bd-cycle { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.bd-cycle input[type=range] { flex: 1; min-width: 160px; accent-color: var(--k-accent); }
.bd-care-item { display: grid; gap: 8px; }
.bd-panel { border: 1px solid var(--k-line); border-radius: var(--k-radius-sm); padding: 12px 14px; display: grid; gap: 10px; background: var(--k-surface-2); }
.bd-panel h4 { margin: 0; }
.bd-weekday-picks { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.bd-week-edit { border-top: 1px solid var(--k-line); padding-top: 8px; display: grid; gap: 8px; }
.bd-upload input { display: none; }

/* Grow-Starter */
.bd-wizard { display: grid; gap: 14px; }
.bd-wizard-title { margin: 0; font-size: 1.25rem; letter-spacing: -.02em; }
.bd-steps { display: flex; gap: 4px; }
.bd-steps i { flex: 1; height: 4px; border-radius: 2px; background: var(--k-surface-3); transition: background-color 240ms ease; }
.bd-steps i.done { background: var(--k-accent); }
.bd-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.bd-choice { display: grid; justify-items: center; gap: 6px; padding: 24px 16px; border-radius: var(--k-radius); border: 1px solid var(--k-line-strong); background: var(--k-surface-2);
  color: var(--k-text); font: inherit; cursor: pointer; transition: transform 160ms var(--k-ease-out), border-color 160ms ease, background-color 160ms ease; }
.bd-choice:active { transform: scale(.98); }
.bd-choice[aria-pressed=true] { border-color: var(--k-accent); background: var(--k-accent-soft); }
.bd-choice-icon { font-size: 2.2rem; } .bd-choice small { color: var(--k-muted); }
.bd-plant-list { display: grid; gap: 8px; }
.bd-plant-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border-radius: var(--k-radius-sm); background: var(--k-surface-2); border: 1px solid var(--k-line); }
.bd-plant-item > div:first-child { display: grid; gap: 2px; min-width: 0; } .bd-plant-item small { color: var(--k-muted); overflow-wrap: anywhere; }
.bd-strain-info:empty { display: none; }

/* Wochen (Düngeschema, Aufgaben) */
.bd-weeks { display: grid; gap: 10px; }
#workspace .bd-week { padding: 0 !important; border-left: 3px solid var(--bd-c, var(--k-line-strong)) !important; }
.bd-week > summary { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 14px 18px; cursor: pointer; list-style: none; }
.bd-week > summary::-webkit-details-marker { display: none; }
.bd-week > summary::after { content: "▾"; margin-left: auto; color: var(--k-muted); transition: transform 200ms var(--k-ease-out); }
.bd-week:not([open]) > summary::after { transform: rotate(-90deg); }
.bd-week-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--bd-c, var(--bd-prep)); }
.bd-week-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; padding: 0 18px 10px; }
.bd-week-tools .bd-field { width: 220px; }
.bd-week-tools input { min-height: 36px; }
.bd-week .bd-table-wrap { padding: 0 18px 16px; }
.bd-days { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 10px; padding: 0 18px 18px; }
.bd-day-cell { display: grid; gap: 8px; align-content: start; padding: 12px; border-radius: var(--k-radius-sm); background: var(--k-surface-2); border: 1px solid var(--k-line); }
.bd-day-cell > header { display: flex; align-items: center; gap: 8px; } .bd-day-cell > header > button { margin-left: auto; }
.bd-day-today { border-color: var(--k-accent); box-shadow: 0 0 0 1px var(--k-accent-soft); }
.bd-past { opacity: .72; }
.bd-feed { display: grid; gap: 4px; padding: 8px 10px; border-radius: 8px; background: color-mix(in srgb, var(--bd-veg) 8%, transparent); border: 1px solid color-mix(in srgb, var(--bd-veg) 22%, transparent); }
.bd-feed p { margin: 0; font-size: .85rem; color: var(--k-muted); }
.bd-feed.done, .bd-task-list li.done { opacity: .55; } .bd-feed.done strong, .bd-task-list li.done strong { text-decoration: line-through; }
.bd-task-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.bd-task-list li { display: flex; align-items: center; gap: 8px; justify-content: space-between; }
.bd-mix { padding: 10px 0; border-bottom: 1px solid var(--k-line); } .bd-mix:last-child { border-bottom: 0; } .bd-mix p { margin: 0 0 4px; }

/* Tabellen */
.bd-table-wrap { overflow-x: auto; max-width: 100%; }
.bd-table { width: 100%; border-collapse: collapse; font-size: .85rem; }
.bd-table th, .bd-table td { padding: 7px 10px; border-bottom: 1px solid var(--k-line); text-align: left; vertical-align: top; }
.bd-table th { color: var(--k-muted); font-weight: 650; font-size: .75rem; white-space: nowrap; }
.bd-table td .bd-chip { margin: 0 4px 4px 0; }
.bd-table tr.bd-today td { background: var(--k-accent-soft); }
.bd-table tr.bd-past td, .bd-table tr.bd-future td { color: var(--k-muted); }
.bd-schedule-table tr[data-kind] td:first-child { box-shadow: inset 3px 0 0 var(--bd-c); }
.bd-plan-table td:nth-child(4) { min-width: 240px; }

/* Anschaffungen */
.bd-stats-cards .bd-stat { background: var(--k-surface); }
.bd-purchases { list-style: none; margin: 0; padding: 0; display: grid; }
.bd-purchases li { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--k-line); }
.bd-purchases li:last-child { border-bottom: 0; }
.bd-purchases input[type=checkbox] { width: 20px; height: 20px; flex: none; }
.bd-purchase-main { display: grid; gap: 2px; flex: 1; min-width: 0; overflow-wrap: anywhere; }
.bd-cost { white-space: nowrap; }
.bd-bars { display: grid; gap: 8px; }
.bd-bar { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 10px; align-items: center; font-size: .875rem; }
.bd-bar i { height: 8px; border-radius: 4px; background: var(--k-accent); }

/* Klima und Diagramme */
.bd-weather-now { display: grid; gap: 10px; } .bd-temp { font-size: 2.4rem; letter-spacing: -.04em; }
.bd-alerts { display: grid; gap: 8px; margin: 12px 0; }
.bd-alert { padding: 10px 14px; border-radius: var(--k-radius-sm); background: rgba(245, 178, 91, .1); border: 1px solid rgba(245, 178, 91, .35); }
.bd-alert p { margin: 4px 0 0; font-size: .85rem; color: var(--k-muted); }
.bd-forecast { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; margin-top: 12px; }
.bd-day { display: grid; gap: 2px; padding: 10px; border-radius: var(--k-radius-sm); background: var(--k-surface-2); border: 1px solid var(--k-line); font-size: .85rem; }
.bd-day small { color: var(--k-muted); }
.bd-chart-wrap { display: grid; gap: 6px; max-width: 760px; } .bd-chart { width: 100%; height: auto; color: var(--k-text); }
.bd-legend { display: flex; flex-wrap: wrap; gap: 14px; font-size: .8rem; color: var(--k-muted); }
.bd-legend span::before { content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; background: var(--c); }
.bd-phasebar { display: flex; height: 26px; border-radius: 8px; overflow: hidden; margin-bottom: 8px; }
.bd-phasebar span { display: grid; place-items: center; font-size: .7rem; font-weight: 700; color: #06121c; background: var(--bd-c); overflow: hidden; white-space: nowrap; min-width: 0; }
.bd-phasebar span[data-planned=true] { opacity: .5; }
.bd-daily { display: grid; gap: 8px; }

/* Buddy */
.bd-chat { display: grid; gap: 10px; max-height: 60vh; overflow: auto; padding: 4px 2px 12px; }
.bd-msg { max-width: 82%; padding: 10px 14px; border-radius: 16px; background: var(--k-surface-2); border: 1px solid var(--k-line); }
.bd-msg p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.5; }
.bd-msg[data-role=user] { justify-self: end; background: var(--k-accent-soft); border-color: rgba(98, 210, 240, .3); border-bottom-right-radius: 4px; }
.bd-msg[data-role=buddy] { border-bottom-left-radius: 4px; }
.bd-action { margin-top: 10px; padding: 10px 12px; border-radius: 10px; border: 1px dashed var(--k-line-strong); display: grid; gap: 8px; }
.bd-action p { display: grid; gap: 2px; } .bd-action small { color: var(--k-muted); }
.bd-action[data-status=applied] { border-style: solid; border-color: color-mix(in srgb, var(--bd-veg) 40%, transparent); }
.bd-action[data-status=rejected] { opacity: .5; }
.bd-suggestions { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 6px; scrollbar-width: none; }
.bd-suggestions .button { flex: none; }
.bd-chat-input { display: flex; gap: 8px; align-items: flex-end; }
.bd-chat-input textarea { flex: 1; min-height: 44px; resize: vertical; padding: 10px 12px; font: inherit; font-size: 16px; }

/* Galerie, Lightbox */
.bd-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 180px), 1fr)); gap: 10px; }
.bd-gallery figure { margin: 0; display: grid; gap: 4px; }
.bd-gallery .bd-thumb { aspect-ratio: 1; height: auto; border-radius: 10px; }
.bd-gallery figcaption { display: flex; justify-content: space-between; align-items: center; font-size: .75rem; color: var(--k-muted); }
.bd-lightbox-stage { display: grid; gap: 8px; justify-items: center; }
.bd-lightbox-media { max-width: 100%; max-height: 70dvh; border-radius: 10px; }

/* Düngeschemas, Social */
.bd-schedule-list { display: grid; gap: 20px; }
.bd-brand h3 { margin: 0 0 10px; font-size: 1rem; }
.bd-schedule-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 10px; }
#workspace .bd-schedule-card { cursor: pointer; display: grid; gap: 6px; align-content: start; padding: 16px 18px !important; }
.bd-schedule-card h4 { margin: 0; }
@media (hover: hover) and (pointer: fine) { #workspace .bd-schedule-card:hover { border-color: var(--k-line-strong); } }
.bd-profile { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; } .bd-profile > div:nth-child(2) { flex: 1; min-width: 200px; }
.bd-profile h3 { margin: 0; }
.bd-avatar { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; font-size: 1.4rem; font-weight: 700; color: #06121c;
  background: linear-gradient(135deg, var(--bd-veg), var(--k-accent)); }
.bd-feed-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 16px; }
#workspace .bd-post:not(:has(.bd-cover)) { padding: 18px !important; display: grid; gap: 8px; }

@media (max-width: 760px) {
  .bd-grid3, .bd-grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bd-timeline::before { left: 7px; } .bd-tl-week span { margin-left: 26px; }
  .bd-tl-item { grid-template-columns: minmax(0, 1fr); gap: 6px; padding-left: 26px; }
  .bd-tl-item::before { left: 0; top: 4px; }
  .bd-tl-date { text-align: left; padding-top: 0; display: flex; gap: 8px; align-items: baseline; }
  .bd-msg { max-width: 94%; }
  .bd-hero-body { padding: 16px; }
  .bd-hero-stats .bd-stat { min-width: 0; flex: 1 1 40%; }
  .bd-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; } .bd-row select { grid-column: 1 / 3; }
  .bd-bar { grid-template-columns: 90px minmax(0, 1fr) auto; }
  .bd-toolbar > .bd-field { min-width: 0; flex: 1; }
}
@media (max-width: 480px) { .bd-grid2, .bd-grid3, .bd-grid4, .bd-choices { grid-template-columns: minmax(0, 1fr); } .bd-dialog-body { padding: 14px; } }
@media (prefers-reduced-motion: reduce) {
  .bd-dialog[open] { animation: none; }
  #workspace .bd-diary-card, .bd-choice, .bd-week > summary::after { transition: none; }
}
/* wide tables scroll inside their card instead of widening the page */
.bd-tab-body > *, .bd-weeks > *, .bd-content > *, .bd-stats-grid > * { min-width: 0; max-width: 100%; }
#workspace .bd-week { overflow: hidden; }
.bd-mix p, .bd-section > summary { overflow-wrap: anywhere; }
/* Suchliste für Breeder und Sorten */
.bd-suggest { position: relative; min-width: 0; }
.bd-suggest-list { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 4px); margin: 0; padding: 4px; list-style: none; max-height: 280px; overflow-y: auto;
  border: 1px solid var(--k-line-strong); border-radius: var(--k-radius-sm); background: #0e1b28; box-shadow: 0 16px 40px rgba(0, 0, 0, .5); }
.bd-suggest-list[hidden] { display: none; }
.bd-suggest-list li { display: grid; gap: 1px; padding: 9px 10px; border-radius: 8px; cursor: pointer; font-weight: 500; }
.bd-suggest-list li small { color: var(--k-muted); font-weight: 400; }
.bd-suggest-list li.active, .bd-suggest-list li:hover { background: var(--k-accent-soft); }
.bd-suggest-list li.bd-suggest-empty { cursor: default; color: var(--k-muted); background: none; }
.bd-span { grid-column: 1 / -1; display: grid; gap: 12px; }
#budds-panel .bd-hero .bd-alert { display: grid; gap: 6px; justify-items: start; }
#budds-panel .bd-hero .bd-alert p { margin: 0; }
.bd-picker { display: grid; gap: 8px; min-width: 0; }

/* Curing, Sensoren, Fotoprüfung, Vergleich (Block 5) */
.bd-jar { display: grid; gap: 10px; border-top: 3px solid var(--bd-c, var(--bd-veg)) !important; }
.bd-jar.is-done { opacity: .7; }
.bd-jar-head { display: flex; align-items: center; gap: 12px; }
.bd-jar-head h3 { margin: 0; font-size: 1.05rem; }
.bd-jar-icon { font-size: 1.8rem; }
.bd-jar .bd-toolbar input[type=number] { width: 120px; }
.bd-code { display: block; padding: 10px 12px; border-radius: 10px; background: rgba(0, 0, 0, .35); border: 1px solid var(--k-line); font-size: .8rem; overflow-wrap: anywhere; user-select: all; }
.bd-pick { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)) !important; }
.bd-pick-item { padding: 0; border: 2px solid transparent; border-radius: 12px; overflow: hidden; background: none; cursor: pointer; aspect-ratio: 1; }
.bd-pick-item .bd-thumb { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.bd-pick-item[aria-pressed=true] { border-color: var(--bd-veg); box-shadow: 0 0 0 3px color-mix(in srgb, var(--bd-veg) 25%, transparent); }
.bd-compare tr.is-current td { background: color-mix(in srgb, var(--bd-veg) 8%, transparent); }
.bd-compare td:first-child { white-space: nowrap; }

/* Geräte (Home Assistant) */
.bd-devs { display: grid; gap: 8px; }
.bd-dev { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 12px; border-radius: 12px;
  background: var(--k-surface-2); border: 1px solid var(--k-line); }
.bd-dev.is-off { opacity: .55; }
.bd-dev-icon { font-size: 1.4rem; }
.bd-dev-name { display: grid; min-width: 0; } .bd-dev-name strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bd-dev-control { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: flex-end; }
.bd-dev-control select, .bd-dev-control input[type=number] { min-height: 36px; padding: 4px 10px; border-radius: 10px; border: 1px solid var(--k-line-strong); background: rgba(0, 0, 0, .28); color: var(--k-text); max-width: 160px; }
#workspace .bd-dev-control input[type=number] { width: 90px; min-width: 0; }
.bd-dev-range { display: flex; align-items: center; gap: 8px; } .bd-dev-range > span { white-space: nowrap; } .bd-dev-range input { width: 140px; accent-color: var(--bd-veg); }
.bd-dev-level { min-width: 3.2em; text-align: right; font-variant-numeric: tabular-nums; }
.bd-dev-toggle { position: relative; width: 50px; height: 28px; border-radius: 999px; border: 0; cursor: pointer; background: var(--k-surface-3); transition: background 160ms ease; }
.bd-dev-toggle i { position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; transition: transform 200ms var(--k-ease-out, ease-out); }
.bd-dev-toggle[aria-checked=true] { background: var(--bd-veg); } .bd-dev-toggle[aria-checked=true] i { transform: translateX(22px); }
.bd-dev-picks { display: grid; gap: 6px; max-height: 55vh; overflow: auto; }
.bd-dev-pick { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: center; padding: 6px 8px; border-radius: 10px; }
.bd-dev-pick.is-likely { background: color-mix(in srgb, var(--bd-veg) 8%, transparent); }
.bd-dev-pick > div { display: grid; gap: 2px; min-width: 0; } .bd-dev-pick small { overflow-wrap: anywhere; }
@media (max-width: 640px) { .bd-dev { grid-template-columns: auto minmax(0, 1fr); } .bd-dev-control { grid-column: 1 / -1; justify-content: flex-start; } .bd-dev-range input { width: 120px; } }
