*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text);--bg:#f6f2ec;--surface:#fff;--text:#2e2d2b;--muted:#858780;--line:#e7e5df;--accent:#4765ee;--soft:#eef1ff;--green:#5b7222;--green-bg:#edf4df;--orange:#a85a08;--orange-bg:#fff0d9}body.dark{--bg:#222321;--surface:#30312e;--text:#f8f7f2;--muted:#a5a69e;--line:#494a45;--soft:#343d66;--green:#c3dd8f;--green-bg:#3e4d2d;--orange:#f7bf7f;--orange-bg:#57452e}button{font:inherit;cursor:pointer}#app{min-height:100vh}.shell{min-height:100vh;display:flex;flex-direction:column}.nav{height:68px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-bottom:1px solid var(--line)}.logo{font-size:24px;font-weight:800;letter-spacing:-1.7px}.logo b{color:#4765ee}.nav-right{display:flex;align-items:center;gap:18px;font-size:11px;color:var(--muted)}.nav-right button,.back{border:0;background:transparent;color:var(--text);font-weight:700}.language{border:1px solid var(--line)!important;border-radius:7px!important;padding:8px!important}.content{width:100%;max-width:1150px;margin:auto;padding:30px 5% 35px;flex:1}.hero{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:25px}.kicker{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.12em}.hero h1,.flow h1{font-size:clamp(25px,3.4vw,42px);letter-spacing:-.055em;line-height:1.05;margin:9px 0}.hero p,.flow .subtitle{color:var(--muted);font-size:13px;margin:0;line-height:1.5}.hours{font-size:11px;background:var(--surface);padding:11px 14px;border-radius:10px;white-space:nowrap}.hours strong{display:block;color:var(--text);margin-top:4px}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.toolbar h2{font-size:15px;margin:0}.toolbar span{font-size:11px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px}.machine{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:16px;text-align:left;color:var(--text);min-height:145px;transition:transform .15s,border-color .15s}.machine:disabled{cursor:default}.machine-top{display:flex;justify-content:space-between;align-items:start}.icon{width:40px;height:40px;border:1.6px solid currentColor;border-radius:8px;position:relative;display:grid;place-items:center}.icon:before{content:'';width:21px;height:21px;border:1.5px solid currentColor;border-radius:50%}.icon:after{content:'••';position:absolute;top:0;right:4px;font-size:8px;letter-spacing:1px}.badge{font-size:10px;font-weight:700;padding:6px 8px;border-radius:20px;background:var(--green-bg);color:var(--green)}.badge.busy{background:var(--orange-bg);color:var(--orange)}.machine h3{font-size:14px;margin:17px 0 5px}.machine p{font-size:11px;color:var(--muted);margin:0}.machine-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:13px;font-size:11px;font-weight:700}.arrow{color:var(--accent);font-size:19px}.foot{padding:14px 5%;display:flex;justify-content:space-between;color:var(--muted);font-size:10px;border-top:1px solid var(--line)}.flow{max-width:760px;margin:auto}.back{font-size:12px;padding:0;margin-bottom:22px}.flow h1{margin-top:10px}.steps{display:flex;gap:7px;margin:22px 0}.steps span{height:4px;flex:1;background:var(--line);border-radius:4px}.steps span.on{background:var(--accent)}.options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:22px 0}.option{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:18px;text-align:left}.option.selected{border:2px solid var(--accent);padding:17px;background:var(--soft)}.option strong{display:block;font-size:14px}.option small{display:block;color:var(--muted);font-size:11px;margin-top:8px}.actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.primary{border:0;background:var(--accent);color:white;padding:14px 22px;border-radius:9px;font-size:12px;font-weight:700}.secondary{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:13px 18px;border-radius:9px;font-size:12px;font-weight:700}.summary{background:var(--surface);border-radius:12px;padding:20px;margin-top:20px}.summary div{display:flex;justify-content:space-between;padding:9px 0;font-size:13px}.summary div+div{border-top:1px solid var(--line)}.success{font-size:32px;background:var(--green-bg);color:var(--green);width:62px;height:62px;display:grid;place-items:center;border-radius:50%;margin-bottom:18px}.empty{padding:35px;border-radius:12px;background:var(--surface);font-size:13px;color:var(--muted)}@media(max-width:550px){.nav{height:56px}.nav-right > span{display:none}.content{padding-top:24px}.hero{align-items:start;flex-direction:column}.hero h1{font-size:29px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.machine{min-height:135px;padding:12px}.foot{font-size:9px}.hours{padding:8px 10px}.flow h1{font-size:28px}}
/* Kombine theme tokens. The gradients and translucent surfaces follow the
   visual theme examples; palette colours are taken from reference page 42. */
