.bag-fab{position:fixed;right:28px;bottom:28px;z-index:50;display:flex;align-items:center;gap:12px;background:var(--cobalt);color:#fff;border:0;border-radius:var(--r);padding:14px 18px 14px 22px;font:600 .95rem "Work Sans";cursor:pointer;box-shadow:0 14px 30px -12px rgba(29,75,155,.6)}
.bag-fab b{background:var(--sun);color:var(--ink);min-width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:.85rem}
.bag-fab.bump{animation:bump .4s}@keyframes bump{40%{transform:scale(1.08)}}
.scrim{position:fixed;inset:0;background:rgba(28,27,43,.45);z-index:60}
.bag{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:100%;background:var(--paper);z-index:61;display:flex;flex-direction:column;transform:translateX(105%);transition:transform .3s ease;border-left:6px solid var(--sun)}
.bag.open{transform:none}
.bag header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}
.bag header b{font:800 1.4rem "Bricolage Grotesque";display:block}.bag header small{color:var(--mute);font-size:.82rem}
.x{border:0;background:var(--masa);width:36px;height:36px;border-radius:50%;font-size:1.3rem;cursor:pointer}
.bag-body{flex:1;overflow:auto;padding:18px 24px}.bag-foot{padding:16px 24px 22px;border-top:1px solid var(--line);background:#fff}
.lines{list-style:none;margin:0;padding:0}.lines li{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px dashed var(--line)}
.lines b{font-weight:600}.lines small{display:block;color:var(--mute);font-size:.8rem}.lp{font-weight:600;min-width:64px;text-align:right}.qty-t{font-weight:600;font-size:.88rem}
.rm{border:0;background:none;font-size:1.1rem;cursor:pointer;color:var(--mute)}
.step{display:flex;align-items:center;border:1.5px solid var(--ink);border-radius:var(--r)}.step button{border:0;background:none;width:30px;height:30px;cursor:pointer;font-size:1rem}.step output{min-width:22px;text-align:center;font-weight:600}
.lbl{font:600 .72rem "Work Sans";letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:20px 0 8px}
.chips{display:flex;gap:6px}.chips button{flex:1;border:1.5px solid var(--line);background:#fff;border-radius:var(--r);padding:8px 0;font:600 .85rem "Work Sans";cursor:pointer}.chips button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.sums{display:grid;grid-template-columns:1fr auto;gap:5px 10px;margin:0 0 14px;font-size:.9rem}.sums dt{color:var(--mute)}.sums dd{margin:0;text-align:right}.sums .tot{font:800 1.15rem "Bricolage Grotesque";color:var(--ink);padding-top:8px;border-top:1px solid var(--line)}
.sums .dep{color:var(--nopal);font-weight:600}.sums .sm{font-size:.82rem}.free{color:var(--nopal);font-weight:600}
.wide{width:100%;justify-content:center}.btn[disabled]{opacity:.45;cursor:not-allowed}
.or-call{display:block;text-align:center;margin-top:10px;font-size:.85rem;color:var(--mute)}
.empty{text-align:center;padding:60px 10px}.empty .serif{font-size:1.8rem;color:var(--cobalt);margin:0}
.demo{background:var(--ink);color:#e0dded;font-size:.78rem;padding:7px 12px;border-radius:var(--r);margin:0 0 10px}
.back{border:0;background:none;color:var(--cobalt);font-weight:600;cursor:pointer;padding:0;margin-bottom:6px}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:10px}.seg input{position:absolute;opacity:0}
.seg span{display:block;border:1.5px solid var(--line);border-radius:var(--r);padding:12px 14px;cursor:pointer;background:#fff}.seg b{display:block}.seg em{font-style:normal;font-size:.8rem;color:var(--mute)}
.seg input:checked+span{border-color:var(--cobalt);box-shadow:inset 0 0 0 1px var(--cobalt);background:#eef3fc}.seg .dis span{opacity:.45;cursor:not-allowed}
.nudge{background:#eaf4ec;color:var(--nopal);border-radius:var(--r);padding:10px 12px;font-size:.86rem;font-weight:500;margin:10px 0}
.info{background:var(--masa);border-radius:var(--r);padding:10px 12px;font-size:.84rem;margin:10px 0}
.warn{background:#fde9e4;color:#8e2a17;border-radius:var(--r);padding:10px 12px;font-size:.86rem;margin:10px 0}
.fld{display:block;font-size:.8rem;font-weight:600;color:var(--mute);margin-top:12px}.fld input,.fld select{display:block;width:100%;margin-top:5px;border:1.5px solid var(--line);border-radius:var(--r);padding:11px 12px;font:500 .95rem "Work Sans";background:#fff;color:var(--ink)}
.fld input:focus,.fld select:focus{outline:0;border-color:var(--cobalt)}.fld input.bad{border-color:var(--chili)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.addons{display:grid;gap:8px}.addon{display:flex;justify-content:space-between;border:1.5px dashed var(--sun);background:#fffaf0;border-radius:var(--r);padding:10px 14px;font:600 .88rem "Work Sans";cursor:pointer}.addon:hover{background:var(--sun2)}
.pay{margin-top:18px;border:1.5px solid var(--line);border-radius:var(--r);padding:12px 14px;display:flex;justify-content:space-between;align-items:center;font-weight:600;background:#fff}.pay small{color:var(--mute);font-weight:400}
.sheet{position:fixed;inset:0;z-index:70;background:rgba(28,27,43,.5);display:grid;place-items:center}.sheet[hidden]{display:none}
.sheet-card{position:relative;background:var(--paper);border-radius:var(--r);width:520px;max-width:94vw;max-height:92vh;overflow:auto;padding:32px;border-top:8px solid var(--sun)}
.sheet-card .x{position:absolute;right:16px;top:16px}.sheet-card h3{font-size:2rem}.opt-p{font-weight:700;margin:0 0 10px}
fieldset{border:0;padding:0;margin:14px 0}legend{font:600 .72rem "Work Sans";letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.chips2{display:flex;flex-wrap:wrap;gap:8px}.chips2 input{position:absolute;opacity:0}.chips2 span{display:block;border:1.5px solid var(--line);border-radius:99px;padding:7px 14px;font-size:.88rem;cursor:pointer;background:#fff}.chips2 input:checked+span{background:var(--cobalt);color:#fff;border-color:var(--cobalt)}
.qrow{display:flex;justify-content:space-between;align-items:center;margin:20px 0}
.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:10px 18px;border-radius:var(--r);font-size:.9rem;opacity:0;transition:.25s;z-index:80;pointer-events:none}.toast.on{opacity:1;transform:translate(-50%,0)}
.track .sheet-card{width:560px}.track h3{margin-bottom:2px}.eta{font:italic 1.3rem "Instrument Serif";color:var(--cobalt);margin:0 0 14px}
.dd{display:flex;align-items:center;gap:10px;margin-bottom:12px}.dd-logo{background:#eb1700;color:#fff;font:800 .8rem "Work Sans";padding:4px 10px;border-radius:4px}.dd small{color:var(--mute);font-size:.78rem}
.route{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font-size:.78rem;font-weight:600;margin-bottom:12px}
.road{position:relative;height:6px;background:repeating-linear-gradient(90deg,var(--line) 0 10px,transparent 10px 16px);border-radius:3px}.road i{position:absolute;top:-14px;font-style:normal;transform:translateX(-50%) scaleX(-1);transition:left 1s ease}
.pin{background:#fff;border:1px solid var(--line);border-radius:99px;padding:3px 9px}
.tl{list-style:none;margin:0 0 14px;padding:0}.tl li{display:grid;grid-template-columns:18px 1fr auto;gap:2px 12px;align-items:center;padding:7px 0;position:relative;color:var(--mute)}
.tl li span{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);background:#fff}.tl li.done{color:var(--ink)}.tl li.done span{background:var(--nopal);border-color:var(--nopal)}
.tl li.now{color:var(--ink)}.tl li.now b{color:var(--chili)}.tl li.now span{border-color:var(--chili);background:var(--chili);box-shadow:0 0 0 4px rgba(210,70,43,.2)}
.tl em{font-style:normal;font-size:.8rem}.tl small{grid-column:2/4;font-size:.78rem;color:var(--mute)}
.sms{background:#eef3fc;border-radius:14px 14px 14px 4px;padding:10px 14px;margin-bottom:14px}.sms small{color:var(--mute);font-size:.72rem}.sms p{margin:2px 0 0;font-size:.9rem}
.sums.mini{font-size:.84rem}.fine{font-size:.74rem;color:var(--mute);text-align:center}
