/* tcv2 MAP / EDITOR archetype: cities (+ food service panel), deliverable-area outlines + the polygon toolbar, dispatch zones, riders map,
   roster, rich-text editors (about / contact / privacy). Hook: .content-wrapper.tcv2-maps. The generic card / form / button / modal rules
   come from 50-settings.css (it serves both hooks); this file adds map surfaces, the map controls and the editor shells.
   Google Maps is not loadable offline: containers keep a fixed height and a neutral placeholder background so they read correctly empty. */
@media screen{
body.tcv2 .content-wrapper.tcv2-maps{background:var(--tc2-bg)!important}

/* ── map surfaces ──────────────────────────────────────────────────────── */
body.tcv2 .content-wrapper.tcv2-maps :is(#map,#map-canvas,.map-canvas,#rm2-map,[id$="-map"]:not(.tc-cityops *)){border:2px solid var(--tc2-outline);border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#E8EFEA,#D7E4DB);min-height:320px;box-shadow:none}
body.tcv2 .content-wrapper.tcv2-maps #map-canvas,body.tcv2 .content-wrapper.tcv2-maps .map-canvas{height:520px;width:100%}
body.tcv2 .content-wrapper.tcv2-maps #map{width:100%}
body.tcv2 .content-wrapper.tcv2-maps .map-div .form-control{margin-bottom:6px}
body.tcv2 .content-wrapper.tcv2-maps .map-div .text-primary{color:var(--tc2-info)!important;font-size:12px;font-weight:600;line-height:1.5;display:block}
body.tcv2 .content-wrapper.tcv2-maps #infowindow-content{font-size:12.5px;font-weight:700;color:var(--tc2-ink)}
body.tcv2 .content-wrapper.tcv2-maps #infowindow-content .title{font-weight:800}
/* dev-key / no-key overlays Google draws inside the container stay inside the rounded frame */
body.tcv2 .content-wrapper.tcv2-maps :is(#map,#map-canvas,.map-canvas)>div{border-radius:inherit}
/* Maps page chrome that is appended to <body> */
body.tcv2 .pac-container{border:2px solid var(--tc2-outline);border-radius:var(--tc2-r-ctl);box-shadow:var(--tc2-shadow-menu);margin-top:4px;font-family:var(--tc2-font);background:var(--tc2-surface)}
body.tcv2 .pac-container::after{display:none}
body.tcv2 .pac-item{padding:8px 12px;font-size:12.5px;font-weight:600;color:var(--tc2-text-2);border-top:1px solid var(--tc2-line-soft);line-height:1.4}
body.tcv2 .pac-item:first-child{border-top:0}
body.tcv2 .pac-item:hover,body.tcv2 .pac-item-selected{background:var(--tc2-mint-soft)}
body.tcv2 .pac-item-query{font-size:13px;font-weight:800;color:var(--tc2-ink)}
body.tcv2 .pac-matched{font-weight:800;color:var(--tc2-brand)}
body.tcv2 .gm-style .gm-style-iw-c{border-radius:14px!important;padding:12px!important;box-shadow:var(--tc2-shadow-menu)!important}
body.tcv2 .gm-style .gm-style-iw-d{font-size:12.5px;font-weight:700;color:var(--tc2-ink)}
body.tcv2 .gm-style .gm-ui-hover-effect{border-radius:8px}
body.tcv2 .pac-input,body.tcv2 input.pac-target-input{border:2px solid var(--tc2-outline)!important;border-radius:var(--tc2-r-ctl)!important}

/* ── polygon drawing toolbar (assets/admin/js/tc-polygon-drawer.js; its inline styles are beaten with !important) ── */
body.tcv2 .tc-polygon-toolbar{margin:10px!important;padding:8px!important;background:var(--tc2-surface)!important;border:2px solid var(--tc2-outline);border-radius:14px!important;box-shadow:var(--tc2-shadow-menu)!important;max-width:min(92%,640px)!important;text-align:center}
body.tcv2 .tc-polygon-toolbar>div:first-child{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
body.tcv2 .tc-polygon-toolbar button[data-tc-action]{display:inline-flex;align-items:center;justify-content:center;min-height:36px!important;margin:0!important;padding:7px 14px!important;border-radius:var(--tc2-r-btn)!important;font:800 13px/1.2 var(--tc2-font)!important;background:var(--tc2-neutral-btn)!important;color:var(--tc2-neutral-fg)!important;border:1.5px solid var(--tc2-line)!important;white-space:nowrap;transition:background .12s,border-color .12s}
body.tcv2 .tc-polygon-toolbar button[data-tc-action]:hover:not(:disabled){background:var(--tc2-neutral-btn-h)!important;border-color:var(--tc2-mut2)!important}
body.tcv2 .tc-polygon-toolbar button[data-tc-action=draw],body.tcv2 .tc-polygon-toolbar button[data-tc-action=finish]{background:var(--tc2-brand)!important;color:#fff!important;border-color:var(--tc2-brand)!important}
body.tcv2 .tc-polygon-toolbar button[data-tc-action=draw]:hover:not(:disabled),body.tcv2 .tc-polygon-toolbar button[data-tc-action=finish]:hover:not(:disabled){background:var(--tc2-brand-hover)!important;border-color:var(--tc2-brand-hover)!important}
body.tcv2 .tc-polygon-toolbar button[data-tc-action=clear]{background:var(--tc2-surface)!important;color:var(--tc2-danger)!important;border:2px solid var(--tc2-danger)!important}
body.tcv2 .tc-polygon-toolbar button[data-tc-action=clear]:hover:not(:disabled){background:var(--tc2-danger-bg)!important;border-color:var(--tc2-danger)!important}
body.tcv2 .tc-polygon-toolbar button[data-tc-action]:disabled{opacity:.45!important;cursor:not-allowed!important}
body.tcv2 .tc-polygon-toolbar button[data-tc-action]:focus-visible{outline:2px solid var(--tc2-focus);outline-offset:2px}
body.tcv2 .tc-polygon-toolbar>div:nth-child(2){font:700 12px/1.4 var(--tc2-font)!important;color:var(--tc2-mut)!important;padding:6px 6px 2px!important}
body.tcv2 .tc-polygon-toolbar>div:nth-child(2):empty{display:none}
body.tcv2 .tc-polygon-toolbar>[role=alert]{font:800 12px/1.4 var(--tc2-font)!important;color:var(--tc2-warn)!important;background:var(--tc2-warn-bg)!important;border:1.5px solid var(--tc2-warn-bd);border-radius:10px!important;margin-top:6px!important;padding:7px 10px!important;text-align:left}

/* ── deliverable-area page: how-to note + map button row ──────────────── */
body.tcv2 .content-wrapper.tcv2-maps .form-group.border.border-secondary{background:var(--tc2-info-bg);border:1.5px solid var(--tc2-info-bd)!important;border-radius:var(--tc2-r-ctl)!important;padding:12px 16px 4px}
body.tcv2 .content-wrapper.tcv2-maps .form-group.border.border-secondary ol{margin:0 0 8px;padding-left:22px;font-size:12.5px;font-weight:700;line-height:1.55;color:var(--tc2-info)}
body.tcv2 .content-wrapper.tcv2-maps .form-group.border.border-secondary li strong{font-weight:800;color:var(--tc2-ink)}
body.tcv2 .content-wrapper.tcv2-maps .offset-5:has(>#remove-line){margin-left:0;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin-bottom:12px}
body.tcv2 .content-wrapper.tcv2-maps .offset-5:has(>#remove-line)>.btn{margin:0!important}
body.tcv2 .content-wrapper.tcv2-maps #remove-line{--b:var(--tc2-neutral-btn);--bd:var(--tc2-line);--fg:var(--tc2-neutral-fg);--bh:var(--tc2-neutral-btn-h)}
body.tcv2 .content-wrapper.tcv2-maps #clear-line{--b:var(--tc2-surface);--bd:var(--tc2-danger);--fg:var(--tc2-danger);--bh:var(--tc2-danger-bg);--bdh:var(--tc2-danger);--fgh:var(--tc2-danger);border-width:2px!important}
body.tcv2 .content-wrapper.tcv2-maps #add-line{--b:var(--tc2-surface);--bd:var(--tc2-brand);--fg:var(--tc2-brand);--bh:var(--tc2-mint-soft);--bdh:var(--tc2-brand);--fgh:var(--tc2-brand);border-width:2px!important}
body.tcv2 .content-wrapper.tcv2-maps #save_city{margin-top:14px!important}

/* ── cities page: header row, how-it-works button ─────────────────────── */
body.tcv2 .content-wrapper.tcv2-maps .content-header .breadcrumb{align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:2px}
body.tcv2 .content-wrapper.tcv2-maps .content-header .breadcrumb .btn{--b:var(--tc2-surface);--bd:var(--tc2-outline);--fg:var(--tc2-ink);--bh:var(--tc2-line-soft);--bdh:var(--tc2-outline);--fgh:var(--tc2-ink);border-width:2px!important;padding:4px 10px}
body.tcv2 .content-wrapper.tcv2-maps .content-header h4 small{font-size:12px;font-weight:700;color:var(--tc2-mut)}
body.tcv2 .content-wrapper.tcv2-maps .content-header .breadcrumb-item:first-child::before{display:none}

/* ── food service panel / opening hours (.tco-*): reconcile only ───────── */
body.tcv2 .content-wrapper.tcv2-maps .tc-cityops.tco-page{padding:0;background:transparent;margin-bottom:16px}
body.tcv2 .content-wrapper.tcv2-maps .tc-cityops .tco-pghead{margin-top:2px}
body.tcv2 .content-wrapper.tcv2-maps .tc-cityops .tco-card{margin-bottom:16px}
body.tcv2 .content-wrapper.tcv2-maps .tc-cityops{font-family:var(--tc2-font)}

/* ── tables inside map pages (cities list, zones, roster) ──────────────── */
body.tcv2 .content-wrapper.tcv2-maps .bootstrap-table .fixed-table-container{border-radius:var(--tc2-r-ctl)}
body.tcv2 .content-wrapper.tcv2-maps :is(.zn-table,.rs-week-tbl) th{font-size:10.5px!important;font-weight:800!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:var(--tc2-mut)!important;background:var(--tc2-surface-2)!important}
body.tcv2 .content-wrapper.tcv2-maps :is(.zn-table,.rs-week-tbl) td{font-size:12.5px!important;font-weight:600!important;border-color:var(--tc2-line-soft)!important}
body.tcv2 .content-wrapper.tcv2-maps :is(.zn-card,.rs-card,.rs-shift-col,.rm2-rcard){border:1px solid var(--tc2-line)!important;border-radius:var(--tc2-r-card)!important;box-shadow:none!important;background:var(--tc2-surface)!important}
body.tcv2 .content-wrapper.tcv2-maps :is(.zn-hdr,.rs-card-hdr,.rs-shift-hdr:not(.morning):not(.evening):not(.off)){background:var(--tc2-header-grad)!important;color:#fff!important;border-bottom:0!important}
body.tcv2 .content-wrapper.tcv2-maps :is(.zn-ttl,.rs-card-ttl){font-size:14px!important;font-weight:800!important}
body.tcv2 .content-wrapper.tcv2-maps :is(.zn-btn,.rs-btn-sm,.rm2-btn,.rm2-path-btn){border-radius:var(--tc2-r-btn)!important;font-size:12.5px!important;font-weight:800!important;box-shadow:none!important}
body.tcv2 .content-wrapper.tcv2-maps :is(.zn-btn-add,.rs-btn-sm.g,.rm2-btn-primary){background:var(--tc2-brand)!important;border-color:var(--tc2-brand)!important;color:#fff!important}
body.tcv2 :is(.zn-fg select,.zn-fg input,.zn-fg textarea,.rs-input){border:2px solid var(--tc2-outline)!important;border-radius:var(--tc2-r-ctl)!important;font-size:13px!important;font-weight:700!important;box-shadow:none!important}
body.tcv2 .zn-overlay .zn-fg label{font-size:12px!important;font-weight:800!important;text-transform:none!important;letter-spacing:0!important;color:var(--tc2-ink)!important}
body.tcv2 :is(.zn-mbox){border:2px solid var(--tc2-outline)!important;border-radius:var(--tc2-r-dialog)!important;box-shadow:var(--tc2-shadow-pop)!important}
body.tcv2 .zn-mhdr{background:var(--tc2-surface)!important;color:var(--tc2-ink)!important;border-bottom:2px solid var(--tc2-outline)!important}
body.tcv2 .zn-mhdr :is(span,button){color:var(--tc2-ink)!important}
body.tcv2 .zn-mhdr button{background:var(--tc2-line-soft)!important}
body.tcv2 .zn-mhdr{font-size:18px}
body.tcv2 .zn-save{background:var(--tc2-brand)!important;border-radius:var(--tc2-r-btn)!important;font-size:13px!important;font-weight:800!important}
body.tcv2 .zn-overlay.open{background:var(--tc2-dim)!important}

/* ── riders map (live) ─────────────────────────────────────────────────── */
body.tcv2 .content-wrapper.tcv2-maps .rm2-topbar{background:var(--tc2-surface)!important;border-bottom:1px solid var(--tc2-line)!important;box-shadow:none!important}
body.tcv2 .content-wrapper.tcv2-maps .rm2-title{font-size:15px!important;font-weight:800!important;color:var(--tc2-ink)!important}
body.tcv2 .content-wrapper.tcv2-maps .rm2-legend{font-size:12px!important;font-weight:700!important;color:var(--tc2-text-2)!important}
body.tcv2 .content-wrapper.tcv2-maps .rm2-stats{background:var(--tc2-surface)!important;border-bottom:1px solid var(--tc2-line)!important}
body.tcv2 .content-wrapper.tcv2-maps .rm2-stat-val{font-size:22px!important;font-weight:800!important;color:var(--tc2-ink)!important}
body.tcv2 .content-wrapper.tcv2-maps .rm2-stat-lbl{font-size:10.5px!important;font-weight:800!important;letter-spacing:.06em!important;color:var(--tc2-mut)!important}
body.tcv2 .content-wrapper.tcv2-maps .rm2-info{font-size:12px!important;font-weight:600!important;color:var(--tc2-mut)!important}
body.tcv2 .content-wrapper.tcv2-maps #rm2-map{border:0;border-radius:0;min-height:480px}
body.tcv2 .content-wrapper.tcv2-maps :is(.rm2-pill,.rm2-time-pill){border-radius:var(--tc2-r-pill)!important;font-weight:800!important}
body.tcv2 .content-wrapper.tcv2-maps .rm2-time-pill.sel,body.tcv2 .content-wrapper.tcv2-maps .rm2-path-btn.active{background:var(--tc2-brand)!important;color:#fff!important;border-color:var(--tc2-brand)!important}
body.tcv2 .content-wrapper.tcv2-maps .rm2-sidebar-hdr{font-size:13px!important;font-weight:800!important;color:var(--tc2-ink)!important}

/* ── roster ────────────────────────────────────────────────────────────── */
body.tcv2 .content-wrapper.tcv2-maps :is(.rs-page-ttl,.rs-page-hdr h1){font-size:var(--tc2-fs-h)!important;font-weight:800!important;color:var(--tc2-ink)!important}

/* ── rich-text editors (about / contact / privacy / terms) ─────────────── */
body.tcv2 .content-wrapper.tcv2-maps .note-editor.note-frame{border:2px solid var(--tc2-outline)!important;border-radius:var(--tc2-r-ctl)!important;overflow:hidden;box-shadow:none!important}
body.tcv2 .content-wrapper.tcv2-maps .note-editor.note-frame .note-toolbar{background:var(--tc2-surface-2)!important;border-bottom:1px solid var(--tc2-line)!important;padding:6px 8px!important}
body.tcv2 .content-wrapper.tcv2-maps .note-editor .note-btn-group .note-btn{border:1.5px solid var(--tc2-line)!important;background:var(--tc2-surface)!important;border-radius:8px!important;color:var(--tc2-text-2)!important;margin:1px 2px 1px 0}
body.tcv2 .content-wrapper.tcv2-maps .note-editor .note-btn-group .note-btn:hover,body.tcv2 .content-wrapper.tcv2-maps .note-editor .note-btn-group .note-btn.active{background:var(--tc2-mint)!important;border-color:var(--tc2-brand)!important;color:var(--tc2-brand)!important}
body.tcv2 .content-wrapper.tcv2-maps .note-editor .note-editable{font-size:14px;font-weight:600;line-height:1.6;padding:14px 16px}
body.tcv2 .content-wrapper.tcv2-maps .note-editor .note-statusbar{background:var(--tc2-surface-2)!important;border-top:1px solid var(--tc2-line)!important}
body.tcv2 .content-wrapper.tcv2-maps .note-editor.note-frame.focus,body.tcv2 .content-wrapper.tcv2-maps .note-editor.note-frame:focus-within{border-color:var(--tc2-brand)!important;outline:2px solid var(--tc2-focus);outline-offset:1px}
body.tcv2 .note-popover .popover-content,body.tcv2 .note-modal .modal-content{border-radius:var(--tc2-r-ctl)}
/* the eye / preview chip beside editor titles */
body.tcv2 .content-wrapper.tcv2-maps .card-body .badge:has(>.fa-eye),body.tcv2 .content-wrapper.tcv2-maps .btn-xs:has(>.fa-eye){margin:0 0 8px}

/* ── phone ─────────────────────────────────────────────────────────────── */
@media (max-width:767.98px){
body.tcv2 .content-wrapper.tcv2-maps :is(#map,#map-canvas,.map-canvas){min-height:280px}
body.tcv2 .content-wrapper.tcv2-maps #map-canvas,body.tcv2 .content-wrapper.tcv2-maps .map-canvas{height:380px}
body.tcv2 .tc-polygon-toolbar{margin:6px!important;max-width:calc(100% - 12px)!important}
body.tcv2 .tc-polygon-toolbar button[data-tc-action]{flex:1 1 auto;padding:7px 10px!important}
body.tcv2 .content-wrapper.tcv2-maps .content-header .breadcrumb{justify-content:flex-start;margin-top:6px}
body.tcv2 .content-wrapper.tcv2-maps .rm2-stats{overflow-x:auto}
body.tcv2 .content-wrapper.tcv2-maps .form-group.border.border-secondary ol{padding-left:18px}
}
}
