:root{--blue:#157ee8;--blue-dark:#0b58ba;--cyan:#37b9f2;--ink:#10243d;--muted:#667b90;--subtle:#8b9cad;--line:rgba(125,158,188,.22);--glass:rgba(255,255,255,.66);--green:#0ca878;--orange:#e98229;--red:#dd4f61;--purple:#7668ee;--shadow:0 20px 58px rgba(35,88,137,.13);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--nav-height:78px}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{min-height:100%;background:#ddecfa}
body{margin:0;min-height:100vh;color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(circle at 5% 2%,rgba(92,198,255,.32),transparent 29%),radial-gradient(circle at 96% 27%,rgba(128,153,255,.2),transparent 33%),linear-gradient(158deg,#f5fbff 0%,#e8f4ff 51%,#f0f8ff 100%);overscroll-behavior-y:none}
body.overlay-open{overflow:hidden}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.48}
svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
.hidden{display:none!important}
.liquid-card{position:relative;border:1px solid rgba(255,255,255,.84);background:linear-gradient(142deg,rgba(255,255,255,.82),rgba(255,255,255,.48));box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%)}
.app-shell{width:min(100%,520px);min-height:100vh;margin:0 auto;padding:0 16px calc(var(--nav-height) + 24px + var(--safe-bottom));position:relative}
.topbar{height:calc(82px + var(--safe-top));padding-top:var(--safe-top);display:flex;align-items:center;justify-content:space-between}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:.055em;color:#71869c;text-transform:uppercase}
.brand-name{font-size:24px;line-height:1.1;font-weight:700;letter-spacing:-.025em}
.network-pill{height:34px;padding:0 11px;border-radius:999px;display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.82);color:#557188;font-size:11px;backdrop-filter:blur(16px)}
.network-pill span{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(12,168,120,.12)}.network-pill.offline span{background:var(--orange);box-shadow:0 0 0 4px rgba(233,130,41,.12)}
.page-stack{position:relative}.app-view{display:none;animation:fade-up .22s ease both}.app-view.active{display:block}@keyframes fade-up{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.page-title{margin:7px 2px 19px}.page-title h2,.section-heading h2{font-size:22px;line-height:1.18;margin:3px 0 0;font-weight:700;letter-spacing:-.02em}.page-title p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.row-title,.scan-title{display:flex;align-items:center;justify-content:space-between;gap:14px}.title-actions{display:flex;gap:7px;align-items:center}
.round-button,.icon-button{width:48px;height:48px;border:1px solid rgba(255,255,255,.86);border-radius:17px;background:rgba(255,255,255,.68);display:grid;place-items:center;color:var(--blue);box-shadow:0 10px 27px rgba(23,105,184,.13);backdrop-filter:blur(18px)}.round-button:active,.icon-button:active{transform:scale(.96)}.round-button.add,.round-button.play{background:linear-gradient(145deg,#239bef,#1166ce);color:white;border:0}.chip-button{height:44px;padding:0 12px;border:1px solid rgba(255,255,255,.85);border-radius:15px;background:rgba(255,255,255,.65);display:flex;align-items:center;gap:6px;color:var(--blue-dark);font-weight:600;font-size:13px}.chip-button svg{width:19px}
.primary-button,.secondary-button,.success-button,.danger-button{min-height:54px;border:0;border-radius:17px;padding:12px 16px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px}.primary-button{color:#fff;background:linear-gradient(135deg,#249bf0,#0e61ca);box-shadow:0 12px 28px rgba(18,111,205,.23)}.secondary-button{background:#e9f3fb;color:#326b98}.success-button{color:#fff;background:linear-gradient(135deg,#26bb8f,#078b65);box-shadow:0 11px 25px rgba(7,139,101,.2)}.danger-button{color:#fff;background:linear-gradient(135deg,#ea6774,#cf3d50)}.full{width:100%}.text-button,.danger-text-button{border:0;background:none;padding:7px 0;color:var(--blue);font-weight:600}.danger-text-button{color:var(--red)}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.top-actions{margin:0 0 12px}.quick-card{min-height:72px;border:1px solid rgba(255,255,255,.82);border-radius:22px;padding:12px;background:rgba(255,255,255,.64);display:flex;align-items:center;gap:10px;text-align:left;box-shadow:0 11px 26px rgba(39,98,153,.08)}.quick-card b,.quick-card small{display:block}.quick-card b{font-size:13px;line-height:1.25}.quick-card small{font-size:10px;color:var(--muted);line-height:1.35}.quick-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:#e3f2ff;color:var(--blue);flex:0 0 auto}.quick-icon svg{width:20px}
.hero-card{border-radius:29px;padding:20px;margin-bottom:11px;overflow:hidden}.hero-card:after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-72px;top:-84px;background:radial-gradient(circle,rgba(58,171,242,.23),transparent 67%)}.hero-top{display:flex;align-items:flex-end;justify-content:space-between}.hero-top>span:first-child{display:flex;align-items:baseline;gap:7px}.hero-top small{font-size:13px;color:var(--muted)}.hero-top strong{font-size:47px;line-height:1;font-weight:700;letter-spacing:-.045em}.hero-top em{font-size:13px;color:var(--muted);font-style:normal}.progress-number{font-size:19px;font-weight:700;color:var(--blue-dark)}.progress-track{height:9px;border-radius:999px;background:#dbeaf5;margin:19px 0 10px;overflow:hidden}.progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1c93ed,#39c0ed);transition:width .35s ease}.hero-foot{display:flex;align-items:center;justify-content:space-between;font-size:12px}.hero-foot span{color:var(--muted)}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.stat-card{min-height:116px;padding:14px;border:0;border-radius:23px;display:flex;flex-direction:column;text-align:left;color:white;box-shadow:0 15px 34px rgba(29,105,177,.15);overflow:hidden;position:relative}.stat-card:after{content:"";position:absolute;width:76px;height:76px;border-radius:50%;right:-28px;top:-27px;background:rgba(255,255,255,.18)}.stat-card.blue{background:linear-gradient(145deg,#279ef0,#1465d0)}.stat-card.green{background:linear-gradient(145deg,#35c99b,#0a9870)}.stat-card.orange{background:linear-gradient(145deg,#ffad58,#e67526)}.stat-card span{font-size:12px;font-weight:500;opacity:.92}.stat-card strong{font-size:36px;line-height:1.05;margin-top:auto;font-weight:700;letter-spacing:-.04em}.stat-card small{font-size:9px;opacity:.78}.stat-card:active{transform:scale(.975)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:25px 2px 12px}.section-heading .text-button{font-size:12px}.empty-card{padding:26px 17px;text-align:center;border:1px dashed #bad2e7;border-radius:24px;color:var(--muted);background:rgba(255,255,255,.38)}.empty-card svg{display:block;margin:0 auto 9px;width:32px;height:32px;color:#7fa7c9}
.next-house-card{border-radius:27px;padding:18px;overflow:hidden}.house-position{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e4f2ff;color:var(--blue-dark);font-size:11px;font-weight:600}.next-house-card h3{font-size:23px;margin:11px 0 2px}.next-house-card p{margin:0;color:var(--muted);font-size:13px}.next-house-meta{display:flex;align-items:center;justify-content:space-between;margin-top:13px}.parcel-count{font-weight:700;color:var(--blue-dark)}.next-house-card .primary-button{margin-top:14px}
.group-summary-list{display:grid;gap:9px}.summary-row{width:100%;display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid rgba(255,255,255,.76);border-radius:19px;background:rgba(255,255,255,.6);text-align:left}.summary-dot{width:10px;height:10px;border:3px solid #83c1f3;border-radius:50%;box-sizing:content-box}.summary-row .grow{flex:1}.summary-row b,.summary-row small{display:block}.summary-row small{font-size:11px;color:var(--muted)}.summary-progress{width:62px}.summary-progress strong{display:block;text-align:right;font-size:17px}.mini-progress{height:4px;border-radius:9px;background:#dcebf6;overflow:hidden}.mini-progress i{display:block;height:100%;background:var(--blue);border-radius:inherit}

.camera-card{height:min(70vw,350px);min-height:264px;border-radius:30px;overflow:hidden;background:#102539}.camera-card video,.camera-card>img{width:100%;height:100%;object-fit:cover}.scan-frame{position:absolute;inset:22% 8%;border:2px solid rgba(255,255,255,.86);border-radius:20px;box-shadow:0 0 0 200vmax rgba(4,26,47,.25);pointer-events:none}.scan-frame span{position:absolute;left:9%;right:9%;top:50%;height:2px;background:#52d2ff;box-shadow:0 0 17px #3ac6ff;animation:scanner 2s ease-in-out infinite}@keyframes scanner{0%,100%{transform:translateY(-40px)}50%{transform:translateY(40px)}}.camera-state{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:10px;color:#d8e8f3;background:rgba(9,29,46,.7)}.camera-state.error{color:#ffd5d9}.mini-spinner{width:30px;height:30px;border-radius:50%;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;margin:auto;animation:spin .8s linear infinite}.camera-permission{position:absolute;left:50%;top:60%;transform:translate(-50%,-50%);min-height:46px;border:0;border-radius:15px;padding:0 16px;background:white;color:var(--blue-dark);font-weight:600}.detected-pill{position:absolute;top:13px;left:50%;transform:translateX(-50%);max-width:90%;height:38px;padding:0 12px;border-radius:999px;display:flex;align-items:center;gap:7px;background:rgba(10,164,116,.9);color:white;box-shadow:0 8px 24px rgba(0,65,44,.24);font:600 12px ui-monospace,SFMono-Regular,monospace}.detected-pill svg{width:17px}.camera-tools{position:absolute;left:14px;right:14px;bottom:12px;display:grid;grid-template-columns:1fr 66px 1fr;align-items:center}.camera-tool{width:46px;height:46px;border:1px solid rgba(255,255,255,.4);border-radius:16px;background:rgba(10,31,48,.48);color:#fff;display:grid;place-items:center;backdrop-filter:blur(13px)}.camera-tool:last-child{justify-self:end}.camera-tool.active{background:#fff;color:var(--blue)}.shutter{width:66px;height:66px;border:4px solid rgba(255,255,255,.94);border-radius:50%;padding:5px;background:transparent}.shutter span{display:block;width:100%;height:100%;border-radius:50%;background:white}.scan-meta{min-height:34px;padding:7px 3px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}
.form-card{padding:18px;border-radius:25px}.field-label{display:flex;align-items:baseline;justify-content:space-between;margin:14px 2px 6px;color:#5f7489;font-size:12px;font-weight:500}.field-label:first-child{margin-top:0}.field-label small{font-size:10px;color:#93a3b2}.text-input{width:100%;min-height:50px;padding:11px 13px;border:1px solid #d5e4f0;border-radius:15px;background:rgba(255,255,255,.8);outline:none;font-size:16px}.text-input:focus{border-color:#69b6ef;box-shadow:0 0 0 4px rgba(41,143,224,.11);background:#fff}.tracking-input{text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600}.text-area{resize:vertical;min-height:72px;line-height:1.5}.choice-button{width:100%;min-height:58px;padding:10px 13px;border:1px solid #d5e4f0;border-radius:16px;background:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:space-between;text-align:left}.choice-button b,.choice-button small{display:block}.choice-button small{font-size:11px;color:var(--muted);margin-top:2px}.choice-button svg{width:18px;color:#7790a5}.selected-card{margin-top:8px;padding:11px 13px;border-radius:15px;background:#e8f4fd;display:flex;align-items:center;gap:10px}.selected-card span{flex:1}.selected-card b,.selected-card small{display:block}.selected-card small{font-size:11px;color:var(--muted)}.ocr-status{padding:10px 12px;margin-bottom:13px;border-radius:14px;background:#edf6fc;color:#55748c;font-size:12px}.ocr-status.success{background:#e6f8f1;color:#137b59}.ocr-status.error{background:#fff0f1;color:#a53e4a}

.route-hint{padding:14px;border-radius:20px;display:flex;align-items:center;gap:12px;margin-bottom:12px}.route-hint>svg{color:var(--blue)}.route-hint span{display:block}.route-hint b,.route-hint small{display:block}.route-hint small{color:var(--muted);font-size:11px}.route-groups{display:grid;gap:12px}.route-card{width:100%;border:1px solid rgba(255,255,255,.84);border-radius:26px;padding:0;background:linear-gradient(142deg,rgba(255,255,255,.82),rgba(255,255,255,.48));box-shadow:var(--shadow);overflow:hidden;text-align:left}.route-card-head{padding:17px;display:flex;gap:12px;align-items:center}.route-index{width:42px;height:42px;border-radius:15px;background:linear-gradient(145deg,#299ced,#1264ca);color:#fff;display:grid;place-items:center;font-weight:700}.route-card .grow{flex:1}.route-card h3{margin:0;font-size:18px}.route-card p{margin:2px 0 0;color:var(--muted);font-size:11px}.route-totals{text-align:right}.route-totals strong,.route-totals small{display:block}.route-totals strong{font-size:20px}.route-totals small{font-size:10px;color:var(--muted)}.moo-pills{display:flex;flex-wrap:wrap;gap:5px;padding:0 17px 13px}.moo-pill,.tracking-chip{padding:5px 8px;border-radius:999px;background:rgba(220,239,253,.78);color:#416e90;font-size:10px;font-weight:600}.route-progress{height:5px;background:#e0edf6}.route-progress span{display:block;height:100%;background:linear-gradient(90deg,#2498ec,#34c08c)}

.search-wrap{position:relative;display:block;margin-bottom:13px}.search-wrap>svg{position:absolute;z-index:1;left:13px;top:50%;transform:translateY(-50%);width:19px;color:#8095a7}.search-wrap input{padding-left:40px}.customer-list{display:grid;gap:10px}.customer-swipe{position:relative;border-radius:22px;overflow:hidden}.swipe-actions{position:absolute;inset:0;display:flex;justify-content:space-between}.swipe-actions button{width:86px;border:0;color:white;font-weight:600}.swipe-actions .delete{background:var(--red)}.swipe-actions .edit{background:var(--blue)}.customer-card{position:relative;width:100%;min-height:78px;padding:13px 12px;border:1px solid rgba(255,255,255,.8);border-radius:22px;background:rgba(255,255,255,.72);display:flex;align-items:center;gap:11px;text-align:left;transition:transform .2s ease;touch-action:pan-y}.customer-avatar{width:44px;height:44px;border-radius:15px;background:linear-gradient(145deg,#e0f2ff,#cce7fb);display:grid;place-items:center;color:#317caf;font-weight:700;flex:0 0 auto}.customer-card .grow{flex:1;min-width:0}.customer-card b,.customer-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-card small{font-size:11px;color:var(--muted)}.customer-count{font-size:10px;color:var(--blue-dark);margin-top:3px}.customer-menu{width:42px;height:42px;border:0;border-radius:13px;background:#edf5fb;color:#668198;display:grid;place-items:center;flex:0 0 auto}.customer-menu svg{width:20px}

.menu-card{width:100%;border-radius:23px;padding:16px;margin-bottom:11px;display:flex;align-items:center;gap:13px;text-align:left;color:inherit}.menu-icon{width:46px;height:46px;border-radius:16px;background:#e4f2fe;color:var(--blue);display:grid;place-items:center;flex:0 0 auto}.menu-card span:nth-child(2){flex:1}.menu-card b,.menu-card small{display:block}.menu-card b{font-size:15px}.menu-card small{font-size:11px;color:var(--muted);margin-top:2px}.chevron{width:19px;color:#8aa0b3}.area-card{padding:18px;border-radius:23px;margin-top:18px}.area-card strong,.area-card small{display:block}.area-card strong{font-size:17px;margin-top:4px}.area-card small{color:var(--muted)}.app-status-row{display:flex;align-items:center;justify-content:space-between;padding:15px 3px;color:var(--muted);font-size:11px}.app-status-row span:first-child{display:flex;align-items:center;gap:7px}.app-status-row i{width:8px;height:8px;border-radius:50%;background:var(--green)}.danger-text-button{display:block;margin:10px auto 22px}

.bottom-nav{position:fixed;z-index:30;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,520px);height:calc(var(--nav-height) + var(--safe-bottom));padding:7px 9px var(--safe-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(247,252,255,.86);border-top:1px solid rgba(255,255,255,.82);box-shadow:0 -12px 38px rgba(41,90,131,.08);backdrop-filter:blur(25px) saturate(150%);-webkit-backdrop-filter:blur(25px) saturate(150%)}.nav-item{border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#8295a7;font-size:10px}.nav-item svg{width:23px;height:23px}.nav-item.active{color:var(--blue);font-weight:600}.nav-item.active svg{stroke-width:2.3}

.overlay-layer{position:fixed;z-index:70;inset:0;display:flex;align-items:flex-end;justify-content:center}#sheet-layer{z-index:85}#choice-layer{z-index:100}#payment-layer{z-index:95}#confirm-layer{z-index:110}.overlay-backdrop{position:absolute;inset:0;border:0;background:rgba(20,47,70,.32);backdrop-filter:blur(5px)}.bottom-sheet{position:relative;z-index:1;width:min(100%,520px);max-height:92dvh;border:1px solid rgba(255,255,255,.86);border-radius:30px 30px 0 0;background:rgba(245,251,255,.95);box-shadow:0 -25px 80px rgba(18,60,97,.24);backdrop-filter:blur(27px) saturate(145%);animation:sheet-up .23s ease both;overflow:hidden;padding-bottom:var(--safe-bottom)}@keyframes sheet-up{from{transform:translateY(100%)}to{transform:none}}.sheet-grabber{width:38px;height:4px;border-radius:999px;background:#bed0df;margin:8px auto 2px}.sheet-head{height:69px;padding:8px 16px 10px 19px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.sheet-head h3,.full-head h3{font-size:20px;margin:2px 0 0}.close-button{width:46px;height:46px;border:0;border-radius:15px;background:#e8f1f8;color:#567188;display:grid;place-items:center;flex:0 0 auto}.close-button:active{transform:scale(.95)}.sheet-body{max-height:calc(92dvh - 76px - var(--safe-bottom));overflow:auto;padding:16px;overscroll-behavior:contain}.sheet-footer{padding:12px 16px;border-top:1px solid var(--line);background:rgba(248,252,255,.92)}.sheet-footer:not(.hidden)+.sheet-body{padding-bottom:90px}.choice-layer{z-index:100}.choice-sheet{max-height:78dvh}.sheet-search{margin:12px 15px 8px}.choice-list{max-height:calc(78dvh - 174px);overflow:auto;padding:0 12px 12px}.choice-option{width:100%;min-height:64px;padding:10px 11px;border:0;border-bottom:1px solid var(--line);background:transparent;display:flex;align-items:center;gap:11px;text-align:left}.choice-option .grow{flex:1}.choice-option b,.choice-option small{display:block}.choice-option small{font-size:11px;color:var(--muted)}.choice-option .check{width:25px;color:var(--blue);opacity:0}.choice-option.selected{background:#e9f5fe;border-radius:16px}.choice-option.selected .check{opacity:1}.choice-sheet>.secondary-button{width:calc(100% - 30px);margin:0 15px 13px}.choice-sheet>.secondary-button svg{width:19px}
.confirm-layer{z-index:90;align-items:center;padding:18px}.confirm-sheet{z-index:1;width:min(100%,410px);padding:24px;border-radius:28px;text-align:center}.confirm-icon{width:52px;height:52px;margin:0 auto 13px;border-radius:17px;background:#fff0e5;color:var(--orange);display:grid;place-items:center}.confirm-sheet h3{margin:0;font-size:21px}.confirm-sheet p{color:var(--muted);line-height:1.5;font-size:13px}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.full-layer{z-index:75;align-items:stretch;background:linear-gradient(160deg,#eff9ff,#e6f3ff)}.full-panel{width:min(100%,520px);margin:0 auto;min-height:100dvh;padding:0 16px calc(20px + var(--safe-bottom));overflow:auto}.full-head{height:calc(72px + var(--safe-top));padding-top:var(--safe-top);display:grid;grid-template-columns:48px 1fr 78px;align-items:center;gap:10px}.full-head>div{text-align:center}.full-head>button:last-child{justify-self:end}.payment-account{text-align:center;color:var(--muted);font-size:12px}.context-chip{width:max-content;max-width:100%;margin:0 auto 7px;padding:6px 10px;border-radius:999px;background:#e2f1fd;color:var(--blue-dark);font-size:11px}.amount-display{height:122px;display:flex;align-items:center;justify-content:center;gap:7px}.amount-display span{font-size:29px;color:#5280a4}.amount-display strong{font-size:58px;line-height:1;font-weight:700;letter-spacing:-.05em;color:#0d3d68}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.keypad button{height:61px;border:1px solid rgba(255,255,255,.86);border-radius:20px;background:rgba(255,255,255,.7);box-shadow:0 7px 18px rgba(43,93,138,.07);font-size:22px;font-weight:600}.keypad button:active{background:#dceeff;transform:scale(.97)}.keypad .enter-key{grid-column:1/-1;color:#fff;background:linear-gradient(135deg,#279deb,#0e65cf);font-size:16px}.qr-card{position:relative;padding:18px 16px 20px;border-radius:29px;background:#fff;text-align:center;box-shadow:0 20px 55px rgba(35,88,137,.14)}.qr-white{background:#fff;padding:8px;border-radius:17px}.qr-card canvas{display:block;width:min(100%,270px)!important;height:auto!important;margin:auto}.qr-card>strong,.qr-card>b,.qr-card>span{display:block}.qr-card>strong{font-size:30px;font-weight:700;margin-top:7px}.qr-card>b{font-size:14px}.qr-card>span{font-size:11px;color:var(--muted)}.qr-full-button{position:absolute;z-index:2;right:12px;top:12px;width:43px;height:43px;border:0;border-radius:14px;background:#eaf3fa;color:var(--blue);display:grid;place-items:center}.split-actions,.delivery-nav{display:grid;grid-template-columns:1fr 1fr;gap:9px}.qr-card .success-button{margin-top:14px}.qr-card .split-actions{margin-top:9px}.qr-card.fullscreen-qr{position:fixed;z-index:120;inset:0;border-radius:0;padding:calc(30px + var(--safe-top)) 18px calc(20px + var(--safe-bottom));display:flex;flex-direction:column;justify-content:center}.qr-card.fullscreen-qr canvas{width:min(88vw,420px)!important}
.delivery-panel{overflow:hidden}.delivery-counter{justify-self:end;font-weight:700;color:var(--blue-dark)}.delivery-card{min-height:calc(100dvh - 190px - var(--safe-top));border-radius:30px;padding:20px;display:flex;flex-direction:column;touch-action:pan-y;transition:transform .2s ease,opacity .2s ease}.delivery-card.swipe-left{transform:translateX(-36px);opacity:.2}.delivery-card.swipe-right{transform:translateX(36px);opacity:.2}.delivery-number{font-size:13px;color:var(--muted)}.delivery-number strong{display:block;font-size:57px;line-height:1;font-weight:700;color:var(--blue-dark);letter-spacing:-.05em}.delivery-card h2{font-size:27px;margin:16px 0 2px}.delivery-address{color:var(--muted)}.delivery-phone{display:inline-flex;align-items:center;gap:6px;color:var(--blue);text-decoration:none;margin-top:7px}.delivery-trackings{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}.tracking-chip{border:0;font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;min-height:35px}.delivery-notes{display:grid;gap:6px}.note-chip{padding:8px 10px;border-radius:12px;background:#fff5dc;color:#795a12;font-size:11px}.delivery-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:auto}.delivery-actions .wide{grid-column:1/-1}.delivery-nav{margin-top:10px}

.parcel-list,.house-list,.history-list,.settings-list{display:grid;gap:9px}.parcel-row,.house-card,.history-row,.settings-section{width:100%;border:1px solid rgba(255,255,255,.78);border-radius:20px;background:rgba(255,255,255,.64);padding:13px;text-align:left}.parcel-row{display:flex;gap:11px;align-items:center}.parcel-thumb{width:55px;height:55px;border-radius:14px;object-fit:cover;background:#dfeef8;flex:0 0 auto}.parcel-placeholder{width:55px;height:55px;border-radius:14px;background:#e7f1f8;display:grid;place-items:center;color:#8ba5ba;flex:0 0 auto}.parcel-row .grow,.house-card .grow{flex:1;min-width:0}.parcel-row b,.parcel-row small,.history-row b,.history-row small{display:block}.parcel-row b{font:600 12px ui-monospace,SFMono-Regular,monospace;overflow-wrap:anywhere}.parcel-row small,.history-row small{font-size:11px;color:var(--muted)}.status-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:600}.status-chip.pending{background:#e5f1ff;color:#246ba9}.status-chip.delivered{background:#ddf7ed;color:#087c57}.status-chip.failed{background:#fff0e3;color:#a65b1d}.parcel-row .status-chip{align-self:flex-start}.filter-chips{display:flex;gap:7px;overflow:auto;padding-bottom:5px;margin-bottom:10px;scrollbar-width:none}.filter-chip{min-height:39px;padding:0 12px;border:1px solid #d7e6f1;border-radius:999px;background:#fff;color:#627b90;white-space:nowrap;font-size:12px}.filter-chip.active{background:var(--blue);border-color:var(--blue);color:#fff}.detail-photo{width:100%;max-height:360px;object-fit:cover;border-radius:22px;background:#dcebf6}.photo-expiry{display:block;margin:7px 2px 14px;color:var(--orange);font-size:11px}.detail-hero{padding:15px;border-radius:21px;background:linear-gradient(145deg,#e7f4ff,#f6fbff);margin-bottom:12px}.detail-hero h4{font:700 17px ui-monospace,SFMono-Regular,monospace;margin:7px 0}.detail-section{padding:13px 2px;border-bottom:1px solid var(--line)}.detail-section:last-child{border-bottom:0}.detail-section label{display:block;font-size:10px;color:var(--subtle);margin-bottom:3px}.detail-section b,.detail-section span{display:block}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-grid .detail-section{border:0;padding:10px;border-radius:14px;background:#edf5fb}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.action-grid .wide{grid-column:1/-1}.timeline{border-left:2px solid #d7e6f1;margin:10px 0 0 7px;padding-left:15px}.timeline-event{position:relative;padding:0 0 13px}.timeline-event:before{content:"";position:absolute;left:-21px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--blue);border:3px solid #edf7ff}.timeline-event b,.timeline-event small{display:block}.timeline-event small{font-size:10px;color:var(--muted)}
.house-card{display:flex;align-items:center;gap:11px}.house-order{width:40px;height:40px;border-radius:14px;background:#e3f2fd;color:var(--blue-dark);display:grid;place-items:center;font-weight:700}.house-card b,.house-card small{display:block}.house-card small{font-size:11px;color:var(--muted)}.house-count{font-size:12px;font-weight:700;color:var(--blue)}.order-actions{display:flex;gap:5px;margin-top:8px}.order-actions button{min-width:44px;height:44px;border:0;border-radius:13px;background:#e9f3fb;color:#3576aa;font-weight:700}.house-detail-head h3{font-size:24px;margin:5px 0}.house-detail-head p{color:var(--muted);margin:0}.history-row{display:grid;grid-template-columns:62px 1fr auto;gap:9px;align-items:center}.history-time{font-size:11px;color:var(--muted)}
.settings-section{padding:0;overflow:hidden}.settings-section>button{width:100%;min-height:64px;padding:13px;border:0;background:transparent;display:flex;align-items:center;gap:11px;text-align:left}.settings-section>button>span:nth-child(2){flex:1}.settings-section>button b,.settings-section>button small{display:block}.settings-section>button small{font-size:10px;color:var(--muted)}.settings-content{padding:0 13px 14px;border-top:1px solid var(--line)}.setting-row{min-height:58px;padding:10px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.setting-row:last-child{border-bottom:0}.setting-row>span:first-child{flex:1}.setting-row b,.setting-row small{display:block}.setting-row small{font-size:10px;color:var(--muted)}.toggle{width:50px;height:30px;border:0;border-radius:999px;background:#cbd9e4;padding:3px;transition:.2s}.toggle:before{content:"";display:block;width:24px;height:24px;border-radius:50%;background:white;box-shadow:0 2px 7px rgba(0,0,0,.15);transition:.2s}.toggle.active{background:var(--blue)}.toggle.active:before{transform:translateX(20px)}.village-admin-row{padding:11px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px}.village-admin-row .grow{flex:1}.village-admin-row b,.village-admin-row small{display:block}.village-admin-row small{font-size:10px;color:var(--muted)}.mini-action{width:44px;height:44px;border:0;border-radius:13px;background:#e8f2f9;color:#4d7798;display:grid;place-items:center}.mini-action svg{width:18px}.form-stack{display:grid;gap:12px}.form-stack .field-label{margin-bottom:-7px}.checkbox-row{display:flex;align-items:center;gap:9px}.checkbox-row input{width:20px;height:20px}.inline-note{padding:10px 12px;border-radius:13px;background:#edf5fb;color:var(--muted);font-size:11px}.failure-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.reason-button{min-height:50px;border:1px solid #d6e5f1;border-radius:15px;background:#fff;text-align:left;padding:9px 11px;font-size:12px}.reason-button.selected{border-color:var(--orange);background:#fff4e9;color:#a75b1d}.sticky-actions{position:sticky;bottom:0;padding:11px 0 2px;background:linear-gradient(transparent,#f6fbff 22%)}

.login-screen{min-height:100vh;padding:calc(48px + var(--safe-top)) 18px 30px;display:grid;place-items:center}.login-card{width:min(100%,420px);border-radius:32px;padding:30px;text-align:center}.app-mark{width:64px;height:64px;border-radius:22px;margin:0 auto 15px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#2aa1ee,#0c61c9);box-shadow:0 15px 35px rgba(17,103,195,.25)}.app-mark svg{width:33px;height:33px}.login-card h1{font-size:30px;margin:0}.login-card>p{margin:2px 0 25px;color:var(--muted)}.login-card form{text-align:left}.install-help{display:inline-block;margin-top:17px;color:var(--blue);font-size:12px;text-decoration:none}
.toast{position:fixed;z-index:140;left:50%;bottom:calc(93px + var(--safe-bottom));transform:translate(-50%,20px);width:max-content;max-width:calc(100% - 32px);padding:11px 16px;border-radius:15px;background:#173650;color:#fff;box-shadow:0 14px 34px rgba(10,42,69,.25);font-size:12px;opacity:0;pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#a83f4c}.loading{position:fixed;z-index:150;inset:0;background:rgba(236,247,255,.62);display:grid;place-content:center;gap:10px;text-align:center;backdrop-filter:blur(3px);font-size:12px;color:var(--muted)}.spinner{width:42px;height:42px;border-radius:50%;border:4px solid #b8ddf8;border-top-color:var(--blue);animation:spin .7s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}.update-banner{position:fixed;z-index:110;left:50%;bottom:calc(153px + var(--safe-bottom));transform:translateX(-50%);width:min(calc(100% - 24px),490px);min-height:54px;padding:9px 11px 9px 15px;border-radius:18px;background:#155e9f;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:0 15px 38px rgba(10,42,69,.28);font-size:12px}.update-banner button{min-height:38px;border:0;border-radius:12px;padding:0 10px;background:#fff;color:var(--blue-dark);font-weight:600;display:flex;align-items:center;gap:5px}
@media(min-width:700px){body:before{content:"";position:fixed;inset:0;background:linear-gradient(90deg,rgba(38,112,178,.08),transparent 30%,transparent 70%,rgba(38,112,178,.08));pointer-events:none}.app-shell{box-shadow:0 0 90px rgba(37,90,136,.1)}}
@media(max-width:370px){.app-shell{padding-left:12px;padding-right:12px}.stat-card{padding:12px 10px}.stat-card strong{font-size:33px}.quick-card{padding:10px 9px;gap:7px}.quick-icon{width:34px;height:34px}.hero-top strong{font-size:43px}.amount-display strong{font-size:50px}.full-panel{padding-left:12px;padding-right:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

/* RouteDrop V6 base — mobile-only white/blue UI, optimized for low-cost phones */
:root{--shadow:0 10px 28px rgba(31,91,143,.09)}
html,body{max-width:100%;overflow-x:hidden}
body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:linear-gradient(180deg,#f7fbff 0%,#eaf5ff 100%)}
button,input,textarea{font-family:inherit;max-width:100%}
.app-shell,.page-stack,.app-view,.full-panel,.sheet-body,.row-title>div,.scan-title>div,.grow{min-width:0}
.app-shell{overflow-x:hidden}
.topbar{justify-content:flex-start;height:calc(76px + var(--safe-top))}
.app-view{animation:v4-fade .14s ease both}
@keyframes v4-fade{from{opacity:.35}to{opacity:1}}
.liquid-card,.route-card,.summary-row,.quick-card,.customer-card,.parcel-row,.house-card,.history-row,.settings-section{background:#fff;border-color:#dbe9f5;box-shadow:var(--shadow);backdrop-filter:none;-webkit-backdrop-filter:none}
.round-button,.icon-button,.chip-button,.camera-tool{backdrop-filter:none;-webkit-backdrop-filter:none}
.bottom-nav{background:#f9fcff;border-color:#dce9f4;backdrop-filter:none;-webkit-backdrop-filter:none}
.overlay-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}
.bottom-sheet{background:#f7fbff;backdrop-filter:none;-webkit-backdrop-filter:none;animation:sheet-up .16s ease both}
.loading{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(240,248,255,.9)}
.row-title,.scan-title,.route-card-head,.hero-foot,.section-heading{min-width:0}
.row-title>div,.scan-title>div,.route-card .grow,.menu-card span:nth-child(2),.choice-option .grow{overflow:hidden}
.page-title h2,.page-title p,.section-heading h2,.route-card h3,.route-card p,.menu-card b,.menu-card small,.choice-option b,.choice-option small,.house-card b,.house-card small{overflow-wrap:anywhere}
.quick-grid,.stats-grid,.detail-grid,.action-grid,.failure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.quick-card>span:last-child{min-width:0}
.quick-card b,.quick-card small{white-space:normal;overflow-wrap:anywhere}
.app-status-row{justify-content:center;padding-bottom:22px}

.customer-item{min-width:0}
.customer-card{align-items:flex-start;overflow:hidden;touch-action:manipulation;transition:none;background:#fff;color:var(--ink)}
.customer-card .grow{padding-top:2px;overflow:hidden}
.customer-card b,.customer-card small{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.38}
.customer-card b{font-size:15px;color:#173650}
.customer-card small{margin-top:3px;color:#61778b}
.customer-count{display:block;white-space:normal;overflow-wrap:anywhere;line-height:1.4;margin-top:5px;color:#176bc2}
.customer-avatar{background:#e8f4ff;color:#176bc2}
.customer-menu{background:#edf6fd;color:#527895}

.qr-card.fullscreen-qr{overflow-y:auto;justify-content:flex-start;background:#fff;padding:calc(18px + var(--safe-top)) 16px calc(16px + var(--safe-bottom))}
.qr-card.fullscreen-qr .qr-white{margin-top:auto}
.qr-card.fullscreen-qr .split-actions{margin-bottom:auto;width:100%}
.qr-card.fullscreen-qr canvas{width:min(82vw,52dvh,420px)!important}
.qr-card.fullscreen-qr>strong{font-size:clamp(32px,10vw,48px);font-weight:800;color:#073a68}
.qr-card.fullscreen-qr>b{font-size:16px}
.qr-full-button{background:#e9f4fd}

.delivery-panel{display:flex;flex-direction:column;overflow:hidden;background:#eef7ff}
.delivery-panel .full-head{flex:0 0 auto}
.delivery-card{flex:1;min-height:0;overflow-y:auto;border-radius:24px;padding:14px;display:flex;flex-direction:column;gap:12px;touch-action:pan-y;transition:none;background:#fff}
.delivery-photo-button{position:relative;width:100%;min-height:180px;aspect-ratio:4/3;border:0;border-radius:20px;padding:0;overflow:hidden;background:#eaf4fb;display:grid;place-items:center;flex:0 0 auto}
.delivery-photo-button img{width:100%;height:100%;object-fit:contain;background:#edf6fc}
.delivery-photo-placeholder{color:#7591a8;align-content:center;gap:8px}
.delivery-photo-placeholder svg{width:42px;height:42px}
.delivery-photo-placeholder span{display:block;font-size:13px}
.delivery-info{min-width:0;padding:2px 2px 0}
.delivery-info-head{display:flex;align-items:flex-start;gap:9px;min-width:0}
.delivery-info-head h2{margin:0;font-size:22px;line-height:1.25;overflow-wrap:anywhere}
.delivery-info-head p{margin:3px 0 0;color:#61778b;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.delivery-tracking{width:100%;margin-top:9px;padding:10px 11px;border:1px solid #dceaf5;border-radius:13px;background:#f4f9fd;text-align:left;font:700 12px ui-monospace,SFMono-Regular,monospace;color:#174f7b;overflow-wrap:anywhere}
.delivery-note{display:flex;align-items:flex-start;gap:7px;margin-top:8px;padding:9px 10px;border-radius:13px;background:#fff7e8;color:#735313;font-size:12px;overflow-wrap:anywhere}
.delivery-note svg{width:18px;height:18px;flex:0 0 auto}
.delivery-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto}
.delivery-actions>*{min-width:0;min-height:50px;padding:10px 8px;font-size:13px;text-align:center}
.delivery-nav{flex:0 0 auto;margin-top:9px;grid-template-columns:repeat(2,minmax(0,1fr))}
.delivery-empty{margin:auto;text-align:center;color:#667b90}.delivery-empty b,.delivery-empty span{display:block}.delivery-empty b{font-size:24px;color:#174f7b}

.parcel-row,.house-card,.history-row,.settings-section,.menu-card{overflow:hidden}
.parcel-row b,.parcel-row small,.history-row b,.history-row small,.setting-row b,.setting-row small,.village-admin-row b,.village-admin-row small{overflow-wrap:anywhere}
.full-panel,.sheet-body{overflow-x:hidden}
.settings-section>button>span:nth-child(2),.setting-row>span:first-child,.village-admin-row .grow{min-width:0}

@media(max-width:390px){
  .app-shell{padding-left:12px;padding-right:12px}
  .quick-card{padding:10px 8px;gap:7px}.quick-icon{width:34px;height:34px}
  .stat-card{padding:11px 9px;min-height:106px}.stat-card strong{font-size:31px}
  .page-title h2,.section-heading h2{font-size:20px}
  .full-panel{padding-left:10px;padding-right:10px}
  .full-head{grid-template-columns:46px minmax(0,1fr) 64px;gap:5px}
  .full-head h3{font-size:18px;overflow-wrap:anywhere}
  .delivery-card{padding:11px}.delivery-photo-button{min-height:150px}
  .delivery-actions>*{font-size:12px;padding-left:5px;padding-right:5px}
}
@media(max-width:340px){
  .quick-grid{grid-template-columns:1fr}
  .stats-grid{gap:5px}.stat-card{padding:10px 7px}.stat-card strong{font-size:28px}
  .customer-card{padding:11px 9px;gap:8px}.customer-avatar{width:39px;height:39px}.customer-menu{width:38px;height:38px}
  .delivery-photo-button{min-height:132px}
}

/* RouteDrop V6 — large, colorful, glove-friendly mobile controls */
:root{--nav-height:84px}
body{font-size:16px}
button,a,input,textarea,.customer-card,.route-card,.summary-row{touch-action:manipulation}
.sheet-body,.choice-list,.delivery-card,.full-panel{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.primary-button,.secondary-button,.success-button,.danger-button{min-height:58px;border-radius:18px;font-size:16px;font-weight:750}
.text-button{font-size:14px;font-weight:750}
.eyebrow{font-size:13px;font-weight:750}
.brand-name{font-size:27px;font-weight:850}
.page-title h2,.section-heading h2{font-size:clamp(24px,7vw,30px);font-weight:850}
.page-title p{font-size:15px;font-weight:600}
.round-button,.icon-button{width:56px;height:56px;border-radius:19px}
.round-button svg,.icon-button svg{width:28px;height:28px}

.quick-card{min-height:88px;padding:14px;border-radius:24px;background:linear-gradient(145deg,#fff,#edf7ff)}
.quick-card:nth-child(2){background:linear-gradient(145deg,#f5fbff,#deefff)}
.quick-icon{width:48px;height:48px;border-radius:16px}.quick-icon svg{width:26px;height:26px}
.quick-card b{font-size:16px;font-weight:800}.quick-card small{font-size:13px;font-weight:600;margin-top:3px}
.hero-top strong{font-size:58px;font-weight:850}.hero-top small,.hero-top em{font-size:15px;font-weight:650}
.hero-foot{font-size:14px;font-weight:650}
.stat-card{min-height:132px;padding:17px;border-radius:25px}.stat-card span{font-size:15px;font-weight:750}.stat-card strong{font-size:45px;font-weight:850}.stat-card small{font-size:12px;font-weight:650}
.next-house-card h3{font-size:28px;font-weight:850}.next-house-card p{font-size:16px;font-weight:600}
.parcel-count{font-size:16px}
.house-cod-summary{display:flex;align-items:center;justify-content:space-between;margin:13px 0;padding:13px 15px;border-radius:16px;background:linear-gradient(135deg,#fff4d8,#ffe7a8);color:#6e4a00}
.house-cod-summary span{font-size:14px;font-weight:750}.house-cod-summary strong{font-size:24px;font-weight:900}

.form-card{padding:20px;border-radius:27px}
.field-label{margin-top:18px;font-size:15px;font-weight:750}.field-label small{font-size:12px}
.text-input{min-height:58px;padding:13px 15px;border-width:2px;border-radius:17px;font-size:18px;font-weight:650;background:#fff}
.tracking-input{font-size:19px;font-weight:850;letter-spacing:.02em}
.house-number-input{font-size:26px;font-weight:950;letter-spacing:.01em;color:#073f70;background:linear-gradient(135deg,#fff,#eef8ff)}
.house-history-button{margin-top:10px;min-height:62px;background:linear-gradient(135deg,#f7fcff,#e2f2ff)}
.house-history-button b{font-size:16px}.house-history-button small{font-size:12px}
.selected-card.new-house{border-color:#f0d39f;background:linear-gradient(135deg,#fffaf0,#fff0d5)}.selected-card.new-house .customer-avatar{background:#ffe2a8;color:#825400;font-size:13px}
.money-input{position:relative}.money-input>span{position:absolute;z-index:2;left:15px;top:50%;transform:translateY(-50%);font-size:23px;font-weight:850;color:#0b63bc}.money-input .text-input{padding-left:43px;font-size:23px;font-weight:850;color:#073a68}
.choice-button{min-height:72px;padding:13px 15px;border:2px solid #b9dcf6;border-radius:19px;background:linear-gradient(135deg,#eef8ff,#dcefff);box-shadow:0 8px 20px rgba(23,105,184,.1)}
.choice-button b{font-size:18px;font-weight:850;color:#0a589e}.choice-button small{font-size:14px;font-weight:650;color:#456d8d}.choice-button svg{width:24px;height:24px;color:#147ccb}
.selected-card{padding:14px;border:2px solid #c5e4f7;background:linear-gradient(135deg,#f4fbff,#e4f4ff)}
.selected-card b{font-size:17px;font-weight:850}.selected-card small{font-size:14px}
.camera-card{height:min(68vw,350px);min-height:250px}
#photo-preview{object-fit:contain;background:#102539}

.route-hint{padding:17px;border:2px solid #cae5f8;background:linear-gradient(135deg,#f7fcff,#e3f3ff)}
.route-hint>svg{width:32px;height:32px}.route-hint b{font-size:18px;font-weight:850}.route-hint small{font-size:14px;font-weight:650}
.route-card{border-width:2px;border-color:#cfe5f5;background:linear-gradient(135deg,#fff,#eaf6ff);box-shadow:0 12px 30px rgba(27,103,164,.11)}
.route-card:nth-child(3n+2){background:linear-gradient(135deg,#fff,#e9fbf6);border-color:#c8ecdf}
.route-card:nth-child(3n){background:linear-gradient(135deg,#fff,#fff4e5);border-color:#f2dcc1}
.route-card-head{padding:19px 16px;gap:14px}.route-index{width:52px;height:52px;border-radius:18px;font-size:20px;font-weight:900}
.route-card h3{font-size:22px;font-weight:900}.route-card p{font-size:14px;font-weight:650;line-height:1.45}
.route-totals strong{font-size:30px;font-weight:900}.route-totals small{font-size:13px;font-weight:700}
.route-cod{display:inline-flex;margin-top:7px;padding:5px 9px;border-radius:999px;background:#fff0bd;color:#795300;font-size:13px;font-weight:850}
.moo-pills{gap:7px;padding-bottom:16px}.moo-pill{padding:7px 10px;font-size:13px;font-weight:750;background:#e0f1ff;color:#175f98}
.route-progress{height:8px}
.summary-row{min-height:82px;padding:15px;border-width:2px;background:linear-gradient(135deg,#fff,#eef8ff)}
.summary-row b{font-size:18px;font-weight:850}.summary-row small{font-size:13px;font-weight:650;line-height:1.5}.summary-progress strong{font-size:22px;font-weight:900}

.customer-list{gap:12px}.customer-card{min-height:104px;padding:16px 13px;border-width:2px;border-left:6px solid #2a94e8;border-radius:24px;background:linear-gradient(135deg,#fff,#eef8ff)}
.customer-item:nth-child(3n+2) .customer-card{border-left-color:#18ac80;background:linear-gradient(135deg,#fff,#edfbf6)}
.customer-item:nth-child(3n) .customer-card{border-left-color:#ee923f;background:linear-gradient(135deg,#fff,#fff5e9)}
.customer-avatar{width:54px;height:54px;border-radius:18px;font-size:21px;font-weight:900}
.customer-card b{font-size:19px;font-weight:900}.customer-card small{font-size:14px;font-weight:650}.customer-count{font-size:13px;font-weight:750}
.customer-cod{display:inline-flex;margin-top:7px;padding:6px 9px;border-radius:999px;background:#fff0bd;color:#725000;font-size:13px;font-weight:850}
.customer-location-status{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;margin-top:7px;padding:6px 9px;border-radius:999px;background:#dcf7ed;color:#087552;font-size:12px;font-weight:850}
.customer-location-status:before{content:"";width:8px;height:8px;border-radius:50%;background:#0aa978;box-shadow:0 0 0 3px rgba(10,169,120,.13);flex:0 0 auto}
.customer-menu{width:48px;height:48px;border-radius:16px}

.map-marker-card{margin:0 0 13px;padding:13px;border:2px solid #c9e2f4;border-radius:19px;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;background:linear-gradient(135deg,#f8fcff,#e6f4ff);box-shadow:0 8px 22px rgba(27,101,160,.09);overflow:hidden}
.map-marker-card.pinned{border-color:#a9dfcd;background:linear-gradient(135deg,#f7fffc,#e1f7ef)}
.map-marker-badge{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#d9edfc;color:#116caf;font-size:27px;font-weight:950;line-height:1}
.map-marker-card.pinned .map-marker-badge{background:#ccefe2;color:#087b58}
.map-marker-card .grow{min-width:0}.map-marker-card b,.map-marker-card small{display:block}.map-marker-card b{font-size:17px;font-weight:950;line-height:1.25}.map-marker-card small{margin-top:3px;color:#5e7890;font-size:12px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}
.map-marker-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.map-marker-actions>:only-child{grid-column:1/-1}
.map-navigation-button,.map-save-button{width:100%;min-width:0;min-height:50px;border:0;border-radius:15px;padding:9px 11px;display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;text-decoration:none;font-size:15px;font-weight:900}
.map-navigation-button{background:linear-gradient(135deg,#19a77b,#08785a);color:#fff;box-shadow:0 8px 18px rgba(8,120,90,.16)}.map-navigation-button svg{width:21px;height:21px}
.map-save-button{background:#d9ecfa;color:#0c64a7}.map-marker-card.pinned .map-save-button{background:#d7f1e7;color:#087454}

.menu-card{min-height:82px;padding:17px;border-width:2px;background:linear-gradient(135deg,#fff,#eef8ff)}
.menu-card:nth-of-type(2){background:linear-gradient(135deg,#fff,#edf9f5)}
.menu-icon{width:52px;height:52px;border-radius:18px}.menu-icon svg{width:27px;height:27px}
.menu-card b{font-size:19px;font-weight:900}.menu-card small{font-size:14px;font-weight:650;line-height:1.45}
.bottom-nav{height:calc(84px + var(--safe-bottom))}.nav-item{font-size:12px;font-weight:750}.nav-item svg{width:27px;height:27px}

.parcel-list,.history-list{gap:11px}
.parcel-row{min-height:102px;padding:12px;border-width:2px;border-radius:22px;background:#fff}
.parcel-thumb,.parcel-placeholder{width:62px;height:82px;border-radius:15px}.parcel-thumb{object-fit:cover;aspect-ratio:3/4}
.parcel-row b{font-size:15px;font-weight:900}.parcel-row small{font-size:13px;font-weight:650;line-height:1.45}
.cod-badge{display:inline-flex;width:max-content;max-width:100%;margin:5px 0;padding:5px 8px;border-radius:999px;background:#fff0bd;color:#725000;font-size:13px;font-weight:900}
.status-chip{padding:6px 9px;font-size:12px;font-weight:800}
.detail-photo{display:block;width:min(100%,360px);aspect-ratio:3/4;max-height:none;margin:0 auto;object-fit:contain;background:#eaf4fb;border-radius:24px}
.detail-hero h4{font-size:19px;font-weight:900}.detail-hero>span:last-of-type{font-size:15px;font-weight:650}
.copy-tracking-button{width:100%;min-height:48px;margin-top:12px;border:0;border-radius:15px;background:#dcefff;color:#0a5fae;font-size:15px;font-weight:850}
.detail-section label{font-size:13px;font-weight:700}.detail-section b,.detail-section span{font-size:16px;font-weight:700}

.history-row{grid-template-columns:62px minmax(0,1fr) auto;gap:11px;min-height:98px;padding:11px;border-width:2px;background:#fff}
.history-thumb{width:62px;height:78px;border-radius:14px;object-fit:cover;background:#e6f2fb}
.history-thumb.placeholder{display:grid;place-items:center;color:#7694aa}.history-thumb.placeholder svg{width:28px;height:28px}
.history-row .grow{min-width:0}.history-row b{font-size:15px;font-weight:900;overflow-wrap:anywhere}.history-row small{font-size:13px;font-weight:650;line-height:1.4}.history-row time{display:block;margin-top:4px;font-size:12px;font-weight:700;color:#658096}

.delivery-card{gap:14px;padding:14px;border:2px solid #cfe4f4}
.delivery-photo-button{width:min(100%,360px);min-height:0;aspect-ratio:3/4;max-height:48dvh;margin:0 auto;border-radius:22px;background:#eaf4fb}
.delivery-photo-button img{object-fit:contain}
.delivery-info-head h2{font-size:27px;font-weight:950}.delivery-info-head p{font-size:16px;font-weight:650}
.delivery-tracking{min-height:66px;padding:11px 13px;border:2px solid #bcdcf3;border-radius:17px;background:linear-gradient(135deg,#f7fcff,#e6f4ff)}
.delivery-tracking b{display:block;font:850 19px ui-monospace,SFMono-Regular,monospace;overflow-wrap:anywhere;color:#073f70}.delivery-tracking span{display:block;margin-top:3px;font-size:13px;font-weight:700;color:#5280a4}
.delivery-map-inline{display:flex;align-items:center;gap:8px;min-width:0;margin-top:7px}.delivery-map-inline>a,.delivery-map-inline>button{min-height:44px;border:0;border-radius:13px;padding:8px 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(135deg,#1ca77d,#08785a);color:#fff;text-decoration:none;font-size:13px;font-weight:900;white-space:nowrap}.delivery-map-inline>button{background:#dcefff;color:#0b66ab}.delivery-map-inline svg{width:19px;height:19px}.delivery-map-inline>span{min-width:0;color:#657f95;font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.delivery-cod{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:16px;background:#fff5d6;color:#704c00}
.delivery-cod.total{background:linear-gradient(135deg,#ffe9a4,#ffd66f);box-shadow:0 8px 20px rgba(176,121,0,.13)}
.delivery-cod span{font-size:14px;font-weight:800}.delivery-cod strong{font-size:25px;font-weight:950}
.delivery-note{font-size:15px;font-weight:700}
.delivery-actions>*{min-height:58px;font-size:15px;font-weight:850}
.delivery-nav .secondary-button{font-size:17px;font-weight:850}

.choice-option{min-height:76px;padding:13px;border-radius:17px}.choice-option:nth-child(odd){background:#f1f8fe}.choice-option b{font-size:17px;font-weight:850}.choice-option small{font-size:14px;font-weight:650}
.filter-chip{min-height:46px;padding:0 15px;font-size:14px;font-weight:750}
.sheet-head{height:78px}.sheet-head h3,.full-head h3{font-size:23px;font-weight:900}.close-button{width:52px;height:52px;border-radius:17px}
.full-head{height:calc(84px + var(--safe-top));grid-template-columns:54px minmax(0,1fr) 78px}

@media(max-width:370px){
  .quick-card b{font-size:14px}.quick-card small{font-size:11px}
  .stat-card{min-height:116px;padding:13px 8px}.stat-card span{font-size:13px}.stat-card strong{font-size:38px}
  .route-card h3{font-size:20px}.route-index{width:46px;height:46px}
  .customer-card{padding:13px 9px}.customer-avatar{width:46px;height:46px}.customer-card b{font-size:17px}.customer-card small{font-size:13px}
  .delivery-info-head h2{font-size:23px}.delivery-tracking b{font-size:16px}.delivery-actions>*{font-size:13px}
  .history-row{grid-template-columns:52px minmax(0,1fr) auto}.history-thumb{width:52px;height:68px}
  .map-marker-card{grid-template-columns:42px minmax(0,1fr);padding:11px;gap:8px}.map-marker-badge{width:42px;height:42px;border-radius:14px}.map-marker-card b{font-size:16px}.map-navigation-button,.map-save-button{font-size:14px;padding:8px}
  .delivery-map-inline>span{display:none}.delivery-map-inline>a,.delivery-map-inline>button{width:100%}
}
.amount-display{height:148px}.amount-display span{font-size:36px;font-weight:800}.amount-display strong{font-size:72px;font-weight:950}
.qr-card.fullscreen-qr canvas{width:min(88vw,55dvh,460px)!important}.qr-card.fullscreen-qr>strong{font-size:clamp(44px,13vw,62px);font-weight:950}
.customer-choice-option{min-height:86px;padding:17px 16px;border:2px solid #cae4f7!important;background:linear-gradient(135deg,#f7fcff,#e4f3ff)!important}
.customer-choice-option:nth-child(4n+2){border-color:#bfe8d8!important;background:linear-gradient(135deg,#f7fffc,#e4f8f0)!important}
.customer-choice-option:nth-child(4n+3){border-color:#f2d6b5!important;background:linear-gradient(135deg,#fffdf8,#fff0dd)!important}
.customer-choice-option:nth-child(4n){border-color:#d8d1f5!important;background:linear-gradient(135deg,#fdfcff,#eeeaff)!important}
.customer-choice-option b{font-size:22px;font-weight:950;line-height:1.25;color:#123c61;white-space:normal;overflow-wrap:anywhere}
.customer-choice-option .check{width:30px;flex:0 0 auto}
.scan-village-picker{width:100%;min-height:84px;margin:-7px 0 15px;padding:12px 13px;border:1px solid rgba(125,185,228,.5);border-radius:20px;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:11px;text-align:left;background:linear-gradient(135deg,rgba(250,253,255,.94),rgba(221,240,255,.88));box-shadow:0 11px 26px rgba(25,104,170,.11)}
.scan-village-picker:active{transform:scale(.985)}.scan-village-picker .grow{min-width:0}.scan-village-picker small,.scan-village-picker b,.scan-village-picker em{display:block}.scan-village-picker small{font-size:12px;font-weight:800;color:#66829a}.scan-village-picker b{margin-top:2px;font-size:20px;font-weight:950;line-height:1.2;color:#174e7d;overflow-wrap:anywhere}.scan-village-picker em{margin-top:3px;font-size:12px;font-weight:650;font-style:normal;color:#6c8397}.scan-village-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#e1effa;color:#4f83aa}.scan-village-icon svg{width:28px;height:28px;stroke-width:2.35}.scan-village-change{min-width:58px;padding:9px 11px;border-radius:12px;background:#fff;color:#156db8;text-align:center;font-size:13px;font-weight:900;box-shadow:0 5px 14px rgba(20,102,170,.1)}
.scan-village-picker.selected{border-color:#85d9bd;background:linear-gradient(135deg,#f6fffb,#dbf6ec)}.scan-village-picker.selected .scan-village-icon{background:#ccefe2;color:#087b58}.scan-village-picker.selected b{color:#0a7053}.scan-village-picker.selected .scan-village-change{color:#087b58}
.choice-sheet .choice-list{display:grid;gap:12px;padding:2px 14px 15px}
.choice-sheet .choice-option{min-height:78px;padding:12px 8px;border:1px solid #cee3f2;border-radius:14px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:7px;text-align:center;background:#f7fbfe;box-shadow:0 5px 13px rgba(24,91,145,.055)}
.choice-sheet .choice-option .grow{grid-column:2;min-width:0;text-align:center}.choice-sheet .choice-option .check{grid-column:3;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#1682dc;opacity:0;transform:scale(.72);transition:opacity .16s ease,transform .16s ease}.choice-sheet .choice-option .check svg{width:32px;height:32px;stroke-width:3.8}.choice-sheet .choice-option.selected{border-color:#79bfea;background:linear-gradient(135deg,#edf8ff,#dcefff);box-shadow:0 7px 17px rgba(18,112,187,.12)}.choice-sheet .choice-option.selected .check{opacity:1;transform:scale(1)}
.choice-sheet .customer-choice-option{min-height:88px;padding:14px 8px;border-width:1px!important;border-radius:14px!important}.choice-sheet .customer-choice-option b{font-size:22px;font-weight:950;line-height:1.25;text-align:center}.choice-sheet .customer-choice-option:nth-child(4n+2){border-color:#bfe8d8!important}.choice-sheet .customer-choice-option:nth-child(4n+3){border-color:#f2d6b5!important}.choice-sheet .customer-choice-option:nth-child(4n){border-color:#d8d1f5!important}
.scan-village-icon{font-size:16px;font-weight:950;letter-spacing:-.03em}.customer-avatar{font-size:15px!important;font-weight:950!important;letter-spacing:-.04em}
.choice-sheet .village-choice-option{min-height:72px;padding:7px 5px;border:0;border-bottom:1px solid #d9e7f1;border-radius:0;grid-template-columns:56px minmax(0,1fr) 44px;gap:9px;text-align:left;background:transparent!important;box-shadow:none}
.choice-sheet .village-choice-option:last-child{border-bottom:0}.choice-sheet .village-choice-option .grow{text-align:left}.choice-sheet .village-choice-option b{font-size:19px;font-weight:900;color:#153e61}.choice-sheet .village-choice-option small{margin-top:2px;font-size:12px;font-weight:650}.choice-sheet .village-choice-option.selected{border-radius:13px;border-bottom-color:transparent;background:#e6f4ff!important;box-shadow:inset 0 0 0 1px #a9d4f2}.choice-moo-badge{grid-column:1;width:52px;height:52px;border-radius:15px;display:flex;align-items:baseline;justify-content:center;gap:1px;background:#dceeff;color:#1768aa;font-size:12px;font-weight:850}.choice-moo-badge strong{font-size:25px;font-weight:950;line-height:1}.village-choice-option.selected .choice-moo-badge{background:#1682dc;color:#fff}
@media(max-width:370px){.scan-village-picker{grid-template-columns:46px minmax(0,1fr) auto;padding:10px;gap:8px}.scan-village-icon{width:46px;height:46px}.scan-village-picker b{font-size:17px}.scan-village-picker em{font-size:11px}.scan-village-change{min-width:50px;padding:8px}.choice-sheet .choice-option{grid-template-columns:38px minmax(0,1fr) 38px}.choice-sheet .choice-option .check{width:38px;height:38px}.choice-sheet .choice-option .check svg{width:29px;height:29px}.choice-sheet .village-choice-option{grid-template-columns:48px minmax(0,1fr) 38px}.choice-moo-badge{width:46px;height:46px}.choice-moo-badge strong{font-size:22px}}
.delivery-panel{height:100dvh;min-height:0;padding:0 8px calc(6px + var(--safe-bottom));overflow:hidden}
.delivery-panel .delivery-head{height:calc(56px + var(--safe-top));min-height:calc(56px + var(--safe-top));padding:var(--safe-top) 2px 0;grid-template-columns:42px minmax(0,1fr) auto;gap:8px}
.delivery-head .close-button{width:40px;height:40px;border-radius:13px}.delivery-head .close-button svg{width:22px;height:22px}.delivery-head h3{min-width:0;margin:0;text-align:left;font-size:19px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delivery-head .delivery-counter{min-width:58px;padding:7px 10px;border-radius:999px;background:#dceeff;text-align:center;font-size:14px;font-weight:900;color:#0d64ad}
.delivery-panel .delivery-card{flex:1;min-height:0;padding:8px;border:1px solid #d0e5f4;border-radius:19px;gap:8px;overflow-x:hidden;overflow-y:auto;background:#fff;box-shadow:0 10px 28px rgba(28,91,145,.1)}
.delivery-panel .delivery-photo-button{width:100%;height:auto;min-height:190px;max-height:none;aspect-ratio:auto;margin:0;border-radius:14px;background:#eaf4fb;flex:1 1 240px}.delivery-panel .delivery-photo-button img{width:100%;height:100%;object-fit:contain}
.delivery-panel .delivery-info{padding:0 2px}.delivery-panel .delivery-info-head{align-items:center;gap:7px}.delivery-panel .delivery-info-head h2{margin:0;font-size:23px;font-weight:950;line-height:1.15}.delivery-panel .delivery-info-head p{margin:2px 0 0;font-size:14px;font-weight:700;line-height:1.3}.delivery-panel .status-chip{flex:0 0 auto;font-size:11px;font-weight:800}
.delivery-panel .delivery-tracking{min-height:52px;margin-top:6px;padding:7px 10px;border:1px solid #bdddf3;border-radius:13px;background:linear-gradient(135deg,#f7fcff,#e7f5ff)}.delivery-panel .delivery-tracking b{font-size:16px;line-height:1.15}.delivery-panel .delivery-tracking span{margin-top:2px;font-size:11px}
.delivery-panel .delivery-map-inline{margin-top:5px}.delivery-panel .delivery-map-inline>a,.delivery-panel .delivery-map-inline>button{min-height:42px;padding:7px 10px;border-radius:12px;font-size:12px}.delivery-panel .delivery-map-inline>span{font-size:11px}
.delivery-panel .delivery-cod{margin-top:6px;padding:8px 11px;border-radius:13px}.delivery-panel .delivery-cod span{font-size:12px}.delivery-panel .delivery-cod strong{font-size:21px}.delivery-panel .delivery-note{margin-top:6px;padding:8px 9px;border-radius:12px;font-size:13px;line-height:1.35}
.delivery-panel .delivery-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:0;padding-top:2px}.delivery-panel .delivery-actions .delivery-payment-action{grid-column:1/-1}.delivery-panel .delivery-actions>*{min-height:52px;padding:8px 7px;border-radius:14px;font-size:14px;font-weight:900}.delivery-panel .delivery-actions svg{width:20px;height:20px}
.delivery-panel .delivery-nav{flex:0 0 auto;height:48px;margin:5px 0 0;gap:6px}.delivery-panel .delivery-nav .secondary-button{min-height:46px;padding:6px;border-radius:14px;font-size:15px;font-weight:900;background:rgba(255,255,255,.9)}
@media(max-height:720px){.delivery-panel .delivery-head{height:calc(50px + var(--safe-top));min-height:calc(50px + var(--safe-top))}.delivery-panel .delivery-photo-button{height:auto;min-height:160px;flex-basis:180px}.delivery-panel .delivery-card{padding:7px;gap:6px}.delivery-panel .delivery-info-head h2{font-size:20px}.delivery-panel .delivery-info-head p{font-size:12px}.delivery-panel .delivery-actions>*{min-height:48px}.delivery-panel .delivery-nav{height:44px}.delivery-panel .delivery-nav .secondary-button{min-height:42px}}
.parcel-detail-actions{gap:10px;margin-top:17px}.parcel-detail-actions .parcel-action{width:100%;min-height:64px;border:0;border-radius:18px;padding:12px 13px;display:flex;align-items:center;justify-content:center;gap:9px;color:#fff;font-size:17px;font-weight:950;line-height:1.2;text-align:center;box-shadow:0 10px 24px rgba(25,59,91,.18);transition:transform .14s ease,filter .14s ease}.parcel-detail-actions .parcel-action:active{transform:scale(.975);filter:brightness(.94)}.parcel-detail-actions .parcel-action svg{width:25px;height:25px;stroke-width:2.7;flex:0 0 auto}.parcel-detail-actions .wide{grid-column:1/-1}.parcel-action-delivered{background:linear-gradient(135deg,#18b981,#07855f)}.parcel-action-failed{background:linear-gradient(135deg,#f07a42,#c94a38)}.parcel-action-edit{background:linear-gradient(135deg,#7b68df,#5142b5)}.parcel-action-payment{background:linear-gradient(135deg,#168fe7,#075abd)}
@media(max-width:370px){.parcel-detail-actions .parcel-action{min-height:58px;padding:10px 7px;font-size:15px}.parcel-detail-actions .parcel-action svg{width:22px;height:22px}}

/* RouteDrop V6 Map Maker */
#map-maker-layer{z-index:82;align-items:stretch;background:#eaf5fd}
.map-maker-panel{width:min(100%,720px);height:100dvh;margin:0 auto;padding:var(--safe-top) 0 var(--safe-bottom);display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(180deg,#f8fcff,#eaf5fd);color:var(--ink)}
.map-maker-head{height:64px;flex:0 0 64px;padding:7px 10px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:9px;border-bottom:1px solid #d6e7f3;background:rgba(250,253,255,.96)}
.map-maker-head>div{min-width:0}.map-maker-head h3{margin:0;font-size:23px;font-weight:950;line-height:1.1}.map-maker-head .close-button{width:46px;height:46px}.map-optimize-button{min-height:44px;border:0;border-radius:14px;padding:8px 12px;background:linear-gradient(135deg,#168fe7,#075abd);color:#fff;font-size:13px;font-weight:900;white-space:nowrap}
.map-village-tabs{flex:0 0 auto;display:flex;gap:7px;padding:8px 10px;overflow-x:auto;background:#f6fbff;scrollbar-width:none}.map-village-tabs::-webkit-scrollbar{display:none}.map-village-tab{min-width:58px;min-height:43px;border:1px solid #c8dfef;border-radius:14px;padding:6px 10px;background:#fff;color:#486c88;font-size:13px;font-weight:850;white-space:nowrap}.map-village-tab.active{border-color:#117bcf;background:#117bcf;color:#fff;box-shadow:0 7px 16px rgba(17,123,207,.2)}
.map-stats{flex:0 0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:0 9px 8px;background:#f6fbff}.map-stats>div{min-width:0;padding:8px 5px;border:1px solid #d8e9f5;border-radius:13px;background:#fff;text-align:center}.map-stats span,.map-stats strong{display:block}.map-stats span{font-size:10px;font-weight:750;color:#70879a}.map-stats strong{margin-top:1px;font-size:17px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-stats>div:nth-child(2) strong{color:#de781c}.map-stats>div:nth-child(3) strong{color:#667887}.map-stats>div:nth-child(4) strong{color:#946000}
.map-stage{position:relative;flex:1 1 44dvh;min-height:145px;border-top:1px solid #d0e4f3;border-bottom:1px solid #c5deef;overflow:hidden;background:#dcecf6}.map-stage #map-canvas{width:100%;height:100%;z-index:1}.map-stage .leaflet-control-zoom a{width:38px;height:38px;line-height:38px;font-size:21px}.map-stage .leaflet-control-attribution{max-width:72vw;font-size:8px}.map-floating-tools{position:absolute;z-index:500;right:10px;top:10px;display:grid;gap:7px}.map-floating-tools button{width:45px;height:45px;border:1px solid rgba(255,255,255,.9);border-radius:14px;background:rgba(255,255,255,.92);color:#126eb7;display:grid;place-items:center;box-shadow:0 7px 20px rgba(25,76,117,.2)}.map-floating-tools svg{width:23px;height:23px}
.map-placement-hint{position:absolute;z-index:500;left:50%;top:10px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 130px);padding:8px 12px;border-radius:13px;background:rgba(10,47,75,.9);color:#fff;text-align:center;box-shadow:0 8px 22px rgba(0,0,0,.2);pointer-events:none}.map-placement-hint b,.map-placement-hint span{display:block}.map-placement-hint b{font-size:13px}.map-placement-hint span{font-size:10px;opacity:.82}
.map-legend{position:absolute;z-index:500;left:9px;bottom:9px;display:flex;flex-wrap:wrap;max-width:calc(100% - 18px);gap:4px 8px;padding:6px 8px;border:1px solid rgba(255,255,255,.92);border-radius:11px;background:rgba(255,255,255,.9);box-shadow:0 5px 16px rgba(23,71,108,.16);pointer-events:none}.map-legend span{display:flex;align-items:center;gap:3px;color:#38566d;font-size:8px;font-weight:850;white-space:nowrap}.map-legend i{width:8px;height:8px;border-radius:50%;background:#238fe1}.map-legend i.active{background:#ed861f}.map-legend i.delivered{background:#0aa675}.map-legend i.failed{background:#d94657}.map-legend i.unpinned{background:#8998a5}
.house-map-icon{background:transparent;border:0}.house-map-marker{min-width:36px;height:36px;padding:0 7px;border:3px solid #fff;border-radius:18px 18px 18px 5px;transform:rotate(-45deg);display:grid;place-items:center;background:#238fe1;color:#fff;box-shadow:0 6px 14px rgba(17,57,89,.34);font-size:11px;font-weight:950}.house-map-marker>span{transform:rotate(45deg);white-space:nowrap}.house-map-marker.idle{background:#238fe1}.house-map-marker.active{background:#ed861f}.house-map-marker.delivered{background:#0aa675}.house-map-marker.failed{background:#d94657}.house-map-marker.selected{outline:4px solid rgba(39,158,240,.28);transform:rotate(-45deg) scale(1.16)}.village-center-marker{width:28px;height:28px;border:4px solid #fff;border-radius:50%;background:#694fd6;box-shadow:0 5px 14px rgba(48,37,112,.3)}.route-start-marker{width:30px;height:30px;border:5px solid #fff;border-radius:50%;background:#10243d;box-shadow:0 5px 14px rgba(16,36,61,.3)}
.map-selection{flex:0 0 auto;padding:10px;border-bottom:1px solid #d3e5f2;background:#fff}.map-selection-head{display:flex;align-items:center;gap:9px}.map-selection-head .grow{flex:1;min-width:0}.map-selection-head b,.map-selection-head small{display:block}.map-selection-head b{font-size:17px;font-weight:950}.map-selection-head small{margin-top:2px;font-size:11px;font-weight:650;color:#688197;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-selection-close{width:32px;height:32px;flex:0 0 auto;border:0;border-radius:10px;background:#edf4f9;color:#536f84;font-size:23px;line-height:1}.map-selection-status{width:12px;height:12px;border-radius:50%;background:#8998a5;flex:0 0 auto}.map-selection-status.idle{background:#238fe1}.map-selection-status.active{background:#ed861f}.map-selection-status.delivered{background:#0aa675}.map-selection-status.failed{background:#d94657}.map-selection-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:9px}.map-selection-actions button,.map-selection-actions a{min-width:0;min-height:43px;border:0;border-radius:12px;padding:7px 5px;display:flex;align-items:center;justify-content:center;gap:4px;background:#e6f2fb;color:#0c65a9;text-decoration:none;font-size:11px;font-weight:900;text-align:center}.map-selection-actions .primary{background:#147dcb;color:#fff}.map-selection-actions .success{background:#0b9b70;color:#fff}.map-selection-actions .warning{background:#fff0cf;color:#7b5300}.map-location-warning{margin-top:7px;padding:7px 9px;border-radius:10px;background:#fff1d5;color:#78530a;font-size:11px;font-weight:750}.map-location-draft{margin-top:7px;padding:7px 9px;border-radius:10px;background:#e7f7f1;color:#08714f;font-size:11px;font-weight:750}
.map-admin-tools{flex:0 0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:7px 9px;border-bottom:1px solid #d4e5f1;background:#f7fbfe}.map-admin-tools button{min-width:0;min-height:48px;border:1px solid #d0e3f1;border-radius:13px;padding:6px 3px;background:#fff;color:#326a94;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:9px;font-weight:850}.map-admin-tools svg{width:19px;height:19px}
.map-house-section{flex:0 1 37dvh;min-height:105px;display:flex;flex-direction:column;overflow:hidden;background:#f4f9fd}.map-house-section>header{flex:0 0 auto;padding:9px 11px 5px;display:flex;align-items:center;justify-content:space-between;gap:10px}.map-house-section>header h3{margin:1px 0 0;font-size:18px;font-weight:950}.map-house-section>header button{min-height:38px;border:1px solid #d1e3f0;border-radius:12px;padding:6px 10px;background:#fff;color:#526f87;font-size:11px;font-weight:850}.map-house-section>header button.active{border-color:#d84a59;background:#fff0f1;color:#b53243}.map-search{flex:0 0 auto;margin:3px 10px 7px}.map-search .text-input{min-height:45px;font-size:14px}.map-house-list{flex:1;min-height:0;overflow-y:auto;padding:0 9px 12px;display:grid;gap:7px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.map-house-row{min-height:68px;border:1px solid #d3e5f2;border-left:6px solid #238fe1;border-radius:16px;padding:8px;background:#fff;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px}.map-house-row.active{border-left-color:#ed861f}.map-house-row.delivered{border-left-color:#0aa675}.map-house-row.failed{border-left-color:#d94657}.map-house-row.unpinned{border-left-color:#8998a5;background:#f7f9fa}.map-house-row:has([data-map-select-customer]:focus-visible){outline:3px solid rgba(20,125,203,.3)}.map-route-number{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;background:#e6f2fb;color:#126bae;font-size:13px;font-weight:950}.map-house-row .grow{min-width:0;border:0;background:transparent;padding:0;text-align:left}.map-house-row b,.map-house-row small{display:block}.map-house-row b{font-size:15px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-house-row small{margin-top:2px;font-size:11px;font-weight:650;color:#6b8295;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-row-actions{display:flex;gap:3px}.map-row-actions button{width:32px;height:36px;border:0;border-radius:10px;background:#e8f2f9;color:#27658f;display:grid;place-items:center;font-size:16px;font-weight:950}.map-issue-badge{display:inline-flex!important;width:max-content;margin-top:4px!important;padding:3px 6px;border-radius:999px;background:#fff0d8;color:#875800!important;font-size:9px!important;font-weight:850!important}.map-empty{padding:20px;text-align:center;color:#6e8294;font-size:13px;font-weight:700}
.delivery-mini-map{width:100%;height:145px;min-height:145px;border:1px solid #c9e1f1;border-radius:14px;overflow:hidden;background:#e6f2fa}.delivery-mini-map .leaflet-control-attribution{font-size:7px}.delivery-mini-map-placeholder{height:100%;display:grid;place-items:center;text-align:center;padding:12px;color:#6c8192;font-size:12px;font-weight:750}.delivery-mini-map-placeholder svg{width:28px;height:28px;margin:auto}
@media(max-height:760px){.map-maker-head{height:56px;flex-basis:56px}.map-village-tabs{padding-top:5px;padding-bottom:5px}.map-village-tab{min-height:38px}.map-stats{padding-bottom:5px}.map-stats>div{padding:5px}.map-stage{min-height:125px}.map-admin-tools{padding-top:4px;padding-bottom:4px}.map-admin-tools button{min-height:42px}.map-house-section{min-height:92px}.delivery-mini-map{height:120px;min-height:120px}}
@media(max-width:370px){.map-maker-head{grid-template-columns:44px minmax(0,1fr) auto}.map-maker-head h3{font-size:20px}.map-optimize-button{padding:7px 9px;font-size:11px}.map-stats strong{font-size:15px}.map-selection-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.map-selection-actions>*:last-child:nth-child(odd){grid-column:1/-1}.map-admin-tools span{font-size:8px}.map-house-row{grid-template-columns:31px minmax(0,1fr) auto;padding:7px 6px;gap:6px}.map-route-number{width:29px;height:29px}.map-house-row b{font-size:14px}.map-row-actions button{width:29px}}

/* RouteDrop V6.1.0 Map Maker mobile workflow */
.map-maker-panel{position:relative;isolation:isolate;padding-bottom:var(--safe-bottom)}
.map-maker-head{height:58px;flex-basis:58px;padding:5px 10px;background:#fff}.map-maker-head h3{font-size:21px}.map-maker-head .eyebrow{font-size:9px}.map-maker-head .close-button{width:42px;height:42px;border-radius:13px}.map-optimize-button{min-height:42px;padding:7px 10px;display:flex;align-items:center;gap:5px;border-radius:13px}.map-optimize-button svg{width:19px;height:19px}
.map-village-selector{flex:0 0 auto;padding:7px 9px 5px;background:#f5faff}.map-village-selector>button{width:100%;min-height:52px;padding:6px 10px;border:1px solid #c8dfef;border-radius:16px;background:#fff;display:flex;align-items:center;gap:10px;text-align:left;box-shadow:0 5px 14px rgba(26,88,139,.07)}.map-village-selector .map-village-number{width:44px;height:38px;flex:0 0 auto;border-radius:12px;background:linear-gradient(145deg,#2497ea,#1268c6);display:grid;place-items:center;color:#fff;font-size:14px;font-weight:950}.map-village-selector .grow{min-width:0}.map-village-selector small,.map-village-selector b{display:block}.map-village-selector small{font-size:9px;font-weight:750;color:#71879a}.map-village-selector b{font-size:17px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-village-selector svg{width:20px;flex:0 0 auto;color:#59809d}
.map-stats{padding:2px 9px 6px;gap:5px}.map-stats>div{padding:5px 3px;border-radius:11px}.map-stats span{font-size:9px}.map-stats strong{font-size:15px}
.map-stage{flex:1 1 auto;min-height:190px;border-radius:0;background:#dbeaf4}.map-stage .leaflet-control-zoom{margin-left:8px;margin-top:8px}.map-stage .leaflet-control-zoom a{width:35px;height:35px;line-height:35px}.map-floating-tools{right:8px;top:8px}.map-floating-tools button{width:40px;height:40px;border-radius:12px}.map-floating-tools svg{width:20px;height:20px}.map-legend{left:7px;bottom:7px;right:auto;max-width:calc(100% - 14px);padding:5px 7px;gap:3px 7px}.map-legend span{font-size:7px}
.map-gps-banner{position:absolute;z-index:550;left:7px;right:55px;bottom:35px;min-height:47px;padding:7px 8px 7px 10px;border:1px solid #f0d595;border-radius:13px;background:rgba(255,249,229,.95);display:flex;align-items:center;gap:7px;box-shadow:0 7px 18px rgba(64,65,33,.15)}.map-gps-banner .grow{min-width:0}.map-gps-banner b,.map-gps-banner small{display:block}.map-gps-banner b{font-size:11px;font-weight:950;color:#78520a}.map-gps-banner small{font-size:8px;font-weight:700;color:#7d6740;line-height:1.25}.map-gps-banner button{min-width:70px;min-height:33px;padding:4px 8px;border:0;border-radius:10px;background:#e68b20;color:#fff;font-size:10px;font-weight:950}.map-gps-banner.denied,.map-gps-banner.insecure,.map-gps-banner.unavailable{border-color:#f0bfc4;background:rgba(255,240,242,.96)}.map-gps-banner.denied b,.map-gps-banner.insecure b,.map-gps-banner.unavailable b{color:#a83442}.map-gps-banner.denied button,.map-gps-banner.unavailable button{background:#cf4455}.map-gps-banner.requesting button{opacity:.55}
.map-placement-hint{top:8px;max-width:calc(100% - 116px);padding:7px 10px}
.map-bottom-tabs{flex:0 0 52px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px 8px;border-top:1px solid #d2e5f2;border-bottom:1px solid #d2e5f2;background:#fff}.map-bottom-tabs button{min-width:0;border:0;border-radius:12px;background:transparent;color:#6b8498;display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;font-weight:900}.map-bottom-tabs svg{width:18px;height:18px}.map-bottom-tabs button.active{background:#e3f2fd;color:#0c69b2}
.map-admin-tools{padding:5px 8px;gap:5px}.map-admin-tools button{min-height:45px;border-radius:12px;font-size:8px}.map-admin-tools svg{width:17px;height:17px}
.map-house-section{flex:0 0 min(31dvh,235px);min-height:175px;background:#f4f9fd}.map-house-section>header{padding:7px 10px 3px}.map-house-section>header .eyebrow{font-size:8px}.map-house-section>header h3{font-size:16px}.map-house-section>header button{min-height:34px;padding:5px 9px}.map-search{margin:3px 9px 5px}.map-search .text-input{min-height:40px;font-size:14px}.map-house-list{padding:0 8px 9px;gap:5px}.map-house-row{min-height:60px;border-radius:14px;padding:6px 7px;gap:7px}.map-house-row b{font-size:14px}.map-house-row small{font-size:10px}.map-route-number{width:34px;height:34px;border-radius:10px;font-size:10px}.map-row-chevron{padding-right:5px;color:#7892a6;font-size:24px;font-weight:500}.map-row-actions button{height:33px}
.map-selection{position:absolute;z-index:900;left:8px;right:8px;bottom:calc(8px + var(--safe-bottom));max-height:min(62dvh,520px);overflow-y:auto;padding:12px;border:1px solid #c8deed;border-radius:22px;background:#fff;box-shadow:0 20px 55px rgba(13,52,83,.32)}.map-selection-head b{font-size:16px}.map-selection-head small{white-space:normal;line-height:1.35}.map-selection-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.map-selection-actions button,.map-selection-actions a{min-height:48px;padding:7px;font-size:12px}.map-selection-actions>*:last-child:nth-child(odd){grid-column:1/-1}.map-location-warning,.map-location-draft{font-size:10px}
@media(max-height:680px){.map-maker-head{height:52px;flex-basis:52px}.map-village-selector{padding-top:4px}.map-village-selector>button{min-height:47px}.map-village-selector .map-village-number{height:34px}.map-stats{padding-bottom:4px}.map-stage{min-height:150px}.map-bottom-tabs{flex-basis:47px;padding-top:3px;padding-bottom:3px}.map-house-section{flex-basis:190px;min-height:150px}.map-house-section>header{padding-top:4px}.map-search .text-input{min-height:37px}.map-admin-tools button{min-height:40px}}
@media(max-width:350px){.map-optimize-button span{display:none}.map-optimize-button{width:42px;justify-content:center;padding:0}.map-selection-actions{grid-template-columns:1fr}.map-selection-actions>*:last-child:nth-child(odd){grid-column:auto}.map-gps-banner{right:51px}.map-gps-banner small{display:none}}

/* RouteDrop V6.1 map layers: road, satellite and no-key hybrid */
.map-style-switch{position:absolute;z-index:540;top:8px;left:50%;width:min(202px,calc(100% - 116px));min-height:38px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;border:1px solid rgba(255,255,255,.95);border-radius:13px;background:rgba(14,42,63,.78);box-shadow:0 7px 22px rgba(10,35,55,.28);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.map-style-switch button{min-width:0;min-height:31px;padding:4px 3px;border:0;border-radius:9px;background:transparent;color:rgba(255,255,255,.82);font-size:9px;font-weight:900;white-space:nowrap}.map-style-switch button.active{background:#fff;color:#0b5e99;box-shadow:0 3px 10px rgba(0,0,0,.2)}
.map-placement-hint{top:54px}
.map-stage .leaflet-tile-pane{filter:saturate(1.08) contrast(1.03)}
.map-stage .leaflet-control-attribution,.delivery-mini-map .leaflet-control-attribution{max-width:78%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:rgba(255,255,255,.82)}
@media(max-width:350px){.map-style-switch{width:184px}.map-style-switch button{font-size:8px}}
