:root{--bg:#f4f6f9;--ink:#17233d;--muted:#62718a;--panel:#fff;--primary:#164f91;--border:#dfe4ed;--green:#147b58}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:16px/1.5 system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink)}header{background:#fff;border-bottom:1px solid var(--border);padding:14px max(20px,calc((100vw - 1080px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}a{color:var(--primary)}.logo{font-weight:800;font-size:22px;text-decoration:none;color:var(--ink)}nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}nav a{text-decoration:none;font-size:14px}main{max-width:1080px;padding:28px 20px 80px;margin:auto}footer{padding:26px;text-align:center;color:var(--muted);font-size:12px}h1{font-size:2rem;line-height:1.2;margin:.2em 0 .5em}h2{margin:0 0 12px;font-size:1.25rem}h3{margin:18px 0 8px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:22px;margin-bottom:18px;box-shadow:0 5px 25px #15234208}.narrow{max-width:540px;margin:20px auto}.hero{background:#e7eef9;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px;border-radius:16px;margin-bottom:20px}.total{font-size:2.5rem;white-space:nowrap;font-weight:800;color:var(--primary)}.smalltotal{font-size:2rem}.eyebrow{text-transform:uppercase;font-weight:750;letter-spacing:.08em;font-size:12px;color:var(--muted)}.muted,small{color:var(--muted)}small{display:block;font-size:12px}.error,.success{border-radius:10px;padding:10px 15px;margin:14px 0}.error{background:#fee;color:#932424}.success{background:#e2f5ea;color:#176a47}.actions,.chips{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0 23px}.button,button{display:inline-block;cursor:pointer;font:inherit;text-decoration:none;background:var(--primary);color:#fff;border:none;border-radius:10px;padding:11px 17px;font-weight:650}button:hover,.button:hover{filter:brightness(.92)}.secondary{background:#e8edf5;color:var(--ink)}.danger{background:#fae4e3;color:#9e1f1f}.small{padding:7px 10px;font-size:13px}button:disabled{opacity:.4;cursor:not-allowed}label{display:block;font-size:14px;font-weight:650;margin-bottom:12px}input,select,textarea{display:block;width:100%;border:1px solid #c9d2e0;border-radius:9px;padding:11px;font:inherit;background:#fff;color:var(--ink);margin-top:5px}input[type=hidden]{display:none}input:focus,select:focus,textarea:focus{outline:2px solid #bdd3f5;border-color:var(--primary)}input[type=checkbox]{display:inline;width:auto;margin:0 6px 0 0}.pick{display:flex;align-items:center;gap:8px;font-weight:500}.pick input{width:auto;display:inline;margin:0}fieldset{border:1px solid var(--border);border-radius:10px;margin:0 0 12px;padding:10px 12px}legend{font-size:13px;font-weight:650;padding:0 6px}.check{display:flex;align-items:center;font-size:13px;font-weight:500;white-space:nowrap}.products,.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:14px}.product{margin:0}.price{font-weight:750;font-size:1.7rem;color:var(--primary)}.item{border-bottom:1px solid var(--border);padding:12px 0;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.item:last-child{border:0}.inline{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}.inline input{width:120px;padding:7px}.formrow{display:flex;align-items:end;flex-wrap:wrap;gap:10px}.formrow label{flex:1 1 150px}.formrow button{margin-bottom:12px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stats strong{font-size:28px}.tag{background:#edf2f8;color:#244568;border-radius:6px;padding:4px 7px;font-size:12px;display:inline-block}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:530px}td,th{text-align:left;padding:9px 8px;border-bottom:1px solid var(--border);vertical-align:top}td form{margin:0}th{font-size:12px;text-transform:uppercase;color:var(--muted)}.category-block{margin-bottom:28px}.category-head{display:flex;align-items:center;gap:14px;margin:8px 0 14px}.category-head h2{margin:0}.category-img{width:56px;height:56px;flex:0 0 56px;border-radius:14px;background:#e7eef9;padding:8px;object-fit:contain}.product h3{margin:0 0 6px;font-size:1.1rem}.profile-switch{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 16px}.profile-switch button:disabled{opacity:1;background:var(--green);cursor:default}
.header-duty{font-size:14px;font-weight:650}
.header-prices{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1 1 220px}
.header-prices .eyebrow{margin:0}
.header-prices .profile-switch{margin:0}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.section-head h2{margin:0}
.icon-add{width:46px;height:46px;padding:0;border-radius:14px;font-size:1.8rem;line-height:1;flex:0 0 auto}
.person-dialog{border:none;border-radius:18px;padding:22px;max-width:480px;width:calc(100vw - 24px);box-shadow:0 20px 60px #15234233}
.person-dialog::backdrop{background:#15234266}
.coaster-pick{appearance:none;background:transparent;color:inherit;border:0;border-radius:0;padding:0;margin:0;width:100%;text-align:left;font:inherit;box-shadow:none;display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:72px}
.coaster-pick:hover{filter:none}
.coaster-open{font-size:13px}
.qty-adjust{display:flex;align-items:center;gap:8px}
.qty-adjust form{margin:0}
.qty-adjust button{min-width:40px;padding:6px 10px}
.qty-n{min-width:1.6rem;text-align:center;font-weight:750}
.coaster.selected{outline:3px solid var(--primary);outline-offset:2px}
.pick-product{position:relative}
.pick-product.is-on{outline:2px solid var(--primary)}
.pick-qty{position:absolute;top:10px;right:10px;background:var(--primary);color:#fff;border-radius:999px;min-width:2rem;height:2rem;padding:0 8px;display:flex;align-items:center;justify-content:center;font-weight:750;font-size:14px}
.pick-qty[hidden],.pick-dec[hidden]{display:none}
.pick-dec{position:absolute;left:10px;bottom:10px}
.batch-dock{position:fixed;z-index:25;left:50%;transform:translateX(-50%);bottom:12px;width:min(720px,calc(100vw - 24px));background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 10px 40px #15234233;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.batch-dock[hidden]{display:none}
body.batch-open{padding-bottom:92px}
.lookup{position:relative;display:block}.lookup-menu{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);margin:0;padding:4px;list-style:none;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #15234222;max-height:240px;overflow:auto}.lookup-menu li[role=option]{padding:8px 10px;border-radius:8px;cursor:pointer;font-weight:500}.lookup-menu li[role=option]:hover,.lookup-menu li[aria-selected=true]{background:#e7eef9}.lookup-empty{padding:8px 10px;cursor:default}.lookup-chosen{font-weight:750;margin:0 0 12px}html.js .lookup-fallback{display:none}
.coasters{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.coaster{appearance:none;font:inherit;text-align:left;border:1px solid var(--border);border-radius:18px;padding:18px 16px;min-height:110px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;cursor:pointer;background:#fff;box-shadow:0 5px 20px #1523420a}
.coaster-add{align-items:center;justify-content:center;font-size:2.4rem;font-weight:400;line-height:1;color:var(--muted);background:transparent;border:1px dashed #b7c3d6;box-shadow:none}
.coaster-add:hover{filter:none;color:var(--primary);border-color:var(--primary);background:#f5f9ff}
.coaster.locked{filter:grayscale(1);opacity:.72;background:#eef1f6}
.coaster.open{border-color:#9bb8df;background:#f5f9ff}
.coaster-name{font-weight:750;font-size:1.05rem}
.coaster-sum{font-size:1.35rem;font-weight:800;color:var(--primary)}
.coaster.locked .coaster-sum{color:var(--muted);font-weight:650}
.pin-dialog{border:none;border-radius:18px;padding:0;max-width:360px;width:calc(100vw - 24px);box-shadow:0 20px 60px #15234233}
.pin-dialog::backdrop{background:#15234266}
.pin-dialog form{padding:22px}
.pin-display{letter-spacing:.35em;font-size:1.6rem;text-align:center;font-weight:700}
.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}
.pin-key{padding:16px 0;font-size:1.35rem;border-radius:12px;background:#e8edf5;color:var(--ink)}
.tap-order{padding:0;overflow:hidden}
.tap-product{width:100%;background:transparent;color:inherit;border:0;border-radius:16px;padding:18px;text-align:left;display:block}
.tap-product .price{margin:.2em 0}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:18px}
.stats-grid .panel{margin:0}
.range-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
@media(max-width:620px){.hero{display:block;padding:20px}.total{font-size:2rem}main{padding:20px 14px 60px}.stats{grid-template-columns:1fr 1fr}.panel{padding:16px}nav{gap:9px}.coasters{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}
