/* Rezeptnest 0.9.22 – konsolidiertes Stylesheet */

/* ===== SOURCE: app.css ===== */
:root {
  --bg: #f6f8f7;
  --surface: #ffffff;
  --surface-soft: #edf5f2;
  --surface-strong: #e2efeb;
  --text: #172033;
  --text-2: #5f6d79;
  --text-3: #8a96a0;
  --primary: #0f766e;
  --primary-2: #115e59;
  --primary-soft: #dff3ee;
  --apricot: #f2a66f;
  --apricot-soft: #ffeadb;
  --lavender: #8a79b8;
  --lavender-soft: #ece7f8;
  --berry: #b95f80;
  --berry-soft: #f7e4eb;
  --yellow: #d6a635;
  --yellow-soft: #fff3ce;
  --danger: #b94f4f;
  --danger-soft: #fde8e8;
  --border: #dce5e1;
  --shadow-sm: 0 2px 10px rgba(28, 45, 40, 0.06);
  --shadow-md: 0 12px 32px rgba(28, 45, 40, 0.12);
  --radius-sm: 12px;
  --radius: 18px;
  --radius-lg: 26px;
  --nav-height: 76px;
}

* { box-sizing: border-box; }
html { background: var(--bg); }
body {
  margin: 0;
  min-height: 100vh;
  background: var(--bg);
  color: var(--text);
  font-family: 'Outfit', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
button, input, textarea, select { font: inherit; }
button { color: inherit; }
a { color: inherit; }

#app { min-height: 100vh; }
.app-shell { min-height: 100vh; padding-bottom: calc(var(--nav-height) + 28px + env(safe-area-inset-bottom)); }

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 66px;
  padding: calc(10px + env(safe-area-inset-top)) 18px 10px;
  background: color-mix(in srgb, var(--bg) 90%, transparent);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid color-mix(in srgb, var(--border) 80%, transparent);
}
.brand { display: flex; align-items: center; gap: 11px; min-width: 0; }
.brand-mark {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: linear-gradient(145deg, var(--primary), #3e9f8e);
  color: white;
  box-shadow: 0 8px 18px rgba(15, 118, 110, 0.23);
}
.brand-mark svg { width: 23px; height: 23px; }
.brand-copy { display: flex; flex-direction: column; min-width: 0; }
.brand-title { font-size: 19px; font-weight: 700; letter-spacing: -0.03em; line-height: 1.05; }
.brand-sub { margin-top: 3px; color: var(--text-3); font-size: 11px; font-weight: 600; letter-spacing: 0.02em; }
.top-actions { display: flex; align-items: center; gap: 8px; }
.icon-btn {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: var(--surface);
  box-shadow: var(--shadow-sm);
  cursor: pointer;
}
.icon-btn svg { width: 20px; height: 20px; }
.avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: white;
  font-size: 12px;
  font-weight: 700;
  border: 3px solid var(--bg);
}
.avatar.olli { background: var(--primary); }
.avatar.partner { background: var(--berry); margin-left: -10px; }
.avatar-stack { display: flex; align-items: center; padding-left: 4px; }

.content { width: min(100%, 1180px); margin: 0 auto; padding: 17px 16px 0; }
.page-head { margin: 2px 2px 18px; }
.eyebrow { color: var(--primary); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; }
.page-title { margin: 5px 0 4px; font-size: clamp(26px, 7vw, 36px); line-height: 1.08; letter-spacing: -0.045em; }
.page-subtitle { margin: 0; color: var(--text-2); font-size: 14px; line-height: 1.45; }

.quick-add {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px;
  margin-bottom: 16px;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, #dff3ee 0%, #eef8f5 50%, #ffeadb 140%);
  border: 1px solid #cee7e0;
}
.quick-add::after {
  content: '';
  position: absolute;
  width: 115px;
  height: 115px;
  right: -38px;
  top: -46px;
  border-radius: 50%;
  background: rgba(255,255,255,.55);
}
.quick-copy { position: relative; z-index: 1; min-width: 0; }
.quick-title { font-size: 17px; font-weight: 700; letter-spacing: -0.025em; }
.quick-text { margin-top: 4px; color: var(--text-2); font-size: 13px; line-height: 1.35; }
.primary-btn, .secondary-btn, .ghost-btn, .danger-btn {
  border: 0;
  border-radius: 14px;
  min-height: 44px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
}
.primary-btn { background: var(--primary); color: white; box-shadow: 0 8px 18px rgba(15,118,110,.2); }
.primary-btn:hover { background: var(--primary-2); }
.secondary-btn { background: var(--surface-soft); color: var(--primary-2); border: 1px solid #cee4dd; }
.ghost-btn { background: transparent; color: var(--text-2); border: 1px solid var(--border); }
.danger-btn { background: var(--danger-soft); color: var(--danger); }
.small-btn { min-height: 36px; padding: 0 12px; font-size: 13px; border-radius: 11px; }
.button-icon { width: 18px; height: 18px; }

.search-row { display: flex; gap: 9px; margin-bottom: 14px; }
.search-box {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  height: 47px;
  padding: 0 14px;
  border: 1px solid var(--border);
  border-radius: 15px;
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}
.search-box svg { width: 19px; height: 19px; color: var(--text-3); flex: 0 0 auto; }
.search-box input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--text); }
.search-box input::placeholder { color: var(--text-3); }
.filter-btn { width: 47px; height: 47px; border-radius: 15px; border: 1px solid var(--border); background: var(--surface); display: grid; place-items: center; cursor: pointer; box-shadow: var(--shadow-sm); }
.filter-btn svg { width: 20px; height: 20px; }

.segmented {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
  padding: 5px;
  margin-bottom: 15px;
  border-radius: 15px;
  background: #e9efec;
}
.segmented button {
  position: relative;
  border: 0;
  border-radius: 11px;
  min-height: 40px;
  padding: 0 8px;
  background: transparent;
  color: var(--text-2);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.segmented button.active { background: var(--surface); color: var(--text); box-shadow: 0 3px 12px rgba(38,54,48,.08); }
.count-pill { display: inline-grid; place-items: center; min-width: 19px; height: 19px; margin-left: 4px; padding: 0 5px; border-radius: 10px; background: var(--surface-soft); color: var(--primary-2); font-size: 10px; }
.segmented button.active .count-pill { background: var(--primary-soft); }

.section-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin: 16px 2px 11px; }
.section-title { margin: 0; font-size: 18px; letter-spacing: -0.025em; }
.section-meta { color: var(--text-3); font-size: 12px; white-space: nowrap; }

