#root{flex-direction:column;width:100%;height:100%;min-height:100vh;display:flex}p{margin:0}*,:before,:after{box-sizing:border-box}:root{--brand:#e85d04;--brand-deep:#c84b03;--brand-soft:#fae6c8;--brand-glow:#e85d042e;--paper:#f8f2e8;--paper-card:#fffdf8;--paper-rule:#ece3d2;--paper-deep:#efe5d0;--ink:#2a1a0e;--ink-soft:#5c4a3a;--ink-faint:#9a8770;--ketchup:#c1272d;--ketchup-soft:#fbe6e6;--pickle:#4f7942;--pickle-soft:#e5efe0;--mustard:#e5a100;--mustard-soft:#faefc9;--orange-primary:var(--brand);--orange-light:var(--brand-soft);--cyan:#1a8fa8;--green:var(--pickle);--purple:#5b3dd8;--bg-color:var(--paper);--text-dark:var(--ink);--r-chip:4px;--r-btn:10px;--r-card:18px;--r-modal:24px;--shadow-1:0 1px 0 #2a1a0e0a, 0 2px 8px -2px #2a1a0e14;--shadow-2:0 1px 0 #2a1a0e0d, 0 8px 24px -8px #2a1a0e1a;--shadow-3:0 1px 0 #2a1a0e0f, 0 20px 40px -12px #2a1a0e33;--font-display:"Anton", "Impact", "Bebas Neue", sans-serif;--font-body:"IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", "SF Mono", "Menlo", monospace;--sidebar-w-collapsed:88px;--sidebar-w-expanded:260px}#root{width:100vw;height:100vh;max-width:none!important;margin:0!important;padding:0!important}html,body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--paper);color:var(--ink);background-image:radial-gradient(800px 600px at 100% 0,#e85d040a,#0000 60%),radial-gradient(600px 500px at 0 100%,#4a331a08,#0000 60%);background-attachment:fixed;overflow:hidden}h1,h2{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-weight:400}h1{letter-spacing:-.02em;font-size:4rem;line-height:.95}h2{margin:0 0 6px;font-size:3rem;line-height:1}h3,h4,th,.kicker,.nav-label{font-family:var(--font-body)}h3{margin:0 0 6px;font-size:1.25rem;font-weight:600}h4{margin:0 0 6px;font-size:1rem;font-weight:600}.kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--brand);margin-bottom:8px;padding-left:20px;font-size:.72rem;font-weight:700;display:inline-block;position:relative}.kicker:before{content:"";background:var(--brand);width:14px;height:2px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.app-container{flex-direction:row;width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w-collapsed);background-color:var(--orange-primary);z-index:100;flex-direction:column;flex-shrink:0;padding:15px 0;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:2px 0 5px #0000001a}.sidebar:hover{width:var(--sidebar-w-expanded)}.sidebar-header{justify-content:center;align-items:center;min-height:70px;margin-bottom:18px;padding:0 12px;transition:padding .3s,justify-content .3s;display:flex}.sidebar:hover .sidebar-header{justify-content:flex-start;padding:0 15px}.logo-container{background:var(--paper-card);border:3px solid #fffdf8f2;border-radius:14px;flex-shrink:0;width:56px;height:56px;overflow:hidden;box-shadow:0 2px 6px #0000002e}.logo-container img{object-fit:cover;width:100%;height:100%}.sidebar-nav{flex-direction:column;flex:1;gap:4px;min-height:0;padding:0 10px;display:flex}.nav-btn{color:#fff;cursor:pointer;width:100%;height:48px;font-family:var(--font-body);text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:10px;align-items:center;gap:15px;padding:0 12px;font-size:.95rem;font-weight:600;transition:background .2s,transform .1s;display:flex;position:relative;overflow:hidden}.nav-btn:before{content:"";background:var(--paper-card);transform-origin:50%;border-radius:2px;width:4px;height:60%;transition:transform .2s cubic-bezier(.4,0,.2,1);position:absolute;top:50%;left:4px;transform:translateY(-50%)scaleY(0)}.nav-btn:hover{background-color:#fffdf81f}.nav-btn:hover:before{transform:translateY(-50%)scaleY(.55)}.nav-btn.active{background-color:#fffdf82e}.nav-btn.active:before{transform:translateY(-50%)scaleY(1)}.nav-btn:active{transform:scale(.97)}.nav-icon{color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:22px;display:flex}.nav-icon svg{stroke:#fff;fill:none;stroke-width:2px;width:24px;height:24px;display:block}.nav-label{opacity:0;white-space:nowrap;letter-spacing:.01em;flex:1;font-size:.95rem;transition:opacity .15s}.sidebar:hover .nav-label{opacity:1;transition:opacity .15s .1s}.ticket-perforation{background-image:radial-gradient(circle, var(--brand-deep) 4px, transparent 4px);opacity:.5;background-position:0;background-repeat:repeat-x;background-size:14px 10px;flex-shrink:0;height:10px;position:relative}.ticket-perforation-top{margin-bottom:-4px}.ticket-perforation-bottom{margin-top:-4px}.sidebar-footer{flex-direction:column;gap:4px;margin-top:10px;padding:12px 10px 14px;display:flex}.sidebar-user{white-space:nowrap;background:#fffdf81f;border-radius:12px;align-items:center;gap:12px;padding:8px 10px;display:flex;overflow:hidden}.sidebar-user-avatar{background:var(--paper-card);width:40px;height:40px;color:var(--brand);font-size:1.1rem;font-weight:700;font-family:var(--font-body);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-user-info{opacity:0;flex:1;min-width:0;transition:opacity .15s;overflow:hidden}.sidebar:hover .sidebar-user-info{opacity:1;transition:opacity .15s .1s}.sidebar-user-name{font-size:.9rem;font-weight:700;font-family:var(--font-body);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-user-role{opacity:.85;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:500}.mobile-menu-btn{background:var(--brand);color:#fff;cursor:pointer;width:42px;height:42px;box-shadow:var(--shadow-1);border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;transition:transform .1s,box-shadow .2s;display:none}.mobile-menu-btn:hover{box-shadow:var(--shadow-2)}.mobile-menu-btn:active{transform:scale(.95)}.sidebar-backdrop{-webkit-backdrop-filter:blur(4px);z-index:99;opacity:0;background:#2a1a0e80;transition:opacity .3s;display:none;position:fixed;inset:0}.sidebar-backdrop.open{opacity:1}.content-area{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.top-bar{background:var(--paper-card);box-shadow:0 1px 0 var(--paper-rule);flex-shrink:0;justify-content:space-between;align-items:center;gap:15px;padding:14px 28px;display:flex}.top-bar-greeting{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.top-bar-greeting-line{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:500}.top-bar-greeting-name{color:var(--ink);font-size:.95rem;font-weight:600}.top-bar-user{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;text-align:right;flex:1;font-size:.95rem;overflow:hidden}.pos-container{flex-direction:row;flex:1;width:100%;min-height:0;display:flex}.main-content{flex:1;min-width:0;padding:28px;overflow-y:auto}.page-content{flex:1;width:100%;min-width:0;padding:36px 40px;overflow-y:auto}.header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.header-row h2+.page-subtitle{margin-top:4px}.page-subtitle{color:#666;margin:0 0 4px;font-size:.95rem;line-height:1.4}.recipe-category-block{margin-bottom:28px}.recipe-category-title{color:#555;border-bottom:2px solid #eee;align-items:baseline;gap:8px;margin:0 0 12px;padding-bottom:8px;font-size:1.2rem;display:flex}.recipe-category-count{color:#999;font-size:.9rem;font-weight:400}.btn-primary{background-color:var(--brand);color:#fff;border-radius:var(--r-btn);cursor:pointer;font-weight:600;font-family:var(--font-body);letter-spacing:.01em;box-shadow:var(--shadow-1);border:none;justify-content:center;align-items:center;gap:8px;padding:11px 22px;font-size:.95rem;transition:transform .1s,box-shadow .2s;display:inline-flex}.btn-primary:hover{box-shadow:var(--shadow-2);background-color:var(--brand-deep);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0);box-shadow:inset 0 2px 4px #0000002e}.btn-secondary{background-color:var(--paper-card);color:var(--ink);border:1.5px solid var(--paper-rule);border-radius:var(--r-btn);cursor:pointer;font-weight:600;font-family:var(--font-body);letter-spacing:.01em;box-shadow:var(--shadow-1);justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.95rem;transition:transform .1s,box-shadow .2s,border-color .2s;display:inline-flex}.btn-secondary:hover{box-shadow:var(--shadow-2);border-color:var(--brand);color:var(--brand);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0);box-shadow:inset 0 2px 4px #2a1a0e1a}.btn-edit{background-color:var(--ink);color:var(--paper-card);border-radius:var(--r-btn);cursor:pointer;width:100%;font-weight:600;font-family:var(--font-body);letter-spacing:.02em;text-transform:uppercase;box-shadow:var(--shadow-1);border:none;justify-content:center;align-items:center;gap:6px;margin-top:12px;padding:9px 16px;font-size:.88rem;transition:transform .1s,box-shadow .2s,background-color .2s;display:inline-flex}.btn-edit:hover{background-color:var(--brand);box-shadow:var(--shadow-2);transform:translateY(-1px)}.btn-edit:active{transform:translateY(0);box-shadow:inset 0 2px 4px #0000002e}.btn-icon{cursor:pointer;background:var(--paper-deep);color:var(--ink);border:none;border-radius:8px;justify-content:center;align-items:center;padding:7px 11px;font-size:.95rem;font-weight:600;transition:transform .1s,background .15s,color .15s;display:inline-flex}.btn-icon:hover{background:var(--brand);color:#fff}.btn-icon:active{transform:scale(.94)}.btn-icon.btn-danger{background:var(--ketchup-soft);color:var(--ketchup)}.btn-icon.btn-danger:hover{background:var(--ketchup);color:#fff}.btn-icon.btn-disabled,.btn-icon:disabled{background:var(--paper-rule);color:var(--ink-faint);cursor:not-allowed}.btn-icon.btn-disabled:hover,.btn-icon:disabled:hover{background:var(--paper-rule);color:var(--ink-faint)}.warning-bell{background:var(--paper-card);color:var(--ink-faint);cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow-1);border:none;border-radius:12px;justify-content:center;align-items:center;padding:0;transition:background .2s,transform .1s,color .2s;display:inline-flex;position:relative}.warning-bell:hover{background:var(--paper-deep);color:var(--ink)}.warning-bell:active{transform:scale(.94)}.warning-bell.has-alerts{background:var(--ketchup-soft);color:var(--ketchup);animation:2.5s ease-in-out infinite bellShake}.warning-bell-badge{background:var(--ketchup);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.72rem;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px;box-shadow:0 1px 3px #c1272d66}@keyframes bellShake{0%,60%,to{transform:rotate(0)}10%,30%{transform:rotate(-12deg)}20%,40%{transform:rotate(12deg)}50%{transform:rotate(0)}}.stock-alert-banner{background:var(--mustard-soft);border-left:5px solid var(--mustard);width:100%;color:var(--ink);border-radius:var(--r-card);cursor:pointer;box-shadow:var(--shadow-1);font-size:.95rem;font-weight:500;font-family:var(--font-body);text-align:left;align-items:center;gap:12px;margin-bottom:20px;padding:14px 20px;transition:transform .1s,box-shadow .2s;display:flex}.stock-alert-banner:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.stock-alert-banner:active{transform:scale(.99)}.stock-alert-banner svg{color:var(--mustard);flex-shrink:0}.stock-alert-banner strong{color:var(--ink);font-weight:700;font-family:var(--font-mono);padding:0 4px}.search-bar{background:var(--paper-card);border-radius:var(--r-btn);box-shadow:var(--shadow-1);border:none;align-items:center;gap:10px;margin-bottom:20px;padding:10px 16px;transition:box-shadow .2s;display:flex}.search-bar:focus-within{box-shadow:var(--shadow-2), 0 0 0 3px var(--brand-glow)}.search-bar svg{color:var(--ink-faint);flex-shrink:0}.search-input{color:var(--ink);font-size:1rem;font-family:var(--font-body);background:0 0;border:none;outline:none;flex:1;min-width:0}.search-input::placeholder{color:var(--ink-faint)}.search-clear{background:var(--paper-deep);cursor:pointer;width:26px;height:26px;color:var(--ink-soft);border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;transition:background .15s,color .15s;display:flex}.search-clear:hover{background:var(--brand);color:#fff}.pill-btn{background:var(--paper-card);color:var(--ink-soft);border:1.5px solid var(--paper-rule);cursor:pointer;font-family:var(--font-body);border-radius:24px;padding:8px 16px;font-size:.88rem;font-weight:500;transition:all .15s}.pill-btn:hover{border-color:var(--brand);color:var(--brand)}.pill-btn.pill-active{background:var(--brand);color:#fff;border-color:var(--brand)}.pill-btn.recommended-pill{background:var(--mustard-soft);color:var(--ink);border-color:var(--mustard);padding:7px 14px;font-size:.85rem}.pill-btn.recommended-pill:hover{background:var(--mustard);color:#fff;border-color:var(--mustard)}.products-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px;display:grid}.product-card{background:var(--paper-card);border-radius:var(--r-card);text-align:left;cursor:pointer;box-shadow:var(--shadow-1);border:none;flex-direction:column;padding:0;transition:transform .18s cubic-bezier(.4,0,.2,1),box-shadow .2s;display:flex;position:relative;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-2);transform:translateY(-4px)rotate(-.4deg)}.product-card:active{box-shadow:var(--shadow-1), inset 0 2px 6px #2a1a0e1a;transform:translateY(-1px)scale(.99)}.product-card-overlay{color:#fff;letter-spacing:.08em;text-transform:uppercase;opacity:0;pointer-events:none;background:linear-gradient(#0000 50%,#e85d04d9 100%);justify-content:center;align-items:flex-end;padding-bottom:14px;font-size:.85rem;font-weight:700;transition:opacity .18s;display:flex;position:absolute;inset:0}.product-card:hover .product-card-overlay{opacity:1}.product-img{aspect-ratio:1;object-fit:cover;background-color:var(--paper-deep);width:100%;display:block}.product-info{flex-direction:column;flex:1;gap:4px;padding:14px 16px 16px;display:flex}.product-info h3{margin:0;font-size:1rem;font-weight:600;line-height:1.2}.product-price{color:var(--ink);font-family:var(--font-mono);margin-top:auto;padding-top:8px;font-size:1.05rem;font-weight:600}.product-price .price-currency{color:var(--ink-faint);margin-right:2px;font-size:.8em}.recipe-summary{color:#666;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:10px;font-size:.85rem;line-height:1.4;display:-webkit-box;overflow:hidden}.recipe-editor-overlay{z-index:200;background:#0009;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.editor-card{background:var(--paper-card);border-radius:var(--r-modal);width:100%;max-width:500px;max-height:90vh;box-shadow:var(--shadow-3);padding:40px;animation:.25s cubic-bezier(.34,1.56,.64,1) scaleIn;overflow-y:auto}.editor-card h3:first-letter,.editor-card .modal-title:first-letter{font-family:var(--font-display);color:var(--brand);margin-right:2px;font-size:2.4em;font-weight:400;line-height:.85}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.form-group{margin-bottom:18px}.form-group label{color:var(--ink-soft);font-size:.85rem;font-weight:600;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;display:block}.form-group .form-hint{color:var(--ink-faint);margin-top:6px;font-size:.8rem;font-style:italic}.form-input{border:1.5px solid var(--paper-rule);border-radius:var(--r-btn);width:100%;font-size:1rem;font-family:var(--font-body);color:var(--ink);background:var(--paper);outline:none;padding:11px 14px;transition:border-color .2s,box-shadow .2s,background .2s}.form-input:focus{border-color:var(--brand);background:var(--paper-card);box-shadow:0 0 0 3px var(--brand-glow)}.form-input::placeholder{color:var(--ink-faint)}.modal-close{background:var(--paper-deep);cursor:pointer;width:32px;height:32px;color:var(--ink-soft);border:none;border-radius:10px;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .1s;display:flex}.modal-close:hover{background:var(--ketchup-soft);color:var(--ketchup)}.modal-close:active{transform:scale(.92)}.cart-panel{background:var(--paper-card);width:360px;box-shadow:-4px 0 0 var(--paper-rule), var(--shadow-1);border-radius:var(--r-card) 0 0 var(--r-card);flex-direction:column;flex-shrink:0;margin:12px 12px 12px 0;display:flex;overflow:hidden}.cart-header{background:var(--brand);color:var(--paper-card);text-align:left;padding:22px 22px 18px;position:relative}.cart-header:after{content:"";border-top:1.5px dashed #fffdf866;height:0;position:absolute;bottom:8px;left:18px;right:18px}.cart-header h2{color:var(--paper-card);letter-spacing:.02em;margin:0;font-size:1.6rem;line-height:1}.cart-header-sub{text-transform:uppercase;letter-spacing:.18em;opacity:.85;margin-bottom:4px;font-size:.7rem;display:block}.cart-items{flex:1;padding:18px 22px;overflow-y:auto}.cart-item{border-bottom:1px dashed var(--paper-rule);justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:12px;display:flex}.cart-item:last-child{border-bottom:none}.cart-item-info{flex:1;min-width:0;overflow:hidden}.cart-item-info strong{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;display:block;overflow:hidden}.cart-item-info .cart-item-price{font-family:var(--font-mono);color:var(--ink-soft);margin-top:2px;font-size:.85rem}.qty-controls{background:var(--paper);box-shadow:var(--shadow-1);border-radius:20px;flex-shrink:0;align-items:center;display:flex;overflow:hidden}.qty-btn{cursor:pointer;color:var(--ink);background:0 0;border:none;padding:6px 12px;font-size:1.05rem;font-weight:700;transition:background .15s}.qty-btn:hover{background:var(--brand);color:#fff}.qty-display{font-family:var(--font-mono);text-align:center;width:28px;font-weight:600}.cart-footer{padding:18px 22px 22px}.total-row{border-top:2px dashed var(--paper-rule);border-bottom:2px dashed var(--paper-rule);justify-content:space-between;align-items:baseline;margin:0 0 18px;padding:16px 0;display:flex;position:relative}.total-row-label{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);font-size:.75rem;font-weight:600}.total-row-value{font-family:var(--font-display);color:var(--brand);letter-spacing:-.01em;font-size:2.5rem;font-weight:400;line-height:1}.total-row-value .price-currency{color:var(--ink-faint);margin-right:4px;font-size:.5em}.pay-btn{background:var(--pickle);color:#fff;border-radius:var(--r-btn);cursor:pointer;width:100%;font-size:1.05rem;font-weight:600;font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;box-shadow:var(--shadow-1);border:none;padding:18px;transition:transform .1s,box-shadow .2s,background .15s}.pay-btn:hover:not(:disabled){background:var(--ink);box-shadow:var(--shadow-2);transform:translateY(-1px)}.pay-btn:active:not(:disabled){transform:translateY(0);box-shadow:inset 0 2px 4px #0000002e}.pay-btn:disabled{background:var(--paper-rule);color:var(--ink-faint);cursor:not-allowed;box-shadow:none}.table-wrapper{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.data-table{border-collapse:separate;border-spacing:0;background:var(--paper-card);border-radius:var(--r-card);width:100%;box-shadow:var(--shadow-1);margin-bottom:30px;overflow:hidden}.data-table th,.data-table td{text-align:left;vertical-align:middle;padding:14px 18px}.data-table thead th{background:var(--paper);color:var(--ink-soft);white-space:nowrap;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--paper-rule);font-size:.72rem;font-weight:700}.data-table tbody tr{transition:background .12s}.data-table tbody tr:nth-child(2n){background:var(--paper)}.data-table tbody tr:hover{background:var(--brand-soft)}.data-table tbody td{border-bottom:1px solid var(--paper-rule);color:var(--ink);font-size:.95rem}.data-table tbody tr:last-child td{border-bottom:none}.stock-input{border:1.5px solid var(--paper-rule);text-align:right;width:90px;font-weight:600;font-family:var(--font-mono);background:var(--paper);color:var(--ink);border-radius:8px;outline:none;padding:8px 10px;transition:border-color .15s}.stock-input:focus{border-color:var(--brand)}.badge-success{background:var(--pickle-soft);color:var(--pickle);letter-spacing:.02em;border-radius:12px;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-block}.badge-danger{background:var(--ketchup-soft);color:var(--ketchup);letter-spacing:.02em;border-radius:12px;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-block}.badge-warning{background:var(--mustard-soft);color:var(--ink);letter-spacing:.02em;border-radius:12px;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-block}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:6px;margin-top:12px;display:grid}.calendar-header{text-align:center;color:#555;text-transform:uppercase;background:#f8f9fa;border-radius:6px;padding:6px 0;font-size:.85rem;font-weight:700}.calendar-cell{background:#fafafa;border:1px solid #eee;border-radius:8px;flex-direction:column;min-height:78px;padding:6px;transition:background .15s,border-color .15s;display:flex;position:relative}.calendar-cell.has-expense{background:#fff3e0;border-color:#ff6b00}.calendar-day-num{color:#555;font-size:.85rem;font-weight:700}.calendar-amount{color:#d9534f;margin-top:auto;font-size:.95rem;font-weight:700}.calendar-count{color:#888;font-size:.7rem}.recurring-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.recurring-card{background:var(--paper-card);border-radius:var(--r-card);box-shadow:var(--shadow-1);flex-direction:column;gap:8px;padding:16px;transition:transform .15s,box-shadow .2s;display:flex}.recurring-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.recurring-card.inactive{opacity:.55;background:var(--paper)}.recurring-card-header{color:var(--ink);justify-content:space-between;font-size:.9rem;font-weight:600;display:flex}.recurring-amount{font-family:var(--font-mono);color:var(--ketchup);font-size:1.4rem;font-weight:600}.recurring-freq{color:var(--brand);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:600}.recurring-desc{color:var(--ink-soft);min-height:18px;font-size:.85rem}.recurring-date{color:var(--ink-faint);font-size:.75rem}.recurring-actions{gap:4px;margin-top:auto;display:flex}.filter-tabs{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.filter-btn{border-radius:var(--r-btn);background:var(--paper-card);color:var(--ink-soft);cursor:pointer;font-weight:500;font-family:var(--font-body);letter-spacing:.02em;box-shadow:var(--shadow-1);border:none;padding:9px 18px;font-size:.9rem;transition:all .15s}.filter-btn:hover{color:var(--brand)}.filter-btn.active{background:var(--brand);color:#fff;box-shadow:var(--shadow-2)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-bottom:30px;display:grid}.stat-card{background:var(--paper-card);border-radius:var(--r-card);text-align:left;box-shadow:var(--shadow-1);padding:24px;transition:transform .15s,box-shadow .2s;position:relative;overflow:hidden}.stat-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.stat-card h3{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin:0 0 8px;font-size:.75rem;font-weight:600}.stat-value{font-family:var(--font-display);letter-spacing:-.01em;word-break:break-word;color:var(--ink);word-break:break-word;margin-top:10px;font-family:Roboto Condensed;font-size:2rem;font-weight:700;line-height:1}.text-green{color:var(--green)}.text-orange{color:var(--orange-primary)}.text-purple{color:var(--purple)}.login-screen{background:var(--paper);z-index:1000;display:flex;position:fixed;inset:0;overflow:hidden}.login-hero{background:radial-gradient(ellipse 700px 700px at 80% 20%, #fffdf824, transparent 60%), radial-gradient(ellipse 500px 500px at 20% 80%, #0000001f, transparent 60%), linear-gradient(155deg, var(--brand) 0%, var(--brand-deep) 100%);flex-direction:column;flex:1.1;justify-content:center;align-items:center;gap:28px;padding:60px;display:flex;position:relative;overflow:hidden}.login-hero:before{content:"";pointer-events:none;background-image:radial-gradient(circle at 20% 30%,#fffdf814 1px,#0000 1.5px),radial-gradient(circle at 70% 60%,#fffdf80f 1px,#0000 1.5px),radial-gradient(circle at 40% 80%,#fffdf80d 1px,#0000 1.5px);background-size:60px 60px,80px 80px,100px 100px;position:absolute;inset:0}.login-hero-logo{z-index:1;background:var(--paper-card);object-fit:contain;border-radius:28px;width:100%;max-width:420px;height:auto;padding:32px;position:relative;box-shadow:0 24px 64px #00000047}.login-hero-tagline{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:10px;max-width:380px;display:flex;position:relative}.login-hero-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:#fffdf8b3;align-items:center;gap:10px;font-size:.7rem;font-weight:700;display:inline-flex}.login-hero-eyebrow:before,.login-hero-eyebrow:after{content:"";background:#fffdf873;width:24px;height:1.5px}.login-hero-line{color:#fffdf8f2;margin:0;font-size:1.05rem;font-weight:400;line-height:1.5}.login-hero-line em{color:var(--paper-card);font-style:italic;font-weight:500}.login-hero-features{z-index:1;flex-wrap:wrap;justify-content:center;gap:8px;max-width:400px;display:flex;position:relative}.login-hero-chip{color:var(--paper-card);letter-spacing:.04em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);font-size:.74rem;font-weight:600;font-family:var(--font-body);white-space:nowrap;background:#fffdf824;border:1px solid #fffdf840;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.login-hero-chip svg{flex-shrink:0}.login-card{background:var(--paper);flex:.9;justify-content:center;align-items:center;padding:48px 32px;display:flex;position:relative}@keyframes loginAppear{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.login-form{flex-direction:column;align-items:stretch;gap:18px;width:100%;max-width:360px;animation:.4s ease-out loginAppear;display:flex}.login-form-logo{justify-content:center;align-items:center;width:100%;margin:0 auto 4px;display:none}.login-form-logo img{width:55%;max-width:200px;height:auto;box-shadow:var(--shadow-1);background:var(--paper-card);border-radius:18px;padding:12px}.login-field{text-align:left}.login-field label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:600;font-family:var(--font-body);text-align:left;margin-bottom:6px;display:block}.login-field input{border:1.5px solid var(--paper-rule);border-radius:var(--r-btn);width:100%;font-size:1rem;font-family:var(--font-body);color:var(--ink);background:var(--paper-card);text-align:left;outline:none;padding:13px 16px;transition:border-color .2s,box-shadow .2s}.login-field input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}.login-field input::placeholder{text-align:left}.login-error{background:var(--ketchup-soft);color:var(--ketchup);border-radius:var(--r-btn);border-left:4px solid var(--ketchup);text-align:left;padding:10px 14px;font-size:.9rem}.login-btn{background:var(--brand);color:var(--paper-card);border-radius:var(--r-btn);font-size:.95rem;font-weight:600;font-family:var(--font-body);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;box-shadow:var(--shadow-1);border:none;margin-top:6px;padding:15px;transition:transform .1s,box-shadow .2s,background .2s}.login-btn:hover:not(:disabled){background:var(--brand-deep);box-shadow:var(--shadow-2);transform:translateY(-1px)}.login-btn:active{transform:translateY(0);box-shadow:inset 0 2px 4px #0000002e}.login-btn:disabled{opacity:.7;cursor:not-allowed}.orders-page{background:var(--paper)}.orders-columns{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px;display:grid}.orders-column{background:var(--paper-card);border-radius:var(--r-card);min-width:0;min-height:400px;box-shadow:var(--shadow-1);flex-direction:column;padding:16px;display:flex}.orders-column-header{border-radius:var(--r-card) var(--r-card) var(--r-card) 4px;color:var(--paper-card);flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:16px;padding:14px 18px;display:flex;position:relative}.orders-column-header:after{content:"";background:var(--paper);clip-path:polygon(100% 0,100% 100%,0 100%);border-bottom-right-radius:var(--r-card);width:14px;height:14px;position:absolute;bottom:0;right:0}.orders-column-header h3{letter-spacing:.04em;text-transform:uppercase;color:var(--paper-card);align-items:center;gap:8px;margin:0;font-size:1.05rem;font-weight:600;display:flex}.header-pendiente{background:linear-gradient(135deg, var(--mustard), #c18800)}.header-preparando{background:linear-gradient(135deg, var(--ketchup), #8e1f23)}.header-entregado{background:linear-gradient(135deg, var(--pickle), #365b2e)}.order-count{color:var(--paper-card);font-size:.92rem;font-weight:700;font-family:var(--font-mono);text-align:center;background:#fffdf847;border-radius:14px;min-width:28px;padding:4px 12px}.orders-column-body{flex-direction:column;gap:12px;max-height:calc(100vh - 280px);padding-right:5px;display:flex;overflow-y:auto}.orders-empty{text-align:center;color:var(--ink-faint);padding:40px 10px;font-size:.92rem;font-style:italic}.order-card{background:var(--paper-card);border-radius:var(--r-card);box-shadow:var(--shadow-1);border-left:5px solid var(--paper-rule);padding:16px;transition:transform .15s,box-shadow .2s,border-left-color .2s;position:relative}.order-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.order-pendiente{border-left-color:var(--mustard)}.order-preparando{border-left-color:var(--ketchup)}.order-entregado{border-left-color:var(--pickle);opacity:.78}.order-card.time-warn{border-left-color:var(--ketchup)}.order-card.time-warn .order-time{color:var(--ketchup);font-weight:700}.order-card.time-urgent{border-left-color:var(--ketchup);border-left-width:6px;animation:1.6s ease-in-out infinite pulseUrgent}.order-card.time-urgent .order-time{color:var(--ketchup);font-weight:700}@keyframes pulseUrgent{0%,to{box-shadow:var(--shadow-1), 0 0 0 0 #c1272d4d}50%{box-shadow:var(--shadow-1), 0 0 0 6px #c1272d00}}.order-card-header{border-bottom:1px dashed var(--paper-rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:5px;margin-bottom:12px;padding-bottom:12px;display:flex}.order-id{font-family:var(--font-display);color:var(--brand);letter-spacing:0;margin-right:8px;font-size:1.5rem;font-weight:400;line-height:1}.order-time{color:var(--ink-faint);font-size:.82rem;font-weight:600;font-family:var(--font-mono);align-items:center;gap:4px;display:inline-flex}.order-operator{background:var(--paper);color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;letter-spacing:.04em;border-radius:12px;max-width:100%;padding:4px 10px;font-size:.74rem;font-weight:600;overflow:hidden}.order-items{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.order-item-row{align-items:center;gap:10px;font-size:.92rem;display:flex}.order-item-qty{background:var(--brand);color:#fff;text-align:center;min-width:36px;font-size:.85rem;font-weight:700;font-family:var(--font-mono);border-radius:6px;flex-shrink:0;padding:3px 9px}.order-item-name{color:var(--ink);word-break:break-word;font-weight:500}.order-card-footer{border-top:1px dashed var(--paper-rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:12px;display:flex}.order-total{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;font-size:1.4rem;font-weight:400}.order-actions{flex-wrap:wrap;gap:6px;display:flex}.order-btn{cursor:pointer;font-size:.82rem;font-weight:600;font-family:var(--font-body);color:#fff;box-shadow:var(--shadow-1);border:none;border-radius:8px;align-items:center;gap:4px;padding:7px 13px;transition:transform .1s,box-shadow .2s;display:inline-flex}.order-btn:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.order-btn:active{transform:translateY(0);box-shadow:inset 0 2px 4px #0000002e}.order-btn-edit{background:var(--ink)}.order-btn-edit:hover{background:var(--brand)}.order-btn-prep{background:var(--mustard);color:var(--ink)}.order-btn-prep:hover{color:#fff;background:#c18800}.order-btn-done{background:var(--pickle)}.order-btn-done:hover{background:#365b2e}.order-btn-done-static{background:var(--pickle-soft);color:var(--pickle);font-size:.82rem;font-weight:600;font-family:var(--font-body);border-radius:8px;align-items:center;gap:4px;padding:7px 13px;display:inline-flex}.order-status-badge{font-size:.74rem;font-weight:600;font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:14px;padding:5px 11px;display:inline-block}.status-pendiente{background:var(--mustard-soft);color:var(--ink)}.status-preparando{background:var(--ketchup-soft);color:var(--ketchup)}.status-entregado{background:var(--pickle-soft);color:var(--pickle)}.alert-box{background:var(--ketchup-soft);border-left:5px solid var(--ketchup);border-radius:var(--r-card);box-shadow:var(--shadow-1);margin-bottom:25px;padding:20px 22px}.alert-box h3{color:var(--ketchup);margin:0 0 10px}.alert-box p{color:var(--ink-soft);margin-bottom:10px}.alert-box ul{color:var(--ketchup);padding-left:20px;font-weight:600}.alert-box li{margin-bottom:5px}.empty-state{text-align:center;background:var(--paper-card);border-radius:var(--r-card);border:1.5px dashed var(--paper-rule);color:var(--ink-soft);box-shadow:var(--shadow-1);flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.empty-state-illustration{width:96px;height:96px;color:var(--ink-faint);opacity:.7;margin-bottom:18px}.empty-state-title{font-family:var(--font-display);color:var(--ink);letter-spacing:0;margin:0 0 6px;font-size:1.5rem;line-height:1}.empty-state-hint{color:var(--ink-soft);max-width:380px;margin:0 0 18px;font-size:.95rem;font-style:italic}.empty-state-action{margin-top:6px}.toast-container{z-index:1100;pointer-events:none;flex-direction:column;gap:10px;max-width:calc(100vw - 40px);display:flex;position:fixed;top:20px;right:20px}.toast{background:var(--paper-card);border-radius:var(--r-card);box-shadow:var(--shadow-2);pointer-events:auto;border-left:4px solid var(--brand);min-width:280px;max-width:380px;color:var(--ink);align-items:flex-start;gap:12px;padding:14px 16px;font-size:.92rem;animation:.3s cubic-bezier(.34,1.56,.64,1) toastSlideIn;display:flex;position:relative}.toast.toast-exit{animation:.25s ease-in forwards toastSlideOut}.toast-success{border-left-color:var(--pickle)}.toast-error{border-left-color:var(--ketchup)}.toast-warning{border-left-color:var(--mustard)}.toast-info{border-left-color:var(--brand)}.toast-icon{flex-shrink:0;margin-top:1px}.toast-success .toast-icon{color:var(--pickle)}.toast-error .toast-icon{color:var(--ketchup)}.toast-warning .toast-icon{color:var(--mustard)}.toast-info .toast-icon{color:var(--brand)}.toast-body{flex:1;line-height:1.4}.toast-title{margin:0 0 2px;font-size:.92rem;font-weight:600}.toast-message{color:var(--ink-soft);margin:0;font-size:.88rem}.toast-close{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;padding:0;transition:background .15s,color .15s;display:flex}.toast-close:hover{background:var(--paper-deep);color:var(--ink)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}@keyframes toastSlideOut{to{opacity:0;transform:translate(120%)}}@media (width<=1100px){.orders-columns{grid-template-columns:repeat(2,1fr)}.products-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media (width<=1024px){.cart-panel{width:320px}.page-content{padding:25px}.main-content{padding:20px}h2{font-size:1.7rem}}@media (width<=900px){.pos-container{flex-direction:column}.cart-panel{border-top:2px solid #ddd;border-left:none;flex-shrink:1;width:100%;height:45vh}.pos-container>.main-content{max-height:55vh}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.mobile-menu-btn{display:flex}.top-bar{padding:10px 15px}.top-bar-user{max-width:60%;font-size:.85rem}.sidebar{z-index:200;height:100vh;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:4px 0 20px #0003;width:var(--sidebar-w-expanded)!important}.sidebar:hover{width:var(--sidebar-w-expanded)!important}.sidebar.open{transform:translate(0)}.sidebar.open .nav-label,.sidebar.open .sidebar-user-info{opacity:1}.sidebar-backdrop{pointer-events:none;display:block}.sidebar-backdrop.open{pointer-events:auto}.page-content{padding:20px 15px}.main-content{padding:15px}.editor-card{padding:20px}.orders-columns{grid-template-columns:1fr}.orders-column-body{max-height:none}.header-row h2{font-size:1.5rem}.header-row{gap:12px}.products-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.product-img{height:100px}.product-info{padding:10px}.product-price{font-size:1.05rem}.cart-header{padding:15px;font-size:1.1rem}.cart-items,.cart-footer{padding:15px}.total-row{font-size:1.2rem}.pay-btn{padding:12px;font-size:1.1rem}.stat-value{font-size:1.6rem}.stat-card{padding:20px}.toast-container{top:12px;left:12px;right:12px}.toast{min-width:0}}@media (width<=1024px){.login-hero{flex:.9;gap:22px;padding:40px 32px}.login-hero-logo{border-radius:22px;max-width:320px;padding:24px}.login-hero-tagline{max-width:340px}.login-hero-line{font-size:.98rem}.login-hero-features{max-width:360px}.login-card{flex:1.1;padding:40px 28px}.login-form{max-width:340px}}@media (width<=768px){.login-screen{flex-direction:column}.login-hero{flex:none;gap:16px;width:100%;min-height:auto;padding:24px 20px}.login-hero-logo{border-radius:16px;max-width:200px;padding:14px}.login-hero-tagline{max-width:340px}.login-hero-line{font-size:.92rem}.login-hero-features{gap:6px;max-width:360px}.login-hero-chip{padding:5px 10px;font-size:.68rem}.login-card{flex:1;padding:36px 24px}.login-form-logo{display:flex}.login-form{max-width:380px}}@media (width<=560px){.login-screen{flex-direction:column}.login-hero{display:none}.login-card{padding:32px 20px}.login-form-logo{display:flex}.login-form{gap:16px;max-width:100%}}@media (width<=600px){.stats-grid{grid-template-columns:1fr}.data-table th,.data-table td{padding:10px 8px;font-size:.9rem}.filter-btn{padding:8px 14px;font-size:.95rem}.order-card{padding:14px}.order-card-header{font-size:.9rem}.top-bar-user{font-size:.8rem}}@media (width<=420px){.login-form-logo img{max-width:160px}.login-field input{padding:12px 14px;font-size:.95rem}.login-btn{padding:14px;font-size:.95rem}.products-grid{grid-template-columns:repeat(2,1fr)}.product-info h3,.product-price{font-size:.95rem}h2{font-size:1.4rem}h3{font-size:1.05rem}.order-card-footer{flex-direction:column;align-items:stretch}.order-actions{justify-content:center}}.cart-type-selector{background:var(--paper);border-bottom:1px solid var(--paper-rule);gap:4px;padding:12px 16px;display:flex}.type-btn{border:1.5px solid var(--paper-rule);background:var(--paper-card);border-radius:var(--r-btn);font-weight:600;font-family:var(--font-body);cursor:pointer;color:var(--ink-soft);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;box-shadow:var(--shadow-1);flex-direction:column;flex:1;align-items:center;gap:4px;padding:10px 6px;font-size:.78rem;transition:all .15s;display:flex}.type-btn:hover{color:var(--brand);border-color:var(--brand)}.type-btn.active{color:#fff;box-shadow:var(--shadow-2);transform:translateY(-1px)}.type-btn.type-local.active{background:var(--brand);border-color:var(--brand)}.type-btn.type-llevar.active{background:var(--ink);border-color:var(--ink)}.type-btn.type-domicilio.active{background:var(--purple);border-color:var(--purple)}.type-btn svg{stroke-width:2px;width:18px;height:18px}.order-type-badge{white-space:nowrap;color:#fff;border-radius:12px;padding:3px 9px;font-family:Roboto Condensed,sans-serif;font-size:.72rem;font-weight:700;display:inline-block}.order-operator-row{margin-top:-5px;margin-bottom:8px}.order-card{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.order-card:active{cursor:grabbing}.order-card.dragging{box-shadow:0 10px 30px #0000004d}.orders-column{transition:background-color .15s,transform .15s}.orders-column.column-drop-target{background:#d4edda;transform:scale(1.01)}.order-card-hint{text-align:center;color:var(--ink-faint);margin-top:8px;font-size:.7rem;font-style:italic}.date-filter{background:var(--paper-card);border-radius:var(--r-card);box-shadow:var(--shadow-1);margin-bottom:22px;padding:20px 24px}.date-filter .period-tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.date-filter .period-tabs .filter-btn{padding:8px 16px;font-size:.95rem}.date-controls{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.date-control-label{color:var(--ink-soft);align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:flex}.date-control-label input[type=date],.date-control-label select{border:1.5px solid var(--paper-rule);font-size:.95rem;font-family:var(--font-body);background:var(--paper-card);min-width:150px;color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:8px;outline:none;padding:8px 12px;transition:border-color .2s,box-shadow .2s}.date-control-label input[type=date]:focus,.date-control-label select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}.graficos-container{margin-top:10px}.chart-card{background:var(--paper-card);border-radius:var(--r-card);box-shadow:var(--shadow-1);margin-bottom:22px;padding:22px 24px}.chart-card h3{color:var(--ink);margin-bottom:15px}.chart-row{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid}.chart-half{margin-bottom:0}.product-filter-row{flex-wrap:wrap;gap:12px;margin-bottom:15px;display:flex}.order-type-badge{font-size:.72rem;font-weight:600;font-family:var(--font-body);white-space:nowrap;color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:14px;padding:4px 10px;display:inline-block}.tipo-local{background:var(--brand)}.tipo-llevar{background:var(--ink)}.tipo-domicilio{background:var(--purple)}@media (width<=900px){.chart-row{grid-template-columns:1fr}}@media (width<=600px){.chart-card{padding:15px}.date-filter{padding:14px}.date-control-label{font-size:.85rem}.date-control-label input[type=date],.date-control-label select{min-width:130px;padding:6px 10px;font-size:.85rem}.type-btn{padding:8px 4px;font-size:.7rem}.type-btn svg{width:16px;height:16px}.cart-type-selector{gap:4px;padding:10px}.order-card-hint{display:none}}@media (width<=420px){.type-btn{padding:6px 2px;font-size:.62rem}.type-btn svg{width:14px;height:14px}}
