
        /* ── Zone drawing tool ───────────────────────────────── */

        /* Toggle button: a map-corner control stacked under the zoom control */
        .zone-draw-control { margin-top: 8px; }

        .zone-draw-btn {
            display: flex;
            align-items: center;
            justify-content: center;
            width: auto !important;      /* override .leaflet-bar a fixed 26px */
            height: auto !important;
            padding: 6px 12px;
            background: var(--panel-bg);
            color: var(--accent);
            font-family: var(--font);
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 0.4px;
            line-height: 1.4;
            white-space: nowrap;
            text-decoration: none;
        }
        .zone-draw-btn:hover { background: var(--panel-bg-alt); }

        /* ACTIVE state — accent FILL (glanceable), not a subtle outline */
        .zone-draw-btn.active,
        .zone-draw-btn.active:hover {
            background: var(--accent);
            color: var(--panel-bg);
        }

        /* Crosshair cursor while a draw is in progress */
        .leaflet-container.zone-drawing,
        .leaflet-container.zone-drawing .leaflet-interactive {
            cursor: crosshair;
        }

        /* Edit-zones control stacks under the Draw control (same look) */
        .zone-edit-control { margin-top: 6px; }

        /* Hint banner — shown only while drawing/editing, top-center of the viewport */
        .zone-draw-hint {
            position: fixed;
            top: 14px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 1200;
            padding: 7px 14px;
            background: var(--panel-bg);
            border: 1px solid var(--panel-border);
            border-radius: 6px;
            box-shadow: var(--shadow);
            color: var(--text);
            font-family: var(--font);
            font-size: 11px;
            font-weight: 500;
            letter-spacing: 0.2px;
            white-space: nowrap;
            pointer-events: none;
        }

        /* ── Zones sidebar tab ─────────────────────────────────── */
        .zones-actions {
            display: flex;
            gap: 8px;
            margin-bottom: 12px;
        }
        .zones-btn {
            flex: 1;
            padding: 6px 8px;
            background: var(--panel-bg);
            border: 1px solid var(--panel-border);
            border-radius: 5px;
            color: var(--accent);
            font-family: var(--font);
            font-size: 10.5px;
            font-weight: 600;
            letter-spacing: 0.3px;
            cursor: pointer;
        }
        .zones-btn:hover { background: var(--panel-bg-alt); }

        .zone-empty {
            font-size: 11px;
            color: var(--text-muted);
            padding: 8px 0;
        }

        .zone-entry {
            padding: 9px 0;
            border-bottom: 1px solid var(--panel-border-soft);
        }
        .zone-entry-name {
            display: block;
            font-size: 12px;
            font-weight: 600;
            color: var(--text-strong);
            cursor: pointer;
            margin-bottom: 5px;
        }
        .zone-entry-name:hover { color: var(--accent); }

        .zone-entry-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 5px;
        }
        .zone-act {
            padding: 3px 8px;
            background: var(--panel-bg);
            border: 1px solid var(--panel-border);
            border-radius: 4px;
            color: var(--accent);
            font-family: var(--font);
            font-size: 10px;
            font-weight: 600;
            cursor: pointer;
        }
        .zone-act:hover { background: var(--panel-bg-alt); }
        .zone-act.danger { color: var(--grp-exclusion); }

        .zone-rename-input {
            width: 100%;
            padding: 5px 7px;
            background: var(--panel-bg);
            border: 1px solid var(--accent);
            border-radius: 4px;
            color: var(--text-strong);
            font-family: var(--font);
            font-size: 12px;
        }

        .zone-delete-warn {
            font-size: 10px;
            color: var(--grp-exclusion);
            margin-bottom: 6px;
            line-height: 1.4;
        }
        .zone-delete-actions {
            display: flex;
            gap: 6px;
        }
