:root{--q-color-primary:#e5fe40;--q-color-primary-hover:#d2ea2e;--q-color-primary-active:#c1d920;--q-color-bg-base:#f8f9fa;--q-color-surface-main:#fff;--q-color-surface-secondary:#f1f3f5;--q-color-surface-dark:#1a1d20;--q-color-text-primary:#111;--q-color-text-secondary:#687076;--q-color-text-inverse:#fff;--q-color-success-bg:#e3fcef;--q-color-success-text:#064;--q-color-success-base:#36b37e;--q-color-danger-bg:#ffebe6;--q-color-danger-text:#bf2600;--q-color-danger-base:#ff5630;--q-color-neutral-bg:#dfe1e6;--q-color-neutral-text:#42526e;--q-font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--q-text-xs:.75rem;--q-text-sm:.85rem;--q-text-base:.95rem;--q-text-lg:1.125rem;--q-text-xl:1.25rem;--q-text-2xl:1.5rem;--q-text-3xl:2rem;--q-text-4xl:2.5rem;--q-text-5xl:3.25rem;--q-weight-regular:400;--q-weight-medium:500;--q-weight-bold:700;--q-weight-black:900;--q-space-xs:.25rem;--q-space-sm:.5rem;--q-space-md:1rem;--q-space-lg:1.5rem;--q-space-xl:2rem;--q-space-2xl:3rem;--q-radius-sm:.5rem;--q-radius-md:.75rem;--q-radius-lg:1rem;--q-radius-full:9999px;--q-shadow-sm:0 1px 3px #0000000d;--q-shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--q-shadow-lg:0 10px 15px -3px #00000012, 0 4px 6px -2px #00000008}.q-app-container{background-color:var(--q-color-bg-base);min-height:100vh;color:var(--q-color-text-primary);font-family:var(--q-font-family);justify-content:center;display:flex}.q-mobile-frame{background-color:var(--q-color-bg-base);flex-direction:column;width:100%;max-width:480px;min-height:100vh;display:flex;position:relative}.q-content-area{padding:var(--q-space-md);padding-bottom:calc(85px + env(safe-area-inset-bottom,20px));gap:var(--q-space-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.q-text-h1{font-size:var(--q-text-3xl);font-weight:var(--q-weight-black);letter-spacing:-.02em;margin:0}.q-text-h2{font-size:var(--q-text-xl);font-weight:var(--q-weight-bold);letter-spacing:-.01em;margin:0}.q-text-body{font-size:var(--q-text-base);font-weight:var(--q-weight-regular);color:var(--q-color-text-secondary);margin:0;line-height:1.5}.q-text-overline{font-size:var(--q-text-xs);font-weight:var(--q-weight-bold);text-transform:uppercase;letter-spacing:.1em;color:var(--q-color-text-secondary);margin:0}.q-btn{justify-content:center;align-items:center;gap:var(--q-space-sm);padding:0 var(--q-space-lg);border-radius:var(--q-radius-full);min-height:3.5rem;font-family:inherit;font-weight:var(--q-weight-bold);font-size:var(--q-text-base);cursor:pointer;box-sizing:border-box;border:none;width:100%;text-decoration:none;transition:transform .15s,background-color .15s,opacity .15s;display:inline-flex}.q-btn:active:not(:disabled){transform:scale(.98)}.q-btn:disabled{cursor:not-allowed;opacity:.55}.q-btn-primary{background-color:var(--q-color-primary);color:var(--q-color-text-primary)}.q-btn-primary:hover:not(:disabled){background-color:var(--q-color-primary-hover)}.q-btn-dark{background-color:var(--q-color-surface-dark);color:var(--q-color-text-inverse)}.q-btn-dark:hover:not(:disabled){background-color:#2c3035}.q-btn-outline{color:var(--q-color-text-primary);border:2px solid var(--q-color-neutral-bg);background-color:#0000}.q-btn-outline:hover:not(:disabled){background-color:var(--q-color-surface-secondary)}.q-btn-danger{background-color:var(--q-color-danger-base);color:#fff}.q-btn-danger:hover:not(:disabled){background-color:var(--q-color-danger-text)}.q-card{background-color:var(--q-color-surface-main);border-radius:var(--q-radius-lg);padding:var(--q-space-md);box-shadow:var(--q-shadow-sm);border:1px solid #0000000a}.q-card-dark{background-color:var(--q-color-surface-dark);color:var(--q-color-text-inverse);border-radius:var(--q-radius-lg);padding:var(--q-space-md);box-shadow:var(--q-shadow-md)}.q-badge{border-radius:var(--q-radius-full);font-size:var(--q-text-xs);font-weight:var(--q-weight-bold);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;align-items:center;gap:.35rem;padding:.25rem .6rem;display:inline-flex}.q-badge-brand{background-color:var(--q-color-primary);color:var(--q-color-text-primary)}.q-badge-success{background-color:var(--q-color-success-bg);color:var(--q-color-success-text)}.q-badge-danger{background-color:var(--q-color-danger-bg);color:var(--q-color-danger-text)}.q-badge-neutral{background-color:var(--q-color-neutral-bg);color:var(--q-color-neutral-text)}.q-ticket-now{text-align:center;padding:var(--q-space-xl) var(--q-space-md) var(--q-space-md);border-radius:var(--q-radius-lg);flex-direction:column;align-items:center;display:flex;position:relative;overflow:hidden}.q-ticket-now-number{font-size:var(--q-text-5xl);font-weight:var(--q-weight-black);margin:var(--q-space-sm) 0;letter-spacing:-.05em;color:#fff;line-height:1}.q-ticket-now-name{font-size:var(--q-text-xl);font-weight:var(--q-weight-bold);color:#fff;margin-bottom:var(--q-space-lg);word-break:break-word;max-width:100%}.q-no-show-btn{color:#ffffff8c;cursor:pointer;text-underline-offset:.2rem;background:0 0;border:none;justify-content:center;align-items:center;min-height:44px;margin-top:.75rem;padding:.5rem 1rem;font-size:.82rem;font-weight:500;text-decoration:underline;display:inline-flex}.q-no-show-btn:hover:not(:disabled){color:#ffffffd9}.q-no-show-btn:disabled{opacity:.4;cursor:not-allowed}.q-bottom-nav{background-color:var(--q-color-surface-main);border-top:1px solid var(--q-color-neutral-bg);width:100%;max-width:480px;height:75px;padding-bottom:env(safe-area-inset-bottom,12px);z-index:50;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -4px 12px #00000008}.q-nav-item{color:var(--q-color-text-secondary);font-size:.72rem;font-weight:var(--q-weight-bold);cursor:pointer;border-radius:var(--q-radius-md);-webkit-user-select:none;user-select:none;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:65px;height:55px;transition:color .15s,background-color .15s;display:flex}.q-nav-item.active{color:var(--q-color-text-primary)}.q-nav-icon{justify-content:center;align-items:center;width:22px;height:22px;display:flex}.q-nav-icon svg{fill:currentColor;width:100%;height:100%}:root{color:#1c1b1a;font-synthesis:none;text-rendering:optimizelegibility;background:#f8f9fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:0;min-height:100vh;margin:0}button,input{font:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--q-color-primary);outline-offset:3px}.page{min-height:100vh;padding:1rem;padding-bottom:max(3rem, env(safe-area-inset-bottom))}.surface{background:#fffdf9;border:1px solid #ded9d0;border-radius:1.5rem;width:100%;max-width:34rem;margin:0 auto;padding:1.25rem;box-shadow:0 1rem 3rem #2b251c14}.compact-surface{text-align:center;margin-top:12vh}.brand-header{text-align:center}.brand-mark{color:var(--q-color-text-primary);letter-spacing:.18em;font-size:.78rem;font-weight:900;display:inline-block}.brand-header h1{margin:.3rem 0 0;font-size:clamp(1.65rem,8vw,2.15rem)}.eyebrow{color:#6b665f;letter-spacing:.08em;text-transform:uppercase;margin:1.25rem 0 0;font-size:.85rem;font-weight:700}.demo-notice{color:#52467b;text-align:center;background:#f5f2ff;border:1px dashed #c7bff0;border-radius:.75rem;margin:1rem 0;padding:.65rem .8rem;font-size:.78rem}.status-pill{border-radius:999px;justify-content:center;align-items:center;gap:.5rem;margin:1rem 0;padding:.7rem;font-size:.9rem;font-weight:800;display:flex}.status-open{color:#17583a;background:#ddf5e8}.status-paused{color:#7a2924;background:#fae5e3}.status-closed{color:#7f2924;background:#fae5e3}.public-statuses,.admin-statuses{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.public-statuses .status-pill,.admin-statuses .status-pill{margin-inline:0}.queue-highlight,.serving-card{color:#fff;text-align:center;background:#252126;border-radius:1.2rem;margin:1rem 0;padding:1.5rem 1rem}.queue-highlight p,.serving-card p{color:#d9d3de;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:800}.queue-highlight strong,.serving-card strong{margin-top:.35rem;font-size:clamp(3.5rem,18vw,5.5rem);line-height:1;display:block}.serving-card h2{margin:.75rem 0 0;font-size:1.35rem}.metric-card{border:1px solid #e5e0d8;border-radius:1rem;justify-content:space-between;align-items:center;padding:1rem;display:flex}.metric-card strong{font-size:1.75rem}.provider-picker{margin-top:1.25rem}.provider-options,.provider-queues{gap:.85rem;margin-top:.85rem;display:grid}.provider-option{color:#252126;text-align:left;background:#fff;border:2px solid #ded8cf;border-radius:1rem;justify-content:space-between;align-items:center;gap:.8rem;width:100%;min-height:4.5rem;padding:.85rem 1rem;display:flex}.provider-option-selected{border-color:var(--q-color-text-primary);background:var(--q-color-surface-secondary);box-shadow:0 0 0 2px #00000014}.provider-option:disabled{color:#756f68;background:#f1eeea}.provider-option strong,.provider-option small{display:block}.provider-option small{color:#736d65;margin-top:.25rem}.provider-serving{max-width:8rem;color:var(--q-color-text-secondary);text-align:right;font-size:.74rem;font-weight:800}.ticket-provider{color:var(--q-color-text-primary);font-weight:800}.primary-button{border-radius:var(--q-radius-md);color:#111;background:var(--q-color-primary);letter-spacing:.025em;cursor:pointer;border:0;width:100%;min-height:3.6rem;margin-top:1rem;font-weight:700;transition:background .15s}.primary-button:hover:not(:disabled){background:var(--q-color-primary-hover)}.primary-button:disabled{cursor:not-allowed;opacity:.68}.helper-text{color:#736d65;text-align:center;max-width:28rem;margin:.85rem auto 0;font-size:.78rem;line-height:1.5}.route-marker{color:#9a938a;text-align:center;margin-top:1rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;display:block}.waiting-section{margin-top:1.5rem}.section-heading{justify-content:space-between;align-items:center;display:flex}.section-heading h2{margin:0;font-size:1.05rem}.section-heading span{color:#111;background:var(--q-color-primary);border-radius:50%;place-items:center;width:2rem;height:2rem;font-weight:800;display:grid}.waiting-list{gap:.65rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.waiting-list li{border:1px solid #e5e0d8;border-radius:.9rem;align-items:center;gap:.85rem;padding:.85rem 1rem;display:flex}.waiting-list strong{color:var(--q-color-text-primary)}.login-intro{margin-top:2rem}.login-intro h2,.login-intro p{margin:0}.login-intro p{color:#736d65;margin-top:.5rem;line-height:1.5}.login-form{gap:.55rem;margin-top:1.5rem;display:grid}.login-form label{margin-top:.5rem;font-size:.88rem;font-weight:800}.login-form input{background:#f3f0eb;border:1px solid #d6d0c7;border-radius:.8rem;width:100%;min-height:3.25rem;padding:0 .9rem}.text-link{color:#4e39bb;text-align:center;margin-top:1rem;font-weight:800;display:block}.state-copy{color:#736d65;line-height:1.55}.connection-notice{color:#736d65;text-align:center;margin:-.35rem 0 .85rem;font-size:.78rem}.feedback-message{color:#742d27;background:#fff1ef;border:1px solid #e5b9b4;border-radius:.8rem;justify-content:space-between;align-items:center;gap:.75rem;margin:.8rem 0;padding:.8rem;font-size:.86rem;display:flex}.feedback-message button{color:inherit;background:0 0;border:0;font-size:1.4rem}.join-form{gap:.55rem;margin-top:1rem;display:grid}.join-form label{font-size:.88rem;font-weight:800}.join-form input{background:#fff;border:1px solid #d6d0c7;border-radius:.85rem;width:100%;min-height:3.4rem;padding:0 .9rem}.join-form .primary-button{margin-top:.35rem}.whatsapp-opt-in{background:#faf8f4;border:1px solid #ded8cf;border-radius:.85rem;min-width:0;margin:.4rem 0 0;padding:.85rem}.choice-row{cursor:pointer;align-items:flex-start;gap:.7rem;display:flex}.choice-row input{width:1.25rem;min-height:1.25rem;accent-color:var(--q-color-text-primary);flex:none;margin-top:.1rem}.choice-row span,.choice-row small{line-height:1.35;display:block}.choice-row small,.whatsapp-fields>small{color:#736d65;margin-top:.25rem;font-size:.78rem}.whatsapp-fields{border-top:1px solid #e5dfd6;gap:.4rem;min-width:0;margin-top:.85rem;padding-top:.85rem;display:grid}.consent-row{margin-top:.55rem;font-size:.82rem;font-weight:500}.field-error{color:#8a2c25;margin:.2rem 0 0;font-size:.8rem}.customer-ticket{border:2px solid var(--q-color-surface-dark);background:var(--q-color-surface-main);text-align:center;border-radius:1rem;margin-top:1rem;padding:1.2rem}.customer-ticket .eyebrow{color:var(--q-color-text-secondary);margin-top:0}.customer-ticket h2,.customer-ticket p{margin:.4rem 0 0}.ticket-number{color:var(--q-color-text-primary);margin-top:.35rem;font-size:clamp(3rem,16vw,4.5rem);line-height:1;display:block}.ticket-serving{border-color:var(--q-color-primary);color:#fff;background:var(--q-color-surface-dark)}.ticket-serving .eyebrow,.ticket-serving .ticket-number{color:#fff}.ticket-completed,.ticket-cancelled,.ticket-no_show{background:#f3f0eb;border-color:#d6d0c7}.paused-card{text-align:center;background:#fae5e3;border-radius:1rem;margin-top:1rem;padding:1rem}.paused-card h2,.paused-card p{margin:0}.business-closed-card{background:#fff1ef;border:1px solid #e5b9b4}.daily-metric{background:#f7f4ef;border:1px solid #ded8cf;border-radius:.9rem;justify-content:space-between;align-items:center;margin:1rem 0;padding:.9rem 1rem;display:flex}.daily-metric span{font-weight:800}.daily-metric strong{color:var(--q-color-text-primary);font-size:1.8rem}.business-operation-card{border:1px solid #ded8cf;border-radius:1rem;gap:.8rem;margin-bottom:1rem;padding:1rem;display:grid}.business-operation-card p,.business-operation-card strong{margin:0}.business-operation-card p{color:#736d65;text-transform:uppercase;font-size:.78rem;font-weight:800}.business-operation-card strong{margin-top:.25rem;display:block}.business-operation-card button{border:0;border-radius:.8rem;min-height:3rem;margin-top:0;font-weight:900}.paused-card p{color:#6f3b37;margin-top:.4rem}.danger-link,.refresh-link{text-underline-offset:.2rem;background:0 0;border:0;min-height:3rem;margin:1rem auto 0;padding:0 1rem;font-weight:800;text-decoration:underline;display:block}.danger-link{color:#9a3029}.refresh-link{color:var(--q-color-text-secondary);font-size:.82rem}.secondary-button{border:1px solid var(--q-color-text-primary);min-height:3rem;color:var(--q-color-text-primary);cursor:pointer;background:#fff;border-radius:.8rem;margin-top:.75rem;padding:0 1rem;font-weight:700}.dialog-backdrop{z-index:10;background:#1c1b1a94;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.confirm-dialog{background:#fffdf9;border-radius:1rem;width:min(100%,28rem);padding:1.25rem;box-shadow:0 1rem 3rem #0000003d}.confirm-dialog h2,.confirm-dialog p{margin:0}.confirm-dialog p{color:#736d65;margin-top:.5rem}.dialog-actions{gap:.65rem;margin-top:1.2rem;display:grid}.dialog-actions button{border:0;border-radius:.75rem;min-height:3rem;font-weight:900}.danger-button{color:#fff;background:#9a3029}.admin-surface{max-width:38rem}.provider-queue-card{background:#faf8f4;border:1px solid #dcd5cc;border-radius:1.2rem;padding:1rem}.provider-queue-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.provider-queue-header p,.provider-queue-header h2{margin:0}.provider-queue-header p{color:#736d65;text-transform:uppercase;font-size:.72rem;font-weight:800}.provider-queue-header h2{margin-top:.2rem}.availability-button{border:0;border-radius:999px;min-height:3rem;padding:0 .7rem;font-size:.68rem;font-weight:900}.availability-on{color:#17583a;background:#ddf5e8}.availability-off{color:#7a2924;background:#fae5e3}.provider-serving-card{color:#fff;text-align:center;background:#252126;border-radius:1rem;margin-top:.85rem;padding:1.1rem}.provider-serving-card p,.provider-serving-card h3{margin:0}.provider-serving-card p{color:#d9d3de;text-transform:uppercase;font-size:.72rem;font-weight:800}.provider-serving-card strong{margin-top:.35rem;font-size:clamp(2.4rem,13vw,4rem);display:block}.provider-serving-card h3{margin-top:.35rem}.provider-serving-card span{color:#d9d3de;margin-top:.4rem;font-size:.78rem;display:block}.provider-queue-card .section-heading h3{margin:0;font-size:1rem}.admin-topbar{position:relative}.logout-link{color:#6b665f;text-underline-offset:.2rem;background:0 0;border:0;min-height:3rem;margin:.75rem auto 0;padding:0 1rem;font-size:.72rem;font-weight:800;text-decoration:underline;display:block}.joined-time{color:#d9d3de;margin-top:.55rem;font-size:.82rem;display:block}.advance-button{background:#157347}.empty-copy{color:#736d65;text-align:center;border:1px dashed #d6d0c7;border-radius:.9rem;margin:.85rem 0 0;padding:1rem}.admin-waiting-list li{justify-content:space-between}.waiting-person{align-items:center;gap:.75rem;min-width:0;display:flex}.waiting-person span{text-overflow:ellipsis;overflow:hidden}.admin-waiting-list button{color:#8a3029;background:#fff7f6;border:1px solid #d5a39e;border-radius:.7rem;flex:none;min-height:3rem;padding:0 .75rem;font-size:.72rem;font-weight:900}.full-button{width:100%}.admin-add-form{background:#faf8f4;border:1px solid #e5e0d8;border-radius:1rem;padding:1rem}.access-denied{color:#742d27;text-align:center;background:#fff1ef;border:1px solid #e5b9b4;border-radius:1rem;margin-top:1rem;padding:1rem}.access-denied h2,.access-denied p{margin:0}.access-denied p{margin-top:.5rem}.legal-surface{max-width:50rem}.legal-header{text-align:center;border-bottom:1px solid #e5e0d8;padding-bottom:1.5rem}.legal-header h1{margin:.65rem 0 0;font-size:clamp(1.65rem,7vw,2.5rem);line-height:1.12}.legal-header p{color:#6b665f;margin:.65rem 0 0;font-size:.88rem;font-weight:700}.legal-surface section{padding-top:1.5rem;scroll-margin-top:1rem}.legal-surface h2{color:#252126;margin:0;font-size:1.05rem;line-height:1.35}.legal-surface h3{margin:1.1rem 0 0;font-size:.98rem}.legal-surface p,.legal-surface li{color:#4f4a44;line-height:1.72}.legal-surface p{margin:.8rem 0 0}.legal-surface ul{gap:.45rem;margin:.8rem 0 0;padding-left:1.25rem;display:grid}.legal-surface a{color:#4e39bb;overflow-wrap:anywhere;font-weight:800}@media (width>=42rem){.page{place-items:start center;padding:2.5rem 1.5rem;display:grid}.surface{padding:2rem}}
