:root{
  --navy:#10243e;--blue:#1677c8;--blue-dark:#075c9f;--cyan:#22aee5;--orange:#ff9f2d;
  --cream:#fffdf8;--ink:#17263a;--muted:#647083;--line:#dfe6ee;--good:#18794e;--bad:#b42318;--warn:#8a5200;
  --shadow:0 12px 32px rgba(16,36,62,.08);--radius:22px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#f5f8fb 0,#fffdf8 42%,#fff 100%);font-family:Inter,"Avenir Next",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit}
.shell{max-width:760px;margin:auto;padding:18px 16px 42px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--navy);min-width:0}
.brand img{width:104px;height:82px;object-fit:contain;object-position:center;border-radius:16px;background:transparent;flex:0 0 auto}
.brand strong{display:block;font-size:27px;line-height:1;font-weight:900;letter-spacing:-.7px}
.brand small{display:block;color:var(--muted);font-size:13px;font-weight:700;margin-top:5px}
.top-actions{display:flex;align-items:center;gap:8px}.lang,.help{border:1px solid #d4dee8;background:#fff;border-radius:12px;padding:9px 12px;color:var(--navy);text-decoration:none;font-weight:800;font-size:12px;cursor:pointer}
.hero{padding:28px 22px;background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);margin-bottom:16px;text-align:center}
.hero-logo{width:150px;max-width:52%;height:auto;display:block;margin:0 auto 12px}
.eyebrow,.label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
h1{font-size:40px;line-height:1.08;letter-spacing:-1.25px;margin:8px 0 12px;color:var(--navy);font-weight:900}
h2{font-size:22px;line-height:1.2;margin:0 0 10px;color:var(--navy);font-weight:900}h3{font-size:17px;margin:0 0 8px;font-weight:900}
p{margin:8px 0}.muted,.small{color:var(--muted)}.small{font-size:13px}.center{text-align:center}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin:14px 0;box-shadow:0 5px 18px rgba(16,36,62,.04)}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.admin-actions{display:flex;justify-content:flex-end;gap:10px;margin:0 0 14px}.admin-actions .btn{min-width:110px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border:0;border-radius:14px;padding:12px 18px;background:var(--blue);color:#fff;text-decoration:none;font-weight:900;font-size:15px;cursor:pointer;box-shadow:0 4px 10px rgba(22,119,200,.14)}
.btn:hover{background:var(--blue-dark)}.btn.secondary{background:var(--navy);color:#fff;border:0;box-shadow:0 4px 10px rgba(16,36,62,.12)}.btn.secondary:hover{background:#0b1b30}.btn.dark{background:var(--navy)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
.back{display:inline-block;color:var(--blue-dark);font-weight:900;text-decoration:none;margin:4px 0 10px}
.field{display:block;margin:16px 0}.field>span:first-child,.field>label{display:block}.field label,.field .label{margin-bottom:7px}
input,select,textarea{width:100%;font:inherit;border:1px solid #cfd8e2;border-radius:13px;padding:12px 13px;background:#fff;color:var(--ink);outline:none;min-height:48px}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(22,119,200,.12)}textarea{min-height:110px;resize:vertical}
/* Marketplace buttons: solid, friendly, and easy to scan on mobile. */
.chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.chip{position:relative;display:block}.chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.chip span{display:flex;align-items:center;justify-content:center;min-height:48px;border:1.5px solid #cfd9e4;border-radius:14px;padding:10px 12px;font-size:15px;font-weight:900;background:#fff;color:var(--navy);transition:.15s ease}.chip input:checked+span{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 5px 12px rgba(22,119,200,.18)}.chip span:hover{border-color:var(--blue)}
/* Selection cards retain the previous clean form language without exposing browser radio circles. */
.choice{display:flex;gap:10px;align-items:center;border:1.5px solid #d4dee8;border-radius:14px;padding:13px 14px;margin:8px 0;cursor:pointer;background:#fff;transition:.15s ease}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice:has(input:checked){border-color:var(--blue);background:#eef7fd;box-shadow:inset 0 0 0 1px var(--blue)}.choice strong{display:block;color:var(--navy);font-weight:900}.choice small{display:block;color:var(--muted);margin-top:2px}
.price{display:flex;justify-content:space-between;gap:16px;padding:8px 0}.total{font-size:18px;font-weight:900;color:var(--navy)}hr{border:0;border-top:1px solid var(--line);margin:12px 0}
.notice{padding:12px 14px;border-radius:12px;background:#eef8f3;color:#175b3d;margin:10px 0;font-size:13px}.notice.warn{background:#fff6e5;color:var(--warn)}.notice.err{background:#fff0ef;color:var(--bad)}.notice.info{background:#eef6ff;color:#075c9f}
.pill{display:inline-block;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;background:#edf1f5;color:var(--navy)}.pill.green{background:#e6f6ee;color:var(--good)}.pill.orange{background:#fff0dc;color:#9a5700}
.ref{font-size:28px;font-weight:900;letter-spacing:1px;color:var(--navy);margin:5px 0 12px}.steps{list-style:none;margin:12px 0 0;padding:0}.steps li{position:relative;padding:0 0 18px 30px;border-left:2px solid #d8e1ea;margin-left:9px}.steps li:last-child{border-left:0}.dot{position:absolute;left:-9px;top:0;width:16px;height:16px;border-radius:50%;background:#d8e1ea;border:3px solid #fff;box-shadow:0 0 0 1px #d8e1ea}.done .dot{background:var(--good)}.now .dot{background:var(--orange)}.steps strong{display:block}
.qr{width:220px;max-width:100%;display:block;margin:12px auto;border:1px solid var(--line);border-radius:12px}.complaint-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.complaint-grid label{border:1px solid var(--line);border-radius:12px;padding:10px;font-size:13px;font-weight:800}.complaint-grid input{width:auto;margin-right:6px;min-height:0}
footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:12px;padding:20px 4px}footer a{color:var(--blue);text-decoration:none;font-weight:800}
@media(max-width:560px){.hero-logo{width:120px;max-width:48%}h1{font-size:34px}.grid{grid-template-columns:1fr}.hero{padding:24px 18px}.topbar{align-items:center}.brand img{width:92px;height:74px}.brand strong{font-size:25px}.brand small{font-size:12px}.top-actions{gap:5px}.lang,.help{padding:8px 9px}.actions{grid-template-columns:1fr}.admin-actions{justify-content:stretch}.admin-actions .btn{flex:1}.chips{grid-template-columns:1fr 1fr}.card{padding:18px}}
.tabs{display:flex;gap:7px;flex-wrap:wrap}.tab{border:1px solid #d4dee8;background:#fff;color:var(--navy);border-radius:12px;padding:9px 12px;font-weight:900;cursor:pointer}.tab[aria-selected="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}.admin-actions{display:flex;gap:8px;margin-bottom:14px}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.tile{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff;display:flex;flex-direction:column;gap:5px}.tile b{font-size:24px;color:var(--navy)}.tile span{font-size:12px;color:var(--muted)}.pill.orange{background:#fff1dc;color:#8a5200}.pill.grey{background:#eef1f4;color:#5f6b7a}@media(max-width:620px){.tiles{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}}
/* Guided customer order flow: simple, visual, and progressive. */
.wizard-head{margin-bottom:10px}.wizard-kicker{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:4px}.wizard-head h1{font-size:34px;margin:5px 0 7px}.wizard-progress{display:flex;gap:6px;margin:18px 0 10px}.wbar{height:5px;flex:1;border-radius:999px;background:#dfe6ee}.wbar.active{background:var(--blue)}
.wizard-form{margin:0}.wizard-step{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow)}.wizard-step.hidden{display:none}.step-count{font-size:11px;font-weight:900;letter-spacing:.09em;color:var(--blue);margin-bottom:6px}.wizard-step h2{font-size:27px;margin-bottom:5px}.wizard-actions{display:flex;gap:9px;margin-top:22px}.wizard-actions .btn{flex:1}.market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.market-card{position:relative;min-height:112px;border:1.5px solid #d4dee8;border-radius:18px;background:#fff;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer;text-align:center;transition:.15s ease}.market-card input{position:absolute;opacity:0;width:1px;height:1px}.market-card:has(input:checked){border-color:var(--blue);background:#eef7fd;box-shadow:inset 0 0 0 1px var(--blue)}.market-icon{font-size:30px;line-height:1}.market-name{font-weight:900;color:var(--navy)}
.upload-box{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:145px;border:2px dashed #b9c8d7;border-radius:18px;background:#f8fbfd;padding:18px;text-align:center;cursor:pointer;margin:18px 0}.upload-box:hover{border-color:var(--blue)}.upload-box input{position:absolute;opacity:0;width:1px;height:1px}.upload-icon{font-size:30px;margin-bottom:5px}.upload-box strong{color:var(--navy)}.upload-box small{color:var(--muted);margin-top:3px}
.size-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.size-choice{margin:0;min-height:68px}.size-choice small{font-weight:800}.home-delivery{display:flex;align-items:center;gap:13px;border:1.5px solid #bcd7e9;background:#f3f9fd;border-radius:17px;padding:15px;margin-top:15px}.big-icon{font-size:29px}.home-delivery strong{display:block;color:var(--navy);font-size:17px}.home-delivery small{display:block;color:var(--muted);margin-top:2px}.big-choice{padding:15px;margin:9px 0;min-height:70px}.option-icon{font-size:23px;width:30px;text-align:center}.big-choice:has(input:checked){background:#eef7fd}.quote-card{margin-top:17px;padding:17px;border-radius:18px;background:#f7fafc;border:1px solid var(--line)}.quote-label{font-size:10px;font-weight:900;letter-spacing:.1em;color:var(--muted)}.quote-total{font-size:32px;font-weight:950;color:var(--navy);line-height:1.1;margin:4px 0 11px}.quote-lines>div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:13px}.quote-lines span{color:var(--muted)}.quote-note{border-top:1px solid var(--line);margin:10px 0 0;padding-top:10px;font-size:13px;color:var(--muted)}
@media(max-width:560px){.wizard-step{padding:18px}.wizard-step h2{font-size:24px}.market-grid{grid-template-columns:1fr 1fr}.market-card{min-height:102px}.size-grid{grid-template-columns:1fr}.wizard-actions{position:relative}.wizard-actions .btn{min-width:0}.wizard-head h1{font-size:30px}}
.footer-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:100%;text-align:center}.footer-brand span{font-size:12px;font-weight:800;color:var(--muted)}.footer-brand img{width:92px;height:auto;display:block}
.receive-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.receive-options .big-choice{margin:0}.receive-options input{position:absolute;opacity:0;width:1px;height:1px}@media(max-width:560px){.receive-options{grid-template-columns:1fr}}

.help-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px;justify-content:center}.help-actions .btn{min-width:0}@media(max-width:560px){.help-actions{grid-template-columns:1fr}}

/* ---- v9 additions ---- */
[hidden]{display:none!important}
.dropoff{margin-top:16px;padding:14px 16px;border:1.5px solid #bcd7e9;background:#f3f9fd;border-radius:16px}
.dropoff-lines{display:flex;flex-direction:column;gap:2px;margin:6px 0 4px;color:var(--navy)}
.dropoff-lines b{font-size:17px;word-break:break-word}
.consent{margin-top:16px}.consent summary{cursor:pointer;font-weight:800;color:var(--blue-dark);font-size:13px}
.consent-check{display:flex;gap:10px;align-items:flex-start;margin-top:10px;font-size:14px;cursor:pointer}
.consent-check input{width:22px;min-height:22px;height:22px;margin:1px 0 0;flex:0 0 auto}
.pay-info{margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#f7fafc;text-align:center}
.pay-info .qr{width:240px}
.upload-box input[type=file]{width:100%;max-width:100%;margin-top:8px}
.notice a,.small a{color:inherit;font-weight:800}
/* staff apps */
.stack{display:flex;flex-direction:column;gap:16px}
.row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.orders{display:flex;flex-direction:column;gap:12px}
.ocard{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}
.ocard .top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.oref{font-weight:900;letter-spacing:.5px;color:var(--navy)}
.btn.ghost{background:#fff;color:var(--navy);border:1.5px solid #d4dee8;box-shadow:none}.btn.ghost:hover{background:#f3f6f9}
.btn.sm{min-height:38px;padding:7px 12px;font-size:13px;border-radius:11px}
.ok{color:var(--good)}.bad{color:var(--bad)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tab:focus-visible,.btn:focus-visible,.lang:focus-visible,.choice:focus-within,.market-card:focus-within,.upload-box:focus-within{outline:3px solid rgba(22,119,200,.45);outline-offset:2px}

/* v14 */
.pay-amount{margin:6px 0 12px;padding:12px 10px;border-radius:14px;background:#fff6e5;border:2px solid var(--orange);text-align:center}
.pay-amount span{display:block;font-size:14px;font-weight:800;color:var(--warn)}
.pay-amount b{display:block;font-size:36px;line-height:1.1;color:var(--navy);letter-spacing:-.5px;margin-top:2px}
.btn.ghost.danger{color:var(--bad);border-color:#f0c5c0}.btn.ghost.danger:hover{background:#fdf1f0}

.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
