/* burg-rezept – Burg Wassenberg Design (Gold / Dunkelnavy) */
:root{
  --burg-gold:#c9a96e; --burg-gold-soft:rgba(201,169,110,.12); --burg-gold-line:rgba(201,169,110,.4);
  --burg-dark:#1a1a2e; --bg:#0f1016; --surface:#1b1d27; --surface2:#232634; --line:#2a2e3c;
  --txt:#e8eaed; --muted:#9aa0a6;
}
body{ background:var(--bg); color:var(--txt); }

/* ── Navbar ── */
.navbar{ background:#14151f !important; border-bottom:1px solid var(--burg-gold-line) !important; }
.navbar-brand{ color:var(--burg-gold) !important; font-weight:800; letter-spacing:.04em; }
.navbar .nav-link{ color:#cfd3da !important; border-radius:8px; padding:.45rem .7rem !important; margin:0 1px; }
.navbar .nav-link:hover{ color:#fff !important; background:rgba(255,255,255,.06); }
.navbar .nav-link.active{ color:var(--burg-dark) !important; background:var(--burg-gold); font-weight:700; }

/* ── Karten ── */
.card{ background:var(--surface); border:1px solid var(--line); border-radius:14px; box-shadow:0 2px 14px rgba(0,0,0,.28); }
.card-header{ background:var(--surface2); border-bottom:1px solid var(--line); border-radius:14px 14px 0 0; font-weight:600; }

/* ── Buttons ── */
.btn-primary{ background:var(--burg-gold); border-color:var(--burg-gold); color:#1a1a2e; font-weight:600; }
.btn-primary:hover,.btn-primary:focus{ background:#b8943f; border-color:#b8943f; color:#1a1a2e; }
.btn-outline-primary,.btn-outline-warning{ color:var(--burg-gold); border-color:var(--burg-gold-line); }
.btn-outline-primary:hover,.btn-outline-warning:hover{ background:var(--burg-gold); border-color:var(--burg-gold); color:#1a1a2e; }
.btn-outline-secondary,.btn-outline-info,.btn-outline-success,.btn-outline-danger,.btn-outline-light{ border-color:var(--line); }

/* ── Formulare ── */
.form-control,.form-select{ background:var(--surface2); border-color:var(--line); color:var(--txt); border-radius:9px; }
.form-control:focus,.form-select:focus{ background:var(--surface2); border-color:var(--burg-gold); color:var(--txt); box-shadow:0 0 0 .2rem rgba(201,169,110,.18); }
.form-control::placeholder{ color:#6c727e; }

/* ── Tabellen / Listen ── */
.table{ color:var(--txt); }
.table thead th{ border-bottom-color:var(--line); color:var(--muted); text-transform:uppercase; font-size:.72rem; letter-spacing:.04em; }
.table td,.table th{ border-top-color:var(--line); border-color:var(--line); }
.table-hover tbody tr:hover{ background:var(--burg-gold-soft); }
.list-group-item{ background:var(--surface2); border-color:var(--line); color:var(--txt); }
.list-group-item:hover{ background:#2a2e3c; }
.search-results{ position:absolute; z-index:1000; background:var(--surface2); border:1px solid var(--line); border-radius:9px; max-height:240px; overflow-y:auto; box-shadow:0 8px 24px rgba(0,0,0,.4); }
.search-results .list-group-item{ background:var(--surface2); color:var(--txt); border-color:var(--line); }
.search-results .list-group-item:hover{ background:var(--burg-gold-soft); }

/* ── Sonstiges ── */
.badge{ font-weight:600; }
.dropdown-menu{ background:var(--surface2); border:1px solid var(--line); }
.dropdown-item{ color:var(--txt); }
.dropdown-item:hover{ background:var(--burg-gold-soft); color:#fff; }
.display-4,.display-3{ color:var(--burg-gold); font-weight:800; }
a{ color:var(--burg-gold); }
a:hover{ color:#dcc08c; }
pre{ color:var(--txt); }
.text-warning{ color:var(--burg-gold) !important; }

/* ── Foodcost-/Marge-Ampel ── */
.fc-badge{ font-weight:700; padding:3px 10px; border-radius:20px; font-size:.74rem; display:inline-flex; align-items:center; gap:4px; white-space:nowrap; }
.fc-good{ background:rgba(34,197,94,.16); color:#4ade80; border:1px solid rgba(34,197,94,.4); }
.fc-mid{ background:rgba(245,158,11,.16); color:#fbbf24; border:1px solid rgba(245,158,11,.4); }
.fc-bad{ background:rgba(239,68,68,.16); color:#f87171; border:1px solid rgba(239,68,68,.4); }
.fc-none{ background:rgba(120,130,145,.16); color:#9aa0a6; border:1px solid var(--line); }
.kpi-val{ font-family:'Outfit','Segoe UI',sans-serif; font-weight:800; }

/* ── Rezept-Karten (kompakt & klar) ── */
.rcard{ position:relative; display:flex; flex-direction:column; height:100%;
  background:var(--surface); border:1px solid var(--line); border-left:3px solid var(--line);
  border-radius:13px; padding:14px 16px; transition:border-color .14s, transform .12s, box-shadow .14s; }
.rcard:hover{ transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.42); border-color:var(--burg-gold-line); }
.rcard.fc-l-good{ border-left-color:#4ade80; }
.rcard.fc-l-mid{ border-left-color:#fbbf24; }
.rcard.fc-l-bad{ border-left-color:#f87171; }
.rcard.fc-l-none{ border-left-color:var(--line); }
.rcard-link{ position:absolute; inset:0; z-index:1; border-radius:13px; }
.rcard-title{ font-family:'Outfit',sans-serif; font-weight:700; font-size:1.04rem; color:#fff; line-height:1.25;
  display:flex; align-items:flex-start; gap:9px; }
.rcard-dot{ width:9px; height:9px; border-radius:50%; flex-shrink:0; margin-top:6px; }
.dot-good{ background:#4ade80; } .dot-mid{ background:#fbbf24; } .dot-bad{ background:#f87171; } .dot-none{ background:#5c6270; }
.rcard-meta{ color:var(--muted); font-size:.78rem; margin-top:4px; }
.rcard-div{ border-top:1px solid var(--line); margin:12px 0 10px; }
.rcard-kpis{ display:flex; gap:22px; }
.rcard-kpi .l{ color:var(--muted); font-size:.64rem; text-transform:uppercase; letter-spacing:.05em; }
.rcard-kpi .v{ font-family:'Outfit',sans-serif; font-weight:700; font-size:1.02rem; line-height:1.3; }
.rcard-kpi .v.muted{ color:var(--muted); font-weight:600; font-size:.86rem; }
.rcard-foot{ display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin-top:11px; }
.rcard-actions{ position:absolute; top:11px; right:13px; z-index:2; display:flex; gap:5px; opacity:0; transition:opacity .14s; }
.rcard:hover .rcard-actions{ opacity:1; }
.rcard-actions a, .rcard-actions button{ width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:8px; border:1px solid var(--line); background:var(--surface2); color:var(--muted); font-size:.9rem; cursor:pointer; padding:0; }
.rcard-actions a:hover, .rcard-actions button:hover{ color:#fff; border-color:var(--burg-gold-line); background:#2a2e3c; }
@media (hover:none){ .rcard-actions{ opacity:1; } }

/* ── Rezept-Detail ── */
.r-hero{ height:210px; border-radius:14px; background-size:cover; background-position:center;
  margin-bottom:20px; border:1px solid var(--line); position:relative; overflow:hidden; }
.r-hero::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(15,16,22,0) 35%,rgba(15,16,22,.55)); }
.stat{ background:var(--surface); border:1px solid var(--line); border-radius:13px; padding:15px 16px; height:100%; }
.stat.accent{ border-left:3px solid var(--burg-gold); }
.stat .l{ color:var(--muted); font-size:.68rem; text-transform:uppercase; letter-spacing:.05em; }
.stat .v{ font-family:'Outfit',sans-serif; font-weight:800; font-size:1.5rem; margin-top:4px; line-height:1.1; }
.detail-card{ background:var(--surface); border:1px solid var(--line); border-radius:14px; margin-bottom:20px; overflow:hidden; }
.detail-card > .dc-head{ display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:13px 17px; border-bottom:1px solid var(--line); font-family:'Outfit',sans-serif; font-weight:700; font-size:1rem; }
.detail-card > .dc-head .t{ display:flex; align-items:center; gap:9px; }
.detail-card > .dc-head .t i{ color:var(--burg-gold); }
.detail-card > .dc-body{ padding:16px 17px; }
.ing-table{ width:100%; border-collapse:collapse; }
.ing-table th{ text-align:left; color:var(--muted); font-size:.66rem; text-transform:uppercase; letter-spacing:.04em; padding:6px 8px; border-bottom:1px solid var(--line); white-space:nowrap; }
.ing-table th.num, .ing-table td.num{ text-align:right; }
.ing-table td{ padding:10px 8px; border-bottom:1px solid var(--line); font-size:.9rem; }
.ing-table tbody tr:last-child td{ border-bottom:none; }
.ing-table tr.ing-miss > td{ background:rgba(239,68,68,.05); }
.calc-line{ display:flex; justify-content:space-between; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid var(--line); font-size:.9rem; }
.calc-line:last-child{ border-bottom:none; }
.calc-line .lbl{ color:var(--muted); }
.calc-line.hl{ font-weight:700; font-size:.98rem; }
.calc-line.hl .lbl{ color:var(--txt); }
.val-pos{ color:#4ade80; } .val-neg{ color:#f87171; }
.tool-btn{ display:flex; align-items:center; gap:10px; width:100%; padding:11px 13px; border-radius:10px;
  border:1px solid var(--line); background:var(--surface2); color:var(--txt); text-decoration:none; font-size:.88rem; margin-bottom:8px; cursor:pointer; }
.tool-btn:last-child{ margin-bottom:0; }
.tool-btn:hover{ border-color:var(--burg-gold-line); color:#fff; background:#2a2e3c; }
.tool-btn i{ color:var(--burg-gold); font-size:1.05rem; width:18px; text-align:center; }
.chip{ display:inline-flex; align-items:center; gap:5px; padding:3px 10px; border-radius:20px; font-size:.74rem; font-weight:600;
  background:var(--burg-gold-soft); color:var(--burg-gold); border:1px solid var(--burg-gold-line); }
.chip.muted{ background:var(--surface2); color:var(--muted); border-color:var(--line); }

/* ── Print ── */
@media print{
    .navbar,.btn,.btn-group,form{ display:none !important; }
    body{ background:#fff; color:#000; }
    .card{ border:none !important; box-shadow:none !important; background:#fff !important; }
    .card-header{ background:none !important; border-bottom:1px solid #000 !important; }
}
