/* ===== anon1 ===== */
:root{--bg:#f4f6f8;--card:#fff;--ink:#17202a;--muted:#6b7280;--line:#e5e7eb;--dark:#111827;--ok:#087a56;--warn:#b45309;--bad:#b91c1c;--blue:#1d4ed8}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Tahoma,"Segoe UI",sans-serif;color:var(--ink)}
.wrap{max-width:1240px;margin:auto;padding:18px 18px 100px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:14px}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px}.logo{font-weight:900;font-size:21px}.muted{color:var(--muted);font-size:12px}
.brand-logo{display:block;width:210px;max-width:100%;height:auto;object-fit:contain;background:#000;border-radius:10px}.brand-logo.login-brand{width:280px;margin:0 auto 12px}.brand-stack{display:flex;align-items:center;gap:12px;min-width:0}.brand-stack>div{min-width:0}.brand-title{font-weight:900;font-size:18px;line-height:1.15}.brand-sub{color:var(--muted);font-size:12px;margin-top:3px}.top .brand-logo{width:170px;border-radius:8px}@media(max-width:650px){.top{align-items:flex-start;flex-wrap:wrap}.top .brand-logo{width:145px}.brand-stack{width:calc(100% - 72px);align-items:flex-start}.brand-title{font-size:16px}.brand-logo.login-brand{width:240px}}
h1,h2,h3{margin:4px 0 10px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
label{font-size:13px;font-weight:700}input,select,textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:11px;margin-top:6px;font-size:15px;background:#fff}
textarea{min-height:76px;resize:vertical}button{border:0;border-radius:11px;padding:11px 14px;font-weight:800;cursor:pointer}.primary{background:var(--dark);color:white;width:100%;margin-top:10px}
.secondary{background:#fff;border:1px solid var(--line)}.success{background:#0f766e;color:#fff}.danger{background:#b91c1c;color:#fff}.blue{background:#1d4ed8;color:#fff}.hero{background:#111827;color:white}.big{font-size:42px;font-weight:900}.rider-id{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin:12px 0}.rider-avatar{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f1f5f9;color:#64748b;font-size:22px}.rider-id-name{font-size:18px;font-weight:900}.rider-id-code{font-size:11px;color:var(--muted);margin-top:2px}
.job{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;margin:9px 0}.job-number{font-size:24px;font-weight:950;letter-spacing:.4px;color:#0f172a;line-height:1.15;margin-bottom:5px}.job-number small{font-size:12px;font-weight:800;color:#64748b;letter-spacing:0}.row{display:flex;justify-content:space-between;gap:12px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.pay{font-size:24px;font-weight:900;text-align:right}.pay .muted{font-size:11px;margin-top:2px}
.price-strip{display:grid;grid-template-columns:1fr 1.25fr;gap:8px;margin-top:10px}.pricebox{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#fff}.pricebox .plabel{font-size:11px;font-weight:800;color:var(--muted);margin-bottom:3px}.pricebox .pvalue{font-size:22px;font-weight:900;line-height:1.1}.pricebox.you{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#86efac}.pricebox.you .plabel{color:#047857}.pricebox.you .pvalue{font-size:28px;color:#065f46}.pricebox.admin-messenger{background:#eff6ff;border-color:#bfdbfe}.pricebox.company{background:#fff7ed;border-color:#fed7aa}.admin-price-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.pill{display:inline-block;padding:6px 9px;border-radius:999px;background:#eefbf6;color:var(--ok);font-size:12px;font-weight:800;margin-top:8px}.pill.wait{background:#eff6ff;color:var(--blue)}.pill.bad{background:#fef2f2;color:var(--bad)}.pill.warn{background:#fff7ed;color:var(--warn)}
.extra{background:#f8fafc;border-radius:12px;padding:10px;margin-top:10px;font-size:13px}.cash{background:#fff7ed;color:var(--warn)}.hide{display:none}.calc{background:#f8fafc;border-radius:14px;padding:12px;margin-top:12px}.calc b{font-size:20px}.checkrow{display:flex;align-items:center;gap:8px;margin:8px 0}.checkrow input{width:auto;margin:0}
.stop{border:1px solid var(--line);border-radius:14px;padding:12px;margin-top:10px;background:#fcfcfd}.stophead{display:flex;justify-content:space-between;gap:8px;align-items:start}.evidence{margin-top:8px}.thumb{max-width:100%;max-height:180px;border-radius:10px;border:1px solid var(--line);margin-top:8px}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.summary .card{margin:0;padding:12px}.summary b{font-size:22px}.divider{height:1px;background:var(--line);margin:12px 0}.routebox{background:#eef6ff;border:1px solid #bfdbfe;border-radius:14px;padding:12px;margin:10px 0}.routehead{display:flex;justify-content:space-between;gap:8px;align-items:center}.routeorder{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:50%;background:#f1f5f9;color:#94a3b8;border:1px solid #e2e8f0;font-weight:800}.nextstop{outline:3px solid #93c5fd;background:#f8fbff}.priority{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:900;padding:5px 9px;border-radius:999px;background:#ecfdf5;color:#166534;border:1px solid #86efac}.priority.high{background:#fff7ed;color:#c2410c;border-color:#fdba74}.priority.urgent{background:#fef2f2;color:#b91c1c;border-color:#fca5a5}.priority-select{font-weight:800;border-width:2px!important;transition:background .15s,border-color .15s,color .15s}.priority-select.priority-normal{background:#ecfdf5!important;border-color:#22c55e!important;color:#166534!important}.priority-select.priority-high{background:#fff7ed!important;border-color:#f97316!important;color:#c2410c!important}.priority-select.priority-urgent{background:#fef2f2!important;border-color:#ef4444!important;color:#b91c1c!important}.thai-time-wrap{display:flex;align-items:center;gap:8px}.thai-time-wrap input{flex:1}.thai-time-suffix{font-weight:800;color:#475569;white-space:nowrap}.movebtn{padding:7px 9px;font-size:12px}.navbtn{background:#e0f2fe;color:#075985}
.v7hero{background:linear-gradient(135deg,#4c1d95,#6d28d9 55%,#8b5cf6);color:#fff;border-radius:22px;padding:18px;margin:14px 0 16px;box-shadow:0 12px 30px rgba(109,40,217,.20)}.v7badge{display:inline-block;background:#fff;color:#6d28d9;font-size:11px;font-weight:900;padding:6px 10px;border-radius:999px;margin-bottom:8px}.v7hero h1{font-size:26px;margin:2px 0 6px}.v7hero .sub{font-size:13px;opacity:.9}.v7cta{background:#fff;color:#5b21b6;width:100%;margin-top:14px;font-size:16px;border-radius:14px;padding:13px 16px}.scanbox{background:linear-gradient(135deg,#faf5ff,#eef2ff);border:2px solid #8b5cf6;border-radius:18px;padding:16px;margin-bottom:14px;box-shadow:0 6px 18px rgba(109,40,217,.10)}.scanstatus{font-size:13px;font-weight:800;margin-top:8px}.scanpreview{width:100%;max-height:240px;object-fit:contain;border-radius:12px;border:1px solid var(--line);background:#fff;margin-top:10px}.scan-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scan-result{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;margin-top:10px}.scan-result b{display:block;margin-bottom:6px}.scan-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.violet{background:#6d28d9;color:#fff}.ghost{background:#fff;border:1px solid #c7d2fe;color:#4c1d95}.confidence{font-size:12px;color:#6b7280;margin-top:5px}.spinner{display:inline-block;width:14px;height:14px;border:2px solid #ddd;border-top-color:#6d28d9;border-radius:50%;animation:spin 1s linear infinite;vertical-align:-2px;margin-right:5px}@keyframes spin{to{transform:rotate(360deg)}}
.addons{margin-top:12px;padding:12px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px}.addons-title{font-size:13px;font-weight:900;margin-bottom:8px}.addon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.addon-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px}.addon-item .checkrow{font-weight:800}.addon-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px}.addon-fields.one{grid-template-columns:1fr}.livecalc{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.livecalc>div{border-radius:12px;padding:9px 10px;background:#fff;border:1px solid var(--line)}.livecalc .lc-label{font-size:10px;font-weight:800;color:var(--muted)}.livecalc .lc-value{font-size:19px;font-weight:900;margin-top:2px}.livecalc .rider{background:#ecfdf5;border-color:#86efac}.livecalc .rider .lc-value{color:#065f46}.breakdown{font-size:12px;color:#475569;margin-top:8px;line-height:1.6}.addon-chip{display:inline-block;padding:4px 7px;border-radius:999px;background:#f1f5f9;margin:2px 4px 2px 0;font-size:11px;font-weight:700}.stoptotal-label{font-size:10px;color:var(--muted);font-weight:800}
.route-preview{margin-top:10px;padding:12px;border:1px dashed #93c5fd;border-radius:14px;background:#f8fbff}.route-preview-title{font-weight:900;margin-bottom:8px}.route-step{display:flex;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid #e5e7eb}.route-step:last-child{border-bottom:0}.confirmbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.confirmbar button{flex:1;min-width:140px}.route-note{font-size:12px;color:#64748b;margin-top:6px}.stops-group{margin-top:14px;border:1.5px solid #dbeafe;border-radius:18px;padding:12px;background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%)}.stops-group-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px;padding-bottom:10px;border-bottom:1px dashed #bfdbfe}.stops-group-title{font-size:15px;font-weight:900;color:#0f172a}.stops-group-sub{font-size:12px;color:#64748b;line-height:1.5;margin-top:4px}.stops-group-count{font-size:12px;font-weight:900;padding:7px 10px;border-radius:999px;background:#dbeafe;color:#1d4ed8;white-space:nowrap}.job-route-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}.route-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-size:12px;font-weight:800}.route-arrow-inline{color:#60a5fa;font-weight:900}.stop.compact-stop{margin:10px 0;border-radius:16px}.stop.compact-stop .actions{margin-top:8px}.stops-group .stop:last-child{margin-bottom:0}.accordion-stop{padding:0;overflow:hidden;background:#fff}.accordion-stop summary{list-style:none;cursor:pointer;padding:12px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.accordion-stop summary::-webkit-details-marker{display:none}.accordion-stop[open] summary{background:#f8fbff;border-bottom:1px solid #e5e7eb}.stop-summary-left{display:flex;gap:10px;min-width:0;flex:1}.stop-summary-main{min-width:0;flex:1}.stop-summary-title{font-size:15px;font-weight:900;color:#0f172a;line-height:1.3}.stop-summary-hint{font-size:11px;color:#64748b;margin-top:2px}.stop-summary-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}.stop-summary-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;white-space:nowrap}.stop-summary-price{font-size:12px;font-weight:900;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;padding:6px 10px;border-radius:999px}.stop-detail{padding:12px}.expand-note{font-size:11px;color:#64748b}.stop-detail .stophead{margin-bottom:10px}.stop-detail .price-strip,.stop-detail .admin-price-strip{margin-top:0}@media (max-width:720px){.stops-group-head{flex-direction:column}.stops-group-count{align-self:flex-start}.job-route-summary{gap:6px}.route-pill{font-size:11px;padding:5px 8px}.accordion-stop summary{flex-direction:column}.stop-summary-right{align-items:flex-start;white-space:normal}.stop-summary-price{padding:5px 8px}}

.job-composer-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.job-composer-main{min-width:0}.who-select-fallback{display:none}.quick-messenger-panel{position:sticky;top:12px;background:#f8fafc;border:1px solid #dbe4f0;border-radius:16px;padding:12px;max-height:calc(100vh - 36px);overflow:auto}.quick-messenger-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:10px}.quick-messenger-title{font-size:16px;font-weight:900}.quick-messenger-count{font-size:11px;font-weight:900;padding:5px 8px;border-radius:999px;background:#dcfce7;color:#166534;white-space:nowrap}.quick-messenger-note{font-size:11px;color:var(--muted);line-height:1.5;margin-top:3px}.quick-messenger-list{display:flex;flex-direction:column;gap:7px}.quick-messenger-card{width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:8px;align-items:center;cursor:pointer}.quick-messenger-card:hover{border-color:#93c5fd;background:#f8fbff}.quick-messenger-card.selected{border:2px solid #2563eb;background:#eff6ff;padding:9px}.quick-messenger-card.inactive{opacity:.55;background:#f1f5f9;cursor:not-allowed}.quick-messenger-card.inactive:hover{border-color:var(--line);background:#f1f5f9}.quick-messenger-card.staff-salary{background:linear-gradient(135deg,#f8fafc,#e5e7eb);border-color:#cbd5e1}.quick-messenger-card.staff-salary.selected{background:linear-gradient(135deg,#f1f5f9,#d1d5db);border-color:#64748b}.quick-messenger-card.staff-salary .quick-messenger-name{color:#8b919b}.quick-messenger-card.staff-perjob .quick-messenger-name{color:#111827}.staff-type-badge{display:inline-block;margin-top:4px;padding:3px 6px;border-radius:999px;font-size:9px;font-weight:900;line-height:1.2}.staff-type-badge.salary{background:#e5e7eb;color:#6b7280;border:1px solid #cbd5e1}.staff-type-badge.perjob{background:#111827;color:#fff}.messenger-person.staff-salary .messenger-name{color:#8b919b}.messenger-person.staff-perjob .messenger-name{color:#111827}.paymode-note{margin-top:8px;padding:8px 10px;border-radius:10px;font-size:11px;font-weight:800}.paymode-note.salary{background:#f1f5f9;color:#64748b;border:1px solid #d1d5db}.paymode-note.perjob{background:#f8fafc;color:#111827;border:1px solid #d1d5db}.quick-status-dot{width:10px;height:10px;border-radius:50%;background:#10b981;box-shadow:0 0 0 3px #d1fae5}.quick-status-dot.off{background:#94a3b8;box-shadow:none}.quick-messenger-name{font-size:13px;font-weight:900;line-height:1.25}.quick-messenger-meta{font-size:10px;color:var(--muted);margin-top:3px}.quick-messenger-meta-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.quick-messenger-avatar{width:16px!important;height:16px!important;max-width:16px!important;max-height:16px!important;border-radius:50%;border:1px solid #cbd5e1;background:#f8fafc;object-fit:cover;display:inline-block;vertical-align:middle;flex:0 0 16px!important;overflow:hidden}.quick-messenger-code{font-size:10px;font-weight:800;color:#475569}.quick-messenger-state{font-size:10px;font-weight:900;color:#047857}.quick-messenger-state.off{color:#64748b}.quick-messenger-divider{font-size:10px;font-weight:900;color:#64748b;margin:8px 0 2px;padding-top:8px;border-top:1px solid var(--line)}.quick-unassigned{width:100%;margin-top:10px;background:#fff;border:1px dashed #94a3b8;color:#475569}.quick-selected-summary{margin-top:10px;padding:9px 10px;border-radius:10px;background:#eff6ff;color:#1e3a8a;font-size:11px;font-weight:800;line-height:1.45}
@media(max-width:900px){.job-composer-layout{grid-template-columns:1fr}.quick-messenger-panel{position:static;max-height:none;order:-1}.quick-messenger-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.quick-messenger-list{grid-template-columns:1fr}}
@media(max-width:650px){.grid{grid-template-columns:1fr}.row{flex-direction:column}.pay{text-align:left}.summary{grid-template-columns:1fr}.actions button{flex:1}.admin-price-strip{grid-template-columns:1fr}.pricebox.you .pvalue{font-size:30px}.scan-grid{grid-template-columns:1fr}.addon-grid,.livecalc{grid-template-columns:1fr}}

.customer-master{background:linear-gradient(135deg,#f0fdf4,#f8fafc);border:1px solid #bbf7d0;border-radius:18px;padding:16px;margin-bottom:14px}.customer-head{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.customer-search{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:8px;margin-top:10px}.customer-list{margin-top:10px;max-height:270px;overflow:auto}.customer-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;margin-top:7px}.customer-row .name{font-weight:900}.customer-row .meta{font-size:12px;color:var(--muted);margin-top:3px}.customer-actions{display:flex;gap:6px;flex-wrap:wrap}.customer-actions button{padding:7px 9px;font-size:12px}.importbox{background:#fff;border:1px dashed #86efac;border-radius:12px;padding:10px;margin-top:10px}.green{background:#047857;color:#fff}.tiny{font-size:11px;color:var(--muted)}

.messenger-master{background:linear-gradient(135deg,#eff6ff,#f8fafc);border:1px solid #bfdbfe;border-radius:18px;padding:16px;margin:14px 0}.messenger-head{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.messenger-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.messenger-person{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px}.messenger-person.inactive{opacity:.58;background:#f8fafc}.messenger-name{font-weight:900;font-size:16px}.messenger-meta{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.5}.statusdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#10b981;margin-right:5px}.statusdot.off{background:#94a3b8}.messenger-form{background:#fff;border:1px solid #dbeafe;border-radius:14px;padding:12px;margin-top:10px}.messenger-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.messenger-actions button{font-size:12px;padding:7px 9px}@media(max-width:650px){.messenger-grid{grid-template-columns:1fr}}

.report-panel{background:linear-gradient(135deg,#f8fafc,#eef2ff);border:1px solid #c7d2fe;border-radius:18px;padding:16px;margin:14px 0}.report-head{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.report-filters{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;margin-top:10px}.report-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.report-stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px}.report-stat .k{font-size:11px;color:var(--muted);font-weight:800}.report-stat .v{font-size:22px;font-weight:900;margin-top:3px}.history-row{display:grid;grid-template-columns:1.3fr .8fr .8fr .8fr;gap:8px;align-items:center;border-top:1px solid var(--line);padding:10px 0}.history-row:first-child{border-top:0}.history-title{font-weight:900}.history-meta{font-size:12px;color:var(--muted);margin-top:3px}.exportbtn{background:#0f766e;color:white}.report-empty{padding:18px;text-align:center;color:var(--muted)}
@media(max-width:650px){.report-filters{grid-template-columns:1fr 1fr}.report-stats{grid-template-columns:1fr 1fr}.history-row{grid-template-columns:1fr 1fr}.history-row .history-main{grid-column:1/-1}}
.performance-title{font-weight:900;font-size:15px;margin:14px 0 8px}.performance-table{display:grid;gap:8px}.performance-row{display:grid;grid-template-columns:1.35fr repeat(5,.72fr);gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px}.performance-row.head{background:#e0e7ff;border-color:#c7d2fe;font-size:11px;font-weight:900;color:#475569}.performance-name{font-weight:900}.performance-value{font-weight:900}.performance-sub{font-size:10px;color:var(--muted);margin-top:2px}.successnum{color:#047857}.failnum{color:#b91c1c}.pendingnum{color:#b45309}.period-chip{display:inline-block;padding:5px 9px;background:#eef2ff;color:#4338ca;border-radius:999px;font-size:11px;font-weight:900;margin-top:5px}@media(max-width:650px){.performance-row{grid-template-columns:1fr 1fr 1fr}.performance-row.head{display:none}.performance-name{grid-column:1/-1}.performance-row>div:not(.performance-name)::before{content:attr(data-label);display:block;font-size:10px;color:var(--muted);font-weight:800}}
@media(max-width:650px){.customer-search{grid-template-columns:1fr}.customer-row{grid-template-columns:1fr}.customer-actions button{flex:1}}
.customer-create-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.customer-create-row button{white-space:nowrap;min-height:43px}.quick-customer-form{margin:12px 0 4px;padding:14px;border:1px solid #86efac;border-radius:14px;background:linear-gradient(135deg,#f0fdf4,#f8fafc)}.quick-customer-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}.quick-customer-title{font-size:17px;font-weight:900}.quick-customer-form .grid{margin-top:8px}.quick-customer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.quick-customer-actions button{min-width:130px}@media(max-width:650px){.customer-create-row{grid-template-columns:1fr}.customer-create-row button{width:100%}.quick-customer-form .grid{grid-template-columns:1fr}.quick-customer-actions button{width:100%}}

/* V14 Executive Dashboard */
.exec-dashboard{background:linear-gradient(135deg,#111827,#1f2937);color:#fff;border-radius:22px;padding:18px;margin:14px 0 16px;box-shadow:0 14px 32px rgba(17,24,39,.18)}
.exec-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.exec-title{font-size:24px;font-weight:900;margin:0}.exec-sub{font-size:12px;color:#cbd5e1;margin-top:4px}.exec-refresh{background:#fff;color:#111827;padding:8px 11px;font-size:12px}
.exec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}.exec-card{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);border-radius:15px;padding:12px}.exec-card .ek{font-size:11px;color:#cbd5e1;font-weight:800}.exec-card .ev{font-size:27px;font-weight:900;margin-top:4px;line-height:1.1}.exec-card.highlight{background:#ecfdf5;color:#065f46;border-color:#6ee7b7}.exec-card.highlight .ek{color:#047857}.exec-card.warn{background:#fff7ed;color:#9a3412;border-color:#fdba74}.exec-card.warn .ek{color:#c2410c}
.exec-bottom{display:grid;grid-template-columns:1fr 1.25fr;gap:9px;margin-top:9px}.exec-panel{background:#fff;color:#111827;border-radius:15px;padding:12px}.exec-panel-title{font-size:12px;font-weight:900;color:#475569;margin-bottom:8px}.exec-top-name{font-size:20px;font-weight:900}.exec-top-pay{font-size:24px;font-weight:900;color:#047857;margin-top:3px}.exec-alert{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid #e5e7eb;font-size:12px}.exec-alert:first-of-type{border-top:0}.exec-alert .badge{font-size:10px;font-weight:900;border-radius:999px;padding:4px 7px;background:#fff7ed;color:#b45309}.exec-empty{font-size:12px;color:#64748b;padding:5px 0}
@media(max-width:650px){.exec-grid{grid-template-columns:1fr 1fr}.exec-bottom{grid-template-columns:1fr}.exec-card .ev{font-size:23px}}

/* V16 Messenger Settlement */
.settlement-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;margin:14px 0;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.settlement-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.settlement-title{font-size:22px;font-weight:900}.settlement-sub{color:#64748b;font-size:13px;margin-top:3px}
.settlement-filters{display:grid;grid-template-columns:1.25fr 1fr 1fr 1.4fr;gap:10px;margin-top:12px}.settlement-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.settle-stat{border:1px solid #e2e8f0;border-radius:14px;padding:12px;background:#f8fafc}.settle-stat .k{font-size:12px;color:#64748b}.settle-stat .v{font-size:24px;font-weight:900;margin-top:3px}.settle-stat.payable{background:#ecfdf5;border-color:#a7f3d0}.settle-stat.payable .v{color:#047857}
.settle-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.settle-history{margin-top:14px;border-top:1px solid #e2e8f0;padding-top:12px}.settle-row{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr auto;gap:10px;align-items:center;border:1px solid #e2e8f0;border-radius:12px;padding:10px;margin-top:8px}.settle-amount{font-size:18px;font-weight:900;color:#047857}.paid-chip{display:inline-flex;padding:4px 8px;border-radius:999px;background:#dcfce7;color:#166534;font-size:11px;font-weight:800}
@media(max-width:760px){.settlement-filters{grid-template-columns:1fr 1fr}.settlement-summary{grid-template-columns:1fr}.settle-row{grid-template-columns:1fr 1fr}.settle-row .full{grid-column:1/-1}}


/* V16.2 Assignment chooser */
.assign-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px}
.assign-overlay.show{display:flex}
.assign-modal{width:min(520px,100%);background:#fff;border-radius:18px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.25)}
.assign-modal h2{margin:0 0 6px;font-size:24px}
.assign-modal .assign-note{color:#64748b;margin-bottom:16px}
.assign-modal select{font-size:18px;padding:14px}
.assign-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.assign-confirm{background:#0f172a;color:#fff;border:0;border-radius:12px;padding:14px;font-weight:800;cursor:pointer}
.assign-cancel{background:#f1f5f9;color:#0f172a;border:0;border-radius:12px;padding:14px;font-weight:700;cursor:pointer}
.assignment-toast{position:fixed;right:24px;top:24px;z-index:12000;width:min(420px,calc(100% - 32px));background:#fff;border:1px solid #bbf7d0;border-radius:16px;box-shadow:0 18px 45px rgba(15,23,42,.22);padding:14px 16px;display:flex;gap:12px;align-items:flex-start;opacity:0;transform:translateY(-12px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.assignment-toast.show{display:flex!important;opacity:1;transform:translateY(0);pointer-events:auto}
.assignment-toast .toast-icon{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:#dcfce7;color:#166534;font-size:18px;font-weight:900}
.assignment-toast .toast-copy{min-width:0;flex:1}.assignment-toast .toast-title{font-size:15px;font-weight:900;color:#14532d;line-height:1.3}.assignment-toast .toast-detail{font-size:12px;color:#475569;line-height:1.45;margin-top:3px}.assignment-toast .toast-close{border:0;background:transparent;color:#64748b;font-size:18px;line-height:1;padding:4px;cursor:pointer}
.job-composer-titlebar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.job-composer-titlebar h2{margin:0}.new-job-btn{background:#0f172a;color:#fff;border:0;border-radius:12px;padding:10px 14px;font-weight:900;cursor:pointer;white-space:nowrap}.new-job-btn:hover{background:#1e293b}@media(max-width:640px){.job-composer-titlebar{align-items:stretch;flex-direction:column}.new-job-btn{width:100%}}
@media(max-width:640px){.assignment-toast{right:16px;top:16px}}


.bulk-panel{border:2px solid #c4b5fd;background:#faf5ff;border-radius:18px;padding:18px;margin:18px 0}.bulk-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.bulk-controls{display:grid;grid-template-columns:1.4fr 1fr .55fr .55fr;gap:10px;margin-top:12px}.bulk-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.bulk-stat{background:#fff;border:1px solid #ddd6fe;border-radius:12px;padding:10px}.bulk-stat b{display:block;font-size:22px}.route-card{background:#fff;border:1px solid #ddd6fe;border-radius:14px;padding:12px;margin-top:10px}.route-card ol{margin:8px 0 0 22px;padding:0}.bulk-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}@media(max-width:760px){.bulk-controls,.bulk-summary{grid-template-columns:1fr 1fr}}
.admin-section{margin:14px 0;border:1px solid #dbe4f0;border-radius:16px;background:#f8fafc;overflow:hidden}.admin-section>summary{cursor:pointer;list-style:none;padding:14px 16px;font-weight:900;color:#0f172a}.admin-section>summary::-webkit-details-marker{display:none}.admin-section>summary:after{content:'＋';float:right;color:#64748b}.admin-section[open]>summary:after{content:'−'}.admin-section-body{padding:0 12px 12px}.admin-section .muted{font-weight:500;margin-left:6px}.admin-section-body>.messenger-master,.admin-section-body>.settlement-panel,.admin-section-body>.report-panel{margin:0}
.admin-quickbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0;padding:10px 12px;background:#fff;border:1px solid #bfdbfe;border-radius:14px}.admin-quickbar a{display:inline-block;background:#1d4ed8;color:#fff;text-decoration:none;padding:9px 13px;border-radius:10px;font-weight:800}.admin-quickbar a:nth-child(2){background:#475569}.admin-quickbar span{color:#64748b;font-size:12px}

/* V19.7 Staff type + salary/per-job payout model */
#admin.composer-focused > *:not(.top):not(#jobComposer):not(#todayFold):not(#assignmentOverlay):not(#assignmentToast):not(.v21-sidebar):not(.v21-admin-header):not(.v21-page-intro):not(.exec-dashboard):not(#v2103CustomerPage):not(#v2103CustomerDetailOverlay):not(#v2105OrderPage):not(#v2105OrderDetailOverlay):not(#v2106MessengerPage):not(#v2109AnnouncementPage):not(#v2110SettingsPage){display:none!important}
#admin.composer-focused #jobComposer{display:block!important;margin-top:14px;border:2px solid #d9e2ef;box-shadow:0 12px 28px rgba(15,23,42,.08)}
#admin.composer-focused .top{margin-bottom:2px}
#admin.composer-focused #jobComposer>h2{font-size:26px;margin-bottom:14px}
.today-fold{display:block!important;margin:14px 0 0;border:1px solid #dbe4f0;border-radius:16px;background:#fff;overflow:hidden}
.today-fold>summary{cursor:pointer;list-style:none;padding:15px 17px;font-weight:900;color:#0f172a;display:flex;align-items:center;gap:10px;background:#f8fafc}
.today-fold>summary::-webkit-details-marker{display:none}
.today-fold>summary:after{content:'＋';margin-left:auto;font-size:20px;color:#64748b}
.today-fold[open]>summary:after{content:'−'}
.today-fold-note{font-size:12px;color:#64748b;font-weight:600}
.today-fold-count{margin-left:auto;margin-right:4px;padding:4px 9px;border-radius:999px;background:#eaf1ff;color:#1d4ed8;font-size:12px;white-space:nowrap}
.today-fold[open] .today-fold-count{margin-left:auto}
.today-fold-body{padding:14px}
.today-fold-body>h2{margin:0 0 12px}
.today-fold-body .admin-section{display:block!important}
@media(max-width:650px){#admin.composer-focused #jobComposer{margin-top:10px}.today-fold>summary{align-items:flex-start;flex-wrap:wrap}.today-fold-note{width:100%;padding-left:28px}.today-fold-count{margin-left:28px}}

/* V19.21 Simple order wizard */
.order-wizard-progress{display:grid;grid-template-columns:repeat(3,1fr);border-radius:14px;overflow:hidden;border:1px solid #dbe4f0;margin:4px 0 16px;background:#f8fafc}.order-wizard-progress .wiz-step{padding:12px 10px;text-align:center;font-size:13px;font-weight:900;color:#64748b;border-right:1px solid #e2e8f0}.order-wizard-progress .wiz-step:last-child{border-right:0}.order-wizard-progress .wiz-step.active{background:#111827;color:#fff}.order-wizard-progress .wiz-step.done{background:#ecfdf5;color:#047857}
.order-landing{max-width:760px;margin:0 auto}.landing-section{margin-top:14px}.landing-caption{font-size:12px;font-weight:900;color:#475569;margin:0 0 7px}.vehicle-fixed{display:flex;align-items:center;gap:14px;padding:16px;border:2px solid #111827;border-radius:16px;background:#fff}.vehicle-fixed .vehicle-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#f1f5f9;font-size:28px}.vehicle-fixed b{font-size:18px}.vehicle-fixed .tiny{margin-top:3px}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.choice-grid.three{grid-template-columns:repeat(3,1fr)}.choice-card{border:2px solid #e5e7eb;background:#fff;color:#334155;border-radius:16px;padding:14px 12px;text-align:center;min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:14px}.choice-card .choice-icon{font-size:22px}.choice-card small{font-size:10px;color:#64748b;font-weight:700}.choice-card.selected{border-color:#111827;background:#111827;color:#fff;box-shadow:0 8px 20px rgba(15,23,42,.14)}.choice-card.selected small{color:#cbd5e1}.choice-card.full-day.selected{background:#7c3aed;border-color:#7c3aed}.schedule-fields{margin-top:10px;padding:12px;border:1px solid #dbe4f0;border-radius:14px;background:#f8fafc}.schedule-fields .grid{grid-template-columns:1fr 1fr}
.location-panel-simple{margin-top:14px;border:1px solid #dbe4f0;border-radius:18px;padding:14px;background:#fff}.location-line{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;margin-top:9px}.location-line:first-child{margin-top:0}.location-badge{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:900;color:#fff}.location-badge.pickup{background:#0ea5e9}.location-badge.drop{background:#eab308;color:#713f12}.location-line input{margin-top:0}.location-input-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}.google-place-btn{height:43px;min-width:46px;padding:0 10px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;color:#1f2937;font-size:15px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}.google-place-btn:hover{background:#f8fafc;border-color:#94a3b8}.google-g{font-family:Arial,sans-serif;font-weight:900;color:#2563eb}.google-autocomplete-host{position:relative;min-width:0}.google-suggest-menu{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:5000;background:#fff;border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 16px 36px rgba(15,23,42,.18);overflow:hidden;display:none;max-height:310px;overflow-y:auto}.google-suggest-menu.show{display:block}.google-suggest-item{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #eef2f7;background:#fff;color:#0f172a;padding:10px 12px;border-radius:0;font-weight:700;line-height:1.35;cursor:pointer}.google-suggest-item:last-child{border-bottom:0}.google-suggest-item:hover,.google-suggest-item.active{background:#eff6ff}.google-suggest-main{display:block;font-size:13px}.google-suggest-sub{display:block;font-size:10px;color:#64748b;margin-top:3px;font-weight:600}.google-powered{padding:6px 10px;font-size:9px;text-align:right;color:#64748b;background:#f8fafc}.google-api-status{font-size:10px;margin:7px 0 0 43px;color:#64748b}.google-api-status.ok{color:#047857}.google-api-status.err{color:#b91c1c}@media(max-width:600px){.google-api-status{margin-left:0}.google-suggest-menu{max-height:260px}}.map-search-help{font-size:10px;color:#64748b;margin:5px 0 0 43px}.remove-drop{padding:8px 9px;background:#fff;border:1px solid #fecaca;color:#b91c1c}.add-drop-btn{width:100%;margin-top:10px;background:#fff;border:1px dashed #94a3b8;color:#334155}@media(max-width:600px){.google-place-btn{min-width:42px;padding:0 8px}.google-place-btn .gm-text{display:none}.map-search-help{margin-left:0}}.replacement-route-note{padding:10px 12px;border-radius:12px;background:#fff7ed;color:#9a3412;font-size:12px;font-weight:800;margin-top:10px}.wizard-next{width:100%;padding:15px 16px;margin-top:16px;border-radius:14px;background:#111827;color:#fff;font-size:16px}.wizard-next:disabled{background:#cbd5e1;color:#64748b;cursor:not-allowed}.wizard-next-note{text-align:center;margin-top:7px;color:#64748b;font-size:11px}.detail-step-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding:10px 12px;border-radius:14px;background:#f8fafc;border:1px solid #dbe4f0}.detail-route-summary{font-size:12px;color:#475569;font-weight:800;text-align:right}.wizard-back{background:#fff;border:1px solid #cbd5e1;color:#334155}.wizard-hidden-route{display:none!important}.full-day-notice{background:#f5f3ff;border:1px solid #c4b5fd;color:#5b21b6;border-radius:12px;padding:10px 12px;font-size:12px;font-weight:800;margin:10px 0}.full-day-price-lock{background:#f5f3ff!important;border-color:#8b5cf6!important;color:#5b21b6!important;font-weight:900}
.service-step-shell{max-width:760px;margin:0 auto}.service-panel-clean{background:#fff;border:1px solid #dbe4f0;border-radius:18px;padding:16px;margin-bottom:12px}.service-panel-title{font-size:16px;font-weight:900;margin-bottom:12px}.service-option-list{display:flex;flex-direction:column;gap:10px}.service-option-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #e2e8f0;border-radius:14px;padding:12px;background:#fff;cursor:pointer}.service-option-card:hover{border-color:#94a3b8;background:#f8fafc}.service-option-card.selected{border:2px solid #111827;background:#f8fafc;padding:11px}.service-option-icon{width:38px;height:38px;border-radius:12px;background:#f1f5f9;display:grid;place-items:center;font-size:19px}.service-option-copy b{display:block;font-size:14px}.service-option-copy small{display:block;color:#64748b;margin-top:3px;line-height:1.45}.service-toggle{width:22px;height:22px;border:2px solid #94a3b8;border-radius:6px;display:grid;place-items:center;font-size:13px;font-weight:900;color:#fff}.service-option-card.selected .service-toggle{background:#111827;border-color:#111827}.service-subfields{margin:8px 0 0 54px;padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.service-subfields .grid{grid-template-columns:1fr 1fr}.service-note-box textarea{min-height:90px}.service-fee-summary{margin-top:12px;padding:12px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;display:flex;justify-content:space-between;gap:12px;align-items:center}.service-fee-summary b{font-size:20px}.service-next-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.service-next-actions button{padding:14px}.service-step-route{font-size:12px;color:#475569;font-weight:800;margin-top:5px;line-height:1.5}.service-back-btn{background:#fff;border:1px solid #cbd5e1}.service-next-btn{background:#111827;color:#fff}.service-next-btn:disabled{background:#cbd5e1;color:#64748b}.service-hidden-original{display:none!important}
.booking-step-shell{width:100%;max-width:none;margin:0;display:grid;grid-template-columns:minmax(380px,520px) minmax(420px,1fr);gap:14px;align-items:start}.booking-step-shell>.detail-step-head{grid-column:1/-1}.booking-step-shell>.booking-summary-card,.booking-step-shell>.booking-admin-detail{grid-column:1}.booking-summary-card{background:#fff;border:1px solid #dbe4f0;border-radius:18px;padding:16px;margin-bottom:12px}.booking-summary-title{font-size:16px;font-weight:900;margin-bottom:12px}.booking-overview{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start}.booking-bike{width:42px;height:42px;border-radius:13px;background:#f1f5f9;display:grid;place-items:center;font-size:22px}.booking-overview b{font-size:15px}.booking-meta{display:grid;gap:8px;margin-top:10px}.booking-meta-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed #e5e7eb;font-size:13px}.booking-meta-row:last-child{border-bottom:0}.booking-meta-row span:first-child{color:#64748b}.booking-meta-row strong{text-align:right}.booking-route-box{margin-top:10px;padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;font-size:13px;font-weight:800;line-height:1.55}.booking-price-list{display:grid;gap:8px}.booking-price-row{display:flex;justify-content:space-between;gap:12px;font-size:14px}.booking-price-row.total{padding-top:10px;border-top:1px solid #dbe4f0;font-size:17px;font-weight:900}.booking-price-row.total strong{font-size:22px}.booking-payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.booking-pay-choice{border:1px solid #dbe4f0;background:#fff;border-radius:14px;padding:13px;text-align:left;cursor:pointer}.booking-pay-choice.selected{border:2px solid #111827;background:#f8fafc;padding:12px}.booking-pay-choice b{display:block}.booking-pay-choice small{display:block;color:#64748b;margin-top:4px}.booking-contact-line{font-size:13px;line-height:1.6;color:#475569}.booking-contact-line b{color:#0f172a}.booking-admin-detail{margin-top:0}.booking-admin-detail>.job-composer-main{background:#fff;border:1px solid #dbe4f0;border-radius:18px;padding:14px}.booking-admin-caption{font-size:13px;font-weight:900;margin-bottom:10px;color:#334155}.booking-original-type{display:none}.booking-confirm-note{font-size:11px;color:#64748b;margin-top:8px;text-align:center}.booking-map-pane{grid-column:2;grid-row:2/span 20;position:sticky;top:12px;min-height:680px;height:calc(100vh - 120px);border:1px solid #dbe4f0;border-radius:18px;overflow:hidden;background:#e8edf2;box-shadow:0 10px 26px rgba(15,23,42,.08)}.booking-map-head{position:absolute;z-index:500;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;gap:10px;pointer-events:none}.booking-map-title{pointer-events:auto;background:rgba(255,255,255,.96);border:1px solid #dbe4f0;border-radius:12px;padding:10px 12px;box-shadow:0 5px 18px rgba(15,23,42,.12);font-size:13px;font-weight:900}.booking-map-title small{display:block;color:#64748b;font-weight:600;margin-top:3px}.booking-map-actions{display:flex;gap:7px;pointer-events:auto}.booking-map-actions button{background:#fff;border:1px solid #cbd5e1;padding:9px 10px}.booking-route-map{width:100%;height:100%;min-height:680px}.booking-map-footer{position:absolute;z-index:500;left:12px;right:12px;bottom:12px;background:rgba(255,255,255,.96);border:1px solid #dbe4f0;border-radius:12px;padding:10px 12px;box-shadow:0 5px 18px rgba(15,23,42,.12);font-size:12px;color:#475569;line-height:1.5}.route-number-marker{width:32px!important;height:32px!important;margin-left:-16px!important;margin-top:-16px!important;border-radius:50%;background:#111827;border:3px solid #fff;color:#fff;display:grid!important;place-items:center;font-size:13px;font-weight:900;box-shadow:0 4px 12px rgba(15,23,42,.35)}.route-number-marker.pickup{background:#0ea5e9}.route-number-marker.return{background:#7c3aed}.map-geocode-note{font-size:11px;color:#64748b;margin-top:3px}.booking-map-loading{position:absolute;z-index:550;inset:0;display:none;align-items:center;justify-content:center;background:rgba(241,245,249,.72);font-weight:900;color:#334155}.booking-map-loading.show{display:flex}.booking-admin-detail .job-composer-layout{grid-template-columns:1fr}.booking-admin-detail .quick-messenger-panel{position:static;max-height:360px}.booking-admin-detail .quick-messenger-list{display:grid;grid-template-columns:1fr 1fr}.booking-admin-detail .grid{grid-template-columns:1fr}.booking-route-map .gm-style{font-family:Arial,sans-serif}.booking-map-error{position:absolute;inset:0;display:none;align-items:center;justify-content:center;padding:24px;text-align:center;background:#f8fafc;color:#b91c1c;font-weight:900;z-index:560}.booking-map-error.show{display:flex}@media(max-width:980px){.booking-step-shell{grid-template-columns:1fr}.booking-step-shell>.detail-step-head,.booking-step-shell>.booking-summary-card,.booking-step-shell>.booking-admin-detail,.booking-map-pane{grid-column:1}.booking-map-pane{grid-row:auto;position:relative;top:auto;height:430px;min-height:430px;margin-bottom:12px}.booking-route-map{min-height:430px}.booking-admin-detail .quick-messenger-list{grid-template-columns:1fr 1fr}}@media(max-width:700px){.booking-payment-grid{grid-template-columns:1fr}.booking-meta-row{flex-direction:column;gap:3px}.booking-meta-row strong{text-align:left}.booking-map-pane{height:360px;min-height:360px}.booking-route-map{min-height:360px}.booking-admin-detail .quick-messenger-list{grid-template-columns:1fr}}

@media(max-width:700px){.choice-grid.three{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr 1fr}.schedule-fields .grid{grid-template-columns:1fr}.detail-step-head{align-items:flex-start;flex-direction:column}.detail-route-summary{text-align:left}.location-line{grid-template-columns:32px minmax(0,1fr) auto}}

/* V19.30 One Page Order UI */
#admin.onepage-order-mode > #todayFold{display:none!important}
#admin.onepage-order-mode #orderWizardProgress,
#admin.onepage-order-mode #landingNextBtn,
#admin.onepage-order-mode #landingNextNote,
#admin.onepage-order-mode .service-next-actions,
#admin.onepage-order-mode .wizard-back{display:none!important}
#admin.onepage-order-mode #jobComposer{margin-top:14px;border:2px solid #dbe4f0;border-radius:24px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);box-shadow:0 18px 40px rgba(15,23,42,.08);padding:18px}
#admin.onepage-order-mode .job-composer-titlebar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
#admin.onepage-order-mode .job-composer-titlebar h2{margin:0;font-size:28px}
#admin.onepage-order-mode .new-job-btn{box-shadow:0 8px 18px rgba(15,23,42,.12)}
#admin.onepage-order-mode .onepage-hero{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid #dbe4f0;border-radius:18px;background:linear-gradient(135deg,#eff6ff 0%,#ffffff 100%);margin-bottom:14px}
#admin.onepage-order-mode .onepage-hero-title{font-size:18px;font-weight:900;color:#0f172a}
#admin.onepage-order-mode .onepage-hero-note{font-size:12px;color:#475569;line-height:1.6;margin-top:4px}
#admin.onepage-order-mode .onepage-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#111827;color:#fff;font-size:11px;font-weight:900;white-space:nowrap}
#admin.onepage-order-mode .single-page-step{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;padding:12px 14px;border-radius:16px;background:#f8fafc;border:1px solid #dbe4f0}
#admin.onepage-order-mode .single-page-step-num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#111827;color:#fff;font-size:14px;font-weight:900;flex:0 0 34px}
#admin.onepage-order-mode .single-page-step-copy b{display:block;font-size:16px;color:#0f172a}
#admin.onepage-order-mode .single-page-step-copy small{display:block;font-size:12px;color:#64748b;line-height:1.5;margin-top:2px}
#admin.onepage-order-mode #orderLandingStep,
#admin.onepage-order-mode #orderServicesStep,
#admin.onepage-order-mode #orderDetailsStep{display:block!important;margin-top:16px}
#admin.onepage-order-mode .order-landing,
#admin.onepage-order-mode .service-step-shell{max-width:none}
#admin.onepage-order-mode .location-panel-simple,
#admin.onepage-order-mode .vehicle-fixed,
#admin.onepage-order-mode .service-panel-clean,
#admin.onepage-order-mode .booking-summary-card,
#admin.onepage-order-mode .booking-admin-detail>.job-composer-main{box-shadow:0 10px 22px rgba(15,23,42,.04)}
#admin.onepage-order-mode .detail-step-head{background:linear-gradient(135deg,#eff6ff 0%,#f8fafc 100%);border-color:#cfe2ff}
#admin.onepage-order-mode .detail-step-head b{font-size:18px}
#admin.onepage-order-mode .service-fee-summary{background:linear-gradient(135deg,#f8fafc 0%,#ffffff 100%)}
#admin.onepage-order-mode .booking-step-shell{display:grid;grid-template-columns:minmax(360px,520px) minmax(420px,1fr);gap:16px;align-items:start}
#admin.onepage-order-mode .booking-step-shell>.detail-step-head{grid-column:1/-1}
#admin.onepage-order-mode .booking-map-pane{top:18px}
#admin.onepage-order-mode .booking-summary-card:last-of-type{margin-bottom:16px}
#admin.onepage-order-mode .order-inline-tip{margin-top:10px;padding:10px 12px;border-radius:12px;background:#ecfeff;border:1px solid #a5f3fc;color:#155e75;font-size:12px;font-weight:800}
#admin.onepage-order-mode .quick-messenger-panel{border:1px solid #dbe4f0;background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%)}
#admin.onepage-order-mode .quick-selected-summary{background:#eff6ff}
#admin.onepage-order-mode .google-api-status.err{font-weight:800}
#admin.onepage-order-mode .booking-map-footer b{display:block}
#admin.onepage-order-mode .single-page-actions-note{margin-top:10px;padding:10px 12px;border:1px dashed #94a3b8;border-radius:12px;background:#fff;font-size:12px;color:#475569}
@media(max-width:980px){
  #admin.onepage-order-mode #jobComposer{padding:14px}
  #admin.onepage-order-mode .job-composer-titlebar h2{font-size:24px}
  #admin.onepage-order-mode .booking-step-shell{grid-template-columns:1fr}
  #admin.onepage-order-mode .booking-map-pane{position:relative;top:auto;height:420px;min-height:420px;margin-bottom:12px}
}
@media(max-width:650px){
  #admin.onepage-order-mode .job-composer-titlebar{align-items:stretch}
  #admin.onepage-order-mode .job-composer-titlebar h2{font-size:22px}
  #admin.onepage-order-mode .onepage-hero{flex-direction:column}
  #admin.onepage-order-mode .choice-grid,
  #admin.onepage-order-mode .choice-grid.three,
  #admin.onepage-order-mode .booking-payment-grid{grid-template-columns:1fr}
  #admin.onepage-order-mode .single-page-step{padding:10px 12px}
}


/* V19.32 cleanup */
#admin.onepage-order-mode .exec-dashboard,
#admin.onepage-order-mode .admin-quickbar,
#admin.onepage-order-mode #orderWizardProgress,
#admin.onepage-order-mode .wizard-progress,
#admin.onepage-order-mode .wizard-back,
#admin.onepage-order-mode .detail-step-head{display:none!important;}
#admin.onepage-order-mode .job-composer-main > .routebox:not(#replacementFields){display:none!important;}
#admin.onepage-order-mode .booking-summary-card{padding:14px}
#admin.onepage-order-mode .booking-summary-title{font-size:15px}
#admin.onepage-order-mode .booking-route-box{font-size:12px}
#admin.onepage-order-mode .job-composer-layout.booking-admin-detail{grid-template-columns:minmax(0,1fr) 300px;gap:12px}
#admin.onepage-order-mode .job-composer-layout.booking-admin-detail .job-composer-main{padding:12px 14px 88px}
#admin.onepage-order-mode .job-composer-layout.booking-admin-detail .job-composer-main .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#admin.onepage-order-mode .job-composer-layout.booking-admin-detail .job-composer-main label{font-size:12px;font-weight:800;color:#334155}
#admin.onepage-order-mode .job-composer-layout.booking-admin-detail .job-composer-main input,
#admin.onepage-order-mode .job-composer-layout.booking-admin-detail .job-composer-main select,
#admin.onepage-order-mode .job-composer-layout.booking-admin-detail .job-composer-main textarea{min-height:40px;border-radius:12px}
#admin.onepage-order-mode #stopBuilder .stop{padding:12px;border-radius:16px;background:linear-gradient(180deg,#ffffff 0%,#fafcff 100%);box-shadow:0 6px 16px rgba(15,23,42,.05)}
#admin.onepage-order-mode #stopBuilder .stop b{font-size:15px}
#admin.onepage-order-mode #stopBuilder .livecalc{margin-top:10px;background:#f8fafc;border-radius:12px;padding:10px}
#admin.onepage-order-mode .booking-admin-caption{margin-bottom:12px}
#admin.onepage-order-mode .quick-messenger-panel{padding:10px;border-radius:16px}
#admin.onepage-order-mode .quick-messenger-list{display:flex;flex-direction:column;gap:8px}
#admin.onepage-order-mode .quick-messenger-card{padding:9px;border-radius:12px}
#admin.onepage-order-mode .quick-messenger-name{font-size:12px}
#admin.onepage-order-mode .quick-messenger-meta{font-size:9px}
#admin.onepage-order-mode .quick-selected-summary,#admin.onepage-order-mode .quick-unassigned{font-size:11px}
#admin.onepage-order-mode .customer-create-row{grid-template-columns:minmax(0,1fr) 170px}
#admin.onepage-order-mode .quick-customer-form .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#admin.onepage-order-mode .service-hidden-original{display:block!important}
#admin.onepage-order-mode .booking-step-shell{gap:12px}
#admin.onepage-order-mode .booking-map-pane{min-height:560px;height:calc(100vh - 160px)}
#admin.onepage-order-mode .booking-route-map{min-height:560px}
#admin.onepage-order-mode .sticky-order-actions{position:sticky;bottom:0;z-index:40;margin-top:12px}
#admin.onepage-order-mode .sticky-order-actions-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border:1px solid rgba(15,23,42,.08);box-shadow:0 -8px 24px rgba(15,23,42,.10)}
#admin.onepage-order-mode .sticky-order-copy b{display:block;font-size:15px;color:#0f172a}
#admin.onepage-order-mode .sticky-order-copy small{display:block;color:#64748b}
#admin.onepage-order-mode .sticky-order-btns{display:flex;gap:10px;flex-wrap:wrap}
#admin.onepage-order-mode .sticky-order-btns .secondary,#admin.onepage-order-mode .sticky-order-btns .primary{margin:0;min-width:220px}
@media(max-width:980px){
  #admin.onepage-order-mode .job-composer-layout.booking-admin-detail{grid-template-columns:1fr}
  #admin.onepage-order-mode .job-composer-layout.booking-admin-detail .job-composer-main .grid,
  #admin.onepage-order-mode .quick-customer-form .grid{grid-template-columns:1fr}
  #admin.onepage-order-mode .booking-map-pane{min-height:420px;height:420px}
  #admin.onepage-order-mode .booking-route-map{min-height:420px}
  #admin.onepage-order-mode .sticky-order-actions-inner{flex-direction:column;align-items:stretch}
  #admin.onepage-order-mode .sticky-order-btns{width:100%;display:grid;grid-template-columns:1fr}
  #admin.onepage-order-mode .sticky-order-btns .secondary,#admin.onepage-order-mode .sticky-order-btns .primary{min-width:0;width:100%}
}


/* V19.33 beauty + action improvements */
#admin.onepage-order-mode{background:linear-gradient(180deg,#f8fbff 0%,#f3f7fb 100%)}
#admin.onepage-order-mode #jobComposer{max-width:1480px;margin:0 auto;padding:16px;background:transparent;border:none;box-shadow:none}
#admin.onepage-order-mode .job-composer-titlebar{padding:16px 18px;border:1px solid #d7e3f2;border-radius:24px;background:linear-gradient(135deg,#0f172a 0%,#111827 52%,#1d4ed8 100%);box-shadow:0 18px 36px rgba(15,23,42,.12)}
#admin.onepage-order-mode .job-composer-titlebar h2{color:#fff}
#admin.onepage-order-mode .job-composer-titlebar .muted{color:rgba(255,255,255,.82)!important}
#admin.onepage-order-mode .onepage-chip{background:#fff;color:#0f172a;border-color:rgba(255,255,255,.35)}
#admin.onepage-order-mode .onepage-hero{padding:16px 18px;border-radius:22px;background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);border:1px solid #dbe7f3;box-shadow:0 12px 28px rgba(15,23,42,.06)}
#admin.onepage-order-mode .single-page-step{border-radius:18px;background:linear-gradient(135deg,#eff6ff 0%,#ffffff 100%);border:1px solid #d9e7f5}
#admin.onepage-order-mode .location-panel-simple,
#admin.onepage-order-mode .service-panel-clean,
#admin.onepage-order-mode .booking-summary-card,
#admin.onepage-order-mode .booking-admin-detail>.job-composer-main,
#admin.onepage-order-mode .quick-messenger-panel,
#admin.onepage-order-mode .booking-map-pane{border:1px solid #d9e4ef!important;border-radius:22px;box-shadow:0 12px 28px rgba(15,23,42,.05)!important;background:#fff}
#admin.onepage-order-mode .service-panel-clean{padding:16px}
#admin.onepage-order-mode .booking-summary-card{padding:16px}
#admin.onepage-order-mode .booking-summary-title{font-size:16px;font-weight:900;color:#0f172a}
#admin.onepage-order-mode .booking-price-row.total{margin-top:8px;padding:14px 12px;border:1px solid #dbe4f0;border-radius:16px;background:linear-gradient(135deg,#eff6ff 0%,#ffffff 100%)}
#admin.onepage-order-mode .booking-price-row.total strong{font-size:28px;color:#111827}
#admin.onepage-order-mode .booking-action-card{background:linear-gradient(135deg,#0f172a 0%,#172554 100%);border-color:#1e3a8a!important;color:#fff}
#admin.onepage-order-mode .booking-action-card .booking-summary-title,
#admin.onepage-order-mode .booking-action-card .booking-confirm-note{color:#fff}
#admin.onepage-order-mode .booking-action-copy{font-size:13px;line-height:1.65;color:rgba(255,255,255,.88);margin:8px 0 12px}
#admin.onepage-order-mode .booking-action-buttons{display:grid;grid-template-columns:1fr;gap:10px}
#admin.onepage-order-mode .booking-action-card .secondary{background:#fff;color:#0f172a;border:none}
#admin.onepage-order-mode .booking-action-card .primary{background:#22c55e;color:#fff;border:none;box-shadow:none}
#admin.onepage-order-mode .booking-action-card .secondary:hover{background:#f8fafc}
#admin.onepage-order-mode .booking-action-card .primary:hover{background:#16a34a}
#admin.onepage-order-mode .job-composer-layout.booking-admin-detail{grid-template-columns:minmax(0,1fr) 280px;gap:14px}
#admin.onepage-order-mode .job-composer-layout.booking-admin-detail .job-composer-main{padding:14px 16px 90px;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)}
#admin.onepage-order-mode .job-composer-layout.booking-admin-detail .job-composer-main .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#admin.onepage-order-mode .job-composer-main .routebox:not(#replacementFields){display:none!important}
#admin.onepage-order-mode .order-bottom-inline-actions{display:none!important}
#admin.onepage-order-mode .quick-messenger-head{margin-bottom:12px}
#admin.onepage-order-mode .quick-messenger-note{font-size:10px}
#admin.onepage-order-mode .quick-messenger-panel{padding:12px;max-height:calc(100vh - 120px)}
#admin.onepage-order-mode .quick-selected-summary{background:#f8fafc;border:1px solid #e2e8f0;color:#334155}
#admin.onepage-order-mode .sticky-order-actions{display:none!important}
#admin.onepage-order-mode .booking-map-head{padding-right:0}
#admin.onepage-order-mode .booking-map-title{font-size:13px;border-radius:14px}
#admin.onepage-order-mode .booking-map-actions button{border-radius:12px;font-weight:800}
#admin.onepage-order-mode .booking-map-footer{border-radius:14px}
#admin.onepage-order-mode .job-composer-layout.booking-admin-detail .job-composer-main .booking-admin-caption{font-size:14px;font-weight:900;color:#0f172a}
#admin.onepage-order-mode .customer-create-row button.green{min-width:170px}
#admin.onepage-order-mode .booking-contact-line{line-height:1.7}
#admin.onepage-order-mode .order-inline-tip{border-radius:14px}
#admin.onepage-order-mode .quick-customer-form{border:1px solid #dbe4f0;border-radius:18px;background:#fbfdff;padding:14px;box-shadow:0 10px 20px rgba(15,23,42,.04)}
@media(max-width:980px){
  #admin.onepage-order-mode .job-composer-layout.booking-admin-detail{grid-template-columns:1fr}
  #admin.onepage-order-mode .quick-messenger-panel{max-height:none}
  #admin.onepage-order-mode .customer-create-row{grid-template-columns:1fr}
}


/* V19.36 hard cleanup */
#admin.onepage-order-mode .booking-admin-detail .job-composer-main>.routebox:not(#replacementFields){display:none!important}
#admin.onepage-order-mode .booking-admin-caption{font-size:15px;font-weight:900;margin:0 0 10px;color:#0f172a}
#admin.onepage-order-mode .booking-action-card{position:sticky;top:12px;z-index:20}
#admin.onepage-order-mode .booking-action-buttons button{min-height:48px;font-size:14px;font-weight:900;border-radius:14px}

/* V19.36 replacement jobs: no price required */
.replacement-no-price-note{margin-top:10px;padding:12px 14px;border-radius:14px;background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;font-size:12px;font-weight:900;line-height:1.55}
#admin.onepage-order-mode #replacementFields{border:1px solid #bbf7d0!important;background:linear-gradient(180deg,#f0fdf4 0%,#ffffff 100%)!important}
#admin.onepage-order-mode #replacementFields .grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:850px){#admin.onepage-order-mode #replacementFields .grid{grid-template-columns:1fr!important}}


/* V19.36 top customer + active messenger layout */
#admin.onepage-order-mode .top-order-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start;margin-top:14px}
#admin.onepage-order-mode .top-order-main{min-width:0}
#admin.onepage-order-mode .top-customer-card{background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);border:1px solid #d8e4f0;border-radius:20px;padding:14px 16px;margin-bottom:12px;box-shadow:0 10px 24px rgba(15,23,42,.05)}
#admin.onepage-order-mode .top-customer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
#admin.onepage-order-mode .top-customer-title{font-size:17px;font-weight:900;color:#0f172a}
#admin.onepage-order-mode .top-customer-note{font-size:11px;color:#64748b;margin-top:2px}
#admin.onepage-order-mode .top-add-customer-btn{margin:0;min-width:150px;box-shadow:0 6px 14px rgba(22,163,74,.16)}
#admin.onepage-order-mode .top-customer-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#admin.onepage-order-mode .top-customer-fields label{font-size:11px;font-weight:900;color:#475569}
#admin.onepage-order-mode .top-customer-fields select{min-height:42px;border-radius:12px;background:#fff}
#admin.onepage-order-mode .top-customer-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;padding-top:10px;border-top:1px dashed #dbe4f0}
#admin.onepage-order-mode .top-customer-contact-fields label{font-size:11px;font-weight:900;color:#475569}
#admin.onepage-order-mode .top-customer-contact-fields input{min-height:42px;border-radius:12px;background:#fff}
#admin.onepage-order-mode .top-customer-autofill-note{grid-column:1/-1;display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;color:#64748b;font-size:11px;line-height:1.5}
#admin.onepage-order-mode .top-customer-autofill-note.saved{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
@media(max-width:650px){#admin.onepage-order-mode .top-customer-contact-fields{grid-template-columns:1fr}}
#admin.onepage-order-mode #quickCustomerForm{margin:0 0 12px 0;border-radius:18px}
#admin.onepage-order-mode .top-active-messenger-panel{position:sticky;top:12px;max-height:calc(100vh - 30px);padding:14px;border-radius:20px;background:linear-gradient(180deg,#0f172a 0%,#111827 100%);border:1px solid #1f2937;box-shadow:0 14px 30px rgba(15,23,42,.16);color:#fff}
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-title{color:#fff;font-size:17px}
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-note{color:#cbd5e1}
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-count{background:#dcfce7;color:#166534}
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-list{display:flex;flex-direction:column;gap:9px}
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-card{background:#fff;border:1px solid #dbe4f0;border-radius:14px;padding:11px;color:#0f172a}
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-card.selected{border:2px solid #22c55e;background:#f0fdf4;padding:10px}
#admin.onepage-order-mode .top-active-messenger-panel .quick-unassigned{background:transparent;color:#e2e8f0;border-color:#64748b}
#admin.onepage-order-mode .top-active-messenger-panel .quick-selected-summary{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.12)}
#admin.onepage-order-mode .customer-moved-note{grid-column:1/-1;padding:9px 10px;border-radius:10px;background:#f8fafc;color:#64748b;font-size:11px;text-align:center}
#admin.onepage-order-mode #orderLandingStep{margin-top:0}
#admin.onepage-order-mode #orderWizardProgress{margin-bottom:12px}
@media(max-width:1050px){#admin.onepage-order-mode .top-order-layout{grid-template-columns:1fr 280px}}
@media(max-width:850px){
 #admin.onepage-order-mode .top-order-layout{grid-template-columns:1fr}
 #admin.onepage-order-mode .top-active-messenger-panel{position:static;max-height:none;order:2}
 #admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
 #admin.onepage-order-mode .top-customer-head{align-items:stretch;flex-direction:column}
 #admin.onepage-order-mode .top-add-customer-btn{width:100%}
 #admin.onepage-order-mode .top-customer-fields{grid-template-columns:1fr}
 #admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-list{grid-template-columns:1fr}
}



/* V19.37 Premium White · Gold · Black */
:root{
  --bg:#f7f5ef;
  --card:#ffffff;
  --ink:#17140f;
  --muted:#706857;
  --line:#ddcfaa;
  --dark:#090909;
  --ok:#9a771d;
  --warn:#9a6b00;
  --blue:#090909;
  --gold:#c7a84b;
  --gold-deep:#9f7f26;
  --gold-soft:#f7f0dc;
}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{
  background:linear-gradient(180deg,#ffffff 0%,#f8f6ef 58%,#f3efe4 100%);
  color:var(--ink);
  font-family:"Leelawadee UI","Thonburi",Tahoma,"Segoe UI",sans-serif;
  font-size:15px;
  line-height:1.55;
  letter-spacing:.01em;
}
.wrap{max-width:1280px;padding-top:20px}
.card{border-color:var(--line);box-shadow:0 8px 24px rgba(30,24,12,.045)}
h1,h2,h3,.brand-title,.top-customer-title,.booking-summary-title,.service-panel-title,.landing-caption{color:#12100c;letter-spacing:.005em}
.muted,.tiny{color:var(--muted)!important;font-size:13px;line-height:1.55}
small{font-size:12.5px!important;line-height:1.5}
label{font-size:14px;font-weight:800;color:#2c271e}
input,select,textarea{
  min-height:44px;
  padding:11px 13px;
  border:1px solid #d8ca9f;
  border-radius:12px;
  background:#fff;
  color:#17140f;
  font-size:15px;
  font-weight:600;
  outline:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);
}
input:focus,select:focus,textarea:focus{
  border-color:var(--gold-deep);
  box-shadow:0 0 0 3px rgba(199,168,75,.16);
}
button{font-size:14px;letter-spacing:.01em}
.primary,.blue{background:#090909!important;color:#fff!important;border:1px solid #090909!important}
.secondary{background:#fff!important;color:#17140f!important;border:1px solid #cdbb84!important}
.green{background:linear-gradient(180deg,#d6ba62 0%,#b89535 100%)!important;color:#14110b!important;border:1px solid #9f7f26!important}
.new-job-btn{background:#090909!important;color:#f0d783!important;border:1px solid #c7a84b!important;box-shadow:0 8px 18px rgba(0,0,0,.12)}
.new-job-btn:hover{background:#171717!important}

#admin.onepage-order-mode .job-composer-titlebar{
  background:linear-gradient(135deg,#050505 0%,#15130d 68%,#2b2412 100%)!important;
  border:1px solid #b99a3d!important;
  box-shadow:0 16px 34px rgba(0,0,0,.14)!important;
  padding:15px 18px!important;
}
#admin.onepage-order-mode .job-composer-titlebar h2{font-size:24px!important;color:#fff!important;font-weight:850}
#admin.onepage-order-mode .onepage-hero{
  background:linear-gradient(135deg,#fff 0%,#fbf8ef 100%)!important;
  border:1px solid #dfd0a5!important;
  box-shadow:0 10px 24px rgba(50,38,8,.055)!important;
}
#admin.onepage-order-mode .onepage-chip{background:#c7a84b!important;color:#17130a!important;border-color:#a8872b!important;font-weight:900}
#admin.onepage-order-mode .single-page-step{
  background:linear-gradient(135deg,#faf6e9 0%,#fff 100%)!important;
  border:1px solid #e2d4ac!important;
}
#admin.onepage-order-mode .single-page-step-num{background:#0a0a0a!important;color:#e4c665!important}

#admin.onepage-order-mode .top-customer-card{
  background:linear-gradient(135deg,#ffffff 0%,#fbf8ef 100%)!important;
  border:1px solid #d9c693!important;
  box-shadow:0 10px 24px rgba(55,42,12,.055)!important;
}
#admin.onepage-order-mode .top-customer-title{font-size:18px!important}
#admin.onepage-order-mode .top-customer-note{font-size:13px!important;color:#736a56!important}
#admin.onepage-order-mode .top-customer-fields label{font-size:13px!important;color:#3d3628!important}

#admin.onepage-order-mode .top-active-messenger-panel{
  background:linear-gradient(180deg,#070707 0%,#17140d 100%)!important;
  border:1px solid #b89535!important;
  box-shadow:0 16px 34px rgba(0,0,0,.18)!important;
}
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-title{font-size:17px!important;color:#f4df9a!important}
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-note{font-size:12.5px!important;color:#ded6c1!important}
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-count{background:#f1dfaa!important;color:#211b0d!important;border:1px solid #c7a84b!important}
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-card{border-color:#d9cba5!important}
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-card.selected{border-color:#b89535!important;background:#fbf5e4!important;box-shadow:0 0 0 2px rgba(199,168,75,.12)}
#admin.onepage-order-mode .top-active-messenger-panel .quick-selected-summary{background:rgba(199,168,75,.13)!important;border-color:rgba(231,207,135,.35)!important;color:#f8e7b4!important}

.order-wizard-progress{border-color:#d9cba4!important;background:#fbf8ef!important}
.order-wizard-progress .wiz-step{color:#6f6551!important;border-right-color:#e4d9bc!important;font-size:14px!important}
.order-wizard-progress .wiz-step.active{background:#0a0a0a!important;color:#f1d77f!important}
.order-wizard-progress .wiz-step.done{background:#f6edd2!important;color:#7a5b0f!important}
.landing-caption{font-size:14px!important;color:#342e22!important;margin-bottom:8px!important}
.vehicle-fixed{border-color:#b89535!important;background:linear-gradient(135deg,#fff 0%,#fbf7ec 100%)!important}
.vehicle-fixed .vehicle-icon{background:#f2e6c3!important;color:#17140f}
.choice-card{border-color:#ddd3bb!important;color:#2e281e!important;background:#fff!important;font-size:14px!important}
.choice-card small{color:#746b58!important}
.choice-card.selected,.choice-card.full-day.selected{background:#090909!important;border-color:#c7a84b!important;color:#fff!important;box-shadow:0 9px 22px rgba(0,0,0,.14)!important}
.choice-card.selected small,.choice-card.full-day.selected small{color:#e5d7ad!important}
.schedule-fields,.location-panel-simple,.service-panel-clean,.booking-summary-card,.detail-step-head{
  border-color:#ded0a8!important;
  background:#fff!important;
}
.location-badge.pickup{background:#0a0a0a!important;color:#e8cb70!important}
.location-badge.drop{background:#c7a84b!important;color:#17130a!important}
.location-input-wrap{grid-template-columns:minmax(0,1fr)!important}
.map-search-help,.google-api-status{font-size:12.5px!important;color:#706857!important}
.google-api-status.ok{color:#7a5a13!important}
.add-drop-btn{border-color:#bfa75f!important;color:#2b2519!important;background:#fffdf8!important;font-size:14px!important}
.replacement-route-note{background:#faf3dd!important;color:#6b5115!important;border:1px solid #e3cf92!important;font-size:13px!important}
.wizard-next,.service-next-btn{background:#090909!important;color:#f2d986!important;border:1px solid #090909!important;font-size:15px!important}
.wizard-next:disabled,.service-next-btn:disabled{background:#e7e2d5!important;color:#938975!important;border-color:#d5cdbb!important}
.wizard-next-note,.service-step-route,.detail-route-summary{font-size:12.5px!important;color:#706857!important}
.wizard-back,.service-back-btn{border-color:#cdbb84!important;color:#2d271c!important;background:#fff!important}

.service-option-card{border-color:#ded3b7!important}
.service-option-card:hover{border-color:#c4aa5d!important;background:#fffcf4!important}
.service-option-card.selected{border-color:#b89535!important;background:#fbf5e5!important}
.service-option-icon{background:#f3e8c7!important}
.service-option-copy b{font-size:14.5px!important}
.service-option-copy small{color:#746b58!important}
.service-option-card.selected .service-toggle{background:#090909!important;border-color:#090909!important;color:#e8cc73!important}
.service-subfields,.service-fee-summary{background:#faf7ee!important;border-color:#ded0a8!important}

#admin.onepage-order-mode .booking-summary-card,
#admin.onepage-order-mode .booking-map-pane{border-color:#d9c693!important;box-shadow:0 10px 24px rgba(50,38,8,.05)!important}
#admin.onepage-order-mode .booking-price-row.total{background:#faf4df!important;border-color:#dac68d!important}
#admin.onepage-order-mode .booking-price-row.total strong{color:#17140f!important}
#admin.onepage-order-mode .booking-action-card{background:linear-gradient(135deg,#050505 0%,#1a160d 100%)!important;border-color:#b89535!important}
#admin.onepage-order-mode .booking-action-card .secondary{background:#fff!important;color:#15120c!important;border:1px solid #d5c184!important}
#admin.onepage-order-mode .booking-action-card .primary{background:linear-gradient(180deg,#d8bd65 0%,#b89334 100%)!important;color:#151108!important;border:1px solid #9f7f26!important}
.booking-pay-choice.selected{border-color:#b89535!important;background:#fbf6e8!important}
.booking-map-title,.booking-map-footer{border-color:#d9c693!important;background:rgba(255,253,247,.97)!important}
.booking-map-actions button{border-color:#cdbb84!important;color:#2b2519!important}
.route-number-marker{background:#090909!important;border-color:#f2d782!important;color:#fff!important}
.route-number-marker.pickup{background:#090909!important;color:#f2d782!important}
.route-number-marker.return{background:#b89535!important;color:#17130a!important}

/* remove duplicated lower blocks already represented at the top of the order form */
#admin.onepage-order-mode .booking-customer-duplicate{display:none!important}
#admin.onepage-order-mode .booking-admin-detail{display:none!important}

@media(max-width:650px){
  body{font-size:14px}
  #admin.onepage-order-mode .job-composer-titlebar h2{font-size:21px!important}
  .choice-card{font-size:13.5px!important}
  input,select,textarea{font-size:16px}
  .muted,.tiny{font-size:12.5px}
}


/* V19.38 compact messenger panel + stricter create validation */
#admin.onepage-order-mode .top-active-messenger-panel{
  display:flex!important;
  flex-direction:column!important;
  max-height:430px!important;
  overflow:hidden!important;
}
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  max-height:245px!important;
  overflow-y:auto!important;
  align-content:start!important;
  padding-right:2px!important;
}
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-card{
  min-height:92px!important;
  padding:9px 10px!important;
  grid-template-columns:10px minmax(0,1fr)!important;
  gap:7px!important;
  align-items:flex-start!important;
}
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-name{font-size:12.5px!important;line-height:1.25!important}
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-meta{font-size:9.5px!important;margin-top:2px!important}
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-state{
  grid-column:2!important;
  justify-self:start!important;
  margin-top:5px!important;
  font-size:10px!important;
}
#admin.onepage-order-mode .top-active-messenger-panel .staff-type-badge{margin-top:5px!important}
#admin.onepage-order-mode .top-active-messenger-panel .quick-unassigned,
#admin.onepage-order-mode .top-active-messenger-panel .quick-selected-summary{margin-top:8px!important;flex:0 0 auto}
#admin.onepage-order-mode .booking-admin-detail{
  display:none!important;
  max-height:0!important;
  overflow:hidden!important;
  margin:0!important;
  border:0!important;
  padding:0!important;
}
#admin.onepage-order-mode .booking-action-buttons button:disabled,
#admin.onepage-order-mode .order-bottom-inline-actions button:disabled,
#admin.onepage-order-mode .sticky-order-btns button:disabled{
  opacity:.55!important;
  cursor:not-allowed!important;
  filter:saturate(.35)!important;
  box-shadow:none!important;
}
@media(max-width:850px){
  #admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:230px!important}
}
@media(max-width:640px){
  #admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-list{grid-template-columns:1fr!important;max-height:260px!important}
}


/* V19.39: replacement jobs do not inherit a fake urgency level */
.stop-summary-meta:empty{display:none!important}



/* V19.40 visible urgency buttons + full-width map */
.landing-priority-wrap{margin:7px 0 2px 43px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.landing-priority-label{font-size:12px;font-weight:900;color:#514933;margin-right:2px}
.landing-priority-group{display:inline-grid;grid-template-columns:repeat(3,auto);gap:6px}
.landing-priority-btn{padding:7px 11px!important;border-radius:999px!important;border:1px solid #d8cfb8!important;background:#fff!important;color:#423b2c!important;font-size:12px!important;font-weight:900!important;min-width:82px}
.landing-priority-btn.normal.active{background:#ecfdf5!important;border-color:#22c55e!important;color:#166534!important;box-shadow:0 0 0 2px rgba(34,197,94,.08)}
.landing-priority-btn.high.active{background:#fff7ed!important;border-color:#f97316!important;color:#c2410c!important;box-shadow:0 0 0 2px rgba(249,115,22,.08)}
.landing-priority-btn.urgent.active{background:#fef2f2!important;border-color:#ef4444!important;color:#b91c1c!important;box-shadow:0 0 0 2px rgba(239,68,68,.08)}

#admin.onepage-order-mode .booking-admin-detail{
  display:none!important;
  visibility:hidden!important;
  max-height:0!important;
  height:0!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
#admin.onepage-order-mode .booking-step-shell{
  grid-template-columns:1fr!important;
}
#admin.onepage-order-mode .booking-step-shell>.booking-summary-card{
  grid-column:1!important;
}
#admin.onepage-order-mode .booking-map-pane{
  grid-column:1/-1!important;
  grid-row:auto!important;
  position:relative!important;
  top:auto!important;
  width:100%!important;
  min-height:650px!important;
  height:650px!important;
  margin-top:4px!important;
}
#admin.onepage-order-mode .booking-route-map{min-height:650px!important;height:100%!important}
@media(max-width:900px){
  #admin.onepage-order-mode .booking-map-pane{min-height:520px!important;height:520px!important}
  #admin.onepage-order-mode .booking-route-map{min-height:520px!important}
}
@media(max-width:650px){
  .landing-priority-wrap{margin-left:0;align-items:flex-start;flex-direction:column;gap:5px}
  .landing-priority-group{width:100%;grid-template-columns:repeat(3,1fr)}
  .landing-priority-btn{min-width:0!important;padding:8px 5px!important;font-size:11.5px!important}
  #admin.onepage-order-mode .booking-map-pane{min-height:420px!important;height:420px!important}
  #admin.onepage-order-mode .booking-route-map{min-height:420px!important}
}



/* V19.41 Messenger manager + hard-hide legacy detail block */
#legacyOrderHiddenBin{display:none!important;width:0!important;height:0!important;overflow:hidden!important}
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-head{align-items:flex-start!important}
#admin.onepage-order-mode .quick-messenger-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
#admin.onepage-order-mode .quick-add-messenger{
  margin:0!important;padding:6px 9px!important;border-radius:999px!important;
  border:1px solid #c7a84b!important;background:linear-gradient(180deg,#e5cc79 0%,#bd983a 100%)!important;
  color:#17130a!important;font-size:10.5px!important;font-weight:900!important;white-space:nowrap
}
#admin.onepage-order-mode .quick-add-messenger:hover{filter:brightness(1.04)}
.messenger-manager-overlay{position:fixed;inset:0;background:rgba(9,9,9,.72);display:none;align-items:center;justify-content:center;z-index:12000;padding:20px}
.messenger-manager-overlay.show{display:flex}
.messenger-manager-modal{width:min(1080px,96vw);max-height:90vh;overflow:auto;background:#fffdf8;border:1px solid #c7a84b;border-radius:22px;box-shadow:0 28px 90px rgba(0,0,0,.32);padding:18px}
.messenger-manager-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e2d5b1}
.messenger-manager-title{font-size:22px;font-weight:900;color:#17130a}
.messenger-manager-sub{font-size:12.5px;color:#766b54;margin-top:3px}
.messenger-manager-close{background:#090909!important;color:#f1d77c!important;border:1px solid #090909!important;padding:9px 13px!important}
.messenger-manager-modal .messenger-master{margin:0!important;background:linear-gradient(180deg,#fffdf8,#faf5e7)!important;border-color:#dbc88f!important}
.messenger-manager-modal .messenger-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.messenger-manager-modal .messenger-form{border-color:#dbc88f!important}
@media(max-width:850px){.messenger-manager-modal .messenger-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
  #admin.onepage-order-mode .quick-messenger-tools{justify-content:flex-start}
  .messenger-manager-overlay{padding:8px}.messenger-manager-modal{width:100%;max-height:96vh;padding:12px;border-radius:16px}
  .messenger-manager-modal .messenger-grid{grid-template-columns:1fr}
  .messenger-manager-top{align-items:stretch}.messenger-manager-close{flex:0 0 auto}
}


/* V19.42 direct Messenger modal fix */
.messenger-manager-overlay{display:none!important}
.messenger-manager-overlay.show{display:flex!important}
.mgr-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.mgr-add-btn{font-size:13px!important;padding:9px 13px!important}
.mgr-form{border:1px solid #d8c58d;background:#fffaf0;border-radius:16px;padding:14px;margin-bottom:14px}
.mgr-form-title{font-size:17px;font-weight:900;margin-bottom:10px;color:#17130a}
.mgr-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mgr-form-grid label{font-size:12.5px;font-weight:800;color:#3b3426}
.mgr-form-grid input,.mgr-form-grid select{margin-top:5px}
.mgr-form-actions{display:flex;gap:9px;margin-top:12px;flex-wrap:wrap}.mgr-form-actions button{min-width:160px}
.mgr-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.mgr-card{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #ded2b4;background:#fff;border-radius:14px;padding:11px}
.mgr-card.inactive{opacity:.62;background:#f5f3ed}
.mgr-card-name{font-size:14px;font-weight:900}.mgr-card-meta{font-size:11px;color:#6f6758;line-height:1.55;margin-top:3px}
.mgr-card-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.mgr-card-actions button{padding:7px 9px;font-size:11px}
@media(max-width:700px){.mgr-form-grid,.mgr-list{grid-template-columns:1fr}.mgr-card{align-items:flex-start;flex-direction:column}.mgr-card-actions{width:100%;justify-content:flex-start}}


/* V19.43 direct inline add Messenger - no popup dependency */
#admin.onepage-order-mode .top-active-messenger-panel.add-open{max-height:760px!important;overflow:auto!important}
.quick-inline-add-form{margin:10px 0 12px;padding:12px;border:1px solid #c7a84b;border-radius:14px;background:#fffaf0;color:#17130a}
.quick-inline-add-title{font-size:14px;font-weight:900;margin-bottom:9px;color:#7a5a13}
.quick-inline-add-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.quick-inline-add-grid label{display:block;font-size:11.5px;font-weight:800;color:#51472f}
.quick-inline-add-grid input,.quick-inline-add-grid select{width:100%;margin-top:4px;min-height:38px;padding:8px 9px;border:1px solid #d8c58d;border-radius:10px;background:#fff;font-size:13px}
.quick-inline-add-wide{grid-column:1/-1}
.quick-inline-add-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;margin-top:10px}
.quick-inline-add-actions button{width:100%;margin:0!important;min-height:40px}
.quick-inline-add-note{font-size:10.5px;color:#786e59;margin-top:7px;text-align:center}
@media(max-width:700px){.quick-inline-add-grid{grid-template-columns:1fr}.quick-inline-add-wide{grid-column:auto}.quick-inline-add-actions{grid-template-columns:1fr}}


/* V19.44 — hard-hide legacy lower order editor and give map the full area */
.booking-admin-detail,
#legacyOrderHiddenBin,
#legacyOrderHiddenBin .booking-admin-detail{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  position:absolute!important;
  left:-100000px!important;
  top:-100000px!important;
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}
#admin.onepage-order-mode .booking-step-shell{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
}
#admin.onepage-order-mode .booking-step-shell>.booking-map-pane,
#admin.onepage-order-mode .booking-map-pane{
  grid-column:1 / -1!important;
  grid-row:auto!important;
  width:100%!important;
  max-width:none!important;
  min-height:720px!important;
  height:calc(100vh - 150px)!important;
  margin:0 0 14px 0!important;
}
#admin.onepage-order-mode .booking-route-map{min-height:720px!important;width:100%!important;height:100%!important}
@media(max-width:980px){
  #admin.onepage-order-mode .booking-map-pane{min-height:560px!important;height:560px!important}
  #admin.onepage-order-mode .booking-route-map{min-height:560px!important}
}
@media(max-width:650px){
  #admin.onepage-order-mode .booking-map-pane{min-height:440px!important;height:440px!important}
  #admin.onepage-order-mode .booking-route-map{min-height:440px!important}
}


/* V19.45 LINE OA @politemsg — phase 1 safe link integration */
.job-title-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.line-oa-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #c7a84b!important;background:linear-gradient(180deg,#1b1b1b 0%,#050505 100%)!important;color:#f1d675!important;border-radius:12px!important;padding:10px 14px!important;font-weight:900!important;white-space:nowrap;cursor:pointer}
.line-oa-btn:hover{background:#15120b!important;box-shadow:0 0 0 2px rgba(199,168,75,.14)}
.line-oa-dot{width:10px;height:10px;border-radius:50%;background:#06c755;box-shadow:0 0 0 3px rgba(6,199,85,.12);display:inline-block}
@media(max-width:640px){.job-title-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.job-title-actions .new-job-btn,.job-title-actions .line-oa-btn{width:100%}}



/* V19.46 LINE Messaging API auto-notify */
.line-notify-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #d6c58e!important;background:#fffdf7!important;color:#5e5439!important;border-radius:12px!important;padding:9px 11px!important;font-size:12px!important;font-weight:900!important;white-space:nowrap;cursor:pointer}
.line-notify-chip.ready{border-color:#54b77a!important;background:#effcf3!important;color:#176b37!important}
.line-notify-chip.warn{border-color:#d7b85b!important;background:#fff9e8!important;color:#7b5a00!important}
.line-notify-chip.error{border-color:#dca0a0!important;background:#fff3f3!important;color:#8b2626!important}
.line-notify-chip .line-notify-dot{width:8px;height:8px;border-radius:50%;background:#c2aa60;display:inline-block}
.line-notify-chip.ready .line-notify-dot{background:#06c755;box-shadow:0 0 0 3px rgba(6,199,85,.10)}
.line-notify-chip.error .line-notify-dot{background:#dc2626}
@media(max-width:760px){.job-title-actions{grid-template-columns:1fr 1fr!important}.line-notify-chip{width:100%}}



/* V19.48 — compact Messenger cards + clean sequential order wizard */
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-list{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  max-height:230px!important;
  overflow-y:auto!important;
  align-content:start!important;
  padding-right:2px!important;
}
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-card{
  min-height:76px!important;
  padding:8px!important;
  grid-template-columns:9px minmax(0,1fr)!important;
  gap:6px!important;
  border-radius:11px!important;
  position:relative!important;
}
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-name{font-size:11.5px!important;line-height:1.2!important;padding-right:4px!important}
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-meta{font-size:8.8px!important;line-height:1.25!important}
#admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-state{grid-column:2!important;font-size:9px!important;margin-top:3px!important}
#admin.onepage-order-mode .top-active-messenger-panel .staff-type-badge{font-size:8px!important;padding:2px 5px!important;margin-top:3px!important}
#admin.onepage-order-mode .top-active-messenger-panel .quick-unassigned{display:none!important}
#admin.onepage-order-mode .top-active-messenger-panel .quick-selected-summary:empty{display:none!important}

/* Respect wizard hide/show state — do not force steps 2 and 3 back onto the page. */
#admin.onepage-order-mode #orderLandingStep.hide,
#admin.onepage-order-mode #orderServicesStep.hide,
#admin.onepage-order-mode #orderDetailsStep.hide{display:none!important}
#admin.onepage-order-mode #orderLandingStep:not(.hide),
#admin.onepage-order-mode #orderServicesStep:not(.hide),
#admin.onepage-order-mode #orderDetailsStep:not(.hide){display:block!important}

/* Restore the normal 1 → 2 → 3 controls. */
#admin.onepage-order-mode #orderWizardProgress{display:grid!important}
#admin.onepage-order-mode #landingNextBtn{display:block!important}
#admin.onepage-order-mode #landingNextNote{display:block!important}
#admin.onepage-order-mode .service-next-actions{display:grid!important}
#admin.onepage-order-mode .detail-step-head{display:flex!important}
#admin.onepage-order-mode .wizard-back{display:inline-flex!important;align-items:center!important;justify-content:center!important}
#admin.onepage-order-mode .single-page-step{display:none!important}

@media(max-width:900px){
  #admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:240px!important}
}
@media(max-width:560px){
  #admin.onepage-order-mode .top-active-messenger-panel .quick-messenger-list{grid-template-columns:1fr!important;max-height:260px!important}
}


/* === V21.01 Production Customer Portal — Admin/Messenger workflow preserved === */
:root{--pe-gold:#d4b24c;--pe-gold-soft:#fff8df;--pe-black:#0b0d10;--pe-panel:#ffffff;--pe-border:#dfe4ea}
.login-shell{max-width:560px;margin:5vh auto 0;padding:0!important;overflow:hidden;box-shadow:0 20px 60px rgba(15,23,42,.12)}
.login-brand-band{background:#0b0d10;padding:24px 28px 20px;text-align:center}.login-brand-band .brand-logo{background:transparent!important;border-radius:0!important;max-height:92px;object-fit:contain}.login-version{color:#e7d28d;font-size:11px;margin-top:8px;letter-spacing:.2px}
.login-body{padding:24px}.login-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #e5e7eb;margin-bottom:18px}.login-tab{background:transparent;color:#64748b;border-radius:0;border-bottom:3px solid transparent;padding:12px 8px}.login-tab.active{color:#0f172a;border-bottom-color:var(--pe-gold)}
.customer-login-social{display:none!important;gap:8px;margin-top:12px}.social-login-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #d7dce2;background:#fff;color:#111827}.social-login-btn.phone{background:#4b5563;color:#fff;border-color:#4b5563}.social-login-btn.facebook{background:#1666c5;color:#fff;border-color:#1666c5}.social-login-btn.google{background:#fff;color:#202124}.social-login-btn.apple{background:#111;color:#fff;border-color:#111}.login-or{display:none!important;align-items:center;gap:10px;color:#94a3b8;font-size:11px;margin:14px 0}.login-or:before,.login-or:after{content:'';height:1px;background:#e5e7eb;flex:1}.signup-panel{margin-top:14px;padding:14px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}.signup-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.signup-grid .full{grid-column:1/-1}.login-help{font-size:11px;color:#64748b;text-align:center;margin-top:10px;line-height:1.55}.forgot-link{display:block;margin:8px auto 0;border:0;background:transparent;color:#8a6a00;font-weight:800;text-decoration:underline;padding:6px 10px;cursor:pointer}.forgot-overlay{position:fixed;inset:0;background:rgba(15,23,42,.5);display:none;align-items:center;justify-content:center;z-index:14000;padding:18px}.forgot-overlay.show{display:flex}.forgot-modal{width:min(500px,100%);background:#fff;border-radius:20px;box-shadow:0 28px 80px rgba(15,23,42,.3);padding:20px}.forgot-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.forgot-head h3{margin:0;font-size:22px}.forgot-step{margin-top:14px}.forgot-step input{margin-top:8px}.forgot-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.forgot-actions button{padding:13px}.forgot-status{min-height:22px;margin-top:10px;font-size:12px;color:#475569}.forgot-otp-note{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:10px;margin-top:10px;font-size:12px;color:#78350f}

body.customer-active{background:#fff;overflow-x:hidden}body.customer-active>.wrap{max-width:none!important;padding:0!important;margin:0!important}
#customerPortal{min-height:100vh;background:#f6f7f9}.cp-topbar{height:76px;background:#0b0d10;color:#fff;display:flex;align-items:center;gap:18px;padding:0 22px;position:sticky;top:0;z-index:6000;box-shadow:0 2px 14px rgba(0,0,0,.16)}.cp-logo{width:150px;height:52px;object-fit:contain}.cp-nav{display:flex;gap:4px;margin-left:auto}.cp-nav button{background:transparent;color:#d1d5db;border-radius:0;padding:27px 15px 23px;border-bottom:3px solid transparent}.cp-nav button.active{color:#fff;border-bottom-color:var(--pe-gold)}.cp-account{display:flex;align-items:center;gap:8px;padding-left:12px;border-left:1px solid #31343a}.cp-account-name{font-size:12px;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-logout{background:#fff;color:#111;padding:8px 10px;border-radius:9px}
.cp-order-layout{display:grid;grid-template-columns:minmax(350px,440px) minmax(0,1fr);height:calc(100vh - 76px);min-height:640px}.cp-order-panel{background:#fff;border-right:1px solid #dde2e8;overflow-y:auto;padding:18px 18px 110px}.cp-map-panel{position:relative;background:#e8edf2;min-width:0}.cp-map{position:absolute;inset:0}.cp-map-overlay{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(255,255,255,.96);border:1px solid #d8dee6;border-radius:14px;padding:12px 14px;box-shadow:0 8px 28px rgba(15,23,42,.18);font-size:12px;line-height:1.5}.cp-map-overlay b{font-size:14px}.cp-section{border-bottom:1px solid #edf0f3;padding:0 0 16px;margin-bottom:16px}.cp-section-title{font-size:12px;font-weight:900;color:#475569;margin-bottom:8px}.cp-vehicle{display:flex;align-items:center;gap:12px;padding:12px;border:2px solid #111;border-radius:14px;background:#fff}.cp-vehicle-icon{width:46px;height:46px;border-radius:12px;background:#f1f5f9;display:grid;place-items:center;font-size:27px}.cp-vehicle b{font-size:16px}.cp-route-row{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:start;margin-top:10px}.cp-pin{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:900;margin-top:9px}.cp-pin.pick{background:#059669}.cp-pin.drop{background:#eab308;color:#4b3b00}.cp-place-host{position:relative}.cp-place-host input{margin-top:0}.cp-stop-card{border:1px solid #e2e8f0;border-radius:13px;padding:10px;margin-top:10px;background:#fff}.cp-stop-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.cp-stop-title{font-size:12px;font-weight:900}.cp-stop-remove{padding:6px 8px;background:#fff1f2;color:#be123c}.cp-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:6px}.cp-add-stop{width:100%;background:#fff;border:1px dashed #94a3b8;color:#334155;margin-top:10px}.cp-service-list{display:grid;gap:8px}.cp-service{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;border:1px solid #e2e8f0;border-radius:12px;padding:10px;cursor:pointer}.cp-service.on{border:2px solid #111827;padding:9px;background:#f8fafc}.cp-service-check{width:20px;height:20px;border:2px solid #94a3b8;border-radius:5px;display:grid;place-items:center;font-size:12px}.cp-service.on .cp-service-check{background:#111827;color:#fff;border-color:#111827}.cp-service small{display:block;color:#64748b;margin-top:2px;line-height:1.35}.cp-service-price{font-weight:900;white-space:nowrap}.cp-schedule{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cp-thai-time-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:8px}.cp-thai-time-row.hide{display:none}.cp-thai-time-row input{margin-top:0}.cp-thai-time-suffix{font-weight:900;color:#475569;white-space:nowrap}.cp-thai-time-note{font-size:10px;color:#64748b;margin-top:5px}.cp-price-box{background:#f8fafc;border:1px solid #dfe5ec;border-radius:14px;padding:12px}.cp-price-line{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:13px}.cp-price-line.total{border-top:1px solid #d8dee6;margin-top:6px;padding-top:10px;font-size:16px;font-weight:900}.cp-price-line.total strong{font-size:22px}.cp-price-warning{font-size:11px;color:#b45309;margin-top:6px}.cp-confirm{width:100%;background:#0b0d10;color:#f3d978;border:1px solid #0b0d10;font-size:16px;padding:15px;margin-top:12px}.cp-confirm:disabled{background:#cbd5e1;color:#64748b;border-color:#cbd5e1;cursor:not-allowed}.cp-distance{font-size:11px;color:#64748b;margin-top:4px}.cp-route-price{font-size:10px;color:#64748b;margin:4px 0 0 39px}
.cp-screen{min-height:calc(100vh - 76px)}.cp-history-wrap{display:grid;grid-template-columns:220px minmax(320px,1fr) minmax(380px,1.25fr);min-height:calc(100vh - 76px);background:#fff}.cp-history-side{border-right:1px solid #e2e8f0;padding:24px 14px}.cp-history-side h3{font-size:16px;margin-bottom:18px}.cp-history-tab{display:block;width:100%;text-align:left;background:#fff;color:#475569;padding:12px 10px;border-radius:0;border-left:3px solid transparent}.cp-history-tab.active{color:#111827;font-weight:900;border-left-color:var(--pe-gold);background:#fffbeb}.cp-history-list{padding:20px;border-right:1px solid #e2e8f0;overflow:auto;max-height:calc(100vh - 76px)}.cp-history-card{border:1px solid #e2e8f0;border-radius:13px;padding:12px;margin-bottom:10px;cursor:pointer}.cp-history-card.active{border:2px solid #111827;padding:11px}.cp-history-id{font-weight:900;font-size:13px}.cp-history-route{font-size:11px;color:#64748b;margin-top:5px;line-height:1.45}.cp-status{display:inline-flex;margin-top:7px;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900;background:#fff7ed;color:#b45309}.cp-status.done{background:#ecfdf5;color:#047857}.cp-status.cancel{background:#fef2f2;color:#b91c1c}.cp-history-detail{padding:22px;overflow:auto;max-height:calc(100vh - 76px)}.cp-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.cp-detail-map{height:310px;background:#e8edf2;border-radius:14px;margin-top:14px;overflow:hidden;position:relative}.cp-detail-map-inner{position:absolute;inset:0}.cp-detail-box{border:1px solid #e2e8f0;border-radius:13px;padding:12px;margin-top:12px}.cp-detail-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed #e5e7eb;padding:7px 0;font-size:12px}.cp-detail-row:last-child{border-bottom:0}.cp-timeline{display:grid;gap:8px;margin-top:10px}.cp-time-step{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start;font-size:12px}.cp-time-dot{width:14px;height:14px;border-radius:50%;background:#cbd5e1;margin-top:2px;border:3px solid #fff;box-shadow:0 0 0 1px #cbd5e1}.cp-time-step.done .cp-time-dot{background:#16a34a;box-shadow:0 0 0 1px #16a34a}.cp-cancel-job{background:#b91c1c;color:#fff;margin-top:12px;width:100%}.cp-cancel-request{width:100%;margin-top:10px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.cancel-notice{margin-top:10px;padding:12px;border-radius:12px;border:1px solid #fde68a;background:#fffbeb;color:#78350f;font-size:12px;line-height:1.6}.cancel-notice.danger{border-color:#fecaca;background:#fef2f2;color:#991b1b}.cancel-request-admin{margin-top:10px;padding:12px;border:2px solid #fb923c;border-radius:14px;background:#fff7ed}.cancel-request-admin h4{margin:0 0 7px;color:#9a3412}.cancel-fee-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;margin-top:8px}.cancel-fee-grid input{margin-top:5px}.pickup-confirmed{margin-top:9px;padding:10px;border-radius:11px;background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;font-size:12px;font-weight:800}.cancel-hold{margin-top:9px;padding:11px;border-radius:11px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;font-size:12px;font-weight:800}.cp-empty{padding:40px 14px;text-align:center;color:#94a3b8;font-size:13px}
/* V21.15.59: detailed, timestamped courier-style tracking history (customerDetailedTimeline in app.js) */
.cp-dtl-timeline{display:flex;flex-direction:column;margin-top:10px}
.cp-dtl-step{display:grid;grid-template-columns:56px 18px 1fr;column-gap:10px;padding-bottom:16px}
.cp-dtl-step:last-child{padding-bottom:0}
.cp-dtl-time{font-size:11px;color:#94a3b8;text-align:right;line-height:1.4;padding-top:1px;white-space:nowrap}
.cp-dtl-rail{display:flex;flex-direction:column;align-items:center}
.cp-dtl-dot{width:10px;height:10px;border-radius:50%;background:#cbd5e1;flex:none;margin-top:3px}
.cp-dtl-line{width:2px;flex:1;background:#e2e8f0;margin-top:2px}
.cp-dtl-step:last-child .cp-dtl-line{display:none}
.cp-dtl-step.latest .cp-dtl-dot{background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.15)}
.cp-dtl-body b{display:block;font-size:14.5px;font-weight:800;color:#1f2937;line-height:1.45}
.cp-dtl-step.latest .cp-dtl-body b{color:#15803d}
.cp-dtl-body .tiny{font-size:12.5px;color:#64748b;margin-top:2px;line-height:1.4}
.cp-payment-overlay{position:fixed;inset:0;background:rgba(15,23,42,.48);display:none;align-items:center;justify-content:center;z-index:10000;padding:18px}.cp-payment-overlay.show{display:flex}.cp-payment-modal{width:min(520px,100%);background:#fff;border-radius:18px;box-shadow:0 28px 70px rgba(15,23,42,.28);padding:18px}.cp-payment-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.cp-pay-option{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;border:1px solid #e2e8f0;border-radius:13px;padding:12px;margin-top:9px;cursor:pointer}.cp-pay-option.selected{border:2px solid #111827;padding:11px;background:#f8fafc}.cp-pay-icon{font-size:23px}.cp-pay-option small{display:block;color:#64748b;margin-top:3px}.cp-pay-radio{width:18px;height:18px;border-radius:50%;border:2px solid #94a3b8}.cp-pay-option.selected .cp-pay-radio{border:5px solid #111827}.cp-pay-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.cp-pay-actions button{padding:13px}.cp-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:#111827;color:#fff;border-radius:12px;padding:11px 15px;z-index:12000;opacity:0;pointer-events:none;transition:.2s;box-shadow:0 10px 28px rgba(15,23,42,.25);font-size:12px}.cp-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:900px){.cp-topbar{height:auto;min-height:68px;padding:8px 12px;flex-wrap:wrap}.cp-logo{width:125px;height:45px}.cp-nav{order:3;width:100%;justify-content:space-around;border-top:1px solid #242830}.cp-nav button{padding:10px 8px}.cp-account-name{display:none}.cp-order-layout{grid-template-columns:1fr;height:auto}.cp-order-panel{overflow:visible;border-right:0;padding-bottom:28px}.cp-map-panel{height:430px}.cp-history-wrap{grid-template-columns:1fr}.cp-history-side{display:flex;gap:4px;overflow-x:auto;border-right:0;border-bottom:1px solid #e2e8f0;padding:10px}.cp-history-side h3{display:none}.cp-history-tab{min-width:130px;text-align:center;border-left:0;border-bottom:3px solid transparent}.cp-history-tab.active{border-bottom-color:var(--pe-gold)}.cp-history-list,.cp-history-detail{max-height:none;border-right:0}.cp-history-detail{border-top:1px solid #e2e8f0}.signup-grid,.cp-contact-grid,.cp-schedule{grid-template-columns:1fr}}


/* V20 Production */
.login-version:after{content:' · ระบบใช้งานจริง';color:#f3cf65}
#customerSignupPanel .login-help{font-size:12px}

/* V21.14.15 — remove redundant Admin Control / assignment choice panel from Create Job.
   The block is rendered with .admin-create-mode-panel (not a stable #adminCreateModePanel id),
   so hide the real class and keep the legacy id selector as a fallback. */
#admin.onepage-order-mode .admin-create-mode-panel,
#admin .admin-create-mode-panel,
#adminCreateModePanel{display:none!important;}

/* ===== v211420CustomerHistoryDetailReadability ===== */
/* =========================================================
   POLITE EXPRESS V21.14.21 — CUSTOMER HISTORY & JOB DETAIL READABILITY
   UI only. No pricing/status/routing/workflow logic changes.
   ========================================================= */
body.customer-active #customerPortal{
  background:#f7f8fa;
}
body.customer-active .cp-topbar{
  min-height:82px;
}
body.customer-active .cp-nav button{
  font-size:17px!important;
  font-weight:800!important;
  line-height:1.25!important;
  padding:28px 18px 24px!important;
}
body.customer-active .cp-account-name{
  font-size:15px!important;
  font-weight:700!important;
}
body.customer-active .cp-logout{
  font-size:15px!important;
  font-weight:800!important;
  padding:10px 14px!important;
}

/* History navigation */
body.customer-active .cp-history-wrap{
  grid-template-columns:240px minmax(390px,1.02fr) minmax(520px,1.45fr);
  background:#fff;
}
body.customer-active .cp-history-side{
  padding:30px 18px;
  background:#fff;
}
body.customer-active .cp-history-side h3{
  font-size:22px!important;
  line-height:1.35;
  margin:0 0 24px!important;
  color:#1f2937;
}
body.customer-active .cp-history-tab{
  font-size:18px!important;
  font-weight:700!important;
  line-height:1.4!important;
  padding:15px 14px!important;
  margin-bottom:4px!important;
}
body.customer-active .cp-history-tab.active{
  font-weight:900!important;
}
body.customer-active .cp-history-list{
  padding:24px!important;
  background:#fff;
}
body.customer-active #cpHistoryCount{
  font-size:17px!important;
  font-weight:800!important;
  color:#4b5563!important;
  margin-bottom:16px!important;
}
body.customer-active .cp-history-card{
  border:1px solid #e2e8f0!important;
  border-radius:16px!important;
  padding:22px 24px!important;
  margin-bottom:16px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(15,23,42,.035);
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
body.customer-active .cp-history-card:hover{
  border-color:#cbd5e1!important;
  box-shadow:0 8px 24px rgba(15,23,42,.08);
  transform:translateY(-1px);
}
body.customer-active .cp-history-card.active{
  border:2px solid #111827!important;
  padding:21px 23px!important;
  box-shadow:0 8px 24px rgba(15,23,42,.09);
}
body.customer-active .cp-history-id{
  font-size:27px!important;
  line-height:1.25!important;
  font-weight:900!important;
  color:#111827!important;
  letter-spacing:.1px;
}
body.customer-active .cp-history-route{
  font-size:18px!important;
  line-height:1.65!important;
  color:#4b5563!important;
  margin-top:10px!important;
}
body.customer-active .cp-status{
  min-height:34px!important;
  padding:6px 12px!important;
  margin-top:12px!important;
  font-size:17px!important;
  line-height:1.2!important;
  font-weight:900!important;
}
body.customer-active .cp-status.done{
  background:#dcfce7!important;
  color:#15803d!important;
}
body.customer-active .cp-status.cancel{
  background:#fee2e2!important;
  color:#b91c1c!important;
}
body.customer-active .cp-history-card>.tiny,
body.customer-active .cp-history-list .tiny{
  font-size:17px!important;
  line-height:1.55!important;
  color:#4b5563!important;
  font-weight:700!important;
}

/* Detail pane */
body.customer-active .cp-history-detail{
  padding:28px 30px!important;
  background:#fff;
}
body.customer-active .cp-detail-head{
  gap:20px!important;
  align-items:flex-start!important;
  padding-bottom:4px;
}
body.customer-active .cp-detail-head .tiny{
  font-size:17px!important;
  line-height:1.5!important;
  color:#64748b!important;
  font-weight:700!important;
}
body.customer-active .cp-detail-head h2{
  margin:5px 0 6px!important;
  font-size:32px!important;
  line-height:1.2!important;
  font-weight:900!important;
  color:#111827!important;
}
body.customer-active .cp-detail-head>div:last-child b{
  font-size:30px!important;
  line-height:1.2!important;
  font-weight:900!important;
  color:#111827!important;
}
body.customer-active .cp-detail-map{
  height:360px!important;
  border-radius:16px!important;
  margin-top:18px!important;
}
body.customer-active .cp-detail-box{
  border:1px solid #e2e8f0!important;
  border-radius:16px!important;
  padding:18px 20px!important;
  margin-top:16px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(15,23,42,.025);
}
body.customer-active .cp-detail-box>b{
  display:block;
  font-size:21px!important;
  line-height:1.35!important;
  font-weight:900!important;
  color:#1f2937!important;
  margin-bottom:8px!important;
}
body.customer-active .cp-detail-row{
  gap:18px!important;
  padding:13px 0!important;
  font-size:18px!important;
  line-height:1.6!important;
  align-items:flex-start!important;
}
body.customer-active .cp-detail-row>span{
  min-width:125px;
  color:#64748b!important;
  font-weight:800!important;
}
body.customer-active .cp-detail-row>b{
  font-size:19px!important;
  line-height:1.6!important;
  font-weight:800!important;
  color:#1f2937!important;
}

/* Timeline */
body.customer-active .cp-timeline{
  gap:15px!important;
  margin-top:14px!important;
}
body.customer-active .cp-time-step{
  grid-template-columns:30px 1fr!important;
  gap:12px!important;
  font-size:18px!important;
  line-height:1.5!important;
  min-height:34px;
}
body.customer-active .cp-time-step b{
  font-size:19px!important;
  line-height:1.45!important;
  font-weight:900!important;
  color:#1f2937!important;
}
body.customer-active .cp-time-step .tiny{
  font-size:16px!important;
  line-height:1.55!important;
  color:#64748b!important;
  font-weight:700!important;
  margin-top:3px!important;
}
body.customer-active .cp-time-dot{
  width:18px!important;
  height:18px!important;
  margin-top:4px!important;
  border:4px solid #fff!important;
}
body.customer-active .cp-time-step.done .cp-time-dot{
  background:#22c55e!important;
  box-shadow:0 0 0 2px #22c55e!important;
}
body.customer-active .cancel-notice,
body.customer-active .cancel-notice.danger,
body.customer-active .pickup-confirmed,
body.customer-active .cancel-hold{
  font-size:16px!important;
  line-height:1.65!important;
  padding:15px 16px!important;
}
body.customer-active .cp-cancel-job,
body.customer-active .cp-cancel-request{
  min-height:48px!important;
  font-size:16px!important;
  font-weight:900!important;
}
body.customer-active .cp-empty{
  font-size:17px!important;
  line-height:1.6!important;
}

@media(max-width:1200px){
  body.customer-active .cp-history-wrap{grid-template-columns:210px minmax(330px,.95fr) minmax(430px,1.2fr)}
  body.customer-active .cp-history-id{font-size:24px!important}
  body.customer-active .cp-history-route{font-size:17px!important}
  body.customer-active .cp-detail-head h2{font-size:28px!important}
}
@media(max-width:900px){
  body.customer-active .cp-nav button{font-size:15px!important;padding:12px 8px!important}
  body.customer-active .cp-history-wrap{grid-template-columns:1fr}
  body.customer-active .cp-history-side{padding:12px!important}
  body.customer-active .cp-history-tab{min-width:150px!important;font-size:16px!important;padding:12px 10px!important}
  body.customer-active .cp-history-list{padding:16px!important}
  body.customer-active .cp-history-card{padding:18px!important;margin-bottom:14px!important}
  body.customer-active .cp-history-card.active{padding:17px!important}
  body.customer-active .cp-history-id{font-size:23px!important}
  body.customer-active .cp-history-route{font-size:16px!important;line-height:1.6!important}
  body.customer-active .cp-status{font-size:15px!important;min-height:31px!important}
  body.customer-active .cp-history-card>.tiny,body.customer-active .cp-history-list .tiny{font-size:15px!important}
  body.customer-active .cp-history-detail{padding:18px!important}
  body.customer-active .cp-detail-head{flex-direction:column!important}
  body.customer-active .cp-detail-head>div:last-child{text-align:left!important}
  body.customer-active .cp-detail-head h2{font-size:25px!important}
  body.customer-active .cp-detail-head>div:last-child b{font-size:26px!important}
  body.customer-active .cp-detail-map{height:300px!important}
  body.customer-active .cp-detail-row{font-size:16px!important;display:grid!important;grid-template-columns:1fr!important;gap:3px!important;padding:11px 0!important}
  body.customer-active .cp-detail-row>span{min-width:0!important;font-size:15px!important}
  body.customer-active .cp-detail-row>b{font-size:17px!important;text-align:left!important}
  body.customer-active .cp-time-step{font-size:16px!important}
  body.customer-active .cp-time-step b{font-size:17px!important}
  body.customer-active .cp-time-step .tiny{font-size:14px!important}
}

/* ===== v21AdminFoundationStyles ===== */
/* =========================================================
   POLITE EXPRESS V21.01 — ADMIN FOUNDATION
   UI/UX only. Existing V20.21 logic is intentionally preserved.
   ========================================================= */
body.v21-admin-active{
  margin:0;
  background:#f6f7f9;
  font-family:"Noto Sans Thai","Segoe UI",Tahoma,sans-serif;
  color:#20252b;
}
body.v21-admin-active .wrap{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
#admin.v21-admin{
  box-sizing:border-box;
  min-height:100vh;
  width:100%;
  padding:88px 30px 90px 274px!important;
  background:#f6f7f9;
  color:#20252b;
}
#admin.v21-admin > .top{display:none!important}

/* fixed sidebar */
#admin.v21-admin.composer-focused > .v21-sidebar,
#admin.v21-admin.composer-focused > .v21-admin-header{display:flex!important}
.v21-sidebar{
  position:fixed;
  z-index:1200;
  left:0;top:0;bottom:0;
  width:238px;
  box-sizing:border-box;
  padding:18px 14px 16px;
  background:#fff;
  border-right:1px solid #e7e9ed;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.v21-side-brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:52px;
  padding:2px 8px 14px;
  border-bottom:1px solid #eef0f3;
}
.v21-side-brand img{
  width:44px;height:44px;object-fit:contain;
  border-radius:50%;
  background:#111;
}
.v21-side-brand b{display:block;font-size:16px;line-height:1.15;color:#111}
.v21-side-brand small{display:block;margin-top:3px;color:#8b919a;font-size:11px}
.v21-nav{
  overflow:auto;
  padding:2px 0 12px;
  scrollbar-width:thin;
}
.v21-nav-group-label{
  padding:10px 12px 6px;
  color:#a0a5ad;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.v21-nav-btn{
  width:100%;
  margin:2px 0;
  padding:11px 12px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#4a5058;
  font-size:14px;
  font-weight:600;
  display:flex;
  align-items:center;
  gap:11px;
  text-align:left;
  cursor:pointer;
  transition:.15s ease;
}
.v21-nav-btn:hover{background:#f4f5f7;color:#111}
.v21-nav-btn.active{
  background:#111;
  color:#fff;
}
.v21-nav-icon{
  width:22px;
  text-align:center;
  font-size:16px;
  line-height:1;
  color:inherit;
  opacity:.9;
}
.v21-nav-label{flex:1}
.v21-nav-badge{
  min-width:20px;height:20px;padding:0 5px;
  border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#e53935;color:#fff;
  font-size:10px;font-weight:800;
}
.v21-side-footer{
  margin-top:auto;
  padding:12px 8px 0;
  border-top:1px solid #eef0f3;
  color:#969ca4;
  font-size:11px;
  line-height:1.55;
}

/* fixed top header */
.v21-admin-header{
  position:fixed;
  z-index:1150;
  left:238px;right:0;top:0;
  height:70px;
  box-sizing:border-box;
  padding:0 30px;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #e7e9ed;
  display:flex;
  align-items:center;
  gap:18px;
  backdrop-filter:blur(8px);
}
.v21-mobile-menu{
  display:none;
  width:40px;height:40px;
  padding:0;border:1px solid #e2e5e9;
  border-radius:9px;background:#fff;color:#111;
}
.v21-head-title{min-width:180px}
.v21-head-title b{
  display:block;
  font-size:18px;
  line-height:1.15;
  color:#17191c;
}
.v21-head-title small{
  color:#9aa0a8;
  font-size:11px;
}
.v21-global-search{
  flex:1;
  max-width:760px;
  position:relative;
}
#admin.v21-admin .v21-global-search input{
  height:42px;
  margin:0;
  box-sizing:border-box;
  padding:0 42px 0 42px;
  border-radius:10px;
  border:1px solid #e0e3e7;
  background:#f8f9fa;
  font-size:14px;
  box-shadow:none;
}
.v21-search-icon{
  position:absolute;left:15px;top:50%;transform:translateY(-50%);
  color:#9aa0a8;font-size:15px;
}
.v21-head-actions{
  margin-left:auto;
  display:flex;align-items:center;gap:9px;
}
.v21-date-pill,.v21-admin-pill{
  min-height:38px;
  padding:0 12px;
  border:1px solid #e4e6ea;
  border-radius:9px;
  background:#fff;
  display:flex;align-items:center;gap:8px;
  color:#656b73;font-size:12px;font-weight:600;
}
.v21-admin-avatar{
  width:28px;height:28px;border-radius:50%;
  display:grid;place-items:center;
  background:#111;color:#d1a43a;
  font-size:12px;font-weight:900;
}
.v21-logout{
  height:38px!important;
  margin:0!important;
  padding:0 13px!important;
  border:1px solid #e2e5e9!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#333!important;
  font-size:12px!important;
}

/* Page title / breadcrumb */
.v21-page-intro{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:14px;
  margin:0 0 18px;
}
.v21-page-intro h1{
  margin:0!important;
  font-size:25px!important;
  line-height:1.2;
  color:#202328;
  font-weight:800;
}
.v21-page-intro p{
  margin:5px 0 0;
  color:#8c929a;
  font-size:12px;
}
.v21-page-action{
  height:40px!important;
  margin:0!important;
  border-radius:8px!important;
  background:#111!important;
  color:#fff!important;
  padding:0 16px!important;
  font-size:13px!important;
}

/* Existing content restyle */
#admin.v21-admin .card,
#admin.v21-admin .exec-card,
#admin.v21-admin .exec-panel,
#admin.v21-admin .messenger-master,
#admin.v21-admin .settlement-panel,
#admin.v21-admin .report-panel,
#admin.v21-admin .job-composer-main,
#admin.v21-admin .booking-summary-card,
#admin.v21-admin .top-customer-card,
#admin.v21-admin .location-panel-simple,
#admin.v21-admin .vehicle-fixed,
#admin.v21-admin .service-panel-clean{
  background:#fff!important;
  border:1px solid #e7e9ed!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
#admin.v21-admin .card{padding:18px!important}
#admin.v21-admin .admin-section{
  margin:0 0 14px!important;
  border:1px solid #e7e9ed!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
}
#admin.v21-admin .admin-section>summary{
  padding:15px 17px!important;
  color:#272b30!important;
  font-size:14px!important;
  font-weight:700!important;
  background:#fff;
}
#admin.v21-admin .admin-section-body{padding:0 14px 14px!important}
#admin.v21-admin h1,#admin.v21-admin h2,#admin.v21-admin h3{color:#22262b}
#admin.v21-admin h2{font-size:20px}
#admin.v21-admin label{font-size:12px;color:#626871;font-weight:700}
#admin.v21-admin input,
#admin.v21-admin select,
#admin.v21-admin textarea{
  box-sizing:border-box;
  border:1px solid #dfe3e8!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#25292e!important;
  box-shadow:none!important;
  font-family:inherit;
  font-size:14px!important;
}
#admin.v21-admin input:focus,
#admin.v21-admin select:focus,
#admin.v21-admin textarea:focus{
  outline:none!important;
  border-color:#9da3ab!important;
  box-shadow:0 0 0 3px rgba(17,17,17,.05)!important;
}
#admin.v21-admin button{
  border-radius:8px;
  box-shadow:none!important;
  font-family:inherit;
}
#admin.v21-admin button.primary,
#admin.v21-admin button.blue,
#admin.v21-admin button.violet,
#admin.v21-admin .new-job-btn{
  background:#111!important;
  color:#fff!important;
  border:1px solid #111!important;
}
#admin.v21-admin button.secondary{
  background:#fff!important;
  color:#333!important;
  border:1px solid #dfe3e8!important;
}
#admin.v21-admin button.green{
  background:#fff!important;
  color:#333!important;
  border:1px solid #dfe3e8!important;
}
#admin.v21-admin .muted{color:#9298a0!important}
#admin.v21-admin .tiny{color:#8b9199;font-size:12px}

/* tables */
#admin.v21-admin table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  font-size:13px;
}
#admin.v21-admin th{
  background:#f4f5f6!important;
  color:#777d85!important;
  font-size:11px!important;
  font-weight:800!important;
  text-transform:none;
  letter-spacing:.01em;
  border-bottom:1px solid #e4e7eb!important;
  padding:11px 12px!important;
  position:sticky;top:0;z-index:2;
}
#admin.v21-admin td{
  color:#3d4249!important;
  border-bottom:1px solid #eef0f2!important;
  padding:12px!important;
  vertical-align:middle;
}
#admin.v21-admin tr:hover td{background:#fafafa}

/* Dashboard — phase 1 reskin */
#admin.v21-admin .exec-dashboard{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#admin.v21-admin .exec-head{
  padding:0 0 15px!important;
  border:0!important;
  background:transparent!important;
}
#admin.v21-admin .exec-title{
  font-size:22px!important;
  color:#25292e!important;
  font-weight:800!important;
}
#admin.v21-admin .exec-sub{color:#9399a2!important}
#admin.v21-admin .exec-refresh{
  background:#fff!important;color:#333!important;
  border:1px solid #dfe3e8!important;
  border-radius:8px!important;
}
#admin.v21-admin .exec-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
#admin.v21-admin .exec-card{
  min-height:112px!important;
  padding:18px!important;
}
#admin.v21-admin .exec-card.highlight,
#admin.v21-admin .exec-card.warn{
  background:#fff!important;
}
#admin.v21-admin .exec-card .ek{
  font-size:12px!important;
  color:#8b9199!important;
  font-weight:700!important;
}
#admin.v21-admin .exec-card .ev{
  margin-top:10px!important;
  font-size:29px!important;
  color:#25282c!important;
  font-weight:700!important;
}
#admin.v21-admin .exec-bottom{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
  margin-top:14px!important;
}
#admin.v21-admin .exec-panel{padding:18px!important}
#admin.v21-admin .exec-panel-title{
  font-size:14px!important;
  color:#333!important;
  font-weight:800!important;
}

/* One-page order — visually calmer while preserving logic */
#admin.v21-admin.onepage-order-mode #jobComposer{
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#admin.v21-admin .job-composer-titlebar{
  padding:0 0 14px!important;
  margin:0 0 14px!important;
  border-bottom:1px solid #e7e9ed;
}
#admin.v21-admin .job-composer-titlebar h2{
  font-size:22px!important;
  font-weight:800!important;
}
#admin.v21-admin .onepage-hero{
  margin:0 0 14px!important;
  padding:13px 15px!important;
  border:1px solid #e7e9ed!important;
  border-radius:9px!important;
  background:#fff!important;
}
#admin.v21-admin .onepage-chip{
  background:#111!important;
  color:#d5ad46!important;
  border-radius:7px!important;
}
#admin.v21-admin .single-page-step{
  margin:14px 0 10px!important;
  padding:12px 14px!important;
  border:0!important;
  border-left:3px solid #c99a24!important;
  border-radius:0!important;
  background:#fafafa!important;
}
#admin.v21-admin .single-page-step-num{
  width:30px!important;height:30px!important;flex-basis:30px!important;
  background:#111!important;color:#d6ad43!important;
  font-size:12px!important;
}
#admin.v21-admin .single-page-step-copy b{font-size:15px!important}

/* sticky action bar in new admin style */
#admin.v21-admin .sticky-order-actions{
  left:238px!important;
  background:rgba(255,255,255,.97)!important;
  border-top:1px solid #e2e5e9!important;
  box-shadow:0 -4px 16px rgba(20,25,30,.05)!important;
}
#admin.v21-admin .sticky-order-actions-inner{max-width:none!important;padding:10px 30px!important}
#admin.v21-admin .sticky-order-copy b{font-size:13px!important}
#admin.v21-admin .sticky-order-copy small{font-size:11px!important;color:#8e949c!important}

/* todayFold becomes neutral content carrier for migrated views */
#admin.v21-admin.v21-nonorder.onepage-order-mode > #todayFold{
  display:block!important;
}
#admin.v21-admin.v21-nonorder #todayFold{
  border:0!important;
  background:transparent!important;
  margin:0!important;
  padding:0!important;
}
#admin.v21-admin.v21-nonorder #todayFold>summary{display:none!important}
#admin.v21-admin.v21-nonorder #todayFoldBody{padding:0!important}
#admin.v21-admin.v21-nonorder #todayFoldBody>h2{display:none!important}

/* Root child visibility overrides against legacy composer-focused rule */
#admin.v21-admin.v21-view-dashboard.composer-focused > .exec-dashboard{display:block!important}
#admin.v21-admin.v21-view-create.composer-focused > #jobComposer{display:block!important}
#admin.v21-admin.v21-nonorder.composer-focused > #todayFold{display:block!important}

/* section visibility inside todayFold */
#admin.v21-admin .v21-target-section{display:none!important}
#admin.v21-admin .v21-target-section.v21-show{display:block!important}
#admin.v21-admin #ajobs.v21-target-section.v21-show{display:block!important}

/* prevent the old floating content from becoming too wide */
#admin.v21-admin > .exec-dashboard,
#admin.v21-admin > #jobComposer,
#admin.v21-admin > #todayFold{
  max-width:1600px;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* search result micro UI */
.v21-search-result{
  position:fixed;
  z-index:1300;
  top:60px;
  left:calc(238px + 210px);
  width:min(620px,calc(100vw - 520px));
  max-height:360px;
  overflow:auto;
  display:none;
  background:#fff;
  border:1px solid #e1e4e8;
  border-radius:10px;
  box-shadow:0 12px 28px rgba(20,25,30,.10);
  padding:7px;
}
.v21-search-result.show{display:block}
.v21-search-item{
  padding:10px 11px;
  border-radius:7px;
  color:#454a51;
  font-size:12px;
  cursor:pointer;
}
.v21-search-item:hover{background:#f4f5f6}
.v21-search-empty{padding:14px;color:#969ca4;font-size:12px;text-align:center}

/* responsive */
@media(max-width:1050px){
  #admin.v21-admin{padding-left:86px!important}
  .v21-sidebar{width:70px;padding-left:9px;padding-right:9px}
  .v21-side-brand{justify-content:center;padding-left:0;padding-right:0}
  .v21-side-brand img{width:40px;height:40px}
  .v21-side-brand div{display:none}
  .v21-nav-group-label,.v21-nav-label,.v21-nav-badge,.v21-side-footer{display:none}
  .v21-nav-btn{justify-content:center;padding:12px 0}
  .v21-nav-icon{width:auto}
  .v21-admin-header{left:70px}
  #admin.v21-admin .sticky-order-actions{left:70px!important}
  .v21-search-result{left:250px;width:calc(100vw - 340px)}
}
@media(max-width:720px){
  body.v21-admin-active{overflow-x:hidden}
  #admin.v21-admin{padding:78px 14px 90px!important}
  .v21-sidebar{
    transform:translateX(-100%);
    width:238px;
    transition:.2s ease;
    box-shadow:10px 0 30px rgba(20,25,30,.12);
  }
  body.v21-side-open .v21-sidebar{transform:translateX(0)}
  .v21-side-brand div,.v21-nav-label,.v21-nav-badge,.v21-side-footer{display:block}
  .v21-nav-group-label{display:block}
  .v21-nav-btn{justify-content:flex-start;padding:11px 12px}
  .v21-nav-icon{width:22px}
  .v21-admin-header{left:0;padding:0 14px;height:64px}
  .v21-mobile-menu{display:block}
  .v21-head-title{min-width:0}
  .v21-head-title small,.v21-date-pill{display:none}
  .v21-global-search{max-width:none}
  .v21-admin-pill span{display:none}
  #admin.v21-admin .sticky-order-actions{left:0!important}
  #admin.v21-admin .exec-grid{grid-template-columns:1fr 1fr!important}
  #admin.v21-admin .exec-bottom{grid-template-columns:1fr!important}
  .v21-search-result{left:60px;right:12px;width:auto}
}
@media(max-width:480px){
  #admin.v21-admin .exec-grid{grid-template-columns:1fr!important}
  .v21-head-title{display:none}
}

/* ===== v21VisibilityFix ===== */
/* V21.01.1: Legacy V19 composer-focused CSS used a higher-specificity
   !important selector and hid the new V21 sidebar/header.
   These selectors intentionally outrank that old rule. */
#admin#admin.v21-admin.composer-focused > .v21-sidebar{display:flex!important}
#admin#admin.v21-admin.composer-focused > .v21-admin-header{display:flex!important}
#admin#admin.v21-admin.composer-focused > .v21-page-intro{display:flex!important}
#admin#admin.v21-admin.v21-view-dashboard.composer-focused > .exec-dashboard{display:block!important}
#admin#admin.v21-admin.v21-view-create.composer-focused > #jobComposer{display:block!important}
#admin#admin.v21-admin.v21-nonorder.composer-focused > #todayFold{display:block!important}
/* V21.14.15: finance / reports / tools are non-create views.
   Legacy composer-focused CSS used to force the Create Job form over these pages. */
#admin#admin.v21-admin.v21-nonorder.composer-focused > #jobComposer{display:none!important}
#admin#admin.v21-admin.v21-nonorder.onepage-order-mode > #jobComposer{display:none!important}

/* Old top/quickbar stays suppressed in the redesigned admin. */
#admin#admin.v21-admin > .top,
#admin#admin.v21-admin > .admin-quickbar{display:none!important}

/* ===== v2102DashboardStyles ===== */
/* =========================================================
   POLITE EXPRESS V21.02 — ADMIN DASHBOARD
   Dashboard only: clean, light, data-first, no order form/map.
   ========================================================= */
#admin.v21-admin.v21-view-dashboard{
  background:#f3f4f6!important;
}
#admin.v21-admin.v21-view-dashboard > .v21-page-intro{
  margin-bottom:12px!important;
}
#admin.v21-admin.v21-view-dashboard > .v21-page-intro h1{
  font-size:22px!important;
}
#admin.v21-admin.v21-view-dashboard > .v21-page-intro p{
  color:#9aa0a7!important;
}
#admin.v21-admin .exec-dashboard{
  display:none;
  max-width:1600px;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#25282d!important;
}
#admin.v21-admin.v21-view-dashboard.composer-focused > .exec-dashboard{
  display:block!important;
}
#admin.v21-admin.v21-view-dashboard #jobComposer,
#admin.v21-admin.v21-view-dashboard #todayFold{
  display:none!important;
}

.v2102-dash-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:2px 0 14px;
}
.v2102-dash-date-label{
  font-size:16px;
  font-weight:800;
  color:#30343a;
}
.v2102-dash-date-tools{
  display:flex;
  align-items:center;
  gap:8px;
}
#admin.v21-admin .v2102-dash-date-tools input{
  width:170px;
  height:42px;
  margin:0;
  border:1px solid #dfe3e8!important;
  border-radius:8px!important;
  background:#fff!important;
  font-size:14px!important;
  font-weight:700!important;
  color:#374151!important;
}
#admin.v21-admin .v2102-refresh-btn{
  width:42px;height:42px;
  padding:0!important;margin:0!important;
  border:1px solid #dfe3e8!important;
  border-radius:8px!important;
  background:#fff!important;color:#374151!important;
  font-size:19px!important;
}

.v2102-summary-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,1.25fr) minmax(220px,.72fr);
  gap:14px;
  margin-bottom:14px;
}
#admin.v21-admin .v2102-summary-card{
  min-height:120px;
  padding:20px 22px!important;
  text-align:left;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:7px;
  border:1px solid #e5e7eb!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#292d32!important;
  cursor:pointer;
}
#admin.v21-admin .v2102-summary-card:hover{
  border-color:#d6d9dd!important;
  background:#fcfcfd!important;
}
.v2102-card-label{
  display:block;
  font-size:15px;
  line-height:1.45;
  color:#6b7280;
  font-weight:800;
}
.v2102-card-value{
  display:flex;
  align-items:baseline;
  gap:6px;
}
.v2102-card-value b{
  font-size:38px;
  line-height:1;
  font-weight:700;
  color:#1f2937;
}
.v2102-card-value small{
  font-size:14px;
  color:#6b7280;
  font-weight:700;
}

.v2102-main-grid{
  display:grid;
  grid-template-columns:minmax(0,2.08fr) minmax(300px,.92fr);
  gap:14px;
  align-items:stretch;
}
.v2102-sales-panel,
.v2102-today-card,
.v2102-status-card{
  border:1px solid #e5e7eb;
  border-radius:8px;
  background:#fff;
}
.v2102-sales-panel{
  min-height:438px;
  padding:18px 18px 12px;
  position:relative;
}
.v2102-sales-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  margin-bottom:14px;
}
.v2102-sales-numbers{
  display:flex;
  align-items:flex-end;
  gap:26px;
  margin-top:8px;
}
.v2102-sales-numbers div{
  display:flex;
  align-items:baseline;
  gap:7px;
}
.v2102-sales-numbers b{
  font-size:34px;
  font-weight:700;
  color:#1f2937;
}
.v2102-sales-numbers small{
  color:#6b7280;
  font-size:13px;
  font-weight:700;
}
.v2102-chart-legend{
  display:flex;
  gap:15px;
  font-size:13px;
  color:#6b7280;
  font-weight:700;
}
.v2102-chart-legend span{
  display:flex;
  align-items:center;
  gap:6px;
}
.v2102-chart-legend i{
  width:24px;height:3px;border-radius:4px;display:inline-block;
}
.v2102-chart-legend i.sales{background:#4b5563}
.v2102-chart-legend i.orders{background:#c99a24}
.v2102-line-chart{
  width:100%;
  height:350px;
  overflow:hidden;
}
.v2102-line-chart svg{
  width:100%;height:100%;display:block;
}
.v2102-empty-note{
  position:absolute;
  left:50%;top:58%;
  transform:translate(-50%,-50%);
  color:#94a3b8;
  font-size:14px;
  font-weight:700;
}

.v2102-side-stack{
  display:grid;
  grid-template-rows:minmax(130px,.65fr) minmax(290px,1.35fr);
  gap:14px;
}
.v2102-today-card{
  padding:18px;
  cursor:pointer;
}
.v2102-today-card:hover{background:#fcfcfd}
.v2102-today-values{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:16px;
}
.v2102-today-values div{
  display:flex;flex-direction:column;gap:7px;
}
.v2102-today-values small{
  color:#6b7280;font-size:13px;font-weight:700;
}
.v2102-today-values b{
  color:#1f2937;font-size:30px;font-weight:700;
}
.v2102-status-card{
  padding:20px;
}
.v2102-donut-wrap{
  min-height:260px;
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(135px,.92fr);
  align-items:center;
  gap:16px;
  margin-top:10px;
}
.v2102-donut{
  width:min(210px,100%);
  aspect-ratio:1/1;
  justify-self:center;
  border-radius:50%;
  position:relative;
  background:#e5e7eb;
}
.v2102-donut:after{
  content:'';
  position:absolute;
  inset:29%;
  background:#fff;
  border-radius:50%;
  box-shadow:0 0 0 1px #f0f1f3;
}
.v2102-donut>div{
  position:absolute;
  z-index:2;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  pointer-events:none;
}
.v2102-donut b{
  font-size:32px;
  color:#1f2937;
  line-height:1;
  font-weight:800;
}
.v2102-donut small{
  margin-top:5px;
  color:#6b7280;
  font-size:13px;
  font-weight:700;
}
.v2102-status-legend{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.v2102-status-row{
  display:grid;
  grid-template-columns:12px 1fr auto;
  align-items:center;
  gap:9px;
  font-size:13px;
  color:#4b5563;
}
.v2102-status-dot{
  width:12px;height:12px;border-radius:4px;
}
.v2102-status-row b{
  font-size:14px;
  color:#1f2937;
  font-weight:800;
}
.v2102-status-row span:last-child{
  color:#6b7280;
  font-variant-numeric:tabular-nums;
  font-size:13px;
  font-weight:700;
}

@media(max-width:1150px){
  .v2102-summary-grid{
    grid-template-columns:1fr 1fr;
  }
  .v2102-summary-card:last-child{
    grid-column:1/-1;
  }
  .v2102-main-grid{
    grid-template-columns:1fr;
  }
  .v2102-side-stack{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
  }
}
@media(max-width:760px){
  .v2102-summary-grid{grid-template-columns:1fr}
  .v2102-summary-card:last-child{grid-column:auto}
  .v2102-side-stack{grid-template-columns:1fr}
  .v2102-sales-head{align-items:flex-start;flex-direction:column}
  .v2102-line-chart{height:280px}
  .v2102-donut-wrap{grid-template-columns:1fr}
}

/* ===== v2103CustomerStyles ===== */
/* =========================================================
   POLITE EXPRESS V21.14.21 — CUSTOMER MANAGEMENT READABILITY UPGRADE
   Larger typography, wider spacing, and a cleaner white-table layout
   inspired by the reference member-management screen.
   ========================================================= */
#admin.v21-admin .v2103-customer-page{
  display:none;
  max-width:1700px;
  margin:0 auto;
}
#admin.v21-admin.v21-view-customers.composer-focused > #v2103CustomerPage{
  display:block!important;
}
#admin.v21-admin.v21-view-customers #jobComposer,
#admin.v21-admin.v21-view-customers #todayFold,
#admin.v21-admin.v21-view-customers .exec-dashboard{
  display:none!important;
}
.v2103-tabs{
  display:flex;
  gap:12px;
  align-items:center;
  margin:4px 0 22px;
}
#admin.v21-admin .v2103-tab{
  min-width:146px;
  height:48px;
  padding:0 18px!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#555b63!important;
  font-size:16px!important;
  font-weight:800!important;
  letter-spacing:.1px;
}
#admin.v21-admin .v2103-tab.active{
  background:#111!important;
  color:#fff!important;
}
.v2103-pane.hide{display:none!important}
.v2103-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:18px;
}
.v2103-total{
  flex:0 0 auto;
  padding:0 4px 8px;
  font-size:22px;
  line-height:1.35;
  color:#4b5057;
}
.v2103-total b{font-size:30px;color:#25292e}
.v2103-filters{
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.v2103-filters label{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.v2103-filters label>span{
  font-size:12px;
  color:#858b92;
  font-weight:800;
}
#admin.v21-admin .v2103-filters input,
#admin.v21-admin .v2103-filters select{
  width:180px;
  height:46px;
  margin:0;
  border-radius:10px!important;
  font-size:15px!important;
  border:1px solid #dfe4ea!important;
  background:#fff!important;
  color:#2f343a!important;
}
#admin.v21-admin .v2103-filters label:first-child input{width:260px}
#admin.v21-admin .v2103-black-btn{
  min-height:46px;
  padding:0 18px!important;
  margin:0!important;
  border:1px solid #111!important;
  border-radius:10px!important;
  background:#111!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:800!important;
}
#admin.v21-admin .v2103-light-btn{
  min-height:46px;
  padding:0 18px!important;
  margin:0!important;
  border:1px solid #dfe3e8!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#4d535a!important;
  font-size:15px!important;
  font-weight:700!important;
}
.v2103-table-shell{
  border:1px solid #e8ebef;
  border-radius:14px;
  background:#fff;
  overflow:auto;
  min-height:420px;
  box-shadow:0 6px 18px rgba(20,24,29,.04);
}
.v2103-table-shell.import{min-height:240px;margin-top:16px}
#admin.v21-admin .v2103-table{
  min-width:1400px;
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-size:15px;
  background:#fff;
}
#admin.v21-admin .v2103-table th{
  top:0;
  padding:18px 14px!important;
  background:#fafbfc!important;
  color:#717983!important;
  font-size:13px!important;
  font-weight:800!important;
  white-space:nowrap;
  border-bottom:1px solid #e9edf2!important;
}
#admin.v21-admin .v2103-table td{
  height:74px;
  padding:16px 14px!important;
  border-bottom:1px solid #edf1f4!important;
  color:#32373e!important;
  font-size:15px!important;
  line-height:1.55!important;
  vertical-align:middle;
  background:#fff;
}
#admin.v21-admin .v2103-table tbody tr:hover td{background:#fcfcfd}
.v2103-table th.check,.v2103-table td.check{width:52px;text-align:center}
.v2103-table th.num,.v2103-table td.num{text-align:right}
.v2103-table th.action,.v2103-table td.action{text-align:right;white-space:nowrap}
.v2103-company-cell{min-width:300px}
.v2103-company-cell b{
  display:block;
  color:#282d33;
  font-size:16px;
  font-weight:800;
  line-height:1.55;
}
.v2103-company-cell small{
  display:block;
  margin-top:6px;
  color:#8f959d;
  font-size:13px;
  line-height:1.55;
}
.v2103-type-badge,.v2103-status-badge,.v2103-online-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
.v2103-type-badge.credit{background:#f3f0ff;color:#5b3db5}
.v2103-type-badge.cash{background:#f4f5f6;color:#5a6068}
.v2103-status-badge.active{background:#eaf7ef;color:#187744}
.v2103-status-badge.inactive{background:#fff0f0;color:#b03333}
.v2103-online-badge{background:#eef5ff;color:#34609a}
#admin.v21-admin .v2103-row-btn{
  height:36px;
  padding:0 12px!important;
  margin:0 2px!important;
  border:1px solid #dfe3e8!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#40464d!important;
  font-size:13px!important;
  font-weight:800!important;
}
.v2103-empty{
  min-height:360px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:12px;
  text-align:center;
  color:#8a9097;
}
.v2103-empty b{font-size:22px;color:#555b62}
.v2103-empty span{font-size:15px;line-height:1.6}
.v2103-pager{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:18px 2px 0;
  color:#7d848c;
  font-size:14px;
}
.v2103-page-size{display:flex;align-items:center;gap:8px}
#admin.v21-admin .v2103-page-size select{
  width:78px;height:36px;margin:0;border-radius:8px!important;font-size:14px!important;
}
.v2103-pager-buttons{display:flex;gap:6px}
#admin.v21-admin .v2103-pager-buttons button{
  min-width:36px;height:36px;padding:0 10px!important;
  border:1px solid #dfe3e8!important;
  border-radius:8px!important;
  background:#fff!important;color:#555!important;font-size:13px!important;font-weight:700!important;
}
#admin.v21-admin .v2103-pager-buttons button.active{background:#111!important;color:#fff!important;border-color:#111!important}

/* forms */
.v2103-form-card{
  max-width:1260px;
  margin:0 auto;
  padding:28px 30px;
  border:1px solid #e5e8eb;
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 18px rgba(20,24,29,.04);
}
.v2103-form-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  padding-bottom:20px;border-bottom:1px solid #edf0f2;
}
.v2103-form-head h2{margin:0!important;font-size:30px!important;line-height:1.25!important}
.v2103-form-head p{margin:8px 0 0;color:#90969d;font-size:15px;line-height:1.55}
.v2103-form-section{padding:22px 0;border-bottom:1px solid #edf0f2}
.v2103-form-section h3{margin:0 0 14px!important;font-size:20px!important;color:#363b41!important}
.v2103-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.v2103-form-grid .span2{grid-column:1/-1}
.v2103-form-section label{display:flex;flex-direction:column;gap:7px}
.v2103-form-section label>span{color:#676d75;font-size:14px;font-weight:700}
#admin.v21-admin .v2103-form-section input,
#admin.v21-admin .v2103-form-section select{min-height:48px;margin:0;border-radius:10px!important;font-size:15px!important}
#admin.v21-admin .v2103-form-section textarea{margin:0;resize:vertical;border-radius:10px!important;font-size:15px!important;line-height:1.6!important;padding:12px 14px!important}
.v2103-help{margin-top:8px;color:#9aa0a7;font-size:13px}
.v2103-form-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:22px}
.v2103-import-drop{
  margin-top:20px;min-height:110px;border:1px dashed #cfd4da;border-radius:12px;background:#fafbfc;padding:20px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.v2103-import-drop div{display:flex;flex-direction:column;gap:5px}
.v2103-import-drop b{font-size:18px;color:#444a51}
.v2103-import-drop span,.v2103-template-note{font-size:13px;color:#949aa1;line-height:1.6}
#admin.v21-admin .v2103-import-drop input{width:auto;margin:0}
.v2103-template-note{padding:12px 0}
.v2103-import-summary{min-height:42px;padding:12px 14px;border-radius:10px;background:#f6f7f8;color:#777d85;font-size:14px;line-height:1.6}

/* detail drawer */
.v2103-detail-overlay{position:fixed;inset:0;z-index:15000;display:none;justify-content:flex-end;background:rgba(20,24,29,.28)}
.v2103-detail-overlay.show{display:flex}
.v2103-detail-panel{width:min(920px,94vw);height:100%;overflow:auto;background:#fff;box-shadow:-18px 0 45px rgba(25,30,35,.12);padding:30px}
.v2103-detail-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.v2103-detail-head h2{margin:6px 0 8px;font-size:30px!important;line-height:1.3!important}
.v2103-detail-code{color:#91979e;font-size:14px}
.v2103-detail-head-actions{display:flex;gap:8px}
#admin.v21-admin .v2103-close-btn{width:40px;height:40px;padding:0!important;margin:0!important;border:1px solid #dfe3e8!important;border-radius:10px!important;background:#fff!important;color:#555!important}
.v2103-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0 18px}
.v2103-detail-stats div{border:1px solid #e6e8eb;border-radius:12px;background:#fafbfc;padding:16px}
.v2103-detail-stats small{display:block;color:#8e949b;font-size:13px}
.v2103-detail-stats b{display:block;margin-top:8px;color:#34383d;font-size:24px}
.v2103-detail-tabs{display:flex;gap:4px;border-bottom:1px solid #e6e8eb;margin-top:12px}
#admin.v21-admin .v2103-detail-tabs button{padding:12px 14px!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#737980!important;font-size:14px!important;border-bottom:3px solid transparent!important}
#admin.v21-admin .v2103-detail-tabs button.active{color:#111!important;border-bottom-color:#111!important;font-weight:800!important}
.v2103-detail-body{padding:22px 0}
.v2103-info-grid{display:grid;grid-template-columns:190px 1fr;gap:0;border:1px solid #e7e9ec;border-radius:12px;overflow:hidden}
.v2103-info-grid div{padding:14px 16px;border-bottom:1px solid #eef0f2;font-size:15px;line-height:1.6}
.v2103-info-grid div:nth-child(odd){background:#f7f8f9;color:#777d84;font-weight:700}
.v2103-info-grid div:nth-child(even){color:#43484f}
.v2103-mini-table{width:100%;border:1px solid #e7e9ec;border-radius:12px;overflow:hidden}
.v2103-online-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.v2103-history-row{display:grid;grid-template-columns:145px 1fr 110px 110px;gap:12px;align-items:center;padding:14px 4px;border-bottom:1px solid #eef0f2;font-size:14px;line-height:1.55}
.v2103-history-row b{color:#3d4248}
.v2103-history-row span{color:#7d838a}
.v2103-import-good{color:#187744;font-weight:800}
.v2103-import-warn{color:#b36a00;font-weight:800}
.v2103-import-bad{color:#b03333;font-weight:800}

@media (max-width:1100px){
  .v2103-toolbar{align-items:stretch;flex-direction:column}
  .v2103-filters{justify-content:flex-start}
  #admin.v21-admin .v2103-filters input,
  #admin.v21-admin .v2103-filters select,
  #admin.v21-admin .v2103-filters label:first-child input{width:100%}
  .v2103-tabs{overflow:auto}
  .v2103-form-grid{grid-template-columns:1fr}
  .v2103-form-grid .span2{grid-column:auto}
  .v2103-detail-stats{grid-template-columns:1fr 1fr}
  .v2103-info-grid{grid-template-columns:140px 1fr}
}

/* ===== v2105OrderStyles ===== */
#admin.v21-admin .v2105-order-page{display:none;max-width:1600px;margin:0 auto}
#admin.v21-admin.v21-view-orders.composer-focused > #v2105OrderPage{display:block!important}
#admin.v21-admin.v21-view-orders #jobComposer,#admin.v21-admin.v21-view-orders #todayFold,#admin.v21-admin.v21-view-orders .exec-dashboard,#admin.v21-admin.v21-view-orders #v2103CustomerPage{display:none!important}
.v2105-order-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px}
.v2105-order-tabs{display:flex;align-items:center;gap:5px;overflow:auto;padding-bottom:3px;scrollbar-width:thin}
#admin.v21-admin .v2105-order-tab{min-height:36px;padding:0 13px!important;margin:0!important;border:1px solid transparent!important;border-radius:4px!important;background:transparent!important;color:#697078!important;font-size:11px!important;font-weight:800!important;white-space:nowrap}
#admin.v21-admin .v2105-order-tab:hover{background:#f4f5f6!important}
#admin.v21-admin .v2105-order-tab.active{background:#111!important;border-color:#111!important;color:#fff!important}
.v2105-tab-count{display:inline-flex;min-width:18px;height:18px;margin-left:5px;padding:0 5px;border-radius:999px;align-items:center;justify-content:center;background:#eef0f2;color:#6d737a;font-size:9px}
.v2105-order-tab.active .v2105-tab-count{background:#fff;color:#111}
.v2105-date-box{display:flex;align-items:flex-end;gap:6px;flex:0 0 auto}
.v2105-date-box label,.v2105-filter-group{display:flex;flex-direction:column;gap:4px}
.v2105-date-box span,.v2105-filter-group span{font-size:10px;color:#858b92;font-weight:700}
#admin.v21-admin .v2105-date-box input{width:145px;height:36px;margin:0;border-radius:4px!important;font-size:11px!important}
#admin.v21-admin .v2105-clear-date{height:36px!important;margin:0!important;padding:0 10px!important;border:1px solid #dfe3e8!important;border-radius:4px!important;background:#fff!important;color:#626871!important;font-size:10px!important}
.v2105-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:8px 0 12px}
.v2105-total{padding:0 2px 8px;font-size:15px;color:#565c63;white-space:nowrap}.v2105-total b{color:#25292e;font-size:18px}
.v2105-filters{display:flex;align-items:flex-end;justify-content:flex-end;gap:7px;flex-wrap:wrap}
#admin.v21-admin .v2105-filters input,#admin.v21-admin .v2105-filters select{width:142px;height:38px;margin:0;border-radius:4px!important;font-size:11px!important}
#admin.v21-admin .v2105-filters .search input{width:190px}
#admin.v21-admin .v2105-black-btn{min-height:38px;padding:0 14px!important;margin:0!important;border:1px solid #111!important;border-radius:4px!important;background:#111!important;color:#fff!important;font-size:11px!important;font-weight:800!important}
#admin.v21-admin .v2105-light-btn{min-height:38px;padding:0 13px!important;margin:0!important;border:1px solid #dfe3e8!important;border-radius:4px!important;background:#fff!important;color:#555c63!important;font-size:11px!important;font-weight:700!important}
.v2105-table-shell{border:1px solid #e5e8eb;border-radius:6px;background:#fff;overflow:auto;min-height:430px}
#admin.v21-admin .v2105-table{min-width:1480px;border-collapse:separate;border-spacing:0;font-size:11px}
#admin.v21-admin .v2105-table th{position:sticky;top:0;z-index:3;padding:10px 9px!important;background:#f1f2f4!important;color:#737980!important;font-size:9px!important;font-weight:800!important;white-space:nowrap}
#admin.v21-admin .v2105-table td{min-height:52px;padding:10px 9px!important;border-bottom:1px solid #edf0f2!important;color:#454a51!important;font-size:11px!important;vertical-align:top}
#admin.v21-admin .v2105-table tr:hover td{background:#fafbfc}
.v2105-check{width:34px;text-align:center}.v2105-order-id{min-width:130px;color:#30353a;font-weight:800}.v2105-order-id small{display:block;margin-top:3px;color:#969ca3;font-size:9px;font-weight:500}
.v2105-address{width:220px;max-width:220px;line-height:1.45;color:#555b62}.v2105-address b{color:#34393f;font-weight:700}
.v2105-customer{width:185px;max-width:185px}.v2105-customer b{display:block;color:#33383e;line-height:1.35}.v2105-customer small{display:block;margin-top:3px;color:#949aa1;font-size:9px}
.v2105-service-badge,.v2105-status-badge,.v2105-pay-badge{display:inline-flex;min-height:23px;align-items:center;gap:5px;padding:0 8px;border-radius:999px;white-space:nowrap;font-size:9px;font-weight:800}
.v2105-service-badge.urgent{background:#fff3e8;color:#a85b14}.v2105-service-badge.replacement{background:#f0efff;color:#5c4bbb}
.v2105-pay-badge.credit{background:#eef5ff;color:#35629b}.v2105-pay-badge.cash{background:#f4f5f6;color:#5d636a}
.v2105-status-badge.waiting{background:#fff7e7;color:#9b6814}.v2105-status-badge.assigned{background:#eef4ff;color:#3b63a8}.v2105-status-badge.running{background:#fff2e4;color:#a65a13}.v2105-status-badge.done{background:#eaf7ef;color:#187744}.v2105-status-badge.cancel{background:#f1f2f4;color:#545b63}.v2105-status-badge.failed{background:#fff0f0;color:#b03333}
.v2105-money{font-variant-numeric:tabular-nums;font-weight:800;color:#33383d;white-space:nowrap}.v2105-messenger{min-width:120px}.v2105-messenger b{display:block;color:#353a40}.v2105-messenger small{display:block;margin-top:3px;color:#92989f;font-size:9px}
.v2105-actions{white-space:nowrap;text-align:right}
#admin.v21-admin .v2105-row-btn{height:29px;padding:0 9px!important;margin:0 2px!important;border:1px solid #dfe3e8!important;border-radius:4px!important;background:#fff!important;color:#444a51!important;font-size:9px!important;font-weight:800!important}
#admin.v21-admin .v2105-row-btn.primary{background:#111!important;border-color:#111!important;color:#fff!important}
#admin.v21-admin .v2105-row-btn.danger{border-color:#f0cccc!important;color:#a73333!important;background:#fffafa!important}
.v2105-empty{min-height:400px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#8e949b;text-align:center}.v2105-empty b{color:#575d64;font-size:15px}.v2105-empty span{font-size:11px}
.v2105-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 2px 0;color:#898f96;font-size:10px}.v2105-page-size{display:flex;align-items:center;gap:6px}
#admin.v21-admin .v2105-page-size select{width:64px;height:30px;margin:0;border-radius:4px!important;font-size:10px!important}
.v2105-pager-buttons{display:flex;gap:4px}#admin.v21-admin .v2105-pager-buttons button{min-width:30px;height:30px;padding:0 8px!important;border:1px solid #dfe3e8!important;border-radius:4px!important;background:#fff!important;color:#555!important;font-size:9px!important}#admin.v21-admin .v2105-pager-buttons button.active{background:#111!important;color:#fff!important;border-color:#111!important}
.v2105-detail-overlay{position:fixed;z-index:16000;inset:0;display:none;justify-content:flex-end;background:rgba(20,24,29,.28)}.v2105-detail-overlay.show{display:flex}
.v2105-detail-panel{width:min(900px,94vw);height:100%;overflow:auto;background:#fff;box-shadow:-18px 0 45px rgba(25,30,35,.12);padding:24px}
.v2105-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid #edf0f2}.v2105-detail-head h2{margin:4px 0 4px!important;font-size:22px!important}.v2105-detail-head p{margin:0;color:#90969d;font-size:10px}
#admin.v21-admin .v2105-close{width:38px;height:38px;padding:0!important;margin:0!important;border:1px solid #dfe3e8!important;border-radius:4px!important;background:#fff!important;color:#555!important}
.v2105-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:16px 0}.v2105-detail-stat{padding:12px;border:1px solid #e7e9ec;border-radius:5px;background:#fafbfc}.v2105-detail-stat small{display:block;color:#8e949b;font-size:9px}.v2105-detail-stat b{display:block;margin-top:6px;color:#34393f;font-size:15px}
.v2105-detail-grid{display:grid;grid-template-columns:160px 1fr;border:1px solid #e7e9ec;border-radius:5px;overflow:hidden;margin-bottom:14px}.v2105-detail-grid div{padding:10px 12px;border-bottom:1px solid #eef0f2;font-size:10px}.v2105-detail-grid div:nth-child(odd){background:#f7f8f9;color:#757b82;font-weight:800}.v2105-detail-grid div:nth-child(even){color:#444a50}
.v2105-stop-list{border:1px solid #e7e9ec;border-radius:5px;overflow:hidden}.v2105-stop-row{display:grid;grid-template-columns:38px 1fr 100px;gap:10px;align-items:start;padding:11px 12px;border-bottom:1px solid #eef0f2;font-size:10px}.v2105-stop-row:last-child{border-bottom:0}.v2105-stop-no{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;font-weight:800}.v2105-stop-row b{color:#353a40}.v2105-stop-row small{display:block;margin-top:3px;color:#91979e}.v2105-detail-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}
@media(max-width:1100px){.v2105-order-head,.v2105-toolbar{align-items:stretch;flex-direction:column}.v2105-filters{justify-content:flex-start}}
@media(max-width:760px){.v2105-detail-stats{grid-template-columns:1fr 1fr}.v2105-detail-grid{grid-template-columns:115px 1fr}}

/* ===== v21051OrderVisibilityFix ===== */
/* V21.05.1 — Order page visibility fix */
#admin.v21-admin.v21-view-orders #v2105OrderPage{
  display:block!important;
}
#admin.v21-admin.v21-view-orders #jobComposer,
#admin.v21-admin.v21-view-orders #todayFold,
#admin.v21-admin.v21-view-orders .exec-dashboard,
#admin.v21-admin.v21-view-orders #v2103CustomerPage{
  display:none!important;
}

/* ===== v2106MessengerStyles ===== */
/* =========================================================
   POLITE EXPRESS V21.06 — MESSENGER MANAGEMENT
   MSGX-inspired clean staff table, using existing messenger data.
   ========================================================= */
#admin.v21-admin #v2106MessengerPage{display:none!important}
#admin.v21-admin.v21-view-messengers #v2106MessengerPage{display:block!important}
#admin.v21-admin.v21-view-messengers #jobComposer,
#admin.v21-admin.v21-view-messengers #todayFold,
#admin.v21-admin.v21-view-messengers .exec-dashboard,
#admin.v21-admin.v21-view-messengers #v2103CustomerPage,
#admin.v21-admin.v21-view-messengers #v2105OrderPage{display:none!important}

#v2106MessengerPage{
  display:none;
  max-width:1600px;
  margin:0 auto;
  color:#30343a;
}
.v2106-toolbar{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 14px;
}
.v2106-tabs{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
#admin.v21-admin .v2106-tab{
  height:38px;
  padding:0 15px!important;
  margin:0!important;
  background:transparent!important;
  border:1px solid transparent!important;
  color:#656b73!important;
  font-size:12px!important;
  font-weight:700!important;
  border-radius:7px!important;
}
#admin.v21-admin .v2106-tab.active{
  background:#111!important;
  color:#fff!important;
}
#admin.v21-admin .v2106-tab .count{
  display:inline-grid;
  place-items:center;
  min-width:18px;height:18px;
  margin-left:5px;padding:0 4px;
  border-radius:999px;
  background:#e53935;color:#fff;
  font-size:9px;
}
.v2106-toolbar-spacer{flex:1}
#admin.v21-admin .v2106-add-btn,
#admin.v21-admin .v2106-export-btn{
  height:38px;
  padding:0 14px!important;
  margin:0!important;
  border-radius:7px!important;
  font-size:12px!important;
  font-weight:800!important;
}
#admin.v21-admin .v2106-add-btn{
  background:#111!important;color:#fff!important;border:1px solid #111!important;
}
#admin.v21-admin .v2106-export-btn{
  background:#fff!important;color:#333!important;border:1px solid #dfe3e8!important;
}

.v2106-panel{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:8px;
  overflow:hidden;
}
.v2106-panel-head{
  display:flex;
  align-items:flex-end;
  gap:18px;
  justify-content:space-between;
  padding:16px 18px 13px;
  border-bottom:1px solid #eceef1;
}
.v2106-total{
  font-size:16px;
  font-weight:800;
  color:#40444a;
  white-space:nowrap;
}
.v2106-filters{
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.v2106-filter{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.v2106-filter label{
  font-size:10px!important;
  color:#9298a0!important;
  font-weight:700!important;
}
#admin.v21-admin .v2106-filter input,
#admin.v21-admin .v2106-filter select{
  width:145px;
  height:38px;
  margin:0;
  padding:0 10px;
  border-radius:6px!important;
  font-size:12px!important;
}
#admin.v21-admin .v2106-filter.search input{width:205px}
#admin.v21-admin .v2106-run{
  height:38px;
  margin:0!important;
  padding:0 15px!important;
  background:#111!important;
  color:#fff!important;
  border:1px solid #111!important;
  border-radius:6px!important;
  font-size:12px!important;
  font-weight:800!important;
}


/* V21.14.35 Replacement Day Lock + Correct Workforce KPI */
.v2133-kpi-panel{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:20px;margin-top:4px}
.v2133-kpi-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}
.v2133-kpi-title{font-size:24px;font-weight:900;color:#20242a}.v2133-kpi-sub{font-size:14px;color:#6b7280;line-height:1.55;margin-top:4px}
.v2133-kpi-controls{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.v2133-kpi-control{display:flex;flex-direction:column;gap:5px}
.v2133-kpi-control label{font-size:12px!important;font-weight:800!important;color:#6b7280!important}.v2133-kpi-control input{height:42px!important;margin:0!important;min-width:145px;font-size:16px!important;font-weight:800!important}
.v2133-kpi-cards{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:10px;margin-bottom:16px}.v2133-kpi-card{border:1px solid #e5e7eb;border-radius:12px;padding:14px;background:#fafafa;min-height:92px}
.v2133-kpi-card small{display:block;font-size:12px;color:#6b7280;font-weight:800;line-height:1.35}.v2133-kpi-card b{display:block;font-size:25px;line-height:1.15;margin-top:9px;color:#111827}.v2133-kpi-card.good{background:#ecfdf5;border-color:#a7f3d0}.v2133-kpi-card.warn{background:#fffbeb;border-color:#fde68a}.v2133-kpi-card.bad{background:#fef2f2;border-color:#fecaca}.v2133-kpi-card.blue{background:#eff6ff;border-color:#bfdbfe}
.v2133-kpi-note{padding:12px 14px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;font-size:13px;line-height:1.55;color:#475569;margin-bottom:14px}
.v2133-kpi-table-wrap{overflow:auto;border:1px solid #e5e7eb;border-radius:12px}.v2133-kpi-table{width:100%;border-collapse:collapse;min-width:1120px}.v2133-kpi-table th{background:#f8fafc;position:sticky;top:0;z-index:2;text-align:left;font-size:13px;padding:12px;border-bottom:1px solid #e5e7eb;white-space:nowrap}.v2133-kpi-table td{font-size:15px;padding:13px 12px;border-bottom:1px solid #eef0f2;vertical-align:middle}.v2133-kpi-table tr:last-child td{border-bottom:0}.v2133-kpi-name{font-weight:900;font-size:16px}.v2133-kpi-meta{font-size:12px;color:#6b7280;margin-top:3px}.v2133-kpi-money{font-weight:900}.v2133-kpi-money.pos{color:#047857}.v2133-kpi-money.neg{color:#b42318}
.v2133-kpi-progress{width:120px;height:10px;border-radius:999px;background:#e5e7eb;overflow:hidden;margin-top:6px}.v2133-kpi-progress>i{display:block;height:100%;border-radius:999px;background:#f59e0b;max-width:100%}.v2133-kpi-progress.good>i{background:#10b981}.v2133-kpi-progress.bad>i{background:#ef4444}
.v2133-kpi-status{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.v2133-kpi-status.good{background:#dcfce7;color:#166534}.v2133-kpi-status.warn{background:#fef3c7;color:#92400e}.v2133-kpi-status.bad{background:#fee2e2;color:#991b1b}.v2133-kpi-status.blue{background:#dbeafe;color:#1d4ed8}.v2133-kpi-status.neutral{background:#f1f5f9;color:#475569}
.v2133-kpi-percent{font-size:18px;font-weight:900}.v2133-kpi-empty{text-align:center;padding:30px;color:#6b7280}.v2133-perjob-summary{margin-top:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v2133-perjob-summary>div{padding:12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.v2133-perjob-summary small{display:block;color:#6b7280;font-size:12px;font-weight:800}.v2133-perjob-summary b{display:block;font-size:21px;margin-top:5px}
@media(max-width:1100px){.v2133-kpi-cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.v2133-kpi-cards{grid-template-columns:repeat(2,1fr)}.v2133-kpi-title{font-size:20px}.v2133-kpi-panel{padding:14px}.v2133-perjob-summary{grid-template-columns:1fr}}

.v2106-table-wrap{
  overflow:auto;
  max-height:calc(100vh - 310px);
  min-height:420px;
}
#admin.v21-admin .v2106-table{
  min-width:1120px;
}
#admin.v21-admin .v2106-table th{
  position:sticky;top:0;z-index:4;
  white-space:nowrap;
  background:#f5f6f7!important;
}
#admin.v21-admin .v2106-table td{
  height:58px;
  padding-top:10px!important;
  padding-bottom:10px!important;
}
.v2106-avatar{
  width:44px;height:44px;
  border-radius:7px;
  object-fit:cover;
  display:block;
  background:#f3f4f6;
  border:1px solid #eceef1;
}
.v2106-name{
  font-weight:800;
  color:#383c42;
}
.v2106-sub{
  margin-top:3px;
  font-size:10px;
  color:#969ca3;
}
.v2106-type{
  display:inline-flex;
  align-items:center;
  min-height:23px;
  padding:0 8px;
  border-radius:5px;
  font-size:10px;
  font-weight:800;
  background:#f1f3f5;
  color:#555b63;
}
.v2106-status{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:22px;
  padding:0 8px;
  border-radius:5px;
  font-size:10px;
  font-weight:800;
}
.v2106-status.active{background:#eaf7ef;color:#237a45}
.v2106-status.inactive{background:#f1f2f4;color:#737980}
.v2106-status i{width:6px;height:6px;border-radius:50%;background:currentColor}
.v2106-row-actions{
  display:flex;
  gap:6px;
  align-items:center;
}
#admin.v21-admin .v2106-small-btn{
  height:29px;
  margin:0!important;
  padding:0 9px!important;
  font-size:10px!important;
  border-radius:5px!important;
  background:#fff!important;
  color:#444!important;
  border:1px solid #dfe3e8!important;
}
#admin.v21-admin .v2106-small-btn.danger{
  color:#b42318!important;
  border-color:#f0c8c5!important;
}
#admin.v21-admin .v2106-small-btn.success{
  color:#237a45!important;
  border-color:#b9dec5!important;
}
.v2106-empty{
  padding:70px 20px;
  text-align:center;
  color:#969ca3;
}
.v2106-empty b{
  display:block;
  color:#555b62;
  font-size:15px;
  margin-bottom:5px;
}
.v2106-pagination{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:5px;
  padding:11px 15px;
  border-top:1px solid #eceef1;
  background:#fff;
}
#admin.v21-admin .v2106-page-btn{
  min-width:31px;height:30px;
  margin:0!important;padding:0 8px!important;
  background:#fff!important;
  border:1px solid #dfe3e8!important;
  color:#5d636b!important;
  border-radius:4px!important;
  font-size:10px!important;
}
#admin.v21-admin .v2106-page-btn.active{
  background:#111!important;color:#fff!important;border-color:#111!important;
}
.v2106-placeholder{
  padding:70px 22px;
  text-align:center;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:8px;
  color:#8e949c;
}
.v2106-placeholder b{
  display:block;
  font-size:17px;
  color:#484d54;
  margin-bottom:7px;
}
@media(max-width:1000px){
  .v2106-panel-head{align-items:flex-start;flex-direction:column}
  .v2106-filters{justify-content:flex-start}
}

/* ===== v21061DataBindingFix ===== */
/* V21.06.1 data binding fix:
   New V21 pages read the same lexical arrays used by the production app
   instead of window.messengers/window.jobs/window.customers. */

/* ===== v2107OrderManagementStyles ===== */
/* =========================================================
   POLITE EXPRESS V21.07 — ORDER MANAGEMENT / MSGX STYLE
   ========================================================= */
#admin.v21-admin.v21-view-orders .v21-page-intro{
  margin-bottom:10px!important;
}
#admin.v21-admin.v21-view-orders .v21-page-intro h1{
  font-size:22px!important;
}
#admin.v21-admin.v21-view-orders #v2105OrderPage{
  max-width:1600px;
}
#admin.v21-admin.v21-view-orders .v2105-order-head{
  padding:4px 0 2px;
  border-bottom:1px solid #eceef1;
}
#admin.v21-admin.v21-view-orders .v2105-order-tabs{
  gap:2px;
}
#admin.v21-admin.v21-view-orders .v2105-order-tab{
  border-radius:3px!important;
  min-height:35px;
}
#admin.v21-admin.v21-view-orders .v2105-toolbar{
  padding:12px 0 4px;
}
#admin.v21-admin.v21-view-orders .v2105-table-shell{
  min-height:470px;
  border-radius:5px;
}
#admin.v21-admin.v21-view-orders .v2105-table th{
  background:#f3f4f5!important;
}
#admin.v21-admin.v21-view-orders .v2105-table td{
  background:#fff;
}
#admin.v21-admin .v2107-reset-btn{
  min-height:38px;
  padding:0 12px!important;
  margin:0!important;
  border:1px solid #dfe3e8!important;
  border-radius:4px!important;
  background:#fff!important;
  color:#676d74!important;
  font-size:10px!important;
  font-weight:700!important;
}
#admin.v21-admin .v2107-history-tab.active{
  background:#111!important;
  color:#fff!important;
}
.v2107-order-subline{
  color:#949aa1;
  font-size:9px;
  margin-top:3px;
}

/* ===== v2108CreateCustomerStyle ===== */
/* =========================================================
   POLITE EXPRESS V21.08 — CREATE PAGE CUSTOMER STYLE
   ========================================================= */
#admin.v21-admin.v21-view-create.onepage-order-mode .job-composer-titlebar{
  background:linear-gradient(135deg,#0a0a0a 0%,#17130a 50%,#b89535 100%)!important;
}
#admin.v21-admin.v21-view-create.onepage-order-mode .job-title-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
#admin.v21-admin.v21-view-create.onepage-order-mode .line-notify-chip{
  display:none!important;
}
#admin.v21-admin.v21-view-create.onepage-order-mode .job-composer-titlebar h2::after{
  content:"";
  display:block;
  font-size:12px;
  font-weight:500;
  color:rgba(255,255,255,.82);
  margin-top:4px;
}
#admin.v21-admin.v21-view-create.onepage-order-mode .v2108-customer-style-note{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border:1px solid #d8c58e;
  border-radius:18px;
  background:linear-gradient(135deg,#fffaf0 0%,#ffffff 100%);
  color:#3b2f16;
  margin-bottom:14px;
  box-shadow:0 10px 22px rgba(50,38,8,.05);
}
#admin.v21-admin.v21-view-create.onepage-order-mode .v2108-customer-style-note b{
  display:block;
  font-size:16px;
  margin-bottom:4px;
}
#admin.v21-admin.v21-view-create.onepage-order-mode .v2108-customer-style-note small{
  display:block;
  font-size:12px;
  color:#6b5d39;
  line-height:1.65;
}
#admin.v21-admin.v21-view-create.onepage-order-mode .v2108-customer-style-chip{
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 12px;
  border-radius:999px;
  background:#111;
  color:#f1dfaa;
  border:1px solid #b89535;
  font-size:11px;
  font-weight:900;
}
#admin.v21-admin.v21-view-create.onepage-order-mode .top-customer-title::after{
  content:" · ฟอร์มลูกค้า";
  color:#9a7b24;
  font-size:13px;
  font-weight:800;
}
#admin.v21-admin.v21-view-create.onepage-order-mode .booking-action-card .booking-action-copy{
  color:rgba(255,255,255,.88)!important;
}
@media(max-width:768px){
  #admin.v21-admin.v21-view-create.onepage-order-mode .v2108-customer-style-note{
    flex-direction:column;
  }
}

/* ===== v21081FirstImageMatch ===== */
#admin.v21-admin.v21-view-create.onepage-order-mode .v2108-customer-style-note{display:none!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .job-composer-titlebar{
  padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;margin-bottom:10px!important
}
#admin.v21-admin.v21-view-create.onepage-order-mode .job-composer-titlebar h2{
  color:#111827!important;font-size:18px!important;font-weight:900!important
}
#admin.v21-admin.v21-view-create.onepage-order-mode .job-composer-titlebar h2::after{display:none!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .job-title-actions .line-notify-chip,
#admin.v21-admin.v21-view-create.onepage-order-mode .job-title-actions .new-job-btn{display:none!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .job-title-actions .line-oa-btn{border-radius:999px!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .top-order-layout{
  grid-template-columns:minmax(360px,430px) minmax(560px,1fr)!important;
  gap:16px!important;align-items:start!important
}
#admin.v21-admin.v21-view-create.onepage-order-mode .top-order-main{
  min-width:0!important
}
#admin.v21-admin.v21-view-create.onepage-order-mode .top-customer-card,
#admin.v21-admin.v21-view-create.onepage-order-mode #orderLandingStep,
#admin.v21-admin.v21-view-create.onepage-order-mode #orderServicesStep,
#admin.v21-admin.v21-view-create.onepage-order-mode #orderBookingStep{
  background:#fff!important;border:1px solid #dbe4f0!important;border-radius:18px!important;box-shadow:none!important
}
#admin.v21-admin.v21-view-create.onepage-order-mode .top-customer-card{padding:14px!important;margin-bottom:12px!important}
#admin.v21-admin.v21-view-create.onepage-order-mode #orderLandingStep{padding:14px!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .top-customer-head{align-items:flex-start!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .top-customer-title{font-size:16px!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .top-customer-title::after{display:none!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .top-customer-note{font-size:12px!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .green.top-add-customer-btn{
  background:#fff!important;color:#111827!important;border:1px solid #dbe4f0!important;box-shadow:none!important
}
#admin.v21-admin.v21-view-create.onepage-order-mode .order-wizard-progress{margin:0 0 12px 0!important;border-radius:14px!important;overflow:hidden!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .landing-section{padding:0!important;border:0!important;background:transparent!important;margin-bottom:16px!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .landing-caption{font-size:13px!important;font-weight:900!important;margin-bottom:10px!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .vehicle-fixed{
  border:1px solid #dbe4f0!important;border-radius:18px!important;padding:14px!important;background:#fff!important
}
#admin.v21-admin.v21-view-create.onepage-order-mode .choice-grid{gap:10px!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .choice-grid.three{grid-template-columns:repeat(3,1fr)!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .choice-card{
  border-radius:14px!important;background:#fff!important;border:1px solid #dbe4f0!important;box-shadow:none!important;min-height:84px!important
}
#admin.v21-admin.v21-view-create.onepage-order-mode .choice-card.selected{
  background:#111827!important;color:#fff!important;border-color:#111827!important
}
#admin.v21-admin.v21-view-create.onepage-order-mode .choice-card.selected small,
#admin.v21-admin.v21-view-create.onepage-order-mode .choice-card.selected b,
#admin.v21-admin.v21-view-create.onepage-order-mode .choice-card.selected .choice-icon{color:#fff!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .location-panel-simple{
  margin-top:0!important;border:1px solid #dbe4f0!important;border-radius:18px!important;padding:14px!important;background:#fff!important
}
#admin.v21-admin.v21-view-create.onepage-order-mode .location-line{grid-template-columns:34px minmax(0,1fr) auto!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .location-badge.pickup{background:#16a34a!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .location-badge.drop{background:#ca8a04!important;color:#fff!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .location-line input,
#admin.v21-admin.v21-view-create.onepage-order-mode .top-customer-fields select,
#admin.v21-admin.v21-view-create.onepage-order-mode .top-customer-fields input{
  border-radius:14px!important;height:48px!important;border:1px solid #dbe4f0!important;background:#fff!important
}
#admin.v21-admin.v21-view-create.onepage-order-mode .top-customer-fields{grid-template-columns:1fr!important;gap:10px!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .add-drop-btn{
  width:100%!important;border:1px dashed #cbd5e1!important;background:#fff!important;color:#334155!important;border-radius:14px!important
}
#admin.v21-admin.v21-view-create.onepage-order-mode .wizard-next{
  width:100%!important;border-radius:14px!important;background:#111827!important;color:#fff!important;height:50px!important
}
#admin.v21-admin.v21-view-create.onepage-order-mode .wizard-next:disabled{background:#cbd5e1!important;color:#64748b!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .wizard-next-note{text-align:center!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .top-active-messenger-panel{display:none!important}
#admin.v21-admin.v21-view-create.onepage-order-mode #createPageMapHost{
  display:block!important;position:sticky!important;top:12px!important;min-height:690px!important;height:calc(100vh - 120px)!important;
  border:1px solid #dbe4f0!important;border-radius:18px!important;overflow:hidden!important;background:#e8edf2!important;
  box-shadow:0 10px 26px rgba(15,23,42,.08)!important
}
#admin.v21-admin.v21-view-create.onepage-order-mode #createPageMapHost .booking-map-pane{
  position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;
  height:100%!important;min-height:100%!important;grid-column:auto!important;grid-row:auto!important;border:0!important;
  border-radius:0!important;box-shadow:none!important;margin:0!important;background:transparent!important;display:block!important
}
#admin.v21-admin.v21-view-create.onepage-order-mode #createPageMapHost .booking-route-map{min-height:690px!important;height:100%!important}
#admin.v21-admin.v21-view-create.onepage-order-mode #createPageMapHost .booking-map-head{position:absolute!important;z-index:6!important;top:12px!important;left:12px!important;right:12px!important}
#admin.v21-admin.v21-view-create.onepage-order-mode #createPageMapHost .booking-map-footer{position:absolute!important;z-index:6!important;left:12px!important;right:12px!important;bottom:12px!important}
#admin.v21-admin.v21-view-create.onepage-order-mode #orderServicesStep,
#admin.v21-admin.v21-view-create.onepage-order-mode #orderBookingStep{margin-top:12px!important;padding:14px!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .detail-step-head{margin-bottom:12px!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .service-step-shell,
#admin.v21-admin.v21-view-create.onepage-order-mode .booking-step-shell{grid-template-columns:1fr!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .booking-step-shell>.booking-map-pane{display:none!important}
@media(max-width:1180px){
  #admin.v21-admin.v21-view-create.onepage-order-mode .top-order-layout{grid-template-columns:1fr!important}
  #admin.v21-admin.v21-view-create.onepage-order-mode #createPageMapHost{position:relative!important;top:auto!important;height:430px!important;min-height:430px!important}
  #admin.v21-admin.v21-view-create.onepage-order-mode #createPageMapHost .booking-route-map{min-height:430px!important}
}

/* ===== v21082AdminCreateOptionsCss ===== */
#admin.onepage-order-mode .admin-create-mode-panel{margin:0 0 14px;border:1px solid #dbe4f0;border-radius:18px;background:#fff;padding:14px;box-shadow:0 8px 22px rgba(15,23,42,.05)}
#admin.onepage-order-mode .admin-create-mode-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap;margin-bottom:10px}
#admin.onepage-order-mode .admin-create-mode-title{font-size:15px;font-weight:900;color:#111827}
#admin.onepage-order-mode .admin-create-mode-sub{font-size:12px;color:#64748b;line-height:1.45;margin-top:2px}
#admin.onepage-order-mode .admin-create-mode-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:11px;font-weight:900;border:1px solid #fdba74;white-space:nowrap}
#admin.onepage-order-mode .admin-create-mode-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:12px}
#admin.onepage-order-mode .admin-create-mode-box{border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;padding:12px}
#admin.onepage-order-mode .admin-create-mode-label{font-size:12px;font-weight:900;color:#334155;margin-bottom:8px}
#admin.onepage-order-mode .admin-create-radio-list{display:grid;gap:8px}
#admin.onepage-order-mode .admin-create-radio{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid #dbe4f0;border-radius:14px;background:#fff;cursor:pointer}
#admin.onepage-order-mode .admin-create-radio input{margin-top:3px}
#admin.onepage-order-mode .admin-create-radio b{display:block;font-size:13px;color:#111827}
#admin.onepage-order-mode .admin-create-radio small{display:block;font-size:11px;color:#64748b;line-height:1.45;margin-top:2px}
#admin.onepage-order-mode .admin-create-mode-select{margin-top:10px}
#admin.onepage-order-mode .admin-create-mode-select label{display:block;font-size:12px;font-weight:800;color:#475569;margin-bottom:6px}
#admin.onepage-order-mode .admin-create-mode-select select{width:100%;height:46px;border-radius:14px;border:1px solid #dbe4f0;background:#fff;padding:0 12px;font-size:14px}
#admin.onepage-order-mode .admin-create-mode-help{margin-top:8px;font-size:11px;color:#64748b;line-height:1.5}
#admin.onepage-order-mode .admin-create-mode-summary{margin-top:12px;padding:10px 12px;border-radius:14px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;font-size:12px;font-weight:800;line-height:1.5}
#admin.onepage-order-mode .admin-create-mode-footer{margin-top:10px;font-size:11px;color:#475569;line-height:1.5}
#admin.onepage-order-mode .admin-create-mode-panel[data-assign-mode="unassigned"] .admin-create-mode-summary{background:#f8fafc;border-color:#dbe4f0;color:#475569}
#admin.onepage-order-mode .admin-create-mode-panel[data-assign-mode="assigned"] .admin-create-mode-summary{background:#ecfdf5;border-color:#86efac;color:#166534}
@media(max-width:900px){#admin.onepage-order-mode .admin-create-mode-grid{grid-template-columns:1fr}}

/* ===== v2109AnnouncementCss ===== */
#v2109AnnouncementPage{display:none;max-width:1600px;margin:0 auto 32px;padding:0 10px 28px}
.v2109-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:10px 0 14px}
.v2109-tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.v2109-tab{border:0;background:#fff;color:#64748b;padding:10px 15px;border-radius:6px;font-size:12px;font-weight:800;cursor:pointer}
.v2109-tab.active{background:#111;color:#fff}
.v2109-add-btn{border:0;background:#111;color:#fff;border-radius:6px;padding:11px 16px;font-size:12px;font-weight:900;cursor:pointer}
.v2109-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:10px}
.v2109-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.v2109-card h3{font-size:15px;margin:0;color:#111827}.v2109-meta{font-size:11px;color:#64748b;margin-top:5px}.v2109-msg{font-size:13px;color:#334155;line-height:1.7;white-space:pre-wrap;margin-top:12px}
.v2109-actions{display:flex;gap:7px;flex-wrap:wrap}.v2109-actions button{border:1px solid #d1d5db;background:#fff;border-radius:5px;padding:7px 10px;font-size:11px;font-weight:800;cursor:pointer}.v2109-actions button.danger{color:#b91c1c;border-color:#fecaca;background:#fff7f7}
.v2109-badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900;margin-right:5px;background:#f3f4f6;color:#475569}.v2109-badge.new{background:#fee2e2;color:#b91c1c}.v2109-empty{text-align:center;padding:80px 20px;color:#94a3b8}
.v2109-overlay{position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:15000;display:none;align-items:center;justify-content:center;padding:18px}.v2109-overlay.show{display:flex}.v2109-modal{width:min(680px,100%);background:#fff;border-radius:12px;padding:20px;box-shadow:0 30px 80px rgba(0,0,0,.22)}.v2109-modal h2{margin:0 0 14px;font-size:20px}.v2109-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v2109-grid .wide{grid-column:1/-1}.v2109-modal label{display:block;font-size:12px;font-weight:800;color:#475569;margin-bottom:6px}.v2109-modal input,.v2109-modal select,.v2109-modal textarea{width:100%;border:1px solid #dbe4f0;border-radius:8px;padding:11px 12px;font-size:13px;background:#fff}.v2109-modal textarea{min-height:150px;resize:vertical}.v2109-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.v2109-modal-actions button{padding:10px 15px;border-radius:7px;border:1px solid #d1d5db;font-weight:800;cursor:pointer}.v2109-modal-actions .primary{background:#111;color:#fff;border-color:#111}
@media(max-width:700px){.v2109-grid{grid-template-columns:1fr}.v2109-grid .wide{grid-column:auto}}

/* ===== v21091AnnouncementOnlyFix ===== */
/* V21.09.1 — Announcement page must show announcement content only */
#admin.v21-admin.v21-view-announcements > #jobComposer,
#admin.v21-admin.v21-view-announcements > #todayFold,
#admin.v21-admin.v21-view-announcements > .exec-dashboard,
#admin.v21-admin.v21-view-announcements > #v2103CustomerPage,
#admin.v21-admin.v21-view-announcements > #v2105OrderPage,
#admin.v21-admin.v21-view-announcements > #v2106MessengerPage{
  display:none!important;
}
#admin.v21-admin.v21-view-announcements > #v2109AnnouncementPage{
  display:block!important;
}
#admin.v21-admin.v21-view-announcements.composer-focused > #jobComposer,
#admin.v21-admin.v21-view-announcements.composer-focused > #todayFold{
  display:none!important;
}

/* ===== v2110SettingsStyles ===== */
/* =========================================================
   POLITE EXPRESS V21.10 — SETTINGS MANAGEMENT / MSGX STYLE
   ========================================================= */
#admin.v21-admin.v21-view-settings > #jobComposer,
#admin.v21-admin.v21-view-settings > #todayFold,
#admin.v21-admin.v21-view-settings > .exec-dashboard,
#admin.v21-admin.v21-view-settings > #v2103CustomerPage,
#admin.v21-admin.v21-view-settings > #v2105OrderPage,
#admin.v21-admin.v21-view-settings > #v2106MessengerPage,
#admin.v21-admin.v21-view-settings > #v2109AnnouncementPage{display:none!important}
#admin.v21-admin.v21-view-settings > #v2110SettingsPage{display:block!important}
#v2110SettingsPage{display:none;max-width:1600px;margin:0 auto 40px;padding:0 10px 32px}
.v2110-tabs{display:flex;align-items:center;gap:4px;border-bottom:1px solid #e7e9ec;margin-bottom:22px}
.v2110-tab{appearance:none;border:0!important;background:transparent!important;color:#71767d!important;border-radius:4px 4px 0 0!important;padding:12px 26px!important;min-height:42px;font-weight:800!important;font-size:12px!important;margin:0!important;box-shadow:none!important}
.v2110-tab.active{background:#111!important;color:#fff!important}
.v2110-section{display:none}
.v2110-section.active{display:block}
.v2110-panel{background:#fff;border:1px solid #e6e8eb;border-radius:7px;padding:22px;box-shadow:none}
.v2110-panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.v2110-panel-head h2{margin:0;font-size:18px;color:#2f3338}
.v2110-panel-head p{margin:5px 0 0;color:#8a9097;font-size:11px}
.v2110-grid{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.5fr);gap:16px 28px;align-items:start}
.v2110-grid label{font-size:12px;font-weight:800;color:#4c5259;padding-top:12px}
.v2110-grid input,.v2110-grid textarea,.v2110-grid select{width:100%;border:1px solid #dfe3e8;border-radius:4px;background:#fff;padding:10px 12px;font-size:13px;color:#30343a;box-sizing:border-box;min-height:42px}
.v2110-grid textarea{min-height:86px;resize:vertical}
.v2110-logo-wrap{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap}
.v2110-logo-preview{width:180px;height:180px;border:1px solid #e4e7eb;border-radius:6px;background:#f7f8fa;display:flex;align-items:center;justify-content:center;overflow:hidden}
.v2110-logo-preview img{max-width:100%;max-height:100%;object-fit:contain}
.v2110-file-box{display:flex;flex-direction:column;gap:9px;padding-top:4px}
.v2110-help{font-size:10px;color:#8d939a;line-height:1.55}
.v2110-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid #edf0f2}
.v2110-btn{border:1px solid #d9dde2!important;background:#fff!important;color:#4d535a!important;border-radius:4px!important;padding:10px 18px!important;font-size:11px!important;font-weight:800!important;margin:0!important;min-height:38px}
.v2110-btn.primary{background:#111!important;color:#fff!important;border-color:#111!important}
.v2110-btn.danger{color:#b42318!important;border-color:#f0b8b4!important;background:#fff!important}
.v2110-btn.small{padding:7px 10px!important;min-height:32px}
.v2110-zones{border:1px solid #e5e7eb;border-radius:6px;overflow:hidden;background:#fff}
.v2110-zone-row{display:grid;grid-template-columns:75px 120px 1fr 90px;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid #edf0f2;font-size:11px;color:#555b62}
.v2110-zone-row.head{background:#f3f4f5;color:#777d84;font-weight:800}
.v2110-zone-row:last-child{border-bottom:0}
.v2110-zone-badge{display:inline-flex;align-items:center;justify-content:center;width:34px;height:26px;border-radius:4px;background:#111;color:#fff;font-weight:900}
.v2110-status{display:inline-flex;align-items:center;gap:5px;color:#16803c;font-weight:800}
.v2110-status:before{content:'';width:7px;height:7px;border-radius:50%;background:#22c55e}
.v2110-admin-table{width:100%;border-collapse:collapse;font-size:11px}
.v2110-admin-table th{background:#f3f4f5;text-align:left;color:#777d84;font-weight:800;padding:11px 12px;border-bottom:1px solid #e4e7eb}
.v2110-admin-table td{padding:12px;border-bottom:1px solid #edf0f2;color:#50565d;vertical-align:middle}
.v2110-admin-table tr:last-child td{border-bottom:0}
.v2110-admin-name{font-weight:800;color:#30343a}
.v2110-admin-actions{display:flex;gap:6px;flex-wrap:wrap}
.v2110-empty{padding:46px;text-align:center;color:#92989f;border:1px dashed #dfe3e8;border-radius:6px;background:#fafbfc}
.v2110-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}
.v2110-modal-overlay.show{display:flex}
.v2110-modal{width:min(560px,100%);background:#fff;border-radius:8px;border:1px solid #e4e7eb;box-shadow:0 24px 70px rgba(15,23,42,.22);padding:22px}
.v2110-modal h2{margin:0 0 16px;font-size:18px}
.v2110-modal .field{margin-bottom:12px}
.v2110-modal label{display:block;font-size:11px;font-weight:800;color:#555b62;margin-bottom:6px}
.v2110-modal input{width:100%;height:42px;border:1px solid #dfe3e8;border-radius:4px;padding:0 12px;box-sizing:border-box}
.v2110-modal .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.v2110-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
@media(max-width:900px){.v2110-grid{grid-template-columns:1fr}.v2110-grid label{padding-top:0}.v2110-zone-row{grid-template-columns:60px 90px 1fr}.v2110-zone-row>*:nth-child(4){display:none}.v2110-tabs{overflow:auto}.v2110-tab{white-space:nowrap}}

/* ===== v2111EmployeeAnnouncementCenterCss ===== */
#riderAnnouncementBox{margin:14px 0 16px!important}.rider-ann-center-card{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:14px 16px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.05);cursor:pointer;text-align:left}.rider-ann-center-card:hover{border-color:#d2b65f;background:#fffdf7}.rider-ann-center-left{display:flex;align-items:center;gap:12px;min-width:0}.rider-ann-center-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#fff7ed;border:1px solid #fed7aa;font-size:20px;flex:0 0 auto}.rider-ann-center-copy{min-width:0}.rider-ann-center-copy b{display:block;font-size:14px;color:#111827}.rider-ann-center-copy small{display:block;margin-top:3px;font-size:11px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rider-ann-center-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.rider-ann-new-count{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:6px 9px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:10px;font-weight:900}.rider-ann-new-count.zero{background:#ecfdf5;color:#166534}.rider-ann-center-open{font-size:11px;font-weight:900;color:#374151}
.rider-ann-overlay{position:fixed;inset:0;z-index:99999;background:rgba(15,23,42,.48);display:none;align-items:center;justify-content:center;padding:18px}.rider-ann-overlay.show{display:flex}.rider-ann-modal{width:min(780px,96vw);max-height:min(760px,90vh);display:flex;flex-direction:column;background:#fff;border-radius:20px;box-shadow:0 28px 80px rgba(15,23,42,.28);overflow:hidden}.rider-ann-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #e5e7eb}.rider-ann-modal-head h2{margin:0;font-size:18px;color:#111827}.rider-ann-modal-head small{display:block;margin-top:3px;color:#6b7280;font-size:11px}.rider-ann-modal-actions{display:flex;align-items:center;gap:8px}.rider-ann-modal-actions button{border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:10px;padding:8px 10px;font-size:11px;font-weight:800;cursor:pointer}.rider-ann-modal-actions .primary{background:#111827;color:#fff;border-color:#111827}.rider-ann-list{overflow:auto;padding:12px;background:#f8fafc;display:grid;gap:9px}.rider-ann-item{border:1px solid #e5e7eb;border-radius:14px;background:#fff;overflow:hidden}.rider-ann-item.unread{border-color:#fca5a5}.rider-ann-item.important{border-left:4px solid #d4a017}.rider-ann-item-btn{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:13px 14px;border:0;background:transparent;text-align:left;cursor:pointer}.rider-ann-item-title{font-size:13px;font-weight:900;color:#111827;line-height:1.45}.rider-ann-item-meta{margin-top:4px;font-size:10px;color:#6b7280}.rider-ann-item-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.rider-ann-pill{display:inline-flex;padding:4px 7px;border-radius:999px;background:#f3f4f6;color:#4b5563;font-size:9px;font-weight:900}.rider-ann-pill.new{background:#fee2e2;color:#b91c1c}.rider-ann-pill.pin{background:#fef3c7;color:#92400e}.rider-ann-detail{display:none;padding:0 14px 14px;border-top:1px solid #f1f5f9}.rider-ann-item.open .rider-ann-detail{display:block}.rider-ann-detail-message{padding-top:12px;white-space:pre-wrap;font-size:12px;line-height:1.75;color:#374151}.rider-ann-detail-read{margin-top:10px;font-size:10px;color:#16a34a;font-weight:800}.rider-ann-empty{padding:42px 20px;text-align:center;color:#6b7280;background:#fff;border-radius:14px;border:1px dashed #d1d5db}.rider-ann-empty b{display:block;color:#374151;margin-bottom:5px}@media(max-width:640px){.rider-ann-center-open{display:none}.rider-ann-modal{width:100%;max-height:92vh}.rider-ann-item-btn{grid-template-columns:1fr}.rider-ann-item-badges{justify-content:flex-start}}

/* ===== v2112RealtimeDashboardStyles ===== */
/* =========================================================
   POLITE EXPRESS V21.12 — REALTIME OPERATIONS & FINANCE DASHBOARD
   ========================================================= */
#admin.v21-admin.v21-view-dashboard .v2112-dashboard{padding-bottom:36px!important}
.v2112-dash-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:2px 0 14px}
.v2112-dash-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.v2112-live-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#ecfdf5;color:#166534;border:1px solid #86efac;padding:5px 9px;font-size:9px;font-weight:900;letter-spacing:.06em}
.v2112-live-badge i{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.13)}
.v2112-auto-note{font-size:10px;color:#8a9097;margin-top:5px}
.v2112-section{margin-top:14px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;padding:16px}
.v2112-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}
.v2112-section-head>div>b{display:block;font-size:18px;color:#1f2937;font-weight:900}
.v2112-section-head>div>small{display:block;font-size:13px;color:#6b7280;margin-top:4px;line-height:1.5}
#admin.v21-admin .v2112-text-btn{border:0!important;background:transparent!important;color:#374151!important;padding:5px 0!important;margin:0!important;font-size:13px!important;font-weight:900!important}
.v2112-finance-note{font-size:11px;color:#6b7280;text-align:right;max-width:360px;line-height:1.6;font-weight:700}
.v2112-ops-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:12px}
#admin.v21-admin .v2112-metric{margin:0!important;padding:16px 14px!important;text-align:left!important;border:1px solid #e5e7eb!important;border-radius:10px!important;background:#fafbfc!important;color:#33383e!important;min-height:108px!important}
#admin.v21-admin .v2112-metric:hover{background:#fff!important;border-color:#d6dadd!important}
.v2112-metric span{display:block;font-size:13px;color:#6b7280;min-height:34px;font-weight:800;line-height:1.35}
.v2112-metric b{display:inline-block;font-size:34px;font-weight:800;line-height:1.05;margin-top:6px;color:#1f2937}
.v2112-metric small{font-size:12px;color:#6b7280;margin-left:4px;font-weight:700}
.v2112-finance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.v2112-fin-card{min-height:118px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:16px;display:flex;flex-direction:column;justify-content:center}
.v2112-fin-card span{font-size:13px;color:#6b7280;font-weight:800;line-height:1.45}
.v2112-fin-card b{font-size:32px;font-weight:800;color:#1f2937;margin:8px 0 3px}
.v2112-fin-card small{font-size:11px;color:#6b7280;line-height:1.45;font-weight:700}
.v2112-fin-card.received{border-left:3px solid #22c55e}
.v2112-fin-card.pending{border-left:3px solid #f59e0b}
.v2112-fin-card.credit{border-left:3px solid #6366f1}
.v2112-fin-card.receivable{border-left:3px solid #ef4444}
.v2112-fin-card.primary{border-left:3px solid #64748b;background:#fff!important;color:#2f3439!important;width:auto!important;margin-top:0!important}
.v2112-main-grid{margin-top:14px}
.v2112-kind-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.v2112-kind-card{border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:18px;display:flex;gap:14px;align-items:center}
.v2112-kind-icon{width:48px;height:48px;border-radius:14px;background:#fff;border:1px solid #e5e7eb;display:grid;place-items:center;font-size:22px}
.v2112-kind-card span{display:block;font-size:13px;color:#6b7280;font-weight:800}
.v2112-kind-card b{display:block;font-size:30px;font-weight:800;color:#1f2937;margin:6px 0 2px}
.v2112-kind-card small{font-size:12px;color:#6b7280;font-weight:700}
.v2112-kind-card small strong{color:#1f2937}
.v2112-pay-state{display:block;font-size:8px;margin-top:3px;color:#7c838a;font-weight:700}
.v2112-pay-state.paid{color:#15803d}
.v2112-pay-state.outstanding{color:#b91c1c}
.v2112-pay-state.pending{color:#b45309}
.v2112-payment-card{margin:12px 0;border:1px solid #e2e8f0;border-radius:10px;background:#fafbfc;padding:12px}
.v2112-payment-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.v2112-payment-card-head b{font-size:12px}
.v2112-payment-state-badge{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900}
.v2112-payment-state-badge.paid{background:#dcfce7;color:#166534}
.v2112-payment-state-badge.outstanding{background:#fee2e2;color:#991b1b}
.v2112-payment-state-badge.pending{background:#fef3c7;color:#92400e}
.v2112-payment-card-info{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;font-size:10px;color:#6b7280}
.v2112-payment-card-info strong{display:block;color:#33383e;font-size:12px;margin-top:2px}
.v2112-payment-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
#admin.v21-admin .v2112-payment-actions button{margin:0!important;padding:8px 10px!important;font-size:9px!important}
@media(max-width:1250px){.v2112-ops-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1050px){.v2112-finance-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.v2112-dash-top,.v2112-section-head{flex-direction:column}.v2112-ops-grid,.v2112-finance-grid,.v2112-kind-grid{grid-template-columns:1fr 1fr}.v2112-finance-note{text-align:left}}
@media(max-width:520px){.v2112-ops-grid,.v2112-finance-grid,.v2112-kind-grid{grid-template-columns:1fr}}

/* ===== v21121HourlyStatusStyles ===== */
/* V21.12.1 — Hourly usage + realtime status */
.v21121-peak-strip{
  display:grid;
  grid-template-columns:1.3fr .8fr .8fr;
  gap:10px;
  margin:12px 0 4px;
}
.v21121-peak-box{
  border:1px solid #e5e7eb;
  background:#fff !important;
  border-radius:12px;
  padding:14px 16px;
  box-shadow:none !important;
}
.v21121-peak-box.primary{
  background:#fff !important;
  color:#1f2937;
  border-color:#e5e7eb;
  box-shadow:none !important;
}
.v21121-peak-box.primary span,.v21121-peak-box.primary small{color:#6b7280;opacity:1}
.v21121-peak-box.primary b{color:#1f2937}
.v21121-peak-box span{display:block;font-size:13px;color:#6b7280;opacity:1;margin-bottom:4px;font-weight:800}
.v21121-peak-box b{display:block;font-size:24px;line-height:1.2;color:#1f2937;font-weight:800}
.v21121-peak-box small{display:block;font-size:12px;color:#6b7280;opacity:1;margin-top:4px;font-weight:700;line-height:1.45}
.v21121-hourly-chart{
  height:280px;
  min-height:280px;
  margin-top:10px;
}
.v21121-status-note{
  font-size:11px;
  color:#6b7280;
  line-height:1.6;
  margin-top:10px;
  font-weight:700;
}
@media(max-width:900px){
  .v21121-peak-strip{grid-template-columns:1fr}
}

/* ===== v21122UsageHistoryStyles ===== */
.v21122-usage-period{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:8px;
}
.v21122-usage-period label{
  font-size:13px;
  color:#6b7280;
  font-weight:800;
}
.v21122-usage-period select{
  height:36px;
  border:1px solid #d9dde3;
  border-radius:8px;
  background:#fff;
  padding:0 28px 0 10px;
  font-size:13px;
  font-weight:800;
  color:#374151;
}
.v21122-usage-range-note{
  margin-top:6px;
  font-size:11px;
  color:#6b7280;
  font-weight:700;
}
.v21122-usage-period.fixed-day{margin-top:8px}
.v21122-day-chip{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid #d9dde3;border-radius:8px;background:#fff;color:#374151;font-size:12px;font-weight:800}

/* ===== v211413DashboardReadableStyles ===== */
/* V21.14.15 — larger readable dashboard + bright colors */
#admin.v21-admin .v2112-dash-top .v2102-dash-date-label{font-size:30px!important;font-weight:900!important;color:#111827!important}
#admin.v21-admin .v2112-live-badge{font-size:13px!important;font-weight:900!important}
#admin.v21-admin .v2112-auto-note{font-size:12px!important;color:#6b7280!important;font-weight:700!important}
#admin.v21-admin .v2102-sales-panel,#admin.v21-admin .v2102-today-card,#admin.v21-admin .v2102-status-card{background:#fff!important}
#admin.v21-admin .v2112-fin-card.primary,#admin.v21-admin .v21121-peak-box,#admin.v21-admin .v21121-peak-box.primary{background:#fff!important;color:#1f2937!important}
#admin.v21-admin .v2112-fin-card.primary span,#admin.v21-admin .v2112-fin-card.primary small{color:#6b7280!important}
#admin.v21-admin .v2112-fin-card.primary b{color:#1f2937!important}
#admin.v21-admin .v2102-sales-head .v2102-card-label{font-size:20px!important}
#admin.v21-admin .v2102-status-card .v2102-card-label,#admin.v21-admin .v2102-today-card .v2102-card-label{font-size:18px!important}

/* ===== v211414DashboardWhiteCardGuarantee ===== */
/* V21.14.15 — production/public guarantee: no black dashboard analytic cards */
#admin.v21-admin .v21121-peak-box,#admin.v21-admin .v21121-peak-box.primary,#admin.v21-admin .v2112-fin-card.primary{background:#fff!important;color:#111827!important;border-color:#e5e7eb!important;box-shadow:none!important}
#admin.v21-admin .v21121-peak-box *{color:#374151!important}
#admin.v21-admin .v21121-peak-box b{color:#111827!important}

/* ===== v2114MessengerStyles ===== */
/* V21.14.15 — Messenger Compact Job + Large Detail UI */
#rider{max-width:920px;margin:0 auto;padding-bottom:72px}
#rider .rider-jobs-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:18px 0 10px}
#rider .rider-jobs-head h2{margin:0;font-size:24px}
#rider .rider-jobs-sub{font-size:13px;color:#64748b;margin-top:3px}
#rider .rider-filter-tabs{display:flex;gap:6px;background:#eef2f7;padding:4px;border-radius:12px}
#rider .rider-filter-tabs button{border:0;background:transparent;color:#64748b;padding:8px 11px;border-radius:9px;font-size:13px;font-weight:900;cursor:pointer}
#rider .rider-filter-tabs button.active{background:#111827;color:#fff;box-shadow:0 2px 8px rgba(15,23,42,.16)}
#rider .rider-filter-tabs span{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:rgba(148,163,184,.18);margin-left:4px;font-size:11px}
#rider .rider-compact-list{display:grid;gap:10px}
#rider .rider-compact-card{background:#fff;border:1px solid #dbe3ec;border-radius:17px;overflow:hidden;box-shadow:0 4px 14px rgba(15,23,42,.05);cursor:pointer;transition:transform .12s ease,border-color .12s ease;min-width:0}
#rider .rider-compact-card:active{transform:scale(.995)}
#rider .rider-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;background:#111827;color:#fff}
#rider .rider-card-head-left{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
#rider .rider-card-kind{font-size:14px;font-weight:900}.rider-card-priority{font-size:12px;font-weight:900}.rider-card-id{font-size:12px;color:#cbd5e1;font-weight:800;white-space:nowrap}
#rider .rider-card-body{padding:12px 14px 11px}
#rider .rider-card-route{display:grid;grid-template-columns:26px minmax(0,1fr);row-gap:5px;align-items:center}
#rider .rider-route-dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:900;border:2px solid #e2e8f0;color:#334155;background:#fff}
#rider .rider-route-dot.a{border-color:#22c55e;color:#166534}.rider-route-dot.z{border-color:#d4a72c;color:#7c5b00}
#rider .rider-route-text{font-size:16px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1f2937}
#rider .rider-card-meta{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0 8px}
#rider .rider-mini-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:800}
#rider .rider-mini-chip.hot{background:#fff1f2;color:#be123c}.rider-mini-chip.green{background:#ecfdf5;color:#047857}
#rider .rider-mini-chip.noreturn{background:#eef2ff;color:#4338ca;font-weight:900}
#rider.rider-view-active .rider-filter-tabs{background:#fef3c7;border:1px solid #f3d37c}
#rider.rider-view-active #riderFilterActive.active{background:#111827;color:#fff;box-shadow:0 2px 10px rgba(15,23,42,.18)}
#rider.rider-view-active .rider-compact-list{background:#fff8e7;border:1px solid #f6e1a3;border-radius:18px;padding:10px}
#rider.rider-view-active .rider-compact-card{border-left:6px solid #d97706}
#rider.rider-view-done .rider-filter-tabs{background:#dcfce7;border:1px solid #86efac}
#rider.rider-view-done #riderFilterDone.active{background:#15803d;color:#fff;box-shadow:0 2px 10px rgba(21,128,61,.18)}
#rider.rider-view-done .rider-compact-list{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:18px;padding:10px}
#rider.rider-view-done .rider-compact-card{border-left:6px solid #16a34a}
#rider.rider-view-done .rider-card-head{background:linear-gradient(90deg,#14532d,#15803d)}
#rider.rider-view-active .rider-card-head{background:linear-gradient(90deg,#111827,#1f2937)}
#rider .rider-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid #eef2f7;padding-top:9px}
#rider .rider-card-stat small{display:block;color:#94a3b8;font-size:11px;font-weight:700;margin-bottom:2px}.rider-card-stat b{font-size:16px;color:#111827}.rider-card-stat.money b{color:#087a56}
#rider .rider-card-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:9px}.rider-card-open{border:0;background:#f8fafc;color:#111827;font-weight:900;padding:8px 11px;border-radius:10px;font-size:12px}.rider-card-status{font-size:12px;font-weight:900;color:#475569}
#rider .rider-empty{padding:26px 18px;text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:16px;color:#64748b;font-size:15px}
#rider .rider-jobs-head,#rider #rjobs{position:relative;z-index:20;pointer-events:auto!important}
#rider .rider-filter-tabs,#rider .rider-filter-tabs button,#rider .rider-compact-card,#rider .rider-card-open{pointer-events:auto!important}
#rider .rider-filter-tabs button,#rider .rider-card-open{position:relative;z-index:22}
.rider-detail-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:99999;display:none;align-items:flex-start;justify-content:center;padding:24px;overflow:auto}
.rider-detail-overlay.show{display:flex}.rider-detail-sheet{width:min(760px,100%);background:#f8fafc;border-radius:22px;box-shadow:0 28px 70px rgba(0,0,0,.28);overflow:hidden;min-height:200px}.rider-detail-top{position:sticky;top:0;z-index:8;display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border-bottom:1px solid #e2e8f0;padding:12px 16px}.rider-detail-back{border:0;background:#111827;color:#fff;border-radius:12px;padding:10px 13px;font-size:15px;font-weight:900}.rider-detail-version{font-size:12px;color:#94a3b8;font-weight:800}
.rider-detail-hero{background:#111827;color:#fff;padding:18px}.rider-detail-jobid{font-size:24px;font-weight:900;letter-spacing:.2px}.rider-detail-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.rider-detail-tag{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.12);font-size:12px;font-weight:900}.rider-detail-tag.red{background:#7f1d1d}.rider-detail-tag.gold{background:#7c5b00}.rider-detail-status{font-size:16px;font-weight:900;margin-top:12px;color:#fde68a}
.rider-detail-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:12px}.rider-detail-kpi{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:12px}.rider-detail-kpi small{display:block;font-size:12px;color:#64748b;font-weight:800}.rider-detail-kpi b{display:block;font-size:22px;margin-top:4px;color:#111827}.rider-detail-kpi.money b{color:#087a56}
.rider-detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:0 12px 12px}.rider-big-action{min-height:48px;border:0;border-radius:13px;font-size:16px;font-weight:900;padding:11px 12px}.rider-big-action.primary{background:#111827;color:#fff}.rider-big-action.green{background:#087a56;color:#fff}.rider-big-action.blue{background:#e0f2fe;color:#075985}.rider-big-action.light{background:#fff;color:#111827;border:1px solid #cbd5e1}
.rider-detail-section-title{font-size:18px;font-weight:900;color:#111827;padding:5px 14px 8px}.rider-pickup-card,.rider-detail-stop{margin:0 12px 10px;background:#fff;border:1px solid #dbe3ec;border-radius:16px;overflow:hidden}.rider-pickup-card summary,.rider-detail-stop summary{list-style:none;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px;cursor:pointer}.rider-pickup-card summary::-webkit-details-marker,.rider-detail-stop summary::-webkit-details-marker{display:none}.rider-stop-letter{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#111827;color:#fff;font-size:16px;font-weight:900}.rider-stop-letter.pick{background:#16a34a}.rider-stop-title{font-size:18px;font-weight:900;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rider-stop-sub{font-size:13px;color:#64748b;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rider-stop-expand{font-size:22px;color:#94a3b8;transition:transform .15s}.rider-detail-stop[open] .rider-stop-expand,.rider-pickup-card[open] .rider-stop-expand{transform:rotate(180deg)}
.rider-stop-body{border-top:1px solid #eef2f7;padding:13px}.rider-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rider-info-box{background:#f8fafc;border-radius:12px;padding:10px 11px;min-width:0}.rider-info-box.full{grid-column:1/-1}.rider-info-box small{display:block;color:#64748b;font-size:12px;font-weight:800;margin-bottom:3px}.rider-info-box b,.rider-info-box a{font-size:17px;line-height:1.45;color:#111827;font-weight:900;text-decoration:none;word-break:break-word}.rider-info-box.note b{font-weight:700}.rider-stop-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:11px}
.rider-evidence-panel{margin-top:12px;border-top:1px solid #e2e8f0;padding-top:12px}.rider-evidence-title{font-size:17px;font-weight:900;margin-bottom:8px}.rider-photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rider-photo-btn{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:13px;border:1px solid #cbd5e1;background:#fff;color:#111827;font-size:15px;font-weight:900;cursor:pointer}.rider-photo-preview{display:none;margin-top:10px;background:#f1f5f9;border-radius:13px;padding:8px}.rider-photo-preview.show{display:block}.rider-photo-preview img{display:block;width:100%;max-height:280px;object-fit:contain;border-radius:10px;background:#fff}.rider-photo-name{font-size:12px;color:#64748b;margin-top:6px;word-break:break-all}.rider-evidence-existing{margin-top:10px}.rider-evidence-existing img{width:100%;max-height:300px;object-fit:contain;border-radius:12px;border:1px solid #dbe3ec}.rider-upload-status{min-height:20px;font-size:13px;font-weight:800;color:#475569;margin-top:8px}.rider-upload-status.ok{color:#087a56}.rider-upload-status.err{color:#b91c1c}.rider-fail-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px}.rider-fail-row input{font-size:16px;min-height:46px}.rider-fail-row button{min-height:46px}
@media(max-width:650px){#rider{padding:10px 10px 74px}#rider .top{padding:2px 0}#rider .rider-id,#rider .card.hero,#rider .summary{margin-left:0;margin-right:0}#rider .rider-jobs-head{align-items:stretch;flex-direction:column}#rider .rider-filter-tabs{width:100%}#rider .rider-filter-tabs button{flex:1}.rider-detail-overlay{padding:0;background:#f8fafc}.rider-detail-sheet{width:100%;min-height:100%;border-radius:0;box-shadow:none}.rider-detail-top{padding:10px 12px}.rider-detail-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:10px}.rider-detail-kpi{padding:10px 8px}.rider-detail-kpi b{font-size:18px}.rider-detail-kpi small{font-size:11px}.rider-detail-actions{padding:0 10px 10px}.rider-detail-section-title{padding-left:12px}.rider-pickup-card,.rider-detail-stop{margin-left:10px;margin-right:10px}.rider-info-grid{grid-template-columns:1fr}.rider-info-box.full{grid-column:auto}.rider-stop-actions{grid-template-columns:1fr 1fr}.rider-photo-actions{grid-template-columns:1fr 1fr}}

/* ===== v2148LiveOrdersCss ===== */
/* V21.14.15 — Live Order Center + larger status tabs */
#admin.v21-admin.v21-view-orders .v2105-order-tabs{gap:7px!important;padding:3px 0 6px!important}
#admin.v21-admin.v21-view-orders .v2105-order-tab{min-height:43px!important;padding:0 16px!important;font-size:14px!important;font-weight:900!important;letter-spacing:0!important;border-radius:7px!important}
#admin.v21-admin.v21-view-orders .v2105-tab-count{min-width:23px!important;height:23px!important;padding:0 6px!important;font-size:12px!important;font-weight:900!important}
#admin.v21-admin.v21-view-orders .v2105-order-head{align-items:flex-end!important;gap:12px!important}
#admin.v21-admin .v2148-live-status{display:flex;align-items:center;gap:7px;min-height:36px;padding:0 10px;border:1px solid #bbf7d0;border-radius:8px;background:#f0fdf4;color:#166534;font-size:11px;font-weight:900;white-space:nowrap}
#admin.v21-admin .v2148-live-dot{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12)}
#admin.v21-admin .v2148-live-status.offline{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
#admin.v21-admin .v2148-live-status.offline .v2148-live-dot{background:#f97316;box-shadow:0 0 0 4px rgba(249,115,22,.12)}
@media(max-width:1100px){#admin.v21-admin .v2148-live-status{align-self:flex-start}}

/* ===== v21149AdminOrdersLargeUI ===== */
/* V21.14.15 — Admin Orders larger, cleaner typography */
#admin.v21-admin.v21-view-orders .v2105-order-tab{min-height:44px!important;padding:0 17px!important;font-size:14px!important;font-weight:900!important;border-radius:8px!important}
#admin.v21-admin.v21-view-orders .v2105-tab-count{min-width:23px;height:23px;font-size:12px!important;padding:0 7px}
#admin.v21-admin.v21-view-orders .v2105-total{font-size:17px!important}.v2105-total b{font-size:22px!important}
#admin.v21-admin.v21-view-orders .v2105-filters input,#admin.v21-admin.v21-view-orders .v2105-filters select{height:44px!important;font-size:13px!important}
#admin.v21-admin.v21-view-orders .v2105-black-btn,#admin.v21-admin.v21-view-orders .v2105-light-btn{min-height:44px!important;font-size:13px!important;padding:0 17px!important;border-radius:7px!important}
#admin.v21-admin.v21-view-orders .v2105-table{font-size:13px!important}
#admin.v21-admin.v21-view-orders .v2105-table th{padding:13px 11px!important;font-size:11px!important;letter-spacing:.01em}
#admin.v21-admin.v21-view-orders .v2105-table td{padding:14px 11px!important;font-size:13px!important;line-height:1.48;vertical-align:middle}
#admin.v21-admin.v21-view-orders .v2105-order-id{font-size:14px!important;min-width:145px}.v2105-order-id small{font-size:11px!important;margin-top:5px}
#admin.v21-admin.v21-view-orders .v2105-customer{width:210px;max-width:210px}.v2105-customer b{font-size:14px!important;line-height:1.45}.v2105-customer small{font-size:11px!important;line-height:1.35}
#admin.v21-admin.v21-view-orders .v2105-address{width:250px;max-width:250px;font-size:13px!important;line-height:1.5}.v2105-address b{font-size:13px!important}
#admin.v21-admin.v21-view-orders .v2105-messenger{min-width:145px}.v2105-messenger b{font-size:13px!important}.v2105-messenger small{font-size:11px!important}
#admin.v21-admin.v21-view-orders .v2105-service-badge,#admin.v21-admin.v21-view-orders .v2105-status-badge,#admin.v21-admin.v21-view-orders .v2105-pay-badge{min-height:29px;padding:0 11px;font-size:11px!important}
#admin.v21-admin.v21-view-orders .v2105-money{font-size:14px!important}
#admin.v21-admin.v21-view-orders .v2105-row-btn{height:36px!important;padding:0 12px!important;font-size:11px!important;border-radius:7px!important}
#admin.v21-admin.v21-view-orders .v2105-table-shell{border-radius:10px!important;box-shadow:0 3px 14px rgba(15,23,42,.05)}
/* detail drawer */
#admin.v21-admin .v2105-detail-panel{width:min(1020px,96vw)!important;padding:30px 34px!important;background:#fff}
#admin.v21-admin .v2105-detail-head{padding-bottom:20px!important}.v2105-detail-head h2{font-size:30px!important;line-height:1.15}.v2105-detail-head p{font-size:13px!important;line-height:1.5}
#admin.v21-admin .v2105-close{width:44px!important;height:44px!important;font-size:18px!important;border-radius:9px!important}
#admin.v21-admin .v2105-detail-stats{gap:12px!important;margin:20px 0!important}.v2105-detail-stat{padding:17px 16px!important;border-radius:10px!important;background:#fbfbfc!important}.v2105-detail-stat small{font-size:12px!important;font-weight:700}.v2105-detail-stat b{font-size:20px!important;margin-top:7px!important}
#admin.v21-admin .v2105-detail-grid{grid-template-columns:190px 1fr!important;border-radius:10px!important;margin-bottom:20px!important}.v2105-detail-grid div{padding:14px 16px!important;font-size:14px!important;line-height:1.5}.v2105-detail-grid div:nth-child(odd){font-size:13px!important}.v2105-detail-grid div:nth-child(even){font-weight:600;color:#252a30!important}
#admin.v21-admin .v2102-card-label{font-size:19px!important;font-weight:900!important;margin:0 0 12px!important;color:#374151!important}
#admin.v21-admin .v2105-stop-list{border-radius:10px!important}.v2105-stop-row{grid-template-columns:46px 1fr 125px!important;gap:13px!important;padding:15px 16px!important;font-size:14px!important;align-items:center!important}.v2105-stop-no{width:34px!important;height:34px!important;font-size:14px!important}.v2105-stop-row b{font-size:15px!important}.v2105-stop-row small{font-size:12px!important;line-height:1.45;margin-top:5px!important}
#admin.v21-admin .v2105-detail-actions{gap:10px!important;margin-top:22px!important}.v2105-detail-actions .v2105-black-btn,.v2105-detail-actions .v2105-light-btn{min-height:46px!important;font-size:14px!important;padding:0 20px!important;border-radius:8px!important}
@media(max-width:760px){#admin.v21-admin .v2105-detail-panel{padding:20px 16px!important}.v2105-detail-head h2{font-size:25px!important}#admin.v21-admin .v2105-detail-grid{grid-template-columns:130px 1fr!important}.v2105-detail-grid div{font-size:13px!important;padding:12px!important}.v2105-stop-row{grid-template-columns:40px 1fr!important}.v2105-stop-row>div:last-child{grid-column:2}}

/* ===== anon27 ===== */
/* V21.14.15 — Admin Orders status/action visual balance */
#admin.v21-admin.v21-view-orders .v2105-pay-badge{
  min-height:32px!important;padding:0 13px!important;font-size:12px!important;font-weight:900!important;letter-spacing:.1px;
}
#admin.v21-admin.v21-view-orders .v2105-pay-badge.credit{
  background:#e8f1ff!important;color:#1d4f91!important;border:1px solid #bfd4f5!important;
}
#admin.v21-admin.v21-view-orders .v2112-pay-state{
  display:inline-flex!important;align-items:center;min-height:27px;margin-top:5px!important;padding:0 9px;border-radius:999px;
  font-size:11px!important;font-weight:900!important;line-height:1!important;
}
#admin.v21-admin.v21-view-orders .v2112-pay-state.outstanding{background:#fff0f0;color:#b42318!important;border:1px solid #ffc9c5}
#admin.v21-admin.v21-view-orders .v2112-pay-state.pending{background:#fff7e6;color:#9a5b00!important;border:1px solid #f5d59a}
#admin.v21-admin.v21-view-orders .v2112-pay-state.paid{background:#eaf8ef;color:#166534!important;border:1px solid #b8e4c6}
#admin.v21-admin.v21-view-orders .v2105-status-badge.waiting{
  min-height:34px!important;padding:0 13px!important;background:#fff2cc!important;color:#8a5a00!important;border:1px solid #edcf75!important;
  font-size:12px!important;font-weight:950!important;
}
#admin.v21-admin.v21-view-orders .v2105-status-badge.done{
  min-height:36px!important;padding:0 15px!important;background:#198754!important;color:#fff!important;border:1px solid #146c43!important;
  box-shadow:0 2px 8px rgba(25,135,84,.22);font-size:13px!important;font-weight:950!important;
}
#admin.v21-admin.v21-view-orders .v2105-status-badge.assigned,
#admin.v21-admin.v21-view-orders .v2105-status-badge.running,
#admin.v21-admin.v21-view-orders .v2105-status-badge.failed{font-size:12px!important;font-weight:900!important}
#admin.v21-admin.v21-view-orders .v2105-status-badge.cancel{
  min-height:27px!important;padding:0 9px!important;font-size:10px!important;font-weight:800!important;background:#f3f4f6!important;color:#6b7280!important;
}
#admin.v21-admin.v21-view-orders .v2105-actions{white-space:nowrap!important;text-align:right!important;min-width:0!important}
#admin.v21-admin.v21-view-orders .v2105-row-btn{width:auto!important;min-width:0!important;max-width:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
#admin.v21-admin.v21-view-orders .v2105-row-btn.primary{
  height:34px!important;padding:0 14px!important;font-size:11px!important;border-radius:7px!important;white-space:nowrap!important;
}
#admin.v21-admin.v21-view-orders .v2105-row-btn.danger{
  height:29px!important;padding:0 9px!important;font-size:9px!important;border-radius:6px!important;font-weight:800!important;
}
#admin.v21-admin.v21-view-orders .v2105-row-btn:not(.primary):not(.danger){height:31px!important;padding:0 9px!important;font-size:10px!important}

/* ===== v211417AdminTypographyStandard ===== */
/* V21.14.21 — one readable typography standard across every Admin page */
#admin.v21-admin{
  font-size:16px!important;
  line-height:1.6!important;
  color:#2f343a!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
#admin.v21-admin .v21-side-brand b{font-size:19px!important;font-weight:800!important}
#admin.v21-admin .v21-side-brand small{font-size:13px!important}
#admin.v21-admin .v21-nav-group-label{font-size:12px!important;padding-top:13px!important;padding-bottom:8px!important}
#admin.v21-admin .v21-nav-btn{font-size:16px!important;min-height:48px!important;padding:12px 13px!important;line-height:1.35!important}
#admin.v21-admin .v21-nav-icon{font-size:18px!important}
#admin.v21-admin .v21-nav-badge{font-size:12px!important;min-width:23px!important;height:23px!important}
#admin.v21-admin .v21-side-footer{font-size:13px!important;line-height:1.6!important}
#admin.v21-admin .v21-head-title b{font-size:21px!important;font-weight:800!important}
#admin.v21-admin .v21-head-title small{font-size:13px!important}
#admin.v21-admin .v21-global-search input{font-size:15px!important;height:46px!important}
#admin.v21-admin .v21-date-pill,#admin.v21-admin .v21-admin-pill{font-size:14px!important;min-height:42px!important}
#admin.v21-admin .v21-logout{font-size:14px!important;height:42px!important}
#admin.v21-admin .v21-page-intro h1{font-size:30px!important;line-height:1.25!important}
#admin.v21-admin .v21-page-intro p{font-size:15px!important;line-height:1.55!important}
#admin.v21-admin h1{font-size:30px!important;line-height:1.3!important}
#admin.v21-admin h2{font-size:24px!important;line-height:1.35!important}
#admin.v21-admin h3{font-size:19px!important;line-height:1.4!important}
#admin.v21-admin p,#admin.v21-admin li{font-size:15px;line-height:1.65}
#admin.v21-admin label{font-size:14px!important;line-height:1.45!important}
#admin.v21-admin .tiny,#admin.v21-admin .muted,#admin.v21-admin small{font-size:13px!important;line-height:1.55!important}
#admin.v21-admin input:not([type="checkbox"]):not([type="radio"]),
#admin.v21-admin select,
#admin.v21-admin textarea{
  font-size:15px!important;
  line-height:1.5!important;
  min-height:44px;
}
#admin.v21-admin textarea{padding-top:11px!important;padding-bottom:11px!important}
#admin.v21-admin button{font-size:14px!important;line-height:1.3!important}
#admin.v21-admin table{font-size:15px!important}
#admin.v21-admin table th{
  font-size:13px!important;
  line-height:1.4!important;
  padding-top:15px!important;
  padding-bottom:15px!important;
  font-weight:800!important;
}
#admin.v21-admin table td{
  font-size:15px!important;
  line-height:1.6!important;
  padding-top:15px!important;
  padding-bottom:15px!important;
}
/* Major Admin modules */
#admin.v21-admin .v2103-tab,#admin.v21-admin .v2105-order-tab,#admin.v21-admin .v2106-tab,#admin.v21-admin .v2109-tab,#admin.v21-admin .v2110-tab{font-size:15px!important;min-height:46px!important}
#admin.v21-admin .v2105-order-tab .v2105-tab-count,#admin.v21-admin .v2106-tab .count{font-size:12px!important}
#admin.v21-admin .v2105-filter-group>span,#admin.v21-admin .v2106-filter label,#admin.v21-admin .v2110-grid label{font-size:13px!important}
#admin.v21-admin .v2105-status-badge,#admin.v21-admin .v2105-pay-badge,#admin.v21-admin .v2103-type-badge,#admin.v21-admin .v2103-status-badge,#admin.v21-admin .v2103-online-badge,#admin.v21-admin .v2106-status,#admin.v21-admin .v2106-type{font-size:13px!important;min-height:29px!important}
#admin.v21-admin .v2105-row-btn,#admin.v21-admin .v2106-small-btn,#admin.v21-admin .v2110-btn,#admin.v21-admin .v2109-actions button{font-size:13px!important;min-height:36px!important}
#admin.v21-admin .v2106-name,#admin.v21-admin .v2110-admin-name{font-size:16px!important;font-weight:800!important}
#admin.v21-admin .v2106-sub{font-size:13px!important;line-height:1.55!important}
#admin.v21-admin .v2109-card h3{font-size:19px!important}
#admin.v21-admin .v2109-meta{font-size:13px!important}
#admin.v21-admin .v2109-msg{font-size:15px!important;line-height:1.7!important}
#admin.v21-admin .v2110-panel-head h2{font-size:24px!important}
#admin.v21-admin .v2110-panel-head p,#admin.v21-admin .v2110-help{font-size:13px!important;line-height:1.6!important}
#admin.v21-admin .v2110-zone-row,#admin.v21-admin .v2110-admin-table{font-size:14px!important}
/* Keep cards airy like the reference list */
#admin.v21-admin .card,#admin.v21-admin .exec-card,#admin.v21-admin .exec-panel,#admin.v21-admin .v2106-panel,#admin.v21-admin .v2110-panel{background:#fff!important}

/* ===== v211417CustomerAdvanceScheduleStyles ===== */
/* Customer: explicit immediate vs future booking */
.cp-time-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:4px}
.cp-time-choice-btn{border:1px solid #dbe3ec;background:#fff;color:#334155;border-radius:12px;padding:12px 10px;min-height:66px;text-align:left;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:2px}
.cp-time-choice-btn b{font-size:15px}.cp-time-choice-btn small{font-size:11px;color:#64748b;line-height:1.35}
.cp-time-choice-btn.active{border:2px solid #111827;background:#111827;color:#fff;padding:11px 9px}
.cp-time-choice-btn.active small{color:#cbd5e1}
.cp-schedule-status{margin-top:9px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;padding:9px 11px;font-size:12px;color:#475569;font-weight:700;line-height:1.5}
.cp-advance-fields{margin-top:10px;border:1px solid #d8e3ee;border-radius:12px;background:#f8fafc;padding:12px}
.cp-advance-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.cp-advance-grid label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:900;color:#475569}
.cp-advance-grid input{margin-top:0!important;background:#fff!important}
.cp-schedule-preview{grid-column:1/-1;border-radius:9px;background:#fff;border:1px solid #e2e8f0;padding:9px 10px;font-size:12px;font-weight:800;color:#0f766e;line-height:1.5}
.cp-schedule-preview.warn{color:#b45309;background:#fffbeb;border-color:#fde68a}
.cp-time-mode-hidden{display:none!important}
@media(max-width:560px){.cp-time-choice,.cp-advance-grid{grid-template-columns:1fr}}

/* ===== v211418AdminTypographyFinal ===== */
/* V21.14.21 — FINAL ADMIN READABILITY STANDARD
   Target: large, crisp member-list style on every Admin screen. */
#admin.v21-admin{font-size:17px!important;line-height:1.65!important;color:#2b3036!important}
#admin.v21-admin .v21-nav-btn{font-size:17px!important;min-height:50px!important}
#admin.v21-admin .v21-nav-group-label{font-size:13px!important}
#admin.v21-admin .v21-head-title b{font-size:23px!important}
#admin.v21-admin .v21-head-title small{font-size:14px!important}
#admin.v21-admin .v21-page-intro h1,#admin.v21-admin h1{font-size:32px!important}
#admin.v21-admin h2{font-size:26px!important}
#admin.v21-admin h3{font-size:20px!important}
#admin.v21-admin p,#admin.v21-admin li{font-size:16px!important;line-height:1.7!important}
#admin.v21-admin label{font-size:15px!important}
#admin.v21-admin small,#admin.v21-admin .tiny,#admin.v21-admin .muted{font-size:14px!important;line-height:1.6!important}
#admin.v21-admin input:not([type="checkbox"]):not([type="radio"]),#admin.v21-admin select,#admin.v21-admin textarea{font-size:16px!important;min-height:46px!important;line-height:1.55!important}
#admin.v21-admin button{font-size:15px!important}
#admin.v21-admin table{font-size:17px!important;background:#fff!important}
#admin.v21-admin table th{font-size:15px!important;line-height:1.5!important;padding:17px 14px!important;font-weight:800!important;color:#676e77!important;background:#fafbfc!important}
#admin.v21-admin table td{font-size:17px!important;line-height:1.65!important;padding:17px 14px!important;color:#30353b!important;background:#fff!important}

/* Orders page receives a stronger final override so older module CSS cannot shrink it. */
#admin.v21-admin.v21-view-orders .v2105-order-tabs{gap:8px!important;margin-bottom:18px!important}
#admin.v21-admin.v21-view-orders .v2105-order-tab{font-size:17px!important;min-height:50px!important;padding:0 14px!important;font-weight:800!important}
#admin.v21-admin.v21-view-orders .v2105-order-tab .v2105-tab-count{font-size:13px!important;min-width:23px!important;height:23px!important}
#admin.v21-admin.v21-view-orders .v2105-total{font-size:22px!important;line-height:1.4!important}
#admin.v21-admin.v21-view-orders .v2105-total b{font-size:30px!important}
#admin.v21-admin.v21-view-orders .v2105-filter-group>span{font-size:14px!important;font-weight:800!important}
#admin.v21-admin.v21-view-orders .v2105-filter-group input,#admin.v21-admin.v21-view-orders .v2105-filter-group select{font-size:16px!important;height:48px!important}
#admin.v21-admin.v21-view-orders .v2105-table{min-width:1680px!important;font-size:17px!important}
#admin.v21-admin.v21-view-orders .v2105-table th{font-size:15px!important;padding:18px 15px!important}
#admin.v21-admin.v21-view-orders .v2105-table td{font-size:17px!important;line-height:1.65!important;padding:18px 15px!important;height:82px!important;vertical-align:middle!important}
#admin.v21-admin.v21-view-orders .v2105-order-id{font-size:17px!important;font-weight:900!important}
#admin.v21-admin.v21-view-orders .v2105-order-id small{font-size:13px!important;margin-top:5px!important}
#admin.v21-admin.v21-view-orders .v2105-customer b,#admin.v21-admin.v21-view-orders .v2105-messenger b{font-size:17px!important;line-height:1.5!important}
#admin.v21-admin.v21-view-orders .v2105-customer small,#admin.v21-admin.v21-view-orders .v2105-messenger small{font-size:13px!important;margin-top:5px!important}
#admin.v21-admin.v21-view-orders .v2105-address,#admin.v21-admin.v21-view-orders .v2105-address b{font-size:16px!important;line-height:1.6!important}
#admin.v21-admin.v21-view-orders .v2105-money{font-size:18px!important;font-weight:900!important}
#admin.v21-admin.v21-view-orders .v2105-service-badge,#admin.v21-admin.v21-view-orders .v2105-pay-badge,#admin.v21-admin.v21-view-orders .v2112-pay-state,#admin.v21-admin.v21-view-orders .v2105-status-badge{font-size:14px!important;min-height:33px!important;padding-left:11px!important;padding-right:11px!important}
#admin.v21-admin.v21-view-orders .v2105-status-badge.done{font-size:15px!important;min-height:38px!important;padding:0 16px!important}
#admin.v21-admin.v21-view-orders .v2105-row-btn.primary{height:38px!important;padding:0 14px!important;font-size:13px!important}
#admin.v21-admin.v21-view-orders .v2105-row-btn.danger{height:32px!important;padding:0 9px!important;font-size:11px!important}
#admin.v21-admin.v21-view-orders .v2105-row-btn:not(.primary):not(.danger){height:34px!important;font-size:12px!important}
#admin.v21-admin.v21-view-orders .v2105-detail-panel{font-size:17px!important}
#admin.v21-admin.v21-view-orders .v2105-detail-head h2{font-size:30px!important}
#admin.v21-admin.v21-view-orders .v2105-detail-stat small{font-size:14px!important}
#admin.v21-admin.v21-view-orders .v2105-detail-stat b{font-size:24px!important}
#admin.v21-admin.v21-view-orders .v2105-detail-grid>div{font-size:16px!important;line-height:1.65!important;padding:14px 15px!important}
#admin.v21-admin.v21-view-orders .v2105-stop-row b{font-size:16px!important}
#admin.v21-admin.v21-view-orders .v2105-stop-row small{font-size:13px!important}

/* Other key Admin modules */
#admin.v21-admin .v2103-table td,#admin.v21-admin .v2106-table td{font-size:17px!important;line-height:1.65!important;height:76px!important}
#admin.v21-admin .v2103-table th,#admin.v21-admin .v2106-table th{font-size:15px!important}
#admin.v21-admin .v2103-company-cell b,#admin.v21-admin .v2106-name{font-size:17px!important}
#admin.v21-admin .v2103-company-cell small,#admin.v21-admin .v2106-sub{font-size:14px!important}
#admin.v21-admin .v2103-tab,#admin.v21-admin .v2106-tab,#admin.v21-admin .v2109-tab,#admin.v21-admin .v2110-tab{font-size:16px!important;min-height:48px!important}

/* ===== v211418CustomerPromoStyles ===== */
.cp-promo-box{border:1px solid #dbe3ec;border-radius:14px;background:#fff;padding:12px}
.cp-promo-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.cp-promo-row input{margin:0!important;text-transform:uppercase;font-weight:800;letter-spacing:.5px}
.cp-promo-apply{margin:0!important;min-width:88px;background:#111827!important;color:#fff!important;border:1px solid #111827!important}
.cp-promo-hint{font-size:11px;color:#64748b;line-height:1.5;margin-top:7px}
.cp-promo-status{display:none;margin-top:8px;padding:9px 10px;border-radius:10px;font-size:12px;font-weight:800;line-height:1.5}
.cp-promo-status.show{display:block}.cp-promo-status.ok{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.cp-promo-status.bad{background:#fff7ed;color:#b45309;border:1px solid #fed7aa}
.cp-price-line.discount{display:none;color:#047857;font-weight:800}.cp-price-line.discount.show{display:flex}.cp-price-line.discount strong{color:#047857}
.cp-price-line.gross{display:none}.cp-price-line.gross.show{display:flex}
@media(max-width:560px){.cp-promo-row{grid-template-columns:1fr}.cp-promo-apply{width:100%}}

/* ===== v211430CustomerHotfixStyles ===== */
.v2103-count-link{border:0!important;background:transparent!important;color:#111827!important;font-size:16px!important;font-weight:900!important;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:4px 8px!important;margin:0!important}
.v2103-online-link{border:0!important;cursor:pointer!important;margin:0!important}
.v2103-history-job{width:100%;border:0!important;border-bottom:1px solid #eef0f2!important;background:#fff!important;text-align:left!important;color:inherit!important;cursor:pointer!important;margin:0!important}
.v2103-history-job:hover{background:#f8fafc!important}

/* ===== v211431CustomerFixStyles ===== */
#admin #v2103CustomerDetailOverlay.show{display:flex!important;pointer-events:auto!important;z-index:30000!important}
#admin #v2103CustomerDetailOverlay .v2103-detail-panel{pointer-events:auto!important}
.v2103-tax-wrap{display:flex;flex-direction:column;gap:7px}
.v2103-tax-hint{font-size:13px;font-weight:700;color:#8a9097}
.v2103-tax-hint.ok{color:#187744}.v2103-tax-hint.bad{color:#b03333}
#admin.v21-admin .v2103-save-sticky{position:sticky;bottom:0;z-index:20;background:rgba(255,255,255,.97);backdrop-filter:blur(6px);border-top:1px solid #e8ebef;padding:14px 0 4px;margin-top:10px}

/* ===== v2134ReplacementLockCompactOrders ===== */
/* V21.14.35 Replacement Day Lock + Compact Orders */
.quick-messenger-card.day-locked{opacity:.62!important;cursor:not-allowed!important;background:#f8fafc!important;border-color:#cbd5e1!important;box-shadow:none!important}
.quick-messenger-card.day-locked:hover{background:#f8fafc!important;border-color:#cbd5e1!important}
.quick-messenger-state.locked{color:#b45309!important;background:#fff7ed;padding:4px 7px;border-radius:999px;white-space:nowrap}
#admin.v21-admin.v21-view-orders .v2105-table{min-width:1260px!important;font-size:13px!important;table-layout:auto!important}
#admin.v21-admin.v21-view-orders .v2105-table th{font-size:12px!important;padding:10px 10px!important;height:38px!important;line-height:1.2!important}
#admin.v21-admin.v21-view-orders .v2105-table td{font-size:13px!important;line-height:1.32!important;padding:8px 10px!important;height:60px!important;min-height:0!important;vertical-align:middle!important}
#admin.v21-admin.v21-view-orders .v2134-compact-row{cursor:pointer}
#admin.v21-admin.v21-view-orders .v2134-compact-row:hover td{background:#fbfaf7!important}
#admin.v21-admin.v21-view-orders .v2105-order-id{min-width:132px!important;font-size:13px!important}.v2105-order-id small{font-size:10px!important;margin-top:3px!important}
#admin.v21-admin.v21-view-orders .v2134-time{min-width:118px;white-space:nowrap}.v2134-time b{display:block;font-size:14px;color:#20242a}.v2134-time small{display:block;color:#8a9097;font-size:10px;margin-top:3px}
#admin.v21-admin.v21-view-orders .v2105-customer{width:180px!important;max-width:180px!important}.v2105-customer b{font-size:13px!important;line-height:1.25!important}.v2105-customer small{font-size:10px!important;margin-top:3px!important}
#admin.v21-admin.v21-view-orders .v2134-job-summary{min-width:330px;max-width:390px}.v2134-job-summary .v2105-service-badge{margin-bottom:5px}.v2134-route-main{display:flex;align-items:center;gap:6px;min-width:0;color:#41464d}.v2134-route-main b{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.v2134-route-main span{color:#9aa0a6;font-weight:900}.v2134-route-sub{font-size:10px;color:#8a9097;margin-top:3px}
#admin.v21-admin.v21-view-orders .v2105-messenger{min-width:135px!important}.v2105-messenger b{font-size:12px!important}.v2105-messenger small{font-size:10px!important;margin-top:3px!important}
#admin.v21-admin.v21-view-orders .v2134-distance{min-width:88px;white-space:nowrap}.v2134-distance b{font-size:13px;color:#34393f}
#admin.v21-admin.v21-view-orders .v2105-money{font-size:14px!important;min-width:78px}
#admin.v21-admin.v21-view-orders .v2105-service-badge,#admin.v21-admin.v21-view-orders .v2105-pay-badge,#admin.v21-admin.v21-view-orders .v2105-status-badge{font-size:10px!important;min-height:24px!important;padding:0 8px!important}
.v2134-pay-state{display:block;font-size:9px;color:#8a9097;margin-top:3px;white-space:nowrap}
#admin.v21-admin.v21-view-orders .v2105-actions{min-width:96px!important}.v2134-view-btn{height:31px!important;padding:0 10px!important;font-size:10px!important;border-radius:5px!important}
#admin.v21-admin .v2105-detail-stats{grid-template-columns:repeat(5,1fr)!important}
.v2133-perjob-summary{grid-template-columns:repeat(5,minmax(150px,1fr))!important}
@media(max-width:1150px){.v2133-perjob-summary{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:760px){#admin.v21-admin .v2105-detail-stats{grid-template-columns:1fr 1fr!important}.v2133-perjob-summary{grid-template-columns:1fr!important}}

/* ===== v211438LoyaltyCss ===== */
.cp-loyalty-card{border:1px solid #e7d7a5;background:linear-gradient(135deg,#fffdf7,#fff);border-radius:16px;padding:15px}.cp-loyalty-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.cp-loyalty-head small{display:block;color:#6b7280;font-size:11px}.cp-loyalty-head b{display:block;font-size:22px;color:#111827;margin-top:2px}.cp-loyalty-credit{background:#111827;color:#d7b663;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;text-align:center}.cp-loyalty-progress{height:9px;background:#eceff3;border-radius:999px;overflow:hidden;margin:12px 0 8px}.cp-loyalty-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#c8a84e,#e6cc7a);transition:width .25s ease}.cp-loyalty-note,.cp-loyalty-preview{font-size:11px;color:#64748b;line-height:1.55}.cp-loyalty-preview{margin-top:7px;color:#8a6b18;font-weight:800}.cp-loyalty-use{width:100%;margin-top:10px!important;border:1px solid #111827!important;background:#fff!important;color:#111827!important;border-radius:11px!important;font-weight:900!important}.cp-loyalty-use.active{background:#111827!important;color:#d7b663!important}.cp-loyalty-use:disabled{opacity:.45!important;cursor:not-allowed}.cp-section.disabled .cp-loyalty-card{background:#f8fafc;border-color:#e5e7eb}.cp-section.disabled .cp-loyalty-credit{background:#e5e7eb;color:#64748b}@media(max-width:700px){.cp-loyalty-head{align-items:flex-start;flex-direction:column}.cp-loyalty-credit{align-self:flex-start}}

/* ===== v211448PushStyles ===== */
.pe-push-card{margin:10px 0 12px;padding:12px 14px;border:1px solid #e2d3a4;border-radius:16px;background:linear-gradient(135deg,#fffdf7,#fff);display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.pe-push-copy{min-width:0}.pe-push-title{font-weight:900;color:#111827}.pe-push-status{font-size:12px;color:#64748b;margin-top:3px;line-height:1.45}.pe-push-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.pe-push-btn{border:1px solid #c7a84b;background:#111;color:#f3d977;border-radius:12px;padding:9px 12px;font-weight:900;cursor:pointer}.pe-push-btn.secondary{background:#fff;color:#111827}.pe-push-btn.enabled{background:#effcf3;border-color:#54b77a;color:#176b37}.pe-push-banner{position:fixed;left:50%;top:14px;transform:translate(-50%,-130%);opacity:0;z-index:20000;width:min(94vw,620px);background:#111;color:#fff;border:1px solid #d7bd69;border-radius:17px;padding:13px 14px;box-shadow:0 18px 45px rgba(0,0,0,.28);display:flex;align-items:center;gap:12px;transition:.25s ease}.pe-push-banner.show{transform:translate(-50%,0);opacity:1}.pe-push-banner-icon{font-size:24px}.pe-push-banner-copy{min-width:0;flex:1}.pe-push-banner-copy b{display:block;color:#f3d977}.pe-push-banner-copy span{display:block;font-size:12px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pe-push-banner button{border:0;border-radius:10px;background:#f3d977;color:#111;padding:9px 11px;font-weight:900}.pe-push-banner-close{background:transparent!important;color:#fff!important;padding:6px!important;font-size:18px}.pe-push-ios-note{color:#9a6700;font-weight:800}
@media(max-width:650px){.pe-push-card{align-items:flex-start;flex-direction:column}.pe-push-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.pe-push-btn{width:100%}.pe-push-banner{top:8px}}

/* ===== v211509StaticSafetyCss ===== */
/* Static render safety: the reference UI exists in HTML before any JS runs. */
#admin.v21-view-create>#v211509AdminCreate{display:block!important;visibility:visible!important;opacity:1!important;min-height:650px!important}
#admin:not(.v21-view-create)>#v211509AdminCreate{display:none!important}

/* ===== v211516CreateSimplifyCss ===== */
#admin.v21-admin.v21-view-create .v516-compat-hidden{display:none!important}
#admin.v21-admin.v21-view-create #v507UseCustomerAddress{display:none!important}
#admin.v21-admin.v21-view-create .v516-ref-card{margin:-2px 0 8px auto!important;width:min(420px,100%)!important;padding:8px 10px!important}
#admin.v21-admin.v21-view-create .v516-ref-card .v507-field-label{font-size:11px!important;margin-bottom:4px!important}
#admin.v21-admin.v21-view-create .v507-top-grid{margin-bottom:8px!important}
#admin.v21-admin.v21-view-create .v507-route-layout{margin-top:0!important}

/* ===== v2113EditableJobsCss ===== */
.pe-v2113-extra{margin-top:12px;padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}
.pe-v2113-extra-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px;font-size:12px;font-weight:900;color:#334155}
.pe-v2113-extra-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pe-v2113-extra-grid .wide{grid-column:1/-1}
.pe-v2113-extra input,.pe-v2113-extra textarea{width:100%;margin:0!important}
.pe-v2113-extra textarea{min-height:72px;resize:vertical}
.pe-v2113-reorder{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
#admin .pe-v2113-reorder button{margin:0!important;min-width:38px;height:34px;padding:0 10px!important;border:1px solid #cbd5e1!important;background:#fff!important;color:#334155!important;border-radius:9px!important;font-weight:900!important}
#admin .pe-v2113-reorder button:disabled{opacity:.35;cursor:not-allowed}
.landing-stop-item .pe-v2113-landing-order{margin:8px 0 2px 50px;display:flex;align-items:center;gap:7px}
.landing-stop-item .pe-v21131-landing-extra{margin:10px 0 2px 50px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#fbfdff}
.landing-stop-item .pe-v21131-landing-extra .pe-v2113-extra-title{margin-bottom:8px}
.landing-stop-item .pe-v21131-landing-extra .pe-v2113-extra-grid{grid-template-columns:1fr 1fr}
@media(max-width:700px){.landing-stop-item .pe-v21131-landing-extra{margin-left:0}.landing-stop-item .pe-v21131-landing-extra .pe-v2113-extra-grid{grid-template-columns:1fr}}
.landing-stop-item .pe-v2113-landing-order span{font-size:11px;color:#64748b;font-weight:800}
#admin .landing-stop-item .pe-v2113-landing-order button{margin:0!important;height:30px;min-width:36px;padding:0 9px!important;border-radius:9px!important;background:#fff!important;color:#334155!important;border:1px solid #cbd5e1!important}
.pe-v2113-stop-detail-line{display:block!important;margin-top:5px!important;color:#64748b!important;line-height:1.55!important}
.pe-v2113-rider-info{margin-top:10px;padding:10px 12px;border:1px solid #dbeafe;background:#f8fbff;border-radius:12px;font-size:12px;line-height:1.65;color:#334155}
.pe-v2113-rider-info b{color:#0f172a}
.pe-v2113-edit-overlay{position:fixed;z-index:18000;inset:0;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.48)}
.pe-v2113-edit-overlay.show{display:flex}
.pe-v2113-edit-modal{width:min(980px,96vw);max-height:94vh;overflow:hidden;background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(15,23,42,.3);display:flex;flex-direction:column}
.pe-v2113-edit-head{padding:16px 18px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.pe-v2113-edit-head h2{margin:2px 0 0;font-size:20px;color:#111827}
.pe-v2113-edit-head p{margin:4px 0 0;font-size:12px;color:#64748b}
#admin .pe-v2113-edit-close{margin:0!important;width:38px;height:38px;padding:0!important;border-radius:50%!important;background:#f8fafc!important;color:#334155!important;border:1px solid #e2e8f0!important}
.pe-v2113-edit-body{padding:16px 18px;overflow:auto}
.pe-v2113-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.pe-v2113-edit-grid .wide{grid-column:1/-1}
.pe-v2113-edit-grid label,.pe-v2113-stop-card label{display:block;margin-bottom:5px;font-size:11px;font-weight:800;color:#475569}
.pe-v2113-edit-grid input,.pe-v2113-edit-grid textarea,.pe-v2113-stop-card input,.pe-v2113-stop-card textarea,.pe-v2113-stop-card select{width:100%;margin:0!important}
.pe-v2113-edit-grid textarea,.pe-v2113-stop-card textarea{min-height:74px;resize:vertical}
.pe-v2113-lock-note{margin:0 0 14px;padding:10px 12px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:12px;line-height:1.55}
.pe-v2113-stop-list{display:grid;gap:12px}
.pe-v2113-stop-card{padding:14px;border:1px solid #dbe4f0;border-radius:16px;background:#fff}
.pe-v2113-stop-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.pe-v2113-stop-head b{font-size:14px;color:#111827}
.pe-v2113-stop-fields{display:grid;grid-template-columns:1.2fr .8fr;gap:10px}
.pe-v2113-stop-fields .wide{grid-column:1/-1}
#admin .pe-v2113-remove-stop{margin:0!important;background:#fff!important;color:#b42318!important;border:1px solid #fecaca!important;padding:8px 10px!important;border-radius:9px!important;font-size:11px!important}
.pe-v2113-add-row{margin-top:12px}
#admin .pe-v2113-add-stop{margin:0!important;background:#fff!important;color:#111827!important;border:1px dashed #94a3b8!important;width:100%;padding:11px!important;border-radius:12px!important;font-weight:900!important}
.pe-v2113-edit-foot{padding:13px 18px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:8px;background:#fff}
#admin .pe-v2113-edit-foot button{margin:0!important;min-width:135px}
#admin .pe-v2113-save{background:#111827!important;color:#fff!important;border-color:#111827!important}
.pe-v2113-save-state{font-size:11px;color:#64748b;margin-right:auto;align-self:center}
.pe-v2113-edit-history{margin-top:12px;padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;font-size:11px;color:#64748b}
@media(max-width:720px){.pe-v2113-extra-grid,.pe-v2113-edit-grid,.pe-v2113-stop-fields{grid-template-columns:1fr}.pe-v2113-extra-grid .wide,.pe-v2113-edit-grid .wide,.pe-v2113-stop-fields .wide{grid-column:1}.pe-v2113-edit-overlay{padding:0}.pe-v2113-edit-modal{width:100vw;max-height:100vh;height:100vh;border-radius:0}.pe-v2113-edit-foot{position:sticky;bottom:0}.landing-stop-item .pe-v2113-landing-order{margin-left:0}}

/* ===== v21133GoogleMapsDragCss ===== */
#admin .location-badge.pickup,#admin .location-badge.drop{
  width:32px!important;height:32px!important;min-width:32px!important;border-radius:50%!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  background:#fff!important;color:#111827!important;border:2px solid #111827!important;
  font-size:14px!important;font-weight:900!important;line-height:1!important;box-shadow:none!important
}
#admin .landing-stop-item{position:relative;transition:transform .14s ease,opacity .14s ease,box-shadow .14s ease}
#admin .landing-stop-item.pe-v21133-dragging{opacity:.45}
#admin .landing-stop-item.pe-v21133-drop-before{box-shadow:inset 0 3px 0 #111827}
#admin .landing-stop-item.pe-v21133-drop-after{box-shadow:inset 0 -3px 0 #111827}
#admin .pe-v2113-landing-order{display:none!important}
#admin .pe-v21133-drag-handle{
  margin:0 2px!important;width:44px!important;min-width:44px!important;height:44px!important;padding:0!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  border:0!important;background:transparent!important;color:#475569!important;border-radius:10px!important;
  cursor:grab!important;font-size:27px!important;line-height:1!important;letter-spacing:-4px!important;user-select:none;
  touch-action:none!important;flex:0 0 44px!important
}
#admin .pe-v21133-drag-handle:hover{background:#f1f5f9!important;color:#111827!important}
#admin .pe-v21133-drag-handle:disabled{opacity:.35!important;cursor:default!important}
#admin .landing-stop-item .location-line{align-items:center!important}
#admin .landing-stop-item .remove-drop{flex:0 0 auto!important}
#admin .pe-v21133-drag-handle:active{cursor:grabbing!important;background:#e2e8f0!important}
#admin .pe-v21133-drag-hint{font-size:10px;color:#64748b;font-weight:700;margin-left:auto;margin-right:4px}
#admin .pe-v2113-stop-card{transition:opacity .14s ease,box-shadow .14s ease}
#admin .pe-v2113-stop-card.pe-v21133-dragging{opacity:.45}
#admin .pe-v2113-stop-card.pe-v21133-drop-before{box-shadow:inset 0 3px 0 #111827}
#admin .pe-v2113-stop-card.pe-v21133-drop-after{box-shadow:inset 0 -3px 0 #111827}
#admin .pe-v2113-stop-head .pe-v2113-reorder{margin-left:auto}
#admin .pe-v21133-edit-handle{
  margin:0!important;width:46px!important;min-width:46px!important;height:36px!important;padding:0!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  border:1px solid #cbd5e1!important;background:#f8fafc!important;color:#111827!important;border-radius:9px!important;
  cursor:grab!important;font-size:24px!important;line-height:1!important;letter-spacing:-3px!important;user-select:none
}
#admin .pe-v21133-edit-handle:active{cursor:grabbing!important}
#admin .pe-v21133-lock-order{font-size:11px;color:#94a3b8;font-weight:800}
#admin .accordion-stop .actions button[onclick^="moveStop("]{display:none!important}
@media(max-width:700px){
  #admin .pe-v2113-landing-order{margin-left:0!important}
  #admin .pe-v21133-drag-hint{display:none}
}

/* ===== v21133TouchDragCss ===== */
#admin .pe-v21133-drag-handle,#admin .pe-v21133-edit-handle{touch-action:none!important}

/* ===== v21135CompactUiCss ===== */
/* 1) ลดขนาด 5 กล่องด้านบนให้กระชับ */
#admin.v21-admin.v21-view-create.onepage-order-mode .choice-grid{gap:8px!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .choice-card{
  min-height:58px!important;padding:7px 9px!important;border-radius:12px!important;gap:1px!important
}
#admin.v21-admin.v21-view-create.onepage-order-mode .choice-card .choice-icon{font-size:17px!important;line-height:1!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .choice-card b{font-size:13px!important;line-height:1.25!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .choice-card small{font-size:9.5px!important;line-height:1.25!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .landing-section{margin-bottom:12px!important}
#admin.v21-admin.v21-view-create.onepage-order-mode .landing-caption{margin-bottom:7px!important}

/* 2) Admin Control ไม่ถามประเภทงานซ้ำ */
#admin.onepage-order-mode #adminCreateModePanel .admin-create-mode-grid>.admin-create-mode-box:first-child{display:none!important}
#admin.onepage-order-mode #adminCreateModePanel .admin-create-mode-grid{grid-template-columns:1fr!important;gap:8px!important}
#admin.onepage-order-mode #adminCreateModePanel{padding:10px 12px!important;border-radius:14px!important}
#admin.onepage-order-mode #adminCreateModePanel .admin-create-mode-head{margin-bottom:7px!important}

/* 3) ความเร่งด่วนหนึ่งครั้งต่อใบงาน อยู่ที่ A */
#admin .pe-v21135-global-priority{margin:10px 0 8px 42px;padding:10px 11px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}
#admin .pe-v21135-global-priority-label{font-size:12px;font-weight:900;color:#334155;margin-bottom:7px}
#admin .pe-v21135-global-priority-group{display:flex;gap:7px;flex-wrap:wrap}
#admin .pe-v21135-global-priority .landing-priority-btn{min-height:35px!important;padding:6px 10px!important;font-size:11px!important;border-radius:999px!important}
#admin .pe-v21135-global-priority>.tiny{margin-top:6px;color:#64748b}

/* 4) รายละเอียด A/B/C/D พับไว้เสมอ */
#admin .pe-v21135-point-details{margin:8px 0 9px 42px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;overflow:hidden}
#admin .landing-stop-item .pe-v21135-point-details{margin-left:42px!important;padding:0!important;background:#fff!important}
#admin .pe-v21135-point-details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;font-size:12px;font-weight:900;color:#334155;background:#fff;user-select:none}
#admin .pe-v21135-point-details>summary::-webkit-details-marker{display:none}
#admin .pe-v21135-point-details>summary span:first-child{display:flex;flex-direction:column;gap:2px}
#admin .pe-v21135-point-details>summary small,#admin .pe-v21135-point-details>summary .tiny{font-size:10px!important;color:#64748b!important;font-weight:700!important}
#admin .pe-v21135-chevron{font-size:18px;color:#64748b;transition:transform .16s ease}
#admin .pe-v21135-point-details[open] .pe-v21135-chevron{transform:rotate(180deg)}
#admin .pe-v21135-point-details-body{padding:0 12px 12px!important}
#admin details.pe-v21131-landing-extra .pe-v2113-extra-title{margin:0!important;border:0!important}
#admin details.pe-v21131-landing-extra .pe-v2113-extra-grid{margin-top:0!important}

/* แถวปลายทางยังคงเห็น B/C/D + ช่องค้นหา + ≡ + X ชัดเจน */
#admin .landing-stop-item{padding-top:6px!important;padding-bottom:5px!important}
#admin .landing-stop-item .location-line{margin-bottom:0!important}

@media(max-width:700px){
  #admin.v21-admin.v21-view-create.onepage-order-mode .choice-grid.three{grid-template-columns:repeat(3,1fr)!important}
  #admin.v21-admin.v21-view-create.onepage-order-mode .choice-card{min-height:54px!important;padding:6px 5px!important}
  #admin.v21-admin.v21-view-create.onepage-order-mode .choice-card small{font-size:8.5px!important}
  #admin .pe-v21135-global-priority,#admin .pe-v21135-point-details,#admin .landing-stop-item .pe-v21135-point-details{margin-left:0!important}
  #admin .pe-v21135-global-priority-group{display:grid;grid-template-columns:repeat(3,1fr)}
  #admin .pe-v21135-global-priority .landing-priority-btn{padding:6px 4px!important}
}

/* ===== v21141ReturnCompletionStyles ===== */
/* V21.14.15 — return-document jobs are not complete until documents are returned to pickup A */
.rider-return-card{margin:4px 12px 14px;border:2px solid #d4a72c;border-radius:17px;background:#fffdf5;overflow:hidden}
.rider-return-card.pending{border-color:#d4a72c}.rider-return-card.done{border-color:#16a34a;background:#f0fdf4}.rider-return-card.waiting{border-color:#cbd5e1;background:#f8fafc}
.rider-return-head{display:grid;grid-template-columns:48px minmax(0,1fr);gap:11px;align-items:center;padding:14px}
.rider-return-badge{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#111827;color:#fff;font-size:17px;font-weight:900}
.rider-return-card.done .rider-return-badge{background:#16a34a}.rider-return-card.waiting .rider-return-badge{background:#94a3b8}
.rider-return-title{font-size:19px;font-weight:900;color:#111827}.rider-return-sub{font-size:14px;color:#475569;margin-top:4px;line-height:1.45}
.rider-return-alert{margin:0 14px 12px;padding:10px 12px;border-radius:12px;background:#fff7d6;color:#7c5b00;font-size:14px;font-weight:900;line-height:1.45}
.rider-return-card.done .rider-return-alert{background:#dcfce7;color:#166534}.rider-return-card.waiting .rider-return-alert{background:#eef2f7;color:#64748b}
.rider-return-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:8px;padding:0 14px 14px}
.rider-return-actions .rider-big-action{min-height:52px}.rider-return-next{margin:0 0 9px;padding:8px 10px;border-radius:10px;background:#fff7d6;color:#7c5b00;font-size:12px;font-weight:900}
@media(max-width:650px){.rider-return-actions{grid-template-columns:1fr}.rider-return-title{font-size:18px}.rider-return-sub{font-size:14px}}

/* ===== v211435TargetedUiStyles ===== */
/* Announcements: targeted delivery + image attachment */
#v2109AnnouncementPage .v211435-ann-layout{display:grid;grid-template-columns:140px minmax(0,1fr);gap:18px;align-items:start}
#v2109AnnouncementPage .v211435-ann-layout.no-image{grid-template-columns:minmax(0,1fr)}
#v2109AnnouncementPage .v211435-ann-thumb{width:140px;height:100px;border-radius:12px;object-fit:cover;border:1px solid #e5e7eb;background:#f8fafc;cursor:zoom-in;transition:transform .15s ease,box-shadow .15s ease}#v2109AnnouncementPage .v211435-ann-thumb:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.12)}
#v2109AnnouncementPage .v211435-ann-target{font-weight:800;color:#111827}
.v211435-recipient-box{border:1px solid #e5e7eb;border-radius:12px;background:#fafafa;padding:10px;max-height:180px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.v211435-recipient-box label{display:flex!important;align-items:center;gap:8px;margin:0!important;padding:8px 10px;border-radius:9px;background:#fff;border:1px solid #eef0f3;font-weight:700!important;cursor:pointer}
.v211435-recipient-box input{width:auto!important;margin:0!important}
.v211435-image-tools{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}
.v211435-image-preview{width:180px;height:120px;object-fit:cover;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;display:none}
.v211435-image-preview.show{display:block}
.v211435-inline-note{font-size:12px;color:#6b7280;margin-top:6px;line-height:1.5}
.rider-ann-detail .v211435-ann-full-image,.v211435-cp-ann-image{display:block;width:100%;max-height:420px;object-fit:contain;border-radius:12px;border:1px solid #e5e7eb;background:#f8fafc;margin:0 0 12px}.v211437-ann-lightbox{position:fixed;inset:0;z-index:120000;background:rgba(0,0,0,.82);display:none;align-items:center;justify-content:center;padding:24px}.v211437-ann-lightbox.show{display:flex}.v211437-ann-lightbox img{max-width:min(1100px,94vw);max-height:90vh;object-fit:contain;background:#fff;border-radius:14px;box-shadow:0 25px 80px rgba(0,0,0,.4)}.v211437-ann-lightbox button{position:absolute;top:18px;right:18px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#111;font-size:28px;line-height:1;cursor:pointer;font-weight:700}
/* Customer announcement center */
#cpAnnouncementBox{margin:0 0 14px}
.v211435-cp-ann-card{width:100%;border:1px solid #ead9a7;background:linear-gradient(135deg,#fffdf6,#fff);border-radius:14px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left}
.v211435-cp-ann-card b{display:block;font-size:15px;color:#171717}.v211435-cp-ann-card small{display:block;margin-top:3px;color:#6b7280}
.v211435-cp-ann-count{white-space:nowrap;background:#111;color:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}
.v211435-cp-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:99999;display:none;align-items:center;justify-content:center;padding:20px}.v211435-cp-overlay.show{display:flex}
.v211435-cp-modal{width:min(760px,96vw);max-height:88vh;overflow:auto;background:#fff;border-radius:18px;padding:20px;box-shadow:0 24px 70px rgba(0,0,0,.22)}
.v211435-cp-modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.v211435-cp-modal-head h2{margin:0}
.v211435-cp-modal-head button{border:1px solid #ddd;background:#fff;border-radius:9px;padding:9px 13px;font-weight:800;cursor:pointer}
.v211435-cp-ann-item{border:1px solid #e5e7eb;border-radius:14px;padding:15px;margin:10px 0}.v211435-cp-ann-item.unread{border-color:#d4af37;background:#fffdf6}.v211435-cp-ann-item h3{margin:0 0 5px;font-size:16px}.v211435-cp-ann-meta{font-size:12px;color:#6b7280;margin-bottom:10px}.v211435-cp-ann-msg{white-space:pre-wrap;line-height:1.65;color:#222}
/* Orders: compact main list only; full information remains inside details */
#admin.v21-admin.v21-view-orders .v2105-table{min-width:1450px!important}
#admin.v21-admin.v21-view-orders .v2105-table th,#admin.v21-admin.v21-view-orders .v2105-table td{white-space:nowrap!important}
#admin.v21-admin.v21-view-orders .v211435-order-clip{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#admin.v21-admin.v21-view-orders .v211435-order-date{min-width:112px}
#admin.v21-admin.v21-view-orders .v211435-order-kind{min-width:92px}
#admin.v21-admin.v21-view-orders .v211435-order-origin,#admin.v21-admin.v21-view-orders .v211435-order-destination{max-width:205px}
#admin.v21-admin.v21-view-orders .v211435-order-messenger{max-width:150px;overflow:hidden;text-overflow:ellipsis}
.v211435-hidden-detail{margin-top:16px;border-top:1px solid #e5e7eb;padding-top:16px}.v211435-hidden-detail h3{margin:0 0 10px;font-size:15px}.v211435-detail-point{padding:12px;border:1px solid #e5e7eb;border-radius:12px;margin:8px 0}.v211435-detail-point b{display:block;margin-bottom:5px}.v211435-detail-point small{display:block;color:#4b5563;line-height:1.55}
/* Finance / sales: isolated new page matching the supplied reference layout */
#v211435FinancePage{display:none;padding:0 22px 32px;min-width:0}
.v211435-fin-top{display:flex;justify-content:flex-end;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:16px}.v211435-fin-field{display:flex;flex-direction:column;gap:5px}.v211435-fin-field label{font-size:11px;color:#6b7280;font-weight:800}.v211435-fin-field input,.v211435-fin-field select{height:40px;border:1px solid #d1d5db;border-radius:7px;padding:0 10px;background:#fff;min-width:150px}.v211435-fin-export{height:40px;border:0;border-radius:7px;background:#111;color:#fff;padding:0 16px;font-weight:900;cursor:pointer}
.v211435-fin-kpis{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:12px;margin:0 0 22px}.v211435-fin-kpi{padding:17px 16px;border:1px solid #ececec;border-radius:12px;background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.035)}.v211435-fin-kpi b{display:block;font-size:26px;line-height:1.1;color:#171717}.v211435-fin-kpi:first-child b{color:#16a34a}.v211435-fin-kpi small{display:block;color:#6b7280;margin-top:6px;font-size:12px;font-weight:700}
.v211435-fin-panel{background:#fff;border:1px solid #ececec;border-radius:14px;padding:17px}.v211435-fin-panel-head{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:14px}.v211435-fin-panel-head h2{margin:0;font-size:18px}.v211435-fin-searches{display:flex;gap:10px}.v211435-fin-searches input,.v211435-fin-searches select{height:39px;border:1px solid #d1d5db;border-radius:7px;padding:0 10px;min-width:150px}
.v211435-fin-shell{overflow:auto}.v211435-fin-table{width:100%;min-width:1320px;border-collapse:collapse;font-size:13px}.v211435-fin-table th{background:#f8f9fa;color:#4b5563;text-align:left;padding:12px 10px;border-bottom:1px solid #e5e7eb;font-size:11px}.v211435-fin-table td{padding:13px 10px;border-bottom:1px solid #eef0f2;vertical-align:top}.v211435-fin-money{font-weight:800}.v211435-fin-empty{text-align:center;color:#6b7280;padding:42px!important}.v211435-fin-addon{font-weight:800;color:#374151}
@media(max-width:1050px){.v211435-fin-kpis{grid-template-columns:repeat(2,minmax(150px,1fr))}.v211435-recipient-box{grid-template-columns:1fr}}

/* ===== v211439CustomerRiderFlowCss ===== */
#admin .v211439-origin-note{margin-top:7px;padding:8px 10px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-size:11px;line-height:1.55}
#admin .v211439-origin-note.ok{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
#admin .v211439-origin-note.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}
.v211439-rider-customer{margin:0 12px 12px;padding:14px;border:1px solid #dbe4f0;border-radius:16px;background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.05)}
.v211439-rider-customer-label{font-size:11px;font-weight:900;color:#64748b;margin-bottom:5px;text-transform:uppercase;letter-spacing:.04em}
.v211439-rider-customer-name{font-size:17px;font-weight:900;color:#0f172a;line-height:1.35}
.v211439-rider-customer-meta{margin-top:6px;color:#475569;font-size:13px;line-height:1.65}
.v211439-rider-customer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}
.v211439-rider-customer-actions>a,.v211439-rider-customer-actions>button{min-height:44px;border-radius:12px;font-weight:900;text-decoration:none;display:grid;place-items:center;text-align:center}
.v211439-rider-customer-actions>a{background:#fff;border:1px solid #cbd5e1;color:#0f172a}
.v211439-rider-customer-actions>button{background:#111827;border:1px solid #111827;color:#fff;margin:0}
@media(max-width:520px){.v211439-rider-customer-actions{grid-template-columns:1fr}}

/* ===== v211440StaffPhotoCleanupCss ===== */
.v2140-photo-field{grid-column:1/-1;margin-top:2px;padding:12px;border:1px solid #dbe4f0;border-radius:12px;background:#f8fafc}
.v2140-photo-row{display:flex;gap:12px;align-items:center;margin-top:7px}.v2140-photo-preview{width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 0 0 1px #cbd5e1;background:#e2e8f0;flex:0 0 72px}.v2140-photo-actions{min-width:0;flex:1}.v2140-photo-actions input[type=file]{width:100%;max-width:340px}.v2140-photo-actions small{display:block;color:#64748b;margin-top:6px;line-height:1.5}.v2140-photo-remove{margin-top:7px!important;padding:6px 10px!important;font-size:11px!important;background:#fff!important;color:#b91c1c!important;border:1px solid #fecaca!important}
.rider-avatar img{width:46px;height:46px;border-radius:50%;object-fit:cover;display:block}.mgr-card-main{position:relative}.v2140-mgr-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;border:1px solid #cbd5e1;margin-right:9px;vertical-align:middle}.mgr-card-name{display:flex!important;align-items:center;gap:7px}
.v2140-cleanup-page{margin:16px 0;padding:0 18px 24px}.v2140-cleanup-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px;box-shadow:0 5px 18px rgba(15,23,42,.04)}.v2140-cleanup-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.v2140-cleanup-title{font-size:18px;font-weight:900;color:#0f172a}.v2140-cleanup-sub{font-size:12px;color:#64748b;margin-top:4px;line-height:1.6}.v2140-cleanup-badge{font-size:10px;font-weight:900;color:#92400e;background:#fffbeb;border:1px solid #fde68a;padding:5px 8px;border-radius:999px;white-space:nowrap}.v2140-cleanup-controls{display:grid;grid-template-columns:180px minmax(260px,1fr);gap:12px;margin-top:15px}.v2140-cleanup-controls label{font-size:11px;font-weight:800;color:#475569}.v2140-cleanup-controls input[type=date],.v2140-cleanup-controls input[type=text]{width:100%;margin-top:5px}.v2140-cleanup-check{grid-column:1/-1;display:flex;gap:8px;align-items:flex-start;padding:10px 12px;background:#f8fafc;border-radius:10px;font-size:12px;color:#334155}.v2140-cleanup-check input{margin-top:2px}.v2140-cleanup-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.v2140-cleanup-actions button{margin:0!important}.v2140-cleanup-status{margin-top:12px;padding:10px 12px;border-radius:10px;background:#f8fafc;color:#475569;font-size:12px;line-height:1.6}.v2140-cleanup-status.ok{background:#ecfdf5;color:#065f46}.v2140-cleanup-status.warn{background:#fff7ed;color:#9a3412}.v2140-cleanup-table-wrap{margin-top:12px;overflow:auto;max-height:420px;border:1px solid #e2e8f0;border-radius:12px}.v2140-cleanup-table{width:100%;border-collapse:collapse;font-size:11px}.v2140-cleanup-table th,.v2140-cleanup-table td{padding:9px 10px;border-bottom:1px solid #eef2f7;text-align:left;vertical-align:top}.v2140-cleanup-table th{position:sticky;top:0;background:#f8fafc;z-index:1;color:#475569}.v2140-cleanup-test{display:inline-block;margin-left:5px;padding:2px 5px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:9px;font-weight:900}.v2140-cleanup-danger{background:#b91c1c!important;color:#fff!important}.v2140-cleanup-note{margin-top:12px;color:#64748b;font-size:11px;line-height:1.6}
@media(max-width:700px){.v2140-photo-row{align-items:flex-start}.v2140-cleanup-page{padding:0 10px 18px}.v2140-cleanup-controls{grid-template-columns:1fr}.v2140-cleanup-check{grid-column:1}.v2140-cleanup-head{flex-direction:column}.v2140-cleanup-table-wrap{max-height:360px}}

/* ===== v211443DutyTrackingCss ===== */
.pe-duty-card{margin:10px 0 14px;padding:14px;border:1px solid #d9e2ec;border-radius:18px;background:linear-gradient(135deg,#ffffff,#f8fafc);box-shadow:0 7px 20px rgba(15,23,42,.06)}
.pe-duty-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pe-duty-title{font-size:16px;font-weight:950;color:#0f172a}.pe-duty-sub{font-size:11px;color:#64748b;margin-top:3px;line-height:1.45}.pe-duty-state{padding:6px 10px;border-radius:999px;font-size:11px;font-weight:900;background:#e2e8f0;color:#475569;white-space:nowrap}.pe-duty-state.on{background:#dcfce7;color:#166534}.pe-duty-state.off{background:#f1f5f9;color:#475569}.pe-duty-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:11px}.pe-duty-kpi{padding:9px 10px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.pe-duty-kpi small{display:block;font-size:10px;color:#64748b}.pe-duty-kpi b{display:block;font-size:14px;color:#0f172a;margin-top:2px}.pe-duty-actions{display:flex;gap:8px;margin-top:10px}.pe-duty-actions button{flex:1;min-height:44px;border-radius:12px;font-weight:900}.pe-duty-start{background:#111827!important;color:#fff!important}.pe-duty-end{background:#fff!important;color:#b91c1c!important;border:1px solid #fecaca!important}.pe-duty-note{font-size:10px;color:#64748b;margin-top:8px;line-height:1.45}
.pe-track-action{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;border-radius:13px!important;font-weight:950!important}.pe-track-arrive{background:#0f766e!important;color:#fff!important}.pe-track-depart{background:#166534!important;color:#fff!important}.pe-track-return{background:#6d28d9!important;color:#fff!important}.pe-track-ok{padding:9px 11px;border-radius:11px;background:#ecfdf5;color:#166534;font-size:12px;font-weight:900;line-height:1.45}.pe-track-warn{padding:9px 11px;border-radius:11px;background:#fff7ed;color:#9a3412;font-size:12px;font-weight:850;line-height:1.45}
.pe-stop-track{margin:0 0 10px;padding:10px;border-radius:12px;background:#f8fafc;border:1px solid #dbe4ee}.pe-stop-track-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.pe-stop-track-title{font-size:12px;font-weight:900;color:#334155}.pe-stop-track-meta{font-size:10px;color:#64748b;margin-top:3px}.pe-stop-track button{margin:0!important;min-height:40px;padding:8px 12px!important;border-radius:10px!important;background:#0f766e!important;color:#fff!important;font-weight:900!important}
.pe-job-checkpoints{margin:0 12px 12px;padding:11px 12px;border:1px solid #dbe4ee;border-radius:14px;background:#fff}.pe-job-checkpoints-title{font-size:12px;font-weight:950;color:#334155;margin-bottom:6px}.pe-job-checkpoint-list{display:flex;flex-wrap:wrap;gap:6px}.pe-job-checkpoint{padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:10px;font-weight:800}.pe-job-checkpoint.done{background:#dcfce7;color:#166534}
.pe-duty-admin{margin:0 0 16px;padding:14px;border:1px solid #d8dee7;border-radius:18px;background:#fff;box-shadow:0 7px 22px rgba(15,23,42,.05)}.pe-duty-admin-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.pe-duty-admin-head h3{margin:0;font-size:17px}.pe-duty-admin-head p{margin:3px 0 0;color:#64748b;font-size:11px}.pe-duty-refresh{border:1px solid #cbd5e1!important;background:#fff!important;color:#334155!important;border-radius:10px!important;padding:8px 11px!important}.pe-duty-admin-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:10px}.pe-duty-summary-box{padding:9px;border:1px solid #e2e8f0;border-radius:11px;background:#f8fafc}.pe-duty-summary-box small{display:block;font-size:10px;color:#64748b}.pe-duty-summary-box b{font-size:18px}.pe-duty-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pe-duty-person{border:1px solid #e2e8f0;border-radius:14px;background:#fff;overflow:hidden}.pe-duty-person>summary{list-style:none;cursor:pointer;padding:11px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:9px}.pe-duty-person>summary::-webkit-details-marker{display:none}.pe-duty-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;background:#eef2f7;display:grid;place-items:center}.pe-duty-avatar img{width:100%;height:100%;object-fit:cover}.pe-duty-name{font-size:13px;font-weight:950;color:#111827}.pe-duty-meta{font-size:10px;color:#64748b;margin-top:2px}.pe-duty-pill{font-size:10px;font-weight:900;padding:5px 7px;border-radius:999px;background:#e2e8f0;color:#475569;white-space:nowrap}.pe-duty-pill.live{background:#dcfce7;color:#166534}.pe-duty-pill.busy{background:#dbeafe;color:#1d4ed8}.pe-duty-pill.client{background:#ffedd5;color:#9a3412}.pe-duty-pill.ended{background:#f1f5f9;color:#475569}.pe-duty-body{padding:0 11px 11px}.pe-duty-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px}.pe-duty-time{padding:7px;background:#f8fafc;border-radius:9px;font-size:10px;color:#64748b}.pe-duty-time b{display:block;color:#111827;font-size:12px;margin-top:2px}.pe-duty-event{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:7px;align-items:center;padding:7px 0;border-top:1px dashed #e2e8f0;font-size:10px}.pe-duty-event b{font-size:11px;color:#334155}.pe-duty-event a{font-size:10px;text-decoration:none;font-weight:900;color:#2563eb}.pe-duty-empty{padding:15px;text-align:center;color:#64748b;font-size:12px}.pe-duty-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#22c55e;margin-right:5px;box-shadow:0 0 0 4px rgba(34,197,94,.12)}
.pe-order-tracking{margin-top:14px;padding-top:12px;border-top:1px solid #e2e8f0}.pe-order-tracking h4{margin:0 0 8px;font-size:13px}.pe-order-track-row{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:8px;padding:7px 0;border-top:1px dashed #e2e8f0;font-size:11px}.pe-order-track-row:first-of-type{border-top:0}.pe-order-track-row a{text-decoration:none;font-weight:900;color:#2563eb}
@media(max-width:760px){.pe-duty-grid{grid-template-columns:1fr 1fr 1fr}.pe-duty-admin-summary{grid-template-columns:1fr 1fr}.pe-duty-admin-grid{grid-template-columns:1fr}.pe-duty-person>summary{grid-template-columns:38px minmax(0,1fr) auto}.pe-duty-avatar{width:36px;height:36px}.pe-duty-times{grid-template-columns:1fr 1fr 1fr}.pe-duty-event{grid-template-columns:58px minmax(0,1fr) auto}}

/* ===== v2144ExecutiveDashboardCss ===== */
#admin.v21-admin .exec-dashboard.v2112-dashboard{background:transparent!important;color:#111827!important;border-radius:0!important;padding:0!important;margin:0!important;box-shadow:none!important;overflow:visible!important}
#admin.v21-admin .exec-dashboard.v2112-dashboard>*:not(#v2144Dashboard){display:none!important}
#v2144Dashboard{display:block!important;width:100%;padding:2px 0 28px;color:#111827;font-family:inherit}
.v2144-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 18px}
.v2144-date-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.v2144-date-title h2{font-size:25px;line-height:1.15;margin:0;font-weight:900;color:#111827}
.v2144-live{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:999px;background:#ecfdf3;border:1px solid #bbf7d0;color:#16803c;font-size:10px;font-weight:900;letter-spacing:.035em}
.v2144-live:before{content:"";width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.13)}
.v2144-note{margin-top:6px;font-size:11px;color:#7b8491}
.v2144-date-input{min-width:168px;height:40px;margin:0!important;padding:0 12px!important;background:#fff!important;border:1px solid #d9dee6!important;border-radius:8px!important;color:#374151!important;font:inherit!important;font-size:12px!important}
.v2144-kpis{display:grid;grid-template-columns:1.15fr 1.15fr .8fr;gap:14px;margin-bottom:14px}
.v2144-kpi{appearance:none;text-align:left;min-height:116px;padding:20px 22px;border:1px solid #e4e8ee;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.025);color:#111827}
button.v2144-kpi{cursor:pointer}
button.v2144-kpi:hover{border-color:#cfd5dd;box-shadow:0 4px 14px rgba(15,23,42,.05)}
.v2144-kpi-label{display:block;font-size:12px;color:#697386;margin-bottom:9px;font-weight:700}
.v2144-kpi-value{display:flex;align-items:baseline;gap:7px;line-height:1}
.v2144-kpi-value b{font-size:34px;font-weight:500;letter-spacing:-.03em;color:#172033}
.v2144-kpi-value small{font-size:12px;color:#6b7280;font-weight:600}
.v2144-kpi-sub{margin-top:10px;font-size:11px;color:#687386;line-height:1.55}
.v2144-kpi-sub b{color:#111827}
.v2144-main{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(290px,.92fr);gap:14px;align-items:stretch}
.v2144-panel{background:#fff;border:1px solid #e4e8ee;border-radius:12px;box-shadow:0 1px 2px rgba(15,23,42,.025);overflow:hidden}
.v2144-sales{padding:20px 20px 14px;min-height:430px;display:flex;flex-direction:column}
.v2144-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:12px}
.v2144-panel-title{font-size:13px;font-weight:900;color:#111827}
.v2144-panel-sub{font-size:10px;color:#8a93a1;margin-top:4px}
.v2144-sales-summary{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.v2144-sales-amount{font-size:28px;font-weight:900;color:#111827;letter-spacing:-.025em}
.v2144-sales-orders{font-size:11px;color:#697386}
.v2144-chart{position:relative;flex:1;min-height:305px;margin-top:4px}
.v2144-chart svg{display:block;width:100%;height:305px;overflow:visible}
.v2144-chart-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#9aa2ae;font-size:12px;pointer-events:none}
.v2144-right{display:grid;grid-template-rows:auto 1fr;gap:14px;min-width:0}
.v2144-today{padding:20px}
.v2144-today-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}
.v2144-today-item span{display:block;font-size:10px;color:#7b8491;margin-bottom:7px}
.v2144-today-item b{display:block;font-size:24px;color:#111827;line-height:1;font-weight:800}
.v2144-status{padding:20px;min-height:292px}
.v2144-status-body{display:grid;grid-template-columns:142px minmax(0,1fr);gap:16px;align-items:center;margin-top:16px}
.v2144-donut-wrap{position:relative;width:142px;height:142px;margin:auto}
.v2144-donut{position:absolute;inset:0;border-radius:50%;background:#e8ebf0}
.v2144-donut:after{content:"";position:absolute;inset:30px;border-radius:50%;background:#fff}
.v2144-donut-center{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
.v2144-donut-center b{font-size:28px;line-height:1;font-weight:900;color:#111827}
.v2144-donut-center span{font-size:9px;color:#7b8491;margin-top:4px}
.v2144-legend{display:grid;gap:8px;min-width:0}
.v2144-legend-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:7px;font-size:10px;color:#505966}
.v2144-legend-row i{width:8px;height:8px;border-radius:2px;display:block}
.v2144-legend-row b{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2144-legend-row span{font-variant-numeric:tabular-nums;color:#737d8b;white-space:nowrap}
.v2144-footnote{margin-top:15px;padding-top:11px;border-top:1px solid #eef1f4;font-size:9px;color:#98a0aa;line-height:1.45}
.v2155-job-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px}
.v2155-job-card{background:#fff;border:1px solid #e4e8ee;border-radius:12px;padding:15px 17px;min-height:88px;box-sizing:border-box}
.v2155-job-card span{display:block;font-size:11px;color:#697386;font-weight:800;margin-bottom:8px}
.v2155-job-card b{display:block;font-size:28px;line-height:1;color:#172033;font-weight:900}
.v2155-job-card small{display:block;margin-top:8px;font-size:10px;color:#7b8491;line-height:1.45;font-weight:700}
.v2155-job-card.replacement{border-color:#d9ccff;background:#fbf9ff}
.v2155-job-card.replacement b{color:#6d28d9}
.v2155-job-card.waiting{border-color:#fde3a7;background:#fffdf7}
.v2155-job-card.waiting b{color:#b45309}
.v2155-chart-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:7px;font-size:10px;color:#667085;font-weight:800}
.v2155-chart-legend span{display:inline-flex;align-items:center;gap:5px}
.v2155-chart-legend i{width:9px;height:9px;border-radius:3px;display:inline-block}
.v2155-chart-legend .urgent{background:#f59e0b}.v2155-chart-legend .replacement{background:#7c3aed}
.v2155-chart-total{font-size:28px;font-weight:900;color:#111827;letter-spacing:-.025em}
.v2155-chart-orders{font-size:11px;color:#697386;font-weight:700}
@media(max-width:900px){.v2155-job-summary{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.v2155-job-summary{grid-template-columns:1fr}.v2155-job-card{min-height:82px}}
@media(max-width:1050px){.v2144-main{grid-template-columns:minmax(0,1.65fr) minmax(270px,.9fr)}.v2144-status-body{grid-template-columns:122px minmax(0,1fr)}.v2144-donut-wrap{width:122px;height:122px}.v2144-donut:after{inset:26px}}
@media(max-width:820px){.v2144-kpis{grid-template-columns:1fr 1fr}.v2144-kpi:last-child{grid-column:1/-1}.v2144-main{grid-template-columns:1fr}.v2144-right{grid-template-columns:1fr 1fr;grid-template-rows:auto}.v2144-sales{min-height:390px}}
@media(max-width:620px){#v2144Dashboard{padding-bottom:18px}.v2144-top{flex-direction:column}.v2144-date-input{width:100%}.v2144-kpis{grid-template-columns:1fr}.v2144-kpi:last-child{grid-column:auto}.v2144-kpi{min-height:100px;padding:16px 17px}.v2144-kpi-value b{font-size:30px}.v2144-right{grid-template-columns:1fr}.v2144-status-body{grid-template-columns:125px minmax(0,1fr)}.v2144-sales{padding:16px 12px 10px;min-height:360px}.v2144-chart svg{height:270px}.v2144-today,.v2144-status{padding:16px}}

/* ===== v211446UnifiedMessengerCss ===== */
#peDutyAdminBoard.v2146-duty-summary{margin:0 0 12px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.v2146-summary-line{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}
.v2146-summary-item{padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #e5e7eb}.v2146-summary-item small{display:block;color:#64748b;font-size:10px}.v2146-summary-item b{display:block;margin-top:2px;font-size:18px;color:#111827}.v2146-summary-note{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:6px 2px 0;color:#64748b;font-size:10px}.v2146-summary-note button{padding:5px 8px!important;font-size:10px!important;border-radius:8px!important;background:#fff!important;color:#334155!important;border:1px solid #cbd5e1!important}
.v2146-duty-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap;background:#e2e8f0;color:#475569}.v2146-duty-pill.live{background:#dcfce7;color:#166534}.v2146-duty-pill.busy{background:#dbeafe;color:#1d4ed8}.v2146-duty-pill.wait{background:#fef3c7;color:#92400e}.v2146-duty-pill.ended{background:#f1f5f9;color:#475569}.v2146-duty-pill.inferred{background:#fff7ed;color:#9a3412}.v2146-duty-dot{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}
.v2146-cell-main{font-size:12px;font-weight:900;color:#111827}.v2146-cell-sub{font-size:9.5px;color:#64748b;margin-top:3px;line-height:1.4}.v2146-map-link{font-size:10px;font-weight:900;color:#2563eb;text-decoration:none;white-space:nowrap}.v2146-no-gps{font-size:10px;color:#94a3b8}.v2146-current-job{font-size:10px;font-weight:850;color:#334155}.v2146-start-inferred{color:#9a3412!important}.v2146-table-note{font-size:9px;color:#9a3412;margin-top:2px}
#v2106MessengerPage .v2106-table{min-width:1120px}#v2106MessengerPage .v2106-table th,#v2106MessengerPage .v2106-table td{vertical-align:middle}
@media(max-width:760px){.v2146-summary-line{grid-template-columns:1fr 1fr}.v2146-summary-note{align-items:flex-start;flex-direction:column}}

/* ===== v211447UnifiedCustomerRouteCss ===== */
body.pe-customer-route #loginTabStaff{display:none!important}
body.pe-customer-route #staffLoginPanel{display:none!important}
body.pe-customer-route .login-tabs{grid-template-columns:1fr!important}

/* ===== v211450AdminUiMessengerGuardCss ===== */
/* Admin typography standard: one readable size, normal weight across every Admin page. */
#admin#admin.v21-admin,
#admin#admin.v21-admin *{
  font-size:16px!important;
  font-weight:400!important;
}
/* Keep graphical avatar/icon dimensions independent from the text rule. */
#admin#admin.v21-admin .v21-side-brand img{width:44px!important;height:44px!important}
#admin#admin.v21-admin .v21-admin-avatar{width:28px!important;height:28px!important}
#admin#admin.v21-admin .v2106-avatar{width:44px!important;height:44px!important}
#admin#admin.v21-admin .quick-messenger-avatar{width:16px!important;height:16px!important}
#admin#admin.v21-admin .v2140-mgr-avatar{width:42px!important;height:42px!important}
/* Messenger list uses the page's main vertical scroll only. Horizontal scroll remains available on narrow screens. */
#v2106MessengerPage .v2106-table-wrap{
  max-height:none!important;
  min-height:0!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
}
#v2106MessengerPage .v2106-table th{position:static!important}
#admin#admin.v21-admin .v2106-pagination{flex-wrap:wrap!important;justify-content:flex-end!important;gap:8px!important}
#admin#admin.v21-admin .v2149-page-size{margin-right:auto!important;display:inline-flex!important;align-items:center!important;gap:6px!important;white-space:nowrap!important}
#admin#admin.v21-admin .v2149-page-size select{width:auto!important;min-width:66px!important;height:34px!important;margin:0!important;padding:0 26px 0 8px!important}
#admin#admin.v21-admin .v2106-page-btn:disabled{opacity:.4!important;cursor:not-allowed!important}
/* Existing duplicate codes are surfaced without deleting historical records. */
#admin#admin.v21-admin .v2149-duplicate-code-warning{margin:0 0 12px!important;padding:10px 12px!important;border:1px solid #f3c7c3!important;border-radius:10px!important;background:#fff7f6!important;color:#8a2f27!important}
/* Messenger mobile profile photo. */
#rider .rider-avatar{overflow:hidden}
#rider .rider-avatar img{width:46px!important;height:46px!important;border-radius:50%!important;object-fit:cover!important;display:block!important}

/* ===== v2150AdminQuickOrderCss ===== */
#admin.v21-admin.v21-view-create #jobComposer{max-width:1180px!important;margin:0 auto!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
#admin.v21-admin.v21-view-create #jobComposer>*:not(#v2150QuickAdminComposer){display:none!important}
#v2150QuickAdminComposer{display:block!important;font-family:"Noto Sans Thai","Segoe UI",Tahoma,sans-serif;color:#171717}
#v2150QuickAdminComposer *{box-sizing:border-box}
.v2150-shell{display:grid;gap:14px}
.v2150-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;background:#090909;color:#fff;border-radius:20px;box-shadow:0 14px 34px rgba(0,0,0,.12)}
.v2150-head-left{display:flex;align-items:center;gap:13px;min-width:0}.v2150-mark{width:46px;height:46px;border-radius:14px;background:linear-gradient(145deg,#d8aa59,#f0cf8f);display:grid;place-items:center;color:#090909;font-size:25px;font-weight:900;flex:0 0 auto}
.v2150-head h2{margin:0;font-size:24px;font-weight:700;line-height:1.25}.v2150-head p{margin:4px 0 0;color:#c7c7c7;font-size:13px}.v2150-reset{border:1px solid #4b4b4b!important;background:#171717!important;color:#fff!important;border-radius:12px!important;padding:10px 14px!important;font-weight:600!important;white-space:nowrap}
.v2150-card{background:#fff;border:1px solid #e7e7e7;border-radius:18px;padding:18px 20px;box-shadow:0 8px 24px rgba(0,0,0,.035)}
.v2150-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.v2150-card-title h3{margin:0;font-size:17px;font-weight:650}.v2150-step{width:28px;height:28px;border-radius:9px;background:#f2e3c4;color:#6f4b16;display:inline-grid;place-items:center;margin-right:8px;font-weight:800;font-size:13px}.v2150-hint{font-size:12px;color:#7b7f86;font-weight:400}
.v2150-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v2150-grid.three{grid-template-columns:1.2fr .8fr .8fr}.v2150-full{grid-column:1/-1}
#v2150QuickAdminComposer label{display:block;font-size:12px;color:#646a73;margin:0 0 6px;font-weight:600}
#v2150QuickAdminComposer input,#v2150QuickAdminComposer select,#v2150QuickAdminComposer textarea{width:100%;min-height:44px;border:1px solid #dcdfe4;border-radius:12px;background:#fff;color:#171717;padding:10px 12px;font:inherit;font-size:14px;outline:none;box-shadow:none}
#v2150QuickAdminComposer textarea{min-height:78px;resize:vertical}#v2150QuickAdminComposer input:focus,#v2150QuickAdminComposer select:focus,#v2150QuickAdminComposer textarea:focus{border-color:#c99642;box-shadow:0 0 0 3px rgba(201,150,66,.12)}
.v2150-contact-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;padding:11px 12px;border-radius:12px;background:#f8f8f8;border:1px solid #ededed}.v2150-contact-strip div{font-size:12px;color:#72767d}.v2150-contact-strip b{display:block;color:#252525;font-size:13px;margin-top:2px;font-weight:600}
.v2150-route-list{display:grid;gap:10px}.v2150-stop{border:1px solid #e6e7ea;border-radius:14px;padding:12px;background:#fcfcfc}.v2150-stop-main{display:grid;grid-template-columns:42px minmax(0,1fr) 150px 36px;gap:9px;align-items:end}.v2150-pin{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;font-weight:800;margin-bottom:5px}.v2150-stop:first-child .v2150-pin{background:#c9953f}.v2150-remove{height:44px!important;min-height:44px!important;border:1px solid #e1e1e1!important;background:#fff!important;color:#777!important;border-radius:11px!important;padding:0!important;font-size:18px!important}
.v2150-stop details{margin-top:9px;border-top:1px dashed #dedede;padding-top:9px}.v2150-stop summary{cursor:pointer;color:#686d74;font-size:12px;font-weight:600;list-style:none}.v2150-stop summary::-webkit-details-marker{display:none}.v2150-stop-extra{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:9px}.v2150-stop-extra .wide{grid-column:1/-1}
.v2150-add-stop{margin-top:10px!important;width:100%!important;background:#fff!important;color:#222!important;border:1px dashed #c7c7c7!important;border-radius:12px!important;padding:11px!important;font-weight:600!important}
.v2150-choice-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v2150-choice{border:1px solid #dedede;background:#fff;border-radius:14px;padding:14px 15px;cursor:pointer;text-align:left;transition:.15s}.v2150-choice:hover{border-color:#c9a565}.v2150-choice.active{border:2px solid #111;padding:13px 14px;background:#fbf7ef}.v2150-choice b{display:block;font-size:15px;font-weight:650}.v2150-choice small{display:block;color:#777;margin-top:3px;font-size:12px}.v2150-choice .ico{font-size:21px;margin-right:6px}
.v2150-replacement{margin-top:12px;padding:12px;border-radius:13px;background:#f8f8f8;border:1px solid #ededed}.v2150-hidden{display:none!important}
.v2150-assign-line{display:grid;grid-template-columns:230px minmax(0,1fr);gap:12px;align-items:end}.v2150-status{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700;background:#fff3dd;color:#8a5a08;border:1px solid #efd49e}.v2150-status.assigned{background:#eef7ef;color:#28723a;border-color:#bfe0c5}.v2150-dot{width:8px;height:8px;border-radius:50%;background:currentColor}
.v2150-addon-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.v2150-addon{display:flex;align-items:center;gap:9px;border:1px solid #e2e2e2;border-radius:12px;padding:11px 12px;background:#fff;cursor:pointer;font-size:13px}.v2150-addon input{width:18px!important;min-height:18px!important;margin:0!important;padding:0!important}
.v2150-payment{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v2150-pay{border:1px solid #dedede;background:#fff;border-radius:14px;padding:15px;text-align:left;cursor:pointer}.v2150-pay.active{border:2px solid #111;padding:14px;background:#fbf7ef}.v2150-pay b{display:block;font-size:15px}.v2150-pay small{display:block;color:#777;margin-top:3px;font-size:12px}
.v2150-summary{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 17px;border-radius:15px;background:#f8f8f8;border:1px solid #e9e9e9}.v2150-summary .route{min-width:0}.v2150-summary .route b{display:block;font-size:13px}.v2150-summary .route span{display:block;color:#747980;font-size:12px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:700px}.v2150-actions{display:grid;grid-template-columns:1fr;gap:10px}.v2150-save{min-height:54px!important;border-radius:14px!important;font-size:15px!important;font-weight:700!important;background:linear-gradient(145deg,#d8aa59,#eac77f)!important;color:#111!important;border:0!important}.v2150-note{font-size:11px;color:#888;text-align:center;margin-top:8px}
.v2150-google-host{position:relative;min-width:0}
.v2150-place-tip{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:11px;color:#667085;line-height:1.45}
.v2150-place-tip .g{font-family:Arial,sans-serif;font-weight:900;color:#2563eb}
.v2150-place-tip.ok{color:#047857;font-weight:600}
#admin .v2105-messenger.v2150-unassigned b{color:#9a6407!important}#admin .v2105-messenger.v2150-unassigned small{display:inline-block!important;margin-top:4px!important;padding:3px 7px!important;border-radius:999px!important;background:#fff0d5!important;color:#93600a!important;font-weight:700!important}
@media(max-width:760px){.v2150-head{padding:16px;border-radius:16px;align-items:flex-start}.v2150-head h2{font-size:20px}.v2150-head p{font-size:12px}.v2150-reset{padding:8px 10px!important}.v2150-card{padding:15px;border-radius:15px}.v2150-grid,.v2150-grid.three,.v2150-choice-row,.v2150-payment,.v2150-actions,.v2150-assign-line,.v2150-addon-row{grid-template-columns:1fr}.v2150-stop-main{grid-template-columns:36px minmax(0,1fr) 34px}.v2150-stop-main .v2150-price{grid-column:2/3}.v2150-stop-main .v2150-remove{grid-column:3;grid-row:1}.v2150-stop-extra{grid-template-columns:1fr}.v2150-stop-extra .wide{grid-column:auto}.v2150-contact-strip{grid-template-columns:1fr}.v2150-summary{align-items:flex-start;flex-direction:column}.v2150-summary .route span{max-width:100%}}


.v2154-kind-card{border-color:#dbc28f;background:linear-gradient(180deg,#fffdf8,#fff)}
.v2154-kind-card .v2150-choice.active{background:#111;color:#fff;border-color:#111}.v2154-kind-card .v2150-choice.active small{color:#d7d7d7}
.v2154-inline-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.v2154-inline-title b{font-size:14px}.v2154-inline-title span{font-size:11px;color:#73777d}
#v2154ReplacementInline{margin-top:14px;background:#fbfaf7;border-color:#eadfc8}
#v2154ReplacementSiteSlot>.v2150-google-host,#v2154ReplacementNoteSlot>.v2150-full{margin-top:0}
#v2154SharedFields{display:none!important}
@media(max-width:760px){.v2154-inline-title{align-items:flex-start;flex-direction:column;gap:3px}}

/* ===== v2156MessengerMobileStyles ===== */
body.v2156-rider-active{margin:0;background:#f3f4f6;overflow-x:hidden}
body.v2156-rider-active .wrap{max-width:none!important;width:100%!important;margin:0!important;padding:0!important;background:#f3f4f6!important}
#rider:not(.hide){max-width:none!important;width:100%!important;min-height:100vh!important;margin:0!important;padding:0 0 calc(84px + env(safe-area-inset-bottom))!important;background:#f3f4f6!important;color:#111!important}
#rider>#v2156RiderShell~.top,
#rider>#v2156RiderShell~.rider-id,
#rider>#v2156RiderShell~#peDutyCard,
#rider>#v2156RiderShell~.card.hero,
#rider>#v2156RiderShell~.summary,
#rider>#v2156RiderShell~.rider-jobs-head,
#rider>#v2156RiderShell~#rjobs{display:none!important}
#rider>#v2156RiderShell~#riderAnnouncementBox{display:none!important}
#rider>#v2156RiderShell~#pePushCard{display:none!important}
#v2156RiderShell{display:block;width:100%;min-height:100vh;background:#f3f4f6;font-family:"Noto Sans Thai","Segoe UI",Tahoma,sans-serif;padding-bottom:calc(86px + env(safe-area-inset-bottom));box-sizing:border-box}
.v2156-app-head{background:#050505;color:#fff;min-height:182px;padding:26px 30px 18px;box-sizing:border-box}
.v2156-logo-row{display:flex;align-items:center;justify-content:center;height:96px}
.v2156-logo-row img{display:block;width:auto;height:74px;max-width:78%;object-fit:contain;object-position:center;border-radius:0;background:#050505;image-rendering:auto}
.v2156-ready-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;font-size:23px;font-weight:900;line-height:1.25;margin-top:4px}
.v2156-ready-left{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2156-ready-left b{font-weight:900}
.v2156-switch{position:relative;width:78px;height:42px;border:0;border-radius:999px;padding:0;background:#b9bec6;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.v2156-switch span{position:absolute;width:36px;height:36px;border-radius:50%;background:#fff;top:3px;left:3px;transition:left .18s ease;box-shadow:0 2px 7px rgba(0,0,0,.25)}
.v2156-switch.on{background:#4ba985}.v2156-switch.on span{left:39px}
.v2156-area-wrap{position:relative;display:flex;justify-content:flex-end;min-width:0}
.v2156-area-wrap select{appearance:none;-webkit-appearance:none;background:transparent;color:#fff;border:0;font:inherit;font-weight:900;max-width:100%;padding:5px 32px 5px 4px;text-align:right;outline:none;cursor:pointer}
.v2156-area-wrap option{color:#111;background:#fff;font-size:16px}
.v2156-area-wrap:after{content:'⌄';position:absolute;right:2px;top:50%;transform:translateY(-58%);font-size:27px;font-weight:900;pointer-events:none}
.v2156-tracking{min-height:44px;background:#e6c078;color:#111;display:flex;align-items:center;justify-content:center;gap:10px;padding:7px 18px;box-sizing:border-box;text-align:center;font-size:17px;font-weight:900}
.v2156-tracking small{font-size:13px;font-weight:800;opacity:.78}
.v2156-screen{display:none;min-height:calc(100vh - 310px);background:#f3f4f6}.v2156-screen.active{display:block}
.v2156-home-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:24px 28px 18px;font-size:23px;font-weight:900;background:#f3f4f6}
.v2156-home-time{text-align:right;white-space:nowrap;font-size:20px}
.v2156-list{display:grid;gap:18px;padding:4px 26px 34px;max-width:760px;margin:0 auto;box-sizing:border-box}
.v2156-empty{min-height:54vh;display:grid;place-items:center;text-align:center;color:#202124;font-size:23px;font-weight:900;padding:24px;box-sizing:border-box}
.v2156-history-head{background:#050505;color:#fff;height:130px;display:flex;align-items:flex-end;justify-content:center;padding:0 18px 28px;font-size:27px;font-weight:900;box-sizing:border-box}
.v2156-history-tabs{display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;background:#fff;box-shadow:0 5px 12px rgba(0,0,0,.18);position:sticky;top:0;z-index:20}
.v2156-history-tabs::-webkit-scrollbar{display:none}
.v2156-history-tab{flex:0 0 auto;min-width:154px;height:72px;padding:0 20px;border:0;border-bottom:6px solid transparent;background:#fff;color:#050505;font-size:22px;font-weight:900;white-space:nowrap;cursor:pointer}
.v2156-history-tab.active{border-bottom-color:#050505}
.v2156-history-list{padding-top:30px}
.v2156-job-card{background:#fff;border:1px solid #d4d7dc;border-radius:17px;overflow:hidden;box-shadow:0 3px 9px rgba(15,23,42,.07);cursor:pointer}
.v2156-job-top{min-height:68px;background:#020202;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;box-sizing:border-box;font-size:20px;font-weight:900}
.v2156-job-top .accent{color:#ef4444}.v2156-job-top .gold{color:#e7c37d}
.v2156-job-top-right{text-align:right;white-space:nowrap;font-size:19px}
.v2156-job-body{padding:19px 20px 16px}
.v2156-route-line{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;align-items:center;margin:0 0 14px}
.v2156-pin{font-size:23px;color:#c6c9ce;line-height:1}.v2156-route-text{font-size:22px;font-weight:900;color:#5d6270;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2156-contact{margin:-3px 0 15px 36px;font-size:14px;color:#6b7280;font-weight:800;line-height:1.55}
.v2156-contact a{color:#374151;text-decoration:none;font-weight:900}
.v2156-job-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:1px solid #e3e5e8;padding-top:15px}
.v2156-job-card.replacement .v2156-job-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.v2156-job-card.replacement.paid-replacement .v2156-job-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.v2163-home-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:10px;margin-top:16px;padding-top:15px;border-top:1px solid #e3e5e8}.v2163-home-actions button{min-height:48px;border-radius:12px;font-size:18px;font-weight:900;cursor:pointer}.v2163-detail-btn{background:#fff;color:#111;border:1px solid #cfd3d8}.v2163-accept-btn{background:#111;color:#fff;border:1px solid #111;box-shadow:0 3px 8px rgba(0,0,0,.12)}.v2163-accept-btn:active{transform:translateY(1px)}
.v2156-stat{text-align:left;min-width:0}.v2156-stat:nth-child(2){text-align:center}.v2156-stat:last-child{text-align:right}
.v2156-stat small{display:block;color:#9a9da5;font-size:16px;font-weight:900;white-space:nowrap}.v2156-stat b{display:block;margin-top:4px;color:#050505;font-size:24px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2156-stat.money b{color:#20a77d}
.v2156-job-id{padding:8px 20px 12px;color:#9ca3af;font-size:11px;font-weight:800;text-align:right}
.v2156-generic-head{background:#050505;color:#fff;height:130px;display:flex;align-items:flex-end;justify-content:center;padding:0 18px 28px;font-size:27px;font-weight:900;box-sizing:border-box}
.v2156-generic-body{max-width:760px;margin:0 auto;padding:26px 24px 34px;box-sizing:border-box}
.v2156-wallet-card{background:#fff;border:1px solid #e0e3e7;border-radius:18px;padding:22px;margin-bottom:14px}.v2156-wallet-card small{display:block;color:#7b818b;font-size:14px;font-weight:800}.v2156-wallet-card b{display:block;font-size:34px;margin-top:6px}.v2156-wallet-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.v2156-wallet-mini{background:#fff;border:1px solid #e0e3e7;border-radius:16px;padding:18px}.v2156-wallet-mini small{display:block;color:#7b818b;font-weight:800}.v2156-wallet-mini b{display:block;margin-top:6px;font-size:25px}
.v2156-info-note{margin-top:14px;padding:14px 16px;background:#fff7e6;border:1px solid #ead39b;border-radius:14px;color:#72571b;font-size:13px;font-weight:800;line-height:1.6}
#v2156MessagesSlot #riderAnnouncementBox{display:block!important;margin:0!important}
#v2156SettingsSlot #pePushCard,#v2156SettingsSlot #peDutyCard{display:block!important;margin:0 0 14px!important}
.v2156-settings-profile{background:#fff;border:1px solid #e0e3e7;border-radius:17px;padding:18px;margin-bottom:14px}.v2156-settings-profile b{font-size:19px}.v2156-settings-profile small{display:block;color:#7b818b;margin-top:4px;font-weight:700}
.v2156-settings-row{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff;border:1px solid #e0e3e7;border-radius:15px;padding:16px;margin-bottom:10px;font-weight:900}.v2156-settings-row button{border:0;border-radius:11px;background:#111;color:#fff;padding:10px 13px;font-weight:900}
.v2156-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:8000;height:calc(82px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid #e1e3e6;display:grid;grid-template-columns:repeat(5,1fr);box-shadow:0 -3px 12px rgba(15,23,42,.04)}
.v2156-nav-btn{border:0;background:transparent;color:#a0a3a8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:13px;font-weight:900;min-width:0;padding:7px 2px;cursor:pointer}
.v2156-nav-btn .ico{font-size:30px;line-height:1}.v2156-nav-btn.active{color:#050505}.v2156-nav-btn span:last-child{white-space:nowrap;font-size:12px}
.v2156-message-empty{min-height:40vh;display:grid;place-items:center;text-align:center;font-size:20px;font-weight:900;color:#333}
@media(max-width:620px){
 .v2156-app-head{min-height:170px;padding:20px 18px 15px}.v2156-logo-row{height:88px}.v2156-logo-row img{height:66px;max-width:86%}
 .v2156-ready-row{grid-template-columns:minmax(0,1fr) 66px minmax(0,1fr);gap:8px;font-size:19px}.v2156-switch{width:66px;height:38px}.v2156-switch span{width:32px;height:32px}.v2156-switch.on span{left:31px}.v2156-area-wrap:after{font-size:24px}
 .v2156-tracking{font-size:15px;gap:6px;flex-wrap:wrap}.v2156-tracking small{font-size:11px}
 .v2156-home-head{padding:22px 18px 14px;font-size:20px}.v2156-home-time{font-size:18px}.v2156-list{padding:5px 16px 28px;gap:15px}
 .v2156-history-head,.v2156-generic-head{height:118px;font-size:25px;padding-bottom:24px}.v2156-history-tab{min-width:145px;height:70px;font-size:20px;padding:0 16px}
 .v2156-job-top{font-size:18px;padding:14px 16px}.v2156-job-top-right{font-size:17px}.v2156-job-body{padding:17px 16px 14px}.v2156-route-text{font-size:20px}.v2156-stat small{font-size:14px}.v2156-stat b{font-size:22px}.v2156-job-id{padding-right:16px}
 .v2156-generic-body{padding:22px 16px 30px}.v2156-nav-btn .ico{font-size:27px}.v2156-nav-btn span:last-child{font-size:11px}
}
@media(max-width:390px){.v2156-ready-row{font-size:16px}.v2156-home-head{font-size:18px}.v2156-home-time{font-size:16px}.v2156-job-top{font-size:16px}.v2156-job-top-right{font-size:15px}.v2156-route-text{font-size:18px}.v2156-stat small{font-size:12px}.v2156-stat b{font-size:19px}.v2156-history-tab{min-width:132px;font-size:18px}.v2156-nav-btn span:last-child{font-size:10px}}

/* ===== v2158AdminCleanups ===== */
/* Messenger: make readiness easier to scan without changing the table columns. */
#v2106MessengerPage .v2146-duty-pill.live,
#v2106MessengerPage .v2146-duty-pill.busy{font-weight:900!important}
/* Report: historical job rows stay hidden until Admin asks to see them. */
.v2158-report-history{margin-top:18px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;overflow:hidden}
.v2158-report-history>summary{list-style:none;cursor:pointer;padding:13px 15px;font-size:13px;font-weight:900;color:#34393f;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fafbfc}
.v2158-report-history>summary::-webkit-details-marker{display:none}
.v2158-report-history>summary span{font-size:10px;font-weight:700;color:#8b9198}
.v2158-report-history>summary:after{content:'＋';font-size:16px;color:#6b7280;margin-left:auto}
.v2158-report-history[open]>summary:after{content:'−'}
.v2158-report-history #reportHistory{margin:0!important;border:0!important;border-top:1px solid #eef0f2!important;border-radius:0!important}

/* ===== v2160AdminCreateTypography ===== */
/* Keep the current compact one-screen layout. Enlarge text only. */
#admin.v21-admin.v21-view-create .v21-page-intro h1{font-size:20px!important;line-height:1.2!important}
#admin.v21-admin.v21-view-create .v21-page-intro p{font-size:14px!important;line-height:1.35!important}
#v2150QuickAdminComposer{font-size:15px!important;line-height:1.3!important}
#v2150QuickAdminComposer .v2150-card-title h3{font-size:19px!important;line-height:1.2!important}
#v2150QuickAdminComposer .v2150-step{font-size:15px!important}
#v2150QuickAdminComposer .v2150-hint{font-size:14px!important;line-height:1.3!important}
#v2150QuickAdminComposer label{font-size:15px!important;line-height:1.25!important}
#v2150QuickAdminComposer input,
#v2150QuickAdminComposer select,
#v2150QuickAdminComposer textarea{font-size:16px!important;line-height:1.25!important}
#v2150QuickAdminComposer input::placeholder,
#v2150QuickAdminComposer textarea::placeholder{font-size:15px!important}
#v2150QuickAdminComposer .v2150-choice b{font-size:16px!important;line-height:1.25!important}
#v2150QuickAdminComposer .v2150-choice small{font-size:14px!important;line-height:1.3!important}
#v2150QuickAdminComposer .v2154-inline-title b{font-size:16px!important}
#v2150QuickAdminComposer .v2154-inline-title span{font-size:14px!important}
#v2150QuickAdminComposer .v2150-contact-strip div{font-size:14px!important}
#v2150QuickAdminComposer .v2150-contact-strip b{font-size:15px!important}
#v2150QuickAdminComposer .v2150-stop summary{font-size:14px!important}
#v2150QuickAdminComposer .v2150-addon{font-size:15px!important}
#v2150QuickAdminComposer .v2150-status{font-size:14px!important}
#v2150QuickAdminComposer .v2150-pay b{font-size:16px!important;line-height:1.25!important}
#v2150QuickAdminComposer .v2150-pay small{font-size:14px!important;line-height:1.3!important}
#v2150QuickAdminComposer .v2150-summary .route b{font-size:15px!important;line-height:1.25!important}
#v2150QuickAdminComposer .v2150-summary .route span{font-size:14.5px!important;line-height:1.3!important}
#v2150QuickAdminComposer .v2150-save{font-size:17px!important;line-height:1.2!important}
#v2150QuickAdminComposer .v2150-note{font-size:13px!important;line-height:1.3!important}
#v2150QuickAdminComposer .v2150-place-tip{font-size:13px!important;line-height:1.3!important}
/* Do not enlarge vertical controls; preserve the current one-screen composition. */

/* ===== v2161AdminCreateOneScreenCss ===== */
@media (min-width:1100px){
  /* Use the available desktop viewport more efficiently without shrinking the readable type. */
  #admin.v21-admin.v21-view-create{padding-top:78px!important;padding-bottom:18px!important}
  #admin.v21-admin.v21-view-create>.v21-page-intro{margin-bottom:8px!important;align-items:center!important}
  #admin.v21-admin.v21-view-create>.v21-page-intro p{margin-top:2px!important}
  #admin.v21-admin.v21-view-create #jobComposer{max-width:1280px!important;width:100%!important}

  #v2150QuickAdminComposer .v2150-shell{
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    gap:8px 10px!important;
    align-items:start!important;
  }
  /* Top row: type / assignment / payment. */
  #v2154KindCard{grid-column:1 / span 6!important;grid-row:1!important}
  #v2150QuickAdminComposer .v2150-shell>section:has(#v2150AssignStatus){grid-column:7 / span 3!important;grid-row:1!important}
  #v2150QuickAdminComposer .v2150-shell>section:has(#v2150PayCash){grid-column:10 / span 3!important;grid-row:1!important}

  /* Main customer block. */
  #v2154CustomerCard{grid-column:1 / span 7!important;grid-row:2!important}

  /* Default/no-type state: summary and save live to the right of customer data. */
  #v2150QuickAdminComposer .v2150-summary{grid-column:8 / span 5!important;grid-row:2!important;align-self:start!important}
  #v2150QuickAdminComposer .v2150-shell>div:last-child{grid-column:8 / span 5!important;grid-row:3!important;align-self:start!important}

  /* Urgent job: customer and route sit side by side; bottom row holds add-ons, summary and save. */
  #v2150QuickAdminComposer .v2150-shell:has(#v2154UrgentRouteCard:not(.v2150-hidden)) #v2154CustomerCard{grid-column:1 / span 6!important;grid-row:2!important}
  #v2150QuickAdminComposer .v2150-shell:has(#v2154UrgentRouteCard:not(.v2150-hidden)) #v2154UrgentRouteCard{grid-column:7 / span 6!important;grid-row:2!important}
  #v2150QuickAdminComposer .v2150-shell:has(#v2154UrgentRouteCard:not(.v2150-hidden)) #v2150AddonCard{grid-column:1 / span 4!important;grid-row:3!important}
  #v2150QuickAdminComposer .v2150-shell:has(#v2154UrgentRouteCard:not(.v2150-hidden)) .v2150-summary{grid-column:5 / span 4!important;grid-row:3!important}
  #v2150QuickAdminComposer .v2150-shell:has(#v2154UrgentRouteCard:not(.v2150-hidden))>div:last-child{grid-column:9 / span 4!important;grid-row:3!important}

  /* Replacement job: customer block carries replacement details; summary/save stay on the right. */
  #v2150QuickAdminComposer .v2150-shell:has(#v2154ReplacementInline:not(.v2150-hidden)) #v2154CustomerCard{grid-column:1 / span 8!important;grid-row:2 / span 2!important}
  #v2150QuickAdminComposer .v2150-shell:has(#v2154ReplacementInline:not(.v2150-hidden)) .v2150-summary{grid-column:9 / span 4!important;grid-row:2!important}
  #v2150QuickAdminComposer .v2150-shell:has(#v2154ReplacementInline:not(.v2150-hidden))>div:last-child{grid-column:9 / span 4!important;grid-row:3!important}

  /* Vertical-density tuning — keep the larger font sizes, reduce only empty space/control height. */
  #v2150QuickAdminComposer .v2150-card{padding:9px 12px!important;border-radius:14px!important}
  #v2150QuickAdminComposer .v2150-card-title{margin-bottom:6px!important;gap:8px!important;min-height:26px!important}
  #v2150QuickAdminComposer .v2150-step{width:24px!important;height:24px!important;border-radius:7px!important;margin-right:5px!important}
  #v2150QuickAdminComposer .v2150-grid{gap:6px 9px!important}
  #v2150QuickAdminComposer label{margin-bottom:2px!important}
  #v2150QuickAdminComposer input,
  #v2150QuickAdminComposer select,
  #v2150QuickAdminComposer textarea{min-height:36px!important;padding:6px 9px!important;border-radius:9px!important}
  #v2150QuickAdminComposer textarea{min-height:48px!important;max-height:62px!important}
  #v2150QuickAdminComposer .v2150-choice-row{gap:7px!important}
  #v2150QuickAdminComposer .v2150-choice{padding:7px 9px!important;border-radius:10px!important;min-height:60px!important}
  #v2150QuickAdminComposer .v2150-choice.active{padding:6px 8px!important}
  #v2150QuickAdminComposer .v2150-choice .ico{font-size:18px!important;margin-right:4px!important}
  #v2150QuickAdminComposer .v2150-choice small{margin-top:1px!important}
  #v2150QuickAdminComposer .v2150-hint{margin-top:0!important}
  #v2150QuickAdminComposer .v2150-place-tip{margin-top:2px!important}
  #v2150QuickAdminComposer .v2150-contact-strip{gap:7px!important;margin-top:6px!important;padding:7px 9px!important}
  #v2150QuickAdminComposer .v2150-contact-strip b{margin-top:0!important}
  #v2150QuickAdminComposer .v2150-replacement{margin-top:6px!important;padding:7px 9px!important;border-radius:10px!important}
  #v2150QuickAdminComposer .v2154-inline-title{margin-bottom:5px!important}
  #v2150QuickAdminComposer #v2154ReplacementInline .v2150-grid{margin-top:6px!important}
  #v2150QuickAdminComposer #v2154ReplacementNoteSlot{margin-top:6px!important}
  #v2150QuickAdminComposer .v2150-assign-line{grid-template-columns:1fr!important;gap:5px!important}
  #v2150QuickAdminComposer .v2150-status{padding:4px 7px!important}
  #v2150QuickAdminComposer .v2150-payment{gap:6px!important;grid-template-columns:1fr!important}
  #v2150QuickAdminComposer .v2150-pay{padding:6px 8px!important;border-radius:10px!important;min-height:48px!important}
  #v2150QuickAdminComposer .v2150-pay.active{padding:5px 7px!important}
  #v2150QuickAdminComposer .v2150-pay small{margin-top:1px!important}
  #v2150QuickAdminComposer .v2150-route-list{gap:6px!important}
  #v2150QuickAdminComposer .v2150-stop{padding:7px!important;border-radius:10px!important}
  #v2150QuickAdminComposer .v2150-stop-main{grid-template-columns:34px minmax(0,1fr) 118px 32px!important;gap:6px!important}
  #v2150QuickAdminComposer .v2150-pin{width:30px!important;height:30px!important;margin-bottom:2px!important}
  #v2150QuickAdminComposer .v2150-remove{height:36px!important;min-height:36px!important;border-radius:8px!important}
  #v2150QuickAdminComposer .v2150-stop details{margin-top:5px!important;padding-top:5px!important}
  #v2150QuickAdminComposer .v2150-stop-extra{gap:5px!important;margin-top:5px!important}
  #v2150QuickAdminComposer .v2150-add-stop{margin-top:5px!important;padding:6px 9px!important;border-radius:9px!important}
  #v2150QuickAdminComposer .v2150-addon-row{gap:5px!important}
  #v2150QuickAdminComposer .v2150-addon{padding:7px 8px!important;border-radius:9px!important;gap:6px!important;min-height:38px!important}
  #v2150QuickAdminComposer .v2150-summary{padding:9px 11px!important;border-radius:11px!important;min-height:58px!important}
  #v2150QuickAdminComposer .v2150-summary .route span{margin-top:1px!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
  #v2150QuickAdminComposer .v2150-actions{gap:5px!important}
  #v2150QuickAdminComposer .v2150-save{min-height:42px!important;border-radius:10px!important;padding:7px 10px!important}
  #v2150QuickAdminComposer .v2150-note{margin-top:3px!important;line-height:1.2!important}
}

/* On shorter desktop viewports, shave only decorative space; do not reduce font size. */
@media (min-width:1100px) and (max-height:760px){
  #admin.v21-admin.v21-view-create{padding-top:72px!important}
  #admin.v21-admin.v21-view-create>.v21-page-intro{margin-bottom:5px!important}
  #admin.v21-admin.v21-view-create>.v21-page-intro p{display:none!important}
  #v2150QuickAdminComposer .v2150-card{padding-top:7px!important;padding-bottom:7px!important}
  #v2150QuickAdminComposer .v2150-card-title{margin-bottom:4px!important}
  #v2150QuickAdminComposer input,
  #v2150QuickAdminComposer select{min-height:34px!important;padding-top:5px!important;padding-bottom:5px!important}
  #v2150QuickAdminComposer .v2150-choice{min-height:54px!important}
  #v2150QuickAdminComposer .v2150-summary{min-height:52px!important}
  #v2150QuickAdminComposer .v2150-note{display:none!important}
}

/* ===== v2162AdminCreateBalancedLayout ===== */
@media (min-width:1100px){
  #admin.v21-admin.v21-view-create{padding-top:74px!important;padding-bottom:16px!important}
  #admin.v21-admin.v21-view-create>.v21-page-intro{margin-bottom:7px!important}
  #admin.v21-admin.v21-view-create #jobComposer{max-width:1360px!important;width:100%!important;margin:0 auto!important}

  #v2150QuickAdminComposer .v2150-shell{
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    column-gap:14px!important;
    row-gap:10px!important;
    align-items:stretch!important;
  }

  /* Balanced top row: clear breathing room, equal visual weight. */
  #v2154KindCard{grid-column:1 / span 5!important;grid-row:1!important}
  #v2150QuickAdminComposer .v2150-shell>section:has(#v2150AssignStatus){grid-column:6 / span 3!important;grid-row:1!important}
  #v2150QuickAdminComposer .v2150-shell>section:has(#v2150PayCash){grid-column:9 / span 4!important;grid-row:1!important}
  #v2154KindCard,
  #v2150QuickAdminComposer .v2150-shell>section:has(#v2150AssignStatus),
  #v2150QuickAdminComposer .v2150-shell>section:has(#v2150PayCash){height:100%!important}

  /* Make payment choices sit side-by-side so the top row is shorter and cleaner. */
  #v2150QuickAdminComposer .v2150-payment{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  #v2150QuickAdminComposer .v2150-pay{min-height:56px!important}

  /* The assignment card already has a clear status chip; remove only the redundant helper sentence on desktop. */
  #v2150QuickAdminComposer .v2150-shell>section:has(#v2150AssignStatus) .v2150-assign-line .v2150-hint{display:none!important}

  /* No type selected: customer left, summary/action right. */
  #v2154CustomerCard{grid-column:1 / span 8!important;grid-row:2!important}
  #v2150QuickAdminComposer .v2150-summary{grid-column:9 / span 4!important;grid-row:2!important;align-self:start!important}
  #v2150QuickAdminComposer .v2150-shell>div:last-child{grid-column:9 / span 4!important;grid-row:3!important;align-self:start!important}

  /* Urgent: customer and route have comfortable proportions, lower row is three equal functional blocks. */
  #v2150QuickAdminComposer .v2150-shell:has(#v2154UrgentRouteCard:not(.v2150-hidden)) #v2154CustomerCard{grid-column:1 / span 5!important;grid-row:2!important}
  #v2150QuickAdminComposer .v2150-shell:has(#v2154UrgentRouteCard:not(.v2150-hidden)) #v2154UrgentRouteCard{grid-column:6 / span 7!important;grid-row:2!important}
  #v2150QuickAdminComposer .v2150-shell:has(#v2154UrgentRouteCard:not(.v2150-hidden)) #v2150AddonCard{grid-column:1 / span 4!important;grid-row:3!important}
  #v2150QuickAdminComposer .v2150-shell:has(#v2154UrgentRouteCard:not(.v2150-hidden)) .v2150-summary{grid-column:5 / span 4!important;grid-row:3!important}
  #v2150QuickAdminComposer .v2150-shell:has(#v2154UrgentRouteCard:not(.v2150-hidden))>div:last-child{grid-column:9 / span 4!important;grid-row:3!important}

  /* Replacement: one generous information card plus a clean summary/action rail. */
  #v2150QuickAdminComposer .v2150-shell:has(#v2154ReplacementInline:not(.v2150-hidden)) #v2154CustomerCard{grid-column:1 / span 8!important;grid-row:2 / span 2!important}
  #v2150QuickAdminComposer .v2150-shell:has(#v2154ReplacementInline:not(.v2150-hidden)) .v2150-summary{grid-column:9 / span 4!important;grid-row:2!important}
  #v2150QuickAdminComposer .v2150-shell:has(#v2154ReplacementInline:not(.v2150-hidden))>div:last-child{grid-column:9 / span 4!important;grid-row:3!important}

  /* Controlled white space: roomier horizontally, still compact vertically. */
  #v2150QuickAdminComposer .v2150-card{padding:10px 13px!important;border-radius:13px!important}
  #v2150QuickAdminComposer .v2150-card-title{margin-bottom:7px!important;gap:10px!important;min-height:27px!important;align-items:center!important}
  #v2150QuickAdminComposer .v2150-card-title .v2150-hint{margin-left:auto!important;text-align:right!important;max-width:52%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #v2150QuickAdminComposer .v2150-grid{column-gap:12px!important;row-gap:7px!important}
  #v2150QuickAdminComposer .v2150-choice-row{gap:10px!important}
  #v2150QuickAdminComposer .v2150-choice{padding:8px 11px!important;min-height:58px!important}
  #v2150QuickAdminComposer input,
  #v2150QuickAdminComposer select,
  #v2150QuickAdminComposer textarea{min-height:35px!important;padding:6px 10px!important}
  #v2150QuickAdminComposer textarea{min-height:46px!important;max-height:58px!important}
  #v2150QuickAdminComposer .v2150-contact-strip{margin-top:7px!important;padding:8px 10px!important;gap:10px!important}
  #v2150QuickAdminComposer .v2150-replacement{margin-top:7px!important;padding:8px 10px!important}
  #v2150QuickAdminComposer .v2150-route-list{gap:7px!important}
  #v2150QuickAdminComposer .v2150-stop{padding:8px!important}
  #v2150QuickAdminComposer .v2150-addon-row{gap:8px!important}
  #v2150QuickAdminComposer .v2150-addon{padding:8px 10px!important;min-height:40px!important}
  #v2150QuickAdminComposer .v2150-summary{padding:10px 12px!important;min-height:64px!important;border-radius:12px!important}
  #v2150QuickAdminComposer .v2150-actions{gap:7px!important}
  #v2150QuickAdminComposer .v2150-save{min-height:44px!important;padding:8px 12px!important}

  /* Make right-side summary/action blocks feel intentional rather than floating. */
  #v2150QuickAdminComposer .v2150-shell>div:last-child{padding-top:0!important}
}

/* Keep the same balanced composition on the common 1366x768 office monitor size. */
@media (min-width:1100px) and (max-height:780px){
  #admin.v21-admin.v21-view-create{padding-top:70px!important}
  #admin.v21-admin.v21-view-create>.v21-page-intro{margin-bottom:5px!important}
  #admin.v21-admin.v21-view-create>.v21-page-intro p{display:none!important}
  #v2150QuickAdminComposer .v2150-shell{row-gap:8px!important}
  #v2150QuickAdminComposer .v2150-card{padding-top:8px!important;padding-bottom:8px!important}
  #v2150QuickAdminComposer .v2150-card-title{margin-bottom:5px!important}
  #v2150QuickAdminComposer .v2150-choice{min-height:54px!important;padding-top:6px!important;padding-bottom:6px!important}
  #v2150QuickAdminComposer .v2150-pay{min-height:50px!important}
  #v2150QuickAdminComposer .v2150-summary{min-height:56px!important}
  #v2150QuickAdminComposer .v2150-note{display:none!important}
}

/* ===== v2163MessengerHomeAcceptStyles ===== */
@media(max-width:620px){.v2163-home-actions{grid-template-columns:1fr 1.15fr;gap:8px;margin-top:13px;padding-top:13px}.v2163-home-actions button{min-height:46px;font-size:17px}}
@media(max-width:390px){.v2163-home-actions button{font-size:15px}.v2156-job-card.replacement.paid-replacement .v2156-job-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.v2156-job-card.replacement.paid-replacement .v2156-stat small{white-space:normal;line-height:1.2}}

/* ===== v2167ReplacementReturnContactStyles ===== */
/* Replacement return option in the compact Admin composer */
#v2167ReplacementReturnWrap{margin-top:9px;padding:10px 12px;border:1px solid #ead39b;border-radius:12px;background:#fffaf0}
#v2167ReplacementReturnWrap label{display:flex;align-items:center;gap:10px;margin:0;cursor:pointer;color:#3f3217}
#v2167ReplacementReturnWrap input[type=checkbox]{width:20px;height:20px;min-height:20px!important;flex:0 0 20px;accent-color:#b89535}
#v2167ReplacementReturnWrap b{display:block;font-size:15px;line-height:1.35}
#v2167ReplacementReturnWrap small{display:block;margin-top:3px;color:#75633c;font-size:12px;line-height:1.45;font-weight:700}

/* The user's requested information hierarchy on Messenger: address remains prominent,
   but contact name + phone are now large enough to act on immediately. */
#rider .rider-pickup-card .rider-stop-sub{font-size:16px!important;line-height:1.5!important;font-weight:850!important;color:#334155!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;margin-top:5px!important}
#rider .rider-pickup-card .rider-info-box small{font-size:13px!important}
#rider .rider-pickup-card .rider-info-box b,
#rider .rider-pickup-card .rider-info-box a{font-size:19px!important;line-height:1.45!important}
#rider .v211439-rider-customer-meta{font-size:16px!important;line-height:1.55!important;font-weight:850!important;color:#334155!important}
#rider .v2156-contact{font-size:17px!important;line-height:1.5!important;font-weight:900!important;color:#374151!important;margin-top:5px!important;margin-bottom:14px!important}
#rider .v2156-contact a{font-size:17px!important;font-weight:900!important;color:#111827!important}

/* Replacement return instruction should be unmistakable. */
#rider .v2167-replacement-return .rider-return-title{font-size:18px!important}
#rider .v2167-replacement-return .rider-return-sub{font-size:15px!important;font-weight:800!important;color:#475569!important}
#rider .v2167-replacement-return .rider-return-alert{font-size:15px!important;line-height:1.55!important}
@media(max-width:620px){
  #rider .rider-pickup-card summary{padding:14px 13px!important}
  #rider .rider-pickup-card .rider-stop-title{font-size:18px!important;white-space:normal!important;line-height:1.38!important}
  #rider .rider-pickup-card .rider-stop-sub{font-size:16px!important}
}

/* ===== v2168RiderFiveScreenBalanceStyles ===== */
body.v2156-rider-active{
  --v2168-page-title:23px;
  --v2168-section-title:18px;
  --v2168-body:15px;
  --v2168-small:13px;
  --v2168-value:22px;
  --v2168-radius:16px;
  --v2168-gap:14px;
}

/* Shared screen rhythm */
#v2156RiderShell .v2156-screen{font-size:var(--v2168-body);line-height:1.55}
#v2156RiderShell .v2156-history-head,
#v2156RiderShell .v2156-generic-head{
  height:108px;
  padding:0 20px 22px;
  font-size:var(--v2168-page-title);
  font-weight:800;
  line-height:1.25;
}
#v2156RiderShell .v2156-generic-body{
  max-width:780px;
  padding:24px 22px 34px;
}

/* Home: keep the brand header, but bring text back to the same scale */
#v2156RiderShell .v2156-app-head{min-height:168px;padding:22px 28px 16px}
#v2156RiderShell .v2156-logo-row{height:86px}
#v2156RiderShell .v2156-logo-row img{height:62px}
#v2156RiderShell .v2156-ready-row{font-size:18px;font-weight:800;gap:10px}
#v2156RiderShell .v2156-area-wrap select{font-weight:800}
#v2156RiderShell .v2156-tracking{min-height:40px;font-size:14px;font-weight:800;padding:7px 16px}
#v2156RiderShell .v2156-tracking small{font-size:12px;font-weight:700}
#v2156RiderShell .v2156-home-head{
  max-width:780px;
  margin:0 auto;
  padding:22px 22px 16px;
  font-size:20px;
  font-weight:800;
}
#v2156RiderShell .v2156-home-time{font-size:16px;font-weight:700}
#v2156RiderShell .v2156-list{max-width:780px;padding:4px 22px 34px;gap:var(--v2168-gap)}
#v2156RiderShell .v2156-empty{font-size:18px;font-weight:700}

/* Job cards: a single readable hierarchy */
#v2156RiderShell .v2156-job-top{min-height:60px;padding:13px 18px;font-size:17px;font-weight:800}
#v2156RiderShell .v2156-job-top-right{font-size:16px;font-weight:800}
#v2156RiderShell .v2156-job-body{padding:17px 18px 15px}
#v2156RiderShell .v2156-route-text{font-size:18px;font-weight:800}
#v2156RiderShell .v2156-contact{font-size:15px!important;line-height:1.55!important;font-weight:700!important}
#v2156RiderShell .v2156-contact a{font-size:15px!important;font-weight:800!important}
#v2156RiderShell .v2156-stat small{font-size:13px;font-weight:700}
#v2156RiderShell .v2156-stat b{font-size:20px;font-weight:800}
#v2156RiderShell .v2156-job-id{font-size:12px}
#v2156RiderShell .v2163-home-actions button{min-height:46px;font-size:15px;font-weight:800}

/* History tabs no longer overpower the page title */
#v2156RiderShell .v2156-history-tab{
  min-width:132px;
  height:58px;
  padding:0 17px;
  border-bottom-width:4px;
  font-size:16px;
  font-weight:800;
}
#v2156RiderShell .v2156-history-list{padding-top:22px}

/* Wallet: values stay important without looking oversized */
#v2156RiderShell .v2156-wallet-card,
#v2156RiderShell .v2156-wallet-mini,
#v2156RiderShell .v2156-settings-profile,
#v2156RiderShell .v2156-settings-row{border-radius:var(--v2168-radius)}
#v2156RiderShell .v2156-wallet-card{padding:20px;margin-bottom:var(--v2168-gap)}
#v2156RiderShell .v2156-wallet-card small{font-size:14px;font-weight:700}
#v2156RiderShell .v2156-wallet-card b{font-size:28px;font-weight:800;margin-top:5px}
#v2156RiderShell .v2156-wallet-grid{gap:var(--v2168-gap)}
#v2156RiderShell .v2156-wallet-mini{padding:17px}
#v2156RiderShell .v2156-wallet-mini small{font-size:14px;font-weight:700}
#v2156RiderShell .v2156-wallet-mini b{font-size:var(--v2168-value);font-weight:800;margin-top:5px}
#v2156RiderShell .v2156-info-note{font-size:14px;font-weight:700;line-height:1.6;padding:13px 15px}

/* Messages: make announcement cards match the same readable baseline */
#v2156MessagesSlot .rider-ann-center-card{padding:15px 16px;border-radius:var(--v2168-radius)}
#v2156MessagesSlot .rider-ann-center-icon{width:40px;height:40px;font-size:19px}
#v2156MessagesSlot .rider-ann-center-copy b{font-size:16px;font-weight:800;line-height:1.4}
#v2156MessagesSlot .rider-ann-center-copy small{font-size:13px;line-height:1.45}
#v2156MessagesSlot .rider-ann-new-count{font-size:11px}
#v2156MessagesSlot .rider-ann-center-open{font-size:12px}
#v2156RiderShell .v2156-message-empty{font-size:18px;font-weight:700}
.rider-ann-modal-head h2{font-size:20px}
.rider-ann-modal-head small{font-size:13px}
.rider-ann-item-title{font-size:15px}
.rider-ann-item-meta{font-size:12px}
.rider-ann-detail-message{font-size:14px}

/* Settings: normalize legacy push/duty widgets that previously used very small text */
#v2156RiderShell .v2156-settings-profile{padding:17px;margin-bottom:var(--v2168-gap)}
#v2156RiderShell .v2156-settings-profile b{font-size:18px;font-weight:800}
#v2156RiderShell .v2156-settings-profile small{font-size:14px;font-weight:600;line-height:1.45}
#v2156RiderShell .v2156-settings-row{padding:15px 16px;font-size:15px;font-weight:700}
#v2156RiderShell .v2156-settings-row button{font-size:14px;font-weight:800;padding:9px 14px}
#v2156SettingsSlot .pe-push-card{padding:15px 16px;border-radius:var(--v2168-radius);gap:12px}
#v2156SettingsSlot .pe-push-title{font-size:16px;font-weight:800}
#v2156SettingsSlot .pe-push-status{font-size:13px;line-height:1.5}
#v2156SettingsSlot .pe-push-btn{font-size:14px;font-weight:800;padding:9px 12px}
#v2156SettingsSlot .pe-duty-card{padding:15px 16px;border-radius:var(--v2168-radius)}
#v2156SettingsSlot .pe-duty-title{font-size:17px;font-weight:800}
#v2156SettingsSlot .pe-duty-sub{font-size:13px;line-height:1.5}
#v2156SettingsSlot .pe-duty-state{font-size:12px;font-weight:800}
#v2156SettingsSlot .pe-duty-kpi small{font-size:12px}
#v2156SettingsSlot .pe-duty-kpi b{font-size:16px}
#v2156SettingsSlot .pe-duty-actions button{font-size:14px;font-weight:800}
#v2156SettingsSlot .pe-duty-note{font-size:12px;line-height:1.5}

/* Bottom navigation is identical on all five screens */
#v2156RiderShell .v2156-bottom-nav{
  height:calc(76px + env(safe-area-inset-bottom));
}
#v2156RiderShell .v2156-nav-btn{gap:4px;font-size:12px;font-weight:700;padding:7px 3px}
#v2156RiderShell .v2156-nav-btn .ico{font-size:25px}
#v2156RiderShell .v2156-nav-btn span:last-child{font-size:12px;font-weight:700}

@media(max-width:620px){
  body.v2156-rider-active{
    --v2168-page-title:22px;
    --v2168-section-title:17px;
    --v2168-body:15px;
    --v2168-small:13px;
    --v2168-value:21px;
  }
  #v2156RiderShell .v2156-app-head{min-height:158px;padding:18px 16px 14px}
  #v2156RiderShell .v2156-logo-row{height:82px}
  #v2156RiderShell .v2156-logo-row img{height:58px;max-width:84%}
  #v2156RiderShell .v2156-ready-row{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);font-size:16px;gap:8px}
  #v2156RiderShell .v2156-switch{width:64px;height:36px}
  #v2156RiderShell .v2156-switch span{width:30px;height:30px}
  #v2156RiderShell .v2156-switch.on span{left:31px}
  #v2156RiderShell .v2156-tracking{font-size:13px}.v2156-tracking small{font-size:11px}
  #v2156RiderShell .v2156-history-head,
  #v2156RiderShell .v2156-generic-head{height:102px;padding-bottom:20px}
  #v2156RiderShell .v2156-home-head{padding:20px 16px 14px;font-size:19px}
  #v2156RiderShell .v2156-home-time{font-size:15px}
  #v2156RiderShell .v2156-list{padding:4px 15px 28px}
  #v2156RiderShell .v2156-generic-body{padding:20px 15px 30px}
  #v2156RiderShell .v2156-history-tab{min-width:120px;height:56px;font-size:15px;padding:0 14px}
  #v2156RiderShell .v2156-job-top{font-size:16px;padding:13px 15px}
  #v2156RiderShell .v2156-job-top-right{font-size:15px}
  #v2156RiderShell .v2156-job-body{padding:16px 15px 14px}
  #v2156RiderShell .v2156-route-text{font-size:17px}
  #v2156RiderShell .v2156-stat small{font-size:12px}
  #v2156RiderShell .v2156-stat b{font-size:19px}
  #v2156RiderShell .v2156-wallet-card b{font-size:26px}
  #v2156RiderShell .v2156-wallet-mini b{font-size:21px}
  #v2156RiderShell .v2156-bottom-nav{height:calc(74px + env(safe-area-inset-bottom))}
  #v2156RiderShell .v2156-nav-btn .ico{font-size:24px}
  #v2156RiderShell .v2156-nav-btn span:last-child{font-size:11px}
}

@media(max-width:390px){
  #v2156RiderShell .v2156-ready-row{font-size:15px}
  #v2156RiderShell .v2156-history-tab{min-width:112px;font-size:14px}
  #v2156RiderShell .v2156-nav-btn span:last-child{font-size:10.5px}
}

/* ===== v2170AdminQuickGpsMapCss ===== */
#v2154UrgentRouteCard .v2170-map-box{
  grid-column:1/-1;margin:10px 0 4px;border:1px solid #d9e1ea;border-radius:13px;overflow:hidden;background:#eef2f6;
}
#v2154UrgentRouteCard .v2170-map-head{
  min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:8px 10px;background:#fff;border-bottom:1px solid #e5e7eb;color:#1f2937;
}
#v2154UrgentRouteCard .v2170-map-head b{font-size:14px!important;font-weight:700!important}
#v2154UrgentRouteCard .v2170-map-status{font-size:12px!important;color:#64748b!important;text-align:right;line-height:1.35}
#v2154UrgentRouteCard .v2170-map-status.ok{color:#047857!important}
#v2154UrgentRouteCard .v2170-map-status.warn{color:#b45309!important}
#v2154UrgentRouteCard .v2170-map-status.err{color:#b91c1c!important}
#v2170QuickRouteMap{width:100%;height:260px;background:#e8edf2}
#v2154UrgentRouteCard .v2170-map-foot{padding:7px 10px;background:#fff;color:#64748b;font-size:11px!important;line-height:1.4;border-top:1px solid #edf0f3}
#v2154UrgentRouteCard .v2170-map-box[hidden]{display:none!important}
@media(max-width:760px){#v2170QuickRouteMap{height:250px}#v2154UrgentRouteCard .v2170-map-head{align-items:flex-start;flex-direction:column}.v2170-map-status{text-align:left!important}}

/* ===== v2171AdminCreateRedesignCss ===== */
#admin.v21-admin{background:#f3f4f6!important}
#admin.v21-admin .v21-sidebar{background:#3e434a!important;border-right:1px solid #545b65!important;box-shadow:8px 0 24px rgba(15,23,42,.08)}
#admin.v21-admin .v21-side-brand{border-bottom-color:rgba(255,255,255,.08)!important}
#admin.v21-admin .v21-side-brand b{color:#fff!important}
#admin.v21-admin .v21-side-brand small{color:rgba(255,255,255,.72)!important}
#admin.v21-admin .v21-nav-group-label{color:rgba(255,255,255,.42)!important}
#admin.v21-admin .v21-nav-btn{color:rgba(255,255,255,.84)!important;border:1px solid transparent;border-radius:12px!important}
#admin.v21-admin .v21-nav-btn:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
#admin.v21-admin .v21-nav-btn.active{background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.08)!important;box-shadow:none!important}
#admin.v21-admin .v21-nav-badge{background:#ef4444!important}
#admin.v21-admin .v21-side-footer{border-top-color:rgba(255,255,255,.08)!important;color:rgba(255,255,255,.66)!important}
#admin.v21-admin .v21-admin-header{background:rgba(250,250,250,.96)!important;border-bottom:1px solid #e5e7eb!important;box-shadow:0 6px 18px rgba(15,23,42,.04)!important}

#admin.v21-admin.v21-view-create #jobComposer{background:transparent!important;box-shadow:none!important;border:none!important;max-width:1520px!important;padding:0!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer{padding:2px 0 26px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-shell{display:grid!important;grid-template-columns:250px minmax(380px,1.2fr) minmax(280px,.92fr) 240px;gap:14px;align-items:start}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-card,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-summary,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2171-action-card{background:#f8f8f8!important;border:1px solid #e3e5e8!important;border-radius:18px!important;box-shadow:0 8px 20px rgba(15,23,42,.035)!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-card{padding:16px 16px 15px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-card-title{margin-bottom:12px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-card-title h3{font-size:16px!important;font-weight:800!important;color:#20242b!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-hint{font-size:11px!important;color:#6b7280!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer label{font-size:12px!important;font-weight:700!important;color:#4b5563!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer input,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer select,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer textarea{background:#fff!important;border:1px solid #d9dde3!important;border-radius:11px!important;min-height:42px!important;padding:10px 12px!important;font-size:14px!important;color:#111827!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer textarea{min-height:90px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer input:focus,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer select:focus,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer textarea:focus{border-color:#9ca3af!important;box-shadow:0 0 0 3px rgba(156,163,175,.16)!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-step{background:#eceff3!important;color:#394150!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-status{background:#eceff3!important;border-color:#d7dce3!important;color:#374151!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-status.assigned{background:#eef6ef!important;border-color:#cfe5d2!important;color:#24623a!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-choice{background:#ffffff!important;border:1px solid #d8dce3!important;border-radius:14px!important;min-height:88px}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-choice:hover{border-color:#9ca3af!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-choice.active{background:#eef1f4!important;border:2px solid #4b5563!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-choice b{font-size:15px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-choice small{font-size:12px!important;color:#6b7280!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-pay{background:#fff!important;border:1px solid #d8dce3!important;border-radius:14px!important;padding:14px 13px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-pay.active{background:#eef1f4!important;border:2px solid #4b5563!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-pay b{font-size:15px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-pay small{font-size:12px!important;color:#6b7280!important;line-height:1.45!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-addon{background:#fff!important;border:1px solid #d8dde5!important;border-radius:12px!important;font-size:13px!important;min-height:48px}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-replacement{background:#fff!important;border-color:#dfe3e8!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-stop{background:#fff!important;border:1px solid #dfe3e8!important;border-radius:14px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-pin{background:#4b5563!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-stop:first-child .v2150-pin{background:#6b7280!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-remove{border-radius:10px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-place-tip{font-size:11px!important;color:#6b7280!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-place-tip.ok{color:#0f766e!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-add-stop{background:#fff!important;border:1px dashed #bcc4cf!important;border-radius:12px!important;color:#374151!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-summary{padding:14px 15px!important;display:block!important;min-height:136px}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-summary .route b{font-size:16px!important;color:#1f2937!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-summary .route span{font-size:12px!important;line-height:1.6!important;white-space:normal!important;overflow:visible!important;max-width:none!important;color:#6b7280!important;margin-top:8px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2171-action-card{padding:15px!important;display:flex;flex-direction:column;gap:10px}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-save{min-height:48px!important;border-radius:12px!important;background:#d4af37!important;color:#111827!important;font-size:15px!important;font-weight:800!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-note{font-size:11px!important;line-height:1.55!important;color:#6b7280!important;text-align:left!important;margin:0!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2171-action-head{font-size:15px;font-weight:800;color:#20242b}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2171-action-sub{font-size:12px;color:#6b7280;line-height:1.6}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2171-summary-card{position:sticky;top:84px}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2171-action-card{position:sticky;top:238px}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2154KindCard{grid-column:1;grid-row:1}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2150AddonCard{grid-column:1;grid-row:2}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2154CustomerCard{grid-column:2;grid-row:1}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2154UrgentRouteCard{grid-column:2;grid-row:2}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2171-assign-card{grid-column:3;grid-row:1}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2171-payment-card{grid-column:3;grid-row:2}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2171-summary-card{grid-column:4;grid-row:1}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2171-action-card{grid-column:4;grid-row:2}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2154ReplacementInline{margin-top:14px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2154ReplacementInline .v2150-grid.three{grid-template-columns:1fr!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2171-action-card .v2150-actions{display:block!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2171-map-box{border-radius:14px!important;background:#eceff1!important;border-color:#d7dce3!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2170-map-head,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2170-map-foot{background:#fff!important}
@media(max-width:1360px){
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-shell{grid-template-columns:230px minmax(320px,1fr) minmax(260px,.9fr) 220px!important}
}
@media(max-width:1180px){
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-shell{grid-template-columns:1fr 1fr!important}
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2154KindCard{grid-column:1;grid-row:auto}
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2154CustomerCard{grid-column:2;grid-row:auto}
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2154UrgentRouteCard,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2150AddonCard,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2171-assign-card,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2171-payment-card,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2171-summary-card,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2171-action-card{grid-column:1/-1;grid-row:auto;position:static}
}
@media(max-width:760px){
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-shell{grid-template-columns:1fr!important}
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2154KindCard,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2154CustomerCard,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2154UrgentRouteCard,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2150AddonCard,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2171-assign-card,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2171-payment-card,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2171-summary-card,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2171-action-card{grid-column:1;grid-row:auto;position:static}
  #admin.v21-admin .v21-admin-header{padding:0 14px!important}
}

/* ===== v2172QuickAutoPriceCss ===== */
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2172-price-hint{
  margin-top:6px;font-size:11px;line-height:1.45;color:#6b7280;min-height:16px
}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2172-price-hint.ok{color:#047857;font-weight:700}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2172-price-hint.warn{color:#a16207}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2172-price-hint.manual{color:#475569;font-weight:700}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-price input[data-v2172-auto="1"]{
  background:#f0fdf4!important;border-color:#bbdfc2!important;color:#14532d!important;font-weight:800!important
}

/* ===== v2175AdminCreateReferenceCss ===== */
#admin.v21-admin{background:#eef2f5!important}
#admin.v21-admin .v21-sidebar{background:linear-gradient(180deg,#0e1726 0%,#17243b 100%)!important;border-right:1px solid rgba(255,255,255,.06)!important;box-shadow:8px 0 28px rgba(2,6,23,.16)}
#admin.v21-admin .v21-side-brand{border-bottom-color:rgba(255,255,255,.08)!important;padding-bottom:16px!important}
#admin.v21-admin .v21-side-brand img{background:#0b1220!important}
#admin.v21-admin .v21-side-brand b{color:#fff!important}
#admin.v21-admin .v21-side-brand small{color:rgba(255,255,255,.78)!important}
#admin.v21-admin .v21-nav-group-label{color:rgba(255,255,255,.38)!important}
#admin.v21-admin .v21-nav-btn{color:rgba(255,255,255,.88)!important;border-radius:12px!important;font-weight:700!important;padding:12px 13px!important}
#admin.v21-admin .v21-nav-btn:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
#admin.v21-admin .v21-nav-btn.active{background:linear-gradient(135deg,#3ecf8e 0%,#1fb874 100%)!important;color:#fff!important;box-shadow:0 10px 18px rgba(16,185,129,.22)!important}
#admin.v21-admin .v21-nav-badge{background:#ef4444!important}
#admin.v21-admin .v21-side-footer{border-top-color:rgba(255,255,255,.08)!important;color:rgba(255,255,255,.66)!important}
#admin.v21-admin .v21-admin-header{background:rgba(255,255,255,.95)!important;border-bottom:1px solid #dfe5ec!important;box-shadow:0 6px 20px rgba(15,23,42,.04)!important}

#admin.v21-admin.v21-view-create #jobComposer{max-width:1520px!important;margin:0 auto!important;padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer{padding:2px 0 26px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-shell{display:grid!important;grid-template-columns:280px minmax(440px,1.08fr) minmax(280px,.8fr) 220px;gap:14px;align-items:start}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-card,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-summary,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2175-action-card{background:#ffffff!important;border:1px solid #dde4ea!important;border-radius:18px!important;box-shadow:0 10px 24px rgba(15,23,42,.05)!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-card{padding:16px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-card-title{margin-bottom:12px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-card-title h3{font-size:15px!important;font-weight:800!important;color:#111827!important;display:flex!important;align-items:center;gap:8px;line-height:1.35!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-hint{font-size:11px!important;color:#6b7280!important;line-height:1.45!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer label{font-size:12px!important;font-weight:700!important;color:#475569!important;margin-bottom:6px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer input,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer select,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer textarea{background:#fff!important;border:1px solid #d7dee6!important;border-radius:11px!important;min-height:42px!important;padding:10px 12px!important;font-size:14px!important;color:#111827!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer textarea{min-height:82px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer input:focus,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer select:focus,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer textarea:focus{border-color:#78c6a3!important;box-shadow:0 0 0 3px rgba(62,207,142,.13)!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-step{background:#edf2f7!important;color:#475569!important;width:24px!important;height:24px!important;border-radius:8px!important;margin-right:0!important;font-size:12px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-choice-row{grid-template-columns:1fr 1fr!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-choice{min-height:92px!important;border-radius:15px!important;border:1px solid #dce3ea!important;background:#fff!important;padding:14px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-choice.active{background:#edf9f3!important;border:2px solid #66c89a!important;box-shadow:0 8px 18px rgba(62,207,142,.12)!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-choice .ico{font-size:20px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-choice b{font-size:15px!important;font-weight:800!important;color:#111827!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-choice small{font-size:12px!important;color:#6b7280!important;margin-top:4px!important;line-height:1.45!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-addon-row{grid-template-columns:1fr!important;gap:10px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-addon{font-size:14px!important;font-weight:700!important;border-radius:12px!important;padding:12px 12px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-addon:nth-child(1){background:#e8f0ff!important;border-color:#cfe0ff!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-addon:nth-child(2){background:#fff3d8!important;border-color:#f8dd96!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-addon:nth-child(3){background:#e8f8ec!important;border-color:#c7ecd1!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-full{grid-column:1/-1!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-contact-strip,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-replacement{background:#f8fafc!important;border-color:#e5ebf1!important;border-radius:14px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-stop{border-radius:14px!important;background:#fbfdff!important;border-color:#dce3ea!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-pin{background:#263244!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-stop:first-child .v2150-pin{background:#38b87c!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-stop summary{font-size:12px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-add-stop{background:#fff!important;border:1px dashed #bcc8d4!important;color:#475569!important;font-weight:700!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-status{background:#f5f7fa!important;border-color:#dfe6ed!important;color:#475569!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-status.assigned{background:#edf9f3!important;border-color:#cbead9!important;color:#18794e!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-payment{grid-template-columns:1fr 1fr!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-pay{background:#fff!important;border:1px solid #dbe3ea!important;border-radius:14px!important;padding:14px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-pay.active{background:#edf9f3!important;border:2px solid #66c89a!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-pay b{font-size:15px!important;font-weight:800!important;color:#111827!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-pay small{font-size:12px!important;color:#6b7280!important;line-height:1.45!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-summary{padding:14px 14px 16px!important;display:block!important;position:sticky;top:84px}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-summary .route b{display:block;font-size:15px!important;font-weight:800!important;color:#111827!important;margin-bottom:8px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-summary .route span{display:block!important;font-size:12px!important;line-height:1.6!important;color:#6b7280!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;max-width:none!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2175-action-card{padding:14px!important;display:flex!important;flex-direction:column!important;gap:10px!important;position:sticky;top:258px}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2175-action-head{font-size:15px!important;font-weight:800!important;color:#111827!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2175-action-sub{font-size:12px!important;line-height:1.55!important;color:#6b7280!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-save{min-height:46px!important;border-radius:12px!important;background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%)!important;color:#fff!important;font-size:15px!important;font-weight:800!important;box-shadow:none!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-note{margin:0!important;font-size:11px!important;line-height:1.55!important;color:#6b7280!important;text-align:left!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-place-tip{font-size:11px!important;color:#6b7280!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-place-tip .g{color:#2563eb!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2170QuickRouteMap{height:220px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2170-map-box{border-radius:14px!important;border-color:#dce3ea!important;background:#f5f7fa!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2170-map-head b{font-size:13px!important}

#admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2154KindCard{grid-column:1;grid-row:1}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2150AddonCard{grid-column:1;grid-row:2}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2154CustomerCard{grid-column:2;grid-row:1}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2154UrgentRouteCard{grid-column:2;grid-row:2}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2175-messenger-card{grid-column:3;grid-row:1}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2175-payment-card{grid-column:3;grid-row:2}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2175-summary-card{grid-column:4;grid-row:1}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2175-action-card{grid-column:4;grid-row:2}

@media(max-width:1380px){
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-shell{grid-template-columns:250px minmax(380px,1fr) 300px 210px!important}
}
@media(max-width:1200px){
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-shell{grid-template-columns:1fr 1fr!important}
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2154KindCard,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2150AddonCard,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2154CustomerCard,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2154UrgentRouteCard,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2175-messenger-card,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2175-payment-card,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2175-summary-card,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2175-action-card{grid-column:auto!important;grid-row:auto!important;position:static!important}
}
@media(max-width:760px){
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-shell{grid-template-columns:1fr!important}
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-grid,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-payment,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-choice-row{grid-template-columns:1fr!important}
  #admin.v21-admin .v21-admin-header{padding:0 14px!important}
}

/* ===== v2176AdminSimpleCreateCss ===== */
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple{padding:6px 0 22px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-shell{
  display:grid!important;grid-template-columns:300px 300px minmax(460px,1fr)!important;gap:14px!important;align-items:start!important
}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple #v2154KindCard{grid-column:1;grid-row:1}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2176-pay-card{grid-column:2;grid-row:1}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple #v2154UrgentRouteCard{grid-column:1 / span 3!important;grid-row:2!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2176-save-wrap{grid-column:1 / span 3!important;grid-row:3!important;display:flex!important;justify-content:flex-end!important;align-items:flex-start!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2176-save-card{background:#fff!important;border:1px solid #dce3ea!important;border-radius:16px!important;padding:14px 16px!important;box-shadow:0 8px 20px rgba(15,23,42,.05)!important;min-width:320px;max-width:420px}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2176-save-card .v2176-title{font-size:15px!important;font-weight:800!important;color:#111827!important;margin-bottom:4px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2176-save-card .v2176-sub{font-size:12px!important;line-height:1.55!important;color:#6b7280!important;margin-bottom:10px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-save{width:100%!important;min-height:48px!important;border-radius:12px!important;background:linear-gradient(135deg,#111827 0%,#0f172a 100%)!important;color:#fff!important;font-size:15px!important;font-weight:800!important}

#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple #v2154CustomerCard,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple #v2150AddonCard,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-summary,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2176-hidden-card,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple #v2154ReplacementInline,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple #v2154UrgentNoteSlot,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple #v2154NoteHost,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple #v2150AddStop,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple #v2170QuickRouteMap,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2170-map-box,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2170-map-foot,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-stop details,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-remove{display:none!important}

#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple #v2154KindCard .v2150-card-title h3,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2176-pay-card .v2150-card-title h3,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple #v2154UrgentRouteCard .v2150-card-title h3{font-size:16px!important;font-weight:800!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple #v2154KindCard .v2150-hint,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2176-pay-card .v2150-hint,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple #v2154UrgentRouteCard .v2150-hint{font-size:11.5px!important;color:#6b7280!important}

#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-choice-row,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-payment{grid-template-columns:1fr 1fr!important;gap:10px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-choice,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-pay{min-height:88px!important;border-radius:15px!important;padding:14px 13px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-choice .ico{font-size:20px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-choice b,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-pay b{font-size:15px!important;font-weight:800!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-choice small,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-pay small{font-size:12px!important;line-height:1.45!important;color:#6b7280!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-choice.active,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-pay.active{background:#eef9f2!important;border:2px solid #4ec38a!important;box-shadow:0 8px 16px rgba(62,207,142,.12)!important}

#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple #v2154UrgentRouteCard .v2150-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple #v2154PickupHost{display:block!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple #v2154PickupHost label,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-stop label{font-size:13px!important;font-weight:800!important;color:#374151!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple #v2150Pickup,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-stop input[data-v2150="address"]{min-height:50px!important;font-size:15px!important;border-radius:12px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple #v2150PickupTip,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-stop .v2150-place-tip{font-size:11px!important;margin-top:5px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-route-list{display:grid!important;gap:12px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-stop{padding:12px!important;background:#fbfdff!important;border:1px solid #dce3ea!important;border-radius:14px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-stop-main{display:grid!important;grid-template-columns:34px minmax(0,1fr) 220px!important;gap:12px!important;align-items:start!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-pin{width:34px!important;height:34px!important;border-radius:999px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#111827!important;color:#fff!important;font-size:13px!important;font-weight:800!important;margin-top:22px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-price{min-width:0!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-price input[data-v2150="price"]{min-height:50px!important;font-size:24px!important;font-weight:800!important;text-align:right!important;border-radius:12px!important;background:#f8fafc!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2172-price-hint{font-size:11px!important;line-height:1.45!important;min-height:16px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2176-mini-note{font-size:12px!important;line-height:1.55!important;color:#6b7280!important;padding:8px 10px;border-radius:12px;background:#f8fafc;border:1px dashed #d4dde5}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2176-route-top{display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;align-items:center!important;margin-bottom:10px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2176-badges{display:flex!important;gap:8px!important;flex-wrap:wrap!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2176-badge{padding:7px 10px!important;border-radius:999px!important;background:#f3f4f6!important;color:#475569!important;font-size:12px!important;font-weight:700!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2176-badge.active{background:#ecfdf3!important;color:#047857!important;border:1px solid #bfe7cf!important}

@media(max-width:1180px){
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-shell{grid-template-columns:1fr 1fr!important}
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple #v2154UrgentRouteCard,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2176-save-wrap{grid-column:1 / span 2!important}
}
@media(max-width:760px){
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-shell{grid-template-columns:1fr!important}
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple #v2154KindCard,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2176-pay-card,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple #v2154UrgentRouteCard,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2176-save-wrap{grid-column:1!important}
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-stop-main{grid-template-columns:1fr!important}
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v2176-simple .v2150-pin{display:none!important}
}

/* ===== v2179CleanAdminCss ===== */
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer{padding:0!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer > .v2150-shell{display:none!important}
#admin.v21-admin.v21-view-create #v2179SimpleAdmin{display:block!important;font-family:"Noto Sans Thai","Segoe UI",Tahoma,sans-serif;color:#111827}
#v2179SimpleAdmin *{box-sizing:border-box}
.v2179-wrap{display:grid;gap:12px;max-width:1420px;margin:0 auto;padding:0 2px 16px}
.v2179-top{display:grid;grid-template-columns:1fr 1fr 1.25fr .95fr;gap:12px;align-items:stretch}
.v2179-card{background:#fff;border:1px solid #dfe5eb;border-radius:16px;padding:13px 14px;box-shadow:0 7px 18px rgba(15,23,42,.04);min-width:0}
.v2179-card h3{font-size:15px;line-height:1.25;margin:0 0 9px;font-weight:800;color:#111827}
.v2179-sub{font-size:10.5px;color:#6b7280;line-height:1.35;margin-top:-4px;margin-bottom:8px}
.v2179-duo{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.v2179-pick{border:1px solid #d9e1e8;background:#fff;border-radius:12px;min-height:62px;padding:9px 10px;text-align:left;cursor:pointer;transition:.14s;display:flex;flex-direction:column;justify-content:center}
.v2179-pick b{font-size:14px;line-height:1.15}.v2179-pick small{font-size:10.5px;color:#6b7280;margin-top:4px;line-height:1.25}
.v2179-pick.active{background:#eef9f2;border:2px solid #4ec38a;padding:8px 9px;box-shadow:0 5px 12px rgba(62,207,142,.10)}
.v2179-addons{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.v2179-addon{display:flex;align-items:center;justify-content:center;gap:5px;min-height:62px;border:1px solid #dfe5eb;border-radius:12px;padding:7px 6px;font-size:12px;font-weight:800;cursor:pointer;text-align:center;line-height:1.25}
.v2179-addon input{width:16px;height:16px;margin:0;flex:0 0 auto}
.v2179-addon:nth-child(1){background:#eaf1ff;border-color:#d0dffd}.v2179-addon:nth-child(2){background:#fff5dc;border-color:#f3deaa}.v2179-addon:nth-child(3){background:#eaf8ee;border-color:#cde9d5}
.v2179-save-card{display:flex;flex-direction:column;justify-content:space-between}
.v2179-save-btn{border:0;border-radius:12px;background:#111827;color:#fff;min-height:44px;font-size:14px;font-weight:800;cursor:pointer;width:100%}
.v2179-save-btn:hover{background:#0b1220}.v2179-save-note{font-size:10.5px;color:#6b7280;line-height:1.35;margin-bottom:8px}

.v2179-route{background:#fff;border:1px solid #dfe5eb;border-radius:16px;padding:14px;box-shadow:0 7px 18px rgba(15,23,42,.04)}
.v2179-route-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}
.v2179-route-head h3{font-size:15px;margin:0;font-weight:800}.v2179-route-head span{font-size:10.5px;color:#6b7280;text-align:right}
.v2179-route-grid{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr) 170px;gap:10px;align-items:end}
.v2179-field{min-width:0;position:relative}.v2179-field label{display:block;font-size:12px;font-weight:800;color:#374151;margin-bottom:5px}
.v2179-field input{width:100%;height:46px;border:1px solid #d7dee6;border-radius:11px;padding:9px 11px;font-size:14px;outline:none;background:#fff;color:#111827}
.v2179-field input:focus{border-color:#61c394;box-shadow:0 0 0 3px rgba(78,195,138,.12)}
.v2179-arrow{height:46px;display:flex;align-items:center;justify-content:center;font-size:23px;color:#6b7280}
.v2179-price input{text-align:right;font-size:23px;font-weight:900;background:#f8fafc}.v2179-price input.auto{background:#eef9f2;color:#14532d;border-color:#bde2c8}
.v2179-tip{font-size:10.5px;color:#6b7280;line-height:1.35;margin-top:5px;min-height:14px}.v2179-tip.ok{color:#047857;font-weight:700}.v2179-tip.warn{color:#a16207}
.v2179-google-host{position:relative}.v2179-google-host .google-suggest-menu{z-index:2500}
.v2179-status{display:flex;align-items:center;gap:6px;margin-top:9px;padding:7px 9px;border-radius:10px;background:#f8fafc;border:1px solid #edf1f4;font-size:10.5px;color:#64748b}
.v2179-status b{color:#374151}

@media(max-width:1180px){.v2179-top{grid-template-columns:1fr 1fr}.v2179-route-grid{grid-template-columns:1fr 36px 1fr 150px}}
@media(max-width:760px){.v2179-top{grid-template-columns:1fr}.v2179-route-grid{grid-template-columns:1fr}.v2179-arrow{height:24px;transform:rotate(90deg)}.v2179-route-head{align-items:flex-start;flex-direction:column}.v2179-route-head span{text-align:left}.v2179-addons{grid-template-columns:1fr 1fr 1fr}}

/* ===== v2180ReferenceFinalCss ===== */
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer{padding:0!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer > :not(#v2180ReferenceAdmin){display:none!important}
#admin.v21-admin.v21-view-create #v2180ReferenceAdmin{display:block!important;font-family:"Noto Sans Thai","Segoe UI",Tahoma,sans-serif;color:#111827}
#v2180ReferenceAdmin *{box-sizing:border-box}
.v2180-wrap{max-width:1440px;margin:0 auto;padding:0 4px 18px;display:grid;gap:12px}
.v2180-top{display:grid;grid-template-columns:320px 1fr 290px 220px;gap:12px;align-items:stretch}
.v2180-card{background:#fff;border:1px solid #dfe5eb;border-radius:16px;padding:14px;box-shadow:0 8px 18px rgba(15,23,42,.05);min-width:0}
.v2180-card h3{margin:0 0 10px;font-size:15px;line-height:1.25;font-weight:800;color:#111827}
.v2180-sub{font-size:11px;color:#6b7280;line-height:1.4;margin-top:-5px;margin-bottom:9px}
.v2180-grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.v2180-tile{border:1px solid #d9e1e8;background:#fff;border-radius:12px;min-height:56px;padding:9px 10px;text-align:left;cursor:pointer;transition:.14s;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.v2180-tile b{font-size:14px;line-height:1.15;font-weight:800}
.v2180-tile small{font-size:10.5px;color:#6b7280;line-height:1.3;margin-top:4px}
.v2180-tile.active{background:#eef9f2;border:2px solid #4ec38a;padding:8px 9px;box-shadow:0 5px 12px rgba(62,207,142,.1)}
.v2180-checks{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}
.v2180-check{display:flex;align-items:center;gap:9px;border:1px solid #dfe5eb;border-radius:12px;padding:10px 11px;font-size:13px;font-weight:800;cursor:pointer}
.v2180-check input{width:16px;height:16px;margin:0;accent-color:#111827}
.v2180-check:nth-child(1){background:#edf3ff;border-color:#d2dfff}.v2180-check:nth-child(2){background:#fff5df;border-color:#f5dfad}.v2180-check:nth-child(3){background:#ebf8ef;border-color:#d0ecd7}
.v2180-field{display:grid;gap:6px;margin-bottom:9px}.v2180-field:last-child{margin-bottom:0}
.v2180-field label{font-size:12px;font-weight:800;color:#374151}
.v2180-field input{width:100%;height:42px;border:1px solid #d7dee6;border-radius:11px;padding:9px 11px;font-size:14px;outline:none;background:#fff;color:#111827}
.v2180-field input:focus{border-color:#61c394;box-shadow:0 0 0 3px rgba(78,195,138,.12)}
.v2180-payment-box .v2180-grid2{margin-bottom:10px}
.v2180-pricebox{border:1px solid #dfe5eb;background:#f8fafc;border-radius:14px;padding:12px 12px 10px}
.v2180-pricebox .label{font-size:12px;font-weight:800;color:#374151;margin-bottom:6px}
.v2180-pricebox input{width:100%;height:52px;border:1px solid #d6e5db;border-radius:12px;background:#fff;text-align:right;padding:8px 12px;font-size:28px;font-weight:900;color:#111827}
.v2180-pricebox input.auto{background:#eef9f2;color:#14532d;border-color:#bde2c8}
.v2180-pricetip{font-size:10.5px;line-height:1.4;color:#6b7280;margin-top:6px;min-height:15px}
.v2180-summary ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.v2180-summary li{display:flex;justify-content:space-between;gap:10px;font-size:12px}.v2180-summary li span:first-child{color:#64748b}.v2180-summary li b{font-weight:800;color:#111827;text-align:right}
.v2180-savebtn{width:100%;min-height:44px;border:0;border-radius:12px;background:#111827;color:#fff;font-size:14px;font-weight:800;cursor:pointer;margin-top:12px}
.v2180-savebtn:hover{background:#0b1220}
.v2180-save-note{font-size:10.5px;color:#6b7280;line-height:1.4;margin-top:8px}

.v2180-route{background:#fff;border:1px solid #dfe5eb;border-radius:16px;padding:14px;box-shadow:0 8px 18px rgba(15,23,42,.05)}
.v2180-route-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}
.v2180-route-head h3{margin:0;font-size:15px;font-weight:800}.v2180-route-head span{font-size:11px;color:#6b7280;text-align:right}
.v2180-route-grid{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr) 190px;gap:10px;align-items:end}
.v2180-google-host{position:relative}.v2180-google-host .google-suggest-menu{z-index:2600}
.v2180-arrow{display:flex;align-items:center;justify-content:center;height:42px;font-size:22px;color:#6b7280}
.v2180-tip{font-size:10.5px;color:#6b7280;line-height:1.35;margin-top:5px;min-height:15px}.v2180-tip.ok{color:#047857;font-weight:700}.v2180-tip.warn{color:#a16207}
.v2180-bottomline{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px;padding-top:10px;border-top:1px dashed #e5e7eb;font-size:11px;color:#6b7280}
.v2180-bottomline strong{color:#111827}

@media(max-width:1280px){.v2180-top{grid-template-columns:1fr 1fr}.v2180-route-grid{grid-template-columns:1fr 40px 1fr 180px}}
@media(max-width:760px){.v2180-top{grid-template-columns:1fr}.v2180-route-grid{grid-template-columns:1fr}.v2180-arrow{height:24px;transform:rotate(90deg)}.v2180-route-head{flex-direction:column;align-items:flex-start}.v2180-route-head span{text-align:left}}

/* ===== v2181SearchFixCss ===== */
/* Functional dropdowns only — do not alter the locked V21.14.80 layout. */
#v2180ReferenceAdmin .v2181-search-host{position:relative}
#v2180ReferenceAdmin .v2181-customer-menu,
#v2180ReferenceAdmin .v2181-gps-menu{z-index:9000!important}
#v2180ReferenceAdmin .v2181-search-empty{padding:10px 12px;font-size:11px;color:#64748b;background:#fff}

/* ===== v2182MasterCustomerGpsCss ===== */
#v2180ReferenceAdmin .v2182-search-host{position:relative}
#v2180ReferenceAdmin .v2182-menu{z-index:12000!important}
#v2180ReferenceAdmin .v2182-master-note{font-size:10.5px;color:#64748b;line-height:1.35;margin-top:5px}
#v2180ReferenceAdmin .v2182-master-note.ok{color:#047857;font-weight:700}
#v2180ReferenceAdmin .v2182-search-empty{padding:10px 12px;font-size:11px;color:#9a3412;background:#fff7ed}
#v2180ReferenceAdmin input[readonly]{background:#f8fafc!important;color:#475569!important}

/* ===== v2183UnifiedCustomerCss ===== */
#v2180ReferenceAdmin .v2183-smart-host{position:relative}
#v2180ReferenceAdmin .v2183-menu{z-index:13000!important}
#v2180ReferenceAdmin .v2183-source-note{font-size:10.5px;line-height:1.4;color:#64748b;margin-top:5px;min-height:15px}
#v2180ReferenceAdmin .v2183-source-note.master{color:#047857;font-weight:700}
#v2180ReferenceAdmin .v2183-source-note.google{color:#1d4ed8;font-weight:700}
#v2180ReferenceAdmin .v2183-group{padding:7px 11px 5px;background:#f8fafc;color:#64748b;font-size:10px;font-weight:800;letter-spacing:.02em;border-top:1px solid #eef2f7}
#v2180ReferenceAdmin .v2183-empty{padding:9px 11px;font-size:11px;color:#64748b;background:#fff}
#v2180ReferenceAdmin #v2180Pickup[readonly]{background:#f8fafc!important;color:#334155!important;cursor:default}
#v2180ReferenceAdmin .v2183-origin-note{font-size:10.5px;color:#64748b;line-height:1.35;margin-top:5px}
#v2180ReferenceAdmin .v2183-origin-note.ok{color:#047857;font-weight:700}
#v2180ReferenceAdmin .v2183-origin-note.warn{color:#a16207}

/* ===== v2185InlineDestinationCss ===== */
#v2180ReferenceAdmin .v2185-customer-dest-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start;margin-bottom:9px}
#v2180ReferenceAdmin .v2185-customer-dest-row .v2180-field{margin-bottom:0!important}
#v2180ReferenceAdmin .v2185-customer-dest-row .google-suggest-menu{z-index:15000!important}
#v2180ReferenceAdmin .v2180-route{display:none!important}
#v2180ReferenceAdmin .v2180-checks{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin-top:7px!important}
#v2180ReferenceAdmin .v2180-check{min-height:36px!important;padding:5px 7px!important;border-radius:9px!important;gap:5px!important;font-size:10.5px!important;line-height:1.15!important;justify-content:flex-start!important;white-space:nowrap}
#v2180ReferenceAdmin .v2180-check input{width:13px!important;height:13px!important;min-width:13px!important;min-height:13px!important}
#v2180ReferenceAdmin .v2180-tile{min-height:48px!important;padding:7px 9px!important}
#v2180ReferenceAdmin .v2180-tile b{font-size:13px!important}
#v2180ReferenceAdmin .v2180-tile small{font-size:9.5px!important;margin-top:2px!important}
#v2180ReferenceAdmin .v2180-card{padding:12px!important}
#v2180ReferenceAdmin .v2185-origin-summary{font-size:10.5px;color:#047857;font-weight:700;line-height:1.35;padding:6px 8px;background:#f0fdf4;border:1px solid #d1fae5;border-radius:9px;margin:-2px 0 8px}
#v2180ReferenceAdmin .v2185-origin-summary.warn{color:#92400e;background:#fffbeb;border-color:#fde68a}
@media(max-width:760px){#v2180ReferenceAdmin .v2185-customer-dest-row{grid-template-columns:1fr}#v2180ReferenceAdmin .v2180-checks{grid-template-columns:1fr 1fr 1fr!important}.v2180-check{white-space:normal!important}}

/* ===== v2195OodaStabilityCss ===== */
#v2180ReferenceAdmin .v2180-checks{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin-top:7px!important}
#v2180ReferenceAdmin .v2180-check{display:flex!important;align-items:center!important;gap:5px!important;min-height:34px!important;padding:6px 7px!important;border-radius:9px!important;font-size:10px!important;line-height:1.2!important;white-space:normal!important;overflow-wrap:anywhere!important}
#v2180ReferenceAdmin .v2180-check input{width:13px!important;height:13px!important;min-width:13px!important;flex:0 0 13px!important;margin:0!important}
#v2180ReferenceAdmin .v2195-stop-tools{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:6px}
#v2180ReferenceAdmin .v2195-add-stop{height:32px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#334155;padding:0 11px;font-size:11px;font-weight:800;cursor:pointer}
#v2180ReferenceAdmin .v2195-add-stop:hover{background:#f8fafc;border-color:#94a3b8}
#v2180ReferenceAdmin .v2195-extra-stops{display:grid;gap:7px;margin-top:7px}
#v2180ReferenceAdmin .v2195-stop{border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;padding:7px}
#v2180ReferenceAdmin .v2195-stop-main{display:grid;grid-template-columns:24px minmax(0,1fr) 76px 26px;gap:6px;align-items:center}
#v2180ReferenceAdmin .v2195-stop-no{width:24px;height:24px;border-radius:999px;background:#111827;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:900}
#v2180ReferenceAdmin .v2195-place-host{position:relative;min-width:0}
#v2180ReferenceAdmin .v2195-place-host input{width:100%;height:34px!important;min-height:34px!important;border:1px solid #d7dee6;border-radius:8px;padding:6px 8px!important;font-size:11px!important;background:#fff;color:#111827;outline:none}
#v2180ReferenceAdmin .v2195-place-host input:focus{border-color:#61c394;box-shadow:0 0 0 2px rgba(78,195,138,.11)}
#v2180ReferenceAdmin .v2195-menu{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30000;background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 14px 30px rgba(15,23,42,.2);max-height:290px;overflow:auto;display:none}
#v2180ReferenceAdmin .v2195-menu.show{display:block}
#v2180ReferenceAdmin .v2195-menu .google-suggest-item{padding:9px 10px!important}
#v2180ReferenceAdmin .v2195-stop-price{height:34px;border:1px solid #c8e8d2;border-radius:8px;background:#eef9f2;color:#14532d;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;text-align:center;padding:3px}
#v2180ReferenceAdmin .v2195-stop-price.wait{background:#fff;border-color:#e2e8f0;color:#64748b;font-size:9.5px;font-weight:700}
#v2180ReferenceAdmin .v2195-remove{width:26px;height:26px;border:1px solid #e5e7eb;background:#fff;color:#64748b;border-radius:7px;font-size:16px;cursor:pointer;padding:0}
#v2180ReferenceAdmin .v2195-remove:hover{background:#fff1f2;color:#be123c;border-color:#fecdd3}
#v2180ReferenceAdmin .v2195-contact{display:none;grid-template-columns:1fr 1fr;gap:5px;margin-top:6px;padding-top:6px;border-top:1px dashed #dbe3ea}
#v2180ReferenceAdmin .v2195-contact.show{display:grid}
#v2180ReferenceAdmin .v2195-contact input{height:30px!important;min-height:30px!important;border:1px solid #d7dee6;border-radius:7px;padding:4px 6px!important;font-size:10.5px!important;background:#fff}
#v2180ReferenceAdmin .v2195-stop1-meta{display:none;grid-template-columns:1fr 1fr;gap:5px;margin-top:6px;padding-top:6px;border-top:1px dashed #dbe3ea}
#v2180ReferenceAdmin .v2195-stop1-meta.show{display:grid}
#v2180ReferenceAdmin .v2195-stop1-meta input{height:30px!important;min-height:30px!important;border:1px solid #d7dee6;border-radius:7px;padding:4px 6px!important;font-size:10.5px!important;background:#fff}
#v2180ReferenceAdmin .v2195-price-each{font-size:9.5px;color:#047857;font-weight:800;margin-top:4px;min-height:13px}
#v2180ReferenceAdmin #v2180Price{font-size:34px!important;line-height:1!important;font-weight:900!important;text-align:center!important;color:#14532d!important;background:#eef9f2!important;border:2px solid #86cfa1!important;min-height:58px!important;height:58px!important;padding:7px 10px!important;letter-spacing:.4px!important}
#v2180ReferenceAdmin #v2180Price[readonly]{cursor:default}
#v2180ReferenceAdmin #v2180PriceTip{min-height:16px!important;font-size:10.5px!important;line-height:1.35!important}
#v2180ReferenceAdmin #v2180PriceTip.v2195-ok{color:#047857!important;font-weight:800!important}
#v2180ReferenceAdmin #v2180PriceTip.v2195-work{color:#1d4ed8!important;font-weight:700!important}
#v2180ReferenceAdmin #v2180PriceTip.v2195-warn{color:#a16207!important;font-weight:700!important}
#v2180ReferenceAdmin .v2195-assign{margin-top:9px;padding-top:9px;border-top:1px solid #e5e7eb}
#v2180ReferenceAdmin .v2195-assign-head{display:flex;justify-content:space-between;gap:7px;align-items:center;margin-bottom:6px;font-size:11px;font-weight:800}
#v2180ReferenceAdmin .v2195-assign-state{font-size:9.5px;color:#64748b;background:#f1f5f9;border-radius:999px;padding:3px 7px;white-space:nowrap}
#v2180ReferenceAdmin .v2195-assign-state.on{background:#ecfdf5;color:#047857}
#v2180ReferenceAdmin .v2195-assign select{width:100%;height:34px;border:1px solid #d7dee6;border-radius:8px;padding:5px 7px;font-size:11px;background:#fff;color:#111827;margin-top:5px}
#v2180ReferenceAdmin .v2195-assign [hidden]{display:none!important}
@media(max-width:760px){
 #v2180ReferenceAdmin .v2195-stop-main{grid-template-columns:22px minmax(0,1fr) 68px 24px}
 #v2180ReferenceAdmin .v2195-contact,#v2180ReferenceAdmin .v2195-stop1-meta{grid-template-columns:1fr}
}

/* ===== v211500CustomerMapCss ===== */
.v211500-map-pin{position:absolute;transform:translate(-50%,-100%);z-index:999999;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.32))}
.v211500-map-pin .v211500-bubble{width:34px;height:34px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;border:3px solid #fff;background:#111827}
.v211500-map-pin.origin .v211500-bubble{background:#059669}
.v211500-map-pin .v211500-num{transform:rotate(45deg);color:#fff;font:800 13px/1 Arial,sans-serif}

/* ===== v211501CustomerSettingsCss ===== */
:root{--pe-gold:#d6a644;--pe-gold2:#efc978;--pe-ink:#111827;--pe-muted:#768095;--pe-line:#e2e6ec}
.cp-settings-screen{background:#f7f8fa;min-height:calc(100vh - 78px);padding:30px 24px 120px}
.cp-settings-shell{max-width:940px;margin:0 auto}
.cp-settings-title-row{display:flex;gap:16px;align-items:center;margin-bottom:20px}.cp-settings-title-icon{font-size:46px;line-height:1}.cp-settings-title-row h1{margin:0;font-size:34px;line-height:1.05;color:#0b1020}.cp-settings-title-row p{margin:7px 0 0;color:#7a8497;font-size:17px;font-weight:600}
.cp-settings-profile-card{display:grid;grid-template-columns:100px 1fr auto;gap:20px;align-items:center;background:linear-gradient(110deg,#fffaf0,#fff);border:1px solid #efd59f;border-radius:18px;padding:22px 24px;margin-bottom:22px}.cp-settings-logo-wrap{width:92px;height:92px;border-radius:50%;background:#090b0f;display:flex;align-items:center;justify-content:center;overflow:hidden}.cp-settings-logo-wrap img{width:86%;height:86%;object-fit:contain}.cp-settings-profile-main h2{margin:0 0 3px;font-size:23px;color:#111827}.cp-settings-profile-type{color:#738096;font-size:15px;font-weight:700}.cp-settings-code{margin-top:11px;color:#738096;font-size:15px}.cp-settings-code b{color:#1f2937;font-size:17px;margin-left:6px}.cp-settings-edit{border:1px solid #cfd7e4;border-radius:10px;background:#fff;padding:11px 16px;font-weight:800;font-size:15px;color:#1f2937;cursor:pointer}
.cp-settings-group{margin:20px 0}.cp-settings-group h3{margin:0 0 10px;color:#6f7a8f;font-size:20px}.cp-settings-list{background:#fff;border:1px solid #dfe4eb;border-radius:15px;overflow:hidden}.cp-settings-list>button{width:100%;display:grid;grid-template-columns:54px 1fr auto auto;align-items:center;gap:12px;border:0;border-bottom:1px solid #e7ebf0;background:#fff;padding:14px 18px;text-align:left;cursor:pointer;color:#172033}.cp-settings-list>button:last-child{border-bottom:0}.cp-settings-list>button:hover{background:#fcfcfd}.cp-settings-row-icon{width:44px;height:44px;border-radius:50%;background:#f0f3f7;display:flex;align-items:center;justify-content:center;font-size:22px}.cp-settings-row-copy{display:flex;flex-direction:column;gap:3px}.cp-settings-row-copy b{font-size:17px}.cp-settings-row-copy small{font-size:14px;color:#8490a4;font-weight:600}.cp-settings-row-value{font-weight:800;color:#263044}.cp-settings-chevron{font-size:34px;line-height:1;color:#111827}.cp-settings-logout{width:100%;display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:12px;background:#fff1f2;border:1px solid #ffd2d6;border-radius:14px;padding:14px 18px;color:#e11d2e;text-align:left;cursor:pointer}.cp-settings-logout>span:first-child{width:44px;height:44px;border-radius:50%;background:#ffe3e6;display:flex;align-items:center;justify-content:center;font-size:25px}.cp-settings-logout>span:nth-child(2){display:flex;flex-direction:column}.cp-settings-logout b{font-size:18px}.cp-settings-logout small{color:#ef6a77;font-weight:600;margin-top:2px}
.cp-settings-bottom-nav{display:none}.cp-settings-modal-overlay{position:fixed;inset:0;background:rgba(8,12,20,.45);z-index:3000;display:none;align-items:center;justify-content:center;padding:20px}.cp-settings-modal-overlay.show{display:flex}.cp-settings-modal{width:min(620px,100%);max-height:min(82vh,760px);overflow:auto;background:#fff;border-radius:20px;box-shadow:0 28px 80px rgba(0,0,0,.25)}.cp-settings-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid #e6e8ec;position:sticky;top:0;background:#fff;z-index:2}.cp-settings-modal-head h3{margin:0;font-size:22px}.cp-settings-modal-head p{margin:4px 0 0;color:#7c8798}.cp-settings-modal-head button{border:0;background:#f2f4f7;border-radius:50%;width:38px;height:38px;font-size:25px;cursor:pointer}.cp-settings-modal-body,.cp-settings-form{padding:20px 22px}.cp-settings-form label{display:block;font-weight:800;color:#354052;margin:0 0 13px}.cp-settings-form input,.cp-settings-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #d8dee8;border-radius:10px;padding:11px 12px;font-size:15px}.cp-settings-form textarea{min-height:78px;resize:vertical}.cp-settings-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cp-settings-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.cp-settings-form-actions button{border-radius:10px;padding:10px 16px;font-weight:800;cursor:pointer}.cp-settings-form-actions .secondary{border:1px solid #d7dce4;background:#fff}.cp-settings-form-actions .primary{border:1px solid #d7a83d;background:#e3b85c;color:#111}.cp-settings-info-card{padding:20px 22px}.cp-settings-info-card p{line-height:1.65;color:#475569}.cp-settings-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #edf0f3}.cp-settings-toggle-row:last-child{border-bottom:0}.cp-settings-toggle-row input{width:22px;height:22px}.cp-settings-badge{display:inline-flex;padding:5px 10px;border-radius:999px;background:#f7e8bd;color:#7a5410;font-weight:800}
@media(max-width:820px){body.customer-settings-active .cp-topbar{position:sticky;top:0;z-index:50}.cp-settings-screen{padding:18px 16px 108px}.cp-settings-shell{max-width:none}.cp-settings-title-row{margin-bottom:14px}.cp-settings-title-icon{font-size:38px}.cp-settings-title-row h1{font-size:30px}.cp-settings-title-row p{font-size:15px}.cp-settings-profile-card{grid-template-columns:78px 1fr;gap:14px;padding:16px}.cp-settings-logo-wrap{width:72px;height:72px}.cp-settings-edit{grid-column:2;justify-self:start;margin-top:-4px}.cp-settings-profile-main h2{font-size:19px}.cp-settings-group{margin:17px 0}.cp-settings-group h3{font-size:18px}.cp-settings-list>button{grid-template-columns:46px 1fr auto auto;padding:13px 12px;gap:8px}.cp-settings-row-icon{width:38px;height:38px;font-size:19px}.cp-settings-row-copy b{font-size:15px}.cp-settings-row-copy small{font-size:12px}.cp-settings-chevron{font-size:28px}.cp-settings-bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;background:rgba(255,255,255,.97);border-top:1px solid #e4e7eb;z-index:80;padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));backdrop-filter:blur(15px)}.cp-settings-bottom-nav button{position:relative;border:0;background:transparent;border-radius:12px;padding:7px 4px;color:#6f7889;display:flex;flex-direction:column;align-items:center;gap:3px}.cp-settings-bottom-nav button>span{font-size:24px}.cp-settings-bottom-nav button>b{font-size:11px}.cp-settings-bottom-nav button.active{background:#fff4dc;color:#8b5b00}.cp-settings-msg-ico{position:relative}.cp-settings-msg-ico em{position:absolute;right:-17px;top:-10px;background:#f21d2f;color:#fff;font-size:10px;border-radius:999px;padding:3px 5px;font-style:normal}.cp-settings-form-grid{grid-template-columns:1fr}.cp-settings-modal-overlay{align-items:flex-end;padding:0}.cp-settings-modal{width:100%;max-height:88vh;border-radius:20px 20px 0 0}}

/* ===== v211502CustomerMessagesCss ===== */
body.customer-messages-active #cpAnnouncementBox{display:none!important}
.cp-messages-screen{background:#f7f8fb;min-height:calc(100vh - 76px);padding:0 0 96px;color:#111827}
.cp-messages-shell{width:min(980px,calc(100% - 32px));margin:0 auto;padding:28px 0 20px}
.cp-messages-mobile-brand{display:none}
.cp-messages-title{margin:0 0 20px}.cp-messages-title h1{font-size:38px;line-height:1.05;margin:0;color:#0a0a0a;font-weight:950;letter-spacing:-.8px}.cp-messages-title p{font-size:19px;color:#7a8496;margin:6px 0 0;font-weight:700}
.cp-msg-unread-card{width:100%;border:1.5px solid #e9bd58;background:linear-gradient(110deg,#fffdfa,#fff8e8);border-radius:16px;padding:20px 22px;display:grid;grid-template-columns:74px 1fr auto;align-items:center;gap:18px;text-align:left;cursor:pointer;color:#111827;box-shadow:0 5px 18px rgba(111,78,10,.04)}
.cp-msg-unread-icon{width:64px;height:64px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:36px;position:relative;border:1px solid #f4ead2}.cp-msg-unread-icon::after{content:'';position:absolute;width:13px;height:13px;border-radius:50%;background:#d89a1c;right:6px;top:7px;border:2px solid #fff}
.cp-msg-unread-copy b{display:block;font-size:23px;line-height:1.2}.cp-msg-unread-copy strong{font-size:31px;color:#c68d18;margin:0 5px}.cp-msg-unread-copy small{display:block;color:#8490a3;font-size:15px;margin-top:5px}.cp-msg-unread-chevron{font-size:38px;color:#111827;font-weight:400}
.cp-msg-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin:22px 0 14px}.cp-msg-search{height:58px;border:1.5px solid #d7dce5;border-radius:14px;background:#fff;display:flex;align-items:center;gap:11px;padding:0 17px}.cp-msg-search span{font-size:26px;color:#14213d}.cp-msg-search input{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;margin:0!important;padding:0!important;font-size:16px!important;color:#111827;width:100%;height:auto!important}.cp-msg-search input::placeholder{color:#8d97a8}.cp-msg-readall{height:58px;border:1px solid #d7dce5;background:#fff;border-radius:14px;padding:0 17px;font-weight:850;color:#334155;white-space:nowrap;cursor:pointer}.cp-msg-readall:disabled{opacity:.45;cursor:not-allowed}
.cp-msg-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-radius:13px;background:#eef1f5;overflow:hidden;margin-bottom:16px}.cp-msg-tab{height:57px;border:0;background:transparent;color:#657086;font-size:16px;font-weight:850;cursor:pointer;position:relative}.cp-msg-tab+.cp-msg-tab::before{content:'';position:absolute;left:0;top:12px;bottom:12px;width:1px;background:#d7dce5}.cp-msg-tab.active{background:linear-gradient(135deg,#e3b859,#f0c96f);color:#111827}.cp-msg-tab.active::before,.cp-msg-tab.active+.cp-msg-tab::before{display:none}
.cp-msg-list{display:grid;gap:12px}.cp-msg-card{width:100%;display:grid;grid-template-columns:10px 78px minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid #dce1e8;border-radius:15px;background:#fff;padding:17px 18px 17px 13px;text-align:left;color:#111827;cursor:pointer;box-shadow:0 2px 8px rgba(15,23,42,.025)}.cp-msg-card:hover{border-color:#c9d0dc;box-shadow:0 7px 22px rgba(15,23,42,.06)}.cp-msg-card.unread{border-color:#d5dce6;background:#fff}.cp-msg-dot{width:9px;height:9px;border-radius:50%;background:#d3d9e2}.cp-msg-card.unread .cp-msg-dot{background:#15b45d}.cp-msg-card.unread.warn .cp-msg-dot{background:#dc930e}.cp-msg-avatar{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;font-size:31px;background:#f0f3f7;color:#121827;overflow:hidden}.cp-msg-avatar.job{background:#e9f3ff;color:#0969da}.cp-msg-avatar.messenger{background:#f2f5f8}.cp-msg-avatar.system{background:#f2f3f5}.cp-msg-avatar.cancel{background:#ffe6e9;color:#e11d48}.cp-msg-avatar img{width:100%;height:100%;object-fit:cover}
.cp-msg-main{min-width:0}.cp-msg-main h3{margin:0 0 4px;font-size:20px;line-height:1.25;font-weight:950}.cp-msg-main .meta{font-size:15px;color:#68758a;line-height:1.55}.cp-msg-main .meta b{color:#475569}.cp-msg-side{display:flex;align-items:center;gap:13px;min-width:145px;justify-content:flex-end}.cp-msg-side-inner{text-align:right}.cp-msg-time{font-size:15px;color:#68758a;margin-bottom:8px}.cp-msg-pill{display:inline-flex;align-items:center;gap:7px;border-radius:13px;padding:8px 12px;font-size:14px;font-weight:900;background:#eef2f7;color:#253047;white-space:nowrap}.cp-msg-pill.green{background:#dcf8e8;color:#098d42}.cp-msg-pill.blue{background:#e3f0ff;color:#0868d4}.cp-msg-pill.red{background:#ffe2e5;color:#ed1c35}.cp-msg-pill.gray{background:#eef0f3;color:#28364c}.cp-msg-pill.gold{background:#fff4d8;color:#946600}.cp-msg-arrow{font-size:34px;color:#111827;font-weight:300}.cp-msg-empty{border:1px dashed #cbd5e1;background:#fff;border-radius:16px;padding:50px 20px;text-align:center;color:#64748b;font-weight:750}
.cp-msg-bottom-nav{display:none}
.cp-msg-detail-overlay{position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:130000;display:none;align-items:center;justify-content:center;padding:20px}.cp-msg-detail-overlay.show{display:flex}.cp-msg-detail-modal{width:min(650px,96vw);max-height:88vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 28px 90px rgba(0,0,0,.28)}.cp-msg-detail-head{padding:18px 20px;border-bottom:1px solid #e8ebef;display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.cp-msg-detail-head h3{margin:0;font-size:21px}.cp-msg-detail-head p{margin:4px 0 0;color:#7a8496;font-size:13px}.cp-msg-detail-head button{width:38px;height:38px;border:0;border-radius:50%;background:#f1f4f7;font-size:24px;cursor:pointer}.cp-msg-detail-body{padding:20px}.cp-msg-detail-body img{width:100%;max-height:420px;object-fit:contain;border-radius:13px;background:#f7f8fa;border:1px solid #e5e7eb;margin-bottom:15px}.cp-msg-detail-body .message{font-size:16px;line-height:1.75;white-space:pre-wrap;color:#243044}.cp-msg-detail-actions{padding:0 20px 20px;display:flex;gap:10px}.cp-msg-detail-actions button{flex:1;border-radius:12px;padding:12px;border:1px solid #d6dbe3;background:#fff;font-weight:900;cursor:pointer}.cp-msg-detail-actions .primary{background:#111827;color:#fff;border-color:#111827}
@media(max-width:820px){
 body.customer-messages-active .cp-topbar{display:none!important}
 .cp-messages-screen{min-height:100vh;padding-bottom:90px;background:#fff}.cp-messages-shell{width:100%;padding:0 16px 18px}.cp-messages-mobile-brand{display:flex;height:122px;background:#050607;color:#fff;margin:0 -16px 22px;align-items:center;justify-content:center;position:relative}.cp-messages-mobile-brand b{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:36px;background:linear-gradient(90deg,#efc869,#fff,#efc869);-webkit-background-clip:text;background-clip:text;color:transparent}.cp-messages-mobile-brand small{position:absolute;left:50%;top:80px;transform:translateX(-50%);font-size:10px;letter-spacing:4px;color:#fff;white-space:nowrap}.cp-messages-mobile-brand .bell{position:absolute;right:18px;top:43px;font-size:28px}.cp-messages-mobile-brand .bell::after{content:'';position:absolute;width:8px;height:8px;background:#e1aa35;border-radius:50%;right:-1px;top:-1px}
 .cp-messages-title h1{font-size:32px}.cp-messages-title p{font-size:18px}.cp-msg-unread-card{grid-template-columns:64px 1fr auto;padding:17px 15px;gap:12px}.cp-msg-unread-icon{width:58px;height:58px;font-size:31px}.cp-msg-unread-copy b{font-size:20px}.cp-msg-unread-copy strong{font-size:28px}.cp-msg-unread-copy small{font-size:13px}.cp-msg-tools{grid-template-columns:1fr;margin-top:20px}.cp-msg-readall{display:none}.cp-msg-tabs{margin-bottom:14px}.cp-msg-tab{font-size:15px;height:54px}.cp-msg-card{grid-template-columns:8px 64px minmax(0,1fr) auto;padding:15px 13px 15px 9px;gap:11px}.cp-msg-avatar{width:58px;height:58px;font-size:28px}.cp-msg-main h3{font-size:17px}.cp-msg-main .meta{font-size:13px;line-height:1.5}.cp-msg-side{min-width:116px;gap:7px}.cp-msg-time{font-size:13px}.cp-msg-pill{font-size:12px;padding:7px 9px}.cp-msg-arrow{font-size:28px}.cp-msg-bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:120;background:rgba(255,255,255,.97);border-top:1px solid #e2e6ec;padding:7px 8px calc(8px + env(safe-area-inset-bottom));backdrop-filter:blur(16px)}.cp-msg-bottom-nav button{position:relative;border:0;background:transparent;border-radius:12px;padding:7px 3px;display:flex;flex-direction:column;align-items:center;gap:2px;color:#69758a}.cp-msg-bottom-nav button span{font-size:25px;line-height:1}.cp-msg-bottom-nav button b{font-size:11px}.cp-msg-bottom-nav button.active{color:#ad7300;background:#fff5df}.cp-msg-nav-badge{position:absolute;top:1px;right:calc(50% - 25px);background:#f4202f;color:white;border-radius:999px;padding:2px 5px;font-size:10px;font-style:normal;min-width:20px;text-align:center}
 .cp-msg-detail-overlay{align-items:flex-end;padding:0}.cp-msg-detail-modal{width:100%;max-height:88vh;border-radius:20px 20px 0 0}
}
@media(max-width:570px){.cp-msg-card{grid-template-columns:7px 54px minmax(0,1fr) 25px}.cp-msg-avatar{width:50px;height:50px;font-size:25px}.cp-msg-side-inner{display:none}.cp-msg-side{min-width:auto}.cp-msg-main h3{font-size:16px}.cp-msg-main .meta{font-size:12px}.cp-msg-unread-copy b{font-size:17px}.cp-msg-unread-copy strong{font-size:23px}}

/* ===== v211503CustomerHistoryCss ===== */
body.customer-history-v3-active{background:#f7f8fb}
body.customer-history-v3-active #cpAnnouncementBox{display:none!important}
.cp-history-v3-screen{background:#f7f8fb;min-height:calc(100vh - 76px);padding:0 0 34px;color:#111827}
.cp-h3-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:26px 0 34px}
.cp-h3-mobile-brand{display:none}
.cp-h3-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.cp-h3-title h1{margin:0;font-size:36px;line-height:1.05;font-weight:950;letter-spacing:-.8px;color:#090b0f}
.cp-h3-title p{margin:6px 0 0;color:#748094;font-size:18px;font-weight:700}
.cp-h3-new{border:0;border-radius:13px;padding:13px 18px;background:linear-gradient(135deg,#e4b754,#f2ce78);color:#111827;font-size:15px;font-weight:900;display:flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 4px 13px rgba(160,112,15,.12)}
.cp-h3-new span{font-size:23px;font-weight:400;line-height:1}
.cp-h3-tabs{display:grid;grid-template-columns:repeat(5,1fr);background:#edf0f4;border-radius:13px;overflow:hidden;margin-bottom:15px}
.cp-h3-tab{position:relative;height:55px;border:0;background:transparent;color:#68748a;font-size:15px;font-weight:850;cursor:pointer}
.cp-h3-tab+.cp-h3-tab:before{content:'';position:absolute;left:0;top:12px;bottom:12px;width:1px;background:#d8dde6}
.cp-h3-tab.active{background:linear-gradient(135deg,#e2b456,#f0c86d);color:#111827}
.cp-h3-tab.active:before,.cp-h3-tab.active+.cp-h3-tab:before{display:none}
.cp-h3-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-bottom:12px}
.cp-h3-search{height:56px;display:flex;align-items:center;gap:11px;background:#fff;border:1.5px solid #d7dce5;border-radius:13px;padding:0 16px}
.cp-h3-search span{font-size:27px;color:#1e293b}
.cp-h3-search input{width:100%!important;height:auto!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;margin:0!important;font-size:15px!important;color:#111827}
.cp-h3-search input::placeholder{color:#8590a3}
.cp-h3-filter-btn{height:56px;border:1.5px solid #d7dce5;border-radius:13px;background:#fff;color:#273449;padding:0 18px;font-size:15px;font-weight:900;display:flex;align-items:center;gap:8px;cursor:pointer}
.cp-h3-filter-btn span{font-size:21px}
.cp-h3-filter-panel{display:none;grid-template-columns:1fr 1fr auto;gap:10px;background:#fff;border:1px solid #dce1e8;border-radius:13px;padding:12px;margin-bottom:14px}
.cp-h3-filter-panel.show{display:grid}
.cp-h3-filter-panel label{display:grid;gap:5px;color:#64748b;font-size:11px;font-weight:800}
.cp-h3-filter-panel select{height:39px;border:1px solid #d8dde6;border-radius:10px;padding:0 10px;background:#fff;color:#111827;font-size:13px}
.cp-h3-filter-clear{align-self:end;height:39px;border:0;border-radius:10px;background:#f1f4f7;color:#334155;padding:0 14px;font-weight:850;cursor:pointer}
.cp-h3-summary{display:flex;justify-content:space-between;align-items:center;color:#7a8495;font-size:12px;margin:0 3px 10px}
.cp-h3-list{display:grid;gap:10px}
.cp-h3-card{display:grid;grid-template-columns:112px minmax(0,1fr) 190px;gap:0;background:#fff;border:1px solid #dce1e8;border-radius:14px;overflow:hidden;cursor:pointer;box-shadow:0 2px 8px rgba(15,23,42,.025);transition:.16s ease;text-align:left;color:#111827}
.cp-h3-card:hover{border-color:#c9d0dc;box-shadow:0 8px 24px rgba(15,23,42,.06);transform:translateY(-1px)}
.cp-h3-date{padding:16px 13px;background:#fafbfc;border-right:1px solid #e5e8ed;color:#273449;display:flex;flex-direction:column;justify-content:flex-start;gap:5px}
.cp-h3-date b{font-size:15px;line-height:1.2}.cp-h3-date span{font-size:14px;color:#66758a}
.cp-h3-main{padding:15px 16px;min-width:0}
.cp-h3-jobline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.cp-h3-jobline strong{font-size:18px;line-height:1.15;color:#0b0d12}.cp-h3-kind{display:inline-flex;align-items:center;gap:5px;font-size:14px;font-weight:900}.cp-h3-kind.urgent{color:#e79b00}.cp-h3-kind.replacement{color:#1263b8}
.cp-h3-company{font-size:14px;font-weight:800;color:#566277;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-h3-route{display:grid;gap:3px;color:#5b687d;font-size:13px;line-height:1.35}
.cp-h3-route span{display:flex;align-items:flex-start;gap:7px}.cp-h3-route i{font-style:normal;font-size:14px;line-height:1.2}.cp-h3-route .pick i{color:#08a84e}.cp-h3-route .drop i{color:#ef233c}
.cp-h3-rider{display:flex;align-items:center;gap:8px;margin-top:7px;color:#435067;font-size:13px;font-weight:800}
.cp-h3-rider img,.cp-h3-avatar-fallback{width:33px;height:33px;border-radius:50%;object-fit:cover;background:#eef1f5;border:1px solid #e2e6eb}
.cp-h3-avatar-fallback{display:grid;place-items:center;font-size:15px;color:#64748b}
.cp-h3-side{padding:15px 15px 15px 10px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:13px;position:relative}
.cp-h3-status{display:inline-flex;align-items:center;gap:7px;border-radius:12px;padding:8px 12px;font-size:13px;font-weight:900;white-space:nowrap}
.cp-h3-status.done{background:#dcf8e7;color:#078f42}.cp-h3-status.progress{background:#e4f0ff;color:#0868d4}.cp-h3-status.pending{background:#eef0f4;color:#354258}.cp-h3-status.cancel{background:#ffe2e6;color:#ec1737}
.cp-h3-price{font-size:22px;font-weight:950;color:#090b0f}.cp-h3-arrow{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:31px;color:#0f172a;font-weight:300}
.cp-h3-empty{background:#fff;border:1px dashed #cbd5e1;border-radius:16px;text-align:center;padding:55px 20px;color:#718096;font-size:14px;font-weight:750}
.cp-h3-bottom-nav{display:none}
.cp-h3-detail-overlay{position:fixed;inset:0;z-index:150000;background:rgba(15,23,42,.5);display:none;align-items:center;justify-content:center;padding:20px}.cp-h3-detail-overlay.show{display:flex}
.cp-h3-detail-modal{width:min(820px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 30px 100px rgba(0,0,0,.28)}
.cp-h3-detail-bar{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #e6e9ee;padding:14px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px}.cp-h3-detail-bar b{font-size:17px}.cp-h3-detail-bar button{width:38px;height:38px;border:0;border-radius:50%;background:#f0f3f6;font-size:24px;cursor:pointer;color:#111827}
.cp-h3-detail-slot{padding:4px 16px 18px}
body.customer-history-v3-active #cpHistoryDetail{padding:0;max-height:none;border:0}

@media(max-width:820px){
 body.customer-history-v3-active .cp-topbar{display:none!important}
 .cp-history-v3-screen{min-height:100vh;padding:0 0 92px;background:#fff}
 .cp-h3-shell{width:100%;padding:0 14px 18px}
 .cp-h3-mobile-brand{display:flex;height:120px;background:#050607;color:#fff;margin:0 -14px 18px;align-items:center;justify-content:center;position:relative}
 .cp-h3-mobile-brand b{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:35px;background:linear-gradient(90deg,#efc869,#fff,#efc869);-webkit-background-clip:text;background-clip:text;color:transparent}
 .cp-h3-mobile-brand small{position:absolute;left:50%;top:79px;transform:translateX(-50%);font-size:10px;letter-spacing:3.7px;color:#fff;white-space:nowrap}
 .cp-h3-new{position:absolute;right:14px;top:50px;height:42px;padding:0 12px;font-size:13px;border-radius:10px;z-index:2}.cp-h3-new span{font-size:20px}
 .cp-h3-head{margin-bottom:15px;position:relative}.cp-h3-title h1{font-size:30px}.cp-h3-title p{font-size:17px}
 .cp-h3-tabs{margin-bottom:13px}.cp-h3-tab{height:51px;font-size:13px;padding:0 4px}
 .cp-h3-tools{grid-template-columns:minmax(0,1fr) auto;gap:8px}.cp-h3-search{height:53px;padding:0 12px}.cp-h3-search input{font-size:14px!important}.cp-h3-filter-btn{height:53px;padding:0 12px;font-size:0}.cp-h3-filter-btn span{font-size:22px}.cp-h3-filter-btn:after{content:'ตัวกรอง';font-size:13px}
 .cp-h3-filter-panel{grid-template-columns:1fr 1fr;}.cp-h3-filter-clear{grid-column:1/-1}
 .cp-h3-summary{font-size:11px}
 .cp-h3-card{grid-template-columns:92px minmax(0,1fr) 128px;border-radius:12px}
 .cp-h3-date{padding:13px 9px}.cp-h3-date b{font-size:13px}.cp-h3-date span{font-size:13px}
 .cp-h3-main{padding:12px 10px}.cp-h3-jobline{gap:7px}.cp-h3-jobline strong{font-size:15px}.cp-h3-kind{font-size:12px}.cp-h3-company{font-size:12px}.cp-h3-route{font-size:12px}.cp-h3-rider{font-size:12px}.cp-h3-rider img,.cp-h3-avatar-fallback{width:29px;height:29px}
 .cp-h3-side{padding:12px 20px 12px 5px;gap:11px}.cp-h3-status{font-size:11px;padding:7px 8px}.cp-h3-price{font-size:19px}.cp-h3-arrow{font-size:25px;right:3px}
 .cp-h3-bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:125;background:rgba(255,255,255,.97);border-top:1px solid #e2e6ec;padding:7px 7px calc(8px + env(safe-area-inset-bottom));backdrop-filter:blur(16px)}
 .cp-h3-bottom-nav button{position:relative;border:0;background:transparent;border-radius:12px;padding:7px 2px;display:flex;flex-direction:column;align-items:center;gap:2px;color:#6f798a}.cp-h3-bottom-nav button span{font-size:25px;line-height:1}.cp-h3-bottom-nav button b{font-size:11px}.cp-h3-bottom-nav button.active{color:#141414;background:#fff5df}.cp-h3-bottom-nav button.active span{color:#c28a17}.cp-h3-nav-badge{position:absolute;top:1px;right:calc(50% - 25px);display:none;background:#f4202f;color:#fff;border-radius:999px;padding:2px 5px;min-width:20px;font-size:10px;font-style:normal;text-align:center}
 .cp-h3-detail-overlay{align-items:flex-end;padding:0}.cp-h3-detail-modal{width:100%;max-height:92vh;border-radius:20px 20px 0 0}.cp-h3-detail-slot{padding:4px 12px 20px}
}
@media(max-width:560px){
 .cp-h3-card{grid-template-columns:76px minmax(0,1fr) 105px}.cp-h3-date{padding:12px 7px}.cp-h3-date b{font-size:12px}.cp-h3-date span{font-size:12px}.cp-h3-jobline strong{font-size:14px}.cp-h3-kind{font-size:11px}.cp-h3-company{font-size:11px}.cp-h3-route{font-size:11px}.cp-h3-rider{font-size:11px}.cp-h3-status{font-size:10px;padding:6px 6px}.cp-h3-price{font-size:17px}
}

/* ===== v211504AdminCreateCss ===== */
/* POLITE EXPRESS V21.15.04 — ADMIN CREATE REFERENCE LAYOUT */
#admin.v21-admin.v21-view-create #v2179SimpleAdmin,
#admin.v21-admin.v21-view-create #v2180ReferenceAdmin{display:none!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer > .v2150-shell{display:grid!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference{font-family:"Noto Sans Thai","Segoe UI",Tahoma,sans-serif!important;color:#111827!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-shell{
  grid-template-columns:minmax(0,1.65fr) minmax(360px,.75fr)!important;
  grid-template-areas:
    "kind payment"
    "customer customer"
    "route map"
    "addon map"
    "assign map"
    "summary map"
    "save save"!important;
  gap:12px!important;max-width:1520px!important;margin:0 auto!important
}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-card{border:1px solid #dfe5eb!important;border-radius:16px!important;padding:14px 16px!important;background:#fff!important;box-shadow:0 6px 18px rgba(15,23,42,.04)!important;margin:0!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference #v2154KindCard{grid-area:kind!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference #v2154CustomerCard{grid-area:customer!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference #v2154UrgentRouteCard{grid-area:route!important;display:block!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference #v2150AddonCard{grid-area:addon!important;display:block!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference #v2150AddonCard + section{grid-area:assign!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference #v2150AddonCard + section + section{grid-area:payment!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-summary{grid-area:summary!important;background:#fff!important;border:1px solid #dfe5eb!important;border-radius:16px!important;box-shadow:0 6px 18px rgba(15,23,42,.04)!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-summary + div{grid-area:save!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference #v2154SharedFields{display:none!important}

#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-card-title{margin-bottom:10px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-card-title h3{font-size:16px!important;font-weight:800!important;margin:0!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-hint{font-size:11.5px!important;color:#6b7280!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference label{font-size:12.5px!important;font-weight:700!important;color:#374151!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference input,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference select,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference textarea{min-height:42px!important;border-radius:10px!important;font-size:14px!important}

#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-choice-row,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-payment{grid-template-columns:1fr 1fr!important;gap:10px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-choice,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-pay{min-height:86px!important;border:1px solid #dfe5eb!important;border-radius:14px!important;padding:12px 13px!important;background:#fff!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-choice.active,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-pay.active{background:#fff8ea!important;border:2px solid #d99a24!important;box-shadow:0 7px 15px rgba(217,154,36,.12)!important;padding:11px 12px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-choice b,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-pay b{font-size:16px!important;font-weight:800!important;color:#111827!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-choice small,
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-pay small{font-size:12px!important;color:#6b7280!important}

#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference #v2154CustomerCard .v2150-grid{grid-template-columns:1.45fr 1.45fr 1fr 1fr!important;gap:10px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference #v2154CustomerCard .v2150-full{grid-column:auto!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference #v2154ReplacementInline{grid-column:1/-1!important}

#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference #v2154UrgentRouteCard .v2150-grid{display:block!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference #v2154UrgentPickupSlot{display:block!important;margin-bottom:10px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference #v2154PickupHost{display:block!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-route-list{gap:8px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-stop{padding:10px!important;border-radius:13px!important;background:#fff!important;border:1px solid #e2e8f0!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-stop-main{grid-template-columns:38px minmax(0,1fr) 150px 36px!important;gap:8px!important;align-items:end!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-pin{width:32px!important;height:32px!important;border-radius:50%!important;margin-bottom:5px!important;background:#111827!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-stop:first-child .v2150-pin{background:#d59b2f!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-stop details{margin-top:7px!important;padding-top:7px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-stop summary{font-size:11.5px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-add-stop{width:auto!important;display:block!important;margin:10px 0 0 auto!important;padding:9px 14px!important;border:1px solid #d99a24!important;color:#8a5a08!important;background:#fff8ea!important;border-radius:10px!important;font-size:13px!important;font-weight:800!important}

#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-addon-row{grid-template-columns:repeat(3,1fr)!important;gap:8px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-addon{font-size:13px!important;min-height:46px!important;border-radius:11px!important;background:#fff!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-assign-line{grid-template-columns:220px minmax(0,1fr)!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-save{background:linear-gradient(135deg,#c88b1f,#e2ac45)!important;color:#fff!important;min-height:50px!important;border-radius:12px!important;font-size:15px!important;font-weight:800!important}

.v21504-map-pane{grid-area:map;align-self:stretch;min-height:620px;background:#fff;border:1px solid #dfe5eb;border-radius:16px;padding:12px;box-shadow:0 6px 18px rgba(15,23,42,.04);display:flex;flex-direction:column;gap:10px}
.v21504-map-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.v21504-map-head b{display:block;font-size:16px}.v21504-map-head small{display:block;color:#6b7280;font-size:11px;margin-top:2px}.v21504-map-head label{font-size:11px!important;font-weight:600!important;display:flex!important;align-items:center!important;gap:6px!important;color:#475569!important}.v21504-map-head input{width:16px!important;height:16px!important;min-height:16px!important;margin:0!important}
.v21504-map{height:390px;min-height:390px;border-radius:13px;overflow:hidden;background:#eef2f5;border:1px solid #e2e8f0;position:relative}.v21504-map-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#64748b;font-size:13px;line-height:1.6;padding:20px}
.v21504-route-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v21504-route-stats span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:11px;padding:9px 10px;font-size:11.5px;color:#64748b}.v21504-route-stats b{display:block;color:#111827;font-size:18px;margin-top:2px}
.v21504-stop-order{border-top:1px solid #eef2f6;padding-top:8px}.v21504-stop-order-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.v21504-stop-order-head b{font-size:13px}.v21504-stop-order-head span{font-size:10.5px;color:#64748b}.v21504-order-row{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;align-items:start;padding:8px 0;border-bottom:1px solid #f0f2f4}.v21504-order-row:last-child{border-bottom:0}.v21504-order-row .n{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#ef4444;color:#fff;font-size:11px;font-weight:800}.v21504-order-row .n.start{background:#16a34a}.v21504-order-row b{display:block;font-size:11.5px}.v21504-order-row small{display:block;color:#64748b;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}

@media(max-width:1180px){
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-shell{grid-template-columns:1fr!important;grid-template-areas:"kind" "payment" "customer" "route" "map" "addon" "assign" "summary" "save"!important}
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference #v2154CustomerCard .v2150-grid{grid-template-columns:1fr 1fr!important}.v21504-map-pane{min-height:500px}.v21504-map{height:340px;min-height:340px}
}
@media(max-width:760px){
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference #v2154CustomerCard .v2150-grid,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-choice-row,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-payment,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-addon-row,
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-assign-line{grid-template-columns:1fr!important}
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-stop-main{grid-template-columns:32px minmax(0,1fr) 34px!important}
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-price{grid-column:2/3!important}
  #admin.v21-admin.v21-view-create #v2150QuickAdminComposer.v211504-admin-reference .v2150-remove{grid-column:3!important;grid-row:1!important}
  .v21504-map-pane{min-height:460px}.v21504-map{height:300px;min-height:300px}
}

/* ===== v211505AdminCreateVisibilityHotfix ===== */
/* V21.15.05: V21.14.80 and later legacy shells used mutually exclusive
   child selectors. Force the current V21.15.04 base composer to be the
   single visible create UI. */
#admin.v21-admin.v21-view-create #jobComposer{display:block!important;visibility:visible!important;opacity:1!important;min-height:720px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer{display:block!important;visibility:visible!important;opacity:1!important;padding:0!important;min-height:680px!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer > .v2150-shell{display:grid!important;visibility:visible!important;opacity:1!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer > :not(.v2150-shell){display:none!important}
/* ensure the active route/customer/payment cards are not suppressed by old custom shells */
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-shell > *{visibility:visible;opacity:1}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-hidden{display:none!important}
/* keep only one add-stop control */
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer #v2150AddStop{display:block!important}
#admin.v21-admin.v21-view-create #v2150QuickAdminComposer .v2150-add-stop:not(#v2150AddStop){display:none!important}

/* ===== v211506AdminCreateFinalFix ===== */
/* Final winner over V21.14.80's high-specificity :not(#v2180ReferenceAdmin) rule. */
#admin#admin.v21-admin.v21-view-create #jobComposer#jobComposer{
  display:block!important;visibility:visible!important;opacity:1!important;min-height:720px!important;
}
#admin#admin.v21-admin.v21-view-create #v2150QuickAdminComposer#v2150QuickAdminComposer{
  display:block!important;visibility:visible!important;opacity:1!important;padding:0!important;min-height:680px!important;
}
#admin#admin.v21-admin.v21-view-create #v2150QuickAdminComposer#v2150QuickAdminComposer > .v2150-shell{
  display:grid!important;visibility:visible!important;opacity:1!important;
}
#admin#admin.v21-admin.v21-view-create #v2150QuickAdminComposer#v2150QuickAdminComposer > #v2179SimpleAdmin,
#admin#admin.v21-admin.v21-view-create #v2150QuickAdminComposer#v2150QuickAdminComposer > #v2180ReferenceAdmin{
  display:none!important;visibility:hidden!important;
}
/* one add-stop control only */
#admin#admin.v21-admin.v21-view-create #v2150QuickAdminComposer#v2150QuickAdminComposer #v2150AddStop{display:block!important}
#admin#admin.v21-admin.v21-view-create #v2150QuickAdminComposer#v2150QuickAdminComposer .v2150-add-stop:not(#v2150AddStop){display:none!important}

/* ===== v211509AdminCreatePixelCss ===== */
:root{--v507-gold:#d79a22;--v507-gold2:#f2c669;--v507-navy:#0c1928;--v507-text:#172033;--v507-muted:#64748b;--v507-line:#dce4ee;--v507-soft:#f7f9fc}
#v211509AdminCreate{display:none}
#admin.v21-admin.v21-view-create{padding:78px 16px 22px 226px!important;background:#f8fafc!important}
#admin.v21-admin.v21-view-create>.v21-page-intro{display:none!important}
#admin.v21-admin.v21-view-create>#jobComposer{display:block!important;position:absolute!important;left:-100000px!important;top:0!important;width:1280px!important;max-width:none!important;opacity:0!important;pointer-events:none!important;z-index:-10!important;margin:0!important}
#admin.v21-admin.v21-view-create>#v211509AdminCreate{display:block!important;position:relative!important;max-width:1540px;margin:0 auto!important;z-index:2}

/* Sidebar – only on Create page */
#admin.v21-admin.v21-view-create>.v21-sidebar{width:210px!important;background:linear-gradient(180deg,#091522 0%,#0d1c2d 58%,#10243a 100%)!important;border-right:0!important;padding:12px 8px 14px!important;color:#fff!important}
#admin.v21-admin.v21-view-create .v21-side-brand{height:68px!important;min-height:68px!important;padding:4px 12px 12px!important;border-color:rgba(255,255,255,.08)!important;justify-content:center!important;position:relative!important}
#admin.v21-admin.v21-view-create .v21-side-brand img,#admin.v21-admin.v21-view-create .v21-side-brand>div{display:none!important}
#admin.v21-admin.v21-view-create .v21-side-brand:before{content:'Polite Express';font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:800;font-size:26px;letter-spacing:-.5px;color:#f2c15d;text-shadow:0 1px 0 rgba(255,255,255,.15)}
#admin.v21-admin.v21-view-create .v21-side-brand:after{content:'FAST  •  SAFE  •  ON TIME';position:absolute;bottom:7px;left:0;right:0;text-align:center;font-size:8px;font-weight:800;letter-spacing:2.2px;color:#fff}
#admin.v21-admin.v21-view-create .v21-nav{padding-top:7px!important}
#admin.v21-admin.v21-view-create .v21-nav-group-label{display:none!important}
#admin.v21-admin.v21-view-create .v21-nav-btn{border-radius:8px!important;color:#eef4fb!important;margin:4px 0!important;padding:11px 12px!important;font-size:14px!important;font-weight:700!important}
#admin.v21-admin.v21-view-create .v21-nav-btn:hover{background:rgba(255,255,255,.07)!important;color:#fff!important}
#admin.v21-admin.v21-view-create .v21-nav-btn.active{background:linear-gradient(135deg,#f5cf78,#dfa329)!important;color:#101722!important;box-shadow:0 6px 18px rgba(219,158,37,.28)!important}
#admin.v21-admin.v21-view-create .v21-nav-icon{font-size:17px!important}
#admin.v21-admin.v21-view-create .v21-side-footer{border-top:0!important;background:rgba(255,255,255,.07)!important;border-radius:10px!important;padding:11px 12px!important;margin:10px 3px 0!important;color:#e8eef5!important;font-size:11px!important;line-height:1.55!important}
#admin.v21-admin.v21-view-create .v21-side-footer b{display:block;color:#fff;font-size:12px;margin-bottom:3px}
#admin.v21-admin.v21-view-create .v21-side-footer .v507-ver{display:block;color:#8ea0b6;margin-top:7px;font-size:10px}

/* Header */
#admin.v21-admin.v21-view-create>.v21-admin-header{left:210px!important;height:68px!important;padding:0 20px!important;background:#fff!important;border-bottom:1px solid #e5e9ef!important;box-shadow:none!important}
#admin.v21-admin.v21-view-create .v21-head-title{min-width:260px!important}
#admin.v21-admin.v21-view-create .v21-head-title b{font-size:25px!important;font-weight:900!important;color:#0f172a!important;line-height:1.05!important}
#admin.v21-admin.v21-view-create .v21-head-title small{font-size:12px!important;color:#5f7390!important;margin-top:2px;display:block}
#admin.v21-admin.v21-view-create .v21-global-search{display:none!important}
#admin.v21-admin.v21-view-create .v21-head-actions{margin-left:auto!important}
#admin.v21-admin.v21-view-create .v21-date-pill{border:0!important;background:transparent!important;font-size:12px!important;color:#334155!important;min-height:34px!important}
#admin.v21-admin.v21-view-create .v21-admin-pill{border:0!important;background:transparent!important;color:#0f172a!important;font-size:12px!important}
#admin.v21-admin.v21-view-create .v21-logout{display:none!important}

/* Main page */
.v507-page{font-family:"Noto Sans Thai","Segoe UI",Tahoma,sans-serif;color:var(--v507-text);font-size:13px;line-height:1.35}
.v507-page *{box-sizing:border-box}
.v507-card{background:#fff;border:1px solid var(--v507-line);border-radius:12px;box-shadow:0 2px 8px rgba(15,23,42,.025)}
.v507-top-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.75fr);gap:12px;margin-bottom:10px}
.v507-kind-row,.v507-pay-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;height:100%}
.v507-tile{min-height:94px;border:1px solid var(--v507-line);border-radius:11px;background:#fff;padding:12px 14px;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;color:#111827}
.v507-tile .ico{width:48px;height:48px;border-radius:10px;background:#f3f6fa;display:grid;place-items:center;font-size:27px;font-weight:900;color:#263854;flex:0 0 auto}
.v507-tile strong{display:block;font-size:17px;line-height:1.1}.v507-tile small{display:block;margin-top:5px;font-size:12px;color:#6b7280;line-height:1.35}
.v507-tile.active{border:1.5px solid #da991e;background:linear-gradient(135deg,#fffaf0,#fff);box-shadow:inset 0 0 0 1px rgba(218,153,30,.08)}
.v507-tile.active .ico{background:#fff6df;color:#d9940f}.v507-tile .radio{margin-left:auto;width:17px;height:17px;border:1.8px solid #8290a5;border-radius:50%;position:relative}.v507-tile.active .radio{border-color:#dc9513}.v507-tile.active .radio:after{content:'';position:absolute;inset:3px;border-radius:50%;background:#dc9513}
.v507-pay-card{padding:9px 12px 12px}.v507-section-label{font-size:14px;font-weight:900;color:#111827;margin-bottom:8px}

.v507-customer-row{display:grid;grid-template-columns:minmax(0,1.6fr) 280px;gap:12px;margin-bottom:10px}
.v507-customer-card{padding:11px 13px}.v507-ref-card{padding:11px 13px}
.v507-field-label{display:block;font-size:12.5px;font-weight:850;color:#263244;margin:0 0 5px}.v507-required{color:#e31d2d}
.v507-search-line{display:grid;grid-template-columns:minmax(0,1fr) 122px;gap:10px}.v507-search-host,.v507-google-host{position:relative}
.v507-input,.v507-select{width:100%;height:43px;border:1px solid #d7e0ea;border-radius:8px;background:#fff;padding:0 12px;font:inherit;color:#23314a;outline:none;box-shadow:none}
.v507-input:focus,.v507-select:focus{border-color:#d49a2e;box-shadow:0 0 0 3px rgba(212,154,46,.11)}
.v507-input::placeholder{color:#96a1b2}.v507-btn-light{height:43px;border:1px solid #d7e0ea;border-radius:8px;background:#fff;color:#111827;font-weight:850;cursor:pointer;font-size:13px}.v507-btn-light:hover{background:#fafafa}
.v507-customer-menu,.v507-page .google-suggest-menu{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:30000;background:#fff;border:1px solid #dbe2ea;border-radius:10px;box-shadow:0 14px 40px rgba(15,23,42,.16);overflow:hidden;display:none;max-height:310px;overflow-y:auto}
.v507-customer-menu.show,.v507-page .google-suggest-menu.show{display:block}
.v507-cust-item,.v507-page .google-suggest-item{width:100%;border:0!important;border-bottom:1px solid #eef2f6!important;border-radius:0!important;background:#fff!important;color:#111827!important;padding:9px 11px!important;text-align:left!important;display:block!important;cursor:pointer!important}
.v507-cust-item:hover,.v507-page .google-suggest-item:hover{background:#f8fafc!important}.v507-cust-item b,.v507-page .google-suggest-main{display:block;font-size:12.5px;font-weight:850}.v507-cust-item small,.v507-page .google-suggest-sub{display:block;color:#6b7280;font-size:10.5px;margin-top:2px}.v507-page .google-powered{padding:7px 10px;font-size:9.5px;color:#8a94a6;background:#fbfcfd;text-align:right}

.v507-route-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(360px,.72fr);gap:12px;align-items:start}
.v507-route-card{padding:0;overflow:visible}.v507-route-head{height:52px;padding:0 13px;border-bottom:1px solid #edf1f5;display:flex;align-items:center;gap:12px}.v507-route-head h3{font-size:16px;margin:0;font-weight:900}.v507-checkline{display:flex;align-items:center;gap:7px;color:#526178;font-size:12px}.v507-checkline input{width:17px;height:17px;accent-color:#d69720}.v507-route-head .spacer{flex:1}.v507-count{font-size:12px;color:#4b5870}.v507-add-stop{height:37px;border:1px solid #dc9a20;border-radius:8px;background:linear-gradient(135deg,#fff9e8,#fff);color:#9a6200;font-weight:900;padding:0 14px;cursor:pointer}.v507-add-stop:hover{background:#fff4d2}
.v507-point{position:relative;padding:10px 12px 11px 65px;border-bottom:1px solid #edf1f5}.v507-point:last-child{border-bottom:0}.v507-point-num{position:absolute;left:14px;top:13px;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#263754;color:#fff;font-size:14px;font-weight:900}.v507-point-num.pick{background:#263754}.v507-point-line:before{content:'';position:absolute;left:29px;top:44px;bottom:-13px;border-left:1px dashed #cbd5e1}.v507-point:last-child .v507-point-line:before{display:none}
.v507-point-top{display:flex;align-items:center;gap:8px;margin-bottom:7px}.v507-point-type{height:34px;border:1px solid #d7e0ea;border-radius:7px;background:#fff;padding:0 10px;font-weight:800;color:#263244;display:flex;align-items:center;gap:7px}.v507-dot-pin{font-size:16px}.v507-point-type.pick .v507-dot-pin{color:#0aa353}.v507-point-type.drop .v507-dot-pin{color:#ef2635}.v507-point-tools{margin-left:auto;display:flex;align-items:center;gap:9px}.v507-swap{border:0;background:transparent;color:#2472c9;font-size:11px;font-weight:750;cursor:pointer}.v507-trash{width:31px;height:31px;border:0;border-radius:7px;background:#fff0f1;color:#ef2436;cursor:pointer;font-size:16px}
.v507-address-row{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:8px;align-items:end}.v507-address-row.no-price{grid-template-columns:1fr}.v507-price-box label{display:block;font-size:10px;color:#64748b;margin-bottom:4px}.v507-price-box input{text-align:right;font-weight:850;color:#111827}
.v507-contact-row{display:grid;grid-template-columns:1fr 1fr 1.55fr;gap:8px;margin-top:7px}.v507-mini-label{display:block;font-size:10.5px;color:#4b5870;font-weight:700;margin-bottom:3px}.v507-contact-row .v507-input{height:36px;font-size:12px}
.v507-place-status{margin-top:4px;font-size:9.5px;color:#7b8797}.v507-place-status.ok{color:#07814c;font-weight:700}

.v507-map-card{padding:10px 11px;min-height:603px;position:sticky;top:78px}.v507-map-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px}.v507-map-head b{font-size:15px}.v507-map-head label{display:flex;align-items:center;gap:6px;color:#536177;font-size:10.5px}.v507-map-head input{width:16px;height:16px;accent-color:#0b6ee8}
.v507-map{height:332px;border:1px solid #e0e7ef;border-radius:9px;background:#eef3f7;overflow:hidden;position:relative}.v507-map-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:22px;color:#748195;font-size:12px;line-height:1.6}.v507-map-overlay{position:absolute;right:10px;bottom:10px;background:rgba(255,255,255,.96);border-radius:9px;padding:9px 10px;box-shadow:0 5px 18px rgba(15,23,42,.18);font-size:10px;color:#526178;min-width:140px}.v507-map-overlay b{display:block;font-size:17px;color:#111827}.v507-gmaps{margin-top:7px;width:100%;height:34px;border:0;border-radius:7px;background:#f1b429;color:#111827;font-weight:850;cursor:pointer}.v507-order{margin-top:9px}.v507-order-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.v507-order-head b{font-size:13px}.v507-order-head button{border:0;background:transparent;color:#2572c8;font-size:10.5px;cursor:pointer}.v507-order-row{display:grid;grid-template-columns:27px minmax(0,1fr);gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid #eff2f5}.v507-order-row:last-child{border-bottom:0}.v507-order-n{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#ef1f2e;color:#fff;font-size:11px;font-weight:900}.v507-order-n.start{background:#08a74f}.v507-order-row b{display:block;font-size:10.5px;line-height:1.2}.v507-order-row small{display:block;color:#69768a;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}

.v507-lower{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,.85fr);gap:12px;margin-top:10px}.v507-detail-card,.v507-parcel-card{padding:10px 12px}.v507-lower-title{font-size:15px;font-weight:900;margin-bottom:7px}.v507-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:9px}.v507-inline-checks{display:flex;align-items:center;gap:16px;margin-top:8px;flex-wrap:wrap}.v507-inline-checks label{display:flex;align-items:center;gap:6px;color:#4d5b70;font-size:11px}.v507-inline-checks input{width:16px;height:16px;accent-color:#1777e8}.v507-replacement-pay{display:none}.v507-page.replacement .v507-replacement-pay{display:block}
.v507-parcel-grid{display:grid;grid-template-columns:repeat(4,1fr) 1.25fr;gap:7px;align-items:end}.v507-parcel-grid .v507-input{height:36px;font-size:12px;text-align:center}.v507-unit{font-size:10px;color:#64748b;text-align:center;margin-top:2px}

.v507-bottom{position:sticky;bottom:0;z-index:100;margin-top:10px;background:rgba(255,255,255,.97);border:1px solid #e2e7ed;border-radius:11px;box-shadow:0 -6px 24px rgba(15,23,42,.07);display:grid;grid-template-columns:104px minmax(0,1fr) minmax(0,1fr) 120px minmax(116px,1.2fr) minmax(116px,1.2fr) 142px 180px;align-items:stretch;backdrop-filter:blur(8px)}
.v507-bottom>div,.v507-bottom>button{min-height:62px;border-right:1px solid #edf0f3}.v507-bottom>button:last-child{border-right:0}.v507-cancel{border:0;background:#fff;color:#263244;font-weight:850;cursor:pointer;font-size:13px}.v507-stat{display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 8px}.v507-stat .ico{font-size:22px;color:#233653}.v507-stat small{display:block;color:#748195;font-size:9.5px}.v507-stat b{display:block;color:#111827;font-size:17px;white-space:nowrap}.v507-stat.money b{font-size:19px;color:#d89512}.v507-draft{border:0;background:#f8fafc;color:#263244;font-weight:850;cursor:pointer;font-size:12px}.v507-assign{border:0;background:linear-gradient(135deg,#d59517,#edb744);color:#fff;font-weight:900;cursor:pointer;font-size:13px}.v507-draft:hover{background:#f1f5f9}.v507-assign:hover{filter:brightness(.97)}

/* Modals */
.v507-overlay{position:fixed;inset:0;z-index:40000;background:rgba(15,23,42,.52);display:none;align-items:center;justify-content:center;padding:18px}.v507-overlay.show{display:flex}.v507-modal{width:min(560px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 28px 90px rgba(0,0,0,.28);padding:18px}.v507-modal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.v507-modal-head h3{margin:0;font-size:19px}.v507-modal-close{width:34px;height:34px;border:0;border-radius:50%;background:#f1f4f7;cursor:pointer}.v507-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.v507-modal-grid .full{grid-column:1/-1}.v507-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.v507-modal-actions button{height:43px;border-radius:9px;font-weight:850;cursor:pointer}.v507-modal-actions .primary{border:0;background:#111827;color:#fff}.v507-modal-actions .secondary{border:1px solid #dbe2ea;background:#fff;color:#111827}.v507-assign-list{display:grid;gap:7px}.v507-assign-option{border:1px solid #dce3eb;border-radius:10px;padding:10px 11px;display:flex;align-items:center;gap:9px;cursor:pointer}.v507-assign-option input{width:17px;height:17px}.v507-assign-option b{font-size:13px}.v507-assign-option small{display:block;color:#6b7280;font-size:10.5px;margin-top:2px}

@media(max-width:1220px){
 #admin.v21-admin.v21-view-create{padding-left:218px!important}
 .v507-top-grid,.v507-customer-row,.v507-route-layout,.v507-lower{grid-template-columns:1fr!important}
 .v507-map-card{position:relative;top:auto;min-height:500px}.v507-map{height:360px}
 .v507-bottom{grid-template-columns:92px 1fr 1fr 88px 1.15fr 1.15fr 130px 168px}
}
@media(max-width:900px){
 #admin.v21-admin.v21-view-create{padding:78px 10px 90px!important}
 #admin.v21-admin.v21-view-create>.v21-sidebar{width:210px!important;transform:translateX(-110%);transition:.2s}
 body.v21-side-open #admin.v21-admin.v21-view-create>.v21-sidebar{transform:translateX(0)}
 #admin.v21-admin.v21-view-create>.v21-admin-header{left:0!important;padding:0 10px!important}.v21-mobile-menu{display:block!important}
 .v507-customer-row,.v507-lower{grid-template-columns:1fr!important}.v507-contact-row{grid-template-columns:1fr!important}.v507-address-row{grid-template-columns:1fr 110px}.v507-parcel-grid{grid-template-columns:repeat(2,1fr)}
 .v507-bottom{position:fixed;left:0;right:0;bottom:0;border-radius:0;grid-template-columns:repeat(2,1fr);padding:7px;gap:7px}.v507-bottom .v507-stat,.v507-bottom .v507-cancel{display:none}.v507-bottom>button{min-height:50px;border:0;border-radius:9px}
}
@media(max-width:620px){
 .v507-top-grid{grid-template-columns:1fr}.v507-kind-row,.v507-pay-row{grid-template-columns:1fr 1fr}.v507-tile{padding:9px;min-height:80px}.v507-tile .ico{width:38px;height:38px;font-size:21px}.v507-tile strong{font-size:14px}.v507-tile small{font-size:10px}.v507-customer-row{grid-template-columns:1fr}.v507-search-line{grid-template-columns:1fr 105px}.v507-route-head{height:auto;min-height:56px;flex-wrap:wrap;padding:8px 10px}.v507-point{padding-left:49px}.v507-point-num{left:8px}.v507-point-line:before{left:23px}.v507-contact-row{grid-template-columns:1fr}.v507-address-row{grid-template-columns:1fr}.v507-price-box{display:block}.v507-map{height:300px}.v507-detail-grid{grid-template-columns:1fr}.v507-parcel-grid{grid-template-columns:1fr 1fr}.v507-modal-grid{grid-template-columns:1fr}.v507-modal-grid .full{grid-column:auto}
}

/* ===== v211510CreateWatchdogCss ===== */
#admin #v211509AdminCreate.v211510-force-show{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  width:auto!important;max-width:1540px!important;
  height:auto!important;min-height:650px!important;
  margin:0 auto!important;
  transform:none!important;
  clip:auto!important;clip-path:none!important;
  overflow:visible!important;
  pointer-events:auto!important;
  z-index:2!important;
}
#admin #v211509AdminCreate.v211510-force-show>.v507-page{
  display:block!important;visibility:visible!important;opacity:1!important;
  width:100%!important;height:auto!important;min-height:620px!important;
  transform:none!important;clip:auto!important;clip-path:none!important;
}
#admin.v211510-create-active>.v21-page-intro{display:none!important}
#admin.v211510-create-active>#jobComposer{
  display:block!important;position:absolute!important;left:-100000px!important;top:0!important;
  width:1280px!important;max-width:none!important;opacity:0!important;visibility:hidden!important;
  pointer-events:none!important;z-index:-10!important;margin:0!important
}

/* ===== v211514CreateFixCss ===== */
/* Brand: keep Polite Express on one line and keep slogan on its own line. */
#admin.v21-admin.v21-view-create .v21-side-brand{
  height:72px!important;min-height:72px!important;padding:7px 8px 14px!important;
  display:flex!important;align-items:flex-start!important;justify-content:center!important;
  overflow:hidden!important;white-space:nowrap!important;position:relative!important;
}
#admin.v21-admin.v21-view-create .v21-side-brand:before{
  content:'Polite Express'!important;display:block!important;white-space:nowrap!important;
  font-family:Georgia,'Times New Roman',serif!important;font-style:italic!important;
  font-weight:800!important;font-size:22px!important;line-height:1.05!important;
  letter-spacing:-.5px!important;color:#f2c15d!important;max-width:100%!important;
}
#admin.v21-admin.v21-view-create .v21-side-brand:after{
  content:'FAST  •  SAFE  •  ON TIME'!important;position:absolute!important;
  left:8px!important;right:8px!important;bottom:8px!important;text-align:center!important;
  white-space:nowrap!important;font-size:7px!important;font-weight:800!important;
  letter-spacing:1.7px!important;line-height:1!important;color:#fff!important;
}
#admin.v21-admin.v21-view-create .v21-side-brand img,
#admin.v21-admin.v21-view-create .v21-side-brand>div{display:none!important}

/* Single fast search portal. */
#v514SearchPortal{position:fixed;z-index:2147483640;display:none;background:#fff;
 border:1px solid #cfd8e3;border-radius:10px;box-shadow:0 18px 48px rgba(15,23,42,.24);
 max-height:360px;overflow:auto;min-width:320px;overscroll-behavior:contain}
#v514SearchPortal.show{display:block!important}
.v514-head{padding:7px 11px;background:#f8fafc;color:#64748b;font-size:11px;font-weight:900;border-bottom:1px solid #edf1f5}
.v514-item{display:block;width:100%;border:0;border-bottom:1px solid #eef2f6;background:#fff;padding:10px 12px;text-align:left;cursor:pointer;color:#111827;touch-action:manipulation}
.v514-item:hover,.v514-item:focus{background:#fff7e7;outline:none}.v514-item b{display:block;font-size:13px}.v514-item small{display:block;margin-top:3px;color:#667085;font-size:11px;line-height:1.35}
.v514-item.saved b:before{content:'★ ';color:#d69a1f}.v514-item.google b:before{content:'⌖ ';color:#1769d2}
.v514-empty{padding:10px 12px;color:#667085;font-size:11px}.v514-loading{color:#1769d2}
.v514-status{font-size:10px;color:#667085;margin-top:4px;min-height:14px}.v514-status.ok{color:#087a43}.v514-status.err{color:#b42318}

/* ===== v211517AdminCreatePolishCss ===== */
#admin.v21-admin.v21-view-create .v21-side-brand{height:76px!important;min-height:76px!important;padding:5px 8px 7px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
#admin.v21-admin.v21-view-create .v21-side-brand:before,#admin.v21-admin.v21-view-create .v21-side-brand:after{display:none!important;content:none!important}
#admin.v21-admin.v21-view-create .v21-side-brand img{display:block!important;width:188px!important;max-width:100%!important;height:64px!important;object-fit:contain!important;object-position:center!important;background:#050505!important;border-radius:0!important}
#admin.v21-admin.v21-view-create .v507-top-grid{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr)!important;gap:10px!important;margin-bottom:4px!important;align-items:stretch!important}
#admin.v21-admin.v21-view-create .v507-top-grid>.v507-card{margin:0!important}
#admin.v21-admin.v21-view-create .v507-tile{min-height:82px!important;padding:10px 12px!important}
#admin.v21-admin.v21-view-create .v507-pay-card{padding:8px 10px 9px!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;overflow:visible!important}
#admin.v21-admin.v21-view-create .v507-pay-card .v507-section-label{margin-bottom:5px!important}
#admin.v21-admin.v21-view-create .v507-pay-row{height:auto!important;gap:8px!important}
#admin.v21-admin.v21-view-create .v507-pay-row .v507-tile{min-height:64px!important;padding:8px 10px!important}
#admin.v21-admin.v21-view-create .v507-pay-row .v507-tile .ico{width:38px!important;height:38px!important;font-size:19px!important}
#admin.v21-admin.v21-view-create .v517-ref-inline{width:100%!important;margin:7px 0 0!important;padding:7px 0 0!important;border:0!important;border-top:1px solid #edf1f5!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
#admin.v21-admin.v21-view-create .v517-ref-inline .v507-field-label{font-size:10.5px!important;margin-bottom:3px!important;color:#64748b!important}
#admin.v21-admin.v21-view-create .v517-ref-inline .v507-input{height:34px!important;background:#fff!important}
#admin.v21-admin.v21-view-create .v507-route-layout{margin-top:0!important}
#admin.v21-admin.v21-view-create .v507-route-head{margin-top:0!important}
#admin.v21-admin.v21-view-create #v507Page{display:flex!important;flex-direction:column!important;gap:0!important}
#admin.v21-admin.v21-view-create #v507Page>.v507-top-grid{order:1!important}
#admin.v21-admin.v21-view-create #v507Page>.v516-compat-hidden{order:2!important}
#admin.v21-admin.v21-view-create #v507Page>.v507-route-layout{order:3!important}
#admin.v21-admin.v21-view-create #v507Page>.v507-lower{order:4!important}
#admin.v21-admin.v21-view-create #v507Page>.v507-bottom{order:5!important}
#admin.v21-admin.v21-view-create #v507PickupStatus,.v507-place-status{min-height:15px!important;margin-top:3px!important}
@media(max-width:1200px){#admin.v21-admin.v21-view-create .v507-top-grid{grid-template-columns:1fr!important}#admin.v21-admin.v21-view-create .v21-side-brand img{width:178px!important}}

/* ===== v211518AdminCreateFixCss ===== */
/* Brand: larger, centered, never collides with the nav. */
#admin.v21-admin.v21-view-create .v21-side-brand{
  height:92px!important;min-height:92px!important;padding:8px 10px 10px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;
}
#admin.v21-admin.v21-view-create .v21-side-brand:before,
#admin.v21-admin.v21-view-create .v21-side-brand:after{display:none!important;content:none!important}
#admin.v21-admin.v21-view-create .v21-side-brand img{
  display:block!important;width:214px!important;max-width:96%!important;height:78px!important;
  object-fit:contain!important;object-position:center!important;background:transparent!important;border-radius:0!important;
}
/* Compact top controls so the whole create page fits one desktop viewport. */
#admin.v21-admin.v21-view-create #v507Page{gap:0!important}
#admin.v21-admin.v21-view-create .v507-top-grid{
  grid-template-columns:minmax(0,1.55fr) minmax(330px,.7fr)!important;
  gap:8px!important;margin:0 0 5px!important;align-items:stretch!important;
}
#admin.v21-admin.v21-view-create .v507-top-grid>.v507-card{padding:5px!important;margin:0!important}
#admin.v21-admin.v21-view-create .v507-kind-row,#admin.v21-admin.v21-view-create .v507-pay-row{gap:6px!important}
#admin.v21-admin.v21-view-create .v507-tile{
  min-height:58px!important;height:58px!important;padding:6px 9px!important;border-radius:8px!important;
}
#admin.v21-admin.v21-view-create .v507-tile .ico{width:34px!important;height:34px!important;font-size:18px!important;border-radius:8px!important}
#admin.v21-admin.v21-view-create .v507-tile strong{font-size:12.5px!important;line-height:1.15!important}
#admin.v21-admin.v21-view-create .v507-tile small{font-size:9.5px!important;line-height:1.25!important;margin-top:2px!important}
#admin.v21-admin.v21-view-create .v507-pay-card{padding:5px 7px!important}
#admin.v21-admin.v21-view-create .v507-pay-card{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(120px,.65fr)!important;grid-template-rows:auto 1fr!important;column-gap:7px!important;row-gap:2px!important;align-items:stretch!important}
#admin.v21-admin.v21-view-create .v507-pay-card .v507-section-label{grid-column:1/-1!important;grid-row:1!important}
#admin.v21-admin.v21-view-create .v507-pay-card .v507-pay-row{grid-column:1!important;grid-row:2!important}
#admin.v21-admin.v21-view-create .v507-pay-card .v517-ref-inline{grid-column:2!important;grid-row:2!important;margin:0!important;padding:0 0 0 7px!important;border-top:0!important;border-left:1px solid #edf1f5!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
#admin.v21-admin.v21-view-create .v507-pay-card .v507-section-label{font-size:11px!important;margin:0 0 4px!important}
#admin.v21-admin.v21-view-create .v507-pay-row .v507-tile{min-height:48px!important;height:48px!important}
#admin.v21-admin.v21-view-create .v507-pay-row .v507-tile .ico{width:30px!important;height:30px!important;font-size:16px!important}
#admin.v21-admin.v21-view-create .v517-ref-inline{margin:4px 0 0!important;padding:4px 0 0!important}
#admin.v21-admin.v21-view-create .v517-ref-inline .v507-field-label{font-size:9.5px!important;margin-bottom:2px!important}
#admin.v21-admin.v21-view-create .v517-ref-inline .v507-input{height:28px!important;font-size:10.5px!important}
/* Route starts immediately after top controls. */
#admin.v21-admin.v21-view-create .v507-route-layout{margin-top:0!important;gap:8px!important;grid-template-columns:minmax(0,1.8fr) minmax(330px,.68fr)!important}
#admin.v21-admin.v21-view-create .v507-route-card,#admin.v21-admin.v21-view-create .v507-map-card{margin:0!important}
#admin.v21-admin.v21-view-create .v507-route-head{min-height:36px!important;height:36px!important;padding:4px 8px!important}
#admin.v21-admin.v21-view-create .v507-route-head h3{font-size:12px!important;margin:0!important}
#admin.v21-admin.v21-view-create .v507-route-head label,#admin.v21-admin.v21-view-create .v507-route-head .v507-count{font-size:9.5px!important}
#admin.v21-admin.v21-view-create .v507-add-stop{height:28px!important;padding:0 10px!important;font-size:10px!important}
#admin.v21-admin.v21-view-create .v507-point{padding:6px 8px 7px 49px!important}
#admin.v21-admin.v21-view-create .v507-point-num{left:10px!important;top:9px!important;width:27px!important;height:27px!important;font-size:12px!important}
#admin.v21-admin.v21-view-create .v507-point-line:before{left:23px!important;top:38px!important;bottom:-9px!important}
#admin.v21-admin.v21-view-create .v507-point-top{min-height:28px!important;margin-bottom:3px!important}
#admin.v21-admin.v21-view-create .v507-point-type{height:28px!important;padding:0 9px!important;font-size:10.5px!important}
#admin.v21-admin.v21-view-create .v507-mini-label{font-size:9px!important;margin-bottom:2px!important}
#admin.v21-admin.v21-view-create .v507-input{height:30px!important;font-size:10.5px!important;padding:4px 8px!important}
#admin.v21-admin.v21-view-create .v507-contact-row{gap:5px!important;margin-top:4px!important}
#admin.v21-admin.v21-view-create .v507-place-status,.v518-status{font-size:8.8px!important;min-height:11px!important;margin-top:2px!important}
#admin.v21-admin.v21-view-create .v507-map{height:250px!important}
#admin.v21-admin.v21-view-create .v507-order{margin-top:4px!important}
#admin.v21-admin.v21-view-create .v507-order-row{padding:3px 0!important}
#admin.v21-admin.v21-view-create .v507-order-row b{font-size:9.5px!important}
#admin.v21-admin.v21-view-create .v507-order-row small{font-size:8.5px!important}
/* Lower fields remain visible without vertical scrolling on common 1080p desktop viewports. */
#admin.v21-admin.v21-view-create .v507-lower{gap:8px!important;margin-top:5px!important}
#admin.v21-admin.v21-view-create .v507-detail-card,#admin.v21-admin.v21-view-create .v507-parcel-card{padding:6px 8px!important}
#admin.v21-admin.v21-view-create .v507-lower-title{font-size:11.5px!important;margin-bottom:4px!important}
#admin.v21-admin.v21-view-create .v507-detail-grid{gap:5px!important;grid-template-columns:minmax(0,1fr) 130px!important}
#admin.v21-admin.v21-view-create .v507-inline-checks{margin-top:4px!important;gap:10px!important}
#admin.v21-admin.v21-view-create .v507-inline-checks label{font-size:9px!important}
#admin.v21-admin.v21-view-create .v507-parcel-grid{gap:5px!important}
#admin.v21-admin.v21-view-create .v507-bottom{min-height:50px!important;height:50px!important;padding:4px 7px!important;gap:5px!important}
#admin.v21-admin.v21-view-create .v507-bottom .v507-stat small{font-size:8px!important}
#admin.v21-admin.v21-view-create .v507-bottom .v507-stat b{font-size:11px!important}
#admin.v21-admin.v21-view-create .v507-bottom>button{min-height:38px!important;height:38px!important;font-size:10px!important;padding:0 9px!important}
/* New single portal. Old search portal is disabled entirely. */
#v514SearchPortal{display:none!important}
#v518SearchPortal{position:fixed;z-index:2147483646;display:none;background:#fff;border:1px solid #cfd8e3;border-radius:10px;box-shadow:0 18px 46px rgba(15,23,42,.24);max-height:330px;overflow:auto;min-width:340px;overscroll-behavior:contain}
#v518SearchPortal.show{display:block!important}
.v518-head{padding:6px 10px;background:#f8fafc;color:#64748b;font-size:10px;font-weight:900;border-bottom:1px solid #edf1f5}
.v518-row{display:block;width:100%;border:0;border-bottom:1px solid #eef2f6;background:#fff;padding:8px 10px;text-align:left;cursor:pointer;color:#111827}
.v518-row:hover,.v518-row:focus{background:#fff7e7;outline:none}.v518-row b{display:block;font-size:11.5px}.v518-row small{display:block;margin-top:2px;color:#667085;font-size:9.5px;line-height:1.35}
.v518-row.saved b:before{content:'★ ';color:#d69a1f}.v518-row.google b:before{content:'⌖ ';color:#1769d2}
.v518-empty{padding:8px 10px;color:#667085;font-size:9.5px}.v518-loading{color:#1769d2}
.v518-api-error{color:#b42318;background:#fff6f5}
@media(max-width:1366px){
 #admin.v21-admin.v21-view-create .v21-side-brand img{width:196px!important;height:70px!important}
 #admin.v21-admin.v21-view-create .v507-map{height:225px!important}
 #admin.v21-admin.v21-view-create .v507-tile{height:54px!important;min-height:54px!important}
}

/* ===== v211519AdminCreatePolishCss ===== */
/* V21.15.21: larger readable brand wordmark */
#admin.v21-admin.v21-view-create .v21-side-brand{height:96px!important;min-height:96px!important;padding:7px 8px!important;overflow:hidden!important}
#admin.v21-admin.v21-view-create .v21-side-brand img{display:block!important;width:100%!important;max-width:none!important;height:84px!important;object-fit:cover!important;object-position:left center!important;transform:scale(1.05)!important;transform-origin:left center!important;background:#050505!important}
/* Compact top: remove unused vertical air and keep route near job type/payment. */
#admin.v21-admin.v21-view-create .v507-top-grid{gap:7px!important;margin:0 0 2px!important;grid-template-columns:minmax(0,1.65fr) minmax(325px,.65fr)!important}
#admin.v21-admin.v21-view-create .v507-top-grid>.v507-card{padding:4px!important}
#admin.v21-admin.v21-view-create .v507-kind-row,#admin.v21-admin.v21-view-create .v507-pay-row{gap:5px!important}
#admin.v21-admin.v21-view-create .v507-tile{height:46px!important;min-height:46px!important;padding:4px 8px!important}
#admin.v21-admin.v21-view-create .v507-tile .ico{width:30px!important;height:30px!important;font-size:18px!important;flex:0 0 30px!important}
#admin.v21-admin.v21-view-create .v507-tile strong{font-size:11.5px!important}.v519-replace-ico{font-size:20px!important;font-weight:900!important;color:#6b4f14!important;background:#fff6da!important}
#admin.v21-admin.v21-view-create .v507-tile small{font-size:8.8px!important;line-height:1.15!important;margin-top:1px!important}
#admin.v21-admin.v21-view-create .v507-pay-card{padding:4px 6px!important;grid-template-columns:minmax(0,1.45fr) minmax(116px,.55fr)!important;row-gap:1px!important}
#admin.v21-admin.v21-view-create .v507-pay-card .v507-section-label{font-size:10px!important;margin:0 0 2px!important}
#admin.v21-admin.v21-view-create .v507-pay-row .v507-tile{height:40px!important;min-height:40px!important}
#admin.v21-admin.v21-view-create .v517-ref-inline .v507-input{height:25px!important}.v517-ref-inline .v507-field-label{font-size:8.5px!important}
#admin.v21-admin.v21-view-create .v507-route-layout{margin-top:0!important;gap:7px!important}
#admin.v21-admin.v21-view-create .v507-route-head{height:32px!important;min-height:32px!important;padding:3px 7px!important}
#admin.v21-admin.v21-view-create .v507-point{padding-top:4px!important;padding-bottom:5px!important}
#admin.v21-admin.v21-view-create .v507-contact-row{margin-top:3px!important}
#admin.v21-admin.v21-view-create .v507-lower{margin-top:3px!important}
#admin.v21-admin.v21-view-create .v507-map{height:218px!important}
/* One search portal, progressive Google results. */
#v518SearchPortal,#v514SearchPortal{display:none!important}
#v519SearchPortal{position:fixed;z-index:2147483647;display:none;background:#fff;border:1px solid #cfd8e3;border-radius:10px;box-shadow:0 18px 46px rgba(15,23,42,.24);max-height:350px;overflow:auto;min-width:360px;overscroll-behavior:contain}
#v519SearchPortal.show{display:block!important}.v519-head{padding:6px 10px;background:#f8fafc;color:#64748b;font-size:10px;font-weight:900;border-bottom:1px solid #edf1f5}.v519-row{display:block;width:100%;border:0;border-bottom:1px solid #eef2f6;background:#fff;padding:8px 10px;text-align:left;cursor:pointer;color:#111827}.v519-row:hover,.v519-row:focus{background:#fff7e7;outline:none}.v519-row b{display:block;font-size:11.5px}.v519-row small{display:block;margin-top:2px;color:#667085;font-size:9.5px;line-height:1.35}.v519-row.saved b:before{content:'★ ';color:#d69a1f}.v519-row.google b:before{content:'⌖ ';color:#1769d2}.v519-empty{padding:8px 10px;color:#667085;font-size:9.5px}.v519-empty.loading{color:#1769d2}
@media(max-width:1366px){#admin.v21-admin.v21-view-create .v21-side-brand{height:92px!important;min-height:92px!important}#admin.v21-admin.v21-view-create .v21-side-brand img{height:80px!important}#admin.v21-admin.v21-view-create .v507-map{height:205px!important}}

/* ===== v211520LockedReferenceCss ===== */
:root{--pe-gold:#d99a20;--pe-gold2:#f1b52e;--pe-navy:#081627;--pe-line:#dfe6ee;--pe-text:#172033;--pe-muted:#667085}
body.v21-admin-active{background:#fff!important;overflow-x:hidden!important}
#admin.v21-admin{padding:70px 14px 72px 228px!important;background:#fff!important;min-height:100vh!important}
#admin.v21-admin>.v21-page-intro{display:none!important}
.v21-sidebar{width:214px!important;padding:0 12px 14px!important;background:linear-gradient(180deg,#071526 0%,#0a1b2e 100%)!important;border-right:0!important;color:#fff!important;gap:6px!important}
.v21-side-brand{height:138px!important;min-height:138px!important;margin:0!important;padding:8px 4px 10px!important;border-bottom:1px solid rgba(255,255,255,.08)!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;background:transparent!important}
.v21-side-brand:before,.v21-side-brand:after{display:none!important;content:none!important}
.v21-side-brand img{display:block!important;width:190px!important;height:119px!important;object-fit:contain!important;border-radius:0!important;background:transparent!important;margin:0!important;filter:none!important}
.v21-side-brand>div{display:none!important}
.v21-nav{padding:8px 0 10px!important}
.v21-nav-group-label{display:none!important}
.v21-nav-btn{min-height:48px!important;margin:2px 0!important;padding:10px 13px!important;border-radius:7px!important;color:#f6f8fb!important;font-size:14px!important;font-weight:700!important;gap:11px!important}
.v21-nav-btn:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
.v21-nav-btn.active{background:linear-gradient(135deg,#efbd42,#d6940d)!important;color:#111827!important;box-shadow:0 3px 12px rgba(222,159,28,.22)!important}
.v21-nav-icon{font-size:17px!important;width:23px!important}.v21-nav-badge{background:#ef2b2b!important}
.v21-side-footer{margin:8px 3px 0!important;padding:12px 10px!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:9px!important;background:rgba(255,255,255,.04)!important;color:#e4eaf2!important;font-size:10.5px!important;line-height:1.55!important}
.v21-admin-header{left:214px!important;height:70px!important;padding:0 20px!important;background:#fff!important;border-bottom:1px solid #e6ebf1!important;box-shadow:none!important}
.v21-mobile-menu{display:flex!important;width:34px!important;height:34px!important;border:0!important;background:transparent!important;color:#24334c!important;font-size:22px!important;align-items:center!important;justify-content:center!important}
#v21PageTitle{font-size:25px!important;line-height:1.05!important;color:#111827!important;font-weight:900!important}#v21PageSub{font-size:11px!important;color:#345381!important;margin-top:2px!important}
#v211509AdminCreate{display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;overflow:visible!important}
#v211509AdminCreate>.v507-page{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;font-size:12px!important;color:var(--pe-text)!important}
.v507-card{border:1px solid var(--pe-line)!important;border-radius:9px!important;box-shadow:none!important;background:#fff!important}
/* top row */
#admin.v21-admin.v21-view-create .v507-top-grid{display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(400px,.95fr)!important;gap:12px!important;margin:0 0 8px!important;align-items:stretch!important}
#admin.v21-admin.v21-view-create .v507-top-grid>section:first-child{padding:9px!important}
#admin.v21-admin.v21-view-create .v507-kind-row{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:10px!important}
#admin.v21-admin.v21-view-create .v507-tile{min-height:92px!important;height:92px!important;padding:10px 14px!important;border-radius:9px!important;border:1px solid var(--pe-line)!important;gap:12px!important;overflow:hidden!important}
#admin.v21-admin.v21-view-create .v507-tile .ico{width:52px!important;height:52px!important;min-width:52px!important;border-radius:10px!important;font-size:29px!important;background:#f4f7fb!important;color:#2e4160!important}
#admin.v21-admin.v21-view-create .v507-tile.active{border:1.5px solid #dc9818!important;background:linear-gradient(135deg,#fff8e7,#fff)!important}
#admin.v21-admin.v21-view-create .v507-tile.active .ico{background:#fff8e7!important;color:#d28b00!important}
#admin.v21-admin.v21-view-create .v507-tile strong{font-size:17px!important;line-height:1.08!important;white-space:nowrap!important}#admin.v21-admin.v21-view-create .v507-tile small{font-size:11.5px!important;line-height:1.4!important;margin-top:4px!important;white-space:normal!important}
#admin.v21-admin.v21-view-create .v520-replace-icon{font-size:30px!important;font-weight:900!important;color:#284263!important}
#admin.v21-admin.v21-view-create .v507-pay-card{padding:6px 9px 8px!important;display:grid!important;grid-template-rows:auto auto auto!important;gap:5px!important;overflow:hidden!important}
#admin.v21-admin.v21-view-create .v507-section-label{font-size:13px!important;margin:0!important;line-height:1.25!important;font-weight:900!important}
#admin.v21-admin.v21-view-create .v507-pay-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;height:auto!important}
#admin.v21-admin.v21-view-create .v507-pay-row .v507-tile{height:52px!important;min-height:52px!important;padding:5px 8px!important;gap:7px!important}
#admin.v21-admin.v21-view-create .v507-pay-row .v507-tile .ico{width:34px!important;height:34px!important;min-width:34px!important;font-size:17px!important;border-radius:7px!important}
#admin.v21-admin.v21-view-create .v507-pay-row .v507-tile strong{font-size:13px!important}.v507-pay-row .v507-tile small{font-size:9.5px!important;line-height:1.15!important;margin-top:1px!important}.v507-pay-row .radio{width:16px!important;height:16px!important;min-width:16px!important}
#admin.v21-admin.v21-view-create .v516-ref-card{display:none!important}
#admin.v21-admin.v21-view-create .v520-ref-inline{display:grid!important;grid-template-columns:128px 1fr!important;gap:8px!important;align-items:center!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
#admin.v21-admin.v21-view-create .v520-ref-inline .v507-field-label{margin:0!important;font-size:11.5px!important;color:#111827!important;white-space:nowrap!important}#admin.v21-admin.v21-view-create .v520-ref-inline .v507-input{height:34px!important;border-radius:6px!important;font-size:11px!important}
/* route + map */
#admin.v21-admin.v21-view-create .v507-route-layout{display:grid!important;grid-template-columns:minmax(0,1.72fr) minmax(360px,.78fr)!important;gap:12px!important;margin:0!important;align-items:start!important}
#admin.v21-admin.v21-view-create .v507-route-card{overflow:visible!important;padding:0!important}
#admin.v21-admin.v21-view-create .v507-route-head{height:48px!important;min-height:48px!important;padding:0 11px!important;gap:10px!important;border-bottom:1px solid #edf1f5!important;flex-wrap:nowrap!important}
#admin.v21-admin.v21-view-create .v507-route-head h3{font-size:16px!important}.v507-checkline{font-size:11px!important}.v507-checkline input{width:17px!important;height:17px!important}.v507-count{font-size:11px!important}.v507-add-stop{height:35px!important;padding:0 15px!important;border-radius:6px!important;background:linear-gradient(135deg,#e3a11e,#c88706)!important;color:#fff!important;border:0!important;font-size:11.5px!important;box-shadow:none!important}
#admin.v21-admin.v21-view-create .v507-point{padding:8px 10px 8px 62px!important;min-height:0!important}.v507-point-num{left:12px!important;top:10px!important;width:35px!important;height:35px!important;font-size:14px!important}.v507-point-line:before{left:29px!important;top:45px!important;bottom:-10px!important}.v507-point-top{margin-bottom:5px!important}.v507-point-type{height:34px!important;font-size:12px!important;border-radius:6px!important;padding:0 10px!important}.v507-point-tools{gap:7px!important}.v507-trash{width:31px!important;height:31px!important}
#admin.v21-admin.v21-view-create #v507UseCustomerAddress{display:none!important}
#admin.v21-admin.v21-view-create .v507-address-row{grid-template-columns:minmax(0,1fr) 115px!important;gap:8px!important}.v507-address-row.no-price{grid-template-columns:1fr!important}.v507-mini-label{font-size:10.5px!important;margin-bottom:3px!important}.v507-input,.v507-select{height:39px!important;border-radius:6px!important;font-size:11.5px!important;padding:0 10px!important}.v507-contact-row{grid-template-columns:1fr 1fr 1.45fr!important;gap:8px!important;margin-top:6px!important}.v507-contact-row .v507-input{height:34px!important;font-size:11px!important}.v507-place-status{display:none!important}.v507-price-box label{font-size:9.5px!important}.v507-price-box .v507-input{height:39px!important}
#admin.v21-admin.v21-view-create .v507-map-card{padding:9px 10px!important;min-height:566px!important;position:relative!important;top:auto!important}.v507-map-head{margin-bottom:7px!important}.v507-map-head b{font-size:15px!important}.v507-map-head label{font-size:10px!important}.v507-map{height:300px!important;border-radius:8px!important}.v507-map-overlay{right:8px!important;bottom:8px!important;padding:8px 9px!important;min-width:142px!important;border-radius:8px!important}.v507-map-overlay b{font-size:16px!important}.v507-gmaps{height:32px!important;font-size:10.5px!important}.v507-order{margin-top:8px!important}.v507-order-head b{font-size:12.5px!important}.v507-order-row{padding:6px 0!important}.v507-order-n{width:26px!important;height:26px!important}.v507-order-row b{font-size:10.5px!important}.v507-order-row small{font-size:9.5px!important}
/* lower */
#admin.v21-admin.v21-view-create .v507-lower{display:grid!important;grid-template-columns:minmax(0,1.22fr) minmax(0,.9fr)!important;gap:0!important;margin:8px 0 0!important;border:1px solid var(--pe-line)!important;border-radius:8px!important;overflow:hidden!important;background:#fff!important}.v507-detail-card,.v507-parcel-card{border:0!important;border-radius:0!important;padding:7px 10px!important}.v507-detail-card{border-right:1px solid var(--pe-line)!important}.v507-lower-title{font-size:13px!important;margin-bottom:4px!important}.v507-detail-grid{grid-template-columns:minmax(0,1fr) 150px!important;gap:8px!important}.v507-detail-grid .v507-input,.v507-parcel-grid .v507-input{height:32px!important;font-size:10.5px!important}.v507-inline-checks{margin-top:5px!important;gap:13px!important}.v507-inline-checks label{font-size:10.5px!important}.v507-parcel-grid{grid-template-columns:repeat(4,1fr)!important;gap:7px!important}.v507-parcel-grid>div:last-child{display:none!important}.v507-unit{font-size:9px!important;margin-top:1px!important}
/* bottom */
#admin.v21-admin.v21-view-create .v507-bottom{position:sticky!important;bottom:0!important;z-index:120!important;margin-top:8px!important;border-radius:0!important;border:0!important;border-top:1px solid #e2e7ed!important;box-shadow:0 -3px 12px rgba(15,23,42,.05)!important;background:#fff!important;display:grid!important;grid-template-columns:100px minmax(0,1fr) minmax(0,1fr) 120px minmax(116px,1.15fr) minmax(116px,1.2fr) 140px 182px!important;min-height:58px!important}.v507-bottom>*{min-width:0!important}.v507-cancel,.v507-draft,.v507-assign{border-radius:6px!important;font-size:11.5px!important}.v507-assign{background:linear-gradient(135deg,#e4a31f,#cb8500)!important}.v507-stat{padding:6px 8px!important}.v507-stat .ico{font-size:18px!important}.v507-stat small{font-size:8.8px!important}.v507-stat b{font-size:14px!important}.v507-stat.money b{font-size:16px!important;color:#d48700!important}
/* search portal */
#v514SearchPortal,#v519SearchPortal,.v507-customer-menu,.v507-page .google-suggest-menu{display:none!important}
#v520SearchPortal{position:fixed;z-index:2147483647;display:none;background:#fff;border:1px solid #cfd8e3;border-radius:7px;box-shadow:0 12px 28px rgba(15,23,42,.22);max-height:330px;overflow:auto;overscroll-behavior:contain}.v520-show{display:block!important}.v520-head{padding:6px 11px;background:#f8fafc;border-bottom:1px solid #edf1f5;color:#64748b;font-size:9.5px;font-weight:800}.v520-row{display:grid;width:100%;grid-template-columns:38px minmax(0,1fr) auto;gap:8px;align-items:center;border:0;border-bottom:1px solid #eef2f6;background:#fff;padding:8px 10px;text-align:left;cursor:pointer;color:#172033}.v520-row:hover,.v520-row:focus{background:#f5f9ff;outline:none}.v520-row .v520-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eef4fb;color:#1f4f8d;font-size:17px;font-weight:900}.v520-row.google .v520-icon{background:#fff}.v520-row b{display:block;font-size:11.5px;line-height:1.25}.v520-row small{display:block;margin-top:2px;color:#667085;font-size:9.5px;line-height:1.3}.v520-source{font-size:9px;color:#4f6f9f;white-space:nowrap}.v520-empty{padding:9px 11px;color:#667085;font-size:10px}.v520-loading{color:#2472c9}
@media(max-width:1180px){#admin.v21-admin{padding-left:214px!important}.v507-route-layout{grid-template-columns:minmax(0,1.55fr) 340px!important}.v507-bottom{grid-template-columns:86px .85fr .85fr 84px 1fr 1fr 122px 158px!important}.v507-top-grid{grid-template-columns:minmax(0,1.4fr) minmax(360px,.9fr)!important}}

/* ===== v211560CompactOrdersMessengerText ===== */
/* V21.15.60: owner said the "คำสั่งงาน" (Orders) and Messenger pages read too big — the admin-wide
   readability rule (#admin#admin.v21-admin, #admin#admin.v21-admin *{font-size:16px!important}) forces
   16px onto everything under #admin, including these two pages' own compact table/list layouts, which
   were sized around 11-13px on purpose (v2134 compact-orders / v2106 messenger list). That wildcard's
   doubled-#admin selector beats a plain single #admin selector on specificity, which is why editing the
   compact rules themselves didn't help — matching that same doubled-ID trick here, scoped to just these
   two views, so every other admin page keeps its current 16px untouched. */
#admin#admin.v21-admin.v21-view-orders,#admin#admin.v21-admin.v21-view-orders *,
#admin#admin.v21-admin.v21-view-messengers,#admin#admin.v21-admin.v21-view-messengers *{
  font-size:13px!important;
}
#admin#admin.v21-admin.v21-view-orders #v21PageTitle,
#admin#admin.v21-admin.v21-view-messengers #v21PageTitle{font-size:25px!important}
#admin#admin.v21-admin.v21-view-orders #v21PageSub,
#admin#admin.v21-admin.v21-view-messengers #v21PageSub{font-size:11px!important}

/* ===== v211561AdvanceBookingsPanel ===== */
.v2112-advance-panel:empty{display:none}
.v2112-advance-panel-inner{border:1.5px solid #f2c94c;background:#fffbea;border-radius:14px;padding:14px 16px;margin:14px 0 18px}
.v2112-advance-head{font-size:14px;font-weight:900;color:#7a5b00;margin-bottom:10px}
.v2112-advance-empty{font-size:13px;color:#8a7440;font-weight:700}
.v2112-advance-row{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;background:#fff;border:1px solid #f0e2ae;border-radius:10px;padding:10px 12px;margin-bottom:8px;cursor:pointer}
.v2112-advance-row:last-child{margin-bottom:0}
.v2112-advance-row:hover{background:#fffdf5;border-color:#e8cf7a}
.v2112-advance-row.overdue{border-color:#f3b6ac;background:#fff5f3}
.v2112-advance-date{font-size:12.5px;font-weight:900;color:#8a6200}
.v2112-advance-row.overdue .v2112-advance-date{color:#b3261e}
.v2112-advance-route{font-size:12.5px;color:#3a3226}
.v2112-advance-status{font-size:11px;color:#8a7440}

/* ===== v211563AdminDiscount ===== */
/* V21.15.63: ช่องส่วนลดให้แอดมินกรอกเองในแถบสรุปราคาหน้าสร้างงาน · ใช้ specificity แบบ #admin#admin
   ด้วยเหตุผลเดียวกับ V21.15.60 (กฎ font-size 16px ทั่วหน้าแอดมินเขียนด้วย doubled-ID จึงชนะกฎปกติทุกข้อ) */
/* width:100% ไม่ใช่ความกว้างตายตัว — ของเดิม 74px ล้นออกนอกกรอบช่องไปทับช่องข้างๆ */
#v507Discount{width:100%;max-width:78px;min-width:0;border:1.5px solid #e2e8f0;border-radius:8px;padding:0 7px;font-weight:900;color:#111827;background:#fff;text-align:right}
/* ธีมแอดมินมีกฎ padding/height ของ input ทั่วทั้งหน้า ทำให้ช่องนี้สูง 46px จนดันแถบล่างสูงกว่าช่องอื่น
   (ช่องอื่นสูง 60px เท่ากันหมด) — ล็อกความสูงด้วย doubled-ID ให้ชนะกฎทั่วไป แถบจึงกลับมาสูงเท่าเดิม */
#admin#admin.v21-admin.v21-view-create #v507Discount{display:block!important;height:28px!important;min-height:0!important;margin:0!important;padding:0 7px!important;line-height:26px!important}
#v507Discount:focus{outline:0;border-color:#d59517;box-shadow:0 0 0 3px rgba(213,149,23,.15)}
#v507Discount.has-value{border-color:#d59517;background:#fffaf0;color:#a8690a}
#admin#admin.v21-admin #v507Discount{font-size:15px!important}
.v507-discount-stat .ico{color:#a8690a}
#v507Page.replacement .v507-discount-stat{display:none}
/* แถบสรุปล่างเคยตัดบรรทัดจนสูงผิดรูป (ป้าย "ระยะทางโดยประมาณ" ฯลฯ ขึ้น 3 บรรทัด) — บังคับบรรทัดเดียว
   ให้ทุกช่องสูงเท่ากันและแถบเตี้ยลง · ประกาศไว้ทั้งใน app.css และ v521-create.css เพราะไฟล์หลังโหลดทีหลัง */
#admin.v21-admin.v21-view-create .v507-bottom .v507-stat small,
#admin.v21-admin.v21-view-create .v507-bottom .v507-stat b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#admin.v21-admin.v21-view-create .v507-bottom .v507-stat{min-width:0}
/* หมายเหตุ: ขนาดตัวเลขราคาในแถบล่างถูกกำหนดด้วย clamp() ใน v521-create.css ซึ่งโหลดทีหลังไฟล์นี้
   จึงชนะเสมอ — ถ้าต้องปรับขนาดตัวเลขราคา ต้องไปแก้ที่ไฟล์นั้น ไม่ใช่ที่นี่ */
#admin.v21-admin.v21-view-create .v507-bottom .v507-stat>span:last-child{min-width:0;flex:1}
.v2105-detail-stat.v2105-detail-discount b{color:#047857}

/* ===== v211566HomeDashboard ===== */
/* V21.15.66: หน้าหลักทำใหม่ตามภาพตัวอย่างที่เจ้าของส่งมา (การ์ดขาวบนพื้นเทา ตัวเลขใหญ่ กราฟยอดขาย)
   ใช้ selector แบบ 3 ID (#admin#admin … #v2144Dashboard) ทุกข้อ เพราะหน้าแอดมินมีกฎ
   "#admin#admin.v21-admin *{font-size:16px!important;font-weight:400!important}" ที่ทำให้ตัวเลขทุกตัว
   เล็กและบางเท่ากันหมด — กฎแบบ 2 ID ชนะกฎปกติทุกข้อ ต้องใช้ 3 ID ถึงจะชนะได้
   คลาสทั้งหมดขึ้นต้นด้วย pd- (ชุดใหม่) ไม่ใช้ v2144-/v2155- ของเดิม เพื่อไม่ให้กฎเก่าที่ซ้อนกันอยู่มาทับ */
#admin#admin.v21-admin.v21-view-dashboard{background:#f4f5f7!important}
#admin#admin.v21-admin.v21-view-dashboard>.v21-page-intro{margin:0 0 6px!important}
#admin#admin.v21-admin.v21-view-dashboard>.v21-page-intro>div{display:flex!important;align-items:baseline!important;gap:10px!important}
#admin#admin.v21-admin.v21-view-dashboard>.v21-page-intro h1{font-size:22px!important;font-weight:800!important;margin:0!important;color:#111827!important}
#admin#admin.v21-admin.v21-view-dashboard>.v21-page-intro p{font-size:13px!important;margin:0!important;color:#8a93a3!important}

#admin#admin.v21-admin #v2144Dashboard{--pd-ink:#111827;--pd-ink2:#4b5563;--pd-muted:#8a93a3;--pd-line:#e6e8ec;--pd-grid:#eef0f3;--pd-axis:#d3d8df;--pd-gold:#d59517;--pd-slate:#64748b;padding:0 0 28px!important}
#admin#admin.v21-admin #v2144Dashboard .pd-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 14px}
#admin#admin.v21-admin #v2144Dashboard .pd-head-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
#admin#admin.v21-admin #v2144Dashboard .pd-head-title h2{font-size:28px!important;font-weight:800!important;line-height:1.15;margin:0;color:var(--pd-ink);text-wrap:balance}
#admin#admin.v21-admin #v2144Dashboard .pd-live{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:#e8f6ee;color:#0f6b3a;font-size:11px!important;font-weight:800!important;letter-spacing:.06em}
#admin#admin.v21-admin #v2144Dashboard .pd-live i{width:7px;height:7px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.18)}
#admin#admin.v21-admin #v2144Dashboard .pd-updated{font-size:12.5px!important;color:var(--pd-muted)}
#admin#admin.v21-admin #v2144Dashboard .pd-date{display:flex;flex-direction:column;gap:5px;margin:0}
#admin#admin.v21-admin #v2144Dashboard .pd-date>span{font-size:11.5px!important;font-weight:600!important;color:var(--pd-muted)}
#admin#admin.v21-admin #v2144Dashboard .pd-date input{height:40px!important;min-width:190px;padding:0 12px!important;border:1px solid var(--pd-line)!important;border-radius:10px!important;background:#fff!important;font-size:14px!important;color:var(--pd-ink)!important;box-shadow:none!important}
#admin#admin.v21-admin #v2144Dashboard .pd-date input:focus{outline:0;border-color:var(--pd-gold)!important;box-shadow:0 0 0 3px rgba(213,149,23,.16)!important}
#admin#admin.v21-admin #v2144Dashboard .pd-date .pe-date-th{display:none!important}

#admin#admin.v21-admin #v2144Dashboard .pd-card{display:block;background:#fff!important;border:1px solid var(--pd-line)!important;border-radius:12px!important;padding:18px 20px!important;box-shadow:0 1px 2px rgba(16,24,40,.04)!important;min-width:0;margin:0!important;color:var(--pd-ink)!important}
#admin#admin.v21-admin #v2144Dashboard .pd-label{font-size:13.5px!important;font-weight:700!important;color:var(--pd-ink2)}

#admin#admin.v21-admin #v2144Dashboard .pd-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 14px}
#admin#admin.v21-admin #v2144Dashboard .pd-kpi{display:flex!important;flex-direction:column;align-items:flex-start;gap:8px;width:100%;text-align:left;font:inherit;appearance:none;min-height:0!important;height:auto!important}
#admin#admin.v21-admin #v2144Dashboard button.pd-kpi{cursor:pointer;transition:border-color .15s,box-shadow .15s}
#admin#admin.v21-admin #v2144Dashboard button.pd-kpi:hover{border-color:#d3d8df!important;box-shadow:0 4px 14px rgba(16,24,40,.07)!important}
#admin#admin.v21-admin #v2144Dashboard button.pd-kpi:focus-visible{outline:2px solid var(--pd-gold);outline-offset:2px}
#admin#admin.v21-admin #v2144Dashboard .pd-kpi-value{display:flex;align-items:baseline;gap:8px}
#admin#admin.v21-admin #v2144Dashboard .pd-kpi-value b{font-size:38px!important;font-weight:700!important;line-height:1.05;color:var(--pd-ink)}
#admin#admin.v21-admin #v2144Dashboard .pd-kpi-value small{font-size:14px!important;color:var(--pd-muted)}
#admin#admin.v21-admin #v2144Dashboard .pd-sub{font-size:12.5px!important;color:var(--pd-muted)}

#admin#admin.v21-admin #v2144Dashboard .pd-main{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(330px,1fr);gap:14px;align-items:start}
#admin#admin.v21-admin #v2144Dashboard .pd-side{display:grid;gap:14px;min-width:0}

#admin#admin.v21-admin #v2144Dashboard .pd-hero{display:flex;align-items:flex-end;gap:36px;flex-wrap:wrap;margin:10px 0 4px}
#admin#admin.v21-admin #v2144Dashboard .pd-hero>div{display:flex;flex-direction:column;gap:2px}
#admin#admin.v21-admin #v2144Dashboard .pd-hero b{font-size:44px!important;font-weight:700!important;line-height:1.05;color:var(--pd-ink)}
#admin#admin.v21-admin #v2144Dashboard .pd-hero small{font-size:12.5px!important;color:var(--pd-muted)}
#admin#admin.v21-admin #v2144Dashboard .pd-hero .pd-split{margin-left:auto;align-self:center;font-size:12.5px!important;color:var(--pd-ink2);background:#f5f6f8;border-radius:8px;padding:7px 11px}
#admin#admin.v21-admin #v2144Dashboard .pd-chart-wrap{position:relative;margin-top:4px}
#admin#admin.v21-admin #v2144Dashboard .pd-chart{width:100%;min-height:352px}
#admin#admin.v21-admin #v2144Dashboard .pd-chart svg{display:block;overflow:visible}
#admin#admin.v21-admin #v2144Dashboard .pd-chart .pd-tick{font-size:11px!important;fill:var(--pd-muted);font-variant-numeric:tabular-nums}
#admin#admin.v21-admin #v2144Dashboard .pd-chart .pd-panel-label{font-size:11.5px!important;font-weight:700!important;fill:var(--pd-ink2)}
#admin#admin.v21-admin #v2144Dashboard .pd-chart .pd-grid{stroke:var(--pd-grid);stroke-width:1}
#admin#admin.v21-admin #v2144Dashboard .pd-chart .pd-axis{stroke:var(--pd-axis);stroke-width:1}
#admin#admin.v21-admin #v2144Dashboard .pd-chart .pd-area{fill:var(--pd-gold);fill-opacity:.12;stroke:none}
#admin#admin.v21-admin #v2144Dashboard .pd-chart .pd-line{fill:none;stroke:var(--pd-gold);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
#admin#admin.v21-admin #v2144Dashboard .pd-chart .pd-peak,
#admin#admin.v21-admin #v2144Dashboard .pd-chart .pd-dot{fill:var(--pd-gold);stroke:#fff;stroke-width:2}
#admin#admin.v21-admin #v2144Dashboard .pd-chart .pd-peak-label{font-size:12px!important;font-weight:700!important;fill:var(--pd-ink)}
#admin#admin.v21-admin #v2144Dashboard .pd-chart .pd-col{fill:var(--pd-slate)}
#admin#admin.v21-admin #v2144Dashboard .pd-chart .pd-col-label{font-size:11px!important;font-weight:700!important;fill:var(--pd-ink2)}
#admin#admin.v21-admin #v2144Dashboard .pd-chart .pd-cross{stroke:#a3abb7;stroke-width:1}
#admin#admin.v21-admin #v2144Dashboard .pd-chart .pd-hit{fill:transparent;cursor:crosshair}
#admin#admin.v21-admin #v2144Dashboard .pd-chart .pd-empty-text{font-size:13px!important;fill:var(--pd-muted)}
#admin#admin.v21-admin #v2144Dashboard .pd-tip{position:absolute;z-index:3;pointer-events:none;display:flex;flex-direction:column;gap:4px;min-width:176px;padding:9px 11px;border-radius:9px;background:#111827;box-shadow:0 8px 24px rgba(16,24,40,.18)}
#admin#admin.v21-admin #v2144Dashboard .pd-tip[hidden]{display:none!important}
#admin#admin.v21-admin #v2144Dashboard .pd-tip b{font-size:12px!important;font-weight:700!important;color:#fff}
#admin#admin.v21-admin #v2144Dashboard .pd-tip span{display:flex;align-items:center;gap:6px;font-size:12px!important;color:#e5e7eb}
#admin#admin.v21-admin #v2144Dashboard .pd-tip strong{font-size:12px!important;font-weight:700!important;color:#fff}
#admin#admin.v21-admin #v2144Dashboard .pd-tip small{font-size:11px!important;color:#cbd5e1}
#admin#admin.v21-admin #v2144Dashboard .pd-key{display:inline-block;width:12px;height:3px;border-radius:2px}
#admin#admin.v21-admin #v2144Dashboard .pd-key.gold{background:var(--pd-gold)}
#admin#admin.v21-admin #v2144Dashboard .pd-key.slate{background:var(--pd-slate)}

#admin#admin.v21-admin #v2144Dashboard .pd-table{margin-top:10px;padding-top:10px;border-top:1px solid var(--pd-grid)}
#admin#admin.v21-admin #v2144Dashboard .pd-table summary{font-size:12.5px!important;font-weight:600!important;color:var(--pd-ink2);cursor:pointer}
#admin#admin.v21-admin #v2144Dashboard .pd-table table{width:100%;border-collapse:collapse;margin-top:8px}
#admin#admin.v21-admin #v2144Dashboard .pd-table th,
#admin#admin.v21-admin #v2144Dashboard .pd-table td{font-size:12.5px!important;padding:6px 8px;border-bottom:1px solid var(--pd-grid);text-align:right;font-variant-numeric:tabular-nums;color:var(--pd-ink)}
#admin#admin.v21-admin #v2144Dashboard .pd-table th:first-child,
#admin#admin.v21-admin #v2144Dashboard .pd-table td:first-child{text-align:left}
#admin#admin.v21-admin #v2144Dashboard .pd-table th{font-weight:700!important;color:var(--pd-ink2)}
#admin#admin.v21-admin #v2144Dashboard .pd-table tfoot td{font-weight:700!important;border-bottom:0}
#admin#admin.v21-admin #v2144Dashboard .pd-table-empty{font-size:12.5px!important;color:var(--pd-muted);margin:8px 0 0}

#admin#admin.v21-admin #v2144Dashboard .pd-today-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
#admin#admin.v21-admin #v2144Dashboard .pd-today-grid>div{display:flex;flex-direction:column;gap:4px;min-width:0}
#admin#admin.v21-admin #v2144Dashboard .pd-today-grid small{font-size:12.5px!important;color:var(--pd-muted)}
#admin#admin.v21-admin #v2144Dashboard .pd-today-grid b{font-size:32px!important;font-weight:700!important;line-height:1.1;color:var(--pd-ink)}

#admin#admin.v21-admin #v2144Dashboard .pd-status-body{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:12px}
#admin#admin.v21-admin #v2144Dashboard .pd-donut{flex:none}
#admin#admin.v21-admin #v2144Dashboard .pd-donut svg{display:block}
#admin#admin.v21-admin #v2144Dashboard .pd-donut .pd-donut-num{font-size:32px!important;font-weight:700!important;fill:var(--pd-ink)}
#admin#admin.v21-admin #v2144Dashboard .pd-donut .pd-donut-unit{font-size:12px!important;fill:var(--pd-muted)}
#admin#admin.v21-admin #v2144Dashboard .pd-legend{display:grid;gap:9px;flex:1;min-width:180px}
#admin#admin.v21-admin #v2144Dashboard .pd-leg{display:grid;grid-template-columns:12px minmax(0,1fr) auto 42px;align-items:center;gap:8px}
#admin#admin.v21-admin #v2144Dashboard .pd-leg i{width:12px;height:12px;border-radius:3px}
#admin#admin.v21-admin #v2144Dashboard .pd-leg span{font-size:13px!important;color:var(--pd-ink)}
#admin#admin.v21-admin #v2144Dashboard .pd-leg b{font-size:13px!important;font-weight:700!important;color:var(--pd-ink);font-variant-numeric:tabular-nums}
#admin#admin.v21-admin #v2144Dashboard .pd-leg em{font-size:12px!important;font-style:normal;text-align:right;color:var(--pd-muted);font-variant-numeric:tabular-nums}
#admin#admin.v21-admin #v2144Dashboard .pd-leg.zero span,
#admin#admin.v21-admin #v2144Dashboard .pd-leg.zero b{color:var(--pd-muted)}

#admin#admin.v21-admin #v2144Dashboard .v2112-advance-panel-inner{margin:0 0 14px}

@media(max-width:1200px){#admin#admin.v21-admin #v2144Dashboard .pd-main{grid-template-columns:minmax(0,1fr)}#admin#admin.v21-admin #v2144Dashboard .pd-side{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  #admin#admin.v21-admin #v2144Dashboard .pd-kpis,
  #admin#admin.v21-admin #v2144Dashboard .pd-side{grid-template-columns:minmax(0,1fr)}
  #admin#admin.v21-admin #v2144Dashboard .pd-hero{gap:22px}
  #admin#admin.v21-admin #v2144Dashboard .pd-hero b{font-size:34px!important}
  #admin#admin.v21-admin #v2144Dashboard .pd-hero .pd-split{margin-left:0}
  #admin#admin.v21-admin #v2144Dashboard .pd-kpi-value b{font-size:32px!important}
}
@media(prefers-reduced-motion:reduce){#admin#admin.v21-admin #v2144Dashboard button.pd-kpi{transition:none}}

/* ===== v211566SalesFinancePage ===== */
/* V21.15.66: หน้า "ยอดขาย / ค่าบริการ" ตามภาพตัวอย่าง · สไตล์เดียวกับหน้าหลัก (พื้นเทา การ์ดขาว ตัวเลขใหญ่)
   ใช้ 3 ID ด้วยเหตุผลเดียวกับหน้าหลัก · คลาส sf-* ชุดใหม่ ไม่ใช้ .v211435-fin-* เดิม */
#admin#admin.v21-admin.v21-view-finance{background:#f4f5f7!important}
#admin#admin.v21-admin.v21-view-finance>.v21-page-intro{margin:0 0 6px!important}
#admin#admin.v21-admin.v21-view-finance>.v21-page-intro>div{display:flex!important;align-items:baseline!important;gap:10px!important}
#admin#admin.v21-admin.v21-view-finance>.v21-page-intro h1{font-size:22px!important;font-weight:800!important;margin:0!important;color:#111827!important}
#admin#admin.v21-admin.v21-view-finance>.v21-page-intro p{font-size:13px!important;margin:0!important;color:#8a93a3!important}

#admin#admin.v21-admin #v211435FinancePage{--sf-ink:#111827;--sf-ink2:#4b5563;--sf-muted:#8a93a3;--sf-line:#e6e8ec;--sf-row:#eef0f3;--sf-head:#f6f7f9;--sf-gold:#d59517;--sf-gold-ink:#9a6207;padding:0 0 32px!important;max-width:1600px;margin:0 auto}
#admin#admin.v21-admin #v211435FinancePage .sf-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 14px}
#admin#admin.v21-admin #v211435FinancePage .sf-head h2{font-size:28px!important;font-weight:800!important;line-height:1.15;margin:0;color:var(--sf-ink);text-wrap:balance}
#admin#admin.v21-admin #v211435FinancePage .sf-head-title{display:flex;flex-direction:column;gap:4px;min-width:0}
#admin#admin.v21-admin #v211435FinancePage .sf-note{font-size:12.5px!important;color:var(--sf-muted);margin:0}
#admin#admin.v21-admin #v211435FinancePage .sf-range{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}
#admin#admin.v21-admin #v211435FinancePage .sf-to{font-size:13px!important;font-weight:600!important;color:var(--sf-ink2);padding-bottom:11px}
#admin#admin.v21-admin #v211435FinancePage .sf-field{display:flex;flex-direction:column;gap:5px;margin:0;min-width:0}
#admin#admin.v21-admin #v211435FinancePage .sf-field>span{font-size:11.5px!important;font-weight:600!important;color:var(--sf-muted);min-height:15px}
#admin#admin.v21-admin #v211435FinancePage .sf-field input,
#admin#admin.v21-admin #v211435FinancePage .sf-field select{height:40px!important;min-width:170px;padding:0 12px!important;border:1px solid var(--sf-line)!important;border-radius:10px!important;background:#fff!important;font-size:14px!important;color:var(--sf-ink)!important;box-shadow:none!important;margin:0!important}
#admin#admin.v21-admin #v211435FinancePage .sf-field input:focus,
#admin#admin.v21-admin #v211435FinancePage .sf-field select:focus{outline:0;border-color:var(--sf-gold)!important;box-shadow:0 0 0 3px rgba(213,149,23,.16)!important}
#admin#admin.v21-admin #v211435FinancePage .sf-field .pe-date-th{display:none!important}
#admin#admin.v21-admin #v211435FinancePage .sf-export{height:40px!important;padding:0 20px!important;border:0!important;border-radius:10px!important;background:#111827!important;color:#fff!important;font-size:14px!important;font-weight:700!important;cursor:pointer;margin:0!important}
#admin#admin.v21-admin #v211435FinancePage .sf-export:hover{background:#1f2937!important}
#admin#admin.v21-admin #v211435FinancePage .sf-export:focus-visible{outline:2px solid var(--sf-gold);outline-offset:2px}

#admin#admin.v21-admin #v211435FinancePage .sf-card{background:#fff!important;border:1px solid var(--sf-line)!important;border-radius:12px!important;box-shadow:0 1px 2px rgba(16,24,40,.04)!important;padding:20px 22px!important;margin:0 0 14px!important;min-width:0}
#admin#admin.v21-admin #v211435FinancePage .sf-kpis{display:flex;align-items:flex-end;gap:14px 52px;flex-wrap:wrap}
#admin#admin.v21-admin #v211435FinancePage .sf-kpi{display:flex;flex-direction:column;gap:4px;min-width:0}
#admin#admin.v21-admin #v211435FinancePage .sf-kpi b{font-size:32px!important;font-weight:700!important;line-height:1.1;color:var(--sf-ink);white-space:nowrap}
#admin#admin.v21-admin #v211435FinancePage .sf-kpi.sf-kpi-main b{font-size:42px!important;color:var(--sf-gold-ink)}
#admin#admin.v21-admin #v211435FinancePage .sf-kpi small{font-size:13px!important;color:var(--sf-muted)}

#admin#admin.v21-admin #v211435FinancePage .sf-list{padding:18px 0 14px!important}
#admin#admin.v21-admin #v211435FinancePage .sf-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:0 22px 14px}
#admin#admin.v21-admin #v211435FinancePage .sf-list-head h3{font-size:20px!important;font-weight:800!important;margin:0;color:var(--sf-ink)}
#admin#admin.v21-admin #v211435FinancePage .sf-filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
#admin#admin.v21-admin #v211435FinancePage .sf-filters .sf-field input{min-width:220px}
#admin#admin.v21-admin #v211435FinancePage .sf-scroll{overflow-x:auto;border-top:1px solid var(--sf-line);border-bottom:1px solid var(--sf-line)}
#admin#admin.v21-admin #v211435FinancePage .sf-table{width:100%;min-width:1240px;border-collapse:collapse;margin:0}
#admin#admin.v21-admin #v211435FinancePage .sf-table th{background:var(--sf-head)!important;font-size:12.5px!important;font-weight:700!important;color:var(--sf-ink2)!important;text-align:left;padding:11px 12px!important;white-space:nowrap;border-bottom:1px solid var(--sf-line)}
#admin#admin.v21-admin #v211435FinancePage .sf-table td{font-size:13.5px!important;color:var(--sf-ink)!important;padding:12px!important;border-bottom:1px solid var(--sf-row);vertical-align:top;white-space:nowrap;background:#fff}
#admin#admin.v21-admin #v211435FinancePage .sf-table tbody tr:last-child td{border-bottom:0}
#admin#admin.v21-admin #v211435FinancePage .sf-table tbody tr:hover td{background:#fafbfc}
#admin#admin.v21-admin #v211435FinancePage .sf-table th:first-child,
#admin#admin.v21-admin #v211435FinancePage .sf-table td:first-child{padding-left:22px!important}
#admin#admin.v21-admin #v211435FinancePage .sf-table th:last-child,
#admin#admin.v21-admin #v211435FinancePage .sf-table td:last-child{padding-right:22px!important}
#admin#admin.v21-admin #v211435FinancePage .sf-table .num{text-align:right;font-variant-numeric:tabular-nums}
#admin#admin.v21-admin #v211435FinancePage .sf-table .sf-id{font-weight:700!important;font-variant-numeric:tabular-nums}
#admin#admin.v21-admin #v211435FinancePage .sf-table .sf-net{font-weight:700!important}
#admin#admin.v21-admin #v211435FinancePage .sf-table .sf-wrap{white-space:normal;min-width:130px;max-width:260px}
#admin#admin.v21-admin #v211435FinancePage .sf-table .sf-dash{color:var(--sf-muted)}
#admin#admin.v21-admin #v211435FinancePage .sf-table .sf-empty{text-align:center;color:var(--sf-muted)!important;padding:36px 12px!important}
#admin#admin.v21-admin #v211435FinancePage .sf-detail{height:32px!important;padding:0 14px!important;border:1px solid var(--sf-line)!important;border-radius:8px!important;background:#fff!important;color:var(--sf-ink)!important;font-size:12.5px!important;font-weight:600!important;cursor:pointer;margin:-6px 0!important}
#admin#admin.v21-admin #v211435FinancePage .sf-detail:hover{border-color:#cfd5dd!important;background:#f6f7f9!important}
#admin#admin.v21-admin #v211435FinancePage .sf-detail:focus-visible{outline:2px solid var(--sf-gold);outline-offset:2px}

#admin#admin.v21-admin #v211435FinancePage .sf-pager{display:flex;justify-content:flex-end;gap:6px;padding:14px 22px 0;flex-wrap:wrap}
#admin#admin.v21-admin #v211435FinancePage .sf-pager button{height:34px!important;min-width:34px;padding:0 12px!important;border:1px solid var(--sf-line)!important;border-radius:8px!important;background:#fff!important;color:var(--sf-ink)!important;font-size:13px!important;font-weight:600!important;cursor:pointer;margin:0!important}
#admin#admin.v21-admin #v211435FinancePage .sf-pager button.on{background:#111827!important;border-color:#111827!important;color:#fff!important}
#admin#admin.v21-admin #v211435FinancePage .sf-pager button:disabled{opacity:.45;cursor:default}
#admin#admin.v21-admin #v211435FinancePage .sf-pager button:focus-visible{outline:2px solid var(--sf-gold);outline-offset:2px}

@media(max-width:760px){
  #admin#admin.v21-admin #v211435FinancePage .sf-kpis{gap:14px 28px}
  #admin#admin.v21-admin #v211435FinancePage .sf-kpi b{font-size:26px!important}
  #admin#admin.v21-admin #v211435FinancePage .sf-kpi.sf-kpi-main b{font-size:32px!important}
  #admin#admin.v21-admin #v211435FinancePage .sf-field input,
  #admin#admin.v21-admin #v211435FinancePage .sf-field select,
  #admin#admin.v21-admin #v211435FinancePage .sf-filters .sf-field input{min-width:0;width:100%}
}

/* ===== v211567EvidencePhotos ===== */
/* V21.15.67: รูปหลักฐานปิดงาน — การ์ดรูปใช้ร่วมกันทั้งหน้าแอดมินและหน้าลูกค้า
   ในหน้าแอดมิน (อยู่ใน #admin) ต้องใช้ 3 ID เพื่อชนะกฎ font-size 16px ทั้งหน้า · หน้าลูกค้าไม่มีกฎนั้น */
.pe-ev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin-top:8px}
.pe-ev-card{display:flex;gap:12px;align-items:flex-start;padding:10px;border:1px solid #e6e8ec;border-radius:12px;background:#fff;min-width:0}
.pe-ev-thumb{position:relative;flex:none;width:96px;height:96px;padding:0;border:0;border-radius:10px;overflow:hidden;background:#eef0f3;cursor:zoom-in}
.pe-ev-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.pe-ev-thumb:focus-visible{outline:2px solid #d59517;outline-offset:2px}
.pe-ev-thumb .pe-ev-broken{display:none}
.pe-ev-thumb.broken{cursor:default}
.pe-ev-thumb.broken img{display:none}
.pe-ev-thumb.broken .pe-ev-broken{display:grid;place-items:center;width:100%;height:100%;padding:6px;font-size:11px;color:#8a93a3;text-align:center}
.pe-ev-none{flex:none;width:96px;height:96px;border-radius:10px;border:1px dashed #d3d8df;display:grid;place-items:center;padding:6px;text-align:center;font-size:11px;color:#8a93a3;background:#fafbfc}
.pe-ev-info{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.pe-ev-title{font-size:13px;font-weight:700;color:#111827;line-height:1.35;overflow-wrap:anywhere}
.pe-ev-badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;background:#f1f3f6;color:#4b5563}
.pe-ev-badge.done{background:#e8f6ee;color:#0f6b3a}
.pe-ev-badge.failed{background:#fdecea;color:#b42318}
.pe-ev-meta{font-size:11.5px;color:#6b7280}
.pe-ev-reason{font-size:12px;color:#b42318;overflow-wrap:anywhere}

#admin#admin.v21-admin #v2105OrderDetailBody .pe-ev-title{font-size:13px!important;font-weight:700!important}
#admin#admin.v21-admin #v2105OrderDetailBody .pe-ev-badge{font-size:11px!important;font-weight:700!important}
#admin#admin.v21-admin #v2105OrderDetailBody .pe-ev-meta,
#admin#admin.v21-admin #v2105OrderDetailBody .pe-ev-none,
#admin#admin.v21-admin #v2105OrderDetailBody .pe-ev-broken{font-size:11.5px!important}
#admin#admin.v21-admin #v2105OrderDetailBody .pe-ev-reason{font-size:12px!important}

#cpHistoryDetail .pe-ev-section .pe-ev-grid{grid-template-columns:1fr}

#pePhotoViewer{position:fixed;inset:0;z-index:20000;display:none;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;background:rgba(10,14,22,.92)}
#pePhotoViewer.show{display:flex}
#pePhotoViewer .pe-pv-bar{display:flex;align-items:center;gap:12px;width:min(920px,100%);color:#fff}
#pePhotoViewer .pe-pv-caption{flex:1;min-width:0;font-size:14px;font-weight:600;overflow-wrap:anywhere}
#pePhotoViewer .pe-pv-open{color:#f6d38a;font-size:13px;font-weight:600;text-decoration:underline;white-space:nowrap}
#pePhotoViewer .pe-pv-open[hidden]{display:none}
#pePhotoViewer .pe-pv-close{flex:none;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:18px;cursor:pointer}
#pePhotoViewer .pe-pv-close:focus-visible{outline:2px solid #f6d38a;outline-offset:2px}
/* V21.15.68: รูป Messenger ในแถว "Messenger" ของหน้ารายละเอียดงานฝั่งลูกค้า
   กล่องรายละเอียด (#cpHistoryDetail) อยู่ในป๊อปอัปที่แนบกับ <body> ไม่ได้อยู่ใน #customerPortal จึงต้องอ้างถึงกล่องนี้ตรงๆ */
#cpHistoryDetail .pe-cp-messenger{display:inline-flex;align-items:center;gap:8px}
#cpHistoryDetail .pe-cp-messenger-photo{flex:none;width:36px;height:36px;max-width:36px;border-radius:50%;object-fit:cover;background:#f1f5f9;border:1px solid #e6e8ec}
#pePhotoViewer .pe-pv-img{display:block;max-width:min(920px,100%);max-height:calc(100vh - 110px);border-radius:10px;object-fit:contain;background:#111}

/* ===== V21.15.69 — ปุ่มเข้างาน / เลิกงาน ที่หน้าแรกแอป Messenger =====
   พนักงานเคยเห็นแค่ปุ่ม "ออก" (ออกจากระบบ) ในหน้าตั้งค่า ตอนนี้ปุ่มเลิกงานอยู่หน้าแรก ใต้หัวแอป */
#v2156RiderShell #peDutyHomeBar{display:flex;align-items:center;gap:12px;margin:12px 14px 4px;padding:12px 12px 12px 14px;background:#fff;border:1px solid #e3e5e8;border-radius:var(--v2168-radius,16px);box-shadow:0 1px 2px rgba(17,24,39,.05)}
#peDutyHomeBar .pe-dh-dot{flex:none;width:12px;height:12px;border-radius:50%;background:#c3c8cf}
#peDutyHomeBar.is-on .pe-dh-dot{background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.16)}
#peDutyHomeBar.is-off .pe-dh-dot{background:#d97706;box-shadow:0 0 0 4px rgba(217,119,6,.14)}
#peDutyHomeBar.is-ended .pe-dh-dot{background:#7c4dac}
#peDutyHomeBar .pe-dh-info{flex:1;min-width:0}
#peDutyHomeBar .pe-dh-info small{display:block;color:#6b7280;font-size:12.5px;font-weight:600;line-height:1.35}
#peDutyHomeBar .pe-dh-info b{display:block;margin-top:1px;color:#111827;font-size:18px;font-weight:800;line-height:1.25;font-variant-numeric:tabular-nums}
#peDutyHomeBar .pe-dh-btn{flex:none;min-width:116px;height:48px;margin:0;padding:0 16px;border:0!important;border-radius:12px;font-size:16px;font-weight:800;cursor:pointer;white-space:nowrap}
#peDutyHomeBar .pe-dh-btn.end{background:#c62828!important;color:#fff!important}
#peDutyHomeBar .pe-dh-btn.start{background:#15803d!important;color:#fff!important}
#peDutyHomeBar .pe-dh-btn.again{min-width:0;height:40px;background:#fff!important;color:#374151!important;border:1px solid #d1d5db!important;font-size:14px}
#peDutyHomeBar .pe-dh-btn.busy{background:#e5e7eb!important;color:#6b7280!important;cursor:default}
#peDutyHomeBar .pe-dh-btn:focus-visible{outline:3px solid #f6d38a;outline-offset:2px}
#peDutyHomeBar.is-loading{min-height:64px}
#v2156SettingsSlot .pe-duty-actions .pe-duty-btn.again{background:#fff;color:#374151;border:1px solid #d1d5db}
#v2156RiderShell .pe-logout-row span small{display:block;margin-top:3px;color:#6b7280;font-size:12px;font-weight:500;line-height:1.4}
#v2156RiderShell .pe-logout-row span{flex:1;min-width:0}
#v2156RiderShell .pe-logout-row button{flex:none;white-space:nowrap}
/* V21.15.70 — แก้ประเภทการชำระเงินในหน้าต่าง "แก้ไขงาน" (ได้แม้งานปิดแล้ว) */
.pe-v2113-pay{margin:0 0 14px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}
.pe-v2113-pay>label{display:block;margin-bottom:8px;font-size:11px;font-weight:800;color:#475569}
.pe-v2113-pay-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pe-v2113-pay-opt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:0;padding:10px 12px;border:1.5px solid #d6dbe3;border-radius:10px;background:#fff;color:#0f172a;text-align:left;cursor:pointer}
.pe-v2113-pay-opt b{font-size:14px;font-weight:800}
.pe-v2113-pay-opt small{font-size:11.5px;color:#64748b}
.pe-v2113-pay-opt:hover{border-color:#94a3b8}
.pe-v2113-pay-opt.active{border-color:#111827;background:#111827;color:#fff}
.pe-v2113-pay-opt.active small{color:#cbd5e1}
.pe-v2113-pay-opt:focus-visible{outline:3px solid #f6d38a;outline-offset:2px}
.pe-v2113-pay-note{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding:9px 11px;border-radius:10px;background:#fff;border:1px solid #e2e8f0;color:#475569;font-size:12px;line-height:1.55}
.pe-v2113-pay-note.changed{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.pe-v2113-pay-note b{font-weight:800}
@media(max-width:420px){.pe-v2113-pay-opts{grid-template-columns:1fr}}
/* ===== V21.15.76 — เสียงเตือนคำสั่งงานใหม่: การ์ดแจ้งเตือน + ปุ่มกระดิ่งบนหัวหน้าจอแอดมิน ===== */
.pe-order-alert{position:fixed;top:78px;right:18px;z-index:100500;width:min(380px,calc(100vw - 24px));background:#fff;border:1px solid #ecd9a8;border-radius:16px;box-shadow:0 18px 44px rgba(20,16,8,.22);color:#1f2329;overflow:hidden;animation:peOaIn .25s ease-out}
.pe-order-alert[hidden]{display:none}
@keyframes peOaIn{from{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}
.pe-oa-head{display:flex;align-items:center;gap:10px;padding:12px 10px 10px 14px;background:#fdf6e6;border-bottom:1px solid #f1e3bd}
.pe-oa-bell{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:linear-gradient(180deg,#d3a042,#b57a15);color:#fff;animation:peBellShake 1.2s ease-in-out infinite;transform-origin:50% 12%}
.pe-oa-bell svg{width:21px;height:21px}
.pe-oa-head b{display:block;font-size:16px;font-weight:700;line-height:1.3}
.pe-oa-head small{display:block;font-size:13px;color:#8a6414}
.pe-oa-x{margin-left:auto;width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:#6b7280;font-size:22px;line-height:1;cursor:pointer}
.pe-oa-x:hover{background:#f3ead3}
.pe-oa-list{list-style:none;margin:0;padding:6px}
.pe-oa-list li button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;width:100%;margin:0;padding:9px 10px;border:0;border-radius:10px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.pe-oa-list li button:hover{background:#faf6ec}
.pe-oa-list b{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pe-oa-list em{font-style:normal;font-size:12px;color:#8a6414;white-space:nowrap}
.pe-oa-list span{grid-column:1/-1;font-size:12.5px;color:#5b616b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pe-oa-more{padding:4px 10px 6px;font-size:12.5px;color:#6b7280}
.pe-oa-warn{display:block;width:calc(100% - 24px);margin:0 12px 8px;padding:8px 10px;border:1px solid #f3d38a;border-radius:9px;background:#fff6dd;color:#8a5200;font:inherit;font-size:13px;font-weight:600;text-align:left;cursor:pointer}
.pe-oa-actions{display:grid;grid-template-columns:1.4fr 1fr;gap:8px;padding:4px 12px 12px}
.pe-oa-primary{height:44px;border:0;border-radius:11px;background:linear-gradient(180deg,#d3a042,#b57a15);color:#fff;font:inherit;font-size:15px;font-weight:700;cursor:pointer}
.pe-oa-secondary{height:44px;border:1px solid #d9d5cc;border-radius:11px;background:#fff;color:#1f2329;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.pe-oa-foot{margin:0;padding:0 14px 12px;font-size:12.5px}
.pe-oa-link{margin:0;padding:0;border:0;background:none;color:#8a6414;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.pe-order-alert button:focus-visible{outline:3px solid #f2cf80;outline-offset:2px}
#admin#admin.v21-admin #peOrderBell{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;margin:0;padding:0;border:1px solid #e5e7eb;border-radius:12px;background:#fff;color:#1f2329;cursor:pointer}
#admin#admin.v21-admin #peOrderBell svg{width:20px;height:20px}
#admin#admin.v21-admin #peOrderBell.off{color:#9aa0a6}
#admin#admin.v21-admin #peOrderBell.ringing{border-color:#d9a441;background:#fdf6e6;color:#8a6414}
#admin#admin.v21-admin #peOrderBell.ringing svg{animation:peBellShake 1.2s ease-in-out infinite;transform-origin:50% 12%}
#admin#admin.v21-admin #peOrderBell i{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#dc2626;color:#fff;font-size:11px!important;font-weight:700!important;font-style:normal;line-height:18px;text-align:center}
#admin#admin.v21-admin #peOrderBell:focus-visible{outline:3px solid #f2cf80;outline-offset:2px}
@keyframes peBellShake{0%,55%,100%{transform:rotate(0)}8%,24%{transform:rotate(14deg)}16%,32%{transform:rotate(-14deg)}40%{transform:rotate(6deg)}}
.pe-obm{position:fixed;z-index:100600;width:min(300px,calc(100vw - 16px));padding:12px;background:#fff;border:1px solid #e7e3da;border-radius:14px;box-shadow:0 14px 34px rgba(20,16,8,.18);color:#1f2329}
.pe-obm[hidden]{display:none}
.pe-obm-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px}
.pe-obm-head b{font-size:15px;font-weight:700}
.pe-obm-x{width:30px;height:30px;border:0;border-radius:8px;background:none;color:#6b7280;font-size:20px;cursor:pointer}
.pe-obm-switch{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:0 0 8px;padding:10px 12px;border:1px solid #e7e3da;border-radius:11px;background:#faf8f4;color:inherit;font:inherit;font-size:14px;text-align:left;cursor:pointer}
.pe-obm-switch i{position:relative;flex:none;width:40px;height:22px;border-radius:11px;background:#cfd3d8;transition:background .15s}
.pe-obm-switch i::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}
.pe-obm-switch.on i{background:#1c8a4a}
.pe-obm-switch.on i::after{transform:translateX(18px)}
.pe-obm-btn{display:block;width:100%;margin:0 0 6px;padding:9px 12px;border:1px solid #d9d5cc;border-radius:10px;background:#fff;color:#1f2329;font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer}
.pe-obm-btn:hover,.pe-obm-switch:hover{border-color:#c9b58c}
.pe-obm-state{margin:0 0 6px;font-size:12.5px;color:#8a6414}
.pe-obm-state:empty{display:none}
.pe-obm-note{margin:6px 0 0;font-size:12.5px;line-height:1.5;color:#6b7280}
.pe-obm-note.ok{color:#1c8a4a;font-weight:600}
.pe-obm button:focus-visible{outline:3px solid #f2cf80;outline-offset:2px}
@media (max-width:640px){.pe-order-alert{top:auto;bottom:12px;right:12px;left:12px;width:auto}}
@media (prefers-reduced-motion:reduce){.pe-oa-bell,#admin#admin.v21-admin #peOrderBell.ringing svg,.pe-order-alert{animation:none!important}}
/* V21.15.77 — กระดิ่งบอกเป็นคำเมื่อ Chrome ยังปิดเสียงของหน้าไว้ (หลังรีเฟรช ก่อนคลิก) */
#admin#admin.v21-admin #peOrderBell.locked{width:auto;padding:0 12px 0 10px;grid-auto-flow:column;gap:6px;border-color:#f0c35c;background:#fff6dd;color:#8a5200;animation:peBellNudge 2.4s ease-in-out infinite}
#admin#admin.v21-admin #peOrderBell em{font-style:normal;font-size:13px!important;font-weight:700!important;white-space:nowrap}
@keyframes peBellNudge{0%,80%,100%{box-shadow:0 0 0 0 rgba(240,195,92,0)}40%{box-shadow:0 0 0 5px rgba(240,195,92,.35)}}
@media (prefers-reduced-motion:reduce){#admin#admin.v21-admin #peOrderBell.locked{animation:none}}
@media (max-width:720px){#admin#admin.v21-admin #peOrderBell em{display:none}}
/* V21.15.78 — หมุดลูกค้า: ต้นทาง = เขียว, ปลายทาง = แดง (ตรงกับจุดสีในรายการงานของลูกค้า และหมุดบนแผนที่) */
#cpHistoryDetail .pe-cp-pin{display:inline-grid;place-items:center;flex:none;width:20px;height:20px;margin-right:7px;border-radius:50%;background:#ef233c;color:#fff;font-style:normal;font-size:11px;font-weight:800;line-height:1;vertical-align:-4px;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(15,23,42,.12)}
#cpHistoryDetail .pe-cp-pin.pick{background:#059669}
.cp-route-row .cp-pin.drop{background:#ef233c;color:#fff}
/* V21.15.79 — เปลี่ยน Messenger หลังมอบหมายแล้ว (รายละเอียดคำสั่งงาน) */
.pe-change-messenger-hint{flex-basis:100%;color:#6b7280;line-height:1.4}
#admin#admin.v21-admin .pe-change-messenger-hint{font-size:13px!important}
/* V21.15.80 — แอป Messenger: สรุปรายได้ (วันนี้ / สัปดาห์นี้ / เดือนนี้ + รายวันของแต่ละเดือน) ในหน้าเงินในระบบ */
#v2156RiderShell .pe-earn{display:grid;gap:var(--v2168-gap,12px);margin-top:var(--v2168-gap,12px)}
#v2156RiderShell .pe-earn[hidden]{display:none}
#v2156RiderShell .pe-earn-card{background:#fff;border:1px solid #e0e3e7;border-radius:var(--v2168-radius,16px);padding:16px 18px}
#v2156RiderShell .pe-earn-card h3{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 4px;font-size:17px;font-weight:800;color:#111827}
#v2156RiderShell .pe-earn-card h3 small{font-size:13px;font-weight:700;color:#7b818b}
#v2156RiderShell .pe-earn-period{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #eef0f2}
#v2156RiderShell .pe-earn-period:first-of-type{border-top:0}
#v2156RiderShell .pe-earn-period b{display:block;font-size:16px;font-weight:800;color:#111827}
#v2156RiderShell .pe-earn-period small{display:block;margin-top:2px;font-size:13px;font-weight:600;color:#7b818b}
#v2156RiderShell .pe-earn-period strong{font-size:22px;font-weight:800;color:#111827;font-variant-numeric:tabular-nums;white-space:nowrap}
#v2156RiderShell .pe-earn-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
#v2156RiderShell .pe-earn-head h3{margin:0}
#v2156RiderShell .pe-earn-head select{width:auto;min-width:0;max-width:100%;height:42px;margin:0;padding:0 12px;border:1px solid #d5d9de;border-radius:12px;background:#fff;font-size:15px;font-weight:700;color:#111827}
#v2156RiderShell .pe-earn-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#v2156RiderShell .pe-earn-total{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 4px;padding:12px 14px;border-radius:12px;background:#f5f6f8}
#v2156RiderShell .pe-earn-total span{font-size:14px;font-weight:700;color:#4b5260}
#v2156RiderShell .pe-earn-total strong{font-size:19px;font-weight:800;color:#111827;font-variant-numeric:tabular-nums;white-space:nowrap}
#v2156RiderShell .pe-earn-day{border-top:1px solid #eef0f2}
#v2156RiderShell .pe-earn-day:first-child{border-top:0}
#v2156RiderShell .pe-earn-day summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 2px;list-style:none;cursor:pointer}
#v2156RiderShell .pe-earn-day summary::-webkit-details-marker{display:none}
#v2156RiderShell .pe-earn-day summary:focus-visible{outline:2px solid #111827;outline-offset:2px;border-radius:8px}
#v2156RiderShell .pe-earn-date{font-size:15px;font-weight:700;color:#111827}
#v2156RiderShell .pe-earn-count{font-size:13px;font-weight:600;color:#7b818b;white-space:nowrap}
#v2156RiderShell .pe-earn-amt{min-width:92px;text-align:right;font-size:16px;font-weight:800;color:#111827;font-variant-numeric:tabular-nums;white-space:nowrap}
#v2156RiderShell .pe-earn-day ul{margin:0 0 10px;padding:8px 12px;list-style:none;border-radius:10px;background:#f7f8fa}
#v2156RiderShell .pe-earn-day li{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:13px;font-weight:600;color:#4b5260;font-variant-numeric:tabular-nums}
#v2156RiderShell .pe-earn-empty{padding:18px 0 8px;text-align:center;font-size:14px;font-weight:600;color:#7b818b}
/* V21.15.82 — หน้าเช็คราคา/สั่งงานแบบไม่ต้องเข้าสู่ระบบ + หน้าเข้าสู่ระบบที่เก็บงานไว้ให้ */
body.pe-guest #customerPortal .pe-login-only{display:none!important}
body.pe-guest #customerPortal .cp-account-name{display:none}
body.pe-guest #customerPortal .cp-logout{white-space:nowrap;width:auto;padding-inline:16px}
.pe-guest-note{display:none}
body.pe-guest .pe-guest-note{display:block;margin:12px 0 10px;padding:11px 13px;border-radius:12px;background:#effaf3;border:1px solid #b9e2c8;color:#14532d;font-size:13.5px;font-weight:600;line-height:1.55}
body.pe-guest .pe-guest-note small{display:block;margin-top:2px;font-size:12.5px;font-weight:500;color:#3f6b50}
.pe-login-banner{display:grid;gap:4px;margin:0 0 16px;padding:12px 14px;border-radius:12px;background:#fff7e6;border:1px solid #ead39b;color:#5c4513;font-size:13.5px;line-height:1.55;text-align:left}
.pe-login-banner b{font-size:15px;color:#3f2f0b}
.pe-login-banner .pe-login-route{font-weight:600;color:#3f2f0b;overflow-wrap:anywhere}
.pe-login-banner .pe-login-route strong{white-space:nowrap}
.pe-login-banner .pe-login-back{justify-self:start;width:auto;margin:4px 0 0;padding:0;border:0;background:transparent;color:#1d4ed8;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.pe-login-banner .pe-login-back:focus-visible{outline:2px solid #1d4ed8;outline-offset:3px;border-radius:4px}
.pe-price-change{margin:0 0 10px;padding:9px 12px;border-radius:10px;background:#eef4ff;border:1px solid #c7d7fe;color:#1e3a8a;font-size:13.5px;line-height:1.5}
.pe-price-change[hidden]{display:none}
