:root { --primary: #d92f24; --ink: #171412; --surface: #fffaf2; --line: #eaded0; --muted: #6e625a; }
* { box-sizing: border-box; }
html { max-width: 100%; overflow-x: hidden; }
body { margin: 0; min-width: 320px; background: #f5eee6; color: var(--ink); font-family: Inter, system-ui, sans-serif; }
body { max-width: 100%; overflow-x: hidden; }
body.summary-scroll-lock { position: fixed; left: 0; right: 0; width: 100%; overflow: hidden; }
body.panel-auth-locked .orders-app { display: none; }
button, select { max-width: 100%; font: inherit; }
input, textarea, a { max-width: 100%; }
.orders-app { width: min(100%, 760px); max-width: 100%; min-width: 0; margin: 0 auto; padding: 20px 16px 40px; overflow-x: clip; }
.orders-header, .header-brand, .header-actions, .orders-summary, .orders-tools, .orders-controls, .bulk-actions, .orders-list, .order-card, .empty-state { max-width: 100%; min-width: 0; }
.orders-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 6px 0 18px; }.header-actions { display: grid; justify-items: end; gap: 6px; }.refresh-stack { display: grid; justify-items: end; gap: 4px; }.last-updated { color: var(--muted); font-size: .68rem; font-weight: 650; text-align: right; white-space: nowrap; }
.eyebrow { margin: 0 0 4px; color: var(--primary); font-size: .73rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; } h1 { margin: 0; font-size: clamp(1.6rem, 7vw, 2.2rem); line-height: 1.05; }.header-copy { margin: 5px 0 0; color: var(--muted); font-weight: 600; }
.demo-mode-badge { display: inline-block; margin-left: 5px; border-radius: 999px; padding: 3px 6px; background: #f3e8d9; color: #76542a; font-size: .62rem; font-weight: 800; vertical-align: middle; }
.refresh-button, .sound-button, .copy-button, .print-button, .ticket-button, .urgent-button, .whatsapp-button, .status-button, .filter-button, .batch-print-button, .panel-logout-button { border: 0; border-radius: 10px; cursor: pointer; font-weight: 750; }
.refresh-button { padding: 11px 13px; white-space: nowrap; font-size: .84rem; background: var(--ink); color: white; }.sound-button { padding: 6px 8px; border-radius: 999px; background: transparent; color: var(--muted); font-size: .7rem; font-weight: 700; }.sound-button.is-active { background: #d9f4df; color: #22643c; }
.panel-logout-button { padding: 6px 8px; border-radius: 999px; background: #ede5dc; color: var(--ink); font-size: .7rem; }
.panel-access { min-height: 100vh; display: grid; place-items: center; padding: 22px; background: #f5eee6; }
.panel-access-card { width: min(100%, 380px); display: grid; gap: 14px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: 0 18px 45px rgba(56, 35, 20, .14); padding: 24px; }
.panel-access-card h1 { font-size: 1.85rem; }
.panel-access-card label { display: grid; gap: 7px; color: var(--muted); font-size: .8rem; font-weight: 800; }
.panel-access-card input { width: 100%; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); padding: 12px; font: inherit; font-weight: 650; }
.panel-access-card input:focus { outline: 2px solid var(--primary); outline-offset: 2px; }
.panel-access-card button { border: 0; border-radius: 10px; background: var(--primary); color: #fff; padding: 12px 14px; font: inherit; font-weight: 850; cursor: pointer; }
.panel-access-error { margin: -4px 0 0; color: #9b291c; font-size: .78rem; font-weight: 750; }
.orders-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: .82rem; padding: 11px 0 12px; border-top: 1px solid var(--line); }.time-range-control { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: .75rem; font-weight: 750; white-space: nowrap; }.time-range-control select { border: 1px solid var(--line); border-radius: 7px; background: #fff; color: var(--ink); padding: 6px 7px; font-size: .75rem; font-weight: 700; }.orders-tools { padding-bottom: 16px; border-bottom: 1px solid var(--line); }.filter-row { display: flex; gap: 7px; overflow-x: auto; padding: 2px 0 10px; scrollbar-width: thin; }.filter-button { display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px; background: #ede5dc; color: var(--ink); font-size: .76rem; text-transform: capitalize; white-space: nowrap; }.filter-button span { display: grid; min-width: 18px; height: 18px; place-items: center; border-radius: 99px; background: white; font-size: .69rem; }.filter-button.is-active { background: var(--primary); color: white; }.filter-button.is-active span { color: var(--primary); }
.orders-controls { display: flex; min-width: 0; max-width: 100%; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }.sort-control { min-width: 0; color: var(--muted); font-size: .78rem; font-weight: 700; }.sort-control select { margin-left: 4px; max-width: min(138px, 100%); border: 1px solid var(--line); border-radius: 7px; background: white; color: var(--ink); padding: 6px; }.summary-button { margin-left: auto; border: 1px solid var(--line); border-radius: 8px; padding: 8px 11px; background: #fffaf2; color: var(--ink); font-size: .78rem; font-weight: 800; cursor: pointer; }.availability-button { border: 1px solid var(--line); border-radius: 8px; padding: 8px 11px; background: #fff; color: var(--ink); font-size: .78rem; font-weight: 800; cursor: pointer; }.add-order-button { border: 0; border-radius: 8px; padding: 8px 11px; background: var(--primary); color: #fff; font-size: .78rem; font-weight: 800; cursor: pointer; }.batch-print-button { padding: 9px 11px; background: var(--ink); color: white; font-size: .78rem; }.recent-caption { margin: 10px 0 0; color: var(--muted); font-size: .73rem; }
.bulk-actions { display: grid; gap: 10px; margin: 14px 0 0; padding: 13px; border: 1px solid #e8cfc8; border-radius: 13px; background: #fff7f4; }.bulk-actions > div:first-child { display: grid; gap: 3px; }.bulk-actions strong { color: var(--primary); font-size: .9rem; }.bulk-actions span { color: var(--muted); font-size: .77rem; font-weight: 650; }.bulk-status-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }.bulk-status-buttons button { border: 1px solid #e8cfc8; border-radius: 8px; background: white; color: var(--ink); padding: 8px 9px; font-size: .76rem; font-weight: 750; cursor: pointer; }.bulk-status-buttons .batch-print-button { margin-left: auto; border-color: var(--ink); background: var(--ink); color: #fff; }.hidden { display: none !important; }
.orders-list { display: grid; min-width: 0; max-width: 100%; gap: 13px; padding-top: 16px; }.order-card, .empty-state { min-width: 0; overflow-wrap: anywhere; background: var(--surface); border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 3px 10px rgba(56, 35, 20, .06); }.order-card { padding: 16px; }.order-card.is-urgent { border-color: var(--primary); box-shadow: 0 0 0 2px #ffd6d1; }.order-card__top { display: flex; min-width: 0; align-items: flex-start; gap: 10px; }.select-order { display: grid; flex: 0 0 auto; place-items: center; padding-top: 3px; }.select-order input { width: 18px; height: 18px; accent-color: var(--primary); }.order-heading { min-width: 0; flex: 1; }.badges { display: grid; min-width: 0; max-width: 46%; justify-items: end; gap: 5px; }.folio { display: block; color: var(--primary); font-size: .78rem; font-weight: 800; letter-spacing: .06em; }.customer { display: block; margin-top: 4px; font-size: 1.08rem; }.order-time { margin: 4px 0 0; color: var(--muted); font-size: .82rem; overflow-wrap: anywhere; }.order-time b { color: #8a3a20; font-weight: 750; }.status, .urgent-badge { max-width: 100%; border-radius: 999px; padding: 6px 9px; font-size: .72rem; font-weight: 800; text-transform: capitalize; white-space: normal; text-align: center; }.urgent-badge { background: #ffe1dc; color: #9b291c; }.status-nuevo { background: #ffe6a9; color: #735400; }.status-confirmado { background: #dceeff; color: #165a91; }.status-preparando { background: #f2ddff; color: #64328d; }.status-listo { background: #d9f4df; color: #22643c; }.status-cancelado { background: #f5dada; color: #852b2b; }
.fulfillment-info { display: grid; gap: 4px; margin: 12px 0 0; padding: 9px 10px; border-radius: 9px; background: #f4ede6; color: var(--muted); font-size: .8rem; line-height: 1.35; }.fulfillment-info strong, .fulfillment-info b { color: var(--ink); }.fulfillment-info--pickup { display: inline-flex; width: fit-content; max-width: 100%; align-items: center; gap: 4px; margin-top: 9px; padding: 5px 8px; border: 1px solid #eaded0; border-radius: 999px; background: #fff7ef; font-size: .72rem; line-height: 1.1; }.fulfillment-info--delivery { border: 1px solid #bbdce2; background: #e9f8fb; color: #275f68; }.fulfillment-info a { color: #165a91; font-weight: 750; }.items { display: grid; gap: 9px; margin: 16px 0 13px; padding: 13px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.item-line { font-weight: 700; }.item-notes { margin: 3px 0 0 18px; color: var(--muted); font-size: .83rem; }.item-notes span { display: block; }.order-notes { margin: 0 0 12px; color: var(--muted); font-size: .88rem; }.order-notes strong { color: var(--ink); }.total-row { display: flex; justify-content: space-between; align-items: center; font-size: 1rem; font-weight: 800; }.total-row span { color: var(--muted); font-size: .85rem; }.promo-total { display: grid; gap: 5px; margin-top: 4px; border-top: 1px solid var(--line); padding-top: 10px; }.promo-total > div { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: .85rem; font-weight: 750; }.promo-total > div strong { color: var(--ink); }.promo-total p { margin: 0; color: #8a3a20; font-size: .78rem; font-weight: 750; }
.status-actions, .secondary-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }.status-button { padding: 8px 10px; background: #eee6de; color: var(--ink); font-size: .78rem; }.status-button.is-current { outline: 2px solid var(--primary); background: #ffe4df; }.secondary-actions { margin-top: 11px; }.copy-button, .print-button, .ticket-button, .urgent-button, .whatsapp-button { padding: 9px 11px; font-size: .78rem; }.copy-button { background: #ede5dc; color: var(--ink); }.print-button { background: var(--primary); color: white; }.ticket-button { background: #dceeff; color: #165a91; }.urgent-button { background: #ffe6a9; color: #735400; }.whatsapp-button { background: #1d8c4d; color: white; text-decoration: none; }.empty-state { padding: 28px 20px; text-align: center; }.empty-state p { margin: 8px 0 0; color: var(--muted); line-height: 1.45; }
.print-sheet { display: none; }
.status-recolectado_por_repartidor { background: #d9f0f2; color: #23656b; }.status-entregado { background: #d7eee4; color: #236045; }
.customer-phone { margin: 4px 0 0; color: var(--muted); font-size: .78rem; font-weight: 650; }.delivery-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 4px; }.delivery-copy-button, .delivery-whatsapp-button { width: fit-content; border: 0; border-radius: 7px; padding: 7px 9px; font-size: .74rem; font-weight: 800; cursor: pointer; }.delivery-copy-button { background: #dceeff; color: #165a91; }.fulfillment-info .delivery-whatsapp-button { background: #1d8c4d; color: #fff; text-decoration: none; }.total-row { justify-content: flex-start; gap: 7px; }
.order-meta { margin: 10px 0 0; color: var(--muted); font-size: .74rem; line-height: 1.35; }.edit-order-button { border: 0; border-radius: 7px; padding: 5px 7px; background: #ede5dc; color: var(--ink); font-size: .7rem; font-weight: 800; cursor: pointer; }
.payment-details { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 12px; margin-top: 7px; color: var(--muted); font-size: .78rem; font-weight: 700; }.payment-details strong { color: var(--ink); }.payment-status-toggle { display: inline-flex; align-items: center; gap: 7px; color: var(--ink); cursor: pointer; font-size: .76rem; font-weight: 800; }.payment-status-toggle input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; }.payment-status-toggle__track { position: relative; inline-size: 36px; block-size: 20px; border-radius: 999px; background: #c8bdb2; transition: background .18s ease; }.payment-status-toggle__track::after { content: ""; position: absolute; top: 3px; left: 3px; inline-size: 14px; block-size: 14px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(23,20,18,.25); transition: transform .18s ease; }.payment-status-toggle input:checked + .payment-status-toggle__track { background: #2b9661; }.payment-status-toggle input:checked + .payment-status-toggle__track::after { transform: translateX(16px); }.payment-status-toggle input:focus-visible + .payment-status-toggle__track { outline: 2px solid var(--primary); outline-offset: 2px; }
.operational-alert { margin: 8px 0 0; border-radius: 8px; padding: 7px 9px; font-size: .76rem; font-weight: 800; }.operational-alert--reminder { background: #fff0c9; color: #765400; }.operational-alert--prepare-now, .operational-alert--prepare-soon { background: #ffe8d9; color: #8a3a20; }.operational-alert--late { background: #f8dddd; color: #9b291c; }.operational-alert--prepare-later, .operational-alert--reminder-upcoming { padding: 0; background: transparent; color: var(--muted); font-weight: 700; }.order-card.has-operational-alert.prepare-now { border-color: #e3914b; box-shadow: 0 0 0 2px #ffe4c8; }.order-card.has-operational-alert.late { border-color: #c96a63; box-shadow: 0 0 0 2px #f6d7d4; }
.primary-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }.primary-actions > button, .primary-actions > a { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: 6px; border: 0; border-radius: 9px; padding: 9px 11px; font-size: .79rem; font-weight: 800; text-decoration: none; cursor: pointer; }.primary-actions .print-button { background: var(--primary); color: #fff; }.primary-actions .ticket-button { background: #dceeff; color: #165a91; }.confirm-button { background: #2bb565; color: #fff; }.ready-button { background: #1d8c4d; color: #fff; }.whatsapp-icon { width: 15px; height: 15px; flex: 0 0 15px; fill: currentColor; }.minor-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 3px; margin-top: 9px; }.minor-actions button { border: 0; padding: 3px 4px; background: transparent; color: var(--muted); font-size: .7rem; font-weight: 700; text-decoration: underline; cursor: pointer; }.minor-actions .promo-button { color: #8a3a20; }.minor-actions .promo-button.is-applied { color: #9b291c; }.minor-actions .urgent-button.is-marked { color: #9b291c; }.minor-actions .delete-button { display: inline-grid; width: 25px; height: 25px; place-items: center; margin-left: 3px; border-radius: 6px; background: #f9e6e4; color: #a64a42; text-decoration: none; }.minor-actions .delete-button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.reminder-menu { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 7px; border-radius: 9px; padding: 8px; background: #f4ede6; }.reminder-menu span { color: var(--muted); font-size: .72rem; font-weight: 800; }.reminder-menu button { border: 1px solid var(--line); border-radius: 7px; padding: 5px 7px; background: #fff; color: var(--ink); font-size: .7rem; font-weight: 750; cursor: pointer; }.reminder-menu button:last-child { color: #9b291c; }
body.panel-freese .orders-list { gap: 9px; padding-top: 12px; }
body.panel-freese { background: #fff0c9; }
body.panel-freese .orders-app { background: #fff0c9; }
body.panel-freese.panel-view-mosaic .orders-app { width: min(100%, 1120px); }
body.panel-freese .view-toggle { display: inline-flex; min-width: 0; max-width: 100%; flex: 0 1 auto; flex-wrap: wrap; gap: 3px; border: 1px solid var(--line); border-radius: 9px; background: #fffaf2; padding: 3px; }
body.panel-freese .view-toggle button { min-width: 0; border: 0; border-radius: 7px; background: transparent; color: var(--muted); padding: 6px 8px; font-size: .72rem; font-weight: 850; cursor: pointer; white-space: normal; }
body.panel-freese .view-toggle [data-view-mode="kitchen-mosaic"] { white-space: nowrap; }
body.panel-freese .view-toggle button.is-active { background: var(--primary); color: #fff; }
body.panel-freese .add-order-button{padding:10px 15px;border-radius:10px;font-size:.86rem;box-shadow:0 8px 16px rgba(223,53,89,.22)}
body.panel-freese .orders-list--mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
body.panel-freese .order-mini-card { position: relative; display: grid; min-height: 140px; align-content: start; gap: 5px; width: 100%; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); color: var(--ink); padding: 10px; text-align: left; box-shadow: 0 3px 10px rgba(56,35,20,.06); cursor: pointer; overflow: hidden; }
body.panel-freese .order-mini-card:hover { transform: translateY(-1px); box-shadow: 0 5px 14px rgba(56,35,20,.1); }
body.panel-freese .order-mini-card:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
body.panel-freese .order-mini-card.is-unread { box-shadow: 0 0 0 2px rgba(223,53,89,.18), 0 6px 18px rgba(223,53,89,.12); }
body.panel-freese .order-mini-card.is-unread::before { content: ""; position: absolute; inset: -40% -20%; background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.55) 48%, transparent 62%); transform: translateX(-55%); animation: freeseUnreadShine 2.8s ease-in-out infinite; pointer-events: none; }
body.panel-freese .order-mini-card.order-card--fresas { border-color: #f0bfd0; background: #fff4f8; }
body.panel-freese .order-mini-card.order-card--crepas { border-color: #ead68f; background: #fff9df; }
body.panel-freese .order-mini-card.order-card--mixed { border-color: #efc8aa; background: linear-gradient(90deg, #fff9fb 0%, #fffaf0 100%); }
body.panel-freese .mini-folio { color: var(--primary); font-size: .7rem; font-weight: 900; letter-spacing: .05em; }
body.panel-freese .order-mini-card strong { min-width: 0; overflow-wrap: anywhere; font-size: .88rem; line-height: 1.15; }
body.panel-freese .mini-time { color: var(--muted); font-size: .7rem; font-weight: 750; line-height: 1.18; }
body.panel-freese .mini-product { display: block; min-width: 0; max-width: 100%; overflow: hidden; color: var(--ink); font-size: .74rem; font-weight: 850; line-height: 1.18; text-overflow: ellipsis; white-space: nowrap; }
body.panel-freese .mini-total { margin-top: auto; font-size: .88rem; font-weight: 900; }
body.panel-freese .mini-unread { position: absolute; top: 8px; right: 8px; width: 9px; height: 9px; border-radius: 999px; background: #df3559; box-shadow: 0 0 0 4px rgba(223,53,89,.16), 0 0 12px rgba(223,53,89,.45); }
body.panel-freese .mini-urgent { position: absolute; right: 8px; bottom: 8px; border-radius: 999px; background: #d9342a; color: #fff; padding: 4px 6px; font-size: .62rem; font-weight: 900; }
@keyframes freeseUnreadShine { 0%, 38% { transform: translateX(-60%); opacity: 0; } 48% { opacity: .7; } 68%, 100% { transform: translateX(65%); opacity: 0; } }
body.panel-has-mosaic .view-toggle { display: inline-flex; min-width: 0; max-width: 100%; flex: 0 1 auto; flex-wrap: wrap; gap: 3px; border: 1px solid var(--line); border-radius: 9px; background: #fffaf2; padding: 3px; }
body.panel-has-mosaic .view-toggle button { min-width: 0; border: 0; border-radius: 7px; background: transparent; color: var(--muted); padding: 6px 8px; font-size: .72rem; font-weight: 850; cursor: pointer; white-space: normal; }
body.panel-has-mosaic .view-toggle button.is-active { background: var(--primary); color: #fff; }
body.panel-has-mosaic.panel-view-mosaic .orders-app { width: min(100%, 1120px); }
body.panel-has-mosaic .orders-list--mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
body.panel-has-mosaic .order-mini-card { position: relative; display: grid; min-height: 140px; align-content: start; gap: 5px; width: 100%; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); color: var(--ink); padding: 10px; text-align: left; box-shadow: 0 3px 10px rgba(56,35,20,.06); cursor: pointer; overflow: hidden; }
body.panel-has-mosaic .order-mini-card:hover { transform: translateY(-1px); box-shadow: 0 5px 14px rgba(56,35,20,.1); }
body.panel-has-mosaic .order-mini-card:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
body.panel-has-mosaic .order-mini-card.is-unread { box-shadow: 0 0 0 2px rgba(217,47,36,.18), 0 6px 18px rgba(56,35,20,.12); }
body.panel-has-mosaic .order-mini-card.is-unread::before { content: ""; position: absolute; inset: -40% -20%; background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.55) 48%, transparent 62%); transform: translateX(-55%); animation: freeseUnreadShine 2.8s ease-in-out infinite; pointer-events: none; }
body.panel-has-mosaic .mini-folio { color: var(--primary); font-size: .7rem; font-weight: 900; letter-spacing: .05em; }
body.panel-has-mosaic .order-mini-card strong { min-width: 0; overflow-wrap: anywhere; font-size: .88rem; line-height: 1.15; }
body.panel-has-mosaic .mini-time { color: var(--muted); font-size: .7rem; font-weight: 750; line-height: 1.18; }
body.panel-has-mosaic .mini-product { display: block; min-width: 0; max-width: 100%; overflow: hidden; color: var(--ink); font-size: .74rem; font-weight: 850; line-height: 1.18; text-overflow: ellipsis; white-space: nowrap; }
body.panel-has-mosaic .mini-total { margin-top: auto; font-size: .88rem; font-weight: 900; }
body.panel-has-mosaic .mini-unread { position: absolute; top: 8px; right: 8px; width: 9px; height: 9px; border-radius: 999px; background: var(--primary); box-shadow: 0 0 0 4px rgba(217,47,36,.16), 0 0 12px rgba(217,47,36,.45); }
body.panel-has-mosaic .mini-urgent { position: absolute; right: 8px; bottom: 8px; border-radius: 999px; background: #d9342a; color: #fff; padding: 4px 6px; font-size: .62rem; font-weight: 900; }
body.panel-freese .operational-alert--pending-asap { background: #f8dddd; color: #9b291c; }
body.panel-freese .operational-alert--scheduled-reminder { background: #fff0c9; color: #765400; }
body.panel-freese .operational-alert--scheduled-later { padding: 0; background: transparent; color: var(--muted); font-weight: 700; }
body.panel-freese .order-card.has-operational-alert.pending-asap { border-color: #c96a63; box-shadow: 0 0 0 2px #f6d7d4; }
body.panel-freese .order-card.has-operational-alert.scheduled-reminder { border-color: #e3c151; box-shadow: 0 0 0 2px #fff0c9; }
body.panel-freese .order-card { padding: 11px 12px; border-radius: 12px; }
body.panel-freese .order-card--fresas { border-color: #f0bfd0; background: #fff4f8; }
body.panel-freese .order-card--crepas { border-color: #ead68f; background: #fff9df; }
body.panel-freese .order-card--mixed { border-color: #efc8aa; background: linear-gradient(90deg, #fff4f8 0%, #fff9df 100%); }
body.panel-freese .order-card__top { gap: 8px; }
body.panel-freese .customer { margin-top: 2px; font-size: .98rem; }
body.panel-freese .order-time, body.panel-freese .customer-phone, body.panel-freese .order-meta, body.panel-freese .payment-details { font-size: .72rem; }
body.panel-freese .fulfillment-info { margin-top: 7px; padding: 6px 8px; font-size: .73rem; }
body.panel-freese .items { gap: 5px; margin: 9px 0 8px; padding: 8px 0; }
body.panel-freese .item-line { font-size: .88rem; }
body.panel-freese .item-notes { margin-top: 1px; font-size: .72rem; }
body.panel-freese .total-row { font-size: .92rem; }
body.panel-freese .status-actions, body.panel-freese .primary-actions, body.panel-freese .minor-actions { margin-top: 8px; }
body.panel-freese .status-button { padding: 6px 8px; font-size: .72rem; }
body.panel-freese .minor-actions .urgent-button { border: 1px solid #d9342a; border-radius: 999px; padding: 7px 10px; background: #d9342a; color: #fff; font-size: .74rem; font-weight: 850; text-decoration: none; box-shadow: 0 4px 10px rgba(217,47,36,.22); }
body.panel-freese .minor-actions .urgent-button.is-marked { background: #8f1f19; color: #fff; }
body.panel-freese .urgent-badge { background: #d9342a; color: #fff; }
body.panel-freese .bulk-status-buttons [data-bulk-status="preparando"] { display: none; }
body.panel-has-kitchen.panel-view-kitchen .orders-app { width: min(100%, 980px); }
body.panel-has-kitchen .orders-list--kitchen { grid-template-columns: minmax(0, 1fr); gap: 12px; }
body.panel-has-kitchen.panel-view-kitchen-mosaic .orders-app { width: min(100%, 1120px); }
body.panel-has-kitchen .orders-list--kitchen-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
body.panel-has-kitchen .kitchen-order-card { display: grid; min-width: 0; gap: 12px; border: 2px solid var(--line); border-radius: 14px; background: #fff; color: var(--ink); padding: 15px; box-shadow: 0 6px 18px rgba(56,35,20,.08); cursor: pointer; overflow-wrap: anywhere; }
body.panel-has-kitchen .kitchen-order-card.is-urgent { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(217,47,36,.16), 0 8px 22px rgba(56,35,20,.1); }
body.panel-has-kitchen .kitchen-card__head { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: 10px; }
body.panel-has-kitchen .kitchen-card__head > div:first-child { min-width: 0; }
body.panel-has-kitchen .kitchen-folio { display: block; color: var(--primary); font-size: .92rem; font-weight: 950; letter-spacing: .07em; }
body.panel-has-kitchen .kitchen-card__head strong { display: block; margin-top: 2px; font-size: clamp(1.28rem, 5.4vw, 1.7rem); line-height: 1.05; }
body.panel-has-kitchen .kitchen-badges { display: flex; flex: 0 1 auto; flex-wrap: wrap; justify-content: flex-end; gap: 6px; max-width: 48%; }
body.panel-has-kitchen .kitchen-urgent, body.panel-has-kitchen .kitchen-status { border-radius: 999px; padding: 7px 9px; font-size: .78rem; font-weight: 900; text-align: center; }
body.panel-has-kitchen .kitchen-urgent { background: var(--primary); color: #fff; }
body.panel-has-kitchen .kitchen-status { background: #ede5dc; color: var(--ink); }
body.panel-has-kitchen .kitchen-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
body.panel-has-kitchen .kitchen-meta span { border: 1px solid rgba(56,35,20,.11); border-radius: 10px; background: rgba(255,255,255,.74); padding: 9px 10px; font-size: clamp(.95rem, 3.8vw, 1.12rem); line-height: 1.25; }
body.panel-has-kitchen .kitchen-meta b, body.panel-has-kitchen .kitchen-note b, body.panel-has-kitchen .kitchen-order-note b { color: var(--ink); }
body.panel-has-kitchen .kitchen-alert { margin: 0; border-radius: 10px; padding: 9px 10px; background: #ffe8d9; color: #8a3a20; font-size: 1rem; font-weight: 900; }
body.panel-has-kitchen .kitchen-alert--late { background: #f8dddd; color: #9b291c; }
body.panel-has-kitchen .kitchen-items { display: grid; gap: 10px; }
body.panel-has-kitchen .kitchen-item { display: grid; gap: 6px; min-width: 0; border-top: 1px solid rgba(56,35,20,.14); padding-top: 10px; }
body.panel-has-kitchen .kitchen-item h3 { margin: 0; font-size: clamp(1.08rem, 4.5vw, 1.32rem); line-height: 1.15; }
body.panel-has-kitchen .kitchen-options { display: grid; gap: 4px; color: #59444d; font-size: clamp(.92rem, 3.6vw, 1.05rem); line-height: 1.25; }
body.panel-has-kitchen .kitchen-options span { min-width: 0; }
body.panel-has-kitchen .kitchen-options .kitchen-extra { color: #8a3a20; font-weight: 850; }
body.panel-has-kitchen .kitchen-note, body.panel-has-kitchen .kitchen-order-note { margin: 0; border-radius: 10px; background: rgba(255,255,255,.72); padding: 9px 10px; color: #4f3b44; font-size: clamp(.94rem, 3.6vw, 1.05rem); line-height: 1.3; }
body.panel-has-kitchen .kitchen-ready-button { width: 100%; min-height: 54px; border: 0; border-radius: 12px; background: #1d8c4d; color: #fff; font-size: clamp(1rem, 4vw, 1.18rem); font-weight: 950; cursor: pointer; }
body.panel-has-kitchen .kitchen-ready-button.is-ready { background: var(--ink); }
body.panel-has-kitchen .kitchen-order-card--compact { gap: 8px; min-height: 210px; padding: 10px; border-radius: 12px; }
body.panel-has-kitchen .kitchen-order-card--compact .kitchen-card__head { display: grid; gap: 6px; }
body.panel-has-kitchen .kitchen-order-card--compact .kitchen-card__head strong { font-size: 1rem; line-height: 1.1; }
body.panel-has-kitchen .kitchen-order-card--compact .kitchen-folio { font-size: .72rem; }
body.panel-has-kitchen .kitchen-order-card--compact .kitchen-badges { justify-content: flex-start; max-width: 100%; }
body.panel-has-kitchen .kitchen-order-card--compact .kitchen-urgent,
body.panel-has-kitchen .kitchen-order-card--compact .kitchen-status { padding: 5px 7px; font-size: .62rem; }
body.panel-has-kitchen .kitchen-order-card--compact .kitchen-meta { grid-template-columns: 1fr; gap: 5px; }
body.panel-has-kitchen .kitchen-order-card--compact .kitchen-meta span { padding: 6px 7px; font-size: .74rem; line-height: 1.15; }
body.panel-has-kitchen .kitchen-order-card--compact .kitchen-alert { padding: 6px 7px; font-size: .75rem; }
body.panel-has-kitchen .kitchen-order-card--compact .kitchen-items { gap: 7px; }
body.panel-has-kitchen .kitchen-order-card--compact .kitchen-item { gap: 4px; padding-top: 7px; }
body.panel-has-kitchen .kitchen-order-card--compact .kitchen-item h3 { font-size: .88rem; line-height: 1.12; }
body.panel-has-kitchen .kitchen-order-card--compact .kitchen-options { gap: 2px; font-size: .72rem; line-height: 1.14; }
body.panel-has-kitchen .kitchen-order-card--compact .kitchen-note,
body.panel-has-kitchen .kitchen-order-card--compact .kitchen-order-note { padding: 6px 7px; font-size: .72rem; line-height: 1.18; }
body.panel-has-kitchen .kitchen-order-card--compact .kitchen-ready-button { align-self: end; min-height: 42px; border-radius: 10px; font-size: .84rem; }
body.panel-freese.panel-view-kitchen .orders-app { width: min(100%, 980px); }
body.panel-freese .orders-list--kitchen { grid-template-columns: minmax(0, 1fr); gap: 12px; }
body.panel-freese.panel-view-kitchen-mosaic .orders-app { width: min(100%, 1120px); }
body.panel-freese .orders-list--kitchen-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
body.panel-freese .kitchen-order-card { display: grid; min-width: 0; gap: 12px; border: 2px solid var(--line); border-radius: 14px; background: #fff; color: var(--ink); padding: 15px; box-shadow: 0 6px 18px rgba(56,35,20,.08); cursor: pointer; overflow-wrap: anywhere; }
body.panel-freese .kitchen-order-card.order-card--fresas { border-color: #e797b4; background: #fff3f8; }
body.panel-freese .kitchen-order-card.order-card--crepas { border-color: #dcc25e; background: #fff8d9; }
body.panel-freese .kitchen-order-card.order-card--mixed { border-color: #eab98e; background: linear-gradient(95deg, #fff4f8 0%, #fff8d9 100%); }
body.panel-freese .kitchen-order-card.is-urgent { border-color: #d9342a; box-shadow: 0 0 0 3px rgba(217,52,42,.18), 0 8px 22px rgba(56,35,20,.1); }
body.panel-freese .kitchen-card__head { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: 10px; }
body.panel-freese .kitchen-card__head > div:first-child { min-width: 0; }
body.panel-freese .kitchen-folio { display: block; color: var(--primary); font-size: .92rem; font-weight: 950; letter-spacing: .07em; }
body.panel-freese .kitchen-card__head strong { display: block; margin-top: 2px; font-size: clamp(1.28rem, 5.4vw, 1.7rem); line-height: 1.05; }
body.panel-freese .kitchen-badges { display: flex; flex: 0 1 auto; flex-wrap: wrap; justify-content: flex-end; gap: 6px; max-width: 48%; }
body.panel-freese .kitchen-urgent, body.panel-freese .kitchen-status { border-radius: 999px; padding: 7px 9px; font-size: .78rem; font-weight: 900; text-align: center; }
body.panel-freese .kitchen-urgent { background: #d9342a; color: #fff; }
body.panel-freese .kitchen-status { background: #ede5dc; color: var(--ink); }
body.panel-freese .kitchen-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
body.panel-freese .kitchen-meta span { border: 1px solid rgba(56,35,20,.11); border-radius: 10px; background: rgba(255,255,255,.7); padding: 9px 10px; font-size: clamp(.95rem, 3.8vw, 1.12rem); line-height: 1.25; }
body.panel-freese .kitchen-meta b, body.panel-freese .kitchen-note b, body.panel-freese .kitchen-order-note b { color: var(--ink); }
body.panel-freese .kitchen-alert { margin: 0; border-radius: 10px; padding: 9px 10px; background: #ffe8d9; color: #8a3a20; font-size: 1rem; font-weight: 900; }
body.panel-freese .kitchen-alert--pending-asap, body.panel-freese .kitchen-alert--late { background: #f8dddd; color: #9b291c; }
body.panel-freese .kitchen-items { display: grid; gap: 10px; }
body.panel-freese .kitchen-item { display: grid; gap: 6px; min-width: 0; border-top: 1px solid rgba(56,35,20,.14); padding-top: 10px; }
body.panel-freese .kitchen-item h3 { margin: 0; font-size: clamp(1.08rem, 4.5vw, 1.32rem); line-height: 1.15; }
body.panel-freese .kitchen-options { display: grid; gap: 4px; color: #59444d; font-size: clamp(.92rem, 3.6vw, 1.05rem); line-height: 1.25; }
body.panel-freese .kitchen-options span { min-width: 0; }
body.panel-freese .kitchen-options .kitchen-extra { color: #8a3a20; font-weight: 850; }
body.panel-freese .kitchen-note, body.panel-freese .kitchen-order-note { margin: 0; border-radius: 10px; background: rgba(255,255,255,.72); padding: 9px 10px; color: #4f3b44; font-size: clamp(.94rem, 3.6vw, 1.05rem); line-height: 1.3; }
body.panel-freese .kitchen-ready-button { width: 100%; min-height: 54px; border: 0; border-radius: 12px; background: #1d8c4d; color: #fff; font-size: clamp(1rem, 4vw, 1.18rem); font-weight: 950; cursor: pointer; }
body.panel-freese .kitchen-ready-button.is-ready { background: #342331; }
body.panel-freese .kitchen-order-card--compact { gap: 8px; min-height: 210px; padding: 10px; border-radius: 12px; }
body.panel-freese .kitchen-order-card--compact .kitchen-card__head { display: grid; gap: 6px; }
body.panel-freese .kitchen-order-card--compact .kitchen-card__head strong { font-size: 1rem; line-height: 1.1; }
body.panel-freese .kitchen-order-card--compact .kitchen-folio { font-size: .72rem; }
body.panel-freese .kitchen-order-card--compact .kitchen-badges { justify-content: flex-start; max-width: 100%; }
body.panel-freese .kitchen-order-card--compact .kitchen-urgent,
body.panel-freese .kitchen-order-card--compact .kitchen-status { padding: 5px 7px; font-size: .62rem; }
body.panel-freese .kitchen-order-card--compact .kitchen-meta { grid-template-columns: 1fr; gap: 5px; }
body.panel-freese .kitchen-order-card--compact .kitchen-meta span { padding: 6px 7px; font-size: .74rem; line-height: 1.15; }
body.panel-freese .kitchen-order-card--compact .kitchen-alert { padding: 6px 7px; font-size: .75rem; }
body.panel-freese .kitchen-order-card--compact .kitchen-items { gap: 7px; }
body.panel-freese .kitchen-order-card--compact .kitchen-item { gap: 4px; padding-top: 7px; }
body.panel-freese .kitchen-order-card--compact .kitchen-item h3 { font-size: .88rem; line-height: 1.12; }
body.panel-freese .kitchen-order-card--compact .kitchen-options { gap: 2px; font-size: .72rem; line-height: 1.14; }
body.panel-freese .kitchen-order-card--compact .kitchen-note,
body.panel-freese .kitchen-order-card--compact .kitchen-order-note { padding: 6px 7px; font-size: .72rem; line-height: 1.18; }
body.panel-freese .kitchen-order-card--compact .kitchen-ready-button { align-self: end; min-height: 42px; border-radius: 10px; font-size: .84rem; }
body.panel-freese .view-toggle,
body.panel-freese .summary-button,
body.panel-freese .availability-button,
body.panel-freese .delivered-toggle,
body.panel-freese .order-detail-panel,
body.panel-freese .order-detail-header,
body.panel-freese .sales-summary-panel,
body.panel-freese .summary-metric,
body.panel-freese .summary-block,
body.panel-freese .filter-button,
body.panel-freese .status-button,
body.panel-freese .copy-button,
body.panel-freese .edit-order-button,
body.panel-freese .reminder-menu,
body.panel-freese .detail-close,
body.panel-freese .summary-close {
  background: #fff;
}
body.panel-freese .filter-button.is-active {
  background: var(--primary);
  color: #fff;
}
body.panel-freese .status-button.is-current {
  background: #ffe4df;
}
.delivered-orders-section { display: grid; gap: 9px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.delivered-toggle { width: 100%; border: 1px solid var(--line); border-radius: 10px; background: #fffaf2; color: var(--ink); padding: 10px 12px; font-size: .82rem; font-weight: 850; text-align: left; cursor: pointer; }
.canceled-toggle { background: #fff5f5; color: #852b2b; }
.delivered-toggle::after { content: "Mostrar"; float: right; color: var(--muted); font-size: .72rem; font-weight: 800; }
.delivered-toggle[aria-expanded="true"]::after { content: "Ocultar"; }
.delivered-orders-list { display: grid; gap: 8px; }
.detail-scroll-lock { position: fixed; left: 0; right: 0; width: 100%; overflow: hidden; }
.order-detail-modal { position: fixed; inset: 0; z-index: 24; display: grid; place-items: center; padding: 16px; overflow: hidden; overscroll-behavior: contain; touch-action: none; }
.order-detail-backdrop { position: absolute; inset: 0; background: rgba(23,20,18,.45); }
.order-detail-panel { position: relative; z-index: 1; width: min(100%, 680px); max-width: 100%; min-width: 0; max-height: min(88vh, 820px); overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y; border: 1px solid var(--line); border-radius: 18px; background: #fffaf2; box-shadow: 0 18px 45px rgba(56,35,20,.24); padding: 16px; }
.order-detail-header { position: sticky; top: -16px; z-index: 5; display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin: -16px -16px 0; padding: 16px 16px 11px; border-bottom: 1px solid var(--line); background: #fffaf2; box-shadow: 0 8px 16px rgba(56,35,20,.08); }
.order-detail-header h2 { margin: 0; font-size: 1.25rem; }
.detail-close, .summary-close { position: relative; z-index: 3; touch-action: manipulation; }
.detail-close { display: grid; width: 36px; height: 36px; place-items: center; flex: 0 0 36px; border: 0; border-radius: 999px; background: #ede5dc; color: var(--ink); font-size: 1.35rem; line-height: 1; cursor: pointer; box-shadow: 0 8px 18px rgba(56,35,20,.14); }
.order-detail-content { padding-top: 12px; }
.order-detail-content .order-card { box-shadow: none; }
.order-detail-content .order-card, .order-detail-content .fulfillment-info, .order-detail-content .items, .order-detail-content .payment-details, .order-detail-content .primary-actions, .order-detail-content .minor-actions, .order-detail-content .status-actions { max-width: 100%; min-width: 0; overflow-wrap: anywhere; }
.order-detail-content .order-card__top, .order-detail-content .delivery-actions { min-width: 0; flex-wrap: wrap; }
.order-detail-content .badges { max-width: 100%; justify-items: start; }
.fulfillment-info, .payment-details, .delivery-actions, .primary-actions, .minor-actions, .status-actions, .summary-breakdown div, .summary-products li { min-width: 0; max-width: 100%; }
.fulfillment-info a, .delivery-whatsapp-button, .delivery-copy-button, .copy-button, .tracking-copy-button, .confirm-button, .ready-button { overflow-wrap: anywhere; white-space: normal; }
.availability-modal { position: fixed; inset: 0; z-index: 25; display: grid; place-items: center; padding: 16px; overflow: hidden; overscroll-behavior: contain; }
.availability-backdrop { position: absolute; inset: 0; background: rgba(23,20,18,.45); }
.availability-panel { position: relative; z-index: 1; width: min(100%, 760px); max-height: min(88vh, 820px); overflow: auto; border: 1px solid var(--line); border-radius: 18px; background: #fffaf2; box-shadow: 0 18px 45px rgba(56,35,20,.24); padding: 16px; }
.availability-header { position: sticky; top: -16px; z-index: 3; display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin: -16px -16px 0; padding: 16px; border-bottom: 1px solid var(--line); background: #fffaf2; box-shadow: 0 8px 16px rgba(56,35,20,.08); }
.availability-header h2 { margin: 0; font-size: 1.25rem; }
.availability-header p:not(.summary-eyebrow) { margin: 5px 0 0; color: var(--muted); font-size: .8rem; line-height: 1.35; }
.availability-close { flex: 0 0 auto; border: 0; border-radius: 999px; width: 34px; height: 34px; background: #ede5dc; color: var(--ink); font-size: 1.35rem; line-height: 1; cursor: pointer; }
.availability-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 13px 0; color: var(--muted); font-size: .78rem; font-weight: 750; }
.availability-reset-button { border: 1px solid #e8cfc8; border-radius: 9px; background: #fff; color: #9b291c; padding: 8px 10px; font-size: .76rem; font-weight: 850; cursor: pointer; }
.availability-content { display: grid; gap: 14px; }
.availability-search { display: grid; gap: 5px; }
.availability-search span { color: var(--muted); font-size: .72rem; font-weight: 850; }
.availability-search input { width: 100%; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); padding: 10px 11px; font: inherit; font-size: .82rem; font-weight: 700; }
.availability-search input:focus { outline: 2px solid var(--primary); outline-offset: 2px; }
.availability-section { display: grid; gap: 9px; }
.availability-section h3 { margin: 0; font-size: .95rem; }
.availability-list { display: grid; gap: 8px; }
.availability-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(122px, auto) auto; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 12px; background: #fff; padding: 10px; }
.availability-row.is-unavailable { border-color: #e8cfc8; background: #fff7f4; }
.availability-row strong { display: block; font-size: .86rem; line-height: 1.2; }
.availability-row span { color: var(--muted); font-size: .72rem; font-weight: 700; line-height: 1.25; }
.availability-duration { display: grid; gap: 4px; color: var(--muted); font-size: .7rem; font-weight: 800; }
.availability-duration select { border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); padding: 7px; font-size: .74rem; font-weight: 750; }
.availability-duration select:disabled { opacity: .55; }
.availability-toggle { display: inline-flex; align-items: center; gap: 7px; color: var(--ink); cursor: pointer; font-size: .76rem; font-weight: 850; }
.availability-toggle input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; }
.availability-toggle__track { position: relative; inline-size: 38px; block-size: 22px; border-radius: 999px; background: #c96a63; transition: background .18s ease; }
.availability-toggle__track::after { content: ""; position: absolute; top: 3px; left: 3px; inline-size: 16px; block-size: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(23,20,18,.25); transition: transform .18s ease; }
.availability-toggle input:checked + .availability-toggle__track { background: #2b9661; }
.availability-toggle input:checked + .availability-toggle__track::after { transform: translateX(16px); }
.availability-empty { border: 1px dashed var(--line); border-radius: 12px; background: #fff; padding: 16px; text-align: center; }
.availability-empty p { margin: 6px 0 0; color: var(--muted); font-size: .82rem; }
.sales-summary-modal { position: fixed; inset: 0; z-index: 20; display: grid; place-items: center; padding: 18px; overflow: hidden; overscroll-behavior: contain; }.sales-summary-backdrop { position: absolute; inset: 0; background: rgba(23,20,18,.42); }.sales-summary-panel { position: relative; z-index: 1; width: min(100%, 680px); max-height: min(86vh, 780px); overflow: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; border: 1px solid var(--line); border-radius: 18px; background: #fffaf2; box-shadow: 0 18px 45px rgba(56,35,20,.22); padding: 18px; }.sales-summary-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }.summary-eyebrow { margin: 0 0 4px; color: var(--primary); font-size: .68rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }.sales-summary-header h2 { margin: 0; font-size: 1.35rem; }.summary-close { border: 0; border-radius: 999px; width: 34px; height: 34px; background: #ede5dc; color: var(--ink); font-size: 1.35rem; line-height: 1; cursor: pointer; }.summary-period-row { display: grid; gap: 10px; padding: 13px 0; }.summary-period-row label { color: var(--muted); font-size: .78rem; font-weight: 800; }.summary-period-row select, .summary-period-row input { margin-left: 5px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); padding: 7px; font-size: .78rem; font-weight: 750; }.summary-custom-range { display: flex; flex-wrap: wrap; gap: 8px; }.sales-summary-content { display: grid; gap: 12px; }.summary-range-note, .summary-note, .summary-muted { color: var(--muted); font-size: .78rem; line-height: 1.4; }.summary-note { margin: 0; border-radius: 9px; background: #fff0c9; color: #765400; padding: 8px 10px; font-weight: 750; }.summary-empty { border: 1px dashed var(--line); border-radius: 12px; padding: 14px; background: white; }.summary-empty strong { display: block; }.summary-empty p { margin: 5px 0 0; color: var(--muted); font-size: .82rem; }.summary-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }.summary-metric, .summary-block { border: 1px solid var(--line); border-radius: 13px; background: white; padding: 12px; }.summary-metric { display: grid; gap: 4px; }.summary-metric span { color: var(--muted); font-size: .75rem; font-weight: 800; }.summary-metric strong { font-size: 1.18rem; }.summary-metric small { color: var(--muted); font-size: .7rem; font-weight: 700; }.summary-metric--main { grid-column: 1 / -1; border-color: #f0c8c0; background: #fff7f4; }.summary-metric--main strong { color: var(--primary); font-size: 1.65rem; }.summary-block h3 { margin: 0 0 9px; font-size: .95rem; }.summary-breakdown { display: grid; gap: 7px; }.summary-breakdown div, .summary-products li { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: .82rem; }.summary-breakdown strong, .summary-products strong { color: var(--ink); white-space: nowrap; }.summary-products { display: grid; gap: 7px; margin: 0; padding-left: 20px; }.sales-summary-footer { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; padding-top: 14px; }.summary-copy-button, .summary-print-button { border: 0; border-radius: 9px; padding: 10px 12px; font-size: .8rem; font-weight: 800; cursor: pointer; }.summary-copy-button { background: #ede5dc; color: var(--ink); }.summary-print-button { background: var(--ink); color: white; }
@media (min-width: 700px) { body.panel-freese .orders-list--mosaic { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1000px) { body.panel-freese .orders-list--mosaic { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 700px) { body.panel-freese .orders-list--kitchen-mosaic { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1000px) { body.panel-freese .orders-list--kitchen-mosaic { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 700px) { body.panel-has-mosaic .orders-list--mosaic { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1000px) { body.panel-has-mosaic .orders-list--mosaic { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 700px) { body.panel-has-kitchen .orders-list--kitchen-mosaic { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1000px) { body.panel-has-kitchen .orders-list--kitchen-mosaic { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 560px) { .orders-header { align-items: stretch; flex-direction: column; }.header-actions { justify-self: end; align-self: flex-end; justify-items: end; max-width: 100%; gap: 5px; }.header-actions .refresh-button { padding: 10px 12px; font-size: .78rem; white-space: normal; }.header-actions .sound-button { padding: 6px 8px; font-size: .68rem; white-space: normal; }.orders-summary { flex-direction: column; gap: 4px; }.orders-controls { align-items: center; flex-direction: row; flex-wrap: wrap; }.sort-control { display: flex; min-width: 0; max-width: 100%; flex: 1 1 145px; align-items: center; gap: 4px; white-space: normal; }.sort-control select { min-width: 0; max-width: 100%; }.summary-button { margin-left: 0; }.add-order-button { margin-left: 0; white-space: normal; }.secondary-actions > button, .secondary-actions > a, .primary-actions > button, .primary-actions > a { min-width: 0; flex: 1 1 130px; text-align: center; }.badges { max-width: 42%; }.order-card__top { gap: 7px; }.order-detail-modal, .sales-summary-modal { padding-inline: 8px; }.order-detail-panel, .sales-summary-panel { width: 100%; max-width: 100%; } }
@media (max-width: 640px) { .orders-app { display: grid; width: 100%; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px; padding-inline: 12px; overflow-x: clip; }.orders-header { display: contents; }.header-brand { grid-column: 1 / -1; min-width: 0; padding: 6px 0 12px; }.header-actions { grid-column: 2; grid-row: 2; align-self: start; justify-self: end; }.orders-summary { grid-column: 1; grid-row: 2; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 5px; padding: 2px 0 9px; border-top: 0; }.orders-summary #ordersCount { font-size: .8rem; font-weight: 750; }.count-range { display: none; }.time-range-control { max-width: 100%; gap: 0; white-space: normal; }.time-range-control > span { display: none; }.time-range-control select { min-width: 0; max-width: 100%; padding: 5px 7px; font-size: .72rem; }.recent-caption { display: none; }.orders-tools, .bulk-actions, .orders-list, .delivered-orders-section { grid-column: 1 / -1; min-width: 0; }.orders-tools { padding-bottom: 12px; }.filter-row { max-width: 100%; padding-bottom: 8px; }.orders-controls { gap: 6px; }.summary-button, .availability-button, .add-order-button { padding: 7px 9px; font-size: .73rem; }.bulk-status-buttons .batch-print-button { margin-left: 0; }.sales-summary-modal, .availability-modal { padding: 10px; place-items: end center; }.sales-summary-panel, .availability-panel { max-height: 90vh; border-radius: 16px 16px 0 0; padding: 15px; overflow-x: hidden; }.summary-period-row select, .summary-period-row input { width: 100%; margin: 5px 0 0; }.summary-metrics { grid-template-columns: 1fr; }.summary-metric--main { grid-column: auto; }.sales-summary-footer { justify-content: stretch; }.summary-copy-button, .summary-print-button { min-width: 0; flex: 1 1 130px; } body.panel-freese .view-toggle { order: 10; width: 100%; } body.panel-freese .view-toggle button { flex: 1 1 0; } body.panel-freese .orders-list--mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; } body.panel-freese .order-mini-card { min-width: 0; padding: 9px; } }

@media (max-width: 640px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  body.panel-freese .orders-app {
    display: block;
    width: 100%;
    max-width: 100vw;
    padding-inline: 10px;
    overflow-x: hidden;
  }
  body.panel-freese .orders-header {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 4px 0 10px;
  }
  body.panel-freese .header-brand {
    min-width: 0;
    padding: 0;
  }
  body.panel-freese .header-brand h1 {
    font-size: 1.55rem;
  }
  body.panel-freese .header-copy {
    margin-top: 3px;
    font-size: .78rem;
  }
  body.panel-freese .header-actions {
    display: flex;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
  }
  body.panel-freese .refresh-stack {
    display: flex;
    min-width: 0;
    flex: 1 1 130px;
    align-items: center;
    gap: 6px;
  }
  body.panel-freese .panel-logout-button,
  body.panel-freese .sound-button,
  body.panel-freese .refresh-button {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    line-height: 1.1;
  }
  body.panel-freese .panel-logout-button,
  body.panel-freese .sound-button {
    flex: 1 1 110px;
    padding: 7px 8px;
    text-align: center;
  }
  body.panel-freese .refresh-button {
    flex: 1 1 auto;
    padding: 9px 10px;
    font-size: .75rem;
  }
  body.panel-freese .last-updated {
    flex: 0 0 100%;
    text-align: left;
    white-space: normal;
    font-size: .64rem;
  }
  body.panel-freese .orders-summary {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-width: 0;
    padding: 8px 0;
    border-top: 1px solid var(--line);
  }
  body.panel-freese .orders-summary #ordersCount,
  body.panel-freese .time-range-control {
    min-width: 0;
  }
  body.panel-freese .time-range-control select {
    max-width: 132px;
  }
  body.panel-freese .orders-tools,
  body.panel-freese .bulk-actions,
  body.panel-freese .orders-list,
  body.panel-freese .delivered-orders-section {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  body.panel-freese .filter-row {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: 5px;
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    padding: 1px 0 7px;
    -webkit-overflow-scrolling: touch;
  }
  body.panel-freese .filter-button,
  body.panel-freese .filter-row .availability-button {
    flex: 0 0 auto;
  }
  body.panel-freese .filter-button {
    gap: 4px;
    padding: 6px 7px;
    font-size: .7rem;
  }
  body.panel-freese .filter-button span {
    min-width: 16px;
    height: 16px;
    font-size: .62rem;
  }
  body.panel-freese .filter-row .availability-button {
    margin-left: auto;
    border-color: var(--primary);
    background: var(--primary);
    color: #fff;
    padding: 6px 8px;
    border-radius: 10px;
    font-size: .7rem;
    box-shadow: 0 6px 12px rgba(223,53,89,.2);
  }
  body.panel-freese .orders-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 6px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  body.panel-freese .sort-control {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    min-width: 0;
    max-width: 100%;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
  }
  body.panel-freese .sort-control select {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }
  body.panel-freese .summary-button {
    grid-column: 2;
    grid-row: 1;
    margin-left: 0;
  }
  body.panel-freese .add-order-button {
    grid-column: 3;
    grid-row: 1;
    margin-left: 0;
  }
  body.panel-freese .summary-button,
  body.panel-freese .add-order-button {
    min-width: 0;
    padding: 8px 9px;
    font-size: .73rem;
    white-space: nowrap;
  }
  body.panel-freese .view-toggle {
    grid-column: 1 / -1;
    grid-row: 3;
    width: 100%;
    max-width: 100%;
    order: initial;
  }
  body.panel-freese .view-toggle button {
    flex: 1 1 0;
    min-width: 0;
    padding-inline: 6px;
  }
}

@media (max-width: 640px) {
  body.panel-freese .orders-app {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(112px, 132px);
    column-gap: 8px;
    align-items: start;
    padding-inline: 10px;
  }
  body.panel-freese .orders-header {
    display: contents;
  }
  body.panel-freese .header-brand {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    padding: 2px 0 6px;
  }
  body.panel-freese .header-actions {
    grid-column: 2;
    grid-row: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    min-width: 0;
    gap: 4px;
    align-self: start;
    justify-self: end;
    justify-items: stretch;
    margin-top: 0;
  }
  body.panel-freese .panel-logout-button,
  body.panel-freese .sound-button,
  body.panel-freese .refresh-button {
    width: 100%;
    min-width: 0;
    padding: 7px 8px;
    text-align: center;
    white-space: normal;
  }
  body.panel-freese .sound-button,
  body.panel-freese .panel-logout-button {
    font-size: .62rem;
  }
  body.panel-freese .refresh-button {
    font-size: .72rem;
  }
  body.panel-freese .refresh-stack {
    display: grid;
    grid-column: 1 / -1;
    min-width: 0;
    gap: 3px;
  }
  body.panel-freese .last-updated {
    text-align: right;
    font-size: .62rem;
    white-space: normal;
  }
  body.panel-freese .orders-summary {
    grid-column: 1;
    grid-row: 2;
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 5px;
    padding: 0 0 6px;
    border-top: 0;
    margin-top: -18px;
  }
  body.panel-freese .orders-tools,
  body.panel-freese .bulk-actions,
  body.panel-freese .orders-list,
  body.panel-freese .delivered-orders-section {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  body.panel-compact-mobile .orders-app {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(112px, 132px);
    column-gap: 8px;
    align-items: start;
    padding-inline: 10px;
  }
  body.panel-compact-mobile .orders-header {
    display: contents;
  }
  body.panel-compact-mobile .header-brand {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    padding: 2px 0 6px;
  }
  body.panel-compact-mobile .header-actions {
    grid-column: 2;
    grid-row: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    min-width: 0;
    gap: 4px;
    align-self: start;
    justify-self: end;
    justify-items: stretch;
    margin-top: 0;
  }
  body.panel-compact-mobile .panel-logout-button,
  body.panel-compact-mobile .sound-button,
  body.panel-compact-mobile .refresh-button {
    width: 100%;
    min-width: 0;
    padding: 7px 8px;
    text-align: center;
    white-space: normal;
  }
  body.panel-compact-mobile .sound-button,
  body.panel-compact-mobile .panel-logout-button {
    font-size: .62rem;
  }
  body.panel-compact-mobile .refresh-button {
    font-size: .72rem;
  }
  body.panel-compact-mobile .refresh-stack {
    display: grid;
    grid-column: 1 / -1;
    min-width: 0;
    gap: 3px;
  }
  body.panel-compact-mobile .last-updated {
    text-align: right;
    font-size: .62rem;
    white-space: normal;
  }
  body.panel-compact-mobile .orders-summary {
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex;
    min-width: 0;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 0 9px;
    border-top: 1px solid var(--line);
    margin-top: 0;
  }
  body.panel-compact-mobile .orders-summary #ordersCount,
  body.panel-compact-mobile .time-range-control {
    min-width: 0;
  }
  body.panel-compact-mobile .time-range-control select {
    max-width: 132px;
  }
  body.panel-compact-mobile .orders-tools,
  body.panel-compact-mobile .bulk-actions,
  body.panel-compact-mobile .orders-list,
  body.panel-compact-mobile .delivered-orders-section {
    grid-column: 1 / -1;
  }
  body.panel-compact-mobile .filter-row {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: 5px;
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    padding: 1px 0 7px;
    -webkit-overflow-scrolling: touch;
  }
  body.panel-compact-mobile .filter-button,
  body.panel-compact-mobile .filter-row .availability-button {
    flex: 0 0 auto;
  }
  body.panel-compact-mobile .filter-button {
    gap: 4px;
    padding: 6px 7px;
    font-size: .7rem;
  }
  body.panel-compact-mobile .filter-button span {
    min-width: 16px;
    height: 16px;
    font-size: .62rem;
  }
  body.panel-compact-mobile .filter-row .availability-button {
    margin-left: auto;
    border-color: var(--primary);
    background: var(--primary);
    color: #fff;
    padding: 6px 8px;
    border-radius: 10px;
    font-size: .7rem;
    box-shadow: 0 6px 12px rgba(223,53,89,.2);
  }
  body.panel-compact-mobile .orders-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 6px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  body.panel-compact-mobile .sort-control {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    min-width: 0;
    max-width: 100%;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
  }
  body.panel-compact-mobile .sort-control select {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }
  body.panel-compact-mobile .summary-button {
    grid-column: 2;
    grid-row: 1;
    margin-left: 0;
  }
  body.panel-compact-mobile .add-order-button {
    grid-column: 3;
    grid-row: 1;
    margin-left: 0;
  }
  body.panel-compact-mobile .summary-button,
  body.panel-compact-mobile .add-order-button {
    min-width: 0;
    padding: 8px 9px;
    font-size: .73rem;
    white-space: nowrap;
  }
  body.panel-has-mosaic .view-toggle {
    grid-column: 1 / -1;
    grid-row: 3;
    width: 100%;
    max-width: 100%;
    order: initial;
  }
  body.panel-has-mosaic .view-toggle button {
    flex: 1 1 0;
    min-width: 0;
    padding-inline: 6px;
  }
  body.panel-has-mosaic .orders-list--mosaic {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }
  body.panel-has-mosaic .order-mini-card {
    min-width: 0;
    padding: 9px;
  }
}
@media print {
  /* Para impresoras térmicas de 58 mm, cambiar 80mm por 58mm y 72mm por 48mm. */
  @page { size: 80mm auto; margin: 3mm 4mm; }
  html, body { width: 80mm; min-width: 0; margin: 0; padding: 0; background: #fff !important; color: #000 !important; font-family: "Courier New", Courier, monospace; }
  .orders-app { display: none !important; }.print-sheet { display: block !important; width: 72mm; margin: 0; color: #000; font-size: 10pt; line-height: 1.3; }.print-ticket { width: 72mm; break-inside: avoid; page-break-inside: avoid; }.print-ticket:not(:last-child) { break-after: page; page-break-after: always; padding-bottom: 4mm; }
  .print-ticket header { display: grid; gap: 2px; padding-bottom: 7px; border-bottom: 1px dashed #000; text-align: center; }.print-ticket header strong { font-size: 14pt; }.print-ticket header span { font-size: 9pt; font-weight: 700; letter-spacing: .12em; }.ticket-meta { display: grid; gap: 2px; padding: 7px 0; border-bottom: 1px dashed #000; }.ticket-meta b { font-size: 12pt; }.ticket-items { display: grid; gap: 8px; padding: 9px 0; border-bottom: 1px dashed #000; }.ticket-items div { display: grid; gap: 2px; }.ticket-items span { padding-left: 7px; font-size: 9pt; }.ticket-notes { margin: 8px 0; }.print-ticket footer { display: flex; justify-content: space-between; padding-top: 8px; font-size: 12pt; }.customer-item { grid-template-columns: 1fr auto; }.customer-item span { grid-column: 1 / -1; }.customer-item em { font-style: normal; font-weight: 700; }.ticket-payment { min-height: 16px; margin-top: 8px; font-size: 9pt; }.thank-you { margin: 12px 0 0; text-align: center; font-size: 10pt; font-weight: 700; }
  .print-ticket--summary .summary-range-note, .print-ticket--summary .summary-note, .print-ticket--summary .summary-muted { color: #000; font-size: 9pt; }.print-ticket--summary .summary-metrics, .print-ticket--summary .summary-breakdown, .print-ticket--summary .sales-summary-content { display: grid; gap: 5px; }.print-ticket--summary .summary-metric, .print-ticket--summary .summary-block { border: 0; border-bottom: 1px dashed #000; border-radius: 0; padding: 6px 0; background: #fff; }.print-ticket--summary .summary-metric span, .print-ticket--summary .summary-metric small { color: #000; }.print-ticket--summary .summary-metric strong { font-size: 12pt; }.print-ticket--summary h3 { margin: 0 0 4px; font-size: 10pt; }.print-ticket--summary .summary-breakdown div, .print-ticket--summary .summary-products li { display: flex; justify-content: space-between; gap: 8px; color: #000; font-size: 9pt; }.print-ticket--summary .summary-products { margin: 0; padding-left: 16px; }
}
