.route-details-table{border-collapse:collapse;font-size:12px;background:var(--surface, #fff);}.route-details-table th,.route-details-table td{border:1px solid var(--border, #d9e2ec);padding:6px 8px;vertical-align:top;}.route-details-table th{background:var(--surface, #f8fafc);font-weight:700;white-space:nowrap;}.route-detail-row:hover{background:var(--surface, #f8fbff);}.route-selected-row{background:var(--surface, #eef6ff) !important;}.delivera-route-hint{margin-bottom:10px;padding:10px 12px;background:var(--surface, #f8fafc);border:1px solid #d7e3f4;border-radius:4px;color:var(--text, #334155);line-height:1.4;}.delivera-route-badge{display:inline-block;margin-left:6px;padding:1px 6px;font-size:11px;border-radius:12px;background:var(--accent-soft, #dbeafe);color:var(--accent-text, #1d4ed8);vertical-align:middle;}.waypoint-order-grid-btn{margin-left:3px;padding:1px 7px;border:1px solid var(--border, #C09038);background:var(--btn-bg, #FBF7EC);color:var(--text, #39393B);border-radius:2px;cursor:pointer;font-weight:bold;font-size:11px;line-height:15px;}.waypoint-order-grid-btn:hover{background:var(--raised-hover, #dbeafe);}.waypoint-order-grid-btn:disabled{opacity:0.35;cursor:not-allowed;}.waypoint-order-delete{border-color:var(--danger, #c7a0a0);color:var(--danger, #8a1f11);background:var(--danger-bg, #fff0f0);}.waypoint-order-locked{font-size:11px;color:var(--text, #777);}.delivera-loading-spinner{width:32px;height:32px;border-radius:50%;border:3px solid #cbd5e1;border-top-color:#2563eb;animation:delivera-route-spin 1s linear infinite;margin-bottom:10px;}.delivera-route-popup{min-width:190px;line-height:1.35;color:var(--text, #0f172a);}.delivera-route-popup-meta{display:block;margin-top:2px;font-size:11px;color:var(--text, #64748b);font-weight:600;}.delivera-via-point-icon{background:transparent;border:none;}.delivera-via-point-dot{width:14px;height:14px;border-radius:50%;background:#f59e0b;border:2px solid #ffffff;box-shadow:0 0 0 2px rgba(245,158,11,0.35),0 1px 4px rgba(15,23,42,0.35);}.delivera-route-marker-tooltip{background:#0f172a;color:#fff;border:none;border-radius:999px;padding:0;min-width:22px;height:22px;line-height:22px;text-align:center;font-size:11px;font-weight:700;box-shadow:0 2px 6px rgba(15,23,42,0.35);}.delivera-route-marker-tooltip:before{display:none;}.delivera-route-city-tooltip{border-radius:4px;padding:2px 8px;height:auto;line-height:18px;font-size:11px;white-space:nowrap;min-width:auto;}.dlv-badge-wrap{background:transparent!important;border:none!important;display:flex;flex-direction:column;align-items:center;}.dlv-badge-pin{display:inline-block;border-radius:4px;border:2px solid rgba(255,255,255,0.9);padding:3px 8px;box-shadow:0 2px 6px rgba(0,0,0,0.4);}.dlv-badge-text{color:#fff;font-family:Arial,sans-serif;font-size:11px;font-weight:700;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,0.3);}.dlv-badge-tail{width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top-width:8px;border-top-style:solid;}.dlv-city-tooltip{background:rgba(30,30,30,0.85)!important;color:#fff!important;border:none!important;border-radius:4px!important;font-family:Arial,sans-serif!important;font-size:11px!important;font-weight:600!important;padding:2px 8px!important;box-shadow:0 2px 5px rgba(0,0,0,0.4)!important;white-space:nowrap!important;}.dlv-city-tooltip::before{border-top-color:rgba(30,30,30,0.85)!important;}.dlv-circle-marker{width:28px;height:28px;border-radius:50%;background:#1565c0;border:3px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,0.45);color:#fff;font-family:Arial,sans-serif;font-size:13px;font-weight:700;line-height:22px;text-align:center;cursor:pointer;}.delivera-stop-pin-wrap{background:transparent;border:none;}.delivera-stop-pin{position:relative;width:30px;height:42px;display:flex;align-items:flex-start;justify-content:center;}.delivera-stop-pin:after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:13px solid #1d4ed8;}.delivera-stop-pin-label{width:30px;height:30px;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 6px rgba(15,23,42,0.35);color:#fff;font-size:12px;font-weight:700;line-height:26px;text-align:center;position:relative;z-index:1;}.delivera-stop-pin-badge{position:absolute;right:-4px;top:-2px;min-width:14px;height:14px;padding:0 3px;border-radius:999px;background:#0f172a;color:#fff;font-size:9px;font-weight:700;line-height:14px;text-align:center;z-index:2;box-shadow:0 1px 3px rgba(0,0,0,0.25);}.delivera-stop-pin-start:after{border-top-color:#16a34a;}.delivera-stop-pin-start .delivera-stop-pin-label{background:#22c55e;}.delivera-stop-pin-end:after{border-top-color:#dc2626;}.delivera-stop-pin-end .delivera-stop-pin-label{background:#ef4444;}.delivera-stop-pin-mid:after{border-top-color:#1d4ed8;}.delivera-stop-pin-mid .delivera-stop-pin-label{background:#2563eb;}@keyframes delivera-route-spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}
.leaflet-routing-container { display:none !important; }
.delivera-restrictions-btn { border:2px solid; border-radius:4px; padding:4px 8px; cursor:pointer; font-size:12px; font-weight:bold; box-shadow:0 1px 3px rgba(0,0,0,0.3); transition:all 0.15s ease; }
.delivera-restrictions-on { background:var(--danger-bg, #fff0f0); border-color:var(--danger, #c00); color:var(--danger, #c00); }
.delivera-restrictions-off { background:var(--ok-bg, #f0fff0); border-color:var(--ok, #090); color:var(--ok, #090); }
.delivera-restrictions-btn.is-busy { cursor:wait; }
.delivera-restrictions-btn.is-pressed { transform:scale(0.95); }
/* Leaflet loads later: keep the 34px pin tip exactly at the marker anchor. */
.leaflet-marker-icon.dlv-badge-wrap { display:flex; }
.dlv-badge-wrap .dlv-badge-pin { box-sizing:border-box; height:26px; flex-shrink:0; line-height:16px; }
.dlv-badge-wrap .dlv-badge-tail { position:absolute; left:50%; bottom:0; transform:translateX(-50%); }
.dlv-badge-pin.dlv-badge-pin { background:var(--route-color); border-color:var(--route-color); }
.dlv-badge-tail { border-top-color:var(--route-color); }
:root { --route-sprite-danger:#d71920; --route-sprite-white:#ffffff; --route-sprite-outline:rgba(0,0,0,0.18); }
.dlv-pin-start { --route-color:#2e7d32; }
.dlv-pin-end { --route-color:#c62828; }
.dlv-pin-mid { --route-color:#1565c0; }
