:root{font-family:Inter,Noto Sans Thai,Tahoma,Arial,sans-serif;color:#183b3b;background:#f5f7f5;font-synthesis:none;line-height:1.65;font-size:15px;--green: #0c6662;--dark: #0b4545;--muted: #78908d;--line: #e3eae6}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,.button{border:0;border-radius:10px;background:var(--green);color:#fff;padding:12px 20px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;transition:background .2s,transform .2s}button:hover,.button:hover{filter:brightness(.94)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary,.button.secondary{background:#f0f5f2;color:var(--dark);border:1px solid var(--line)}button.ghost{background:transparent;color:var(--green)}a{color:var(--green)}input:not([type=checkbox]){width:100%;border:1px solid #dbe5df;background:#fff;border-radius:9px;min-height:46px;padding:10px 13px;color:var(--dark)}input:focus,button:focus-visible,a:focus-visible{outline:3px solid #92cbb2;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:34px;line-height:1.35;letter-spacing:-1.2px;font-weight:700}h2{font-size:20px;line-height:1.5}h3{font-size:17px}p{margin-top:8px}small,.small{font-size:12px}.muted{color:#6f8580}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#7c9690}.brand{display:inline-flex;align-items:center;text-decoration:none;color:var(--dark);font-size:26px;font-weight:800;letter-spacing:-1px;white-space:nowrap}.brand-icon{font-size:27px;background:var(--green);color:#d7ecb6;display:grid;place-items:center;width:37px;height:37px;border-radius:11px;margin-right:9px}.brand-dot,.title-dot{color:#7aad64}.pill{display:inline-flex;padding:5px 12px;background:#e8f0e5;color:#467356;border-radius:30px;font-size:11px;font-weight:600}.status{font-size:11px;display:inline-flex;align-items:center;gap:6px;border-radius:30px;padding:5px 10px;background:#edf4ec;color:#47804c;white-space:nowrap}.status i,.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#7ba469}.status.running{color:#32798a;background:#e8f4f7}.status.running i{background:#4192a3}.status.maintenance{color:#a67c30;background:#fbf1dc}.status.maintenance i{background:#b8934e}.status.disabled{color:#7c8583;background:#edf0ef}.status.disabled i{background:#8d9793}.notice,.success{border-radius:10px;background:#fff0ea;color:#9f4533;padding:12px 16px;margin-bottom:18px;overflow-wrap:anywhere}.success{background:#e5f0df;color:#3e6c3a}.wide{width:100%;justify-content:space-between}.center{text-align:center}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;min-width:0}.field>span{font-size:12px;font-weight:600}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.card{background:#fff;border:1px solid var(--line);border-radius:16px}.empty{padding:60px 20px;text-align:center}.empty button{margin-top:20px}.empty h1{font-size:26px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 18px}.section-title h2{font-size:18px}footer{padding:28px 36px;border-top:1px solid var(--line);font-size:11px;color:#80958d;display:flex;justify-content:space-between;gap:16px}.washer{position:relative;width:230px;height:276px;border:1px solid #d2ded7;border-radius:15px;background:linear-gradient(115deg,#fff 20%,#edf2ee);box-shadow:0 25px 40px -23px #1c514846,inset -9px 0 #e5ece5;flex-shrink:0}.washer-panel{height:55px;border-bottom:1px solid #d9e1da;display:flex;align-items:center;justify-content:space-between;padding:0 20px}.washer-panel b{font-size:8px;letter-spacing:1px;color:#54756b}.washer-panel span{font-size:12px;display:flex;gap:9px;align-items:center;color:#7d9489}.washer-panel i{width:19px;height:19px;border-radius:50%;border:4px solid #bacabe;background:#edf2ed}.washer-door{width:162px;height:162px;border-radius:50%;border:12px solid #cedbd2;box-shadow:0 0 0 5px #f9fbf8,0 8px 10px #123d3220;position:relative;overflow:hidden;margin:22px auto;background:radial-gradient(circle at 35% 25%,#59887f,#1a514d 70%)}.washer-door:after{content:"";position:absolute;top:8px;left:10px;width:75px;height:40px;border-radius:50%;border-top:5px solid #ffffff30;transform:rotate(-25deg)}.water{width:220px;height:190px;position:absolute;top:70px;left:-45px;background:linear-gradient(25deg,#94c7b1,#a4d0c3);border-radius:40%;transform:rotate(-18deg)}.water:after{content:"";position:absolute;left:80px;top:0;width:60px;height:70px;border-radius:45%;background:#d8e5b2;transform:rotate(30deg)}.washer-foot{position:absolute;bottom:10px;right:20px;width:25px;height:15px;border:1px solid #cbd8cf;border-radius:3px}.spinning .water{animation:swish 4s linear infinite}@keyframes swish{to{transform:rotate(342deg)}}.client-header{height:96px;max-width:1130px;margin:auto;padding:0 35px;display:flex;align-items:center;justify-content:space-between}.client-main{max-width:1130px;padding:25px 35px 60px;margin:auto;min-height:calc(100dvh - 173px)}.landing{text-align:center;max-width:650px;margin:auto;padding:25px 0}.landing h1{font-size:56px;margin-top:20px}.landing h1 em{font-style:normal;color:var(--green)}.landing>p{color:#70877c}.landing>.washer{margin:35px auto 40px}.scan-card{display:flex;gap:18px;text-align:left;align-items:center;padding:18px 24px;background:#fff;border:1px solid var(--line);border-radius:16px;width:fit-content;margin:0 auto}.scan-card p{font-size:12px;color:#71847b;margin:3px 0}.qr-icon{font-size:36px;color:var(--green)}.machine-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;gap:20px}.machine-heading h1{margin:8px 0}.machine-layout{display:grid;grid-template-columns:1fr 1.12fr;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden}.machine-visual{background:radial-gradient(ellipse at 50% 35%,#e8f0e2,#d7e5d7);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:45px;padding:50px 25px}.machine-visual .washer{transform:scale(1.12);margin:25px 0}.visual-caption{text-align:center;display:flex;flex-direction:column;gap:9px}.visual-caption span{font-size:9px;letter-spacing:2px;color:#698574}.visual-caption strong{font-size:14px}.machine-controls{padding:30px}.mode-banner{padding:8px 12px;border:1px solid #e6e9da;border-radius:8px;font-size:11px;color:#8b7e55;background:#faf9f1}.programs{display:flex;flex-direction:column;gap:12px}.program{background:#fff;border:1px solid var(--line);color:var(--dark);padding:16px;justify-content:flex-start;text-align:left}.program.selected{border-color:var(--green);background:#f0f7f2;box-shadow:0 0 0 1px var(--green)}.program>span:nth-child(2){flex:1}.program small{display:block;font-weight:400;color:#7c8e84}.program-symbol{font-size:28px;color:#718e70;width:35px}.program b{font-size:15px}.radio{height:16px;width:16px;border:1px solid #bfcfc3;border-radius:50%;margin-left:8px}.selected .radio{border:5px solid var(--green)}.total{display:flex;align-items:center;justify-content:space-between;margin:26px 0 20px;padding-top:20px;border-top:1px dashed #dce4dc}.total strong{font-size:27px}.confirmation{padding:16px;border-radius:10px;background:#edf5ed}.confirmation .actions{margin-top:14px}.instructions{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:35px}.instructions>div{padding:15px}.instructions b{font-size:12px;color:#8da383;display:block;margin-bottom:9px}.instructions strong{font-size:13px}.instructions p{font-size:12px;color:#7d8e81}.running-panel{text-align:center;padding:50px 0 25px}.running-panel h2{margin:20px 0 5px}.countdown{font-size:60px;letter-spacing:1px;font-variant-numeric:tabular-nums;font-weight:700;color:var(--green)}.countdown span{color:#b3cabb}.running-panel progress{width:100%;accent-color:var(--green);height:9px;margin:20px 0}.admin-layout{display:flex;min-height:100dvh}.sidebar{width:248px;background:#fff;border-right:1px solid var(--line);padding:30px 22px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.sidebar-label{font-size:9px;letter-spacing:2px;color:#a0b0a4;margin:45px 15px 12px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.sidebar nav a{text-decoration:none;color:#74897c;font-size:13px;padding:13px 15px;border-radius:9px;display:flex;gap:13px;align-items:center}.sidebar nav a.active{background:#eaf3e9;color:var(--green);font-weight:600}.sidebar nav a span{font-size:19px;width:20px}.sidebar-bottom{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px}.sidebar-bottom>div{min-width:0;flex:1}.sidebar-bottom strong{display:block;font-size:12px}.sidebar-bottom small{display:block;font-size:10px;color:#899d8e;overflow:hidden;text-overflow:ellipsis}.avatar{width:33px;height:33px;border-radius:50%;background:#e6eedd;color:#648356;display:grid;place-items:center}.icon-button{background:none;color:#728577;padding:6px}.admin-content{margin-left:248px;width:calc(100% - 248px);min-width:0;display:flex;flex-direction:column}.admin-top{height:78px;border-bottom:1px solid var(--line);background:#ffffff90;display:flex;justify-content:space-between;align-items:center;padding:0 40px;font-size:12px}.admin-main{padding:34px 40px 55px;max-width:1600px;width:100%;margin:0 auto;flex:1}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.page-heading h1{margin-top:8px}.page-heading p{color:#819181;font-size:13px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-bottom:30px}.stats article{background:#fff;border:1px solid var(--line);padding:21px 24px;border-radius:13px}.stats article>span{font-size:12px;color:#7f9180}.stats article strong{display:block;font-size:32px;margin-top:8px;line-height:1.4;font-weight:600}.stats article strong small{font-weight:400;font-size:12px;color:#97a68f}.stats .dot{margin-right:5px}.search{max-width:285px;background:#fff!important;min-height:40px!important;font-size:12px}.machine-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:22px}.machine-card{padding:20px}.machine-card-top{display:flex;justify-content:space-between;align-items:center;gap:6px}.machine-card-top .eyebrow{font-size:8px;letter-spacing:1px}.mini-washer{height:180px;background:#f2f6ef;border-radius:11px;margin:20px 0;display:flex;align-items:center;justify-content:center;gap:20px;overflow:hidden}.mini-washer .washer{transform:scale(.5);margin:-65px -57px}.mini-washer>span{font-size:37px;color:#adc1a0;font-weight:300;line-height:1}.mini-washer>span small{display:block;font-size:9px;letter-spacing:3px;text-align:center;margin-top:8px}.machine-card h2{font-size:19px}.machine-card>p{font-size:12px}.machine-meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;padding:16px 0;border-bottom:1px solid var(--line);margin-bottom:17px}.machine-meta>span{color:#84937f}.machine-card .actions{flex-wrap:nowrap}.machine-card button{padding:10px 13px;font-size:12px}.machine-card button:first-child{flex:1}.editor{padding:28px;max-width:1000px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.checks{display:flex;flex-direction:column;gap:14px;justify-content:center;font-size:13px;margin-bottom:18px}.checks input{accent-color:var(--green)}.program-editor{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:15px;align-items:end;margin-top:20px}.program-editor>.field{margin:0}.program-editor button{height:46px}.editor>.actions{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);justify-content:space-between}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}td,th{text-align:left;padding:17px 20px;border-bottom:1px solid var(--line)}th{color:#82947e;font-weight:500;font-size:11px;background:#fbfcfa}.audit{margin-top:15px;padding:10px 20px}.audit>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.audit small{color:#8b9c85}.admin-main>.table-wrap+h2{margin-top:30px}.guide{padding:30px;max-width:850px}.guide h2:not(:first-child){margin-top:25px}.guide p{color:#71866f;font-size:14px}.guide code{overflow-wrap:anywhere;color:#245d4a}.qr-sheet{max-width:530px;text-align:center;padding:35px;margin:auto}.qr-sheet h2{margin-top:22px;font-size:27px}.qr-sheet>img{display:block;width:100%;max-width:300px;margin:12px auto}.qr-url{font-size:11px;overflow-wrap:anywhere;color:#85977d}.qr-sheet .actions{margin-top:25px;justify-content:center}.qr-sheet .button,.qr-sheet button{font-size:12px}.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh}.login-art{padding:45px 65px;background:#e1ebda;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:35px}.login-art h1{font-size:48px;margin-top:22px}.login-art p{color:#74886e}.login-art>.washer{align-self:center}.login-art small{font-size:9px;letter-spacing:3px;color:#8da17f}.login-form{max-width:420px;margin:auto;padding:35px;width:100%}.login-form h2{font-size:30px;margin:12px 0}.login-form form{margin-top:30px}.login-form form+p{margin-top:22px;text-align:center}@media(min-width:1500px){.machine-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1100px){.sidebar{width:210px;padding:25px 15px}.admin-content{margin-left:210px;width:calc(100% - 210px)}.admin-main{padding:28px 25px}.admin-top{padding:0 25px}.stats{grid-template-columns:repeat(2,1fr)}.program-editor{grid-template-columns:2fr 1fr 1fr}.program-editor>button{grid-column:3}.login-art{padding:35px}}@media(max-width:760px){h1{font-size:28px}.client-header{height:78px;padding:0 20px}.client-header .eyebrow{font-size:8px;letter-spacing:1px}.client-main{padding:10px 18px 30px}.machine-heading{margin:10px 0 22px;align-items:flex-start}.machine-heading h1{font-size:26px}.machine-heading .status{margin-top:25px}.machine-heading p{font-size:12px}.machine-layout{grid-template-columns:1fr}.machine-visual{padding:20px;gap:0;min-height:220px;flex-direction:row;justify-content:space-evenly}.machine-visual .washer{transform:scale(.62);margin:-50px -43px}.visual-caption{max-width:130px;text-align:left}.visual-caption span{font-size:8px;line-height:1.8}.visual-caption strong{font-size:13px}.machine-controls{padding:22px 18px}.instructions{grid-template-columns:1fr;gap:5px;margin-top:20px}.instructions>div{padding:12px 8px}.instructions b{float:left;margin:4px 18px 15px 0}.instructions p{margin-top:3px}.landing h1{font-size:42px}.scan-card{padding:16px}.scan-card strong{font-size:13px}.scan-card p{font-size:11px}.sidebar{position:static;width:100%;padding:18px;border-right:0;border-bottom:1px solid var(--line);display:flex;gap:14px}.sidebar .brand{font-size:23px}.sidebar-label{display:none}.sidebar nav{flex-direction:row;gap:5px}.sidebar nav a{flex:1;font-size:11px;padding:8px;gap:5px;justify-content:center;white-space:nowrap}.sidebar nav a span{font-size:15px;width:auto}.sidebar-bottom{margin:0;padding:10px 0 0}.sidebar-bottom .avatar{display:none}.sidebar-bottom>div{display:flex;gap:12px;align-items:center}.admin-layout{flex-direction:column}.admin-content{margin:0;width:100%}.admin-top{height:56px;padding:0 18px;font-size:11px}.admin-main{padding:25px 18px}.page-heading{align-items:flex-start;flex-direction:column;gap:16px}.page-heading button,.page-heading p{font-size:12px}.stats{gap:10px}.stats article{padding:17px 15px}.stats article>span{font-size:10px}.stats article strong{font-size:27px}.section-title{flex-wrap:wrap}.search{max-width:none}.machine-grid{grid-template-columns:1fr}.editor{padding:18px}.form-grid{grid-template-columns:1fr}.program-editor{grid-template-columns:1fr 1fr;gap:10px;border-bottom:1px solid var(--line);padding-bottom:20px}.program-editor>.field:first-child{grid-column:1/-1}.program-editor>button{grid-column:2}.guide{padding:22px}.qr-sheet{padding:20px}.login-layout{grid-template-columns:1fr}.login-art{padding:25px;gap:0}.login-art>div:not(.brand),.login-art>.washer,.login-art>small{display:none}.login-form{padding:35px 24px;align-self:start;margin:0 auto}.login-layout{display:block}footer{padding:22px 18px;font-size:10px}.program{padding:13px;gap:8px}.program-symbol{width:26px}.program b{font-size:14px}.program strong{font-size:13px}.program .radio{margin-left:0}.audit>div{flex-direction:column;gap:0}.running-panel{padding:30px 0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media print{body{background:#fff}.sidebar,.admin-top,.page-heading,footer,.no-print,.notice,.success{display:none!important}.admin-content{margin:0;width:100%}.admin-main{padding:0}.qr-sheet{border:2px dashed #888;break-inside:avoid;margin:30px auto}.qr-sheet .brand{color:#111}}.orders-nav{font-weight:700;font-size:.9rem;white-space:nowrap}.order-list{display:grid;gap:18px;margin:28px 0}.order-card{border:1px solid var(--border, #dce5df);border-radius:20px;padding:24px;background:var(--surface, #fff);min-width:0}.order-card h2{margin:0;overflow-wrap:anywhere}.order-reference{font-size:.8rem;overflow-wrap:anywhere;color:#607269}.order-details{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.order-details dt{font-size:.85rem;color:#607269}.order-details dd{margin:5px 0 0;font-weight:600;overflow-wrap:anywhere}.order-card .section-title{flex-wrap:wrap;gap:12px}.status.completed{background:#e6f5eb;color:#246846}@media(max-width:480px){.order-card{padding:18px}.order-details{grid-template-columns:1fr}.client-header{gap:10px}}fieldset{border:0;padding:0;margin:0;min-width:0}textarea,select{font:inherit;width:100%;max-width:100%;border:1px solid #d5e1de;background:#fff;color:#193e39;padding:12px;border-radius:10px}textarea{min-height:96px;resize:vertical}.member-nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.member-nav a{font-weight:600}.member-auth{max-width:520px;margin:32px auto;padding:32px}.member-auth .secondary{margin-top:16px}.member-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0}.balance-card{padding:28px;background:#0b4545;color:#fff;border-radius:20px}.balance-card strong{font-size:42px}.wallet-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:16px 0;border-bottom:1px solid #dce8e2;overflow-wrap:anywhere}.wallet-row p{flex-basis:100%;margin:0}.station-map{margin:16px 0}.station-map iframe{width:100%;height:300px;border:1px solid #d5e1de;border-radius:14px;background:#eef5f2}.station-map>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;margin-top:6px}.payment-instructions{white-space:pre-wrap;overflow-wrap:anywhere}.check-row{display:flex;gap:10px;align-items:center;margin:20px 0}.check-row input{width:auto}.table-wrap td{overflow-wrap:anywhere}.editor .actions{margin-top:16px}.member-columns .card{min-width:0}.card h3,.card p{overflow-wrap:anywhere}@media(max-width:700px){.client-header{height:auto;min-height:78px;padding-top:16px;padding-bottom:16px;gap:16px;flex-wrap:wrap}.member-nav{gap:12px;font-size:13px;width:100%;justify-content:space-between}.member-nav button{padding:8px}.member-columns{grid-template-columns:1fr}.member-auth{padding:20px;margin:16px 0}.station-map iframe{height:240px}.balance-card strong{font-size:34px}}@media(max-width:760px){.sidebar nav{flex-wrap:wrap;gap:6px}.sidebar nav a{flex:0 1 auto;white-space:normal}.sidebar{min-width:0;width:100%}}.client-header{gap:20px}.client-header>.member-nav{margin-left:auto}.member-nav a{text-decoration:none}.member-nav a[aria-current=page]{color:var(--green);text-decoration:underline;text-underline-offset:7px}.nav-icon{display:none}.landing-washer{display:flex;justify-content:center;margin:35px auto 40px}.drive-map{margin:0 0 18px;border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:#fff}.drive-map summary{cursor:pointer;color:var(--green);font-size:13px;overflow-wrap:anywhere}@media(max-width:760px){.client-app{min-height:100dvh;padding-bottom:calc(82px + env(safe-area-inset-bottom,0px));background:radial-gradient(ellipse at top right,#e8f2ec 0,transparent 430px),#f5f7f5}.client-app .client-header{height:auto;min-height:64px;padding:calc(10px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px));flex-wrap:nowrap;gap:10px;border-bottom:1px solid #dce8e1}.client-header .brand{font-size:23px}.client-header .brand-icon{width:32px;height:32px;font-size:23px;border-radius:10px}.client-header>button,.client-header>.button{margin-left:auto;font-size:12px;min-height:44px;padding:10px 12px;border-radius:14px;white-space:nowrap}.client-header .member-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin:0;padding:8px max(10px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px));background:#ffffffed;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid #dce8e1;box-shadow:0 -6px 28px #164f4509}.member-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:54px;min-width:0;font-size:10px;line-height:1.4;color:#647970;border-radius:14px;white-space:nowrap}.member-nav a[aria-current=page]{background:#edf5ef;color:#095e53;text-decoration:none}.nav-icon{display:grid;place-items:center;width:40px;height:27px;border-radius:10px}.member-nav a[aria-current=page] .nav-icon{background:#cfe8da}.client-app .client-main{padding:20px max(16px,env(safe-area-inset-right,0px)) 20px max(16px,env(safe-area-inset-left,0px))}.client-app footer{display:none}.client-main{font-size:13px;overflow-wrap:anywhere}.client-main h1{font-size:27px;letter-spacing:-.6px;margin:4px 0 8px}.client-main h2{font-size:18px}.client-main h3{font-size:15px}.client-main .eyebrow{font-size:9px;letter-spacing:1.5px}.client-main button,.client-main .button{min-height:44px;padding:10px 14px;font-size:13px;border-radius:12px}.client-main input,.client-main select,.client-main textarea{font-size:16px}.client-main .field{gap:5px;margin-bottom:12px}.client-main .empty{padding:30px 16px}.client-main .card,.client-main .order-card{box-shadow:0 4px 16px #164f4504}.client-main .editor{padding:16px}.client-main .landing{padding:0}.client-main .landing h1{font-size:clamp(32px,9vw,40px);margin:13px 0 8px}.landing>p{font-size:12px}.landing-washer{height:164px;margin:16px auto;align-items:center;background:radial-gradient(ellipse,#dbe9d6 0,#eaf2e8 45%,transparent 70%)}.landing-washer .washer{transform:scale(.56)}.client-main .scan-card{padding:12px 14px;gap:12px;border-radius:16px;width:100%}.landing .scan-card{justify-content:center}.landing .actions{margin-top:14px!important;display:grid;grid-template-columns:1fr 1fr;gap:8px}.landing .actions .button{padding-inline:8px;font-size:12px}.client-main .member-auth{margin:0 auto;padding:20px;border-radius:20px}.member-auth>p{font-size:12px;margin-bottom:18px}.member-auth .wide{justify-content:center}.client-main .member-columns{grid-template-columns:1fr;gap:12px;margin:12px 0}.client-main .balance-card{position:relative;padding:18px 20px;margin-top:16px;border-radius:20px;background:radial-gradient(ellipse at top right,#26766b,transparent 75%),#0b4545;box-shadow:0 8px 22px #0b454519}.balance-card strong{display:block;font-size:clamp(26px,7vw,34px);line-height:1.4;margin:5px 0}.balance-card p{margin:0;font-size:12px;color:#d0e6de}.wallet-page textarea{min-height:76px}.wallet-page fieldset>button{width:100%}.wallet-row{padding:12px 0;font-size:12px}.stations-page>.field{margin-top:16px}.client-main .station-map{margin:12px 0}.client-main .station-map iframe{height:170px;border-radius:16px}.station-map>div{font-size:12px;gap:6px;align-items:center}.station-map a{display:inline-flex;min-height:44px;align-items:center}.stations-page .machine-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.stations-page .machine-grid .card{padding:13px;display:flex;flex-direction:column;align-items:flex-start}.stations-page .machine-grid h3{margin-top:8px}.stations-page .machine-grid p{font-size:12px;margin-top:5px}.stations-page .machine-grid .button{width:100%;margin-top:auto;position:relative;top:3px;font-size:12px;padding-inline:5px}.stations-page .machine-grid p:last-of-type{padding-bottom:12px}.client-main .order-list{gap:12px;margin:18px 0}.client-main .order-card{padding:16px;border-radius:18px}.order-card .section-title{margin:0 0 8px;gap:8px}.client-main .order-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;padding:12px;background:#f5f8f5;border-radius:12px}.order-details dt{font-size:11px}.order-details dd{font-size:12px;margin-top:3px}.order-reference{font-size:11px}.order-card .actions{justify-content:space-between;gap:5px}.order-card .actions a{min-height:44px;display:inline-flex;align-items:center}.client-main .machine-heading{margin:0 0 14px;gap:10px}.machine-heading>div{min-width:0}.client-main .machine-heading h1{font-size:24px}.client-main .machine-heading .status{margin-top:24px}.drive-map summary{min-height:24px}.client-main .machine-visual{min-height:100px;padding:8px 16px;gap:15px}.client-main .machine-visual .washer{transform:scale(.3);margin:-97px -79px}.visual-caption{max-width:170px}.visual-caption span{display:none}.client-main .machine-controls{padding:16px}.machine-controls .section-title{margin:16px 0 12px}.client-main .programs{gap:8px}.client-main .program{padding:10px;border-radius:12px}.program>span:nth-child(2){min-width:0}.client-main .program b{font-size:12px}.program .radio{flex-shrink:0}.client-main .total{margin:16px 0 12px;padding-top:12px}.total strong{font-size:23px}.machine-controls>.wide{margin-top:12px}.client-main .running-panel{padding:20px 0 10px}.client-main .instructions{gap:0;margin-top:12px}.instructions>div{padding:8px}.client-main .notice{margin:12px 0}}@media(max-width:360px){.stations-page .machine-grid{grid-template-columns:1fr}.client-main .program-symbol{display:none}}@media(max-width:760px)and (max-height:700px){.landing-washer{height:108px;margin:8px auto}.landing-washer .washer{transform:scale(.38)}.client-main .landing h1{font-size:30px;margin-top:8px}}.station-sheet-toggle{display:none}@media(max-width:760px){.client-app:has(.stations-map-view){height:100dvh;min-height:0;overflow:hidden;padding:0}.client-app:has(.stations-map-view) .client-header{min-height:0;height:0;padding:0;border:0}.client-app:has(.stations-map-view) .client-header>:not(.member-nav){display:none}.client-app:has(.stations-map-view) .client-main{margin:0;padding:0;max-width:none}.stations-map-view{position:fixed;inset:0 0 calc(71px + env(safe-area-inset-bottom,0px));overflow:hidden;background:#e7efdf}.stations-map-view>.eyebrow,.stations-map-view>h1,.stations-map-view>p.muted{display:none}.client-main .stations-map-view>.station-map{position:absolute;inset:0;margin:0}.client-main .stations-map-view>.station-map iframe{display:block;width:100%;height:100%;border:0;border-radius:0}.stations-map-view>.field{position:absolute;z-index:2;top:calc(10px + env(safe-area-inset-top,0px));left:max(54px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));margin:0}.stations-map-view>.field>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.stations-map-view>.field select{box-shadow:0 3px 18px #164f4526;background:#fff}.stations-map-view>.station-map>div{position:absolute;right:max(12px,env(safe-area-inset-right,0px));top:calc(70px + env(safe-area-inset-top,0px));background:#fff;border-radius:12px;padding:0 12px;box-shadow:0 3px 18px #164f4526}.stations-map-view>.station-map>div>span{display:none}.stations-map-view>.notice{position:absolute;z-index:3;top:120px;left:12px;right:12px}.stations-map-view .station-sheet{position:absolute;z-index:2;bottom:30px;left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));border-radius:16px;background:#fff;box-shadow:0 3px 18px #164f4526;overflow:hidden}.client-main .stations-map-view .station-sheet-toggle{display:block;width:100%;border:0;border-radius:0}.stations-map-view .station-sheet-content{display:none;max-height:min(48dvh,400px);overflow-y:auto;overscroll-behavior:contain;padding:0 14px 14px}.stations-map-view .station-sheet-content.is-open{display:block}}.topup-amounts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.topup-amounts button{min-height:70px;font-size:21px}.topup-amounts small{display:block;font-size:12px;opacity:.75}.topup-qr{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.topup-qr>strong{font-size:30px}.topup-qr img{width:280px;max-width:100%;height:auto;border-radius:16px}.topup-qr button{width:100%;min-height:48px}.station-kiosk{width:100%}.kiosk-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:24px 0}.kiosk-heading h1{overflow-wrap:anywhere}.kiosk-summary{display:grid;text-align:center;flex-shrink:0}.kiosk-summary strong{font-size:42px;color:var(--primary, #147d70)}.kiosk-filters{margin:24px 0;flex-wrap:wrap}.kiosk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}.kiosk-machine{min-width:0;padding:24px;display:flex;flex-direction:column}.kiosk-machine h2,.kiosk-machine p{overflow-wrap:anywhere}.kiosk-machine .button,.kiosk-machine>button{margin-top:auto;min-height:48px}.kiosk-machine-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.kiosk-washer{height:160px;display:flex;justify-content:center;overflow:hidden;margin:16px 0}.kiosk-washer>*{transform:scale(.5);transform-origin:top center;flex-shrink:0}@media(max-width:760px){.kiosk-heading{align-items:flex-start;gap:12px}.kiosk-summary strong{font-size:30px}.kiosk-summary span{font-size:12px}.kiosk-machine{padding:20px}}
