.cg-page{gap:1.25rem;max-width:78rem;margin:0 auto;padding:1.25rem 1.5rem 3rem;display:grid}.cg-head{border-bottom:2px solid var(--steel-300);flex-wrap:wrap;align-items:baseline;gap:1rem;padding-bottom:.75rem;display:flex}.cg-head h1{letter-spacing:-.01em;margin:0;font-size:1.5rem}.cg-badge{background:var(--amber-tint);color:var(--amber);border-radius:999px;margin:0;padding:.15rem .6rem;font-size:.9rem;font-weight:600}.cg-setup-note{border:1px solid var(--amber);border-radius:var(--radius);background:var(--amber-tint);color:var(--amber);margin:0;padding:.9rem 1rem;font-size:.95rem}.cg-layout{grid-template-columns:22rem minmax(0,1fr);align-items:start;gap:1.5rem 2rem;display:grid}.cg-side,.cg-main{grid-template-columns:minmax(0,1fr);gap:1rem;min-width:0;display:grid}.cg-form{background:var(--enamel);border:1px solid var(--steel-300);border-radius:var(--radius);grid-template-columns:minmax(0,1fr);gap:.9rem;padding:1.25rem;display:grid}.cg-form h2{letter-spacing:-.01em;margin:0;font-size:1.25rem}.cg-field{gap:.3rem;display:grid}.cg-field label,.cg-label{font-size:.95rem;font-weight:600}.cg-field input,.cg-field select,.cg-inline input{border:2px solid var(--steel-300);border-radius:var(--radius);background:var(--enamel);width:100%;min-width:0;min-height:3rem;padding:0 .75rem;font-size:1.05rem}.cg-field input:focus-visible,.cg-field select:focus-visible,.cg-inline input:focus-visible{outline-offset:1px;border-color:var(--spruce)}.cg-hint{color:var(--ink-soft);margin:0;font-size:.95rem}.cg-segments{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.cg-segment{border:2px solid var(--steel-300);border-radius:var(--radius);background:var(--enamel);min-height:3rem;font-weight:700}.cg-segment:hover{border-color:var(--spruce)}.cg-segment.is-selected{background:var(--spruce);border-color:var(--spruce);color:#fff}.cg-actions{flex-wrap:wrap;gap:.5rem;display:flex}.cg-btn{border:2px solid var(--steel-300);border-radius:var(--radius);background:var(--enamel);min-height:3rem;padding:0 1.1rem;font-weight:700}.cg-btn:hover:not(:disabled){border-color:var(--spruce);color:var(--spruce-dark)}.cg-btn:disabled{color:var(--steel-500);background:var(--steel-100)}.cg-btn-primary{background:var(--spruce);border-color:var(--spruce);color:#fff}.cg-btn-primary:hover:not(:disabled){background:var(--spruce-dark);border-color:var(--spruce-dark);color:#fff}.cg-btn-primary:disabled{background:var(--steel-100);border-color:var(--steel-300)}.cg-btn-small{min-height:2.5rem;padding:0 .8rem;font-size:.95rem}.cg-alert{border-radius:var(--radius);border-left:6px solid var(--error);background:var(--error-tint);color:#6e150f;margin:0;padding:.65rem .9rem;font-weight:600}.cg-ok{border-radius:var(--radius);border-left:6px solid var(--spruce);background:var(--spruce-tint);color:var(--spruce-dark);margin:0;padding:.65rem .9rem;font-weight:600}.cg-check{color:var(--ink-soft);align-items:center;gap:.5rem;min-height:2.5rem;font-size:.95rem;display:flex}.cg-check input{width:1.25rem;height:1.25rem;accent-color:var(--spruce)}.cg-chips{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.cg-chip{background:var(--steel-100);border-radius:999px;align-items:center;gap:.4rem;padding:.2rem .3rem .2rem .75rem;font-weight:600;display:inline-flex}.cg-chip.is-inactive{color:var(--steel-500);text-decoration:line-through}.cg-chip-button{background:var(--enamel);min-height:2rem;color:var(--ink-soft);border:0;border-radius:999px;padding:0 .6rem;font-size:.85rem;font-weight:600}.cg-chip-button:hover:not(:disabled){color:var(--spruce-dark)}.cg-inline{gap:.5rem;display:flex}.cg-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.cg-dept{background:var(--enamel);border:1px solid var(--steel-300);border-radius:var(--radius);grid-template-columns:minmax(0,1fr);gap:.75rem;min-width:0;padding:1.25rem;display:grid}.cg-dept-head{border-bottom:2px solid var(--spruce-tint);gap:.25rem;padding-bottom:.5rem;display:grid}.cg-dept-head h2{letter-spacing:-.01em;margin:0;font-size:1.4rem}.cg-items{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.cg-item{border:1px solid var(--steel-100);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"info price""actions actions";gap:.35rem .75rem;padding:.75rem;display:grid}.cg-item.is-editing{border-color:var(--spruce);background:var(--spruce-tint)}.cg-item.is-inactive{background:var(--steel-50);color:var(--steel-500)}.cg-item-info{grid-area:info;min-width:0;display:grid}.cg-item-info strong{overflow-wrap:anywhere}.cg-item-meta{color:var(--ink-soft);font-size:.9rem}.cg-price{font-weight:700;font-family:var(--font-receipt);white-space:nowrap;grid-area:price}.cg-item-actions{grid-area:actions;gap:.5rem;display:flex}.cg-empty{color:var(--ink-soft);margin:0}@media (width<=62rem){.cg-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=40rem){.cg-page{padding-inline:1rem}.cg-columns{grid-template-columns:minmax(0,1fr)}}.cg-printer{gap:.25rem;font-weight:600;display:grid}.cg-printer select{border:2px solid var(--steel-300);border-radius:var(--radius);background:var(--enamel);min-height:3rem;padding:0 .5rem;font-weight:400}.cg-printer small{color:var(--amber);font-weight:400}.cg-failures{background:var(--amber-tint);border:1px solid var(--amber);border-radius:var(--radius);gap:.75rem;padding:1.25rem;display:grid}.cg-failures h2{color:var(--amber);margin:0;font-size:1.2rem}.cg-failure-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.cg-failure-list li{background:var(--enamel);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.75rem;display:flex}.cg-failure-reason{color:var(--ink-soft);display:block}.qr-scanner{gap:.75rem;display:grid}.qr-scanner-view{aspect-ratio:1;border-radius:var(--radius);background:#000;max-width:100%;position:relative;overflow:hidden}.qr-scanner-view video{object-fit:cover;width:100%;height:100%}.qr-scanner-frame{border:3px solid #fff;border-radius:12px;position:absolute;inset:18%;box-shadow:0 0 0 999px #00000059}.cx{max-width:44rem;padding:1rem max(1rem, env(safe-area-inset-right)) 3rem max(1rem, env(safe-area-inset-left));gap:1rem;margin:0 auto;font-size:1.0625rem;display:grid}.cx-head{border-bottom:2px solid var(--steel-300);flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;padding-bottom:.75rem;display:flex}.cx-head h1{margin:0;font-size:1.5rem}.cx-demo{background:var(--amber-tint);color:var(--amber);border-radius:999px;margin:0;padding:.1rem .6rem;font-size:.85rem;font-weight:600}.cx h2{margin:0;font-size:1.2rem}.cx-hint{color:var(--ink-soft);margin:0;font-size:.95rem}.cx-notice{border-radius:var(--radius);border-left:6px solid var(--steel-500);background:var(--enamel);margin:0;padding:.75rem 1rem;font-weight:600}.cx-notice-ok{border-color:var(--spruce);background:var(--spruce-tint);color:var(--spruce-dark)}.cx-notice-info{border-color:var(--amber);background:var(--amber-tint);color:var(--amber)}.cx-notice-error{border-color:var(--error);background:var(--error-tint);color:#6e150f}.cx-panel{background:var(--enamel);border:1px solid var(--steel-300);border-radius:var(--radius);gap:.75rem;padding:1.25rem;display:grid}.cx-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.cx-code{font-family:var(--font-receipt);letter-spacing:.08em}.cx-btn{border-radius:var(--radius);border:2px solid #0000;min-height:3.5rem;padding:0 1.25rem;font-size:1.15rem;font-weight:700}.cx-btn-primary{background:var(--spruce);color:#fff}.cx-btn-primary:disabled{background:var(--steel-100);color:var(--steel-500);border-color:var(--steel-300)}.cx-btn-secondary{background:var(--enamel);border-color:var(--steel-500)}.cx-btn-secondary:disabled{color:var(--steel-500);border-color:var(--steel-300)}.cx-link{min-height:2.75rem;color:var(--spruce);text-underline-offset:4px;background:0 0;border:0;font-weight:600;text-decoration:underline}.cx-chip{border:1px solid var(--steel-500);background:var(--steel-50);min-height:2.5rem;font-family:var(--font-receipt);border-radius:999px;padding:0 .85rem}.cx-row{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.cx input{border:2px solid var(--steel-300);border-radius:var(--radius);background:var(--enamel);min-width:0;min-height:3.5rem;padding:0 .75rem;font-size:1.15rem}.cx input:focus{outline:3px solid var(--spruce-tint);border-color:var(--spruce)}.cx-lines{margin:0;padding:0;list-style:none;display:grid}.cx-lines li{border-bottom:1px solid var(--steel-100);justify-content:space-between;gap:1rem;padding:.5rem 0;display:flex}.cx-lines li>span:first-child{overflow-wrap:anywhere;min-width:0}.cx-lines li>span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}.cx-lines .is-voided{color:var(--steel-500);text-decoration:line-through}.cx-pending{border-radius:var(--radius);border:1px dashed var(--amber);background:var(--amber-tint);gap:.25rem;padding:.75rem 1rem;display:grid}.cx-pending p{margin:0}.cx-totals{gap:.25rem;margin:0;padding-top:.5rem;display:grid}.cx-totals>div{justify-content:space-between;gap:1rem;display:flex}.cx-totals dt,.cx-totals dd{margin:0}.cx-totals dd{font-variant-numeric:tabular-nums}.cx-balance{border-top:2px solid var(--steel-300);padding-top:.5rem;font-size:1.6rem;font-weight:800}.cx-seg{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.5rem;display:grid}.cx-seg-btn{border:2px solid var(--steel-300);border-radius:var(--radius);background:var(--enamel);min-height:3.25rem;padding:0 .75rem;font-size:1.05rem;font-weight:600}.cx-seg-btn[aria-checked=true]{border-color:var(--spruce);background:var(--spruce-tint);color:var(--spruce-dark)}.cx-split{gap:.75rem;display:grid}.cx-stepper{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.cx-stepper-ctl{align-items:center;gap:.75rem;display:flex}.cx-stepper-ctl .cx-btn{min-width:3.5rem;padding:0}.cx-stepper-ctl output{text-align:center;min-width:2rem;font-size:1.5rem;font-weight:800}.cx-field{gap:.25rem;display:grid}.cx-field small{color:#6e150f;font-weight:600}.co{max-width:34rem;padding:1rem max(1rem, env(safe-area-inset-left)) 8rem max(1rem, env(safe-area-inset-right));gap:1rem;margin:0 auto;font-size:1.0625rem;display:grid}.co-head{border-bottom:2px solid var(--steel-300);flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;padding-bottom:.75rem;display:flex}.co-brand{width:100%;color:var(--steel-500);margin:0;font-size:.85rem;font-weight:600}.co-head h1{letter-spacing:-.01em;margin:0;font-size:1.75rem}.co-demo{background:var(--amber-tint);color:var(--amber);border-radius:999px;margin:0;padding:.1rem .6rem;font-size:.85rem;font-weight:600}.co h2{margin:0;font-size:1.2rem}.co-hint{color:var(--ink-soft);margin:0}.co-alert{border-radius:var(--radius);border-left:6px solid var(--error);background:var(--error-tint);color:#6e150f;margin:0;padding:.75rem 1rem;font-weight:600}.co-panel{background:var(--enamel);border:1px solid var(--steel-300);border-radius:var(--radius);gap:1rem;padding:1.25rem;display:grid}.co-menu{gap:1.5rem;display:grid}.co-menu section{gap:.5rem;display:grid}.co-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.co-item{background:var(--enamel);border:1px solid var(--steel-300);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem .75rem;padding:.75rem .875rem;display:grid}.co-item.is-picked{border-color:var(--spruce);box-shadow:inset 4px 0 0 var(--spruce)}.co-item-main{min-width:0;display:grid}.co-item-name{overflow-wrap:anywhere;font-weight:600}.co-item-price{color:var(--ink-soft)}.co-stepper{text-align:center;grid-template-columns:3rem 2.25rem 3rem;align-items:center;display:grid}.co-stepper button{border-radius:var(--radius);border:2px solid var(--spruce);background:var(--enamel);height:3rem;color:var(--spruce);font-size:1.5rem;font-weight:700;line-height:1}.co-stepper button:disabled{border-color:var(--steel-300);color:var(--steel-300)}.co-stepper button:active:not(:disabled){background:var(--spruce-tint)}.co-stepper output{font-size:1.15rem;font-weight:700}.co-notes{grid-column:1/-1}.co-notes input,.co-field input,.co-code{border:2px solid var(--steel-300);border-radius:var(--radius);background:var(--enamel);width:100%;min-height:3rem;padding:0 .75rem}.co-notes input:focus,.co-field input:focus,.co-code:focus{outline:3px solid var(--spruce-tint);border-color:var(--spruce)}.co-bar{z-index:5;padding:.75rem max(1rem, env(safe-area-inset-right)) calc(.75rem + env(safe-area-inset-bottom,0px)) max(1rem, env(safe-area-inset-left));background:var(--ink);color:#fff;justify-content:space-between;align-items:center;gap:.75rem;display:flex;position:fixed;bottom:0;left:0;right:0}.co-bar-sum{min-width:0;margin:0}.co-btn{border-radius:var(--radius);border:2px solid #0000;min-height:3.5rem;padding:0 1.25rem;font-size:1.15rem;font-weight:700}.co-btn-primary{background:var(--spruce);color:#fff}.co-btn-primary:disabled{background:var(--steel-100);color:var(--steel-500);border-color:var(--steel-300)}.co-bar .co-btn-primary:disabled{color:var(--steel-300);border-color:var(--steel-500);background:0 0}.co-btn-secondary{background:var(--enamel);border-color:var(--steel-500)}.co-btn-secondary:disabled{color:var(--steel-500);border-color:var(--steel-300)}.co-link{min-height:2.75rem;color:var(--spruce);text-underline-offset:4px;background:0 0;border:0;font-weight:600;text-decoration:underline}.co-or{text-align:center;color:var(--steel-500);margin:0}.co-card-form{gap:.75rem;display:grid}.co-code{font-family:var(--font-receipt);letter-spacing:.15em;text-align:center;text-transform:uppercase;font-size:1.5rem}.co-field{gap:.35rem;font-weight:600;display:grid}.co-demo-cards{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;font-size:.95rem;display:flex}.co-chip{border:1px solid var(--steel-500);background:var(--steel-50);min-height:2.5rem;font-family:var(--font-receipt);border-radius:999px;padding:0 .75rem}.co-summary{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.co-summary li{justify-content:space-between;gap:1rem;display:flex}.co-summary li>span:first-child{overflow-wrap:anywhere;min-width:0}.co-summary-note{color:var(--ink-soft)}.co-summary-total{border-top:1px solid var(--steel-300);padding-top:.5rem;font-weight:700}.co-facts{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin:0;display:grid}.co-facts div{border-radius:var(--radius);background:var(--steel-50);padding:.6rem .75rem}.co-facts dt{color:var(--ink-soft);font-size:.9rem}.co-facts dd{margin:0;font-weight:700}.co-mono{font-family:var(--font-receipt);letter-spacing:.1em}.co-done{text-align:center;justify-items:center}.co-done-number{font-size:1.5rem;font-family:var(--font-receipt);margin:0}.co-status{background:var(--amber-tint);color:var(--amber);border-radius:999px;margin:0;padding:.35rem 1rem;font-weight:700}.co-status.is-delivered{background:var(--spruce-tint);color:var(--spruce-dark)}@media (prefers-reduced-motion:reduce){.co *{transition:none!important}}.fn{max-width:46rem;padding:1rem max(1rem, env(safe-area-inset-right)) 3rem max(1rem, env(safe-area-inset-left));gap:1rem;margin:0 auto;font-size:1rem;display:grid}.fn-wide{max-width:64rem}.fn>*{min-width:0}.fn-head{border-bottom:2px solid var(--steel-300);flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;padding-bottom:.75rem;display:flex}.fn-head h1{margin:0;font-size:1.5rem}.fn-demo{background:var(--amber-tint);color:var(--amber);border-radius:999px;margin:0;padding:.1rem .6rem;font-size:.85rem;font-weight:600}.fn h2{margin:0;font-size:1.15rem}.fn-card{background:var(--enamel);border:1px solid var(--steel-300);border-radius:var(--radius);gap:.9rem;min-width:0;padding:1rem;display:grid}.fn-notice{border-radius:var(--radius);margin:0;padding:.7rem .9rem;font-weight:600}.fn-notice-ok{background:var(--spruce-tint);color:var(--spruce-dark)}.fn-notice-error{background:var(--error-tint);color:var(--error)}.fn-hint{color:var(--ink-soft);margin:0;font-size:.92rem}.fn-bad{color:var(--error);font-weight:600}.fn-sub{color:var(--ink-soft);font-size:.88rem}.fn label{gap:.25rem;font-size:.92rem;font-weight:600;display:grid}.fn input,.fn select,.fn textarea{font:inherit;border:1px solid var(--steel-500);background:var(--enamel);color:var(--ink);border-radius:8px;min-width:0;max-width:100%;padding:.6rem .7rem}.fn input:focus-visible,.fn select:focus-visible,.fn textarea:focus-visible,.fn button:focus-visible{outline:3px solid var(--spruce);outline-offset:2px}.fn-csv{font-family:var(--font-receipt);width:100%;font-size:.85rem}.fn-file{font-weight:400}.fn-grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.8rem;display:grid}.fn-box{background:var(--steel-50);border-radius:var(--radius);align-content:start;gap:.5rem;padding:.8rem;display:grid}.fn-fieldset{border:1px solid var(--steel-300);border-radius:var(--radius);gap:.5rem;padding:.7rem .9rem;display:grid}.fn-fieldset legend{padding:0 .3rem;font-weight:600}.fn .fn-radio{flex-direction:row;align-items:center;gap:.5rem;font-weight:400;display:flex}.fn-seg{flex-wrap:wrap;gap:.4rem;display:flex}.fn-seg-btn,.fn-tab{font:inherit;cursor:pointer;border:1px solid var(--steel-500);background:var(--enamel);min-height:2.75rem;color:var(--ink);border-radius:999px;padding:.4rem .9rem;font-weight:600}.fn-seg-btn[aria-checked=true],.fn-tab[aria-selected=true]{background:var(--spruce);border-color:var(--spruce);color:#fff}.fn-tabs{gap:.4rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.fn-tab{white-space:nowrap}.fn-primary,.fn-danger{font:inherit;cursor:pointer;border-radius:var(--radius);color:#fff;border:0;justify-self:start;min-height:2.9rem;padding:.5rem 1.1rem;font-weight:700}.fn-primary{background:var(--spruce)}.fn-danger{background:var(--error)}.fn-primary:disabled,.fn-danger:disabled{opacity:.45;cursor:not-allowed}.fn-link{font:inherit;color:var(--spruce-dark);cursor:pointer;background:0 0;border:0;min-height:2.5rem;padding:.4rem .2rem;text-decoration:underline}.fn-preview{background:var(--steel-50);border-radius:var(--radius);gap:.3rem;margin:0;padding:.7rem .9rem;display:grid}.fn-preview div{justify-content:space-between;gap:1rem;display:flex}.fn-preview dt,.fn-preview dd{margin:0}.fn-strong{border-top:1px solid var(--steel-300);padding-top:.3rem;font-weight:700}.fn-kpis{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.7rem;margin:0;display:grid}.fn-kpis div{background:var(--steel-50);border-radius:var(--radius);padding:.7rem}.fn-kpis dt{color:var(--ink-soft);font-size:.85rem}.fn-kpis dd{margin:.1rem 0 0;font-size:1.35rem;font-weight:700}.fn-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.fn-list li{border-bottom:1px solid var(--steel-100);gap:.3rem;padding-bottom:.6rem;display:grid}.fn-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.fn-right{text-align:right}.fn-inline{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.fn-voided{opacity:.55}.fn-scroll{overflow-x:auto}.fn-table{border-collapse:collapse;width:100%;font-size:.92rem}.fn-table th,.fn-table td{text-align:left;border-bottom:1px solid var(--steel-100);white-space:nowrap;padding:.45rem .6rem;position:relative}.fn-table th{color:var(--ink-soft);font-weight:600}.fn-proj td{color:var(--ink-soft)}.fn-bar{border-radius:2px;max-width:100%;height:3px;position:absolute;bottom:2px;left:0}.fn-bar-in{background:var(--spruce)}.fn-bar-out{background:var(--amber)}.fu{max-width:40rem;padding:1rem max(1rem, env(safe-area-inset-right)) 3rem max(1rem, env(safe-area-inset-left));gap:1rem;margin:0 auto;font-size:1.0625rem;display:grid}.fu-head{border-bottom:2px solid var(--steel-300);flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;padding-bottom:.75rem;display:flex}.fu-head h1{margin:0;font-size:1.5rem}.fu-demo{background:var(--amber-tint);color:var(--amber);border-radius:999px;margin:0;padding:.1rem .6rem;font-size:.85rem;font-weight:600}.fu h2{margin:0 0 .5rem;font-size:1.2rem}.fu-hint{color:var(--ink-soft);margin:0}.fu-notice{border-radius:var(--radius);border-left:6px solid var(--steel-500);background:var(--enamel);margin:0;padding:.75rem 1rem;font-weight:600}.fu-notice-ok{border-color:var(--spruce);background:var(--spruce-tint);color:var(--spruce-dark)}.fu-notice-info{border-color:var(--amber);background:var(--amber-tint);color:var(--amber)}.fu-notice-error{border-color:var(--error);background:var(--error-tint);color:#6e150f}.fu-panel{background:var(--enamel);border:1px solid var(--steel-300);border-radius:var(--radius);gap:.75rem;padding:1.25rem;display:grid}.fu-panel h2{margin:0}.fu-btn{border-radius:var(--radius);border:2px solid #0000;min-height:3.5rem;padding:0 1.25rem;font-size:1.15rem;font-weight:700}.fu-btn-primary{background:var(--spruce);color:#fff}.fu-btn-primary:disabled{background:var(--steel-100);color:var(--steel-500);border-color:var(--steel-300)}.fu-btn-secondary{background:var(--enamel);border-color:var(--steel-500)}.fu-btn-secondary:disabled{color:var(--steel-500);border-color:var(--steel-300)}.fu-link{min-height:2.75rem;color:var(--spruce);text-underline-offset:4px;background:0 0;border:0;font-weight:600;text-decoration:underline}.fu-number{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.fu-number input{border:2px solid var(--steel-300);border-radius:var(--radius);background:var(--enamel);min-width:0;min-height:3.5rem;padding:0 .75rem;font-size:1.15rem}.fu-number input:focus{outline:3px solid var(--spruce-tint);border-color:var(--spruce)}.fu-demo-qr{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;font-size:.95rem;display:flex}.fu-chip{border:1px solid var(--steel-500);background:var(--steel-50);min-height:2.5rem;font-family:var(--font-receipt);border-radius:999px;padding:0 .85rem}.fu-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.fu-card{background:var(--enamel);border:1px solid var(--steel-300);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.85rem 1rem;display:grid}.fu-card.is-late{border-color:var(--amber);box-shadow:inset 4px 0 0 var(--amber)}.fu-card p{margin:0}.fu-card-title{font-size:1.1rem}.fu-card-items{color:var(--ink-soft);overflow-wrap:anywhere}.fu-card-meta{color:var(--steel-500);font-size:.95rem}.fu-card.is-late .fu-card-meta{color:var(--amber);font-weight:700}.fu-items{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.fu-items li{justify-content:space-between;gap:1rem;display:flex}.fu-items li>span:first-child{overflow-wrap:anywhere;min-width:0}.fu-items em{color:var(--ink-soft)}.fu-total{border-top:1px solid var(--steel-300);padding-top:.5rem;font-weight:700}@media (width<=26rem){.fu-card{grid-template-columns:minmax(0,1fr)}}.station{grid-template-columns:minmax(0,1fr) 22rem;grid-template-areas:"head head""main ticket";align-items:start;gap:1.25rem 2rem;max-width:78rem;margin:0 auto;padding:1.25rem 1.5rem 3rem;display:grid}.station-head{border-bottom:2px solid var(--steel-300);flex-wrap:wrap;grid-area:head;align-items:baseline;gap:1rem;padding-bottom:.75rem;display:flex}.station-head h1{letter-spacing:-.01em;margin:0;font-size:1.5rem;font-weight:700}.station-badge{background:var(--amber-tint);color:var(--amber);border-radius:999px;margin:0;padding:.15rem .6rem;font-size:.9rem;font-weight:600}.station-main{grid-area:main;grid-template-columns:minmax(0,1fr);gap:1rem;min-width:0;display:grid}.panel{background:var(--enamel);border:1px solid var(--steel-300);border-radius:var(--radius);grid-template-columns:minmax(0,1fr);justify-items:start;gap:1rem;padding:1.5rem;display:grid}.panel h2{letter-spacing:-.015em;margin:0;font-size:1.75rem;line-height:1.15}.hint{color:var(--ink-soft);margin:0}.alert{border-radius:var(--radius);border-left:6px solid var(--error);background:var(--error-tint);color:#6e150f;margin:0;padding:.75rem 1rem;font-weight:600}.btn{min-height:var(--touch);border-radius:var(--radius);border:2px solid #0000;padding:0 1.75rem;font-size:1.25rem;font-weight:700;transition:background-color .12s,transform 80ms}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--spruce);color:#fff}.btn-primary:hover:not(:disabled){background:var(--spruce-dark)}.btn-primary:disabled{background:var(--steel-100);color:var(--steel-500);border-color:var(--steel-300)}.btn-secondary{background:var(--enamel);border-color:var(--steel-500);color:var(--ink)}.btn-secondary:hover:not(:disabled){background:var(--steel-100)}.btn-secondary:disabled{color:var(--steel-500);border-color:var(--steel-300)}.btn-wide{min-width:17rem}.link-button{min-height:3rem;color:var(--spruce);text-underline-offset:4px;background:0 0;border:0;padding:0 .25rem;font-weight:600;text-decoration:underline}.scan-form{flex-wrap:wrap;gap:.75rem;width:100%;display:flex}.scan-input{min-width:0;min-height:var(--touch);border:2px solid var(--steel-500);border-radius:var(--radius);background:var(--enamel);font-family:var(--font-receipt);letter-spacing:.18em;text-transform:uppercase;flex:14rem;padding:0 1rem;font-size:2rem;font-weight:700}.scan-input::placeholder{color:var(--steel-300)}.scan-input[aria-invalid=true]{border-color:var(--error)}.demo-cards{border-top:1px dashed var(--steel-300);width:100%;padding-top:.75rem}.demo-cards ul{flex-wrap:wrap;gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.demo-card{border:1px solid var(--steel-300);border-radius:var(--radius);background:var(--steel-50);text-align:left;min-height:3.5rem;padding:.35rem .9rem;display:grid}.demo-card:hover:not(:disabled){background:var(--steel-100)}.demo-card-code{font-family:var(--font-receipt);letter-spacing:.12em;font-weight:700}.demo-card-note{color:var(--ink-soft);font-size:.85rem}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%;display:grid}.choice{border:2px solid var(--steel-500);border-radius:var(--radius);background:var(--enamel);text-align:left;align-content:center;gap:.25rem;min-height:8rem;padding:1rem 1.25rem;transition:background-color .12s,border-color .12s;display:grid}.choice:hover{background:var(--steel-50)}.choice-title{letter-spacing:-.01em;font-size:1.75rem;font-weight:700}.choice-sub{color:var(--ink-soft);font-size:1.25rem}.choice.is-selected{border-color:var(--spruce);background:var(--spruce-tint);box-shadow:inset 0 0 0 2px var(--spruce)}.choice.is-selected .choice-sub{color:var(--spruce-dark);font-weight:700}.readout{border-radius:var(--radius);background:var(--steel-100);border:2px solid var(--steel-300);width:100%;padding:1rem 1.25rem;transition:background-color .15s,border-color .15s;display:grid}.readout-value{letter-spacing:-.03em;color:var(--steel-500);margin:0;font-size:clamp(3.5rem,11vw,6.5rem);font-weight:800;line-height:1}.readout-state{color:var(--ink-soft);margin:.4rem 0 0;font-weight:700}.readout-reading{background:var(--amber-tint);border-color:var(--amber)}.readout-reading .readout-value,.readout-reading .readout-state{color:var(--amber)}.readout-stable{background:var(--spruce-tint);border-color:var(--spruce)}.readout-stable .readout-value,.readout-stable .readout-state{color:var(--spruce-dark)}.calc{color:var(--ink-soft);margin:0;font-size:1.25rem}.confirm-bar{border-radius:var(--radius);background:var(--ink);color:#fff;gap:.75rem;padding:1.25rem 1.5rem;display:grid}.confirm-bar .alert{background:var(--error-tint)}.confirm-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;display:flex}.confirm-total{display:grid}.confirm-label{color:var(--steel-300);font-size:1rem}.confirm-total strong{letter-spacing:-.02em;font-size:clamp(2.5rem,7vw,3.75rem);line-height:1.05}.confirm-total strong.is-empty{color:var(--steel-500)}.confirm-actions{flex-wrap:wrap;gap:.75rem;display:flex}.confirm-bar .btn-secondary{border-color:var(--steel-300);color:#fff;background:0 0}.confirm-bar .btn-secondary:hover:not(:disabled){background:#ffffff1f}.confirm-bar .btn-primary{color:var(--spruce-dark);background:#fff}.confirm-bar .btn-primary:hover:not(:disabled){background:var(--spruce-tint)}.confirm-bar .btn-primary:disabled{color:var(--steel-500);border-color:var(--steel-500);background:0 0}.confirm-bar :focus-visible{outline-color:#fff}.panel-done{border-color:var(--spruce);background:var(--spruce-tint);position:relative;overflow:hidden}.panel-done h2{color:var(--spruce-dark)}.return-bar{background:#0f3b2d26;height:6px;position:absolute;bottom:0;left:0;right:0}.return-bar span{background:var(--spruce);transform-origin:0;height:100%;animation-name:drain;animation-timing-function:linear;animation-fill-mode:forwards;display:block}@keyframes drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.ticket{background:var(--paper);color:var(--ticket-ink);font-family:var(--font-receipt);border:1px solid var(--steel-300);box-shadow:0 1px 0 var(--steel-300);border-bottom:0;grid-area:ticket;margin-bottom:14px;padding:1.25rem 1.25rem 1.5rem;font-size:.98rem;position:sticky;top:1.25rem}.ticket:after{content:"";background:linear-gradient(135deg, var(--paper) 6px, transparent 0) 0 0 / 12px 12px, linear-gradient(225deg, var(--paper) 6px, transparent 0) 0 0 / 12px 12px;height:12px;filter:drop-shadow(0 1px 0 var(--steel-300));position:absolute;bottom:-12px;left:-1px;right:-1px}.ticket-head{border-bottom:2px dashed var(--ticket-ink);gap:.15rem;padding-bottom:.9rem;display:grid}.ticket-code{letter-spacing:.16em;margin:0;font-size:2rem;font-weight:800}.ticket-status{color:var(--ink-soft);margin:0}.ticket-lines{gap:.5rem;min-height:5rem;margin:0;padding:.75rem 0;list-style:none;display:grid}.ticket-line{grid-template-columns:3.2rem minmax(0,1fr) auto;align-items:baseline;gap:.5rem;display:grid}.ticket-time{color:var(--steel-500)}.ticket-amount{font-weight:700}.ticket-pending{border:1.5px dashed var(--spruce);background:var(--spruce-tint);color:var(--spruce-dark);border-radius:4px;margin:0 -.4rem;padding:.35rem .4rem}.ticket-pending .ticket-time{color:var(--spruce-dark)}.ticket-line.muted{color:var(--steel-500);display:block}.ticket-total{border-top:2px dashed var(--ticket-ink);justify-content:space-between;align-items:baseline;padding-top:.9rem;font-size:1.1rem;display:flex}.ticket-total strong{font-size:1.6rem}.ticket-note{color:var(--ink-soft);margin:.6rem 0 0;font-size:.85rem}.ticket-empty{min-height:12rem;color:var(--steel-500);border-style:dashed;align-content:center;gap:.5rem;display:grid}.ticket-empty-title{color:var(--ink-soft);margin:0;font-size:1.1rem;font-weight:700}.ticket-empty-text{margin:0}@media (width<=62rem){.station{grid-template-columns:minmax(0,1fr);grid-template-areas:"head""ticket""main";padding:1rem 1rem 3rem}.ticket{position:relative}}@media (width<=34rem){.choice-grid{grid-template-columns:minmax(0,1fr)}.btn-wide{flex:auto;min-width:0}.confirm-actions{width:100%}}.au-login{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.au-card{background:var(--enamel);border:1px solid var(--steel-300);border-radius:var(--radius);gap:.5rem;width:min(26rem,100%);padding:1.75rem;display:grid}.au-card h1{letter-spacing:-.01em;margin:0;font-size:1.6rem}.au-sub{color:var(--ink-soft);margin:0 0 .5rem}.au-card label,.au-form label{margin-top:.5rem;font-weight:600}.au-card input,.au-form input,.au-form select,.au-table select{min-height:3rem;font:inherit;border:1px solid var(--steel-500);color:var(--ink);background:#fff;border-radius:8px;padding:0 .75rem}.au-table select{min-height:2.5rem}.au-primary{background:var(--spruce);color:#fff;min-height:3.25rem;font:inherit;cursor:pointer;border:0;border-radius:8px;margin-top:.75rem;font-weight:700}.au-primary:disabled{background:var(--steel-300);cursor:not-allowed}.au-alert{background:var(--error-tint);color:var(--error);border-radius:8px;margin:.5rem 0 0;padding:.6rem .8rem;font-weight:600}.au-alert-ok{background:var(--spruce-tint);color:var(--spruce-dark)}.au-alert-info{background:var(--amber-tint);color:var(--amber)}.au-demo{border-top:1px dashed var(--steel-300);color:var(--ink-soft);margin-top:1rem;padding-top:1rem;font-size:.9rem}.au-demo p{margin:0 0 .5rem}.au-demo-list{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem;display:grid}.au-demo-list button,.au-actions button,.au-row button:not(.au-primary){border:1px solid var(--steel-500);min-height:2.75rem;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:0 .75rem}.au-demo-list button{text-align:left;padding:.5rem;display:grid}.au-demo-list small{color:var(--steel-500)}.au-page{gap:1.25rem;max-width:62rem;margin:0 auto;padding:1.25rem 1.5rem 3rem;display:grid}.au-head{border-bottom:2px solid var(--steel-300);padding-bottom:.75rem}.au-head h1{margin:0;font-size:1.5rem}.au-panel{background:var(--enamel);border:1px solid var(--steel-300);border-radius:var(--radius);gap:.75rem;padding:1.25rem;display:grid}.au-panel h2{margin:0;font-size:1.15rem}.au-form{gap:.35rem;max-width:26rem;display:grid}.au-table-wrap{overflow-x:auto}.au-table{border-collapse:collapse;width:100%}.au-table th,.au-table td{text-align:left;border-bottom:1px solid var(--steel-100);vertical-align:middle;padding:.6rem .5rem}.au-off{color:var(--steel-500)}.au-actions{flex-wrap:wrap;gap:.5rem;display:flex}.au-row{gap:.5rem;display:flex}.au-hint{color:var(--ink-soft);margin:0;font-size:.9rem}.au-who{margin:0}.app-user{color:var(--ink-soft);flex-direction:column;align-items:stretch;gap:.5rem;margin-top:auto;padding-top:1rem;font-size:.9rem;display:flex}.app-user a,.app-user button{border:1px solid var(--steel-300);color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:.4rem .8rem;text-decoration:none}.app-shell{grid-template-columns:16rem minmax(0,1fr);min-height:100vh;display:grid}.app-sidebar{background:var(--enamel);border-right:1px solid var(--steel-300);flex-direction:column;align-self:start;width:16rem;height:100vh;padding:1rem;display:flex;position:sticky;top:0;overflow-y:auto}.app-brand{border-bottom:1px solid var(--steel-100);color:var(--spruce-dark);letter-spacing:-.02em;padding:.5rem .75rem 1rem;font-size:1.25rem;font-weight:750}.app-main{min-width:0}.app-nav{gap:.25rem;padding:1rem 0;display:grid}.app-nav-link{color:var(--ink-soft);border-radius:8px;padding:.7rem .85rem;font-weight:600;text-decoration:none}.app-nav-link:hover{background:var(--steel-100)}.app-nav-link[aria-current=page]{background:var(--spruce);color:#fff}@media (width<=52rem){.app-shell{grid-template-columns:minmax(0,1fr)}.app-sidebar{border-right:0;border-bottom:1px solid var(--steel-300);width:auto;height:auto;padding:.75rem 1rem;position:static;overflow:visible}.app-nav{flex-wrap:wrap;padding:.75rem 0;display:flex}.app-user{margin-top:0}}:root{--steel-50:#f1f3f2;--steel-100:#e3e7e5;--steel-300:#b9c1bd;--steel-500:#6b7872;--ink:#15201b;--ink-soft:#46544d;--enamel:#fff;--spruce:#1b5b46;--spruce-dark:#0f3b2d;--spruce-tint:#dcebe4;--amber:#8f5500;--amber-tint:#fdeccb;--error:#a3261d;--error-tint:#fbe3e0;--paper:#fbfcfc;--ticket-ink:#1c2421;--radius:10px;--touch:4.5rem;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-receipt:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--steel-50);min-height:100vh;color:var(--ink);font-family:var(--font-ui);font-variant-numeric:tabular-nums;margin:0;font-size:1.125rem;line-height:1.45}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid var(--spruce);outline-offset:3px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
