/* Cards v17. Escopo próprio: a chave desligada conserva o KDS original. */
.ckds{--ckds-texto:light-dark(#323200,#F5EFE8);--ckds-ambar:light-dark(#805A00,#FFB547);--ckds-queda:var(--tinta-queda,var(--queda));box-sizing:border-box;position:relative;display:flex;flex-direction:column;gap:8px;min-width:0;max-width:100%;padding:13px;border:0!important;border-radius:20px;background:var(--surface,#fff)!important;color:var(--ckds-texto);box-shadow:0 2px 8px color-mix(in srgb,var(--label) 7%,transparent);text-align:left;overflow:visible;overflow-wrap:anywhere;content-visibility:visible!important;contain-intrinsic-size:none;will-change:auto}
/* TREM-EXPKDS-USO: com MUITOS pedidos na fila (a casca liga html.xk-muitos-kds acima de 24 cards e desliga abaixo
   de 18), card fora da tela não é estilizado nem pintado; a reserva é a altura medida (428 px, menos os 26 px de
   respiro) e, depois da primeira pintura, a real. Com poucos pedidos o card segue sempre pintado. */
html.xk-muitos-kds #view-kds #kds>.k.ckds{content-visibility:auto!important;contain-intrinsic-size:auto 402px}
html.xk-muitos-kds #view-kds #kds>.ckds.ckds-mini{content-visibility:auto!important;contain-intrinsic-size:auto 144px}
.k.ckds{min-height:0;max-height:none}
.k.ckds.ksel{outline:none;border:0;background:#EEF3FC!important;box-shadow:0 14px 34px color-mix(in srgb,var(--label) 16%,transparent);transform:translateY(-2px)}
body.dark .k.ckds.ksel{background:#1E2633!important}
.k.ckds.ksel .num{color:var(--ckds-texto)}
.k.ckds.dim{opacity:.32}
.ckds .kh{padding:0;justify-content:flex-start;flex-wrap:wrap;gap:8px;min-width:0}
.ckds .num{font-size:calc(1.75rem * var(--dt,1) / .85);line-height:1.35;font-weight:750;letter-spacing:-.01em;gap:8px;color:var(--ckds-texto)}
.k.ckds.late .num{color:var(--queda)}
.ckds .num .plat{margin:0;flex:none}
.ckds .num .plat img,.ckds .num .plat .mark{width:30px;height:30px;border-radius:8px;object-fit:contain}
.ckds .plat.ifood{color:var(--canal-ifood-t)}.ckds .plat.nine{color:var(--canal-99food-texto)}.ckds .plat.own{color:var(--d-anil)}
.ckds .ckds-rank{font-size:.75rem;font-weight:650;color:var(--label2);font-variant-numeric:tabular-nums}
.ckds .kds-timing{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;min-width:0;max-width:100%}
.ckds .timer{height:32px;box-sizing:border-box;padding:7px 11px;border-radius:8px;font-size:calc(1rem * var(--dt,1) / .85);line-height:1.1;font-weight:620;box-shadow:none;background:var(--surface2);color:var(--label2);max-width:100%;transition:none}
.ckds .timer.t-warn{background:color-mix(in srgb,var(--d-ambar) 15%,transparent);color:var(--ckds-ambar)}
.ckds .timer.t-late{background:var(--queda);color:#fff}
.ckds .timer.t-agendado{height:auto;min-height:32px;white-space:normal;text-align:right;color:var(--d-anil-t)!important;background:color-mix(in srgb,var(--d-anil) 14%,transparent)!important}
.ckds .kds-late-tag,.ckds .kds-aceite-tag,.ckds .kds-agendado-tag{border-radius:7px;font-size:.75rem;white-space:normal}
.ckds .kds-late-tag{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;font-weight:760;background:var(--queda);color:#fff}
.ckds .prog{flex:none;height:4px;margin:0;background:color-mix(in srgb,var(--label3) 20%,transparent);border-radius:2px;overflow:hidden}
.ckds .prog i{width:100%!important;transform-origin:left;background:var(--label3);transition:transform 1s linear}
.ckds .prog.warn i{background:var(--d-ambar)}.ckds .prog.late i{background:var(--queda)}
.ckds .meta{padding:0;font-size:calc(.8125rem * var(--dt,1) / .85);gap:6px;line-height:1.35;min-width:0}
.ckds .order-meta>b{font-size:calc(.875rem * var(--dt,1) / .85)}
.ckds .meta b{font-weight:700;color:var(--ckds-texto)}
.ckds .ckds-loja::before{display:none}
.ckds .ckds-loja{color:var(--label2)}
.k.ckds .cnt{padding:3px 8px;min-height:22px;height:auto;border:0;border-radius:99px;background:color-mix(in srgb,var(--label) 9%,transparent);color:var(--ckds-texto);font-size:.75rem}
.k.ckds .cnt.bv{background:color-mix(in srgb,var(--acao) 13%,transparent);color:var(--acao)}
.ckds .badge{display:inline-flex;align-items:center;gap:4px;max-width:100%;min-height:23px;height:auto;white-space:normal;line-height:1.35;border:0;border-radius:7px;padding:3px 8px;font-size:.75rem;background:var(--surface2);color:var(--label2)}
.ckds .badge.grp{border:0!important}.ckds .badge.alt{background:color-mix(in srgb,var(--d-ambar) 15%,transparent);color:var(--ckds-ambar)}
.ckds .order-badges:empty,.ckds .ckds-avisos:empty{display:none}
.ckds .ckds-avisos{display:flex;flex-direction:column;gap:6px;min-width:0}
.ckds .oinfo{font-size:calc(.875rem * var(--dt,1));margin:0;max-width:100%;min-width:0}
.ckds .items{flex:1;padding:0;border:0;overflow:visible;gap:8px}
.ckds .pz{display:flex;flex-direction:column;gap:3px;padding:0;min-width:0}
.ckds .pzh{font-size:calc(.75rem * var(--dt,1) / .85);line-height:1.35;font-weight:600;text-transform:none;letter-spacing:normal;color:var(--label3)}
.ckds .fl{display:block;width:100%;min-width:0;padding:0 0 0 15px;border:0;background:none;color:var(--ckds-texto);font:inherit;font-size:calc(2.125rem * var(--dt,1));font-weight:700;line-height:1.1;letter-spacing:-.02em;text-align:left;overflow-wrap:anywhere;white-space:normal;min-height:0;border-radius:6px}
.ckds button.fl{position:relative;min-height:0;cursor:pointer}
.ckds button.fl::after{content:'';position:absolute;inset:-5px 0;min-height:44px}
html.hub-exp-v2 .ckds .plat img{content:normal;object-fit:contain;border-radius:8px;background:transparent}
html.hub-exp-v2 .ckds .plat.own .mark{display:block;width:30px;height:30px;font-size:0;background:url('/assets/canais/philippes-pizza.png') center/contain no-repeat}
.ckds .fl::before{background:currentColor;top:.5em}
.ckds .fl .fr{font-size:.6em;opacity:.78;margin-right:2px}
.ckds .comp,.ckds .obs,.ckds .drink{margin:3px 0 0;padding:6px 11px;border:0;border-radius:12px;font-size:calc(1.25rem * var(--dt,1));font-weight:600;line-height:1.25;white-space:normal;overflow-wrap:anywhere}
.ckds .comp{background:color-mix(in srgb,var(--d-amarelo) 16%,transparent);color:var(--ckds-texto)}
.ckds .obs,.ckds .ckds-conferir{color:var(--ckds-queda)}
.ckds .obs{background:color-mix(in srgb,var(--queda) 10%,transparent)}
.ckds .drink{background:color-mix(in srgb,var(--acao) 10%,transparent);color:var(--ckds-texto);font-size:calc(1.1875rem * var(--dt,1));font-weight:700}
.ckds .drink small{font-size:.75rem;color:var(--acao);letter-spacing:normal}
.ckds .drv{margin-top:0;padding:8px 0 0;border-top:1px solid color-mix(in srgb,var(--label) 13%,transparent);gap:9px}
.ckds .drv .dn{font-size:calc(.875rem * var(--dt,1) / .85);color:var(--ckds-texto)}
.ckds .drv .ds{font-size:calc(.84375rem * var(--dt,1) / .85);line-height:1.35;color:var(--label2)}
.ckds .drv .ava{width:30px;height:30px;flex:none;background:var(--surface2);box-shadow:none}
.k.ckds .drv .ava.cap.on{background:color-mix(in srgb,var(--verde) 15%,transparent)!important;color:var(--tinta-verde,var(--verde))!important}
.ckds .drv .ava.go{background:color-mix(in srgb,var(--acao) 13%,transparent);color:var(--acao)}
.ckds .drv .ds.hot{color:var(--tinta-verde,var(--verde))}
.ckds .kf{display:flex;gap:8px;padding:0;margin-top:auto;flex-wrap:wrap}
.ckds .ready{box-sizing:border-box;height:auto;min-height:60px;width:100%;border:0;border-radius:16px;background:var(--acao)!important;color:#fff;font-size:calc(1.25rem * var(--dt,1) / .85);font-weight:650;line-height:1.35;padding:10px;text-shadow:none;box-shadow:none;white-space:normal;transition:transform .15s}
.ckds .ready::before,.ckds .ready::after{display:none}
.ckds .ready.undo{background:color-mix(in srgb,var(--d-ambar) 18%,var(--surface))!important;color:var(--ckds-ambar)}
.ckds .ready.waitg,.ckds .ready:disabled{background:var(--surface2)!important;color:var(--label2)}
.ckds .ready.small{min-height:44px;flex:1 1 120px;background:var(--surface2)!important;color:var(--ckds-texto);font-size:1rem}
.ckds .fin{padding:0;display:flex;gap:8px;flex-wrap:wrap;font-size:.8125rem;color:var(--label2)}
.ckds .waitlbl{position:static;inset:auto;display:flex;flex-wrap:wrap;gap:4px;padding:8px;border-radius:10px;background:var(--surface2);font-size:.875rem;color:var(--label2)}
.ckds .waitlbl .undo2,.ckds [data-jump],.ckds [data-shake]{cursor:pointer}
.ckds .waitlbl .undo2{min-height:44px;padding:8px;border-radius:8px}
.ckds :focus-visible,.ckds:focus-visible{outline:3px solid var(--acao);outline-offset:3px}
.ckds-mini{font-size:.8125rem;cursor:pointer;min-height:0}
.ckds-mini .num,.ckds-mini .kcanc-num{font-size:1.375rem}
.ckds-mini .kh>[data-openord]{margin-left:auto;min-height:44px;white-space:normal}
.ckds-mini .kcanc-topo{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.ckds-mini .kcanc-motivo,.ckds-mini .kcanc-comanda,.ckds-mini .kcanc-quem,.ckds-mini .ms{white-space:normal;overflow:visible;text-overflow:clip;display:block;-webkit-line-clamp:unset;line-clamp:unset;padding:0;max-height:none;overflow-wrap:anywhere}
.ckds-mini .kcanc-comanda{color:var(--ckds-queda)}
.k.ckds.shake{animation:ckds-par .5s ease-in-out 6}
.k.ckds.new:not(.shake){animation:ckds-entrada .28s ease-out}
@keyframes ckds-par{25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}
@keyframes ckds-entrada{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.ckds,.ckds *,.ckds *::before,.ckds *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* O legado usa !important nos relógios; a apresentação V2 tem a própria superfície. */
.ckds .timer.t-ok{background:var(--surface2)!important;color:var(--label2)!important}
.k.ckds .timer.t-warn{background:color-mix(in srgb,var(--d-ambar) 15%,transparent)!important;color:var(--ckds-ambar)!important}
.ckds .timer.t-late{background:var(--queda)!important;color:#fff!important}

.ckds .oinfo.saida-aviso .saida-barra>i{width:100%!important;transform-origin:left;transition:transform .25s linear}

/* Receita do v17, ancorada no sabor; foto e ficha completa continuam presentes. */
#rmodal[popover]{position:fixed;inset:auto;margin:0;padding:6px;border:1px solid var(--hair);border-radius:16px;background:var(--vidro-regular);color:var(--label);box-shadow:var(--vidro-sombra);backdrop-filter:blur(26px) saturate(180%);-webkit-backdrop-filter:blur(26px) saturate(180%);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto}
#rmodal[popover]::backdrop{background:transparent;backdrop-filter:none}
#rmodal[popover]:not(:popover-open){display:none}
#rmodal[popover] .rcs{position:relative;flex-direction:column;gap:12px;padding:0;max-width:none;overflow:visible}
#rmodal[popover] .rc{position:relative;box-sizing:border-box;flex:none;width:320px;max-width:calc(100vw - 38px);max-height:none;padding:10px 12px;border:0;border-radius:11px;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;overflow:visible}
#rmodal[popover] .rc-x{position:absolute;z-index:2;top:6px;right:6px;display:grid;place-items:center;width:30px;height:30px;padding:6px;border:0;border-radius:50%;background:var(--surface2);color:var(--label);cursor:pointer}
#rmodal[popover] .rc-x svg{width:18px;height:18px}
#rmodal[popover] .rc .ph{height:140px;border-radius:8px;margin-bottom:6px;background:transparent}
#rmodal[popover] .rc .ph img{object-fit:contain}
#rmodal[popover] .rc .rt{font-size:24px;line-height:1.2;padding:0 28px 0 0}
#rmodal[popover] .rc .rs{font-size:12px;line-height:1.4;padding:6px 0}
#rmodal[popover] .rc .ing{font-size:14.5px;line-height:1.35;padding:3px 0;border:0;border-bottom:1px solid var(--hair);gap:12px}
#rmodal[popover] .rc .ing b{flex:none;white-space:nowrap}
#rmodal[popover] .rc .rn{font-size:12px;line-height:1.4;padding:6px 0 0}
html.hub-toque #rmodal[popover] .rc-x{width:44px;height:44px}
#rmodal[popover] :focus-visible{outline:3px solid var(--acao);outline-offset:2px}

/* A escala padrão de 85% conserva as medidas do v17, inclusive no celular. */
@media(max-width:760px){.ckds .fl{font-size:calc(1.75rem * var(--dt,1) / .85)}}

/* O aviso já está no fluxo: não herdar o deslocamento do aviso sobreposto legado. */
.k.ckds .waitlbl{transform:none;z-index:auto}
.k.ckds.waitgrp>.kf{opacity:1}
