:root{--bg: #f3eee6;--panel: #fffdf9;--navy: #1a2a3a;--soup: #c45a28;--line: rgba(26, 42, 58, .12);--danger: #a33;--ok: #2f6b4f;--font: "Source Sans 3", system-ui, sans-serif;--topbar-h: 76px;--nav-h: 48px;--chrome-h: calc(var(--topbar-h) + var(--nav-h))}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--navy);min-height:100dvh}a{color:var(--soup)}button,input,select,textarea{font:inherit}.layout{display:flex;flex-direction:column;height:100dvh;min-height:100dvh;overflow:hidden}.chrome{flex:0 0 auto;position:sticky;top:0;z-index:20;background:var(--panel)}.topbar{height:var(--topbar-h);min-height:var(--topbar-h);max-height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1rem;background:var(--panel);border-bottom:1px solid var(--line);overflow:hidden}.topbar .row{min-width:0;flex:1;height:100%;align-items:center;overflow:hidden}.topbar img{height:var(--topbar-h);max-height:100%;width:auto;margin:0;padding:0;flex:0 0 auto;display:block;object-fit:contain;object-position:left center}.topbar strong{flex:0 0 auto}.topbar-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.topbar-install{display:none}.nav{height:var(--nav-h);min-height:var(--nav-h);max-height:var(--nav-h);display:flex;align-items:center;gap:.35rem;overflow-x:auto;overflow-y:hidden;padding:0 1rem;border-bottom:1px solid var(--line);background:#ffffffb8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-overflow-scrolling:touch;scrollbar-width:thin}.nav-wrap{position:relative}.nav-scroll-hint{display:none}.nav a{text-decoration:none;color:var(--navy);font-weight:600;padding:.35rem .75rem;border-radius:999px;white-space:nowrap;line-height:1.2;flex:0 0 auto}.nav a.active{background:var(--navy);color:#fff}.page{flex:1 1 auto;min-height:0;overflow:auto;padding:1rem;width:100%}.page-inner{width:min(960px,100%);margin:0 auto}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1rem;margin-bottom:.85rem}.card--fulfilled{opacity:.55;background:color-mix(in srgb,var(--panel) 70%,#9aa3ad);border-color:color-mix(in srgb,var(--line) 60%,#9aa3ad)}.order-card__header{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:flex-start;gap:.75rem}.order-card__meta{min-width:0;flex:1}.order-card__actions{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;flex-shrink:0}.order-undo{position:relative;overflow:hidden;background:#f5d9bc;color:#1a2a3a;border-radius:14px;padding:1rem 1rem 1.15rem;margin-bottom:.85rem}.order-undo__body{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.order-undo__cancel{background:#fffdf9;border-color:#1a2a3a33}.order-undo__progress{position:absolute;left:0;right:0;bottom:0;height:4px;background:#c45a2859;transform-origin:left center;animation:order-undo-progress 3s linear forwards}@keyframes order-undo-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.stats-tabs{display:flex;gap:.35rem;margin:0 0 1rem;border-bottom:1.5px solid var(--line);padding-bottom:0}.stats-day-filter{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.stats-day-filter>label{margin:0;font-weight:700;color:var(--navy);white-space:nowrap}.stats-day-filter__date{position:relative;display:inline-flex;align-items:stretch;border:1.5px solid var(--line);border-radius:10px;background:#fff;overflow:hidden;min-height:2.5rem}.stats-day-filter__date:focus-within{border-color:var(--navy)}.stats-day-filter__date input[type=text]{margin:0;width:8.75rem;padding:.55rem .7rem;border:none;border-radius:0;background:transparent;font:inherit;outline:none}.stats-day-filter__cal{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;margin:0;padding:0;color:var(--navy);border:none;border-left:1.5px solid var(--line);border-radius:0;background:#1a2a3a08;cursor:pointer;flex-shrink:0}.stats-day-filter__cal:hover{background:#1a2a3a14}.stats-day-filter__picker{position:absolute;width:0;height:0;opacity:0;pointer-events:none;border:0;padding:0;margin:0}.row.stats-history-filters,.row.stats-hour-filters{align-items:flex-end}.stats-history-filters .field,.stats-hour-filters .field{margin-bottom:0}.stats-history-filters .stats-day-filter__date{width:fit-content}.stats-history-filters .stats-day-filter__date input[type=text]{border:none;border-radius:0;padding:.55rem .7rem}.stats-history-filters__refresh,.stats-hour-filters__apply{margin:0;flex-shrink:0;align-self:flex-end}.stats-tabs__btn{border:none;background:transparent;color:var(--muted, #5a6570);font:inherit;font-weight:700;padding:.55rem .9rem;cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1.5px}.stats-tabs__btn:hover{color:var(--navy)}.stats-tabs__btn.is-active{color:var(--navy);border-bottom-color:var(--navy)}.stats-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.85rem;margin-bottom:.85rem}.stats-kpi{margin-bottom:0;text-align:center;padding:1.15rem 1rem}.stats-kpi__label{font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted, #5a6570);margin-bottom:.45rem}.stats-kpi__value{font-size:clamp(1.6rem,4vw,2.1rem);font-weight:800;color:var(--navy);line-height:1.15}.stats-kpi__value.is-ca{color:#4169e1}.stats-kpi__value.is-pos{color:#2f6b4f}.stats-kpi__value.is-neg{color:#b33a3a}.order-lines{display:grid;gap:.65rem;margin-top:.85rem}.order-line{border:1.5px solid var(--line);border-radius:10px;padding:.7rem .85rem;background:#1a2a3a08}.order-line__title{font-weight:700;color:var(--navy)}.order-line__options{display:grid;gap:.2rem;margin-top:.4rem;padding-left:1rem}.order-line__option{color:var(--muted, #5a6570);font-size:.95rem}.btn{border:none;border-radius:999px;padding:.55rem 1rem;font-weight:700;cursor:pointer;background:var(--navy);color:#fff;white-space:nowrap}.btn.secondary{background:transparent;color:var(--navy);border:1.5px solid var(--line)}.btn.danger{background:var(--danger)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:none;border-radius:10px;cursor:pointer;background:transparent;color:var(--navy);flex-shrink:0}.btn-icon.danger{color:var(--danger)}.btn-icon.danger:hover{background:#aa33331f}.btn-icon:disabled{opacity:.35;cursor:not-allowed}.btn:disabled{opacity:.5;cursor:not-allowed}.autocomplete{position:relative;width:100%}.autocomplete input{width:100%;box-sizing:border-box}.autocomplete-list{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);width:100%;margin:0;padding:.25rem 0;list-style:none;background:#fff;border:1.5px solid var(--line);border-radius:10px;max-height:220px;overflow:auto;box-shadow:0 8px 24px #1a2a3a1f;box-sizing:border-box}.autocomplete-option{display:block;width:100%;text-align:left;border:none;background:transparent;padding:.55rem .75rem;cursor:pointer;font:inherit;color:inherit}.autocomplete-option:hover{background:#c45a281a}.autocomplete-empty{padding:.55rem .75rem;color:#667;font-size:.9rem}.cal-menu-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.cal-menu-row__title{flex:1;min-width:0}@media(min-width:701px){.cal-menu-row__title{flex:0 1 auto}}.field{display:grid;gap:.3rem;margin-bottom:.75rem}.field input,.field textarea,.field select{padding:.65rem .75rem;border-radius:10px;border:1.5px solid var(--line);background:#fff}.row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:.5rem;border-bottom:1px solid var(--line);font-size:.95rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a2a3ab8;display:grid;place-items:center;z-index:100;padding:1rem}.modal{background:var(--panel);border-radius:16px;padding:1.5rem;width:min(420px,100%);box-shadow:0 20px 60px #0000004d;max-height:min(90dvh,100%);overflow:auto}.modal--form{width:min(520px,100%)}.modal-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.items-page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.deleted-section-title{margin:2rem 0 .85rem;font-size:1.15rem}.items-page-header .btn{display:inline-flex;align-items:center;gap:.35rem}.items-table th,.items-table td{vertical-align:middle;padding:.85rem 1rem}.items-table__title{line-height:1.3}.items-table__ingredients{margin-top:.25rem;color:#667;font-size:.92rem;line-height:1.35}.items-table__actions-col{width:1%;white-space:nowrap;text-align:right}.items-table__actions{display:inline-flex;align-items:center;gap:.15rem;justify-content:flex-end}.options-drag-col{width:2.5rem}.options-sortable__head{display:grid;grid-template-columns:2.5rem 1fr auto;gap:.5rem;align-items:center;padding:.65rem 1rem;border-bottom:1px solid var(--line);font-size:.85rem;font-weight:700;color:#667}.options-sortable__list{list-style:none;margin:0;padding:0}.options-row{display:grid;grid-template-columns:2.5rem 1fr auto;gap:.5rem;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--line);background:var(--panel);user-select:none;-webkit-user-select:none}.options-row:last-child{border-bottom:none}.options-row__content{min-width:0}.options-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;margin:0;padding:0;border:none;border-radius:10px;background:transparent;color:#667;cursor:grab;touch-action:none;-webkit-touch-callout:none}.options-drag-handle:active{cursor:grabbing;background:#1a2a3a14}.options-row--dragging{opacity:.55;background:#c45a2814}.options-sortable__head--categories,.options-row--category{grid-template-columns:2.5rem 1fr minmax(7rem,auto) auto}.btn-icon:hover{background:#1a2a3a14}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;background:#c45a2826;font-size:.8rem;font-weight:700}.badge.danger{background:#aa333326;color:var(--danger)}.badge.muted{background:#1a2a3a1f;color:var(--muted, #5a6570)}.muted{color:#667;font-size:.95rem}.page-subtitle{margin:0 0 1rem;font-size:1.35rem;font-weight:600;line-height:1.2;color:#667}.rupture-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between}.rupture-row__info{min-width:0;flex:1 1 auto}.printer-badge{display:inline-block}.login-page{min-height:100dvh;display:grid;place-items:center;padding:1rem}.cal-month-nav{display:flex;align-items:center;justify-content:center;gap:1.75rem;margin:0 auto 1rem;width:100%}.cal-month-label{min-width:10ch;text-align:center;text-transform:capitalize;font-size:1.05rem}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.cal-cell{min-height:72px;border:1px solid var(--line);border-radius:10px;padding:.35rem;background:#fff;font-size:.8rem;cursor:pointer}.cal-cell.muted{opacity:.45}.cal-cell.closed{background:#aa333314}.cal-cell.weekend{background:#1a2a3a14;color:var(--muted, #5a6570)}.cal-cell.selected{outline:2px solid var(--soup)}.cal-edit-panel{scroll-margin-top:1rem;overflow:visible}@media(max-width:700px){.topbar-install{display:inline-flex}.stats-day-filter{flex-wrap:nowrap;gap:.5rem}.stats-day-filter__date{margin-left:auto}.stats-day-filter__date input[type=text]{width:7.5rem}.cal-grid{grid-template-columns:repeat(2,1fr)}.topbar .btn.secondary{padding:.45rem .75rem;font-size:.85rem}.printer-badge{display:none}.nav-wrap--more-right .nav-scroll-hint--right,.nav-wrap--more-left .nav-scroll-hint--left{display:flex;align-items:center;position:absolute;top:0;bottom:0;width:4.25rem;z-index:2;border-bottom:1px solid var(--line)}.nav-wrap--more-right .nav-scroll-hint--right{right:0;justify-content:flex-end;background:linear-gradient(to right,#fffdf900,#fffdf98c 35%,#fffdf9eb 65%,#fffdf9)}.nav-wrap--more-left .nav-scroll-hint--left{left:0;justify-content:flex-start;background:linear-gradient(to left,#fffdf900,#fffdf98c 35%,#fffdf9eb 65%,#fffdf9)}.nav-scroll-hint__btn{display:grid;place-items:center;width:1.5rem;height:1.5rem;padding:0 0 .1rem;border:none;border-radius:999px;background:var(--navy);color:#fff;font-size:1.55rem;font-weight:700;line-height:1;cursor:pointer}.nav-scroll-hint--right .nav-scroll-hint__btn{margin-right:.35rem}.nav-scroll-hint--left .nav-scroll-hint__btn{margin-left:.35rem}.cal-edit-panel .field:has(.autocomplete){width:100%}.cal-edit-panel .autocomplete-list{left:0;right:0;width:100%;max-width:100%}.rupture-row{flex-direction:column;align-items:stretch}.rupture-row .btn{align-self:center;text-align:center}}