.recipe-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
.recipe-card {
  position: relative;
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  min-height: 128px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease;
}
.recipe-card:active { transform: scale(.988); }
.card-media { position: relative; min-height: 128px; overflow: hidden; background: #dce9e5; }
.card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.card-media.placeholder { display: grid; place-items: center; }
.card-media.placeholder svg { width: 34px; height: 34px; color: rgba(23,32,51,.32); }
.card-media.sage { background: linear-gradient(145deg,#cfe8df,#eef7f4); }
.card-media.apricot { background: linear-gradient(145deg,#ffe0c8,#fff2e8); }
.card-media.lavender { background: linear-gradient(145deg,#e1daf4,#f5f1ff); }
.card-media.berry { background: linear-gradient(145deg,#f3dbe4,#fff0f5); }
.source-dot {
  position: absolute;
  top: 8px;
  left: 8px;
  height: 25px;
  padding: 0 8px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-radius: 9px;
  background: rgba(255,255,255,.9);
  color: var(--text);
  font-size: 10px;
  font-weight: 700;
  box-shadow: 0 3px 10px rgba(0,0,0,.08);
}
.source-dot svg { width: 13px; height: 13px; }
.card-body { min-width: 0; padding: 13px 13px 12px; display: flex; flex-direction: column; }
.card-top { display: flex; align-items: flex-start; gap: 8px; }
.card-title { margin: 0; min-width: 0; flex: 1; font-size: 16px; line-height: 1.18; letter-spacing: -0.025em; }
.favorite-btn { width: 30px; height: 30px; display: grid; place-items: center; border: 0; border-radius: 10px; background: var(--bg); color: var(--text-3); cursor: pointer; flex: 0 0 auto; }
.favorite-btn.active { color: var(--berry); background: var(--berry-soft); }
.favorite-btn svg { width: 17px; height: 17px; }
.card-note { margin: 5px 0 9px; color: var(--text-2); font-size: 12px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card-footer { margin-top: auto; display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.chip {
  min-height: 24px;
  padding: 0 8px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-radius: 999px;
  background: var(--surface-soft);
  color: var(--primary-2);
  font-size: 10px;
  font-weight: 700;
}
.chip.apricot { background: var(--apricot-soft); color: #915525; }
.chip.lavender { background: var(--lavender-soft); color: #64518c; }
.chip.berry { background: var(--berry-soft); color: #8e4260; }
.chip.yellow { background: var(--yellow-soft); color: #8d6814; }
.chip.muted { background: #edf0f2; color: var(--text-2); }
.chip svg { width: 12px; height: 12px; }
.rating-inline { margin-left: auto; color: var(--yellow); font-size: 11px; font-weight: 700; }

.empty-state { padding: 34px 20px; text-align: center; border: 1px dashed #cbdad5; border-radius: var(--radius-lg); background: rgba(255,255,255,.55); }
.empty-icon { width: 58px; height: 58px; margin: 0 auto 14px; display: grid; place-items: center; border-radius: 20px; background: var(--primary-soft); color: var(--primary); }
.empty-icon svg { width: 29px; height: 29px; }
.empty-state h3 { margin: 0 0 6px; font-size: 18px; }
.empty-state p { margin: 0 auto 17px; max-width: 320px; color: var(--text-2); font-size: 13px; line-height: 1.45; }

.bottom-nav {
  position: fixed;
  left: 10px;
  right: 10px;
  bottom: calc(8px + env(safe-area-inset-bottom));
  z-index: 30;
  height: var(--nav-height);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
  padding: 7px;
  border: 1px solid rgba(205,221,215,.92);
  border-radius: 24px;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(18px);
  box-shadow: 0 16px 42px rgba(27,45,39,.16);
}
.nav-item { height: 60px; border: 0; border-radius: 18px; background: transparent; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: var(--text-3); font-size: 10px; font-weight: 700; cursor: pointer; }
.nav-item svg { width: 21px; height: 21px; }
.nav-item.active { background: var(--primary-soft); color: var(--primary-2); }

.fab {
  position: fixed;
  right: 20px;
  bottom: calc(var(--nav-height) + 20px + env(safe-area-inset-bottom));
  z-index: 29;
  width: 57px;
  height: 57px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 19px;
  background: var(--primary);
  color: white;
  box-shadow: 0 14px 28px rgba(15,118,110,.28);
  cursor: pointer;
}
.fab svg { width: 25px; height: 25px; }

.sheet-backdrop { position: fixed; inset: 0; z-index: 50; background: rgba(16,25,32,.38); backdrop-filter: blur(3px); animation: fadeIn .16s ease; }
.sheet {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 51;
  max-height: min(90vh, 760px);
  overflow: auto;
  padding: 10px 16px calc(22px + env(safe-area-inset-bottom));
  border-radius: 27px 27px 0 0;
  background: var(--surface);
  box-shadow: 0 -20px 50px rgba(20,31,27,.18);
  animation: slideUp .22s ease;
}
.sheet-handle { width: 42px; height: 4px; margin: 0 auto 17px; border-radius: 5px; background: #d6dfdc; }
.sheet-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 17px; }
.sheet-title { margin: 0; font-size: 22px; letter-spacing: -0.035em; }
.sheet-sub { margin: 5px 0 0; color: var(--text-2); font-size: 13px; line-height: 1.4; }
.close-btn { width: 38px; height: 38px; display: grid; place-items: center; border: 0; border-radius: 12px; background: var(--bg); cursor: pointer; flex: 0 0 auto; }
.close-btn svg { width: 19px; height: 19px; }
.add-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.add-option { min-height: 116px; padding: 15px; text-align: left; border: 1px solid var(--border); border-radius: 18px; background: var(--surface); cursor: pointer; }
.add-option:active { background: var(--bg); }
.option-icon { width: 39px; height: 39px; display: grid; place-items: center; margin-bottom: 11px; border-radius: 13px; background: var(--primary-soft); color: var(--primary); }
.option-icon.apricot { background: var(--apricot-soft); color: #9c5c29; }
.option-icon.lavender { background: var(--lavender-soft); color: #65518f; }
.option-icon.berry { background: var(--berry-soft); color: #914563; }
.option-icon svg { width: 20px; height: 20px; }
.option-title { font-weight: 700; font-size: 14px; }
.option-text { margin-top: 4px; color: var(--text-3); font-size: 11px; line-height: 1.3; }

.form-grid { display: grid; gap: 13px; }
.field { display: grid; gap: 7px; }
.field label { font-size: 12px; font-weight: 700; color: var(--text-2); }
.field input, .field textarea, .field select {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface);
  color: var(--text);
  padding: 12px 13px;
  outline: none;
}
.field input, .field select { min-height: 46px; }
.field textarea { min-height: 94px; resize: vertical; line-height: 1.45; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: #71b8aa; box-shadow: 0 0 0 3px var(--primary-soft); }
.form-actions { display: grid; grid-template-columns: 1fr 1.4fr; gap: 9px; margin-top: 4px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.meal-picker { display: flex; flex-wrap: wrap; gap: 8px; }
.meal-option { border: 1px solid var(--border); border-radius: 999px; background: var(--surface); min-height: 37px; padding: 0 12px; font-size: 12px; font-weight: 700; cursor: pointer; }
.meal-option.active { background: var(--primary-soft); color: var(--primary-2); border-color: #b8ddd3; }

.detail-page { min-height: 100vh; padding-bottom: 30px; background: var(--bg); }
.detail-hero { position: relative; height: 275px; overflow: hidden; background: linear-gradient(145deg,#cfe8df,#f8eee6); }
.detail-hero img { width: 100%; height: 100%; object-fit: cover; display: block; }
.detail-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(12,24,20,.18), transparent 35%, rgba(12,24,20,.55)); }
.detail-back, .detail-fav { position: absolute; top: calc(12px + env(safe-area-inset-top)); width: 42px; height: 42px; display: grid; place-items: center; border: 0; border-radius: 14px; background: rgba(255,255,255,.92); box-shadow: var(--shadow-sm); cursor: pointer; }
.detail-back { left: 14px; }
.detail-fav { right: 14px; }
.detail-back svg, .detail-fav svg { width: 20px; height: 20px; }
.detail-fav.active { color: var(--berry); }
.detail-hero-copy { position: absolute; left: 18px; right: 18px; bottom: 18px; color: white; }
.detail-hero-copy h1 { margin: 7px 0 0; font-size: 28px; line-height: 1.05; letter-spacing: -0.045em; text-shadow: 0 2px 12px rgba(0,0,0,.25); }
.detail-content { width: min(100%, 820px); margin: -1px auto 0; padding: 17px 16px 0; }
.detail-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 14px; }
.meta-box { padding: 12px 8px; text-align: center; border: 1px solid var(--border); border-radius: 15px; background: var(--surface); box-shadow: var(--shadow-sm); }
.meta-value { display: block; font-size: 15px; font-weight: 700; }
.meta-label { display: block; margin-top: 3px; color: var(--text-3); font-size: 10px; }
.detail-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-bottom: 15px; }
.detail-section { margin-bottom: 13px; padding: 17px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.detail-section h2 { margin: 0 0 12px; font-size: 18px; letter-spacing: -0.025em; }
.ingredients { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.ingredients li { display: flex; align-items: flex-start; gap: 10px; color: var(--text-2); font-size: 13px; line-height: 1.4; }
.ingredient-check { width: 20px; height: 20px; margin-top: -1px; border: 2px solid #c6d8d2; border-radius: 7px; flex: 0 0 auto; }
.steps { list-style: none; padding: 0; margin: 0; display: grid; gap: 15px; }
.steps li { display: grid; grid-template-columns: 28px 1fr; gap: 10px; color: var(--text-2); font-size: 13px; line-height: 1.5; }
.step-num { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 10px; background: var(--primary-soft); color: var(--primary-2); font-size: 12px; font-weight: 700; }
.source-link { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px; border-radius: 14px; background: var(--bg); text-decoration: none; }
.source-link-copy { min-width: 0; }
.source-link-title { font-size: 13px; font-weight: 700; }
.source-link-url { margin-top: 3px; color: var(--text-3); font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.source-link svg { width: 18px; height: 18px; color: var(--primary); flex: 0 0 auto; }

.week-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 13px; }
.week-title { margin: 0; font-size: 23px; letter-spacing: -0.035em; }
.week-switch { display: flex; align-items: center; gap: 5px; }
.week-switch button { width: 37px; height: 37px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); cursor: pointer; }
.week-switch svg { width: 18px; height: 18px; }
.day-strip { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(58px, 1fr); gap: 7px; overflow-x: auto; padding: 1px 1px 8px; scrollbar-width: none; }
.day-strip::-webkit-scrollbar { display: none; }
.day-btn { min-height: 66px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); color: var(--text-2); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; cursor: pointer; }
.day-btn .dow { font-size: 10px; font-weight: 700; text-transform: uppercase; }
.day-btn .date { font-size: 17px; font-weight: 700; color: var(--text); }
.day-btn.active { background: var(--primary); color: rgba(255,255,255,.76); border-color: var(--primary); box-shadow: 0 9px 20px rgba(15,118,110,.18); }
.day-btn.active .date { color: white; }
.selected-day { margin: 14px 2px 10px; font-size: 20px; letter-spacing: -0.025em; }
.meal-stack { display: grid; gap: 12px; }
.meal-slot { padding: 14px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.meal-slot-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.meal-name { display: flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 700; }
.meal-icon { width: 33px; height: 33px; display: grid; place-items: center; border-radius: 11px; background: var(--primary-soft); color: var(--primary); }
.meal-icon.apricot { background: var(--apricot-soft); color: #9a5928; }
.meal-icon.lavender { background: var(--lavender-soft); color: #67538d; }
.meal-icon svg { width: 17px; height: 17px; }
.slot-add { width: 33px; height: 33px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 11px; background: var(--bg); cursor: pointer; }
.slot-add svg { width: 17px; height: 17px; }
.planned-recipe { display: flex; align-items: center; gap: 11px; padding: 9px; border-radius: 14px; background: var(--bg); cursor: pointer; }
.planned-thumb { width: 52px; height: 52px; display: grid; place-items: center; overflow: hidden; border-radius: 12px; background: var(--surface-strong); flex: 0 0 auto; }
.planned-thumb img { width: 100%; height: 100%; object-fit: cover; }
.planned-thumb svg { width: 22px; height: 22px; color: var(--text-3); }
.planned-copy { min-width: 0; flex: 1; }
.planned-title { font-size: 13px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.planned-meta { margin-top: 4px; color: var(--text-3); font-size: 10px; }
.planned-remove { width: 31px; height: 31px; display: grid; place-items: center; border: 0; border-radius: 10px; background: transparent; color: var(--text-3); cursor: pointer; }
.planned-remove svg { width: 17px; height: 17px; }
.empty-slot { min-height: 58px; display: flex; align-items: center; justify-content: center; border: 1px dashed #cddbd6; border-radius: 14px; color: var(--text-3); font-size: 12px; cursor: pointer; }

.recipe-picker { display: grid; gap: 9px; }
.picker-item { display: flex; align-items: center; gap: 11px; padding: 10px; border: 1px solid var(--border); border-radius: 15px; background: var(--surface); cursor: pointer; }
.picker-thumb { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 12px; background: var(--primary-soft); flex: 0 0 auto; overflow: hidden; }
.picker-thumb img { width: 100%; height: 100%; object-fit: cover; }
.picker-thumb svg { width: 22px; height: 22px; color: var(--primary); }
.picker-copy { min-width: 0; flex: 1; }
.picker-title { font-size: 14px; font-weight: 700; }
.picker-meta { margin-top: 4px; color: var(--text-3); font-size: 11px; }
.picker-check { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 10px; background: var(--surface-soft); color: var(--primary); }
.picker-check svg { width: 16px; height: 16px; }

.rating-stars { display: flex; gap: 7px; }
.star-btn { width: 39px; height: 39px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); color: #c8ced1; cursor: pointer; }
.star-btn.active { background: var(--yellow-soft); border-color: #ead797; color: var(--yellow); }
.star-btn svg { width: 20px; height: 20px; }

.more-grid { display: grid; gap: 11px; }
.profile-card { display: flex; align-items: center; gap: 13px; padding: 17px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.profile-avatars { display: flex; align-items: center; }
.profile-copy { min-width: 0; }
.profile-title { font-weight: 700; }
.profile-sub { margin-top: 3px; color: var(--text-3); font-size: 12px; }
.setting-list { overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.setting-row { width: 100%; min-height: 58px; padding: 0 15px; border: 0; border-bottom: 1px solid var(--border); background: transparent; display: flex; align-items: center; gap: 11px; text-align: left; cursor: pointer; }
.setting-row:last-child { border-bottom: 0; }
.setting-icon { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 11px; background: var(--primary-soft); color: var(--primary); flex: 0 0 auto; }
.setting-icon svg { width: 18px; height: 18px; }
.setting-copy { min-width: 0; flex: 1; }
.setting-title { font-size: 13px; font-weight: 700; }
.setting-sub { margin-top: 3px; color: var(--text-3); font-size: 10px; }
.setting-row > svg { width: 17px; height: 17px; color: var(--text-3); }

.toast { position: fixed; left: 50%; bottom: calc(var(--nav-height) + 32px + env(safe-area-inset-bottom)); z-index: 80; transform: translateX(-50%); min-width: 220px; max-width: calc(100% - 32px); padding: 12px 15px; border-radius: 13px; background: #172033; color: white; text-align: center; font-size: 12px; font-weight: 600; box-shadow: var(--shadow-md); animation: toastIn .2s ease; }

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideUp { from { transform: translateY(24px); opacity: .6; } to { transform: translateY(0); opacity: 1; } }
@keyframes toastIn { from { transform: translate(-50%, 10px); opacity: 0; } to { transform: translate(-50%, 0); opacity: 1; } }

@media (min-width: 700px) {
  .content { padding: 24px 24px 0; }
  .topbar { padding-left: 26px; padding-right: 26px; }
  .recipe-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .recipe-card { grid-template-columns: 124px minmax(0,1fr); }
  .add-options { grid-template-columns: repeat(4, 1fr); }
  .sheet { left: 50%; right: auto; width: min(620px, calc(100% - 32px)); bottom: 18px; transform: translateX(-50%); border-radius: 27px; padding-bottom: 22px; }
  @keyframes slideUp { from { transform: translate(-50%, 24px); opacity: .6; } to { transform: translate(-50%, 0); opacity: 1; } }
  .bottom-nav { left: 50%; right: auto; width: 560px; transform: translateX(-50%); }
  .fab { right: calc(50% - 280px + 12px); }
}

@media (min-width: 1020px) {
  .app-shell { padding-bottom: 110px; }
  .recipe-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .recipe-card { grid-template-columns: 1fr; min-height: 320px; }
  .card-media { min-height: 178px; }
  .card-body { min-height: 142px; }
  .week-layout { display: grid; grid-template-columns: 260px 1fr; gap: 18px; align-items: start; }
  .week-layout .day-strip { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: 1fr; overflow: visible; }
  .day-btn { flex-direction: row; justify-content: space-between; min-height: 55px; padding: 0 16px; }
  .selected-day { margin-top: 0; }
}

/* ===== SOURCE: enhancements.css ===== */
/* Rezeptnest v0.2 – mobile corrections */
html, body, #app, .app-shell, .detail-page {
  max-width: 100%;
  overflow-x: clip;
}

.quick-add::after {
  pointer-events: none;
  z-index: 0;
}
.quick-add > * {
  position: relative;
  z-index: 1;
}

.card-icon-actions {
  display: flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
}
.card-action-btn {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 10px;
  background: var(--primary-soft);
  color: var(--primary);
  cursor: pointer;
}
.card-action-btn svg { width: 16px; height: 16px; }

.favorite-btn.active,
.detail-fav.active {
  color: #d83b4f;
  background: #fde9ed;
}
.favorite-btn.active svg,
.detail-fav.active svg {
  fill: currentColor;
  stroke: currentColor;
}

.setting-copy,
.profile-copy,
.source-link-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.setting-title,
.setting-sub,
.profile-title,
.profile-sub,
.source-link-title,
.source-link-url {
  display: block;
}
.setting-title,
.profile-title {
  line-height: 1.25;
}
.setting-sub,
.profile-sub {
  margin-top: 4px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.setting-row {
  min-height: 72px;
  padding-top: 11px;
  padding-bottom: 11px;
  align-items: flex-start;
}
.setting-row > svg { margin-top: 9px; flex: 0 0 auto; }
.setting-icon { margin-top: 1px; }

.page-subtitle,
.card-note,
.sheet-sub,
.option-text,
.picker-title,
.picker-meta,
.planned-title,
.planned-meta,
.ingredients li span:last-child,
.steps li span:last-child {
  overflow-wrap: anywhere;
}

.source-link {
  align-items: flex-start;
  max-width: 100%;
}
.source-link-copy { flex: 1; }
.source-link-title {
  display: flex;
  align-items: center;
  gap: 6px;
  line-height: 1.3;
}
.source-link-url {
  white-space: normal;
  overflow: visible;
  text-overflow: initial;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.35;
}
.source-link > svg { margin-top: 2px; }

.detail-note { margin-top: 12px; }
.detail-edit-button { width: 100%; }
.detail-rating-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: -2px 0 15px;
  padding: 13px 15px;
  border: 1px solid #ead797;
  border-radius: 15px;
  background: var(--yellow-soft);
  color: #76570f;
  font-size: 12px;
}
.detail-rating-summary strong { font-size: 13px; white-space: nowrap; }
.rating-stars-text,
.detail-stars { color: var(--yellow); letter-spacing: .04em; }
.detail-stars { margin-bottom: 10px; font-size: 18px; font-weight: 700; }
.detail-stars span { margin-left: 7px; color: var(--text-2); font-size: 12px; letter-spacing: 0; }

.view-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  padding: 5px;
  margin-bottom: 14px;
  border-radius: 15px;
  background: #e9efec;
}
.view-toggle button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: var(--text-2);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.view-toggle button.active {
  background: var(--surface);
  color: var(--primary-2);
  box-shadow: 0 3px 12px rgba(38,54,48,.08);
}
.view-toggle svg { width: 16px; height: 16px; }

.week-overview-scroll {
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  padding: 2px 1px 10px;
  scrollbar-width: thin;
}
.week-overview-grid {
  min-width: 940px;
  display: grid;
  grid-template-columns: 92px repeat(7, minmax(118px, 1fr));
  gap: 7px;
  align-items: stretch;
}
.overview-corner,
.overview-day-head,
.overview-meal-label,
.overview-cell {
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface);
}
.overview-corner {
  display: flex;
  align-items: center;
  padding: 11px;
  color: var(--text-3);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.overview-day-head {
  min-height: 58px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  color: var(--text-2);
  cursor: pointer;
}
.overview-day-head span { font-size: 10px; font-weight: 700; text-transform: uppercase; }
.overview-day-head strong { color: var(--text); font-size: 16px; }
.overview-day-head.active { border-color: #a9d5ca; background: var(--primary-soft); }
.overview-meal-label {
  min-height: 108px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 8px;
  padding: 11px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  box-shadow: 5px 0 12px rgba(28,45,40,.04);
}
.overview-cell {
  min-height: 108px;
  padding: 7px;
}
.overview-empty {
  width: 100%;
  height: 100%;
  min-height: 92px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px dashed #cbdad5;
  border-radius: 11px;
  background: var(--bg);
  color: var(--text-3);
  font-size: 10px;
  cursor: pointer;
}
.overview-empty svg { width: 18px; height: 18px; }
.overview-recipe {
  position: relative;
  height: 100%;
  min-height: 92px;
  padding: 7px;
  border-radius: 11px;
  background: var(--bg);
  cursor: pointer;
}
.overview-thumb {
  width: 100%;
  height: 48px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 9px;
  background: var(--surface-strong);
}
.overview-thumb img { width: 100%; height: 100%; object-fit: cover; }
.overview-thumb svg { width: 20px; height: 20px; color: var(--text-3); }
.overview-title {
  margin-top: 7px;
  padding-right: 20px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.overview-remove {
  position: absolute;
  right: 4px;
  bottom: 4px;
  width: 23px;
  height: 23px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 8px;
  background: rgba(255,255,255,.9);
  color: var(--text-3);
  cursor: pointer;
}
.overview-remove svg { width: 13px; height: 13px; }
.overview-hint {
  margin: 1px 2px 0;
  color: var(--text-3);
  font-size: 11px;
  line-height: 1.4;
}

@media (max-width: 430px) {
  .content { padding-left: 13px; padding-right: 13px; }
  .topbar { padding-left: 14px; padding-right: 14px; }
  .brand-title { font-size: 18px; }
  .quick-add { padding: 15px; gap: 9px; }
  .quick-copy { padding-right: 2px; }
  .quick-title { font-size: 15px; }
  .quick-text { font-size: 12px; }
  .quick-add .small-btn { flex: 0 0 auto; }
  .recipe-card { grid-template-columns: 94px minmax(0, 1fr); }
  .card-media { min-height: 132px; }
  .card-body { padding: 12px 11px 11px; }
  .card-title { font-size: 15px; }
  .detail-actions { grid-template-columns: 1fr; }
  .detail-actions .primary-btn,
  .detail-actions .secondary-btn { width: 100%; }
  .setting-title { font-size: 14px; }
  .setting-sub { font-size: 11px; }
  .profile-card { align-items: flex-start; }
}


/* v0.3.0: alle Titel-Text-Kombinationen sauber blockweise darstellen */
.add-option { display: flex; flex-direction: column; align-items: flex-start; }
.option-title, .option-text,
.setting-title, .setting-sub,
.profile-title, .profile-sub,
.picker-title, .picker-meta,
.planned-title, .planned-meta,
.sheet-title, .sheet-sub {
  display: block;
  width: 100%;
  min-width: 0;
}
.option-title { line-height: 1.25; }
.option-text { margin-top: 7px; line-height: 1.45; overflow-wrap: anywhere; }
.setting-copy, .profile-copy, .picker-copy, .planned-copy, .sheet-head > div { min-width: 0; }
.setting-title + .setting-sub,
.profile-title + .profile-sub,
.picker-title + .picker-meta,
.planned-title + .planned-meta { margin-top: 5px; }
.week-overview-grid { scroll-snap-type: x proximity; }
.overview-day-head, .overview-cell { scroll-snap-align: start; }
.overview-corner, .overview-meal-label { position: static; box-shadow: none; }

@media (max-width: 430px) {
  .add-option { min-height: 142px; padding: 14px; }
  .option-title { font-size: 15px; }
  .option-text { font-size: 12px; }
}

.detail-footer-actions { display: grid; grid-template-columns: 1.35fr 1fr; gap: 9px; }
.detail-footer-actions > button { width: 100%; }
@media (max-width: 430px) { .detail-footer-actions { grid-template-columns: 1fr; } }

/* ===== SOURCE: backend.css ===== */
.auth-shell,.setup-shell{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:linear-gradient(145deg,var(--bg),#edf7f3)}
.auth-card,.setup-card{width:min(430px,100%);padding:24px;border:1px solid var(--border);border-radius:28px;background:var(--surface);box-shadow:var(--shadow-md)}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.auth-logo{width:50px;height:50px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,var(--primary),#3e9f8e);color:#fff}.auth-logo svg{width:28px;height:28px}.auth-title{margin:0;font-size:25px;letter-spacing:-.04em}.auth-sub{margin:5px 0 0;color:var(--text-2);font-size:13px;line-height:1.45}.auth-error{margin-bottom:14px;padding:12px 14px;border-radius:13px;background:var(--danger-soft);color:var(--danger);font-size:12px;line-height:1.4}.auth-actions{display:grid;gap:10px;margin-top:16px}.auth-help{margin-top:16px;text-align:center;color:var(--text-3);font-size:11px;line-height:1.45}.auth-help a{color:var(--primary);font-weight:700}.sync-state{display:inline-flex;align-items:center;gap:6px;color:var(--text-3);font-size:10px}.sync-dot{width:7px;height:7px;border-radius:50%;background:#94a3b8}.sync-state.online .sync-dot{background:#10b981}.sync-state.syncing .sync-dot{background:#d6a635;animation:pulse 1s infinite}.sync-state.offline .sync-dot{background:#dc5264}.account-row{margin-top:11px}.account-row .setting-title{color:var(--danger)}@keyframes pulse{50%{opacity:.35}}

/* ===== SOURCE: features.css ===== */
/* Rezeptnest v0.4.0 – PWA, Passkeys, Profilfarben und Medien */
:root {
  --primary: #2f9e8f;
  --primary-2: #23796f;
  --primary-soft: #def4ef;
  --surface-soft: #eef7f4;
  --surface-strong: #dcefe9;
  --bg: #f7faf9;
  --border: #d8e7e2;
}

html, body, #app, .app-shell, .detail-page,
.content, .sheet, .auth-card, .setup-card,
.recipe-card, .setting-row, .add-option, .source-link {
  max-width: 100%;
}

/* Sämtliche Titel-/Beschreibungspaare sicher untereinander darstellen. */
.add-option,
.setting-copy,
.profile-copy,
.picker-copy,
.planned-copy,
.source-link-copy,
.sheet-head > div,
.auth-brand > div,
.v4-feature-copy,
.v4-install-copy,
.v4-tag-copy,
.v4-media-copy {
  min-width: 0;
}

.option-title,
.option-text,
.setting-title,
.setting-sub,
.profile-title,
.profile-sub,
.picker-title,
.picker-meta,
.planned-title,
.planned-meta,
.source-link-title,
.source-link-url,
.sheet-title,
.sheet-sub,
.auth-title,
.auth-sub,
.v4-feature-title,
.v4-feature-sub,
.v4-install-title,
.v4-install-text {
  display: block !important;
  width: 100%;
  min-width: 0;
  float: none !important;
  clear: both;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

.option-title + .option-text,
.setting-title + .setting-sub,
.profile-title + .profile-sub,
.picker-title + .picker-meta,
.planned-title + .planned-meta,
.v4-feature-title + .v4-feature-sub,
.v4-install-title + .v4-install-text {
  margin-top: 6px;
}

.add-option {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
}

.add-option .option-icon { flex: 0 0 auto; }
.add-option .option-title { line-height: 1.25; }
.add-option .option-text { line-height: 1.45; }

/* Freundlicher Standardakzent */
.brand-mark,
.auth-logo { background: linear-gradient(145deg, var(--primary), color-mix(in srgb, var(--primary) 72%, white)); }
.primary-btn, .fab { background: var(--primary); }
.primary-btn:hover { background: var(--primary-2); }

/* Installationsbanner */
.v4-install-banner {
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin: 0 0 16px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--primary) 28%, var(--border));
  border-radius: 19px;
  background: linear-gradient(135deg, var(--primary-soft), #ffffff 75%);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.v4-install-banner::after {
  content: '';
  position: absolute;
  width: 95px;
  height: 95px;
  right: -48px;
  top: -52px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--primary) 8%, transparent);
  pointer-events: none;
}
.v4-install-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: var(--primary);
  color: white;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--primary) 27%, transparent);
}
.v4-install-icon svg { width: 22px; height: 22px; }
.v4-install-title { color: var(--text); font-size: 14px; font-weight: 700; line-height: 1.2; }
.v4-install-text { color: var(--text-2); font-size: 11px; line-height: 1.35; }
.v4-install-actions { position: relative; z-index: 1; display: flex; align-items: center; gap: 5px; }
.v4-install-button {
  min-height: 38px;
  padding: 0 12px;
  border: 0;
  border-radius: 12px;
  background: var(--primary);
  color: white;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.v4-install-dismiss {
  width: 35px;
  height: 35px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 11px;
  background: rgba(255,255,255,.72);
  color: var(--text-3);
  cursor: pointer;
}
.v4-install-dismiss svg { width: 17px; height: 17px; }
.auth-card .v4-install-banner { margin: 0 0 18px; grid-template-columns: 40px minmax(0,1fr); }
.auth-card .v4-install-actions { grid-column: 1 / -1; }

/* Login mit Passkey */
.v4-auth-divider {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 18px 0 13px;
  color: var(--text-3);
  font-size: 11px;
  font-weight: 600;
}
.v4-auth-divider::before,
.v4-auth-divider::after { content: ''; flex: 1; height: 1px; background: var(--border); }
.v4-passkey-login {
  width: 100%;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid color-mix(in srgb, var(--primary) 32%, var(--border));
  border-radius: 14px;
  background: var(--primary-soft);
  color: var(--primary-2);
  font-weight: 700;
  cursor: pointer;
}
.v4-passkey-login svg { width: 21px; height: 21px; }
.v4-inline-message {
  margin-top: 12px;
  padding: 11px 13px;
  border-radius: 12px;
  font-size: 12px;
  line-height: 1.4;
}
.v4-inline-message.info { background: var(--primary-soft); color: var(--primary-2); }
.v4-inline-message.error { background: var(--danger-soft); color: var(--danger); }
.v4-inline-message.success { background: #e4f6ec; color: #167347; }

/* Einstellungsbereiche */
.v4-section-label {
  margin: 14px 3px 7px;
  color: var(--text-3);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.v4-setting-badge {
  margin-left: auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--primary-soft);
  color: var(--primary-2);
  font-size: 9px;
  font-weight: 700;
  white-space: nowrap;
}
.v4-setting-badge.muted { background: #edf0f2; color: var(--text-2); }
.setting-row[data-v4-action] { position: relative; }

/* Eigene Bottom-Sheet-Inhalte */
.v4-sheet-lead { margin: 0 0 15px; color: var(--text-2); font-size: 13px; line-height: 1.45; }
.v4-feature-list { display: grid; gap: 9px; }
.v4-feature-row {
  width: 100%;
  min-height: 64px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 11px 12px;
  border: 1px solid var(--border);
  border-radius: 15px;
  background: var(--surface);
  text-align: left;
  cursor: pointer;
}
.v4-feature-icon {
  width: 39px;
  height: 39px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: var(--primary-soft);
  color: var(--primary);
  flex: 0 0 auto;
}
.v4-feature-icon svg { width: 20px; height: 20px; }
.v4-feature-copy { flex: 1; }
.v4-feature-title { font-size: 13px; font-weight: 700; line-height: 1.25; }
.v4-feature-sub { color: var(--text-3); font-size: 11px; line-height: 1.4; }

/* Akzentfarben */
.v4-palette { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
.v4-color-option {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 9px 11px;
  border: 1px solid var(--border);
  border-radius: 15px;
  background: var(--surface);
  color: var(--text);
  font-weight: 700;
  cursor: pointer;
}
.v4-color-option.active { border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft); }
.v4-color-swatch { width: 28px; height: 28px; border-radius: 10px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); flex: 0 0 auto; }
.v4-density { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
.v4-density button { min-height: 43px; border: 1px solid var(--border); border-radius: 13px; background: var(--surface); font-weight: 700; cursor: pointer; }
.v4-density button.active { background: var(--primary-soft); color: var(--primary-2); border-color: color-mix(in srgb, var(--primary) 35%, var(--border)); }
body[data-card-density="compact"] .recipe-grid { gap: 8px; }
body[data-card-density="compact"] .recipe-card { min-height: 112px; }
body[data-card-density="compact"] .card-media { min-height: 112px; }
body[data-card-density="compact"] .card-body { padding-top: 10px; padding-bottom: 9px; }

/* Tags */
.v4-tag-list { display: grid; gap: 8px; }
.v4-tag-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto auto;
  align-items: center;
  gap: 7px;
  padding: 9px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface);
}
.v4-tag-name { min-width: 0; font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }
.v4-tag-count { color: var(--text-3); font-size: 10px; }
.v4-tag-button { width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 10px; background: var(--bg); color: var(--text-2); cursor: pointer; }
.v4-tag-button.danger { background: var(--danger-soft); color: var(--danger); }
.v4-tag-button svg { width: 17px; height: 17px; }

/* Upload */
.v4-upload-zone {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 150px;
  padding: 20px;
  border: 1.5px dashed color-mix(in srgb, var(--primary) 42%, var(--border));
  border-radius: 19px;
  background: linear-gradient(135deg, var(--primary-soft), rgba(255,255,255,.76));
  text-align: center;
  cursor: pointer;
}
.v4-upload-zone input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.v4-upload-zone svg { width: 34px; height: 34px; margin-bottom: 9px; color: var(--primary); }
.v4-upload-title { font-size: 15px; font-weight: 700; }
.v4-upload-sub { margin-top: 5px; color: var(--text-2); font-size: 11px; line-height: 1.4; }
.v4-file-name { margin-top: 9px; color: var(--primary-2); font-size: 12px; font-weight: 700; overflow-wrap: anywhere; }
.v4-upload-progress { display: none; height: 7px; overflow: hidden; border-radius: 99px; background: #e4ece9; }
.v4-upload-progress.active { display: block; }
.v4-upload-progress span { display: block; width: 45%; height: 100%; border-radius: inherit; background: var(--primary); animation: v4upload 1.15s ease-in-out infinite alternate; }
@keyframes v4upload { from { transform: translateX(-60%); } to { transform: translateX(160%); } }

/* Medien in Rezeptdetails */
.v4-media-section video,
.v4-media-section img { width: 100%; max-height: 460px; border-radius: 15px; object-fit: contain; background: #101719; }
.v4-media-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-bottom: 13px; }
.v4-media-actions button { width: 100%; }

/* Installationsanleitung */
.v4-install-steps { counter-reset: step; display: grid; gap: 10px; margin: 15px 0 0; }
.v4-install-step { position: relative; min-height: 46px; padding: 11px 12px 11px 48px; border-radius: 14px; background: var(--bg); color: var(--text-2); font-size: 12px; line-height: 1.45; }
.v4-install-step::before { counter-increment: step; content: counter(step); position: absolute; left: 12px; top: 10px; width: 27px; height: 27px; display: grid; place-items: center; border-radius: 9px; background: var(--primary-soft); color: var(--primary-2); font-weight: 700; }

/* Passkey-Hinweis */
.v4-passkey-state { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; padding: 13px; border-radius: 15px; background: var(--primary-soft); color: var(--primary-2); }
.v4-passkey-state svg { width: 23px; height: 23px; flex: 0 0 auto; }
.v4-passkey-state strong, .v4-passkey-state span { display: block; }
.v4-passkey-state span { margin-top: 3px; font-size: 11px; line-height: 1.35; }

/* Wochenansicht: keine feste Mahlzeitenspalte, maximaler Platz für Tage. */
.week-overview-grid {
  min-width: 830px !important;
  grid-template-columns: repeat(7, minmax(112px, 1fr)) !important;
}
.overview-corner,
.overview-meal-label { display: none !important; }

@media (max-width: 540px) {
  .v4-install-banner { grid-template-columns: 40px minmax(0,1fr); }
  .v4-install-actions { grid-column: 1 / -1; justify-content: flex-end; }
  .v4-install-button { flex: 1; }
  .v4-palette { grid-template-columns: 1fr 1fr; }
  .v4-media-actions { grid-template-columns: 1fr; }
  .v4-tag-row { grid-template-columns: minmax(0,1fr) auto auto; }
}

/* ===== SOURCE: v0.5.css ===== */
/* Rezeptnest v0.5.0 */

.v5-recipe-tabs {
  display: flex;
  gap: 7px;
  margin: 0 0 15px;
  padding: 2px 1px 7px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
.v5-recipe-tabs::-webkit-scrollbar { display: none; }
.v5-recipe-tabs button {
  flex: 0 0 auto;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface);
  color: var(--text-2);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.v5-recipe-tabs button.active {
  border-color: color-mix(in srgb, var(--primary) 32%, var(--border));
  background: var(--primary-soft);
  color: var(--primary-2);
  box-shadow: 0 5px 13px color-mix(in srgb, var(--primary) 13%, transparent);
}

.v5-ai-card-action { background: var(--lavender-soft); color: var(--lavender); }
.v5-ai-card-action svg { width: 16px; height: 16px; }

.v5-ai-prep {
  display: grid;
  grid-template-columns: 45px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  margin-bottom: 13px;
  padding: 13px;
  border: 1px solid color-mix(in srgb, var(--primary) 25%, var(--border));
  border-radius: var(--radius);
  background: linear-gradient(135deg, var(--primary-soft), color-mix(in srgb, var(--lavender-soft) 45%, white));
}
.v5-ai-prep-icon {
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  color: var(--primary);
}
.v5-ai-prep-icon svg { width: 22px; height: 22px; }
.v5-ai-prep-copy { display: flex; flex-direction: column; min-width: 0; }
.v5-ai-prep-copy strong { font-size: 14px; line-height: 1.25; }
.v5-ai-prep-copy span { margin-top: 4px; color: var(--text-2); font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }

.v5-ai-state,
.v5-import-summary,
.v5-ai-info,
.v5-warning-box {
  margin-bottom: 14px;
  border-radius: 15px;
}
.v5-ai-state {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text-2);
}
.v5-ai-state.active { border-color: color-mix(in srgb, var(--primary) 34%, var(--border)); background: var(--primary-soft); color: var(--primary-2); }
.v5-ai-state > svg { width: 24px; height: 24px; flex: 0 0 auto; }
.v5-ai-state > div { display: flex; flex-direction: column; min-width: 0; }
.v5-ai-state strong { color: var(--text); font-size: 14px; }
.v5-ai-state span { margin-top: 4px; font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
.field small { color: var(--text-3); font-size: 10px; line-height: 1.4; }

.v5-import-summary {
  display: flex;
  flex-direction: column;
  padding: 14px;
  background: var(--surface-soft);
  border: 1px solid color-mix(in srgb, var(--primary) 18%, var(--border));
}
.v5-import-summary strong { font-size: 15px; line-height: 1.3; }
.v5-import-summary span { margin-top: 5px; color: var(--text-2); font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.v5-ai-info {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 12px;
  background: var(--yellow-soft);
  color: #76570f;
  font-size: 11px;
  line-height: 1.45;
}
.v5-ai-info svg { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 1px; }

.v5-result-head h3 { margin: 8px 0 5px; font-size: 21px; line-height: 1.15; letter-spacing: -.03em; }
.v5-result-head p { margin: 0 0 14px; color: var(--text-2); font-size: 12px; line-height: 1.5; }
.v5-confidence {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--yellow-soft);
  color: #76570f;
  font-size: 10px;
  font-weight: 700;
}
.v5-confidence.high { background: var(--primary-soft); color: var(--primary-2); }
.v5-confidence.low { background: var(--danger-soft); color: var(--danger); }
.v5-warning-box {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 13px;
  border: 1px solid #ecd38b;
  background: var(--yellow-soft);
  color: #76570f;
}
.v5-warning-box > svg { width: 20px; height: 20px; flex: 0 0 auto; }
.v5-warning-box > div { display: flex; flex-direction: column; min-width: 0; }
.v5-warning-box strong { margin-bottom: 4px; font-size: 12px; }
.v5-warning-box span { font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
.v5-warning-box span + span { margin-top: 4px; }
.v5-result-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin-bottom: 14px; }
.v5-result-meta span { padding: 10px 7px; border: 1px solid var(--border); border-radius: 12px; background: var(--bg); text-align: center; color: var(--text-2); font-size: 10px; font-weight: 700; }
.v5-result-section { margin-bottom: 13px; padding: 14px; border: 1px solid var(--border); border-radius: 15px; background: var(--bg); }
.v5-result-section h4 { margin: 0 0 9px; font-size: 14px; }
.v5-result-section ul,
.v5-result-section ol { margin: 0; padding-left: 19px; display: grid; gap: 7px; }
.v5-result-section li,
.v5-result-section p { margin: 0; color: var(--text-2); font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }

@media (max-width: 430px) {
  .v5-ai-prep { grid-template-columns: 42px minmax(0, 1fr); }
  .v5-ai-prep .primary-btn { grid-column: 1 / -1; width: 100%; }
  .v5-result-meta { grid-template-columns: 1fr 1fr 1fr; }
}


/* Rezeptnest v0.5.1 */
.v51-sort-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 14px;
}
.v51-sort-label {
  color: var(--text-2);
  font-size: 11px;
  font-weight: 700;
  flex: 0 0 auto;
}
.v51-sort-select {
  flex: 1 1 auto;
  min-width: 0;
  height: 42px;
  padding: 0 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface);
  color: var(--text);
  font: inherit;
}
.v5-result-meta span.estimated {
  border-color: color-mix(in srgb, var(--primary) 32%, var(--border));
  background: var(--primary-soft);
  color: var(--primary-2);
}
.v51-estimated-tag,
.v51-section-estimated {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 6px;
  padding: 3px 7px;
  border-radius: 999px;
  background: var(--primary-soft);
  color: var(--primary-2);
  font-size: 10px;
  font-weight: 700;
  vertical-align: middle;
}
.v5-result-meta .v51-estimated-tag {
  display: block;
  width: fit-content;
  margin: 6px auto 0;
}
.v51-estimated-box {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  margin-bottom: 14px;
  padding: 13px;
  border: 1px solid #ecd38b;
  border-radius: 16px;
  background: var(--yellow-soft);
  color: #76570f;
}
.v51-estimated-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(255,255,255,.72);
}
.v51-estimated-icon svg { width: 20px; height: 20px; }
.v51-estimated-copy { display: flex; flex-direction: column; min-width: 0; }
.v51-estimated-copy strong { font-size: 13px; }
.v51-estimated-copy span { margin-top: 4px; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.week-overview-grid .overview-meal-label-scroll {
  position: static;
}
@media (max-width: 430px) {
  .v51-sort-row { flex-direction: column; align-items: stretch; }
}


/* Rezeptnest v0.5.3 */

/* Sammel-Tabs: der längere mittlere Eintrag erhält bewusst mehr Platz. */
.segmented {
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.34fr) minmax(0, .88fr);
}
.segmented button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 0;
  padding-left: 6px;
  padding-right: 6px;
  white-space: nowrap;
}
.segmented .count-pill {
  flex: 0 0 auto;
  margin-left: 0;
}

/* Übersichtskarten bewusst kompakt: Kommentar bleibt in der Detailansicht erhalten. */
.recipe-card .card-note { display: none; }
.recipe-card {
  min-height: 112px;
  grid-template-columns: 96px minmax(0, 1fr);
}
.recipe-card .card-media { min-height: 112px; }
.recipe-card .card-body { padding-top: 12px; padding-bottom: 11px; }
.recipe-card .card-footer { margin-top: 10px; }

/* v0.4 hatte die Mahlzeitenspalte per !important ausgeblendet. Jetzt ist sie
   wieder Teil derselben horizontal scrollenden Grid-Fläche – nicht sticky. */
.week-overview-grid {
  min-width: 930px !important;
  grid-template-columns: 92px repeat(7, minmax(112px, 1fr)) !important;
}
.week-overview-grid .overview-corner {
  display: flex !important;
  position: static !important;
}
.week-overview-grid .overview-meal-label,
.week-overview-grid .overview-meal-label-scroll {
  display: flex !important;
  position: static !important;
  box-shadow: none;
}

@media (max-width: 390px) {
  .segmented button { font-size: 12px; }
  .recipe-card { grid-template-columns: 90px minmax(0, 1fr); }
}


/* Rezeptnest v0.5.4 */
.v54-video-analyze {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin: 0 0 14px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--primary) 24%, var(--border));
  border-radius: 17px;
  background: linear-gradient(135deg, var(--primary-soft), color-mix(in srgb, var(--lavender-soft) 48%, white));
}
.v54-video-analyze-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: rgba(255,255,255,.82);
  color: var(--primary);
}
.v54-video-analyze-icon svg { width: 22px; height: 22px; }
.v54-video-analyze-copy { display: flex; flex-direction: column; min-width: 0; }
.v54-video-analyze-copy strong { font-size: 14px; line-height: 1.25; }
.v54-video-analyze-copy span { margin-top: 4px; color: var(--text-2); font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.v54-video-progress { padding: 22px 8px 30px; text-align: center; }
.v54-video-progress h2 { margin: 16px 0 8px; font-size: 22px; }
.v54-video-progress p { max-width: 430px; margin: 0 auto; color: var(--text-2); font-size: 12px; line-height: 1.55; }
.v54-spinner {
  width: 52px;
  height: 52px;
  margin: 0 auto;
  border: 5px solid var(--primary-soft);
  border-top-color: var(--primary);
  border-radius: 50%;
  animation: v54-spin .9s linear infinite;
}
@keyframes v54-spin { to { transform: rotate(360deg); } }
.v54-video-result-info {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 12px;
  padding: 11px 12px;
  border-radius: 13px;
  background: var(--primary-soft);
  color: var(--primary-2);
  font-size: 11px;
  font-weight: 700;
}
.v54-video-result-info svg { width: 18px; height: 18px; flex: 0 0 auto; }
.v54-cover-preview {
  position: relative;
  overflow: hidden;
  margin-bottom: 14px;
  border-radius: 16px;
  background: var(--bg);
}
.v54-cover-preview img { width: 100%; max-height: 260px; display: block; object-fit: cover; }
.v54-cover-preview span {
  position: absolute;
  left: 10px;
  bottom: 10px;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(20,32,43,.78);
  color: white;
  font-size: 10px;
  font-weight: 700;
}
@media (max-width: 430px) {
  .v54-video-analyze { grid-template-columns: 42px minmax(0, 1fr); }
  .v54-video-analyze .primary-btn { grid-column: 1 / -1; width: 100%; }
}


/* Rezeptnest v0.6.0 */
textarea {
  min-height: 132px;
  resize: vertical;
  padding-top: 14px;
  padding-bottom: 14px;
}
.recipe-card.v60-card {
  min-height: 0;
}
.recipe-card.v60-card .v60-media {
  width: 112px;
  min-width: 112px;
  height: 152px;
  overflow: hidden;
  border-radius: 22px;
  position: relative;
}
.recipe-card.v60-card .v60-media img,
.recipe-card.v60-card .v60-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.v60-media-placeholder {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  opacity: .92;
}
.v60-media-placeholder svg { width: 36px; height: 36px; }
.v60-mini-badge {
  position: absolute;
  right: 10px;
  bottom: 10px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(17,23,38,.72);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}
.v60-card-top { align-items: flex-start; gap: 10px; }
.card-actions-stack { display: flex; gap: 8px; align-items: center; }
.v60-card .card-body { justify-content: space-between; }
.v60-card .card-title {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.v60-card .card-footer { margin-top: auto; }
.v60-card .card-note { display:none !important; }
.v60-week-actions {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin: 4px 0 12px;
}
.v60-box-actions, .v60-attach-actions {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.v60-detail-box {
  margin-bottom: 16px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--surface);
}
.v60-box-copy { display:flex; flex-direction:column; gap:4px; margin-bottom:12px; }
.v60-box-copy span { color: var(--text-2); font-size: 12px; line-height: 1.45; }
.v60-media-section audio, .v60-media-section video { width: 100%; border-radius: 18px; background: #000; }
.v60-attach-actions { margin-top: 14px; }
@media (max-width: 380px) {
  .recipe-card.v60-card .v60-media { width: 98px; min-width: 98px; height: 142px; }
}


/* Rezeptnest v0.6.1 */
.v4-media-section,
.v54-video-analyze,
.v4-media-actions,
.v60-detail-box,
.v60-media-section,
.v60-attach-actions { display: none !important; }

.recipe-card.v61-card {
  grid-template-columns: 84px minmax(0, 1fr) !important;
  min-height: 112px !important;
  height: auto !important;
}
.recipe-card.v61-card .v61-card-media {
  width: 84px !important;
  min-width: 84px !important;
  min-height: 112px !important;
  height: 112px !important;
  border-radius: 20px 0 0 20px;
}
.recipe-card.v61-card .v61-card-media img {
  width: 100%; height: 100%; object-fit: cover; object-position: center; display: block;
}
.recipe-card.v61-card .card-body {
  min-height: 112px !important;
  padding: 10px 10px 9px !important;
}
.recipe-card.v61-card .card-title {
  font-size: 15px;
  line-height: 1.15;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.recipe-card.v61-card .v61-card-footer { margin-top: 7px !important; gap: 5px; }
.recipe-card.v61-card .chip { font-size: 10px; min-height: 28px; padding: 5px 8px; }
.recipe-card.v61-card .favorite-btn,
.recipe-card.v61-card .card-action-btn { width: 34px; height: 34px; }
.v61-media-fallback { display:grid; place-items:center; align-content:center; gap:5px; width:100%; height:100%; color:var(--primary-2); }
.v61-media-fallback svg { width:27px; height:27px; }
.v61-media-fallback span { font-size:10px; font-weight:700; }

.field textarea,
.form-grid textarea,
.sheet textarea {
  min-height: 168px !important;
  resize: vertical !important;
  padding-bottom: 32px !important;
  background-image: radial-gradient(circle, color-mix(in srgb, var(--primary) 70%, transparent) 1.6px, transparent 1.8px);
  background-size: 6px 6px;
  background-repeat: repeat;
  background-position: right 10px bottom 10px;
  background-origin: content-box;
}
textarea::-webkit-resizer {
  background: linear-gradient(135deg, transparent 45%, var(--primary) 46% 54%, transparent 55% 64%, var(--primary) 65% 73%, transparent 74%);
}

.v61-media-panel {
  margin-bottom: 14px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--surface);
}
.v61-media-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }
.v61-media-panel-head > div:first-child { display:flex; flex-direction:column; min-width:0; }
.v61-media-panel-head strong { font-size:15px; }
.v61-media-panel-head span { margin-top:4px; color:var(--text-2); font-size:11px; line-height:1.45; }
.v61-media-buttons { display:flex; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
.v61-media-panel img,
.v61-media-panel video { width:100%; max-height:420px; object-fit:contain; border-radius:14px; background:#10151d; }
.v61-media-panel audio { width:100%; }
.v61-media-panel.media-error::after { content:'Datei konnte nicht geladen werden. Bitte erneut hochladen oder das Update über update.php anwenden.'; display:block; padding:14px; border-radius:12px; background:var(--danger-soft); color:var(--danger); font-size:12px; }
.v61-attach-row { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:14px; }
.v61-attach-row .secondary-btn { min-width:0; padding-left:8px; padding-right:8px; }

.week-copy-icon { width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--border); border-radius:13px; background:var(--surface); color:var(--text-2); }
.week-copy-icon svg { width:19px; height:19px; }

.v61-update-banner {
  display:grid; grid-template-columns:42px minmax(0,1fr) auto 32px; align-items:center; gap:10px;
  margin:0 0 14px; padding:12px; border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));
  border-radius:18px; background:linear-gradient(135deg,var(--primary-soft),#fff); box-shadow:var(--shadow-sm);
}
.v61-update-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:#fff; color:var(--primary); }
.v61-update-copy { display:flex; flex-direction:column; min-width:0; }
.v61-update-copy strong { font-size:13px; }
.v61-update-copy span { margin-top:3px; color:var(--text-2); font-size:11px; line-height:1.4; }
.v61-update-dismiss { width:32px; height:32px; display:grid; place-items:center; border:0; background:transparent; color:var(--text-3); }

@media (max-width: 430px) {
  .v61-media-panel-head { flex-direction:column; }
  .v61-media-buttons { justify-content:flex-start; }
  .v61-update-banner { grid-template-columns:42px minmax(0,1fr) 32px; }
  .v61-update-banner .primary-btn { grid-column:1/-1; width:100%; }
}
@media (max-width: 370px) {
  .recipe-card.v61-card { grid-template-columns:76px minmax(0,1fr) !important; }
  .recipe-card.v61-card .v61-card-media { width:76px !important; min-width:76px !important; }
  .v61-attach-row { grid-template-columns:1fr; }
}


/* Rezeptnest v0.6.2 */
.field textarea,
.form-grid textarea,
.sheet textarea,
textarea[data-v62-resizable] {
  min-height: 150px !important;
  height: 150px;
  resize: none !important;
  padding: 14px 48px 14px 14px !important;
  background-image: none !important;
  background-color: var(--surface) !important;
  background-size: auto !important;
}
textarea::-webkit-resizer { background: transparent !important; }
.v62-textarea-wrap { position: relative; width: 100%; }
.v62-textarea-wrap > textarea { width: 100%; display: block; }
.v62-resize-grip {
  position: absolute;
  right: 4px;
  bottom: 4px;
  z-index: 4;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 12px;
  background: color-mix(in srgb, var(--primary-soft) 82%, white);
  touch-action: none;
  cursor: ns-resize;
  display: grid;
  align-content: center;
  justify-content: center;
  gap: 3px;
}
.v62-resize-grip span { display:block; width:20px; height:2px; border-radius:2px; background:var(--primary-2); opacity:.72; }
.v62-resize-grip span:first-child { width:10px; justify-self:end; }
.v62-resize-grip span:nth-child(2) { width:15px; justify-self:end; }
body.v62-resizing { user-select:none; overflow:hidden; }

.v62-copy-sheet { overflow: hidden; }
.v62-copy-options { display:grid; gap:10px; width:100%; }
.v62-copy-option {
  width:100%; min-width:0; min-height:76px; padding:12px;
  display:grid; grid-template-columns:44px minmax(0,1fr); align-items:center; gap:12px;
  border:1px solid var(--border); border-radius:17px; background:var(--surface); color:var(--text); text-align:left;
}
.v62-copy-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:13px; background:var(--primary-soft); color:var(--primary-2); }
.v62-copy-icon svg { width:21px; height:21px; }
.v62-copy-text { min-width:0; display:flex; flex-direction:column; gap:4px; }
.v62-copy-text strong { font-size:14px; line-height:1.25; overflow-wrap:anywhere; }
.v62-copy-text small { color:var(--text-2); font-size:11px; line-height:1.4; overflow-wrap:anywhere; }

.recipe-card.v61-card {
  grid-template-columns: 70px minmax(0,1fr) !important;
  height: 94px !important;
  min-height: 94px !important;
  overflow: hidden !important;
}
.recipe-card.v61-card .v61-card-media {
  width:70px !important; min-width:70px !important; height:94px !important; min-height:94px !important;
  border-radius:18px 0 0 18px !important;
}
.recipe-card.v61-card .card-body {
  min-height:94px !important; height:94px !important; padding:7px 8px 7px 9px !important; overflow:hidden;
}
.recipe-card.v61-card .card-top { gap:5px !important; }
.recipe-card.v61-card .card-title { font-size:14px !important; line-height:1.08 !important; -webkit-line-clamp:2 !important; }
.recipe-card.v61-card .favorite-btn,
.recipe-card.v61-card .card-action-btn { width:30px !important; height:30px !important; flex:0 0 30px; }
.recipe-card.v61-card .v61-card-footer { margin-top:3px !important; gap:4px !important; max-height:27px; overflow:hidden; }
.recipe-card.v61-card .chip { min-height:23px !important; height:23px !important; padding:3px 6px !important; font-size:9px !important; line-height:1 !important; }
.recipe-card.v61-card .chip svg { width:12px !important; height:12px !important; }
.recipe-card.v61-card .rating-inline { font-size:10px; }
.recipe-card.v61-card .source-dot { max-width:62px; padding:4px 6px; font-size:8px; gap:3px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.recipe-card.v61-card .source-dot svg { width:11px; height:11px; flex:0 0 11px; }
.v61-media-fallback svg { width:22px; height:22px; }
.v61-media-fallback span { font-size:8px; }

@media (max-width:370px) {
  .recipe-card.v61-card { grid-template-columns:64px minmax(0,1fr) !important; }
  .recipe-card.v61-card .v61-card-media { width:64px !important; min-width:64px !important; }
}


/* Rezeptnest v0.6.3 */
.v62-resize-grip {
  width: 26px !important;
  height: 26px !important;
  right: 5px !important;
  bottom: 5px !important;
  border-radius: 8px !important;
  gap: 2px !important;
}
.v62-resize-grip span { width: 13px !important; height: 2px !important; }
.v62-resize-grip span:first-child { width: 7px !important; }
.v62-resize-grip span:nth-child(2) { width: 10px !important; }
.field textarea,
.form-grid textarea,
.sheet textarea,
textarea[data-v62-resizable] { padding-right: 36px !important; }

.recipe-card.v61-card {
  grid-template-columns: 84px minmax(0,1fr) !important;
  height: 94px !important;
  min-height: 94px !important;
}
.recipe-card.v61-card .v61-card-media {
  width: 84px !important;
  min-width: 84px !important;
  height: 94px !important;
  min-height: 94px !important;
}
.recipe-card.v61-card .card-body {
  height: 94px !important;
  min-height: 94px !important;
  padding: 7px 8px 6px 10px !important;
  justify-content: center !important;
}
.recipe-card.v61-card .card-title {
  font-size: 16px !important;
  line-height: 1.12 !important;
}
.recipe-card.v61-card .v61-card-footer {
  margin-top: 5px !important;
  max-height: 25px !important;
}
.recipe-card.v61-card .chip {
  min-height: 24px !important;
  height: 24px !important;
  padding: 3px 7px !important;
  font-size: 9.5px !important;
}
.recipe-card.v61-card .source-dot {
  max-width: 78px !important;
  left: 5px !important;
  right: 5px !important;
  width: auto !important;
  padding: 4px 6px !important;
  font-size: 8.5px !important;
}
@media (max-width:370px) {
  .recipe-card.v61-card { grid-template-columns: 80px minmax(0,1fr) !important; }
  .recipe-card.v61-card .v61-card-media { width:80px !important; min-width:80px !important; }
}

.v63-today-btn {
  width: auto !important;
  min-width: 0 !important;
  padding: 0 11px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--primary-2) !important;
  background: var(--primary-soft) !important;
}
.v63-upload-hint {
  margin: 2px 0 10px;
  padding: 11px 12px;
  border-radius: 13px;
  background: var(--primary-soft);
  color: var(--primary-2);
  font-size: 11px;
  line-height: 1.45;
}
.v63-upload-status {
  margin-top: 7px;
  color: var(--text-2);
  font-size: 11px;
  text-align: center;
}
.v4-upload-progress.active span { transition: width .18s linear; }


/* Rezeptnest v0.7.0 */
body[data-card-density="comfortable"] .recipe-card.v61-card{grid-template-columns:92px minmax(0,1fr)!important;height:108px!important;min-height:108px!important;}
body[data-card-density="comfortable"] .recipe-card.v61-card .v61-card-media{width:92px!important;min-width:92px!important;height:108px!important;min-height:108px!important;}
body[data-card-density="comfortable"] .recipe-card.v61-card .card-body{height:108px!important;min-height:108px!important;padding:10px 9px 7px 11px!important;justify-content:space-between!important;}
body[data-card-density="comfortable"] .recipe-card.v61-card .card-title{font-size:15px!important;line-height:1.12!important;-webkit-line-clamp:3!important;}
body[data-card-density="compact"] .recipe-grid{gap:8px!important;}
body[data-card-density="compact"] .recipe-card.v61-card{grid-template-columns:80px minmax(0,1fr)!important;height:90px!important;min-height:90px!important;}
body[data-card-density="compact"] .recipe-card.v61-card .v61-card-media{width:80px!important;min-width:80px!important;height:90px!important;min-height:90px!important;}
body[data-card-density="compact"] .recipe-card.v61-card .card-body{height:90px!important;min-height:90px!important;padding:6px 8px 5px 9px!important;}
body[data-card-density="compact"] .recipe-card.v61-card .card-title{font-size:13.5px!important;line-height:1.08!important;-webkit-line-clamp:2!important;}
body[data-card-density="compact"] .recipe-card.v61-card .chip{height:22px!important;min-height:22px!important;font-size:8.5px!important;}
.v70-bell{position:relative;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:13px;background:var(--surface-soft);color:var(--primary-2);}
.v70-bell svg{width:19px;height:19px}.v70-bell span{display:none;position:absolute;right:-3px;top:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:800;place-items:center}.v70-bell.has-count span{display:grid}
.v70-job-badge{border:0;border-radius:999px;padding:4px 7px;font-size:8.5px;font-weight:800;white-space:nowrap;background:var(--yellow-soft);color:#76570f}.v70-job-badge.processing{background:var(--primary-soft);color:var(--primary-2)}.v70-job-badge.completed{background:#e3f5e8;color:#27713b}.v70-job-badge.failed{background:var(--danger-soft);color:var(--danger)}
.v70-recorder{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;margin-bottom:16px;border:1px solid var(--border);border-radius:20px;background:var(--surface-soft)}.v70-mic{width:68px;height:68px;display:grid;place-items:center;border-radius:50%;background:var(--primary-soft);color:var(--primary-2)}.v70-mic svg{width:30px;height:30px}.v70-recorder.recording .v70-mic{animation:v70pulse 1.4s infinite;background:var(--danger-soft);color:var(--danger)}.v70-recorder span{font-variant-numeric:tabular-nums;color:var(--text-2)}@keyframes v70pulse{50%{box-shadow:0 0 0 12px color-mix(in srgb,var(--danger) 12%,transparent)}}
.v70-record-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v70-record-actions>*:only-child{grid-column:1/-1}.danger-record{background:var(--danger)!important}.v70-small-upload{display:block;margin:14px auto 0;border:0;background:transparent;color:var(--text-2);font-size:11px;text-decoration:underline}.v70-audio-preview{width:100%;margin-bottom:14px}
.v70-job-list{display:grid;gap:9px}.v70-job-row{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 20px;gap:10px;align-items:center;padding:11px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);text-align:left}.v70-job-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--primary-soft);color:var(--primary-2)}.v70-job-row>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.v70-job-row strong{font-size:13px}.v70-job-row small{margin-top:3px;color:var(--text-2);font-size:10px;line-height:1.35}.v70-job-row.failed .v70-job-icon{background:var(--danger-soft);color:var(--danger)}
.v70-toggle{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:start;margin-bottom:16px;padding:14px;border:1px solid var(--border);border-radius:17px;background:var(--surface)}.v70-toggle input{position:absolute;opacity:0}.v70-toggle>span{width:46px;height:26px;border-radius:999px;background:var(--border);position:relative}.v70-toggle>span:after{content:'';position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.v70-toggle input:checked+span{background:var(--primary)}.v70-toggle input:checked+span:after{transform:translateX(20px)}.v70-toggle>div{display:flex;flex-direction:column}.v70-toggle strong{font-size:13px}.v70-toggle small{margin-top:4px;color:var(--text-2);font-size:10px;line-height:1.4}.v70-cron-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.v70-cron-row input{min-width:0}
@media(max-width:400px){.v70-record-actions{grid-template-columns:1fr}.v70-record-actions>*{grid-column:auto!important}.v70-cron-row{grid-template-columns:1fr}.v70-cron-row .secondary-btn{width:100%}}


/* Rezeptnest v0.7.1 */
.v71-mic-status,.v71-mic-help{display:flex;align-items:flex-start;gap:11px;margin-bottom:14px;padding:13px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}
.v71-mic-status>svg,.v71-mic-help>svg,.v71-mic-help-head>svg{width:21px;height:21px;flex:0 0 auto;margin-top:1px}
.v71-mic-status>div,.v71-mic-help>div,.v71-mic-help-head>div{display:flex;flex-direction:column;min-width:0}
.v71-mic-status strong,.v71-mic-help strong{font-size:13px;color:var(--text)}
.v71-mic-status span,.v71-mic-help span{margin-top:3px;color:var(--text-2);font-size:11px;line-height:1.45}
.v71-mic-status.granted{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:var(--primary-soft);color:var(--primary-2)}
.v71-mic-status.prompt{background:var(--surface-soft);color:var(--primary-2)}
.v71-mic-help.denied{display:block;border-color:#e6c775;background:var(--yellow-soft);color:#76570f}
.v71-mic-help-head{display:flex;align-items:flex-start;gap:10px}
.v71-mic-help ol{margin:12px 0;padding-left:22px;color:#76570f;font-size:11px;line-height:1.5}
.v71-mic-help li+li{margin-top:4px}
.v71-mic-help .secondary-btn{width:100%;background:rgba(255,255,255,.7)}
.v70-record-actions button:disabled{opacity:.52;cursor:not-allowed;box-shadow:none}


/* Rezeptnest v0.7.2 */
.v70-bell svg{width:20px;height:20px;fill:none}
.v72-notification-section{margin-bottom:18px}
.v72-notification-section>h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;color:var(--text-2);font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.v72-notification-section>h3 span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--surface-strong);font-size:10px}
.v72-notification-section.read{padding-top:15px;border-top:1px solid var(--border)}
.v72-notification-row{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:6px;border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden}
.v72-notification-row.unread{border-color:color-mix(in srgb,var(--primary) 36%,var(--border));background:var(--primary-soft)}
.v72-notification-row.read{opacity:.7;background:var(--bg)}
.v72-notification-main{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:10px;align-items:center;padding:11px;border:0;background:transparent;color:var(--text);text-align:left}
.v72-notification-copy{display:flex;flex-direction:column;min-width:0}.v72-notification-copy strong{font-size:13px}.v72-notification-copy small{margin-top:3px;color:var(--text-2);font-size:10px;line-height:1.35}.v72-notification-copy em{margin-top:4px;color:var(--text-3);font-size:9px;font-style:normal}
.v72-unread-dot{width:9px;height:9px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 12%,transparent)}
.v72-notification-delete{align-self:stretch;display:grid;place-items:center;border:0;border-left:1px solid var(--border);background:transparent;color:var(--text-3)}.v72-notification-delete svg{width:18px;height:18px}.v72-notification-delete:active{background:var(--danger-soft);color:var(--danger)}
.v72-audio-meter{display:block;width:min(100%,360px);height:58px;margin-top:8px;border-radius:12px;background:color-mix(in srgb,var(--primary-soft) 55%,white);opacity:.45}.v72-audio-meter.active{opacity:1}
.v70-recorder{padding-bottom:16px}.v70-record-actions .ghost-btn{min-height:48px}
@media(max-width:400px){.v72-notification-row{grid-template-columns:minmax(0,1fr) 38px}.v72-notification-main{grid-template-columns:38px minmax(0,1fr) 14px;padding:10px}.v72-audio-meter{height:52px}}


/* Rezeptnest v0.7.3 */
.v73-notification-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.v73-notification-head h3{display:flex;align-items:center;gap:8px;margin:0;color:var(--text-2);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.v73-notification-head h3 span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--surface-strong);font-size:10px}.v73-clear-read{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--danger);font-size:10px;font-weight:700;padding:5px}.v73-clear-read svg{width:14px;height:14px}.v72-notification-row.applied .v70-job-icon{background:var(--primary-soft);color:var(--primary-2)}
.v73-mic-live{display:block;margin-top:3px;color:var(--text-2);font-size:10px;line-height:1.35;text-align:center}.v73-mic-live.signal{color:var(--primary-2);font-weight:700}.v73-mic-live.warning{color:#8a650f;font-weight:700}.v73-record-diagnostic{display:flex;align-items:flex-start;gap:9px;margin:-4px 0 14px;padding:11px 12px;border-radius:14px;background:var(--yellow-soft);color:#76570f;font-size:11px;line-height:1.4}.v73-record-diagnostic svg{width:18px;height:18px;flex:0 0 auto}.v73-native-recorder{width:100%;min-height:46px;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--primary-2);font-size:12px;font-weight:700}.v73-native-recorder svg{width:18px;height:18px}
@media(max-width:400px){.v73-notification-head{align-items:flex-start;flex-direction:column}.v73-clear-read{padding-left:0}}


/* Rezeptnest v0.7.4 */
.v74-mic-source{margin-bottom:14px}.v74-mic-source small{display:block;margin-top:5px;color:var(--text-3);font-size:10px;line-height:1.4}.v74-mic-single{display:flex;align-items:center;gap:9px;margin:0 0 14px;padding:11px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft);color:var(--text-2);font-size:11px}.v74-mic-single svg{width:18px;height:18px;color:var(--primary-2)}
.v74-audio-player{display:grid;grid-template-columns:42px 42px minmax(0,1fr) 42px;align-items:center;gap:8px;width:100%;margin:0 0 14px;padding:10px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.v74-audio-player audio{display:none}.v74-audio-toggle{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:13px;background:var(--primary);color:#fff}.v74-audio-toggle svg{width:19px;height:19px}.v74-audio-time{font-size:10px;font-variant-numeric:tabular-nums;color:var(--text-2);text-align:center}.v74-audio-range{width:100%;accent-color:var(--primary);min-width:0}
.v74-ai-state{position:absolute;left:8px;right:8px;bottom:7px;z-index:8;min-height:26px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:10px;background:rgba(23,32,51,.88);color:#fff;font-size:9px;font-weight:800;backdrop-filter:blur(5px)}.recipe-card.v74-ai-active{outline:2px solid color-mix(in srgb,var(--primary) 30%,transparent)}.v74-ai-spinner{display:inline-block;width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:v74spin .8s linear infinite}@keyframes v74spin{to{transform:rotate(360deg)}}.v74-ai-detail-active .v5-ai-prep-icon{display:grid;place-items:center}
.v74-lightbox{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:56px 18px 24px;background:rgba(7,12,20,.94)}.v74-lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:12px;box-shadow:0 18px 60px rgba(0,0,0,.45)}.v74-lightbox-close{position:absolute;right:18px;top:max(18px,env(safe-area-inset-top));width:46px;height:46px;display:grid;place-items:center;border:0;border-radius:15px;background:rgba(255,255,255,.14);color:#fff}.v74-lightbox-close svg{width:24px;height:24px}.detail-hero img[data-action="v74-lightbox"],.v61-media-panel img[data-action="v74-lightbox"]{cursor:zoom-in}
.v74-attach-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 14px}.v74-attach-row .secondary-btn{min-width:0;padding-left:8px;padding-right:8px}.v74-content-image img{cursor:zoom-in}
.v61-media-panel .v61-media-buttons:empty{display:none}.v61-media-panel-head{margin-bottom:10px}.v61-media-panel video{margin-top:4px}
.v5-ai-card-action svg,.v5-ai-prep-icon svg{stroke-width:1.9}
@media(max-width:380px){.v74-audio-player{grid-template-columns:38px 36px minmax(0,1fr) 36px;gap:5px;padding:8px}.v74-audio-toggle{width:38px;height:38px}.v74-attach-row{grid-template-columns:1fr 1fr}}

/* Rezeptnest v0.8.0 */
.v80-review-nutrition,.v80-nutrition-section{margin-bottom:14px}.v80-review-nutrition{padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.v80-review-head,.v80-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.v80-review-head h4,.v80-section-head h2{margin:0}.v80-review-head span,.v80-section-head>div>span{display:block;margin-top:3px;color:var(--text-2);font-size:11px}.v80-nutrition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v80-nutrition-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.v80-nutrition-card{min-width:0;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);display:flex;flex-direction:column;gap:3px}.v80-nutrition-card strong{font-size:15px;line-height:1.2}.v80-nutrition-card>span:last-child{color:var(--text-2);font-size:10px}.v80-nutrition-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--primary-soft);color:var(--primary-2);margin-bottom:3px}.v80-nutrition-icon svg{width:17px;height:17px}.v80-portion-button{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 22px;align-items:center;gap:10px;margin:0 0 14px;padding:12px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);text-align:left}.v80-portion-button>svg:first-child{width:22px;height:22px;color:var(--primary)}.v80-portion-button>svg:last-child{width:18px;height:18px;color:var(--text-3)}.v80-portion-button span{display:flex;flex-direction:column;min-width:0}.v80-portion-button strong{font-size:13px}.v80-portion-button small{margin-top:3px;color:var(--text-2);font-size:10px}.v80-ai-rerun{width:100%;margin:4px 0 14px}.v80-portion-current{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:12px 14px;border-radius:14px;background:var(--primary-soft);color:var(--primary-2)}.v80-stepper{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:9px;align-items:center;margin-bottom:14px}.v80-stepper button,.v80-stepper input{height:52px;border:1px solid var(--border);border-radius:15px;background:var(--surface);font:inherit;text-align:center}.v80-stepper button{font-size:26px;color:var(--primary-2)}.v80-stepper input{font-size:20px;font-weight:700}.v80-portion-preview{max-height:300px;overflow:auto;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--bg)}.v80-portion-preview strong{display:block;margin-bottom:9px}.v80-portion-preview ul{margin:0;padding-left:19px;display:grid;gap:7px}.v80-portion-preview li,.v80-portion-preview>span{color:var(--text-2);font-size:12px;line-height:1.4}.v80-portion-note{margin:12px 0;color:var(--text-2);font-size:11px;line-height:1.45}.v80-nutrition-edit{padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.v80-edit-title{display:flex;flex-direction:column;margin-bottom:12px}.v80-edit-title span{margin-top:3px;color:var(--text-2);font-size:11px}.v80-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v80-estimated-check{display:flex;align-items:center;gap:9px;margin-top:8px;color:var(--text-2);font-size:12px}.v80-estimated-check input{width:18px;height:18px}.v80-section-head>div{display:flex;flex-direction:column}
@media(max-width:430px){.v80-nutrition-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.v80-edit-grid{grid-template-columns:1fr 1fr}}


/* Rezeptnest v0.9.0 */
.week-overview-grid{min-width:1010px!important;grid-template-columns:102px repeat(7,minmax(116px,1fr))!important;}
.overview-meal-label .meal-icon.berry,.meal-icon.berry{background:var(--berry-soft);color:var(--berry);}
.v90-step-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.v90-step-head h2{margin:0}.v90-reset-steps{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--primary-2);font-size:10px;font-weight:700;padding:6px}.v90-reset-steps svg{width:14px;height:14px}
.steps.v90-cooking-steps{gap:10px}.steps.v90-cooking-steps li{display:block}.steps.v90-cooking-steps li button{width:100%;display:grid;grid-template-columns:32px minmax(0,1fr);gap:11px;align-items:flex-start;padding:10px 8px;border:0;border-radius:14px;background:transparent;color:var(--text-2);text-align:left}.steps.v90-cooking-steps li button:active{background:var(--surface-soft)}.steps.v90-cooking-steps .step-num{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--primary-soft);color:var(--primary-2);font-size:12px;font-weight:800}.steps.v90-cooking-steps .step-num svg{width:17px;height:17px}.v90-step-text{font-size:13px;line-height:1.52;padding-top:4px}.steps.v90-cooking-steps li.done .step-num{background:var(--primary);color:#fff}.steps.v90-cooking-steps li.done .v90-step-text{color:var(--text-3);text-decoration:line-through;text-decoration-thickness:1px}
.v90-cook-toolbar{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:80;width:min(calc(100% - 24px),520px);display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:7px;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border));border-radius:19px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 15px 38px rgba(23,32,51,.18);backdrop-filter:blur(16px)}.v90-cook-toolbar button{min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:7px;padding:8px;border:0;border-radius:13px;background:var(--surface-soft);color:var(--text);text-align:left}.v90-cook-toolbar button>svg{width:19px;height:19px;color:var(--primary-2);justify-self:center}.v90-cook-toolbar span{display:flex;flex-direction:column;min-width:0}.v90-cook-toolbar strong{font-size:11px;line-height:1.2}.v90-cook-toolbar small{margin-top:2px;color:var(--text-2);font-size:9px}.v90-detail-open .detail-content{padding-bottom:112px!important}.v90-sheet-ingredients{max-height:58vh;overflow:auto;padding-right:4px}.v90-sheet-ingredients li{padding:8px 0}
@media(max-width:390px){.week-overview-grid{min-width:980px!important;grid-template-columns:96px repeat(7,minmax(112px,1fr))!important}.v90-cook-toolbar{width:calc(100% - 16px);bottom:max(8px,env(safe-area-inset-bottom))}.v90-cook-toolbar button{padding:7px 6px}.v90-step-text{font-size:12.5px}}


/* Rezeptnest v0.9.1 – Zutatenfortschritt, freie Dialogaktionen und größere Fließtexte */
body.v91-sheet-open .v90-cook-toolbar{display:none!important}
.v91-ingredient-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.v91-ingredient-head h2{margin:0}.v91-ingredient-head button,.v91-ingredient-status button{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--primary-2);font-size:11px;font-weight:700;padding:6px}.v91-ingredient-head button svg,.v91-ingredient-status button svg{width:14px;height:14px}
.v91-checkable-ingredients{gap:8px}.v91-checkable-ingredients li{display:block;padding:0!important}.v91-checkable-ingredients li button{width:100%;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:flex-start;gap:11px;padding:9px 4px;border:0;border-radius:13px;background:transparent;color:var(--text-2);text-align:left}.v91-checkable-ingredients li button:active{background:var(--surface-soft)}.v91-checkable-ingredients .ingredient-check{width:25px;height:25px;margin:0;display:grid;place-items:center;border-radius:8px}.v91-checkable-ingredients .ingredient-check svg{width:16px;height:16px}.v91-checkable-ingredients li.done .ingredient-check{border-color:var(--primary);background:var(--primary);color:#fff}.v91-checkable-ingredients li.done .v91-ingredient-text{color:var(--text-3);text-decoration:line-through;text-decoration-thickness:1px}.v91-ingredient-text{padding-top:1px;font-size:15px;line-height:1.5}
.v91-ingredient-sheet{display:flex;flex-direction:column;max-height:min(84vh,760px);min-height:0}.v91-ingredient-status{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;padding:0 2px;color:var(--text-3);font-size:12px}.v91-ingredient-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 3px 12px}.v91-ingredient-actions{position:sticky;bottom:0;z-index:2;margin:0;padding:11px 0 max(2px,env(safe-area-inset-bottom));background:linear-gradient(to bottom,transparent 0,var(--surface) 16px,var(--surface) 100%)}
.detail-content .detail-section p,.detail-content .detail-note,.detail-content .v60-box-copy span,.detail-content .v61-media-panel-head span,.detail-content .v5-ai-prep-copy span{font-size:14.5px!important;line-height:1.55!important}.detail-content .ingredients li,.detail-content .steps li{font-size:15px!important;line-height:1.52!important}.v90-step-text{font-size:15px!important;line-height:1.55!important}.v91-ingredient-sheet .v91-ingredient-text{font-size:16px}.v91-ingredient-sheet .sheet-sub{font-size:14px;line-height:1.45}.detail-content .source-link-title{font-size:14px}.detail-content .source-link-url{font-size:12px;line-height:1.45}
@media(max-width:390px){.v90-step-text{font-size:14.5px!important}.v91-ingredient-text{font-size:14.5px}.v91-ingredient-sheet .v91-ingredient-text{font-size:15.5px}}


/* Rezeptnest v0.9.2 – freie Scroller und inkrementelle Checklisten */
.day-strip,.week-overview-scroll{
  scroll-behavior:auto!important;
  scroll-snap-type:none!important;
  overflow-anchor:none;
  overscroll-behavior-x:contain;
}
.v91-checkable-ingredients button,.v90-cooking-steps button{touch-action:manipulation}
.v91-ingredient-status button[hidden],.v91-ingredient-head button[hidden],.v90-step-head button[hidden]{display:none!important}


/* Rezeptnest v0.9.3 – Kamera und Mehrfachbilder */
.v93-image-source-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v93-image-source{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:128px;padding:15px;border:1px solid var(--border);border-radius:18px;background:var(--surface-soft);color:var(--text);text-align:center}.v93-image-source svg{width:30px;height:30px;color:var(--primary)}.v93-image-source strong{font-size:14px}.v93-image-source span{color:var(--text-2);font-size:11px;line-height:1.35}.v93-empty-images{display:flex;flex-direction:column;align-items:center;gap:7px;padding:22px 16px;border:1px dashed var(--border);border-radius:17px;background:var(--bg);text-align:center}.v93-empty-images svg{width:30px;height:30px;color:var(--text-3)}.v93-empty-images strong{font-size:13px}.v93-empty-images span{max-width:310px;color:var(--text-2);font-size:11px;line-height:1.4}.v93-image-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.v93-image-preview{position:relative;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.v93-image-preview img{width:100%;height:100%;object-fit:cover}.v93-image-preview>span{position:absolute;left:7px;bottom:7px;display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:rgba(23,32,51,.76);color:#fff;font-size:11px;font-weight:800}.v93-image-preview>button{position:absolute;right:6px;top:6px;display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:999px;background:rgba(23,32,51,.76);color:#fff}.v93-image-preview>button svg{width:15px;height:15px}.v93-image-form .v63-upload-status:empty{display:none}.v93-image-form .v63-upload-status{margin-top:-4px}.v93-camera-sheet{max-height:min(94vh,860px)}.v93-camera-wrap{display:flex;flex-direction:column;gap:12px}.v93-camera-stage{position:relative;overflow:hidden;aspect-ratio:3/4;border-radius:20px;background:#111}.v93-camera-stage video{width:100%;height:100%;object-fit:cover}.v93-camera-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:#111;color:#fff}.v93-camera-loading svg{width:34px;height:34px}.v93-camera-loading span{font-size:12px}.v93-camera-count{text-align:center;color:var(--text-2);font-size:12px}.v93-camera-actions{display:grid;grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);align-items:center;gap:10px}.v93-camera-actions button{min-height:48px}.v93-shutter{justify-self:center;width:66px;height:66px;padding:0;border:4px solid var(--surface);border-radius:999px;background:var(--primary);box-shadow:0 0 0 2px var(--primary)}.v93-shutter span{display:block;width:48px;height:48px;margin:auto;border:2px solid rgba(255,255,255,.8);border-radius:999px}.v93-camera-cancel{width:100%}.v93-source-panel{margin-bottom:14px;padding:14px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.v93-source-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.v93-source-head>div{display:flex;flex-direction:column}.v93-source-head strong{font-size:14px}.v93-source-head span{margin-top:4px;color:var(--text-2);font-size:12px;line-height:1.4}.v93-source-head .secondary-btn{flex:0 0 auto;padding:9px 11px}.v93-source-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.v93-source-item{min-width:0}.v93-source-image{position:relative;display:block;width:100%;padding:0;overflow:hidden;aspect-ratio:4/5;border:0;border-radius:13px;background:var(--surface-soft)}.v93-source-image img{width:100%;height:100%;object-fit:cover}.v93-source-image span{position:absolute;left:6px;bottom:6px;display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:rgba(23,32,51,.75);color:#fff;font-size:10px;font-weight:800}.v93-cover-choice{width:100%;margin-top:5px;padding:6px 4px;border:1px solid var(--border);border-radius:9px;background:var(--surface-soft);color:var(--text-2);font-size:9px;font-weight:700}.v93-cover-choice.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-2)}
@media(max-width:390px){.v93-image-source-grid{grid-template-columns:1fr 1fr}.v93-image-source{min-height:116px;padding:12px 8px}.v93-image-preview-grid,.v93-source-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.v93-camera-actions{grid-template-columns:1fr 62px 1fr;gap:7px}.v93-shutter{width:58px;height:58px}.v93-shutter span{width:42px;height:42px}.v93-camera-actions .secondary-btn,.v93-camera-actions .primary-btn{padding:8px;font-size:11px}}

/* Rezeptnest v0.9.4 – Eignung, Familienbewertungen und Filter */
.v94-filter-wrap{margin:10px 0 18px}.v94-quick-filters{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 7px;scrollbar-width:none}.v94-quick-filters::-webkit-scrollbar{display:none}.v94-filter-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:8px 12px;border:1px solid #dbe5e2;border-radius:999px;background:#fff;color:#53616b;font:inherit;font-size:13px;font-weight:650;white-space:nowrap}.v94-filter-chip svg{width:15px;height:15px}.v94-filter-chip.active{border-color:#2f9e8f;background:#e4f5f1;color:#1e776c}.v94-filter-chip b{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#2f9e8f;color:#fff;font-size:11px}.v94-clear-inline{margin:4px 2px 0;border:0;background:transparent;color:#77838a;font:inherit;font-size:12px;font-weight:650;text-decoration:underline;text-underline-offset:3px}.v94-card-badges{display:flex;gap:5px;overflow:hidden;margin:10px 0 2px}.v94-card-badge{display:inline-flex;align-items:center;gap:4px;min-width:0;padding:5px 7px;border-radius:9px;background:#edf7f4;color:#28766e;font-size:10px;font-weight:700;line-height:1;white-space:nowrap}.v94-card-badge.warning{background:#fff2e8;color:#a65b25}.v94-card-badge.more{background:#f1f4f4;color:#667279}.v94-edit-section{margin:4px 0 18px;padding:17px;border:1px solid #dbe7e4;border-radius:19px;background:#f8fbfa}.v94-edit-section.compact{margin-top:0;border:0;border-radius:0;background:transparent;padding:0}.v94-edit-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.v94-edit-head strong{display:block;font-size:17px}.v94-edit-head span{display:block;margin-top:4px;color:#718087;font-size:13px;line-height:1.4}.v94-fieldset{min-width:0;margin:0 0 18px;padding:0;border:0}.v94-fieldset:last-child{margin-bottom:0}.v94-fieldset legend{width:100%;margin-bottom:9px;color:#3d4b53;font-size:13px;font-weight:750}.v94-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v94-choice,.v94-radio{position:relative;display:flex;align-items:center;gap:9px;min-height:48px;padding:10px 11px;border:1px solid #dce5e2;border-radius:13px;background:#fff;color:#526068;font-size:13px;font-weight:600;line-height:1.25;cursor:pointer}.v94-choice input,.v94-radio input{position:absolute;opacity:0;pointer-events:none}.v94-choice.selected,.v94-radio.selected{border-color:#2f9e8f;background:#e9f7f4;color:#216f66;box-shadow:0 0 0 1px rgba(47,158,143,.08)}.v94-choice-icon{flex:0 0 auto;font-size:17px}.v94-radio-grid{display:grid;gap:8px}.v94-rating-selects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.v94-rating-selects label{display:grid;gap:6px;color:#53616a;font-size:12px;font-weight:700}.v94-rating-selects select,.v94-filter-form select{width:100%;min-height:44px;padding:9px 10px;border:1px solid #d8e2df;border-radius:12px;background:#fff;color:#29373e;font:inherit}.v94-sheet .sheet-head{margin-bottom:18px}.v94-filter-form,.v94-suitability-form{padding-bottom:max(4px,env(safe-area-inset-bottom))}.v94-detail-panel{margin:18px 0;padding:18px;border:1px solid #dce7e4;border-radius:20px;background:#f8fbfa}.v94-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.v94-detail-head h2{margin:0;font-size:18px}.v94-detail-head span{display:block;margin-top:4px;color:#718087;font-size:13px}.v94-detail-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.v94-detail-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:10px;background:#e8f5f2;color:#28766e;font-size:12px;font-weight:700}.v94-detail-chip.warning,.v94-detail-chip.guest-notRecommended{background:#fff0e5;color:#9d5827}.v94-detail-chip.guest-conditional{background:#fff7da;color:#8a7020}.v94-empty-copy{margin:0 0 17px;color:#748087;font-size:13px}.v94-family-ratings{display:grid;gap:12px;padding-top:15px;border-top:1px solid #dde7e4}.v94-person-rating{display:grid;grid-template-columns:60px 1fr;align-items:center;gap:10px}.v94-person-rating>span{color:#435159;font-size:13px;font-weight:750}.v94-stars,.v94-levi-buttons{display:flex;align-items:center;gap:5px}.v94-stars button,.v94-levi-buttons button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #d9e3e0;border-radius:10px;background:#fff;color:#c3cbc8;font-size:19px}.v94-stars button.active{border-color:#e4bd54;background:#fff8df;color:#e1ad24}.v94-levi-buttons button.active{border-color:#2f9e8f;background:#e7f6f2}.v94-levi-buttons .v94-untested{width:auto;min-width:0;padding:0 10px;color:#6d797f;font-size:11px;font-weight:700}.v94-levi-buttons .v94-untested.active{border-color:#cbd7d4;background:#eef3f2;color:#536168}
@media(max-width:560px){.v94-choice-grid{grid-template-columns:1fr}.v94-rating-selects{grid-template-columns:1fr}.v94-detail-head{align-items:center}.v94-detail-head .small-btn{padding-inline:10px}.v94-person-rating{grid-template-columns:52px 1fr}.v94-stars button,.v94-levi-buttons button{width:32px;height:32px}.v94-levi-buttons{flex-wrap:wrap}.v94-levi-buttons .v94-untested{max-width:170px}}

/* Rezeptnest v0.9.5 – Kartenbewertungen und kompakte Detailaktionen */
.v95-card-ratings{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 1px}.v95-card-ratings>span{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:4px 7px;border-radius:8px;background:#fff8df;color:#7d641c;font-size:9px;line-height:1}.v95-card-ratings b{font-weight:750}.v95-card-ratings em{font-style:normal;font-weight:800}.v95-bottom-media-actions{margin-top:22px!important;margin-bottom:9px;padding-top:17px;border-top:1px solid var(--border)}.v95-detail-footer-actions{margin-top:0!important}.v95-delete-icon{flex:0 0 46px!important;width:46px!important;min-width:46px!important;max-width:46px!important;padding:0!important;display:grid!important;place-items:center!important}.v95-delete-icon svg{width:19px;height:19px;margin:0!important}.v91-ingredient-scroll{overscroll-behavior:contain}
@media(max-width:420px){.v95-bottom-media-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v95-delete-icon{flex-basis:44px!important;width:44px!important;min-width:44px!important;max-width:44px!important}}

/* Rezeptnest v0.9.6 */
.v95-detail-footer-actions{display:grid!important;grid-template-columns:minmax(0,1fr) 46px!important;gap:9px!important;align-items:stretch!important}.v95-detail-footer-actions>*:not([data-action="delete-recipe"]){grid-column:1!important;width:100%!important}.v95-detail-footer-actions>[data-action="delete-recipe"]{grid-column:2!important;grid-row:1!important;width:46px!important;min-width:46px!important;margin:0!important}.v96-ingredient-modal{display:flex!important;flex-direction:column!important;max-height:min(88dvh,780px)!important;overflow:hidden!important}.v96-ingredient-modal>.v91-ingredient-sheet{height:min(82dvh,720px)!important;max-height:none!important;min-height:0!important;flex:1 1 auto!important}.v96-ingredient-modal .v91-ingredient-scroll{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}.v96-pantry-shortcut{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:10px;margin:12px 0 16px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));border-radius:16px;background:linear-gradient(135deg,var(--primary-soft),var(--surface));color:var(--text);text-align:left}.v96-pantry-shortcut>svg:first-child{width:22px;height:22px;padding:10px;box-sizing:content-box;border-radius:13px;background:#fff;color:var(--primary-2)}.v96-pantry-shortcut>span{display:flex;flex-direction:column;min-width:0}.v96-pantry-shortcut strong{font-size:13px}.v96-pantry-shortcut small{margin-top:3px;color:var(--text-2);font-size:10px;line-height:1.35}.v96-pantry-shortcut>svg:last-child{width:18px;height:18px;color:var(--text-3)}.v96-pantry-sheet{max-height:min(92dvh,900px)!important;overflow-y:auto!important}.v96-pantry-form{display:grid;gap:11px;margin-bottom:18px}.v96-pantry-input-wrap{position:relative}.v96-pantry-input-wrap textarea{width:100%;min-height:118px;padding:13px 13px 50px;resize:vertical}.v96-speech-btn{position:absolute;right:9px;bottom:9px;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 11px;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.94);color:var(--primary-2);font-size:11px;font-weight:750}.v96-speech-btn svg{width:16px;height:16px}.v96-speech-btn.listening{border-color:var(--danger);background:var(--danger-soft);color:var(--danger);animation:v96pulse 1.2s infinite}@keyframes v96pulse{50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--danger) 10%,transparent)}}.v96-input-help{margin:-3px 1px 0;color:var(--text-2);font-size:10.5px;line-height:1.45}.v96-pantry-options{display:grid;gap:9px;padding:12px;border:1px solid var(--border);border-radius:15px;background:var(--surface-soft)}.v96-pantry-options label:first-child{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:8px;color:var(--text-2);font-size:11px;line-height:1.4}.v96-pantry-options input{width:18px;height:18px;margin:0}.v96-pantry-options label:last-child{display:grid;grid-template-columns:minmax(0,1fr) 72px;align-items:center;gap:10px;color:var(--text-2);font-size:11px}.v96-pantry-options select{min-height:38px;padding:6px 9px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text)}.v96-recognize-btn{width:100%}.v96-recognize-btn:disabled{opacity:.68}.v96-mini-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:v96spin .8s linear infinite}@keyframes v96spin{to{transform:rotate(360deg)}}.v96-warning{display:flex;align-items:flex-start;gap:8px;margin:-6px 0 14px;padding:10px 11px;border-radius:13px;background:var(--yellow-soft);color:#76570f;font-size:10.5px;line-height:1.4}.v96-warning svg{width:17px;height:17px;flex:0 0 auto}.v96-pantry-current{padding:15px;border:1px solid var(--border);border-radius:18px;background:var(--surface-soft)}.v96-current-head,.v96-results-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}.v96-current-head h3,.v96-results-head h3{margin:0;font-size:15px}.v96-current-head span,.v96-results-head span{display:block;margin-top:3px;color:var(--text-2);font-size:10px}.v96-current-head button{border:0;background:transparent;color:var(--danger);font-size:10px;font-weight:750}.v96-pantry-chips{display:flex;flex-wrap:wrap;gap:7px}.v96-pantry-chips>span{display:inline-flex;align-items:center;gap:5px;min-height:31px;padding:5px 5px 5px 9px;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));border-radius:999px;background:#fff;color:var(--primary-2);font-size:10.5px}.v96-pantry-chips b{font-weight:700}.v96-pantry-chips button{width:23px;height:23px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--surface-strong);color:var(--text-2)}.v96-pantry-chips svg{width:13px;height:13px}.v96-pantry-empty,.v96-no-results{padding:13px;border-radius:13px;background:#fff;color:var(--text-2);font-size:11px;line-height:1.45}.v96-results{margin-top:18px;padding-top:17px;border-top:1px solid var(--border)}.v96-result-group+.v96-result-group{margin-top:18px}.v96-result-group h4{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px;color:var(--text-2);font-size:11px;text-transform:uppercase;letter-spacing:.045em}.v96-result-group h4 span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--surface-strong);font-size:10px}.v96-result-list{display:grid;gap:8px}.v96-pantry-result{width:100%;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;border:1px solid var(--border);border-radius:15px;background:var(--surface);color:var(--text);text-align:left}.v96-result-media{width:54px;height:54px;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:var(--surface-soft);color:var(--primary-2)}.v96-result-media img{width:100%;height:100%;object-fit:cover}.v96-result-placeholder svg{width:22px;height:22px}.v96-result-copy{display:flex;flex-direction:column;min-width:0}.v96-result-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.v96-result-copy small{margin-top:3px;color:var(--text-2);font-size:9.5px}.v96-result-copy em{margin-top:4px;color:#9d5827;font-size:9.5px;font-style:normal;line-height:1.3}.v96-result-copy em.complete{color:var(--primary-2)}.v96-result-score{display:inline-flex;align-items:center;min-height:25px;padding:4px 7px;border-radius:999px;background:var(--yellow-soft);color:#76570f;font-size:9px;font-weight:800;white-space:nowrap}.v96-result-score.complete{background:var(--primary-soft);color:var(--primary-2)}
@media(max-width:420px){.v95-detail-footer-actions{grid-template-columns:minmax(0,1fr) 44px!important}.v95-detail-footer-actions>[data-action="delete-recipe"]{width:44px!important;min-width:44px!important}.v96-pantry-shortcut{grid-template-columns:38px minmax(0,1fr) 18px}.v96-pantry-shortcut>svg:first-child{width:19px;height:19px;padding:9px}.v96-pantry-result{grid-template-columns:48px minmax(0,1fr)}.v96-result-media{width:48px;height:48px}.v96-result-score{grid-column:2;justify-self:start;margin-top:-3px}.v96-pantry-options label:last-child{grid-template-columns:minmax(0,1fr) 66px}}


/* Rezeptnest v0.9.7 */
.v97-filter-section{display:grid;gap:10px;margin:10px 0 16px;padding:13px;border:1px solid var(--border);border-radius:18px;background:var(--surface-soft)}
.v97-filter-group{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:8px}.v97-filter-title{color:var(--text-2);font-size:10.5px;font-weight:750}.v97-filter-scroll{display:flex;gap:7px;min-width:0;overflow-x:auto;padding:1px 1px 4px;scrollbar-width:none}.v97-filter-scroll::-webkit-scrollbar{display:none}.v97-filter-chip{flex:0 0 auto;min-height:35px;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-2);font:inherit;font-size:11px;font-weight:700;white-space:nowrap}.v97-filter-chip>span{margin-right:4px}.v97-filter-chip.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-2)}.v97-heart-filter{width:37px;padding:0;display:grid;place-items:center}.v97-heart-filter svg{width:17px;height:17px}.v97-heart-filter.active svg{fill:currentColor}.v97-active-filters{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-top:8px;border-top:1px solid var(--border);color:var(--text-2);font-size:10px;line-height:1.45}.v97-active-filters strong{color:var(--text)}.v97-active-filters button{flex:0 0 auto;padding:0;border:0;background:transparent;color:var(--primary-2);font:inherit;font-weight:750;text-decoration:underline;text-underline-offset:3px}
.v97-guest-choice{position:relative;display:flex;align-items:center;gap:10px;min-height:58px;padding:11px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer}.v97-guest-choice input{position:absolute;opacity:0;pointer-events:none}.v97-guest-choice.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-2)}.v97-guest-choice>span:last-child{display:flex;flex-direction:column}.v97-guest-choice strong{font-size:13px}.v97-guest-choice small{margin-top:3px;color:var(--text-2);font-size:10px;font-weight:500}
.v97-edit-delete-row{display:grid!important;grid-template-columns:minmax(0,1fr) 46px!important;gap:9px!important;width:100%!important;grid-column:1/-1!important}.v97-edit-delete-row>*{margin:0!important}.v97-edit-delete-row>[data-action="delete-recipe"]{width:46px!important;min-width:46px!important;padding:0!important}.v95-detail-footer-actions{display:flex!important;flex-direction:column!important;gap:9px!important}.v95-detail-footer-actions>*{width:100%!important}.v95-detail-footer-actions>.v97-edit-delete-row{display:grid!important}
.recipe-card .card-media img,.detail-hero img{cursor:zoom-in}.recipe-card .card-media img:focus-visible,.detail-hero img:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 55%,transparent);outline-offset:-3px}
.v97-start-options{display:grid;gap:8px;margin-bottom:18px}.v97-start-option{position:relative;display:flex;align-items:center;min-height:50px;padding:11px 13px;border:1px solid var(--border);border-radius:14px;background:var(--surface);font-size:13px;font-weight:700;cursor:pointer}.v97-start-option input{position:absolute;opacity:0;pointer-events:none}.v97-start-option.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-2)}
.v96-ingredient-modal .v91-ingredient-scroll{overflow-anchor:none!important;scroll-behavior:auto!important}
@media(max-width:520px){.v97-filter-section{margin-left:-2px;margin-right:-2px;padding:11px}.v97-filter-group{grid-template-columns:1fr;gap:5px}.v97-filter-title{padding-left:2px}.v97-edit-delete-row{grid-template-columns:minmax(0,1fr) 44px!important}.v97-edit-delete-row>[data-action="delete-recipe"]{width:44px!important;min-width:44px!important}}

.v97-start-icon{font-size:20px}


/* Rezeptnest v0.9.8 */
.v98-card-ratings{align-items:center}.v98-average-rating{display:inline-flex!important;align-items:center!important;gap:6px!important}.v98-average-rating small{color:var(--text-2);font-size:9px;font-weight:700;white-space:nowrap}.v98-average-rating em{font-size:10px}.v98-cover-lightbox-target{cursor:zoom-in!important}.v98-cover-lightbox-target:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 55%,transparent);outline-offset:-3px}

/* Rezeptnest v0.9.9 */
.detail-hero.v99-detail-cover-lightbox{cursor:zoom-in}.detail-hero.v99-detail-cover-lightbox:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 55%,transparent);outline-offset:-3px}.detail-hero.v99-detail-cover-lightbox button,.detail-hero.v99-detail-cover-lightbox a{cursor:pointer}
.v99-ideas{margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.v99-ideas-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.v99-ideas-head h3{margin:0;font-size:15px}.v99-ideas-head span:not(.v99-ai-label){display:block;margin-top:4px;color:var(--text-2);font-size:10.5px;line-height:1.45}.v99-ai-label{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary-2);font-size:9px;font-weight:800}.v99-idea-hint{display:grid;gap:6px;margin-bottom:10px;color:var(--text-2);font-size:10.5px;font-weight:700}.v99-idea-hint input{width:100%;min-height:43px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font:inherit}.v99-idea-note{margin-bottom:10px;padding:10px 11px;border-radius:12px;background:var(--yellow-soft);color:#76570f;font-size:10.5px;line-height:1.45}.v99-generate-ideas{width:100%}.v99-generate-ideas:disabled{opacity:.62}.v99-idea-list{display:grid;gap:10px;margin-top:13px}.v99-idea-card{padding:13px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.v99-idea-head{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px}.v99-idea-head>span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--primary-soft);color:var(--primary-2)}.v99-idea-head svg{width:18px;height:18px}.v99-idea-head div{display:flex;flex-direction:column;min-width:0}.v99-idea-head strong{font-size:13px;line-height:1.3}.v99-idea-head small{margin-top:3px;color:var(--text-2);font-size:9.5px}.v99-idea-card p{margin:10px 0;color:var(--text-2);font-size:10.5px;line-height:1.5}.v99-idea-ingredients,.v99-idea-missing,.v99-idea-complete{margin-top:8px;padding:9px 10px;border-radius:11px;background:var(--surface-soft);color:var(--text-2);font-size:10px;line-height:1.45}.v99-idea-ingredients{display:flex;flex-direction:column;gap:2px}.v99-idea-missing{background:var(--yellow-soft);color:#76570f}.v99-idea-complete{background:var(--primary-soft);color:var(--primary-2);font-weight:700}.v99-idea-card>.secondary-btn{width:100%;margin-top:10px}

/* Rezeptnest v0.9.10 – globale OpenAI-Konfiguration */
.v910-ai-success,.v910-ai-note{margin:12px 0;padding:12px 14px;border-radius:14px;font-size:13px;line-height:1.45}.v910-ai-success{background:#e7f6f1;color:#236f61;border:1px solid #c8e9df}.v910-ai-note{background:#f4f7f6;color:#5d6a70;border:1px solid #e0e8e5}.v910-ai-note strong{color:#34444b}.v910-recover-button{width:100%;justify-content:center}.v5-ai-state .v96-mini-spinner{flex:0 0 auto}


/* Rezeptnest v0.9.13 – Login-Schranke */
body.rn-auth-required{overflow:hidden;background:#f4f8f7}
.rn-auth-gate{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#e8f7f3 0,#f4f8f7 42%,#f7f7f4 100%);font-family:Outfit,system-ui,-apple-system,sans-serif;color:#172033}
.rn-auth-card{width:min(440px,100%);display:grid;gap:24px;padding:28px;border:1px solid #d7e5e1;border-radius:26px;background:rgba(255,255,255,.96);box-shadow:0 24px 70px rgba(31,70,63,.14)}
.rn-auth-brand{display:flex;align-items:center;gap:12px}.rn-auth-logo{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#2f9e8f;color:#fff;font-size:24px;font-weight:700}.rn-auth-brand div{display:grid;gap:1px}.rn-auth-brand strong{font-size:18px}.rn-auth-brand span:last-child{color:#708078;font-size:13px}
.rn-auth-card h1{margin:0 0 7px;font-size:28px}.rn-auth-card p{margin:0;color:#65736e;line-height:1.5}.rn-auth-card form{display:grid;gap:16px}.rn-auth-card label{display:grid;gap:7px;font-weight:600;font-size:14px}.rn-auth-card input{width:100%;min-height:50px;padding:0 14px;border:1px solid #ccd9d5;border-radius:14px;background:#fff;color:#172033;font:inherit;outline:none}.rn-auth-card input:focus{border-color:#2f9e8f;box-shadow:0 0 0 3px rgba(47,158,143,.14)}.rn-auth-card button{min-height:52px;border:0;border-radius:15px;background:#2f9e8f;color:#fff;font:inherit;font-weight:700}.rn-auth-card button:disabled{opacity:.7}.rn-auth-error{padding:12px 14px;border:1px solid #f2c6c6;border-radius:14px;background:#fff1f1;color:#a33b3b;font-size:14px;line-height:1.45}.rn-auth-progress{justify-items:center;text-align:center}.rn-auth-spinner{width:34px;height:34px;border:3px solid #d8ebe7;border-top-color:#2f9e8f;border-radius:50%;animation:rn-auth-spin .8s linear infinite}@keyframes rn-auth-spin{to{transform:rotate(360deg)}}

/* Rezeptnest v0.9.16 – Datensicherheit */
.v915-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.v915-data-grid>div{padding:14px 10px;border:1px solid var(--line,#d9e4e1);border-radius:16px;background:var(--surface-soft,#f5f8f7);text-align:center}
.v915-data-grid strong{display:block;font-size:24px;line-height:1.1}
.v915-data-grid span{display:block;margin-top:5px;font-size:12px;color:var(--muted,#66717c)}
.v915-last-backup,.v915-data-note{color:var(--muted,#66717c);font-size:13px;line-height:1.5}
.v915-data-actions{display:grid;gap:10px;margin-top:16px}
@media(max-width:420px){.v915-data-grid{grid-template-columns:1fr}.v915-data-grid>div{display:flex;align-items:center;justify-content:space-between;text-align:left}.v915-data-grid span{margin-top:0}}

/* v0.9.21 – Passwort-Umschalter auf dem Login */
.v921-pw-wrap{position:relative;display:flex;align-items:center}
.v921-pw-wrap input{flex:1;padding-right:96px}
.v921-pw-toggle{position:absolute;right:8px;min-height:38px;padding:0 14px;border:0;border-radius:12px;background:#e4f2ef;color:#23796f;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.v921-pw-toggle:active{background:#d3eae5}

/* Rezeptnest v0.9.23 – umschaltbare Listen- und Kachelansicht */
.rn-recipe-layout-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  margin: -2px 2px 12px;
}
.rn-recipe-layout-label {
  color: var(--text-3);
  font-size: 11px;
  font-weight: 700;
}
.rn-recipe-layout-switch {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface-soft);
}
.rn-recipe-layout-button {
  min-width: 42px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 8px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--text-3);
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}
.rn-recipe-layout-button.active {
  background: var(--surface);
  color: var(--primary-2);
  box-shadow: 0 2px 8px rgba(35, 74, 67, .10);
}
.rn-layout-icon { flex: 0 0 auto; }
.rn-layout-icon-list {
  width: 15px;
  display: grid;
  gap: 2px;
}
.rn-layout-icon-list i {
  display: block;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
}
.rn-layout-icon-tiles {
  width: 16px;
  height: 13px;
  display: grid;
  gap: 2px;
}
.rn-layout-icon-tiles.columns-2 { grid-template-columns: repeat(2, 1fr); }
.rn-layout-icon-tiles.columns-3 { grid-template-columns: repeat(3, 1fr); }
.rn-layout-icon-tiles i {
  display: block;
  border-radius: 2px;
  background: currentColor;
}

.recipe-grid[data-rn-layout="tiles-2"] {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: start;
}
.recipe-grid[data-rn-layout="tiles-3"] {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  align-items: start;
}
.recipe-grid[data-rn-layout^="tiles-"] .recipe-card.v61-card {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden;
  border-radius: 15px !important;
}
.recipe-grid[data-rn-layout^="tiles-"] .recipe-card.v61-card .v61-card-media {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1;
  flex: 0 0 auto;
}
.recipe-grid[data-rn-layout^="tiles-"] .recipe-card.v61-card .v61-card-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.recipe-grid[data-rn-layout^="tiles-"] .recipe-card.v61-card .card-body {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column;
  justify-content: flex-start !important;
  gap: 5px;
  padding: 8px 8px 9px !important;
}
.recipe-grid[data-rn-layout^="tiles-"] .recipe-card.v61-card .card-top {
  display: block !important;
  min-width: 0;
}
.recipe-grid[data-rn-layout^="tiles-"] .recipe-card.v61-card .card-title {
  margin: 0 !important;
  min-height: 2.3em;
  font-size: 12.5px !important;
  line-height: 1.15 !important;
  -webkit-line-clamp: 2 !important;
}
.recipe-grid[data-rn-layout^="tiles-"] .recipe-card.v61-card .card-actions-stack {
  position: absolute;
  z-index: 4;
  top: 7px;
  right: 7px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.recipe-grid[data-rn-layout^="tiles-"] .recipe-card.v61-card .favorite-btn,
.recipe-grid[data-rn-layout^="tiles-"] .recipe-card.v61-card .card-action-btn {
  width: 30px !important;
  height: 30px !important;
  flex: 0 0 30px !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  background: rgba(255,255,255,.91) !important;
  color: var(--text-2) !important;
  box-shadow: 0 3px 10px rgba(20,42,37,.18);
  backdrop-filter: blur(7px);
}
.recipe-grid[data-rn-layout^="tiles-"] .recipe-card.v61-card .favorite-btn.active {
  color: var(--danger) !important;
}
.recipe-grid[data-rn-layout^="tiles-"] .recipe-card.v61-card .v61-card-footer {
  display: flex !important;
  align-items: center;
  gap: 4px !important;
  max-height: 23px !important;
  margin: 0 !important;
  overflow: hidden;
}
.recipe-grid[data-rn-layout^="tiles-"] .recipe-card.v61-card .chip {
  min-height: 21px !important;
  height: 21px !important;
  padding: 3px 6px !important;
  font-size: 8px !important;
  line-height: 1 !important;
}
.recipe-grid[data-rn-layout^="tiles-"] .recipe-card.v61-card .chip svg {
  width: 10px !important;
  height: 10px !important;
}
.recipe-grid[data-rn-layout^="tiles-"] .recipe-card.v61-card .rating-inline {
  font-size: 9px !important;
  white-space: nowrap;
}
.recipe-grid[data-rn-layout^="tiles-"] .recipe-card.v61-card .source-dot {
  top: 6px !important;
  left: 6px !important;
  right: auto !important;
  max-width: calc(100% - 48px) !important;
  padding: 4px 6px !important;
  font-size: 8px !important;
}
.recipe-grid[data-rn-layout^="tiles-"] .v94-card-badges {
  margin: 0 !important;
  gap: 4px !important;
  max-height: 21px;
  overflow: hidden;
}
.recipe-grid[data-rn-layout^="tiles-"] .v94-card-badge {
  padding: 4px 5px !important;
  font-size: 8px !important;
}
.recipe-grid[data-rn-layout^="tiles-"] .v95-card-ratings {
  margin: 0 !important;
  gap: 3px !important;
}
.recipe-grid[data-rn-layout^="tiles-"] .v95-card-ratings > span {
  min-height: 20px !important;
  padding: 3px 5px !important;
  font-size: 8px !important;
}

.recipe-grid[data-rn-layout="tiles-3"] .recipe-card.v61-card {
  border-radius: 12px !important;
}
.recipe-grid[data-rn-layout="tiles-3"] .recipe-card.v61-card .card-body {
  gap: 3px;
  padding: 6px 5px 7px !important;
}
.recipe-grid[data-rn-layout="tiles-3"] .recipe-card.v61-card .card-title {
  min-height: 2.25em;
  font-size: 10.5px !important;
  line-height: 1.12 !important;
}
.recipe-grid[data-rn-layout="tiles-3"] .recipe-card.v61-card .card-actions-stack {
  top: 5px;
  right: 5px;
  gap: 3px;
}
.recipe-grid[data-rn-layout="tiles-3"] .recipe-card.v61-card .favorite-btn,
.recipe-grid[data-rn-layout="tiles-3"] .recipe-card.v61-card .card-action-btn {
  width: 25px !important;
  height: 25px !important;
  flex-basis: 25px !important;
}
.recipe-grid[data-rn-layout="tiles-3"] .recipe-card.v61-card .favorite-btn svg,
.recipe-grid[data-rn-layout="tiles-3"] .recipe-card.v61-card .card-action-btn svg {
  width: 13px !important;
  height: 13px !important;
}
.recipe-grid[data-rn-layout="tiles-3"] .recipe-card.v61-card .v94-card-badges,
.recipe-grid[data-rn-layout="tiles-3"] .recipe-card.v61-card .v95-card-ratings {
  display: none !important;
}
.recipe-grid[data-rn-layout="tiles-3"] .recipe-card.v61-card .v61-card-footer {
  max-height: 19px !important;
  gap: 2px !important;
}
.recipe-grid[data-rn-layout="tiles-3"] .recipe-card.v61-card .chip {
  min-height: 18px !important;
  height: 18px !important;
  padding: 2px 4px !important;
  font-size: 7px !important;
}
.recipe-grid[data-rn-layout="tiles-3"] .recipe-card.v61-card .chip:nth-of-type(n+3) {
  display: none !important;
}
.recipe-grid[data-rn-layout="tiles-3"] .recipe-card.v61-card .rating-inline {
  font-size: 7.5px !important;
}
.recipe-grid[data-rn-layout="tiles-3"] .recipe-card.v61-card .source-dot {
  max-width: calc(100% - 36px) !important;
  padding: 3px 5px !important;
  font-size: 7px !important;
}

@media (max-width: 370px) {
  .rn-recipe-layout-label { display: none; }
  .rn-recipe-layout-button { min-width: 38px; padding: 0 6px; }
  .recipe-grid[data-rn-layout="tiles-2"] { gap: 9px !important; }
  .recipe-grid[data-rn-layout="tiles-3"] { gap: 6px !important; }
}

/* Rezeptnest v0.9.26 – Mehrfach-Mahlzeiten, Medienkarussell und Kochbuchquellen */
.field-help{display:block;margin:-2px 0 8px;color:var(--text-3);font-size:11px}
.rn-multi-meal-picker{display:flex;flex-wrap:wrap;gap:8px}
.rn-multi-meal-picker .meal-option{flex:1 1 120px;min-width:0}
.rn-source-edit-section{display:grid;gap:14px;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface-soft)}
.rn-source-edit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.rn-source-edit-head>div{display:flex;flex-direction:column;gap:4px}.rn-source-edit-head strong{font-size:15px}.rn-source-edit-head span{color:var(--text-2);font-size:11px;line-height:1.45}
.rn-source-edit-head>svg{width:25px;height:25px;color:var(--primary)}
.rn-source-fields[hidden]{display:none!important}
.rn-book-cover-editor{display:grid;grid-template-columns:86px minmax(0,1fr);gap:14px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.rn-book-cover-preview{width:86px;aspect-ratio:3/4;padding:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg);color:var(--primary);display:grid;place-items:center}
.rn-book-cover-preview img{width:100%;height:100%;object-fit:cover}.rn-book-cover-preview span svg{width:30px;height:30px}
.rn-book-cover-editor>div{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0}.rn-book-cover-editor>div>strong{font-size:13px}.rn-book-cover-editor>div>span{font-size:10px;line-height:1.4;color:var(--text-2)}
.rn-book-cover-upload,.rn-book-cover-remove{width:auto!important;min-height:38px!important;padding:8px 11px!important;font-size:11px!important}
.rn-book-cover-upload{display:inline-flex!important;align-items:center;gap:6px;cursor:pointer}
.rn-book-cover-upload svg{width:15px;height:15px}
.rn-meal-chip{white-space:nowrap}

.detail-hero>.rn-cover-carousel{position:absolute;inset:0;z-index:0;overflow:hidden;touch-action:pan-y;background:var(--surface-soft)}
.rn-cover-carousel>img{width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none}
.rn-carousel-arrow{position:absolute;top:50%;z-index:3;width:38px;height:38px;margin-top:-19px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(16,28,30,.58);color:#fff;backdrop-filter:blur(7px);box-shadow:0 4px 14px rgba(0,0,0,.2)}
.rn-carousel-arrow.prev{left:12px}.rn-carousel-arrow.next{right:12px}.rn-carousel-arrow svg{width:20px;height:20px}
.rn-carousel-dots{position:absolute;left:50%;bottom:14px;z-index:4;transform:translateX(-50%);display:flex;gap:6px;padding:6px 9px;border-radius:999px;background:rgba(14,25,27,.42);backdrop-filter:blur(7px)}
.rn-carousel-dots button,.rn-lightbox-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.48);transition:width .18s ease,background .18s ease}
.rn-carousel-dots button.active,.rn-lightbox-dots button.active{width:19px;border-radius:999px;background:#fff}
.rn-carousel-counter{position:absolute;right:14px;bottom:14px;z-index:4;padding:5px 8px;border-radius:999px;background:rgba(14,25,27,.5);color:#fff;font-size:10px;font-weight:700;backdrop-filter:blur(7px)}
.detail-hero .detail-hero-overlay,.detail-hero .detail-back,.detail-hero .detail-fav,.detail-hero .detail-hero-copy{z-index:5}

.v93-source-item{position:relative}.rn-image-manage{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:7px}
.rn-image-manage button{min-height:34px;padding:6px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-2);display:grid;place-items:center}
.rn-image-manage button svg{width:16px;height:16px}.rn-image-manage button:disabled{opacity:.32}.rn-image-manage button.danger{color:var(--danger,#b94b4b);background:#fff5f5;border-color:#f1d3d3}

.rn-source-card-section{margin:14px 0!important;padding:15px!important;border:1px solid var(--border)!important;border-radius:18px!important;background:var(--surface-soft)!important}
.rn-source-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.rn-source-card-head h2{margin:2px 0 0!important;font-size:18px!important}.rn-source-eyebrow{color:var(--primary);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.rn-source-edit{width:auto!important;min-height:36px!important;padding:8px 11px!important;font-size:11px!important}
.rn-book-source-card{display:grid;grid-template-columns:78px minmax(0,1fr);gap:14px;align-items:center;padding:12px;border-radius:15px;background:var(--surface);border:1px solid var(--border)}
.rn-book-source-cover{width:78px;aspect-ratio:3/4;padding:0;border:0;border-radius:11px;overflow:hidden;background:var(--bg);display:grid;place-items:center;color:var(--primary);box-shadow:0 5px 16px rgba(26,57,53,.1)}
.rn-book-source-cover img{width:100%;height:100%;object-fit:cover}.rn-book-source-cover svg{width:29px;height:29px}.rn-book-source-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.rn-book-source-copy>span{font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em}.rn-book-source-copy strong{font-size:16px;line-height:1.25;overflow-wrap:anywhere}.rn-book-source-copy p{margin:2px 0 0;color:var(--text-2);font-size:12px}.rn-source-link-compact{margin:0}.rn-source-manual{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text-2);font-size:12px}.rn-source-manual svg{width:20px;height:20px;color:var(--primary)}

body.rn-lightbox-open{overflow:hidden}
.rn-media-lightbox{position:fixed;inset:0;z-index:100000;background:rgba(4,10,12,.94);display:grid;grid-template-rows:minmax(0,1fr) auto;padding:max(54px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));color:#fff}
.rn-lightbox-close{position:absolute;top:max(14px,env(safe-area-inset-top));right:14px;z-index:4;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center;backdrop-filter:blur(8px)}.rn-lightbox-close svg{width:22px;height:22px}
.rn-lightbox-stage{position:relative;min-height:0;display:grid;place-items:center;touch-action:pan-y;overflow:hidden}.rn-lightbox-stage img{max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.rn-lightbox-arrow{position:absolute;top:50%;width:44px;height:44px;margin-top:-22px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center;backdrop-filter:blur(8px)}.rn-lightbox-arrow.prev{left:3px}.rn-lightbox-arrow.next{right:3px}.rn-lightbox-arrow svg{width:22px;height:22px}
.rn-lightbox-footer{display:flex;align-items:center;justify-content:center;gap:14px;min-height:42px}.rn-lightbox-dots{display:flex;align-items:center;gap:7px}.rn-lightbox-footer>span{min-width:42px;color:rgba(255,255,255,.72);font-size:11px;font-weight:700}

@media(max-width:640px){.rn-carousel-arrow{display:none}.rn-lightbox-arrow{display:none}.rn-book-cover-editor{grid-template-columns:72px minmax(0,1fr)}.rn-book-cover-preview{width:72px}.rn-book-source-card{grid-template-columns:68px minmax(0,1fr)}.rn-book-source-cover{width:68px}.rn-source-card-head{align-items:center}.rn-source-edit .button-icon{display:none}}
@media(max-width:390px){.rn-multi-meal-picker .meal-option{flex-basis:100%}.rn-book-cover-editor{grid-template-columns:64px minmax(0,1fr)}.rn-book-cover-preview{width:64px}.rn-book-source-card{grid-template-columns:60px minmax(0,1fr)}.rn-book-source-cover{width:60px}.rn-book-source-copy strong{font-size:14px}}

/* Rezeptnest v0.9.27 – Cover-Interaktion und kompakte Schätzangaben */
/* Das visuelle Hero-Overlay darf Klicks und Wischgesten nicht abfangen. */
.detail-hero .detail-hero-overlay,
.detail-hero .detail-hero-copy {
  pointer-events: none;
}
.detail-hero .detail-back,
.detail-hero .detail-fav,
.detail-hero .rn-carousel-arrow,
.detail-hero .rn-carousel-dots,
.detail-hero .rn-carousel-counter {
  pointer-events: auto;
}
.detail-hero > .rn-cover-carousel,
.detail-hero > img[data-rn-single-recipe-image] {
  cursor: zoom-in;
}
.detail-hero > .rn-cover-carousel {
  z-index: 1;
}
.detail-hero .detail-hero-overlay {
  z-index: 2;
}
.detail-hero .detail-hero-copy {
  z-index: 3;
}
.detail-hero .detail-back,
.detail-hero .detail-fav {
  z-index: 6;
}

.v51-estimated-box {
  align-items: flex-start !important;
  gap: 8px !important;
  padding: 9px 11px !important;
  border-radius: 13px !important;
}
.v51-estimated-icon {
  width: 27px !important;
  height: 27px !important;
  min-width: 27px !important;
}
.v51-estimated-icon svg {
  width: 16px !important;
  height: 16px !important;
}
.v51-estimated-copy strong {
  font-size: 11px !important;
  line-height: 1.25;
}
.v51-estimated-list {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 14px;
  margin: 4px 0 0;
  padding-left: 15px;
  color: var(--text-2);
  font-size: 9.5px;
  line-height: 1.3;
}
.v51-estimated-list li {
  margin: 0;
  padding: 0;
}


/* ===== Rezeptnest v0.9.28 – Gesundheitscheck ===== */
.rn-health-card-score {
  min-height: 24px;
  margin-left: auto;
  padding: 0 8px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.rn-health-card-score b { font-size: 11px; }
.rn-health-card-score.stale { color: var(--text-3); background: #f0f3f2; }
.rn-health-excellent { --rn-health-color: #198754; color: #176b45; background: #e4f5eb; }
.rn-health-good { --rn-health-color: #4b963f; color: #397632; background: #edf7e8; }
.rn-health-medium { --rn-health-color: #c58a1f; color: #8b641d; background: #fff4d7; }
.rn-health-low { --rn-health-color: #d06c33; color: #9b4e26; background: #ffeadb; }
.rn-health-poor { --rn-health-color: #b94f4f; color: #8f3838; background: #fde8e8; }

[data-recipe-layout="tiles-2"] .rn-health-card-score,
[data-recipe-layout="tiles-3"] .rn-health-card-score {
  margin-left: 0;
  order: 20;
}
[data-recipe-layout="tiles-3"] .rn-health-card-score span { display: none; }

.rn-health-panel {
  margin: 14px 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--rn-health-color, var(--primary)) 28%, var(--border));
  border-radius: 21px;
  background: color-mix(in srgb, var(--rn-health-color, var(--primary)) 7%, var(--surface));
  box-shadow: var(--shadow-sm);
}
.rn-health-panel.empty {
  --rn-health-color: var(--primary);
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 16px;
}
.rn-health-empty-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: var(--primary);
  background: var(--primary-soft);
}
.rn-health-empty-icon svg { width: 24px; height: 24px; }
.rn-health-empty-copy { min-width: 0; }
.rn-health-empty-copy h2 { margin: 2px 0 4px; font-size: 18px; }
.rn-health-empty-copy p { margin: 0; color: var(--text-2); font-size: 12px; line-height: 1.45; }
.rn-health-eyebrow {
  color: var(--rn-health-color, var(--primary));
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.rn-health-summary {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 16px;
}
.rn-health-panel.stale .rn-health-summary { opacity: .86; }
.rn-health-ring {
  --rn-health-color: var(--primary);
  width: 72px;
  height: 72px;
  position: relative;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(var(--rn-health-color) calc(var(--rn-health-score) * 1%), color-mix(in srgb, var(--rn-health-color) 14%, #fff) 0);
}
.rn-health-ring::before {
  content: '';
  position: absolute;
  inset: 7px;
  border-radius: inherit;
  background: var(--surface);
}
.rn-health-ring span { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; line-height: 1; }
.rn-health-ring b { color: var(--text); font-size: 25px; letter-spacing: -.05em; }
.rn-health-ring small { margin-top: 4px; color: var(--text-3); font-size: 9px; font-weight: 700; }
.rn-health-summary-copy { min-width: 0; }
.rn-health-summary-copy h2 { margin: 3px 0 4px; color: var(--text); font-size: 20px; letter-spacing: -.025em; }
.rn-health-summary-copy p { margin: 0; color: var(--text-2); font-size: 11px; line-height: 1.4; }
.rn-health-details { border-top: 1px solid color-mix(in srgb, var(--rn-health-color) 20%, var(--border)); }
.rn-health-details > summary {
  min-height: 47px;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--text);
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
  list-style: none;
}
.rn-health-details > summary::-webkit-details-marker { display: none; }
.rn-health-details > summary svg { width: 17px; height: 17px; transition: transform .18s ease; }
.rn-health-details[open] > summary svg { transform: rotate(180deg); }
.rn-health-detail-body { padding: 0 16px 16px; }
.rn-health-components { display: grid; gap: 9px; margin-bottom: 15px; }
.rn-health-component-head { display: flex; justify-content: space-between; gap: 10px; color: var(--text-2); font-size: 10px; }
.rn-health-component-head b { color: var(--text); }
.rn-health-component-bar { height: 7px; margin-top: 4px; overflow: hidden; border-radius: 999px; background: color-mix(in srgb, var(--rn-health-color) 13%, #fff); }
.rn-health-component-bar i { display: block; height: 100%; border-radius: inherit; background: var(--rn-health-color); }
.rn-health-insights { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.rn-health-list-block { padding: 12px; border-radius: 15px; background: var(--surface); border: 1px solid var(--border); }
.rn-health-list-block h4 { margin: 0 0 7px; font-size: 12px; }
.rn-health-list-block ul { margin: 0; padding-left: 17px; color: var(--text-2); font-size: 10px; line-height: 1.45; }
.rn-health-list-block li + li { margin-top: 5px; }
.rn-health-list-block.positive h4 { color: #24724e; }
.rn-health-list-block.warning h4 { color: #9a5d27; }
.rn-health-list-block.swap h4 { color: var(--primary); }
.rn-health-basis { margin-top: 11px; padding: 11px 12px; border-radius: 14px; background: rgba(255,255,255,.65); border: 1px dashed var(--border); }
.rn-health-basis summary { color: var(--text-2); font-size: 11px; font-weight: 700; cursor: pointer; }
.rn-health-basis ul { margin: 9px 0 0; padding-left: 17px; color: var(--text-2); font-size: 10px; line-height: 1.45; }
.rn-health-basis p { margin: 8px 0 0; color: var(--text-3); font-size: 9px; }
.rn-health-disclaimer { margin: 11px 0 0; color: var(--text-3); font-size: 9px; line-height: 1.45; }

body.rn-health-modal-open { overflow: hidden; }
.rn-health-modal { position: fixed; inset: 0; z-index: 1300; display: grid; place-items: center; padding: 16px; }
.rn-health-modal-backdrop { position: absolute; inset: 0; background: rgba(15,25,30,.62); backdrop-filter: blur(8px); }
.rn-health-modal-card {
  position: relative;
  z-index: 1;
  width: min(100%, 720px);
  max-height: min(88vh, 860px);
  overflow: auto;
  padding: 20px;
  border-radius: 25px;
  background: var(--surface);
  box-shadow: 0 28px 80px rgba(10,30,28,.28);
}
.rn-health-modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.rn-health-modal-head h2 { margin: 4px 0 0; font-size: 24px; }
.rn-health-manager-intro { margin: 11px 0 15px; color: var(--text-2); font-size: 12px; line-height: 1.5; }
.rn-health-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.rn-health-stats div { padding: 12px; border-radius: 15px; text-align: center; background: var(--surface-soft); }
.rn-health-stats b { display: block; font-size: 21px; }
.rn-health-stats span { color: var(--text-2); font-size: 9px; }
.rn-health-manager-actions { display: grid; grid-template-columns: 1.35fr 1fr; gap: 9px; margin: 14px 0; }
.rn-health-progress { margin: 14px 0; padding: 12px; border-radius: 15px; background: var(--primary-soft); }
.rn-health-progress > div:first-child { display: flex; justify-content: space-between; gap: 10px; font-size: 11px; }
.rn-health-progress > div:last-child { height: 8px; margin-top: 8px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.7); }
.rn-health-progress i { display: block; height: 100%; background: var(--primary); }
.rn-health-algorithm { margin: 14px 0; padding: 13px; border: 1px solid var(--border); border-radius: 16px; }
.rn-health-algorithm summary { cursor: pointer; font-size: 12px; font-weight: 750; }
.rn-health-algorithm > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; margin-top: 11px; }
.rn-health-algorithm span { display: flex; align-items: center; gap: 8px; padding: 8px; border-radius: 11px; background: var(--surface-soft); color: var(--text-2); font-size: 10px; }
.rn-health-algorithm span b { min-width: 25px; color: var(--primary); font-size: 14px; }
.rn-health-algorithm p { margin: 10px 0 0; color: var(--text-2); font-size: 10px; line-height: 1.45; }
.rn-health-manager-list { margin: 0; padding: 0; display: grid; gap: 6px; list-style: none; }
.rn-health-manager-list li { min-height: 52px; padding: 9px 11px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--border); border-radius: 14px; }
.rn-health-manager-list li > span { min-width: 0; display: flex; flex-direction: column; }
.rn-health-manager-list strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.rn-health-manager-list small { margin-top: 2px; color: var(--text-3); font-size: 9px; }
.rn-health-manager-list b,
.rn-health-manager-list em { min-width: 42px; padding: 6px 8px; border-radius: 999px; text-align: center; font-size: 10px; font-style: normal; }
.rn-health-manager-list em.missing { background: var(--yellow-soft); color: #7f6119; }
.rn-health-manager-list em.stale { background: #edf0f2; color: var(--text-2); }
.rn-health-manager-list em.unavailable { background: var(--danger-soft); color: var(--danger); }

@media (max-width: 700px) {
  .rn-health-panel.empty,
  .rn-health-summary { grid-template-columns: auto minmax(0,1fr); }
  .rn-health-panel.empty > .primary-btn,
  .rn-health-panel.empty > .secondary-btn,
  .rn-health-summary > .secondary-btn { grid-column: 1 / -1; width: 100%; }
  .rn-health-insights { grid-template-columns: 1fr; }
  .rn-health-modal { padding: 0; align-items: end; }
  .rn-health-modal-card { width: 100%; max-height: 92vh; border-radius: 25px 25px 0 0; padding-bottom: calc(20px + env(safe-area-inset-bottom)); }
  .rn-health-manager-actions { grid-template-columns: 1fr; }
}

@media (max-width: 390px) {
  .rn-health-ring { width: 62px; height: 62px; }
  .rn-health-ring b { font-size: 21px; }
  .rn-health-summary { gap: 10px; padding: 13px; }
  .rn-health-summary-copy h2 { font-size: 17px; }
  .rn-health-stats div { padding: 9px 5px; }
  .rn-health-algorithm > div { grid-template-columns: 1fr; }
}

/* ===== Rezeptnest v0.9.30 – kompakte Listenkarte und vollständige Mahlzeitenfilter ===== */
/*
 * Die Listenkarte verwendet wieder exakt die vor v0.9.29 geltenden Höhen.
 * Nur die zusätzlichen Bewertungs- und Scorezeilen werden kompakter dargestellt,
 * damit gekochte Rezepte nicht unten abgeschnitten werden.
 */
body[data-recipe-layout="list"] .recipe-grid .recipe-card.v61-card .v95-card-ratings {
  flex-wrap: nowrap !important;
  gap: 4px !important;
  max-height: 20px !important;
  margin: 3px 0 0 !important;
  overflow: hidden !important;
}
body[data-recipe-layout="list"] .recipe-grid .recipe-card.v61-card .v95-card-ratings > span {
  min-height: 20px !important;
  padding: 3px 5px !important;
  font-size: 8px !important;
  white-space: nowrap;
}
body[data-recipe-layout="list"] .recipe-grid .recipe-card.v61-card .v94-card-badges {
  flex-wrap: nowrap !important;
  gap: 3px !important;
  max-height: 20px !important;
  margin: 3px 0 0 !important;
  overflow: hidden !important;
}
body[data-recipe-layout="list"] .recipe-grid .recipe-card.v61-card .v94-card-badge {
  min-height: 20px !important;
  padding: 3px 5px !important;
  font-size: 8px !important;
}
body[data-recipe-layout="list"] .recipe-grid .recipe-card.v61-card .v61-card-footer {
  flex-wrap: nowrap !important;
  gap: 4px !important;
  max-height: 24px !important;
  margin-top: 3px !important;
  overflow: hidden !important;
}
body[data-recipe-layout="list"] .recipe-grid .recipe-card.v61-card .rn-health-card-score {
  min-height: 22px !important;
  height: 22px !important;
  margin-left: 0 !important;
  padding: 0 6px !important;
  font-size: 8px !important;
}
body[data-recipe-layout="list"] .recipe-grid .recipe-card.v61-card .rn-health-card-score b {
  font-size: 9px !important;
}

/* Auf schmalen Displays passen alle vier Mahlzeiten und der Favoritenfilter
 * ohne horizontales Scrollen in eine Zeile. Andere Filterreihen bleiben unverändert.
 */
@media (max-width: 520px) {
  .v97-filter-section .v97-filter-group:first-child .v97-filter-scroll {
    gap: 4px !important;
    overflow-x: visible !important;
    padding-right: 0 !important;
  }
  .v97-filter-section .v97-filter-group:first-child .v97-filter-chip {
    min-height: 34px !important;
    padding: 6px 7px !important;
    font-size: 10px !important;
  }
  .v97-filter-section .v97-filter-group:first-child .v97-heart-filter {
    width: 34px !important;
    min-width: 34px !important;
    padding: 0 !important;
  }
  .v97-filter-section .v97-filter-group:first-child .v97-heart-filter svg {
    width: 15px !important;
    height: 15px !important;
  }
}

@media (max-width: 370px) {
  .v97-filter-section .v97-filter-group:first-child .v97-filter-scroll {
    gap: 3px !important;
  }
  .v97-filter-section .v97-filter-group:first-child .v97-filter-chip {
    padding-left: 6px !important;
    padding-right: 6px !important;
    font-size: 9.5px !important;
  }
}

/* ===== Rezeptnest v0.9.31 – Grundzutaten und Regression-Schutz ===== */
.rn-pantry-staples {
  margin: 0 0 18px;
  padding: 15px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: linear-gradient(135deg, var(--surface-soft), var(--surface));
}
.rn-pantry-staples-head h3 {
  margin: 0;
  font-size: 15px;
}
.rn-pantry-staples-head span {
  display: block;
  margin-top: 4px;
  color: var(--text-2);
  font-size: 10.5px;
  line-height: 1.45;
}
.rn-pantry-staples-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  margin-top: 12px;
}
.rn-pantry-staples-form input {
  min-width: 0;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface);
  color: var(--text);
  font: inherit;
  font-size: 12px;
}
.rn-pantry-staples-form .secondary-btn {
  min-height: 42px;
  padding-inline: 13px;
  font-size: 11px;
}
.rn-pantry-staple-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 11px;
}
.rn-pantry-staple-chips > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 31px;
  padding: 4px 4px 4px 10px;
  border: 1px solid color-mix(in srgb, var(--primary) 23%, var(--border));
  border-radius: 999px;
  background: var(--surface);
  color: var(--primary-2);
  font-size: 10.5px;
}
.rn-pantry-staple-chips b { font-weight: 700; }
.rn-pantry-staple-chips button {
  width: 23px;
  height: 23px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--surface-strong);
  color: var(--text-2);
}
.rn-pantry-staple-chips button svg { width: 13px; height: 13px; }
.rn-pantry-staples-empty {
  margin: 10px 0 0;
  color: var(--text-3);
  font-size: 10.5px;
}

/* Levis mittlere Bewertung bleibt optisch gleichwertig zu den beiden
 * Daumenstufen und erhält im aktiven Zustand dieselbe klare Hervorhebung. */
.v94-levi-buttons button[data-value="neutral"].active {
  border-color: #d1a94d;
  background: var(--yellow-soft);
  color: #76570f;
}

@media (max-width: 390px) {
  .rn-pantry-staples-form { grid-template-columns: 1fr; }
  .rn-pantry-staples-form .secondary-btn { width: 100%; }
}

/* ===== Rezeptnest v0.9.34 – einheitliche KI-Analyse im Gesundheitscheck ===== */
.rn-health-analysis-evidence {
  margin-top: 11px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--primary) 22%, var(--border));
  border-radius: 15px;
  background: color-mix(in srgb, var(--primary-soft) 48%, var(--surface));
}
.rn-health-analysis-evidence > summary {
  cursor: pointer;
  color: var(--text);
  font-size: 11.5px;
  font-weight: 750;
}
.rn-health-analysis-head {
  display: grid;
  gap: 3px;
  margin-top: 10px;
  padding: 9px 10px;
  border-radius: 11px;
  background: rgba(255,255,255,.72);
}
.rn-health-analysis-head strong { color: var(--primary-2); font-size: 10.5px; }
.rn-health-analysis-head span { color: var(--text-2); font-size: 9.5px; line-height: 1.4; }
.rn-health-analysis-evidence ul {
  display: grid;
  gap: 7px;
  margin: 9px 0 0;
  padding: 0;
  list-style: none;
}
.rn-health-analysis-evidence li {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 3px 9px;
  padding: 9px 10px;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: var(--surface);
}
.rn-health-analysis-evidence li > div { min-width: 0; display: grid; gap: 2px; }
.rn-health-analysis-evidence li strong {
  overflow: hidden;
  color: var(--text);
  font-size: 10.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rn-health-analysis-evidence li span { color: var(--text-2); font-size: 9px; line-height: 1.35; }
.rn-health-analysis-evidence li em {
  align-self: start;
  padding: 3px 6px;
  border-radius: 999px;
  background: var(--surface-strong);
  color: var(--text-2);
  font-size: 8px;
  font-style: normal;
  font-weight: 700;
}
.rn-health-analysis-evidence li em.high { background: var(--primary-soft); color: var(--primary-2); }
.rn-health-analysis-evidence li em.medium { background: var(--yellow-soft); color: #76570f; }
.rn-health-analysis-evidence li em.low { background: #edf0f2; color: var(--text-2); }
.rn-health-analysis-evidence li p {
  grid-column: 1 / -1;
  margin: 3px 0 0;
  color: var(--text-3);
  font-size: 9px;
  line-height: 1.4;
}

/* ===== Rezeptnest v0.9.34 – eindeutige Scorelabels und KI-Nachanalyse ===== */
.rn-health-card-score span {
  max-width: 105px;
  overflow: hidden;
  text-overflow: ellipsis;
}
[data-recipe-layout="tiles-2"] .rn-health-card-score span { max-width: 72px; }
.rn-health-analysis-upgrade {
  margin: 0;
  padding: 10px 16px 12px;
  border-top: 1px solid color-mix(in srgb, var(--rn-health-color, var(--primary)) 16%, var(--border));
  color: var(--text-2);
  background: rgba(255,255,255,.45);
  font-size: 10.5px;
  line-height: 1.45;
}
.rn-health-manager-actions > small {
  grid-column: 1 / -1;
  margin: -2px 2px 2px;
  color: var(--text-3);
  font-size: 9.5px;
  line-height: 1.4;
}
.rn-health-ai-batch {
  grid-column: 1 / -1;
}
.rn-health-summary button[aria-busy="true"],
.rn-health-panel.empty button[aria-busy="true"] {
  opacity: .72;
  cursor: wait;
}
body[data-recipe-layout="list"] .recipe-grid .recipe-card.v61-card .rn-health-card-score span {
  max-width: 74px;
}

/* ===== Rezeptnest v0.9.37 – Navigations-Regressionen zentral abgesichert ===== */
/* Aktive KI-Karten bleiben exakt so hoch wie die jeweilige Listen-/Kachelkarte.
 * Das Overlay liegt absolut auf der vorhandenen Karte und verändert das Layout nicht. */
.recipe-card.rn-ai-locked {
  cursor: progress;
}
.recipe-card.rn-ai-locked > :not(.rn-ai-card-overlay) {
  pointer-events: none;
}
.rn-ai-card-overlay {
  position: absolute;
  inset: 0;
  z-index: 24;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 4px;
  width: 100%;
  min-width: 0;
  min-height: 0;
  padding: 10px 12px;
  border: 0;
  border-radius: inherit;
  background: color-mix(in srgb, var(--surface) 90%, transparent);
  color: var(--text);
  text-align: center;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
.rn-ai-card-overlay .v74-ai-spinner {
  width: 18px;
  height: 18px;
  color: var(--primary-2);
}
.rn-ai-card-overlay strong {
  max-width: 100%;
  overflow: hidden;
  font-size: 11px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rn-ai-card-overlay small {
  color: var(--text-2);
  font-size: 9px;
  line-height: 1.25;
}
.rn-ai-card-progress,
.rn-ai-progress {
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--primary) 13%, var(--surface-strong));
}
.rn-ai-card-progress {
  max-width: 128px;
  height: 4px;
  margin-top: 3px;
}
.rn-ai-progress { height: 5px; margin-top: 7px; }
.rn-ai-card-progress > i,
.rn-ai-progress > i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--primary);
  transition: width .25s ease;
}

.rn-ai-queue-strip {
  width: calc(100% - 32px);
  max-width: 760px;
  min-height: 48px;
  margin: 8px auto 2px;
  padding: 8px 12px;
  display: grid;
  grid-template-columns: 28px minmax(0,1fr) 18px;
  gap: 9px;
  align-items: center;
  border: 1px solid color-mix(in srgb, var(--primary) 24%, var(--border));
  border-radius: 15px;
  background: color-mix(in srgb, var(--primary-soft) 64%, var(--surface));
  color: var(--primary-2);
  text-align: left;
  box-shadow: 0 6px 18px rgba(37,91,82,.06);
}
.rn-ai-queue-strip > svg,
.rn-ai-queue-strip > .v74-ai-spinner { width: 18px; height: 18px; justify-self: center; }
.rn-ai-queue-strip > span:not(.v74-ai-spinner) { min-width: 0; display: grid; gap: 1px; }
.rn-ai-queue-strip strong { font-size: 11.5px; }
.rn-ai-queue-strip small { color: var(--text-2); font-size: 9.5px; }
.rn-ai-queue-strip > svg:last-child { width: 16px; height: 16px; }
.v70-bell.rn-ai-active { background: var(--primary-soft); color: var(--primary-2); }

.rn-ai-queue-summary {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 7px;
  margin: 2px 0 15px;
}
.rn-ai-queue-summary > span {
  display: grid;
  justify-items: center;
  gap: 1px;
  padding: 9px 5px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: var(--surface-soft);
  color: var(--text-2);
  font-size: 9px;
}
.rn-ai-queue-summary b { color: var(--text); font-size: 15px; line-height: 1; }
.rn-ai-queue-section { display: grid; gap: 7px; margin-top: 14px; }
.rn-ai-queue-section > h3 {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 2px;
  color: var(--text-2);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.rn-ai-queue-section > h3 span {
  display: inline-grid;
  place-items: center;
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--surface-strong);
  font-size: 9px;
}
.rn-ai-queue-section > div { display: grid; gap: 7px; }
.rn-ai-queue-row {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) auto;
  gap: 9px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 15px;
  background: var(--surface);
  color: var(--text);
  text-align: left;
}
.rn-ai-queue-row.processing { border-color: color-mix(in srgb, var(--primary) 34%, var(--border)); background: color-mix(in srgb, var(--primary-soft) 32%, var(--surface)); }
.rn-ai-queue-row.failed { border-color: color-mix(in srgb, var(--danger) 25%, var(--border)); }
.rn-ai-queue-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--primary-soft);
  color: var(--primary-2);
}
.rn-ai-queue-row.failed .rn-ai-queue-icon { background: var(--danger-soft); color: var(--danger); }
.rn-ai-queue-icon svg { width: 18px; height: 18px; }
.rn-ai-queue-copy { min-width: 0; display: grid; gap: 2px; }
.rn-ai-queue-copy strong { overflow: hidden; font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap; }
.rn-ai-queue-copy small { color: var(--text-2); font-size: 9px; line-height: 1.35; }
.rn-ai-queue-trailing { min-width: 24px; display: grid; place-items: center; color: var(--text-3); font-size: 10px; }
.rn-ai-queue-trailing b { color: var(--primary-2); font-size: 10px; }
.rn-ai-queue-trailing svg { width: 16px; height: 16px; }

.rn-baking-control {
  display: grid;
  grid-template-columns: auto 38px minmax(0,1fr);
  gap: 10px;
  align-items: center;
  padding: 11px 12px;
  border: 1px solid var(--border);
  border-radius: 15px;
  background: var(--surface-soft);
  cursor: pointer;
}
.rn-baking-control > input { width: 18px; height: 18px; accent-color: var(--primary); }
.rn-baking-control-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--surface);
  font-size: 18px;
}
.rn-baking-control > span:last-child { min-width: 0; display: grid; gap: 2px; }
.rn-baking-control strong { color: var(--text); font-size: 11.5px; }
.rn-baking-control small { color: var(--text-2); font-size: 9.5px; line-height: 1.35; }
.rn-ai-instruction-help { display: block; margin-top: 6px; color: var(--text-3); font-size: 9.5px; line-height: 1.45; }

@media (max-width: 520px) {
  .v97-filter-section .v97-filter-group.secondary .v97-filter-scroll {
    gap: 4px;
    overflow-x: visible;
  }
  .v97-filter-section .v97-filter-group.secondary .v97-filter-chip {
    min-height: 33px;
    padding: 6px 8px;
    font-size: 10px;
  }
  .rn-ai-queue-strip { width: calc(100% - 24px); }
}

@media (max-width: 370px) {
  .v97-filter-section .v97-filter-group.secondary .v97-filter-chip {
    padding-inline: 6px;
    font-size: 9.5px;
  }
}

.rn-ai-retry-label { display:inline-flex; align-items:center; gap:5px; color:var(--danger); font-size:12px; font-weight:800; white-space:nowrap; }
.rn-ai-retry-label svg { width:15px; height:15px; }
.rn-ai-queue-row.failed:disabled { opacity:.68; }


/* Rezeptnest v0.9.37 – kritische Navigations-Interaktionen */
.detail-hero .detail-close {
  z-index: 20 !important;
  pointer-events: auto !important;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}


/* Rezeptnest v0.9.38 – direkte Sheet-Interaktion und robuste Touch-Ziele */
.sheet .close-btn {
  width: 46px;
  height: 46px;
  min-width: 46px;
  min-height: 46px;
  position: relative;
  z-index: 10;
  pointer-events: auto;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.detail-hero .detail-close {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px;
  min-height: 48px;
}

/* Rezeptnest v0.9.39 – KI-Fortschritt zeigt nur noch echte Phasen.
 * OpenAI liefert bei Background Responses keinen belastbaren Prozentwert. */
.rn-ai-progress.indeterminate > i,
.rn-ai-card-progress.indeterminate > i {
  width: 38%;
  animation: rn-ai-indeterminate 1.25s ease-in-out infinite;
}
.rn-ai-running-label {
  color: var(--primary-2);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}
@keyframes rn-ai-indeterminate {
  0% { transform: translateX(-115%); }
  55% { transform: translateX(95%); }
  100% { transform: translateX(270%); }
}
@media (prefers-reduced-motion: reduce) {
  .rn-ai-progress.indeterminate > i,
  .rn-ai-card-progress.indeterminate > i { animation: none; width: 62%; }
}

/* Rezeptnest v0.9.40 – eigene Notizen und globale Suche */
.rn-personal-notes{
  margin:14px 0 16px;
  padding:15px 16px;
  border:1px solid rgba(190,151,48,.24);
  border-radius:18px;
  background:#fff9df;
  box-shadow:0 5px 16px rgba(111,87,24,.04);
}
.rn-personal-notes-title{display:flex;align-items:center;gap:8px;margin-bottom:9px;color:#745d17}
.rn-personal-notes-title svg{width:18px;height:18px;flex:0 0 auto}
.rn-personal-note-item+ .rn-personal-note-item{margin-top:10px;padding-top:10px;border-top:1px solid rgba(190,151,48,.18)}
.rn-personal-note-item>span{display:block;margin-bottom:3px;font-size:12px;font-weight:800;letter-spacing:.02em;color:#937726}
.rn-personal-note-item p{margin:0;line-height:1.48;color:#4f4937;white-space:pre-wrap}
.rn-global-search-head .section-title{max-width:75%}
.v74-attach-row [data-action="v70-audio-record"]{white-space:nowrap}
@media(max-width:520px){
  .rn-personal-notes{padding:13px 14px;border-radius:16px}
  .rn-global-search-head .section-title{max-width:72%;font-size:20px}
  .v74-attach-row [data-action="v70-audio-record"]{font-size:13px}
}

/* Rezeptnest v0.9.42 – transaktionale Rezepterstellung und Recovery */
.rn-form-draft-note{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:12px 14px;
  border:1px solid rgba(190,151,48,.24);
  border-radius:15px;
  background:#fff9df;
  color:#5f522c;
}
.rn-form-draft-note strong{font-size:14px;color:#745d17}
.rn-form-draft-note span{font-size:12px;line-height:1.45;color:#7b6d45}
.rn-recovery-notice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 18px;
  padding:14px 15px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#f1faf7;
}
.rn-recovery-notice.pending{background:#fff8e5;border-color:rgba(190,151,48,.28)}
.rn-recovery-notice>div:first-child{min-width:0;display:flex;flex-direction:column;gap:3px}
.rn-recovery-notice strong{font-size:14px;color:var(--ink)}
.rn-recovery-notice span{font-size:12px;line-height:1.4;color:var(--muted)}
.rn-recovery-notice small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--primary-2);font-weight:700}
.rn-recovery-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.rn-health-calculation-basis{display:block;margin-top:6px;font-size:11px;line-height:1.35;color:var(--primary-2);font-weight:700}
@media(max-width:560px){
  .rn-recovery-notice{align-items:flex-start;flex-direction:column}
  .rn-recovery-actions{width:100%}
  .rn-recovery-actions button{flex:1}
}
.rn-ai-review-status{
  margin:12px 0 16px;
  padding:13px 15px;
  border:1px solid var(--line);
  border-radius:17px;
  background:#f2faf8;
}
.rn-ai-review-status.warning{background:#fff8e8;border-color:rgba(190,151,48,.28)}
.rn-ai-review-head{display:flex;gap:10px;align-items:flex-start}
.rn-ai-review-head>svg{width:19px;height:19px;flex:0 0 auto;margin-top:1px;color:var(--primary-2)}
.rn-ai-review-status.warning .rn-ai-review-head>svg{color:#a07818}
.rn-ai-review-head strong,.rn-ai-review-head span{display:block}
.rn-ai-review-head strong{font-size:14px;color:var(--ink)}
.rn-ai-review-head span{margin-top:2px;font-size:12px;line-height:1.4;color:var(--muted)}
.rn-ai-review-status ul{margin:10px 0 0 29px;padding:0;color:#66572e;font-size:12px;line-height:1.45}
.rn-ai-review-status li+li{margin-top:4px}

/* v0.9.42 – universelle KI-Nachanalyse direkt im oberen Rezeptbereich */
.rn-ai-review-cta{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;margin:0 0 14px;padding:13px 14px;border:1px solid var(--border);border-radius:17px;background:var(--surface);align-items:start}
.rn-ai-review-cta-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--primary-soft);color:var(--primary-2)}
.rn-ai-review-cta-icon svg{width:21px;height:21px}.rn-ai-review-cta-copy{display:flex;flex-direction:column;min-width:0;padding-top:1px}.rn-ai-review-cta-copy strong{font-size:13px;line-height:1.25}.rn-ai-review-cta-copy span{margin-top:4px;color:var(--text-2);font-size:10.5px;line-height:1.45}
.rn-ai-review-cta-button{grid-column:1/-1;width:100%;min-height:43px;margin-top:1px}.rn-ai-review-cta-button .v74-ai-spinner{display:inline-block;margin-right:6px}


/* v0.9.43 – flexible Rezeptkategorien und hervorgehobene Mengen */
.rn-category-controls{margin:2px 0 14px;padding:13px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}
.rn-category-control-head{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}.rn-category-control-head strong{font-size:12px}.rn-category-control-head small{color:var(--text-3);font-size:10px;line-height:1.4}
.rn-category-control-grid{display:flex;flex-wrap:wrap;gap:7px}.rn-category-control{display:flex;align-items:center;gap:6px;min-height:36px;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);cursor:pointer}.rn-category-control input{width:15px;height:15px;margin:0;accent-color:var(--primary)}.rn-category-control>span{font-size:15px}.rn-category-control strong{font-size:11px;font-weight:700}
.rn-category-settings-block{margin:14px 0;padding:14px;border:1px solid var(--border);border-radius:17px;background:var(--surface-soft)}.rn-category-settings-block>strong,.rn-category-settings-title strong{font-size:13px}.rn-category-settings-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.rn-category-settings-title small{color:var(--text-3);font-size:10px}.rn-category-settings-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.rn-category-settings-chips span{padding:7px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:11px;font-weight:700}.rn-category-settings-list{display:grid;gap:7px;margin-top:10px}.rn-category-settings-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:12px;background:var(--surface)}.rn-category-settings-list>div>span{font-size:12px}.rn-category-settings-list button{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:var(--text-3)}.rn-category-settings-list button svg{width:17px;height:17px}.rn-category-settings-empty,.rn-category-settings-note{color:var(--text-3);font-size:11px;line-height:1.45}.rn-category-add-form{display:grid;gap:6px;margin-top:12px}.rn-category-add-form label{font-size:11px;font-weight:700;color:var(--text-2)}.rn-category-add-form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.rn-category-add-form input{min-width:0;height:43px;padding:0 12px;border:1px solid var(--border);border-radius:13px;background:var(--surface);font:inherit}.rn-category-add-form .primary-btn{min-height:43px;padding:0 14px}.rn-category-settings-note{margin:12px 0 0}
.rn-ingredient-amount{color:var(--primary);font-weight:800}
.v91-checkable-ingredients li.done .rn-ingredient-amount{color:inherit}
.v80-portion-preview .rn-ingredient-amount{display:inline;margin:0;color:var(--primary);font-weight:800}
