:root{--bg:#151815;--panel:#222621;--panel2:#2a2f29;--text:#f5eddb;--muted:#bdb7a9;--gold:#d3a950;--green:#708c55;--red:#b45b51;--line:#3b4038;--cream:#f1e6cf}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 70% 0,#283027 0,var(--bg) 38%);color:var(--text);font:15px/1.45 Segoe UI,Arial,sans-serif}a{color:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:#111411;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:10}.brand{padding:20px;text-decoration:none;border-bottom:1px solid var(--line)}.brand img{width:100%;display:block}.brand span{display:block;text-align:center;color:var(--gold);letter-spacing:2px;margin-top:8px}.sidebar nav{padding:15px}.sidebar nav a{display:block;text-decoration:none;padding:12px 14px;border-radius:10px;color:#d8d2c4;margin:3px 0}.sidebar nav a:hover{background:var(--panel2);color:white}.user{margin-top:auto;padding:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between}.user a{color:var(--muted)}.main{margin-left:245px;padding:28px;min-height:100vh}header{display:flex;align-items:center;gap:16px;margin-bottom:24px}header h1{margin:0;font-size:28px}header p{margin:2px 0;color:var(--muted)}.online{margin-left:auto;color:#9ac478}.menu{display:none}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:18px}.metrics article,.panel,.product-card{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 35px #0004}.metrics article{padding:20px}.metrics span{display:block;color:var(--muted);font-size:13px}.metrics strong{display:block;font-size:25px;margin-top:5px;color:var(--cream)}.grid{display:grid;gap:18px;margin-bottom:18px}.grid.two{grid-template-columns:1.35fr 1fr}.customer-layout{grid-template-columns:330px 1fr}.panel{padding:20px;overflow:auto}.panel h2{margin:0 0 15px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.button,button{border:1px solid #58604f;background:#343a32;color:white;padding:9px 13px;border-radius:9px;cursor:pointer;text-decoration:none;font-weight:600}.primary{background:linear-gradient(#d7ae55,#ad812f);border-color:#e6c77d;color:#17130b}.danger{background:#743a35;border-color:#9b5149}.big{padding:14px}input,select,textarea{width:100%;background:#171a17;color:var(--text);border:1px solid #4a5047;border-radius:8px;padding:10px;font:inherit}label{display:grid;gap:6px;color:var(--muted)}.stack{display:grid;gap:14px}.inline,.filters,.search,.compact{display:flex;gap:9px;align-items:center}.filters input{min-width:250px}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.7px}td,th{padding:11px 9px;border-bottom:1px solid var(--line)}td input{min-width:115px;padding:7px}.actions{display:flex;gap:5px}.badge{display:inline-block;background:#3c4937;color:#d9ecc9;padding:4px 9px;border-radius:99px;font-size:12px}.badge.large{font-size:14px}.empty,.hint{color:var(--muted)}.timeline div{padding:9px 0;border-bottom:1px solid var(--line)}.timeline small{float:right;color:var(--muted)}.stockline{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid var(--line)}.welcome{display:flex;align-items:center}.welcome img{width:120px;height:110px;object-fit:contain}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.product-card{padding:17px}.product-card.low{border-color:#a36746}.product-title,.stock{display:flex;justify-content:space-between;gap:10px}.product-title h3{margin:0}.product-title strong{color:var(--gold)}.stock{margin:17px 0}.stock div{flex:1;background:#191c18;border-radius:10px;padding:9px;text-align:center}.stock span{display:block;color:var(--muted);font-size:12px}.stock b{font-size:20px}details{border-top:1px solid var(--line);padding-top:9px;margin-top:8px}summary{cursor:pointer;color:var(--gold)}.compact{margin-top:9px;flex-wrap:wrap}.compact>*{flex:1;min-width:90px}.order-item{display:grid;grid-template-columns:1fr 100px 100px 42px;gap:8px;margin-bottom:8px;align-items:center}.line{text-align:right}.order-total{text-align:right;font-size:20px;margin-top:15px}.totals{display:flex;justify-content:flex-end;gap:24px;font-size:17px;margin:18px 0}.totals span{display:grid}.recipe{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:12px 0}.recipe>div{flex:1}.recipe h3,.recipe p{margin:0}.ingredient{display:grid;grid-template-columns:1fr 100px;gap:8px;margin-bottom:8px}.neg{color:#ff8b80}.flash{padding:12px 15px;border-radius:10px;margin-bottom:15px}.flash.success{background:#314a31}.flash.error{background:#603632}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.login-card{width:420px;padding:35px;background:#171a17e8;border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 80px #0009;z-index:2;text-align:center}.login-card form{display:grid;gap:14px;text-align:left}.login-logo{width:100%}.login-card h1{margin:12px 0 0}.login-card p,.login-card small{color:var(--muted)}.owners{position:absolute;right:5%;bottom:-10px;height:82vh;opacity:.68;filter:drop-shadow(0 20px 20px #000)}@media(max-width:1000px){.grid.two,.customer-layout{grid-template-columns:1fr}.sidebar{transform:translateX(-100%)}.sidebar.open{transform:none}.main{margin-left:0}.menu{display:block}.owners{opacity:.2;right:-20%}}.danger-zone{border-color:#78443f;background:linear-gradient(145deg,#342522,#241d1b)}.danger-zone h2{color:#f0aaa2}.danger-zone p{color:#d0b4af}
.missing-number{display:inline-flex;min-width:58px;justify-content:center;padding:7px 12px;border-radius:10px;background:#6a382f;border:1px solid #a75e50;color:#ffd8cf;font-size:18px;font-weight:800}.all-good{display:grid;place-items:center;gap:6px;min-height:220px;text-align:center;color:#a9cc8d}.all-good strong{font-size:24px}.all-good span{color:var(--muted)}

/* Version 1.3 – Verkaufsartikel und moderne Navigation */
.sidebar nav a{display:flex;align-items:center;gap:11px}.nav-icon{width:20px;height:20px;flex:0 0 20px;color:#b8c6a8}.sidebar nav a:hover .nav-icon{color:#f1d58e}.sidebar nav .nav-primary{background:linear-gradient(135deg,#3b4633,#2b3227);border:1px solid #56634b;color:#fff;margin-bottom:10px}.sidebar nav .nav-primary .nav-icon{color:#e8bf67}.price-overview{padding:0;overflow:hidden}.price-head{padding:22px 24px;margin:0;border-bottom:1px solid var(--line)}.price-head h2,.price-head p{margin:0}.price-search{position:relative;display:flex;align-items:center;min-width:390px}.price-search svg{position:absolute;left:13px;width:18px;height:18px;color:var(--muted);pointer-events:none}.price-search input{padding-left:42px;padding-right:38px;height:44px;background:#151815}.clear-search{position:absolute;right:12px;text-decoration:none;color:var(--muted);font-size:24px;line-height:1}.price-table-wrap{max-height:calc(100vh - 225px);overflow:auto}.price-table th{position:sticky;top:0;background:#20241f;z-index:1;padding:13px 24px}.price-table td{padding:12px 24px;font-size:16px}.price-table tbody tr:nth-child(even){background:#ffffff06}.price-table tbody tr:hover{background:#d3a95012}.price-table th:nth-child(2),.price-table td:nth-child(2),.price-table th:nth-child(3),.price-table td:nth-child(3){text-align:right}.price-value{font-size:17px!important;font-weight:800;color:#f1d48e}.availability{color:var(--muted);font-variant-numeric:tabular-nums}.article-name{border:0;background:transparent;padding:0;color:var(--cream);font:inherit;font-weight:650;text-align:left}.article-name:hover{color:#f1d48e;text-decoration:underline;text-underline-offset:4px}.article-drawer{position:fixed;right:28px;top:105px;width:330px;padding:26px;background:linear-gradient(145deg,#2e342c,#1b1f1b);border:1px solid #596253;border-radius:18px;box-shadow:0 25px 70px #000a;z-index:30;transform:translateX(calc(100% + 60px));opacity:0;transition:.22s ease}.article-drawer.open{transform:none;opacity:1}.drawer-close{position:absolute;right:13px;top:10px;border:0;background:transparent;color:var(--muted);font-size:27px}.drawer-kicker{color:var(--gold);text-transform:uppercase;letter-spacing:1.5px;font-size:11px}.article-drawer h2{margin:7px 0 2px;font-size:25px}.drawer-price{font-size:31px;font-weight:850;color:#f1d48e;margin:8px 0 20px}.drawer-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.drawer-stats div{background:#141714;border:1px solid var(--line);border-radius:11px;padding:11px;text-align:center}.drawer-stats span{display:block;color:var(--muted);font-size:11px}.drawer-stats strong{font-size:19px}@media(max-width:1000px){.price-search{min-width:260px}.article-drawer{right:15px;top:85px}}@media(max-width:650px){.price-head{align-items:stretch;flex-direction:column}.price-search{min-width:0;width:100%}.price-table th,.price-table td{padding:11px 14px}.price-table th:nth-child(3),.price-table td:nth-child(3){display:none}.article-drawer{left:15px;right:15px;width:auto}}
/* Version 2.0 – Planung, Artikeltypen und vereinfachte Abholung */
.purchase-number{display:inline-flex;min-width:58px;justify-content:center;padding:7px 12px;border-radius:10px;background:#55482b;border:1px solid #a98b45;color:#ffe4a4;font-size:18px;font-weight:800}.order-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.order-plan-card{background:#191d18;border:1px solid var(--line);border-radius:13px;padding:15px}.order-plan-card.ready{border-color:#4f6846}.order-plan-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.order-plan-head div{display:grid;gap:2px}.order-plan-head a{color:var(--gold)}.order-plan-head span{color:var(--muted)}.badge.shortage{background:#633a32;color:#ffd0c7}.badge.ready{background:#365037;color:#d8f0cd}.ready-text{color:#a9cc8d}.payment-choice{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#171a17;cursor:pointer}.payment-choice input{width:auto}.payment-choice span{display:grid}.payment-choice small{color:var(--muted)}.type-pill{display:inline-block;margin-top:5px;padding:3px 8px;border-radius:99px;font-size:11px;color:var(--muted);background:#171a17;border:1px solid var(--line)}.type-pill.grown{color:#bddd9f}.type-pill.produced{color:#e6c678}.type-pill.purchased{color:#d7b4e7}.add-product{border:0;padding:0;margin:0}.add-product summary{list-style:none}.new-product-form{position:absolute;right:28px;z-index:20;width:min(850px,calc(100vw - 300px));padding:14px;background:#171a17;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 50px #0009}.price-edit{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px}.price-edit input{width:92px;padding:7px;text-align:right}.price-edit button{padding:7px 9px}@media(max-width:700px){.planning-overview{grid-template-columns:1fr}.new-product-form{position:fixed;left:15px;right:15px;top:90px;width:auto}}

/* Version 2.1 – Bestandsampel, Artikelsuche und Produktbilder */
.traffic-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;max-height:520px;overflow:auto;padding-right:4px}.traffic-row{display:grid;grid-template-columns:14px 1fr auto auto;gap:9px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#171a17}.traffic-dot{width:12px;height:12px;border-radius:50%;box-shadow:0 0 10px currentColor}.traffic-row.critical{color:#ff7c70;border-color:#713e39}.traffic-row.warning{color:#f0c75d;border-color:#756331}.traffic-row.good{color:#8fd177;border-color:#47683f}.traffic-name{color:var(--text);font-weight:700}.traffic-row b{color:currentColor}.traffic-row small{min-width:52px;text-align:right;color:currentColor}.product-visual{height:104px;display:grid;place-items:center;margin:-3px -3px 10px;border-radius:12px;background:#0c0e0d;overflow:hidden;padding:10px}.product-visual img{width:auto;height:auto;max-width:84%;max-height:84%;object-fit:contain;display:block}.product-placeholder{font-size:48px;opacity:.35}.direct-stock{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;align-items:end;margin:14px 0}.direct-stock label,.direct-stock>div{background:#191c18;border-radius:10px;padding:8px;text-align:center}.direct-stock label{display:grid;gap:4px}.direct-stock input{text-align:center;font-size:18px;font-weight:800;padding:7px}.direct-stock span{display:block;color:var(--muted);font-size:12px}.direct-stock b{font-size:21px}.direct-stock button{grid-column:1/-1}.order-item{grid-template-columns:minmax(140px,.8fr) minmax(190px,1.2fr) 90px 100px 42px}.product-search{min-width:0}@media(max-width:760px){.order-item{grid-template-columns:1fr 1fr}.order-item .product-search,.order-item select{grid-column:1/-1}.direct-stock{grid-template-columns:1fr 1fr}.direct-stock>div{grid-column:1/-1}}

/* Version 2.2 – kompaktere Produktbilder und sichtbare Artikelsuche */
.product-search-results{grid-column:1/-1;color:var(--muted);font-size:12px;margin:-3px 0 4px 2px}.order-item select.search-open{height:auto;min-height:44px;padding:6px}.order-item select.search-open option{padding:6px}


/* Version 2.3 – neue Icons, Artikeltyp-Filter und nur noch Lagerbestand */
.product-visual{height:96px;padding:12px;background:#0b0d0c}
.product-visual img{max-width:76px;max-height:76px;width:auto;height:auto;object-fit:contain;image-rendering:auto}
.product-type-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.product-type-filters a{padding:9px 14px;border:1px solid #50584a;border-radius:10px;background:#171a17;text-decoration:none;color:var(--muted);font-weight:700}
.product-type-filters a:hover,.product-type-filters a.active{background:linear-gradient(#d7ae55,#ad812f);border-color:#e6c77d;color:#17130b}
.single-stock{grid-template-columns:1fr auto}
.single-stock label{min-width:130px}
.single-stock button{grid-column:auto;align-self:stretch}
@media(max-width:620px){.product-toolbar .panel-head{align-items:stretch;flex-direction:column}.product-filter-form{width:100%}.product-filter-form input{min-width:0}.single-stock{grid-template-columns:1fr}.single-stock button{grid-column:1/-1}}


/* Version 2.4 – Sammelbearbeitung der Lagerbestände ohne Seitenneuladen */
.batch-stock{grid-template-columns:1fr;position:relative}
.batch-stock label{min-width:0}
.batch-stock .stock-change-state{min-height:16px;color:#efc86d;font-size:12px;font-weight:750;text-align:center}
.stock-input.is-dirty{border-color:#d7ae55;box-shadow:0 0 0 2px #d7ae5526;background:#242118}
.product-card.has-unsaved-stock{border-color:#9b7b3b;box-shadow:0 0 0 1px #d7ae5525 inset}
.stock-save-bar{position:fixed;left:calc(250px + 28px);right:28px;bottom:22px;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;border:1px solid #806a38;border-radius:14px;background:#20231fed;box-shadow:0 16px 45px #000b;backdrop-filter:blur(12px)}
.stock-save-bar[hidden]{display:none}
.stock-save-bar>div:first-child{display:grid;gap:2px}.stock-save-bar small{color:var(--muted)}
.stock-save-actions{display:flex;gap:9px;flex-wrap:wrap}.stock-save-actions button{white-space:nowrap}
.stock-toast{position:fixed;right:30px;bottom:105px;z-index:70;max-width:420px;padding:12px 16px;border:1px solid #55724b;border-radius:11px;background:#2e472e;color:#dff4d7;box-shadow:0 14px 35px #000a;opacity:0;transform:translateY(12px);pointer-events:none;transition:.18s ease}
.stock-toast.error{border-color:#854a42;background:#58332f;color:#ffd8d2}.stock-toast.show{opacity:1;transform:none}
@media(max-width:1000px){.stock-save-bar{left:18px;right:18px}}
@media(max-width:650px){.stock-save-bar{align-items:stretch;flex-direction:column;bottom:12px}.stock-save-actions{display:grid;grid-template-columns:1fr 1fr}.stock-toast{left:18px;right:18px;bottom:150px;max-width:none}}

/* Version 2.5 – Kundensuche bei neuen Bestellungen */
.customer-search-results{min-height:17px;color:var(--muted);font-size:12px;margin-top:-2px}
#customer-select.search-open{height:auto;min-height:44px;padding:6px}
#customer-select.search-open option{padding:7px}


/* Version 2.7 – kompakte Dashboard-Ampel mit Mouseover-Details */
.traffic-list{display:flex;flex-direction:column;gap:5px;max-height:520px;overflow:auto;padding:1px 5px 1px 1px}
.traffic-row{position:relative;display:grid;grid-template-columns:12px minmax(0,1fr) 72px 70px;gap:10px;align-items:center;min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#171a17;cursor:help}
.traffic-row:hover,.traffic-row:focus-visible{background:#1d211c;outline:none;z-index:8}
.traffic-dot{width:10px;height:10px}
.traffic-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.traffic-row b{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.traffic-status{text-align:right;font-size:12px;font-weight:750;white-space:nowrap;color:currentColor}
.traffic-row::after{content:attr(data-tooltip);position:absolute;left:30px;bottom:calc(100% + 7px);z-index:50;width:max-content;max-width:min(420px,calc(100vw - 80px));padding:9px 11px;border:1px solid #5a6253;border-radius:8px;background:#101310;color:var(--cream);font-size:12px;font-weight:600;line-height:1.35;box-shadow:0 12px 30px #000b;opacity:0;visibility:hidden;transform:translateY(4px);pointer-events:none;transition:.14s ease}
.traffic-row:hover::after,.traffic-row:focus-visible::after{opacity:1;visibility:visible;transform:none}
@media(max-width:620px){.traffic-row{grid-template-columns:12px minmax(0,1fr) 58px}.traffic-status{display:none}.traffic-row::after{left:8px}}


/* Version 2.9 – Tooltip des ersten Ampel-Eintrags nach unten öffnen */
.traffic-row:first-child::after{top:calc(100% + 7px);bottom:auto;transform:translateY(-4px)}
.traffic-row:first-child:hover::after,.traffic-row:first-child:focus-visible::after{transform:none}


/* Version 3.0 – Ampel rechts neben den aktuellen Bestellungen, Aktivität unten */
.dashboard-main-grid{align-items:stretch}
.dashboard-orders,.dashboard-traffic{min-height:100%}
.dashboard-traffic{display:flex;flex-direction:column;overflow:visible}
.dashboard-traffic .traffic-list{flex:1;max-height:none;overflow:visible}
.dashboard-activity{margin-bottom:18px}
@media(max-width:1000px){.dashboard-traffic .traffic-list{max-height:620px;overflow:auto}}
