:root{font-family:Inter,"Segoe UI",sans-serif;color:#183638;background:#f5f7f4;font-synthesis:none;--brand:#123a3e;--accent:#c6e27a}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{min-height:52px;padding:12px 22px;border:1px solid #dce4dc;border-radius:12px;background:white;color:var(--brand);font-weight:700;cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible{outline:3px solid #90b84b;outline-offset:3px}.primary{background:var(--accent);border-color:var(--accent)}input,select{width:100%;min-height:52px;padding:12px;border:1px solid #bdcfca;border-radius:10px;background:white}label{display:block;margin:15px 0;font-size:14px}small{display:block;color:#60746e;font-size:13px}.logo{width:170px;height:58px;object-fit:contain}.signin{max-width:520px;margin:7vh auto;padding:38px;text-align:center;background:white;border:1px solid #e1e9df;border-radius:24px}.signin button{width:100%;margin:8px 0}.signin .logo{width:220px;height:90px}.signin h1{font-size:30px}.context{color:#60746e}#message,#network{padding:14px 25px;background:#fff0d4;color:#714b00;border-bottom:1px solid #e8cd98}#message[hidden],#network[hidden],[hidden]{display:none!important}.checkout{height:100dvh;display:grid;grid-template-columns:minmax(350px,42%) 1fr;grid-template-rows:85px 1fr 105px;grid-template-areas:"header header" "basket products" "footer footer";gap:14px;padding:14px}.checkout header{grid-area:header;display:flex;align-items:center;gap:20px;background:white;padding:8px 18px;border-radius:16px}.checkout header time{margin-left:auto}.basket,.catalog{background:white;padding:22px;border:1px solid #e1e9df;border-radius:18px;overflow:auto}.basket{grid-area:basket;display:flex;flex-direction:column}.basket h1{font-size:22px;margin-top:0}.lines{flex:1}.empty{color:#789084;text-align:center;padding:80px 0}.lines article{display:flex;align-items:center;gap:12px;border-bottom:1px solid #e8ede8;padding:12px 0}.lines article>div{flex:1}.lines label{width:80px;margin:0;font-size:11px}.lines input{min-height:42px;padding:6px}.lines b{min-width:65px;text-align:right}.remove{padding:5px 12px;min-height:42px}.catalog{grid-area:products}.catalog form{display:flex;gap:10px}.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:20px}.product{min-height:120px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;background:#f7f9f4}.product strong{font-size:21px}.checkout footer{grid-area:footer;background:var(--brand);color:white;border-radius:18px;padding:18px 28px;display:flex;align-items:center;justify-content:space-between}.checkout footer strong{font-size:40px}.checkout footer button{min-width:230px;font-size:24px}.checkout footer small{color:#c1d4c7}.receipt{max-width:500px;margin:30px auto;padding:30px;background:white}.receipt p{display:flex;justify-content:space-between;gap:15px}.receipt .reference{font-size:11px;word-break:break-all}dialog{max-width:520px;width:90%;border:0;border-radius:22px;padding:30px;box-shadow:0 20px 80px #123a3e66}dialog::backdrop{background:#123a3e99}#terminal-approved{width:24px;min-height:24px;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:800px){.checkout{height:auto;min-height:100dvh;grid-template-columns:1fr;grid-template-rows:auto auto auto auto;grid-template-areas:"header" "basket" "products" "footer"}.checkout header{flex-wrap:wrap;gap:10px}.checkout header time{display:none}.checkout footer strong{font-size:28px}.checkout footer button{min-width:130px;font-size:20px}.basket{min-height:300px}.signin{margin:4vh 14px}}@media print{body>*:not(main),button{display:none!important}.receipt{padding:0;margin:0;width:75mm;font-size:11px}.logo{width:100px}.receipt h2{font-size:15px}}
.operational-dialog{max-width:960px;width:min(96vw,960px);max-height:94dvh;overflow:auto}.operational-dialog header{display:flex;align-items:center;gap:25px}.operational-dialog footer{margin-top:24px}.menu-grid,.category-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.menu-grid button{min-height:100px;text-align:left;font-size:18px}.category-tiles{margin:16px 0}.category-tile{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#edf3e4}.category-tile img{width:95px;height:85px;object-fit:contain}.category-fallback{font-size:44px;color:#426149}.category-nav button{min-height:48px}.loyalty-status{padding:12px;border-radius:10px;background:#eef4e8}.loyalty-status span{display:block}.denominations{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.denominations label{font-size:20px;font-weight:700}.denominations input{font-size:22px;text-align:center}.temporary-qr{width:260px;height:260px}.print-slip{padding:20px;background:white}.operational-dialog .error{color:#9f2929}.operational-dialog section>button{margin:6px}.operational-dialog form button{margin-top:12px}@media(max-width:700px){.denominations{grid-template-columns:repeat(2,1fr)}.operational-dialog header{flex-wrap:wrap}.menu-grid{grid-template-columns:1fr 1fr}}@media print{body:has(dialog.printing) main,body:has(dialog.printing)>dialog:not(.printing){display:none!important}dialog.printing{display:block;position:static;border:0;box-shadow:none;width:76mm;max-width:76mm;padding:0}dialog.printing>*:not(section),dialog.printing section>*:not(.print-slip){display:none!important}.print-slip{width:76mm;padding:0;font-size:11px}.temporary-qr{width:65mm;height:65mm}}
.receipt-qr{display:block;width:180px;height:180px;margin:16px auto}.print-slip .reference{overflow-wrap:anywhere;font-size:11px}.print-slip strong{float:right}.print-status{font-size:14px;color:#60746e}@media print{body>dialog.printing{display:block!important}dialog.printing>.print-slip{display:block!important}.receipt-qr{width:40mm;height:40mm}.print-status{display:none!important}}
.touch-signin{max-width:900px;margin:3vh auto;padding:24px 32px;background:white;border-radius:22px}.touch-signin .logo{width:200px}.touch-signin h1{margin:14px 0 4px;font-size:30px}.touch-signin form{max-width:480px;margin:auto}.touch-signin .context{text-align:right;margin-top:-40px}.touch-signin .text-button{border:0;background:none;padding:5px;min-height:44px;color:#123a3e}.password-row{display:flex;gap:8px}.password-row input{flex:1;width:0}.touch-signin form>.primary{width:100%}.qr-signin{max-width:480px;margin:20px auto}.qr-signin summary{cursor:pointer;padding:14px;border:1px solid #bdcfca;border-radius:12px}.touch-keyboard{margin:22px auto 0;max-width:750px}.touch-keyboard>div{display:flex;justify-content:center;gap:9px;margin:8px 0}.touch-keyboard button{padding:0;width:52px;height:52px;border:1.5px solid #123a3e;border-radius:50%;font-size:23px;font-weight:500;min-height:52px}.touch-keyboard button[data-key=space]{width:210px;border-radius:30px;font-size:18px}.touch-keyboard button[data-key=shift],.touch-keyboard button[data-key=backspace]{width:95px;border-radius:30px;font-size:18px}#mfa-step{text-align:center}#totp-setup-qr{display:flex;justify-content:center;margin:20px}dialog{max-width:540px;border:1px solid #bdcfca;border-radius:18px;padding:28px}dialog::backdrop{background:#122b39aa}@media(max-width:620px){.touch-signin{margin:0;padding:20px 14px;border-radius:0}.touch-signin .context{text-align:left;margin:10px 0}.touch-signin h1{font-size:25px}.touch-keyboard>div{gap:3px}.touch-keyboard button{width:31px;height:44px;min-height:44px;font-size:17px}.touch-keyboard button[data-key=space]{width:115px}.touch-keyboard button[data-key=shift],.touch-keyboard button[data-key=backspace]{width:64px;font-size:14px}}

#totp-setup-qr svg{width:200px;height:200px}@media(min-width:800px) and (max-height:850px){.touch-signin{margin:10px auto;padding:14px 28px}.touch-signin .logo{height:40px}.touch-signin h1{font-size:25px;margin-top:8px}.touch-signin label{margin:8px 0}.touch-keyboard{margin-top:10px}.touch-keyboard>div{margin:6px 0}.touch-keyboard button{width:44px;height:44px;min-height:44px;font-size:20px}.qr-signin{margin:12px auto}.qr-signin summary{padding:10px}.touch-signin .context{margin-top:-30px}}

.product img{width:100%;height:95px;object-fit:contain;background:white;border-radius:8px;margin-bottom:8px}.category-tile img{width:100%;height:90px;object-fit:cover}.cafe-checkout .products{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))}.cafe-checkout .product{min-height:170px;background:#fcf7ee}.cafe-checkout .product span{font-size:19px}.dining-mode{display:flex;gap:10px;margin-bottom:16px}.dining-mode button[aria-pressed=true]{background:var(--brand);color:white}.cafe-choice-dialog{max-height:90dvh;overflow:auto;width:min(580px,95vw)}.cafe-choice-dialog fieldset{border:1px solid #bdcfca;border-radius:12px;margin:16px 0}.choice-option{display:flex;align-items:center;gap:12px;font-size:17px}.choice-option input{width:26px;min-height:26px}.choice-option b{margin-left:auto}
.receipt-barcode{display:block;width:100%;max-width:600px;height:auto;margin:12px auto}.award-slip,.stored-value-slip{border-top:1px dashed #8b9499;padding-top:10px;margin-top:12px}.checkout footer{flex-wrap:wrap}.stored-value-slip .reference{overflow-wrap:anywhere}