body {
  --bg: #e1e9ed;
  --surface: rgba(255, 255, 255, .72);
  --text: #2e2d2b;
  --muted: #60666a;
  --line: rgba(46, 45, 43, .14);
  --accent: #4765ee;
  --soft: rgba(193, 212, 247, .60);
  --green: #4c6418;
  --green-bg: #e5efd0;
  --orange: #a5371a;
  --orange-bg: #fed7d1;
  background: radial-gradient(ellipse at 14% 4%, #faf7e9 0%, transparent 40%),
              radial-gradient(ellipse at 85% 20%, #cbdde9 0%, transparent 44%),
              radial-gradient(ellipse at 17% 90%, #c9dfed 0%, transparent 40%),
              #e8eeed;
  background-attachment: fixed;
}
body.dark {
  --bg: #0e1a24;
  --surface: rgba(55, 68, 78, .80);
  --text: #ffffff;
  --muted: #c0cbd0;
  --line: rgba(255, 255, 255, .16);
  --accent: #4765ee;
  --soft: rgba(71, 101, 238, .24);
  --green: #d2e9ad;
  --green-bg: #40562e;
  --orange: #ffd3c9;
  --orange-bg: #683d36;
  background: radial-gradient(ellipse at 85% 40%, #1d3038 0%, transparent 45%),
              radial-gradient(ellipse at 5% 82%, #1a2a2f 0%, transparent 48%),
              #0c1822;
  background-attachment: fixed;
}
.nav { backdrop-filter: blur(18px); }
.machine, .option, .summary, .hours { backdrop-filter: blur(16px); }
select.language{background:var(--surface);color:var(--text);font:inherit;cursor:pointer;max-width:120px}
html,body{height:100%;overflow:hidden}#app{transform-origin:top left}
.hours-icon{width:40px;height:40px;border:1.6px solid currentColor;border-radius:8px;display:grid;place-items:center;font-size:24px}.modal-backdrop{position:fixed;inset:0;z-index:5;display:grid;place-items:center;background:#0c182299;padding:20px}.hours-dialog{background:var(--surface);color:var(--text);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:16px;padding:24px;width:min(360px,100%);box-shadow:0 15px 40px #0003}.hours-dialog h2{font-size:22px;margin:16px 0}.hours-row{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid var(--line);font-size:13px}.hours-dialog .primary{margin-top:10px;width:100%}
.location{font-size:14px;font-weight:700;line-height:1.3}.location span{font-weight:400;color:var(--muted)}
.language-picker{position:relative;z-index:10}.language-toggle,.language-menu button{display:flex;align-items:center;gap:8px;color:var(--text);font:inherit}.language-toggle{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:8px 10px}.language-picker img{width:23px;height:17px;object-fit:contain}.language-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:150px;padding:5px;border:1px solid var(--line);border-radius:10px;background:var(--bg);box-shadow:0 10px 28px #0003}.language-menu button{width:100%;padding:8px;border:0;border-radius:6px;background:transparent;text-align:left}.language-menu button[aria-current=true]{background:var(--soft)}
.nav{position:relative;z-index:20;overflow:visible}.content{position:relative;z-index:1}.language-picker{z-index:30}.language-menu{z-index:31}
.access-bar{position:fixed;right:14px;bottom:14px;z-index:20;display:flex;align-items:center;gap:6px}.access-bar button{cursor:pointer}.access-toggle{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;background:#4765ee;color:#fff;box-shadow:0 3px 12px #0005}.access-toggle svg{width:21px;height:21px;fill:currentColor}.access-bar.active{left:12px;right:12px;justify-content:space-between;padding:6px;border:1px solid #c1d4f7;border-radius:16px;background:#070a0d}.access-bar.active button:not(.access-toggle){flex:1;min-height:38px;padding:5px;border:1px solid #c1d4f7;border-radius:25px;background:#080808;color:#fff;font-size:12px;font-weight:700}.access-bar.active .access-next,.access-bar.active .access-toggle{background:#d8ef41!important;color:#080808!important;border-color:#d8ef41!important}.access-bar.active .access-toggle{width:38px;flex:none}.accessibility{--bg:#080808;--surface:#15191c;--text:#fff;--muted:#e0e9ef;--line:#a9c8dc;--soft:#253743;--green:#041b10;--green-bg:#22e8a0;--orange:#fff;--orange-bg:#a4361b;--accent:#d8ef41;background:#080808}.accessibility .nav{background:#080808}.accessibility .content{padding-bottom:80px}.accessibility .machine,.accessibility .option,.accessibility .summary,.accessibility .hours-dialog{background:#111820;border-color:#a9c8dc}.accessibility .primary{color:#080808}.accessibility .badge{text-transform:uppercase}.accessibility .access-focus{outline:4px solid #d8ef41!important;outline-offset:2px;box-shadow:0 0 0 5px #d8ef4130}.accessibility .modal-backdrop{padding-bottom:70px}@media(max-width:550px){.access-bar.active button:not(.access-toggle){font-size:10px;padding:5px 2px}}
/* The navigation stays in the viewport; only kiosk content is scaled. */
.accessibility .content{padding-bottom:35px}
/* Light accessibility theme: strong ink and selection contrast over Kombine Light. */
body.accessibility-light{--bg:#e5eef0;--surface:#fff;--text:#202020;--muted:#3d4b53;--line:#526b78;--soft:#d5e2fa;--green:#102c05;--green-bg:#c9e897;--orange:#542000;--orange-bg:#ffdbb3;--accent:#173bbd;background:radial-gradient(ellipse at 14% 4%,#faf7e9 0%,transparent 40%),radial-gradient(ellipse at 85% 20%,#cbdde9 0%,transparent 44%),radial-gradient(ellipse at 17% 90%,#c9dfed 0%,transparent 40%),#e8eeed;background-attachment:fixed}
.accessibility-light .nav{background:#fff}.accessibility-light .machine,.accessibility-light .option,.accessibility-light .summary,.accessibility-light .hours-dialog{background:#fff;border-color:#526b78}.accessibility-light .primary{color:#fff}.accessibility-light .access-focus{outline:4px solid #173bbd!important;outline-offset:2px;box-shadow:0 0 0 6px #fff}.accessibility-light .access-bar.active{background:#fff;border:2px solid #29465c}.accessibility-light .access-bar.active button:not(.access-toggle){background:#fff;border:1.5px solid #29465c;color:#142431}.accessibility-light .access-bar.active .access-next,.accessibility-light .access-bar.active .access-toggle{background:#173bbd!important;color:#fff!important;border-color:#173bbd!important}
.access-bar .access-toggle{position:fixed;right:14px;bottom:14px;width:38px;height:38px}.access-bar.active{right:8px;bottom:8px;padding-right:54px;min-height:50px}
.access-bar.active,.accessibility .access-bar.active,.accessibility-light .access-bar.active{background:transparent;border-color:transparent}
.nav,.accessibility .nav,.accessibility-light .nav{background:transparent;border-bottom:0;backdrop-filter:none}
.secondary-actions{display:flex;gap:10px;margin-top:14px}.secondary-actions:empty{display:none}.secondary-card{display:flex;align-items:center;gap:11px;flex:1;min-width:0;min-height:62px;padding:11px 14px;text-align:left;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:11px}.secondary-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--surface);font-size:20px;flex:none}.secondary-copy{min-width:0;flex:1}.secondary-copy strong,.secondary-copy small{display:block}.secondary-copy strong{font-size:12px}.secondary-copy small{font-size:10px;color:var(--muted);margin-top:4px}.secondary-arrow{font-size:20px;color:var(--muted)}.accessibility .secondary-card{border-color:var(--line)}@media(max-width:360px){.secondary-actions{flex-direction:column}}
button:not(:disabled),select{cursor:pointer}button:disabled{cursor:default}
.machine-pages{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:14px;font-size:12px}.machine-pages button:disabled{opacity:.4}.machine-group{max-width:260px}
.nav-right{gap:10px}.nav-back{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font-size:22px;flex:none}.nav-back:disabled{opacity:.3}
.nav-back:disabled{visibility:hidden}
.machine-pages{margin:0 0 14px}
#kiosk-header{position:absolute;top:0;left:0;right:0;z-index:20;height:68px}#app{position:absolute;top:68px;left:0;min-height:0}.shell{min-height:0}#app .content{margin:0 auto}.nav{height:68px}
@media(max-width:550px){#kiosk-header,.nav{height:56px}#app{top:56px}}
#listing-header{position:absolute;left:0;right:0;z-index:10;width:100%;max-width:1150px;margin:0 auto;padding:20px 5% 0}#listing-header:empty{display:none}#listing-header .hero{margin-bottom:14px}#listing-header .machine-pages{width:100%;display:grid;grid-template-columns:1fr auto 1fr;gap:12px;margin:0 0 12px}#listing-header .machine-pages button:first-child{justify-self:start}#listing-header .machine-pages button:last-child{justify-self:end}#listing-header .machine-pages span{white-space:nowrap}body.fixed-listing #app .content{padding-top:0}
.nav-back svg{width:24px;height:24px;display:block}
.icon{border:0;border-radius:0}.icon:before,.icon:after{content:none}.icon svg,.secondary-icon svg,.hours-icon svg,.success svg,.arrow svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter}.secondary-icon svg{width:22px;height:22px}.hours-icon{border:0}.hours-icon svg{width:35px;height:35px}.success svg{width:34px;height:34px}.arrow{display:inline-flex;width:20px;height:20px}
@font-face{font-family:MonumentGrotesk;src:url('fonts/ABCMonumentGrotesk-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:MonumentGrotesk;src:url('fonts/ABCMonumentGrotesk-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}body{font-family:MonumentGrotesk,Inter,Arial,sans-serif}

@font-face{font-family:MaterialSymbols;src:url('fonts/material-symbols-300.ttf') format('truetype');font-weight:300;font-style:normal;font-display:block}.material-symbol{font-family:MaterialSymbols;font-weight:300;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;direction:ltr;font-feature-settings:'liga';-webkit-font-smoothing:antialiased}.icon .material-symbol{font-size:40px}.secondary-icon .material-symbol{font-size:24px}.hours-icon .material-symbol,.success .material-symbol{font-size:35px}.arrow .material-symbol{font-size:20px}
.secondary-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.secondary-card{width:100%}
@media(max-width:550px){.language-toggle > span{display:none}}
.location{padding:0;border:0;background:transparent;color:var(--text);text-align:left;font-family:inherit}
.location{display:inline-flex;align-items:center;gap:8px}.location .material-symbol{font-size:22px;flex:none}.location span:not(.material-symbol){font-weight:700;color:inherit}
.icon img{display:block;width:100%;height:100%;object-fit:contain}.dark .icon img,.accessibility:not(.accessibility-light) .icon img{filter:brightness(0) invert(1)}.home-primary .machine{position:relative;text-align:center;min-height:190px}.home-primary .machine-top{justify-content:center}.home-primary .machine-top .icon{width:82px;height:82px}.home-primary .machine-top .badge{position:absolute;top:14px;right:14px}.home-primary .machine h3{margin-top:7px}.home-primary .machine-bottom{justify-content:center;gap:14px}.home-primary .machine-bottom .arrow{margin-left:0}.home-primary .grid{align-items:stretch}
.home-primary .hero>div{width:100%}.hero-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.hero-line span{color:var(--muted);font-size:11px;white-space:nowrap}
.screen-heading>div{width:100%}.screen-heading h1{font-size:clamp(25px,3.4vw,42px);letter-spacing:-.055em;line-height:1.05;margin:9px 0}.screen-heading p{color:var(--muted);font-size:13px;margin:0;line-height:1.5}
#listing-header .screen-heading{position:relative;margin-bottom:14px}#listing-header .screen-heading .kicker{position:absolute;right:0;top:0;font-size:10px}#listing-header .screen-heading h1{margin:9px 0}body.fixed-listing #app .content{padding-top:0}
#listing-header .machine-pages button{background:transparent;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:10px 15px;font-size:12px;font-weight:500}#listing-header .machine-pages button:disabled{opacity:.4}.accessibility #listing-header .machine-pages button{border-color:var(--line)}
#listing-header .machine-pages .secondary-card{width:min(190px,100%);min-height:62px;padding:11px 14px;gap:11px;font-weight:inherit}#listing-header .machine-pages .secondary-card[data-action="segment-next"]{text-align:right}
#listing-header .machine-pages{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#listing-header .machine-pages .secondary-card{width:100%;min-height:62px;padding:11px 14px;gap:11px;text-align:left;background:transparent;border:1px solid var(--line);border-radius:11px;color:var(--text);font-weight:inherit}#listing-header .machine-pages .secondary-card:disabled{opacity:.4}
.secondary-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.secondary-card--icon-right .secondary-icon{order:2}.secondary-card--icon-right .secondary-copy{order:1}
.machine-group:active{transform:scale(.97);background:var(--soft);border-color:var(--accent)}@media(prefers-reduced-motion:reduce){.machine-group:active{transform:none}}
