:root{font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif;color:#17283f;background:#edf2f6;font-synthesis:none;--navy:#101e33;--blue:#006f9e;--aqua:#38d5eb;--muted:#52647a;--line:#d5dfe8;--green:#116743;--amber:#865300;--red:#aa292f;--violet:#5841a0}*{box-sizing:border-box;min-width:0}body{margin:0;font-size:16px}header{height:92px;background:var(--navy);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1320px)/2));border-bottom:3px solid var(--aqua);color:#e3edf5}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-size:30px;font-weight:800;letter-spacing:-1px}.brand-mark{display:grid;place-items:center;width:45px;height:45px;border:2px solid var(--aqua);border-radius:10px;color:var(--aqua);font-size:40px;font-weight:600;line-height:1}.brand small{display:block;color:#acc0d2;font-size:11px;letter-spacing:2.5px;margin-top:3px}.skip-link{position:fixed;top:-100px;left:16px;padding:14px;background:white;z-index:30}.skip-link:focus{top:12px}#identity{display:flex;align-items:center;gap:16px;font-size:14px;font-weight:600}#identity button{background:#1d3049;border-color:#41556c;color:white}main{max-width:1320px;margin:auto;padding:32px 24px 120px}h1{font-size:34px;letter-spacing:-1px;line-height:1.15;margin:0 0 10px;font-weight:800}h2{font-size:22px;letter-spacing:-.3px;margin:0 0 20px}h3{font-size:20px;margin:0 0 10px}p{line-height:1.5;margin:12px 0}.muted,small{color:var(--muted)}small{font-size:14px;line-height:1.5}.eyebrow{font-size:12px;letter-spacing:1.7px;font-weight:800;color:#426177;margin:0 0 10px}.top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:18px}.card,.stat{background:white;border:1px solid var(--line);border-radius:8px;padding:24px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.5fr);gap:0;margin:26px 0 0;background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}.stats .stat{border:0;border-right:1px solid var(--line);border-radius:0;padding:22px}.stat small{display:block;font-size:12px;letter-spacing:1px;font-weight:750;text-transform:uppercase}.stat strong{display:block;font-size:clamp(30px,3.1vw,44px);line-height:1.2;letter-spacing:-1px;margin-top:12px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat.blue strong{color:var(--blue)}.stat.violet strong{color:var(--violet)}.stat.green strong{color:var(--green)}.stats .sales{background:var(--navy);color:white;border:0}.sales small{color:#b8d4e5}.sales strong{color:var(--aqua)}.queue-strip{display:flex;flex-wrap:wrap;gap:14px 26px;padding:19px 2px;border-bottom:1px solid #cbd8e3}.queue-strip>div{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--muted)}.queue-strip strong{color:#263b54;font-size:17px;font-variant-numeric:tabular-nums}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 32px}.actions button,.actions .button{min-height:48px}.section-heading{margin-bottom:16px}.section-heading h2{margin-bottom:0}.section-heading .eyebrow{margin-bottom:6px}button,.button{font:inherit;font-size:14px;font-weight:750;min-height:48px;border:1px solid #adbfce;border-radius:6px;background:white;color:#284059;padding:12px 18px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;line-height:1.4;text-align:center;overflow-wrap:anywhere}button:hover,.button:hover{background:#e8f2f8;border-color:var(--blue)}.primary{background:var(--blue);border-color:var(--blue);color:white}.primary:hover{background:#005a81;color:white}.new-order-action{background:var(--aqua);color:#082c42;border-color:var(--aqua);min-height:58px;padding:16px 26px;font-size:16px}.success{background:var(--green);border-color:var(--green);color:white}.success:hover{background:#0b5134;color:white}.warning{background:#fff0d0;color:var(--amber);border-color:#bd8c32}.danger{background:#fff3f2;color:var(--red);border-color:#dfb6b7}.danger:hover{background:#fce3e2;color:#881b20}button:disabled{opacity:.6;cursor:wait}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;line-height:1.35;letter-spacing:.6px;text-transform:uppercase;padding:7px 9px;border:1px solid transparent;border-radius:4px;background:#edf1f5;color:#4b5b6e}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.badge.green{background:#e0f3e9;color:var(--green)}.badge.amber{background:#fff0cc;color:var(--amber)}.badge.red{background:#ffe6e4;color:var(--red)}.badge.blue{background:#dff1fc;color:#08618a}.badge.violet{background:#ece7fb;color:var(--violet)}.badge.teal{background:#dff3f2;color:#146768}.machine-grid{grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr))}.machine{border-top:4px solid #359e9d}.machine .row:first-child{justify-content:space-between}.machine h3{margin:0}.machine.busy{border-top-color:#0781b8}.machine.busy.dry{border-top-color:#7560be}.machine.queued,.machine.service-due:not(.busy){border-top-color:#c28c28}.machine>strong{display:block;margin-top:24px;font-size:22px}.machine>p{margin:12px 0}.machine.busy .timer{background:#edf6fc;color:#075c86}.machine.busy.dry .timer{background:#f0edfa;color:var(--violet)}.machine.near-end .timer{background:#fff0cf;color:var(--amber)}.machine.alert{border-top-color:#168255}.machine.alert .timer{color:var(--green);background:#e1f4e9}.timer{font-size:clamp(36px,4vw,54px);font-weight:800;letter-spacing:-1.5px;font-variant-numeric:tabular-nums;display:block;margin:20px 0;padding:18px 16px;border-radius:5px;line-height:1.1}.timer:after{content:"REMAINING";display:block;font-size:11px;letter-spacing:2px;margin-top:9px;font-weight:750}.alert .timer:after{content:"CONFIRM LOAD REMOVED"}.machine [data-action=finishNext]{margin-top:12px;width:100%}.machine .line{background:#f5f7fa;padding:16px;margin-top:16px;border-left:3px solid #c28c28;border-top:0}.machine .line p{margin:6px 0 12px}.line{padding:20px 0;border-top:1px solid #dfe6ed}.order-number{font-size:27px;font-weight:850;letter-spacing:.5px;color:#103c5d;overflow-wrap:anywhere}.order-card .top{align-items:flex-start}.order-card h3{margin:8px 0}.order-summary{background:#f1f6fa;padding:16px;border-radius:5px}.order-summary>strong{font-size:25px;margin-right:auto}.order-tabs{margin:8px 0 24px}.stack>*+*{margin-top:16px}label{display:block;font-size:14px;font-weight:700;margin-bottom:20px;color:#324860}input,select,textarea{display:block;width:100%;font:inherit;font-size:16px;font-weight:450;color:#17283f;background:#fff;border:1px solid #9fb2c4;border-radius:5px;padding:13px 12px;margin-top:8px;min-height:50px}input[type=number]{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}input[type=checkbox]{display:inline;width:22px;min-height:22px;vertical-align:middle;accent-color:var(--blue)}input[type=file]{font-size:14px;overflow:hidden}textarea{min-height:95px;resize:vertical}form{max-width:780px}.step{display:inline-grid;place-items:center;background:#e1f2f9;color:#075f88;width:29px;height:29px;border-radius:4px;font-size:16px;margin-right:8px}.item{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:0 14px;padding:16px;background:#f1f6fa;border:1px solid #d9e4ed;border-radius:5px;margin-bottom:18px;align-items:end}.item button{grid-column:span 2;justify-self:start;min-height:44px;padding:8px 12px}.split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;align-items:start}.split aside{position:sticky;top:24px}.recommendation{border-top:4px solid #0a9bb4}.recommendation .eyebrow{color:#116677}.recommendation h2{font-size:24px}.load-combination{font-size:24px;font-weight:750;color:#096b8e;letter-spacing:-.5px}.quote-line>strong:last-child{display:block;text-align:right;font-size:23px}.quote-total{margin:0 -24px -24px;padding:24px;background:var(--navy);border-radius:0 0 7px 7px;color:white}.quote-total small{color:#c0d7e4;font-size:12px;letter-spacing:1.6px;font-weight:750}.quote-total .total{color:var(--aqua);margin:8px 0 0}.total{font-size:40px;line-height:1.2;letter-spacing:-1px;font-weight:800;font-variant-numeric:tabular-nums}.gcash{border-left:3px solid #0a79bb;background:#f0f7fc;padding:18px;margin-bottom:20px}.gcash[hidden]{display:none}.proof-heading{font-weight:800;font-size:18px;margin:0}.gcash .muted{font-size:14px}.login{max-width:460px;margin:45px auto;padding:32px;border-top:4px solid var(--aqua)}.login h1{font-size:30px}.login button{width:100%}nav{position:fixed;bottom:0;left:0;right:0;background:var(--navy);border-top:1px solid #344660;display:flex;justify-content:center;gap:10px;padding:12px 16px max(12px,env(safe-area-inset-bottom));z-index:4}nav:empty{display:none}nav a{min-width:130px;text-align:center;padding:14px 20px;text-decoration:none;color:#c3d0de;font-size:14px;font-weight:750;border-radius:5px;letter-spacing:.5px}nav a.active{background:#243c54;color:#57deee;box-shadow:inset 0 -3px var(--aqua)}nav a:hover{background:#1c3048;color:white}dialog{border:1px solid #b9cbd9;border-top:4px solid #18bdd6;border-radius:8px;padding:28px;width:min(600px,calc(100vw - 28px));max-height:calc(100dvh - 40px);color:#17283f;box-shadow:0 24px 80px #07142650;overflow:auto}dialog::backdrop{background:#0b192bc9}dialog form{width:100%}dialog img{max-width:100%;max-height:65vh;object-fit:contain}.qr{display:block;margin:0 auto 20px}dialog:fullscreen{background:white;display:flex;flex-direction:column;align-items:center;justify-content:center;max-height:none;width:100%}.empty{padding:40px;text-align:center;border:1px dashed #aabfce;border-radius:8px;color:var(--muted);background:#f8fafc}#toast{position:fixed;top:18px;left:50%;transform:translateX(-50%);background:var(--navy);border:1px solid #58758c;color:white;padding:16px 24px;border-radius:6px;z-index:20;display:none;max-width:calc(100vw - 28px);box-shadow:0 6px 22px #07142630}.error{color:var(--red)}a{color:#086a94}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #306ae4;outline-offset:3px}#app:focus{outline:none}#report>h2{margin-top:32px}#report>.grid .stat strong{font-size:36px}#settings{margin-top:24px}#period{max-width:340px}#new-order>h2:not(:first-child){margin-top:28px}[data-action=addItem]{margin-bottom:24px}
@media(min-width:1100px){#order-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stats .sales{grid-column:span 4;display:flex;align-items:center;justify-content:space-between}.stats .sales strong{margin-top:0}.stats .stat{padding:18px}.split{grid-template-columns:1fr}.split aside{position:static;grid-row:1}.recommendation .quote-line{padding:14px 0}.recommendation .quote-total{display:flex;align-items:center;justify-content:space-between}.recommendation .quote-total .total{margin:0}.queue-strip{gap:12px 22px}nav a{min-width:100px}}
@media(max-width:540px){header{height:80px;padding:0 16px}.brand{font-size:25px;gap:9px}.brand-mark{width:34px;height:37px;font-size:32px}.brand small{font-size:9px;letter-spacing:2px}#identity{gap:7px;font-size:12px}#identity button{min-height:44px;padding:8px;font-size:12px}main{padding:24px 16px 105px}h1{font-size:29px}h2{font-size:21px}.dashboard-heading{flex-wrap:wrap}.new-order-action{width:100%;min-height:54px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}.stats .stat{padding:18px;border-bottom:1px solid var(--line)}.stats .sales{grid-column:span 2}.stat strong{font-size:36px}.sales strong{font-size:32px}.queue-strip{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:18px 0}.queue-strip>div{display:block;font-size:13px}.queue-strip strong{display:block;margin-top:5px;font-size:20px}.queue-strip>div:last-child{grid-column:span 2;display:flex;align-items:center;justify-content:space-between}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.actions .success{grid-column:span 2}.actions button,.actions .button{padding:12px 8px;font-size:13px}.grid,.machine-grid{grid-template-columns:1fr}.card{padding:20px}.top{align-items:flex-start}.section-heading{align-items:center}.machine .row:first-child{gap:8px}.machine h3{font-size:20px}.timer{font-size:48px}.order-card .top{flex-wrap:wrap}.order-card .top>div{flex:1 1 170px}.order-number{font-size:26px}.item{grid-template-columns:minmax(0,1fr) 92px;padding:12px;gap:0 10px}.item select{font-size:16px}.quote-total{margin:0 -20px -20px;padding:20px}.recommendation .quote-total .total{font-size:34px}.recommendation h2{font-size:22px}.total{font-size:36px}.login{padding:24px;margin:18px auto}.login h1{font-size:28px}nav{gap:0;padding:8px 4px max(8px,env(safe-area-inset-bottom))}nav a{min-width:0;flex:1;padding:16px 4px;font-size:12px;letter-spacing:0}dialog{padding:22px 18px}dialog h2{font-size:22px}.row>button{max-width:100%}.load-combination{font-size:22px}.gcash{padding:14px}.eyebrow{font-size:11px;letter-spacing:1.2px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.dryer-handoff{margin-top:28px;padding-top:24px;border-top:3px solid #d9a638}.dryer-handoff h3{margin-top:12px}.machine-choice{width:100%;justify-content:space-between;flex-wrap:wrap}.machine-choice small{font-size:13px}.machine.alert .timer{font-size:clamp(28px,3vw,40px);letter-spacing:-1px}

.dryer-handoff{margin:20px 0 24px;padding:20px;border:1px solid #d9a638;border-left:4px solid #d9a638;border-radius:6px}.dryer-handoff .top{margin-bottom:12px}.dryer-handoff h2{margin:0}details{margin-top:20px}summary{min-height:48px;padding:12px 0;cursor:pointer;font-weight:700}summary:focus-visible{outline:3px solid #306ae4;outline-offset:3px}.load-combination{font-size:20px;line-height:1.7}.card,.machine-choice{overflow-wrap:anywhere}.machine-choice small{overflow-wrap:anywhere}.dialog-status{padding:12px;background:#fff0ed;border-left:3px solid #aa292f}@media(max-width:540px){.dryer-handoff{padding:14px}.machine .row button,.order-card .line .row button{flex:1 1 130px}.machine-choice small{flex-basis:100%}}

.qr-dialog .qr{width:min(100%,420px);max-height:calc(100dvh - 190px);object-fit:contain}.qr-dialog:fullscreen{overflow:auto;justify-content:flex-start}.qr-dialog h2{flex-shrink:0}.qr-dialog button{flex-shrink:0}

.order-countdown{display:inline-block;margin-left:8px;font-size:14px;font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}

#identity{max-width:60%;text-align:right}.operator-identity{overflow-wrap:anywhere}#shop-profile{margin-top:24px}@media(max-width:540px){header{height:auto;min-height:80px;gap:8px;padding-top:12px;padding-bottom:12px}#identity{flex-wrap:wrap;justify-content:flex-end;max-width:45%}.operator-identity{font-size:12px}}
.worker-grid{margin-bottom:1rem}.worker-card .top{align-items:flex-start}.worker-card .row{justify-content:flex-end}.enrollment-qr{display:block;width:min(100%,30rem);height:auto;margin:1rem auto;border-radius:1rem}.worker-card button{margin:.25rem}
.demo-entry{max-width:580px;margin:clamp(28px,8vh,90px) auto;text-align:center;padding:clamp(28px,5vw,48px)}.demo-entry p{font-size:18px}.demo-entry form{margin:28px auto 22px}.demo-entry button{min-height:58px;font-size:16px}.demo-banner{display:flex;align-items:center;gap:12px;margin:0 0 24px;padding:13px 16px;border:1px solid #efc15f;border-left:5px solid #d08a00;border-radius:6px;background:#fff4d8;color:#614300}.demo-banner strong{letter-spacing:1.4px}.demo-banner span{font-size:14px}@media(max-width:540px){.demo-entry p{font-size:16px}.demo-banner{align-items:flex-start;flex-direction:column;gap:4px}}
