.route-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.route-intro h2{font-size:25px;letter-spacing:-.6px;margin:6px 0 10px}.route-intro p{max-width:650px;color:var(--muted);line-height:1.6;font-size:14px;margin:0}.route-summary{flex-shrink:0;text-align:center;padding:17px 24px;background:#fff;border:1px solid var(--border);border-radius:16px}.route-summary strong,.route-summary span{display:block}.route-summary strong{font-size:30px}.route-summary span{font-size:11px;color:var(--muted);margin-top:4px}.route-plan-grid{margin-top:20px}.route-plan-card h2{font-size:22px;overflow-wrap:anywhere}.route-plan-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.route-symbol{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#f1f4f7;color:#0073a7;flex-shrink:0}.route-symbol svg{width:22px;height:22px}.route-assignee{display:flex;align-items:center;gap:8px;font-size:14px}.route-assignee svg{width:17px;height:17px;color:var(--muted)}.route-counter-count{display:flex;align-items:baseline;gap:8px;margin-top:22px}.route-counter-count strong{font-size:30px}.route-counter-count span{font-size:12px;color:var(--muted)}.route-preview-names{min-height:36px;line-height:1.6}.route-plan-card .actions{margin-top:18px}.route-plan-card .actions .btn{flex:1}.route-day-plans{padding:18px 22px;margin-top:28px}.route-day-plans>summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:650}.route-day-plans>summary>span{font-size:12px;color:var(--muted);margin-left:10px}.route-day-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--border);font-size:13px}.route-day-row .help{margin:5px 0}.route-detail-owner{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--border);border-radius:14px}.route-detail-owner>div{flex:1;min-width:0}.route-detail-owner strong{font-size:16px}.route-detail-owner p{font-size:12px;margin:4px 0 0;color:var(--muted)}.route-counter-list h3{font-size:15px;margin:0}.route-counter-list .help{margin:5px 0}.route-counter-list .actions{gap:10px}.route-detail-actions{display:flex;gap:10px;width:100%}.route-detail-actions .btn{flex:1}.route-target{padding:16px;border-radius:12px;background:#f2f5f8;margin-bottom:20px}.route-target>span{font-size:10px;letter-spacing:.08em;color:var(--muted)}.route-target>strong{display:block;font-size:19px;margin-top:6px}.route-target p{font-size:12px;color:var(--muted);margin-bottom:0}.route-stop-picker{max-height:280px;overflow:auto;border:1px solid var(--border);border-radius:12px;padding:8px}.route-stop-picker>label{display:flex;align-items:center;gap:12px;padding:12px 8px;margin:0;cursor:pointer;min-height:56px;border-bottom:1px solid #edf0f3}.route-stop-picker input{width:20px;height:20px;flex-shrink:0}.route-stop-picker strong,.route-stop-picker small{display:block}.route-stop-picker strong{font-size:13px}.route-stop-picker small{font-size:11px;color:var(--muted);line-height:1.5;margin-top:4px}.route-stop-order ol{list-style:none;padding:0;margin:0}.route-stop-order li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.route-stop-order li>strong{flex:1;font-size:13px;min-width:0;overflow-wrap:anywhere}.route-stop-order li>div{display:flex;gap:4px}.route-stop-order .btn{width:44px;min-height:44px;padding:8px}.route-plan-modal{width:min(680px,calc(100vw - 24px))}.route-plan-modal .modal-footer{position:sticky;bottom:0;background:#fff;padding:12px 0 max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--border);z-index:3}.route-plan-modal [data-counter-section][hidden]{display:none}
.login-access-intro{padding:22px;border:1px solid var(--border);border-radius:16px;background:white;margin-bottom:22px}.login-access-intro h2{margin:0 0 8px;font-size:22px}.login-access-intro p{font-size:14px;color:var(--muted);line-height:1.6}.login-access-intro .actions{margin-top:16px}.login-access-card .login-id{display:block;font-size:14px;font-weight:600;overflow-wrap:anywhere;padding:12px;background:#f4f6f8;border-radius:10px;margin:14px 0}.login-access-card h2{font-size:19px}.login-access-card .help{line-height:1.6}.login-access-card .meta{align-items:center;gap:10px;flex-wrap:wrap}
@media(max-width:850px){.route-intro{gap:12px;align-items:flex-start}.route-intro h2{font-size:22px}.route-intro p{font-size:13px}.route-summary{padding:14px 12px}.route-summary strong{font-size:25px}.route-summary span{font-size:10px}.route-plan-card .actions{flex-wrap:wrap}.route-plan-card .actions .btn{min-width:110px}.route-detail-owner{padding:12px;flex-wrap:wrap}.route-detail-owner .status{margin-left:56px}.route-day-plans{padding:14px}.route-plan-modal{width:100%;max-width:100%}.route-detail-actions .btn{white-space:normal;min-height:48px}.login-access-intro{padding:18px}.login-access-intro .actions{display:grid;grid-template-columns:1fr;gap:10px}.login-access-intro .actions .btn{width:100%}.route-counter-list .actions .text-btn{min-height:44px}}
#route-builder-map{height:300px;border:1px solid var(--border);border-radius:14px;isolation:isolate;background:#f1f4f7;margin-top:16px;z-index:0}.route-plan-modal .route-stop-order{padding:0;list-style:none}.route-plan-modal .route-stop-order li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--border)}.route-plan-modal .route-stop-order strong{flex:1;min-width:90px;overflow-wrap:anywhere}.route-plan-modal .route-stop-order li>div{display:flex;gap:4px}.route-pin-entry{border:1px solid var(--border);padding:14px;border-radius:12px;margin:16px 0}.route-pin-entry>summary{font-weight:600;cursor:pointer;min-height:36px}.route-coordinate-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.route-coordinate-fields input{min-width:0;width:100%}.shop-gps-card{padding:18px;background:#f4f7fa;border:1px solid var(--border);border-radius:14px;line-height:1.6;margin:16px 0;overflow-wrap:anywhere}.shop-gps-card p{margin:8px 0;font-size:13px}.shop-location-entry{margin:18px 0}.shop-location-entry .btn{min-height:50px}.route-plan-modal .leaflet-control-attribution{font-size:10px}.route-plan-modal .leaflet-control a{min-width:32px;min-height:32px}.route-plan-modal .leaflet-control-container a{color:#173446}@media(max-width:600px){#route-builder-map{height:250px}.route-stop-order li>div{margin-left:auto}.route-pin-entry{padding:12px}.route-plan-modal .route-stop-order strong{font-size:13px}.shop-location-entry .btn{width:100%}.route-coordinate-fields{gap:8px}}
.shop-optional-details{border:1px solid var(--border);border-radius:12px;margin:14px 0;padding:12px 14px}.shop-optional-details>summary{font-size:13px;font-weight:600;cursor:pointer;min-height:24px}.shop-optional-details[open]>summary{margin-bottom:14px}
.route-plan-modal [data-gps-confirm][hidden],.route-plan-modal #shop-location-later[hidden]{display:none}
/* Reusable delivery rounds: list first, approval clear, mobile controls within reach. */
.route-plan-toolbar{display:grid;gap:14px}.route-plan-toolbar .flow-search{margin:0}.route-plan-toolbar .flow-tabs{display:flex;gap:6px;flex-wrap:wrap}.route-plan-toolbar .flow-tabs button{min-height:44px;padding:10px 14px}.route-plan-card{display:flex;flex-direction:column;min-width:0}.route-plan-card .actions{margin-top:auto;padding-top:16px}.route-plan-card .route-plan-top .status{font-size:10px;line-height:1.5;white-space:normal;text-align:right;max-width:165px}.route-plan-card h2{line-height:1.25}.route-next-assignment{display:flex;align-items:center;gap:10px;background:#f2f8f5;border:1px solid #daede1;border-radius:12px;padding:12px;margin:4px 0 10px}.route-next-assignment>svg{width:18px;height:18px;color:#24764e}.route-next-assignment strong,.route-next-assignment small{display:block}.route-next-assignment strong{font-size:13px}.route-next-assignment small{font-size:11px;color:var(--muted);margin-top:4px}.route-unscheduled{padding:13px 0}.route-detail-state{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.route-location-notice,.route-review-note{font-size:13px;line-height:1.6;padding:13px 15px;border-radius:12px;background:#fff8e8;border:1px solid #efdfb9;color:#735522}.route-review-note{background:#f2f7fb;border-color:#dce7ef;color:var(--text)}.route-stop-name{flex:1;min-width:90px;overflow-wrap:anywhere}.route-stop-name>strong{display:block;font-size:13px}.route-stop-name>small{display:block;margin-top:5px;font-size:11px;line-height:1.5}.route-location-missing{color:#86630b}.route-plan-modal .route-stop-order li>.route-stop-name{display:block;flex:1}.route-plan-modal .route-stop-order li>.route-stop-controls{flex-shrink:0}.route-map-preview{border:1px solid var(--border);border-radius:14px;margin:18px 0;padding:12px 14px}.route-map-preview>summary{cursor:pointer;font-weight:600;font-size:13px;min-height:44px;display:flex;align-items:center}.route-map-preview #route-builder-map{margin-top:8px}.route-builder-basics,.route-assign-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.route-assignment-preview{padding:18px;border:1px solid #dce7ef;background:#f3f8fb;border-radius:14px;margin-bottom:18px}.route-assignment-preview h3{font-size:20px;margin:8px 0}.route-assignment-preview p{font-size:13px;margin:0;color:var(--muted)}.route-note-label textarea{width:100%;box-sizing:border-box;min-height:90px;resize:vertical;border:1px solid var(--border);border-radius:10px;padding:12px;font:inherit;margin-top:8px}.route-assignment-history{margin-top:22px;padding-top:10px;border-top:1px solid var(--border)}.route-assignment-history h3{font-size:15px}.route-assignment-history>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--border);font-size:13px}.route-assignment-history>div>span{color:var(--muted)}.route-stop-picker:focus-within{outline:2px solid var(--brand);outline-offset:2px}.route-stop-picker>label:has(input:checked){background:#edf7fb;border-radius:8px}.route-stop-picker input:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
@media(max-width:600px){.route-intro{gap:10px}.route-intro .eyebrow{font-size:9px;line-height:1.6}.route-intro h2{font-size:23px}.route-intro p{font-size:12px}.route-summary{padding:13px 10px;max-width:90px}.route-plan-grid{gap:14px}.route-plan-card .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.route-plan-card .actions .btn{min-width:0;min-height:48px;white-space:normal}.route-plan-card .actions .btn:only-child{grid-column:1/-1}.route-builder-basics,.route-assign-fields{grid-template-columns:1fr;gap:4px}.route-detail-actions{flex-wrap:wrap}.route-detail-actions .btn{flex:1 1 150px;min-height:48px}.route-plan-modal .route-stop-order li>.route-stop-name{min-width:100px}.route-plan-modal .route-stop-order li>.route-stop-controls{gap:4px}.route-plan-modal .route-stop-order .btn{width:40px;min-height:44px}.route-stop-picker{max-height:240px}.route-plan-toolbar .flow-tabs{display:grid;grid-template-columns:repeat(2,1fr)}.route-plan-toolbar .flow-tabs button{width:100%;font-size:12px}.route-day-row{align-items:flex-start}.route-day-row .btn{min-height:44px;flex-shrink:0}.route-map-preview{padding:10px}.route-plan-modal .route-location-notice{font-size:12px}.route-assign-fields input[type=date]{min-height:48px;max-width:100%;width:100%;box-sizing:border-box}}
