/* Küchenmonitor: dunkler Hintergrund, weiße Bons, große Schrift, Farbe nach Dringlichkeit */
.look-kitchen { background: #15181c; color: #e9edf1; }
.k-app { display: flex; flex-direction: column; height: 100vh; background: #15181c; color: #e9edf1; }
.k-app.embedded { height: 100%; border-radius: 12px; overflow: hidden; }
.m-kds { height: 100%; padding: 12px; box-sizing: border-box; }
.k-bar { display: flex; align-items: center; gap: 12px; padding: 8px 12px; background: #0d0f12; border-bottom: 1px solid #2a2f36; flex: none; }
.k-title { font-size: 20px; white-space: nowrap; }
.k-stations { display: flex; gap: 6px; flex: 1; overflow-x: auto; }
.k-stations button, .k-tool { border: 1px solid #343b44; background: #22272e; color: #d7dde3; border-radius: 10px; padding: 8px 14px; font-size: 16px; font-weight: 600; white-space: nowrap; cursor: pointer; }
.k-stations button.on { background: #f2b705; border-color: #f2b705; color: #1b1b1b; }
.k-count { font-size: 16px; color: #aab3bd; white-space: nowrap; }
.k-count b { color: #fff; font-size: 20px; }
.k-count .k-late { color: #ff6b5b; font-size: 16px; }
.k-clock { font: 700 22px/1 ui-monospace, "SF Mono", Consolas, monospace; color: #fff; }
.k-error { background: #7a1f16; color: #fff; padding: 6px 12px; }
.k-main { flex: 1; display: grid; grid-template-columns: 1fr; min-height: 0; }
.k-main.with-side { grid-template-columns: 1fr 260px; }
.k-grid { overflow-y: auto; padding: 12px; display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 12px; align-content: start; }

.k-ticket { --u: #2e9d57; background: #fff; color: #15181c; border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; border: 3px solid transparent; cursor: pointer; }
.k-ticket.soon { --u: #e3a008; }
.k-ticket.late { --u: #d93025; }
.k-ticket.late .k-head { animation: k-blink 1.2s steps(2, start) infinite; }
@keyframes k-blink { 50% { filter: brightness(1.35); } }
.k-ticket.sel { border-color: #5aa9ff; box-shadow: 0 0 0 3px rgba(90, 169, 255, .45); }
.k-head { display: flex; align-items: center; gap: 8px; background: var(--u); color: #fff; padding: 7px 10px; }
.k-ticket.soon .k-head { color: #1b1b1b; }
.k-pos { width: 24px; height: 24px; border-radius: 6px; background: rgba(0, 0, 0, .25); display: grid; place-items: center; font-weight: 700; font-size: 14px; flex: none; }
.k-pos:empty { display: none; }
.k-nr { font-size: 24px; line-height: 1; }
.k-type { font-weight: 700; font-size: 15px; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.k-type em { font-style: normal; background: rgba(0, 0, 0, .2); border-radius: 6px; padding: 0 6px; }
.k-time { font-weight: 700; font-size: 14px; white-space: nowrap; }
.k-sub { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 6px 10px 0; font-size: 13px; color: #5b636d; }
.k-brand { color: #fff; border-radius: 999px; padding: 1px 9px; font-weight: 700; }
.k-src { background: #e8eef7; color: #24527a; border-radius: 6px; padding: 1px 7px; font-weight: 700; }
.k-changed { background: #d93025; color: #fff; border-radius: 6px; padding: 1px 7px; font-weight: 800; letter-spacing: .03em; }
.k-cust { font-weight: 600; color: #2b3138; }
.k-due { margin-left: auto; font-weight: 600; }
.k-ticket.started .k-due::before { content: "▶ "; color: #2e9d57; }
.k-items { list-style: none; margin: 0; padding: 4px 0; flex: 1; }
.k-item { padding: 7px 10px; border-bottom: 1px dashed #dde1e6; }
.k-item:last-child { border-bottom: 0; }
.k-item.done { opacity: .38; }
.k-item.done .k-line { text-decoration: line-through; }
.k-line { display: flex; gap: 8px; align-items: baseline; font-size: 21px; font-weight: 800; line-height: 1.2; }
.k-qty { min-width: 34px; }
.k-name small { font-size: 14px; color: #6b737d; font-weight: 700; }
.k-size { padding-left: 42px; font-size: 15px; font-weight: 700; color: #3c4550; }
.k-mod { padding-left: 42px; font-size: 17px; font-weight: 700; }
.k-mod.extra { color: #1d7a3e; }
.k-mod.ohne { color: #c0261b; text-transform: uppercase; }
.k-note { margin: 4px 0 0 42px; background: #fff3c4; border-radius: 6px; padding: 3px 8px; font-size: 16px; font-weight: 700; color: #6a4b00; }
.k-note.big { margin: 6px 10px 0; font-size: 17px; }
.k-parts { display: flex; gap: 8px; align-items: flex-start; padding: 4px 0 0 34px; }
.k-pie { flex: none; width: 120px; }
.k-pie svg { width: 120px; height: auto; display: block; }
.k-parts ol { list-style: none; margin: 0; padding: 0; font-size: 16px; font-weight: 700; }
.k-parts ol li { margin-bottom: 3px; }
.k-parts ol .k-mod, .k-parts ol .k-note { padding-left: 10px; margin-left: 0; font-size: 15px; }
.k-foot { display: flex; gap: 8px; padding: 8px 10px 10px; }
.k-btn { flex: 1; min-height: 52px; border: 0; border-radius: 10px; font-size: 19px; font-weight: 800; cursor: pointer; }
.k-btn.done { background: #1f7a45; color: #fff; }
.k-btn.start { background: #e8ecf0; color: #1d2329; flex: .7; }
.k-empty { grid-column: 1 / -1; text-align: center; color: #7d8792; font-size: 22px; padding: 80px 0; }
.k-empty div { font-size: 72px; color: #2e9d57; }

.k-side { border-left: 1px solid #2a2f36; background: #1b1f24; overflow-y: auto; padding: 12px; display: flex; flex-direction: column; gap: 6px; }
.k-side h3 { margin: 8px 0 2px; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: #8f99a4; }
.k-sum { list-style: none; margin: 0; padding: 0; font-size: 16px; }
.k-sum li { display: flex; gap: 10px; padding: 4px 0; border-bottom: 1px solid #2a2f36; }
.k-sum b { min-width: 28px; text-align: right; color: #f2b705; font-size: 18px; }
.k-sum.dough b { color: #7fd1a0; }
.k-recent { display: flex; flex-direction: column; gap: 6px; }
.k-recent button { text-align: left; border: 1px solid #343b44; background: #22272e; color: #e9edf1; border-radius: 8px; padding: 8px 10px; font-size: 16px; font-weight: 700; cursor: pointer; }
.k-recent small { color: #8f99a4; font-weight: 400; }
.k-keys { margin-top: auto; padding-top: 12px; font-size: 12px; color: #7d8792; line-height: 1.5; }
@media (max-width: 760px) { .k-main.with-side { grid-template-columns: 1fr; } .k-side { display: none; } .k-title { display: none; } }
