:root{--bg-top:#fff3d6;--bg-bottom:#ffe7c2;--card:#fff;--ink:#1c2a3d;--muted:#6b5d4f;--accent:#ff6b4a;--accent-dark:#c94f32;--accent-shadow:#c94f32;--teal:#4ecdc4;--teal-dark:#2f9d95;--yellow:#ffd23f;--border:#ffe0c2;--success-bg:#e1f5ee;--success-text:#085041;--warning-bg:#faeeda;--warning-text:#854f0b;--danger-bg:#fcebeb;--danger-text:#791f1f;--wallet-bg:#fff3d6;--wallet-text:#a2551f;--font-display:"Baloo 2", system-ui, sans-serif;--font-body:"Nunito", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{font-family:var(--font-body);background:linear-gradient(180deg, var(--bg-top) 0%, var(--bg-bottom) 100%);color:var(--ink);background-attachment:fixed;min-height:100vh;margin:0}h1,h2,h3{font-family:var(--font-display);color:var(--ink);font-weight:700}.dashboard p,.auth-page p{color:var(--ink)}.auth-page,.dashboard{max-width:720px;margin:0 auto;padding:2rem 1.25rem;position:relative}.auth-page{max-width:400px}.wordmark{font-family:var(--font-display);font-weight:700}.wordmark .tap{color:var(--accent);animation:2.2s ease-in-out infinite tapPulse;display:inline-block}@keyframes tapPulse{0%,82%,to{transform:scale(1)}88%{transform:scale(1.18)}94%{transform:scale(1)}}.app-brand{text-align:center;color:var(--ink);margin:0 0 .25rem;font-size:2rem}.tagline{text-align:center;color:var(--muted);margin:0 0 1.5rem;font-size:.85rem}.auth-page h1{text-align:center;color:var(--ink);margin:0 0 1rem;font-size:1.15rem}form{background:var(--card);border:none;border-radius:20px;flex-direction:column;gap:.75rem;padding:1.5rem;display:flex;box-shadow:0 4px #ff8a5b26}label{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:700;display:flex}input,select,textarea{border:2px solid var(--border);font-size:1rem;font-family:var(--font-body);color:var(--ink);background:#fff;border-radius:12px;padding:.7rem .9rem;transition:border-color .15s}textarea{resize:vertical;line-height:1.4}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}button{background:var(--accent);color:#fff;font-family:var(--font-display);cursor:pointer;box-shadow:0 3px 0 var(--accent-shadow);border:none;border-radius:12px;padding:.75rem 1.1rem;font-size:1rem;font-weight:600;transition:transform 80ms}button:hover{filter:brightness(1.05)}button:active{box-shadow:0 1px 0 var(--accent-shadow);transform:translateY(2px)}.error{color:#c0392b;font-weight:600}.success{color:var(--success-text);font-weight:600}header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}header h1{margin:0;font-size:1.3rem}header button{color:var(--muted);border:2px solid var(--border);box-shadow:none;background:#fff;padding:.5rem .9rem;font-size:.85rem}header button:hover{background:var(--danger-bg);color:var(--danger-text)}header button:active{box-shadow:none;transform:none}section{background:var(--card);border:none;border-radius:20px;margin-bottom:1.5rem;padding:1.25rem;box-shadow:0 4px #ff8a5b1a}section h2{margin-top:0;font-size:1.1rem}.children-list{flex-wrap:wrap;gap:.5rem;display:flex}.child-chip{color:var(--ink);border:2px solid var(--border);box-shadow:none;font-family:var(--font-display);background:#fff}.child-chip.active{background:var(--teal);color:#fff;border-color:var(--teal-dark);box-shadow:0 3px 0 var(--teal-dark)}.add-child-btn{color:var(--teal-dark);border:2px dashed var(--teal);box-shadow:none;background:#fff}.add-child-btn:hover{background:var(--success-bg)}.add-child-form{border-top:2px dashed var(--border);margin-top:1rem;padding-top:1rem}.menu-item{border-bottom:2px dashed var(--border);justify-content:space-between;align-items:center;padding:.85rem 0;display:flex}.menu-item:last-child{border-bottom:none}.menu-item input[type=number]{width:4rem;box-shadow:none}.desc{color:var(--muted);margin:.2rem 0;font-size:.85rem}.stock{color:var(--success-text);margin:0;font-size:.8rem;font-weight:700}.wallet-card{background:var(--wallet-bg);color:var(--wallet-text);border-radius:16px;margin-bottom:1rem;padding:.9rem 1.1rem}.wallet-card p:first-child{font-size:.8rem;font-family:var(--font-body);opacity:.85;margin:0 0 2px}.wallet-card p:last-child{font-size:1.6rem;font-weight:700;font-family:var(--font-display);margin:0}.status-collected{color:var(--success-text);background:var(--success-bg);border-radius:20px;padding:4px 10px;font-size:.75rem;font-weight:700}.status-sold-out{color:var(--danger-text);font-weight:700}.order-summary{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1rem;display:flex}.topup-form{box-shadow:none;background:0 0;flex-flow:wrap;padding:0}.tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.tabs button{color:var(--ink);border:2px solid var(--border);box-shadow:none;background:#fff;padding:.5rem .9rem;font-size:.85rem}.tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent-dark);box-shadow:0 3px 0 var(--accent-dark)}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:2px dashed var(--border);padding:.6rem .5rem;font-size:.9rem}th{font-family:var(--font-display);color:var(--muted);font-size:.8rem}.topup-review{border-bottom:2px dashed var(--border);padding:.85rem 0}.topup-review:last-child{border-bottom:none}.topup-actions{gap:.5rem;margin-top:.5rem;display:flex}.topup-actions button:last-child{background:var(--muted);box-shadow:0 3px #4a4038}.lookup-result{background:var(--wallet-bg);border-radius:16px;margin-top:1rem;padding:1rem}.auth-page:before,.auth-page:after{content:"";opacity:.6;pointer-events:none;border-radius:50%;position:absolute}.auth-page:before{background:var(--accent);width:14px;height:14px;top:8px;left:4px}.auth-page:after{background:var(--teal);width:10px;height:10px;top:40px;right:10px}.has-bottom-nav.has-bottom-nav{padding-bottom:calc(7rem + env(safe-area-inset-bottom,0px))}.bottom-nav{border-top:2px solid var(--border);padding:.6rem 0 calc(.6rem + env(safe-area-inset-bottom,0px));z-index:10;background:#fff;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #0000000f}.nav-item{box-shadow:none;color:var(--muted);font-family:var(--font-display);background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:.25rem .75rem;font-size:.7rem;display:flex}.nav-item:active{box-shadow:none;transform:none}.nav-item.active{color:var(--accent)}.nav-icon{font-size:1.3rem}.logout-btn{color:var(--danger-text);border:2px solid var(--danger-bg);box-shadow:none;background:#fff;margin-top:.75rem}.logout-btn:hover{background:var(--danger-bg)}@media (width<=480px){.dashboard,.auth-page{padding-top:1.25rem;padding-left:1rem;padding-right:1rem}}button:disabled{opacity:.55;cursor:not-allowed;transform:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--teal);outline-offset:2px}a{color:var(--accent-dark);font-weight:700}.muted{color:var(--muted)!important}.small{font-size:.8rem}.center{text-align:center}.hint{color:var(--muted);margin:.4rem 0;font-size:.85rem}.greeting{text-align:center;color:var(--muted);margin:0 0 1rem;font-weight:700}.big-emoji{margin:0;font-size:2.5rem}.btn-small{border-radius:10px;padding:.4rem .75rem;font-size:.85rem}.btn-big{width:100%;padding:1rem;font-size:1.15rem}.btn-ghost{color:var(--ink);border:2px solid var(--border);box-shadow:none;background:#fff}.btn-ghost:active{box-shadow:none}.btn-danger{color:var(--danger-text);border:2px solid var(--danger-bg);box-shadow:none;background:#fff}.btn-danger:hover{background:var(--danger-bg)}.btn-link{box-shadow:none;color:var(--accent-dark);background:0 0;border:none;padding:.2rem .3rem;font-size:.8rem;text-decoration:underline}.btn-link:active{box-shadow:none;transform:none}.button-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.stack-form{box-shadow:none;background:0 0;padding:0}.inset-form{background:var(--wallet-bg);border-radius:16px;width:100%;padding:1rem}.field-pair{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.form-section{font-family:var(--font-display);margin:.5rem 0 0;font-weight:700}.inline-label{flex-direction:row;align-items:center;gap:.4rem}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.section-head h2{margin:0}.empty{text-align:center;padding:1rem 0}.empty p{margin:.25rem 0}.banner{background:var(--warning-bg);border-radius:14px;justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 1rem;padding:.7rem 1rem;font-size:.9rem;font-weight:700;display:flex;color:var(--warning-text)!important}.search{width:100%;margin:.75rem 0}.chip-row{flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;display:flex}.chip{color:var(--ink);border:2px solid var(--border);box-shadow:none;background:#fff;border-radius:999px;padding:.4rem .8rem;font-size:.85rem}.chip:active{box-shadow:none}.chip.active{background:var(--teal);color:#fff;border-color:var(--teal-dark)}.badge{white-space:nowrap;border-radius:999px;margin-left:.35rem;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-block}.badge-pending{color:var(--warning-text);background:var(--warning-bg)}.badge-collected,.badge-approved{color:var(--success-text);background:var(--success-bg)}.badge-no_show{color:#5a3e8a;background:#eee6fa}.badge-cancelled,.badge-rejected{color:var(--danger-text);background:var(--danger-bg)}.status-pending{color:var(--warning-text);background:var(--warning-bg);border-radius:20px;padding:4px 10px;font-size:.75rem;font-weight:700}.plain-list,.order-list,.prep-list,.bar-list,.confirmation-items{margin:0;padding:0;list-style:none}.list-row{border-bottom:2px dashed var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.plain-list>.list-row:last-child{border-bottom:none}.list-row-stack{flex-direction:column;align-items:stretch}.list-row-stack>.list-row{border-bottom:none;padding:0}.list-row p{margin:.15rem 0 0}.list-row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.align-right{flex-direction:column;align-items:flex-end;gap:0}.is-inactive{opacity:.6}.amount-in{color:var(--success-text)}.amount-out{color:var(--ink)}.price{color:var(--accent-dark);font-weight:700}.low-stock{color:var(--warning-text)}.menu-item.is-sold-out{opacity:.55}.stepper{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.stepper button{border-radius:50%;width:2.4rem;height:2.4rem;padding:0;font-size:1.3rem;line-height:1}.stepper span{text-align:center;min-width:1.5rem;font-family:var(--font-display);font-size:1.1rem;font-weight:700}.cart-bar{bottom:calc(5.5rem + env(safe-area-inset-bottom,0px));background:var(--ink);color:#fff;border-radius:18px;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:.9rem 1rem;display:flex;position:sticky;box-shadow:0 6px 20px #1c2a3d40}.cart-bar p{margin:0;color:#fff!important}.cart-bar .error{color:#ffb4a8!important}.cart-count{opacity:.85;font-size:.8rem}.cart-total{font-family:var(--font-display);font-size:1.4rem;font-weight:700}.confirmation{text-align:center}.confirmation-kicker{font-family:var(--font-display);margin:0;font-size:1.3rem;font-weight:700}.order-number-label{text-transform:uppercase;letter-spacing:.08em;margin:1rem 0 0;font-size:.75rem;color:var(--muted)!important}.order-number{font-family:var(--font-display);margin:.25rem 0;font-size:4rem;font-weight:800;line-height:1;color:var(--accent)!important}.confirmation-day{margin:.25rem 0 .75rem;font-weight:700}.confirmation-items li{padding:.15rem 0}.order-card{border-bottom:2px dashed var(--border);padding:.8rem 0}.order-card:last-child{border-bottom:none}.order-card-head{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.order-card-number{font-family:var(--font-display);color:var(--accent);font-size:1.25rem;font-weight:800}.order-card-day{flex:1}.order-card-items{margin:.3rem 0;font-size:.9rem;color:var(--muted)!important}.order-card-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;font-weight:700;display:flex}section h3{color:var(--muted);margin:1rem 0 .25rem;font-size:.95rem}.child-picker{gap:.5rem;margin-bottom:1rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.child-picker .child-chip{flex-direction:column;flex-shrink:0;align-items:flex-start;display:flex}.child-chip-balance{opacity:.85;font-size:.75rem;font-family:var(--font-body)}.add-child-btn{width:100%;margin-top:.75rem}.bank-card{background:var(--wallet-bg);border-radius:16px;margin-bottom:1rem;padding:.9rem 1rem}.bank-card-title{font-family:var(--font-display);margin:0 0 .4rem;font-weight:700}.bank-details{font-family:var(--font-body);white-space:pre-wrap;margin:0;font-size:.95rem}.auth-links{text-align:center}.auth-links p{margin:.5rem 0}.nav-item{position:relative}.nav-badge,.tab-badge{background:var(--accent);color:#fff;font-size:.7rem;font-family:var(--font-body);border-radius:999px;padding:1px 7px;font-weight:700}.nav-badge{position:absolute;top:0;right:.4rem}.tab-badge{margin-left:.4rem}.tabs button.active .tab-badge{color:var(--accent);background:#fff}.dashboard-wide{max-width:960px}header{flex-wrap:wrap;gap:.25rem 1rem}.header-meta{margin:0}.date-picker{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.date-picker input{padding:.45rem .6rem}.stat-row{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem;display:grid}.stat{background:var(--wallet-bg);border-radius:14px;flex-direction:column;padding:.75rem;display:flex}.stat-value{font-family:var(--font-display);color:var(--wallet-text);font-size:1.35rem;font-weight:700}.stat-label{color:var(--muted);font-size:.78rem}.prep-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.4rem 1rem;display:grid}.prep-list li{padding:.3rem 0}.prep-qty{font-family:var(--font-display);color:var(--accent);font-size:1.15rem;font-weight:800}.pickup-form{box-shadow:none;background:0 0;flex-direction:row;padding:0}.pickup-input{font-size:2rem;font-family:var(--font-display);text-align:center;flex:1;min-width:0;font-weight:700}.lookup-result{text-align:center}.table-scroll{overflow-x:auto}.bar-list li{grid-template-columns:6.5rem 1fr auto;align-items:center;gap:.6rem;padding:.3rem 0;font-size:.85rem;display:grid}.bar-track{background:var(--wallet-bg);border-radius:999px;height:.8rem;overflow:hidden}.bar-fill{background:var(--teal);border-radius:999px;height:100%;display:block}.bar-value{white-space:nowrap;font-weight:700}details summary{cursor:pointer;margin-top:.75rem}@media (width<=480px){.order-number{font-size:3.2rem}.field-pair{grid-template-columns:1fr}.list-row{flex-wrap:wrap}.list-row-actions{justify-content:flex-start}.bar-list li{grid-template-columns:5rem 1fr}.bar-value{grid-column:2}}.app-banners{z-index:20;position:sticky;top:0}.app-banner{padding:calc(.55rem + env(safe-area-inset-top,0px)) 1rem .55rem;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;font-size:.85rem;font-weight:700;display:flex}.app-banner+.app-banner{padding-top:.55rem}.app-banner-offline{background:var(--ink);color:#fff}.app-banner-update{background:var(--teal);color:#fff}.app-banner-update button{color:var(--teal-dark);box-shadow:none;background:#fff}.banner-info{background:var(--success-bg);color:var(--success-text)!important}.install-card{background:var(--card);border:2px dashed var(--teal);border-radius:18px;align-items:center;gap:.75rem;margin:0 0 1rem;padding:.8rem 1rem;display:flex}.install-card img{border-radius:12px;flex-shrink:0}.install-card-text{flex:1;min-width:0}.install-card-text p{color:var(--muted);margin:.15rem 0 0}.install-card-actions{flex-direction:column;align-items:center;gap:.2rem;display:flex}.ios-steps{color:var(--ink);margin:.35rem 0 0;padding-left:1.1rem;font-size:.82rem}.ios-steps li{margin:.15rem 0}.auth-page .install-card{margin-top:1.5rem}@media (display-mode:standalone){.dashboard,.auth-page{padding-top:calc(1.25rem + env(safe-area-inset-top,0px))}}.menu-item{gap:.75rem}.menu-item-info{flex:1;min-width:0}.menu-thumb{width:76px;height:76px;box-shadow:none;background:var(--wallet-bg);cursor:pointer;border:none;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex;overflow:hidden}.menu-thumb:active{box-shadow:none;transform:none}.menu-thumb img{object-fit:cover;width:100%;height:100%;display:block}.menu-thumb-empty{cursor:default;opacity:.6;font-size:1.8rem}.menu-thumb-upload{border:2px dashed var(--border);text-align:center;color:var(--muted);font-weight:700;line-height:1.2}.admin-menu-item{align-items:flex-start;gap:.75rem;display:flex}.photo-viewer{z-index:50;background:#1c2a3deb;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem;display:flex;position:fixed;inset:0}.photo-viewer img{object-fit:contain;border-radius:20px;max-width:100%;max-height:70vh}.photo-viewer p{font-family:var(--font-display);margin:0;font-size:1.2rem;color:#fff!important}.guide-link{background:var(--card);border:2px dashed var(--teal);max-width:320px;color:var(--ink);text-align:left;border-radius:16px;align-items:center;gap:.75rem;margin:1.25rem auto 0;padding:.8rem 1rem;font-weight:600;line-height:1.3;text-decoration:none;display:flex}.guide-link span:first-child{font-size:1.8rem}.guide-link strong{color:var(--teal-dark);font-family:var(--font-display)}.modal-backdrop{z-index:60;background:#1c2a3d99;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--card);text-align:center;border-radius:20px;width:100%;max-width:400px;padding:1.5rem;box-shadow:0 10px 40px #00000040}.modal h2{margin:0 0 .25rem;font-size:1.2rem}.temp-password{letter-spacing:.08em;background:var(--wallet-bg);-webkit-user-select:all;user-select:all;border-radius:14px;margin:1rem 0 .5rem;padding:.75rem;font-family:ui-monospace,Menlo,monospace;font-size:1.9rem;font-weight:700}.modal-actions{justify-content:center;margin:1rem 0 .5rem}.btn-whatsapp{font-family:var(--font-display);background:#25d366;border-radius:12px;padding:.75rem 1.1rem;font-weight:600;text-decoration:none;display:inline-block;box-shadow:0 3px #1da851;color:#fff!important}.steps{margin:0 0 1rem;padding-left:1.25rem;line-height:1.6}.steps code{font-size:.9em}
