/* =====================================================================
   pages-a: Standorte (list + detail), Import & Export, Kategorien, Visitenkarten.
   All classes are prefixed .pa- ; only theme tokens are used (data colours come inline).
   ===================================================================== */

/* ---------- shared bits ---------- */
.pa-2col { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.pa-2col > .col { gap: 16px; }
@media (max-width: 1100px) { .pa-2col { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 1100px) { .hide-md { display: none; } }
@media (max-width: 700px) { .hide-sm { display: none !important; }
  /* inside buttons: hide only visually → icon buttons keep their name for screen readers */
  .btn .hide-sm { display: inline !important; position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; } }
.pa-ellipsis { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.pa-spin { width: 14px; height: 14px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; display: inline-block; animation: pa-rot .7s linear infinite; }
@keyframes pa-rot { to { transform: rotate(360deg); } }
.pa-ferr { display: flex; align-items: center; gap: 5px; color: var(--err); font-size: var(--fs-xs); font-weight: 500; }
.pa-ferr[hidden] { display: none; }
.pa-ferr svg { width: 14px; height: 14px; }
.pa-invalid, .pa-invalid:focus { border-color: var(--err) !important; box-shadow: 0 0 0 3px var(--err-bg) !important; }
.pa-url { display: flex; align-items: center; gap: 8px; padding: 6px 6px 6px 12px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface-2); min-width: 0; }
.pa-url .mono { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text-2); }
.pa-chip { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--border-strong); background: var(--surface);
  font-size: var(--fs-sm); color: var(--text-2); cursor: pointer; user-select: none; transition: background .15s, border-color .15s; position: relative; }
.pa-chip svg { width: 14px; height: 14px; }
.pa-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pa-chip:hover { border-color: var(--accent); }
.pa-chip.on { background: var(--accent-50); border-color: var(--accent-100); color: var(--accent-700); }
[data-mode="dark"] .pa-chip.on { color: var(--text); }
.pa-chip:focus-within { outline: 2px solid var(--accent); outline-offset: 2px; }
.pa-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pa-meta { display: grid; gap: 10px; font-size: var(--fs-sm); }
.pa-meta > div { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.pa-meta span:first-child { color: var(--text-3); }
.pa-skel .pa-sk { background: linear-gradient(90deg, var(--surface-3), var(--surface-2), var(--surface-3)); background-size: 200% 100%; animation: pa-shim 1.2s infinite; border-radius: var(--radius); border: 0; }
@keyframes pa-shim { to { background-position: -200% 0; } }

/* ---------- locations: list ---------- */
.pa-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; margin-bottom: 16px; }
.pa-kpi { all: unset; box-sizing: border-box; display: flex; flex-direction: column; gap: 2px; cursor: pointer; min-width: 0; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: calc(var(--pad) + 2px); transition: border-color .15s, box-shadow .15s; }
.pa-kpi:hover { border-color: var(--accent-100); text-decoration: none; }
.pa-kpi:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.pa-kpi.on { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-100); }
.pa-kpi .label { min-width: 0; } .pa-kpi .label .dot { flex: none; }
.pa-kpi .value { margin-top: 2px; color: var(--text); }
.pa-kpimore { align-items: flex-start; justify-content: center; color: var(--text-2); }
.pa-kpimore .value { color: var(--accent-text); }
/* dynamic status badge: colour dot + name (never colour only), tinted with the status colour */
.badge.pa-st { background: color-mix(in srgb, var(--st) 12%, var(--surface)); color: var(--text); border: 1px solid color-mix(in srgb, var(--st) 30%, transparent); }
.badge.pa-st .dot { color: var(--st); }
.pa-bool { display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-sm); color: var(--text-3); }
.pa-bool svg { width: 14px; height: 14px; } .pa-bool.on { color: var(--ok); font-weight: 500; }
.badge.pa-cfb { background: var(--accent-50); color: var(--accent-700); font-weight: 500; }
[data-mode="dark"] .badge.pa-cfb { color: var(--text); }
.pa-tbright { gap: 8px; flex-wrap: nowrap; }
.pa-colwrap { position: relative; }
.pa-colwrap[hidden] { display: none; }
.pa-colpop { position: absolute; right: 0; top: calc(100% + 6px); z-index: 30; width: 270px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-lg); padding: 8px; display: flex; flex-direction: column; gap: 2px; }
.pa-colpop[hidden] { display: none; }
.pa-colpop .check { padding: 7px 8px; border-radius: var(--radius-sm); font-size: var(--fs-sm); }
.pa-colpop .check:hover { background: var(--surface-3); }
.pa-colhead { padding: 4px 8px 6px; }
.pa-colfoot { display: flex; justify-content: space-between; border-top: 1px solid var(--border); margin-top: 6px; padding-top: 6px; }
/* div-based form field (label.field cannot wrap the combobox) */
.field.pa-field { display: flex; flex-direction: column; gap: 6px; font-size: var(--fs-sm); font-weight: 500; color: var(--text-2); min-width: 0; }
.field.pa-field .req { color: var(--err); }
.pa-cfmeta { display: inline-flex; gap: 4px; margin-left: 6px; vertical-align: middle; }
.pa-cfmeta .badge { height: 20px; font-weight: 500; } .pa-cfmeta svg { width: 12px; height: 12px; }
.pa-cfbool .switch { min-height: var(--ctrl-h); font-weight: 400; color: var(--text); }
.pa-ico-inline { width: 14px !important; height: 14px !important; vertical-align: -2px; margin-right: 4px; }

/* ---------- combobox (category / status: pick or create inline) ---------- */
.pa-combo { position: relative; min-width: 0; }
.pa-cb-field { position: relative; display: flex; align-items: center; }
.pa-cb-field > .dot { position: absolute; left: 13px; width: 10px; height: 10px; pointer-events: none; }
.pa-cb-field input { padding-left: 32px; padding-right: 40px; }
.pa-cb-tog { position: absolute; right: 4px; width: 36px; height: calc(var(--ctrl-h) - 8px); display: grid; place-items: center; border: 0; background: none; color: var(--text-3); cursor: pointer; border-radius: var(--radius-sm); }
.pa-cb-tog:hover { background: var(--surface-3); }
.pa-cb-tog svg { width: 16px; height: 16px; transition: transform .15s; }
.pa-combo.open .pa-cb-tog svg { transform: rotate(180deg); }
.pa-cb-pop { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 30; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-lg); padding: 6px; max-height: 300px; overflow-y: auto; font-weight: 400; }
.pa-cb-pop[hidden] { display: none; }
.pa-combo.inline .pa-cb-pop { position: static; margin-top: 6px; box-shadow: var(--shadow); }
.pa-cb-opt { display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 6px 10px; border-radius: var(--radius-sm); cursor: pointer; color: var(--text); font-size: var(--fs); }
.pa-cb-opt .dot { flex: none; width: 10px; height: 10px; }
.pa-cb-opt svg { width: 16px; height: 16px; color: var(--accent-text); flex: none; }
.pa-cb-opt.act, .pa-cb-opt:hover { background: var(--surface-3); }
.pa-cb-opt[aria-selected="true"] { font-weight: 600; }
.pa-cb-new { color: var(--accent-700); border-top: 1px dashed var(--border); margin-top: 4px; }
[data-mode="dark"] .pa-cb-new { color: var(--text); }
.pa-cb-empty { padding: 10px; font-size: var(--fs-sm); color: var(--text-3); }
.pa-cb-create { display: flex; flex-direction: column; gap: 12px; padding: 8px; color: var(--text); }
.pa-cb-sw { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pa-cb-sw .swatch { width: 26px; height: 26px; padding: 0; }
.pa-cb-sw .swatch:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.pa-cb-sw input[type=color] { width: 36px; height: 30px; padding: 2px; }
.pa-cb-create .switch { font-size: var(--fs-sm); }
.pa-cb-acts { justify-content: flex-end; gap: 8px; }
.pa-toolbar select { min-width: 0; max-width: 190px; }
.pa-toolbar [hidden] { display: none; }
.pa-toolbar .seg button { display: inline-flex; align-items: center; gap: 6px; }
.pa-toolbar .seg svg { width: 15px; height: 15px; }
.pa-bulk { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px calc(var(--pad) + 4px); background: var(--accent-50); border-bottom: 1px solid var(--accent-100); font-size: var(--fs-sm); }
.pa-bulk[hidden] { display: none; }
.pa-bulk b { margin-right: 6px; }
.pa-tbl .pa-chk { width: 40px; padding-right: 0; }
.pa-tbl input[type=checkbox] { width: 16px; height: 16px; accent-color: var(--accent); cursor: pointer; vertical-align: middle; }
.pa-tbl td { padding-top: 8px; padding-bottom: 8px; }
.pa-tbl tr.pa-selrow td { background: var(--accent-50); }
.pa-tbl tr:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.pa-name { font-weight: 600; color: var(--text); }
.pa-tbl td:nth-child(2) { min-width: 200px; }
.pa-sort { all: unset; cursor: pointer; font: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; min-height: 24px; display: inline-flex; align-items: center; }
.pa-sort.on { color: var(--text); }
.pa-sort:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 3px; }
.pa-cat { background: var(--surface-3); color: var(--text-2); }
.pa-open { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); color: var(--text-3); white-space: nowrap; }
.pa-open.is-open { color: var(--ok); font-weight: 500; } .pa-open.is-closed .dot { color: var(--text-3); opacity: .5; }
.pa-mapwrap { padding: 12px; }
.pa-bigmap { height: 560px; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--border); background: var(--surface-3); display: grid; }
.pa-bigmap .empty { align-self: center; }
.pa-legend { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; padding: 10px 2px 0; font-size: var(--fs-sm); color: var(--text-2); }
.pa-legend > span { display: inline-flex; align-items: center; gap: 6px; }
.pa-hollow { width: 10px; height: 10px; border-radius: 50%; border: 2px solid var(--text-3); display: inline-block; }
@media (max-width: 700px) { .pa-bigmap { height: 420px; } .pa-toolbar select { flex: 1 1 45%; max-width: none; } .pa-tbright { margin-left: 0; width: 100%; justify-content: space-between; } .pa-toolbar .input-icon { min-width: 100%; }
  .pa-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .pa-kpi { padding: 12px; } .pa-kpi .value { font-size: 22px; } .pa-colpop { right: auto; left: 0; } .pa-filebadge { max-width: 100%; } }

/* ---------- locations: detail ---------- */
.pa-dhead { align-items: center; }
.pa-dtitle { display: flex; align-items: center; gap: 14px; min-width: 0; }
.pa-dtitle h1 { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pa-avatar { width: 52px; height: 52px; border-radius: 14px; overflow: hidden; flex: none; }
.pa-avatar span { display: grid; place-items: center; width: 100%; height: 100%; color: #fff; }
.pa-avatar span svg { width: 24px; height: 24px; }
.pa-avatar img { width: 100%; height: 100%; object-fit: cover; }
.pa-dirty { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); color: var(--warn); font-weight: 500; margin-left: 10px; padding-left: 10px; border-left: 1px solid var(--border); }
.pa-dirty[hidden] { display: none; }
.pa-tabs { margin-bottom: 18px; }
.pa-tabs button { display: inline-flex; align-items: center; gap: 7px; position: relative; }
.pa-tabs button svg { width: 16px; height: 16px; }
.pa-tabdot { width: 7px; height: 7px; border-radius: 50%; background: var(--err); }
.pa-tabdot[hidden] { display: none; }
[data-errs] { margin-bottom: 14px; align-items: center; }
[data-errs][hidden] { display: none; }
.pa-photo { padding: 0; min-height: 170px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; overflow: hidden; }
.pa-photo svg { width: 26px; height: 26px; }
.pa-photo img { width: 100%; height: 200px; object-fit: cover; display: block; }
.pa-chipsin { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; min-height: var(--ctrl-h); padding: 4px 6px; border: 1px solid var(--border-strong); border-radius: var(--radius); background: var(--surface); }
.pa-chipsin:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-100); }
.pa-chipsin .pa-chip { height: 26px; padding: 0 4px 0 10px; cursor: default; }
.pa-chipsin .pa-chip button { all: unset; display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; cursor: pointer; }
.pa-chipsin .pa-chip button:hover { background: var(--accent-100); }
.pa-chipsin .pa-chip button:focus-visible { outline: 2px solid var(--accent); }
.pa-chipsin input { border: 0 !important; box-shadow: none !important; height: 28px; flex: 1; min-width: 160px; padding: 0 6px; }
.pa-posmap { height: 420px; }
.pa-days { padding-top: 6px; padding-bottom: 6px; }
.pa-day { display: grid; grid-template-columns: 96px 130px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--border); }
.pa-day:last-child { border-bottom: 0; }
.pa-day.closed b { color: var(--text-3); }
.pa-slots { display: flex; flex-direction: column; gap: 8px; }
.pa-slotrow { display: flex; gap: 8px; align-items: center; }
.pa-slot { display: inline-flex; align-items: center; gap: 6px; }
.pa-slot input, .pa-sptimes input { width: 112px; padding: 0 8px; }
.pa-slot span, .pa-sptimes span { color: var(--text-3); }
.pa-special { display: flex; flex-direction: column; gap: 8px; max-height: 560px; overflow-y: auto; padding-right: 2px; }
.pa-sp { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 10px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface-2); }
.pa-sp .switch { font-size: var(--fs-sm); }
.pa-sptimes { display: flex; align-items: center; gap: 6px; grid-column: 2 / 4; }
.pa-sptimes[hidden] { display: none; }
.pa-hours .card-foot .field { flex-direction: row; align-items: center; gap: 10px; }
.pa-hours .card-foot select { width: auto; }
.pa-serp { padding: 14px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.pa-serp .xs { color: var(--text-3); }
.pa-serp-t { color: var(--info); font-size: 17px; margin: 3px 0; }
.pa-serp .small { color: var(--text-2); }
.pa-qr { display: inline-block; padding: 8px; border-radius: var(--radius); border: 1px solid var(--border); background: #fff; line-height: 0; }
.pa-radio { display: flex; flex-direction: column; gap: 10px; }
@media (max-width: 700px) {
  .pa-dhead .actions { width: 100%; margin-left: 0; }
  .pa-dhead .actions .btn-primary { margin-left: auto; }
  .pa-avatar { width: 42px; height: 42px; }
  .pa-day { grid-template-columns: 1fr auto; row-gap: 8px; }
  .pa-day .pa-slots { grid-column: 1 / -1; }
  .pa-day > span:last-child:empty { display: none; }
  .pa-copyday { grid-column: 1 / -1; justify-self: start; }
  .pa-slot input { width: 104px; }
  .pa-sp { grid-template-columns: minmax(0, 1fr) auto; }
  .pa-sp > [data-spk=label] { grid-column: 1 / -1; grid-row: 2; }
  .pa-sp > button { grid-column: 2; grid-row: 1; }
  .pa-sptimes { grid-column: 1 / -1; }
  .pa-posmap { height: 300px; }
}

/* ---------- import ---------- */
.pa-wiz { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; flex-wrap: wrap; }
.pa-wstep { display: inline-flex; align-items: center; gap: 8px; font-size: var(--fs-sm); color: var(--text-3); font-weight: 500; }
.pa-wstep .num { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; border: 2px solid var(--border-strong); font-size: 12px; font-weight: 700; background: var(--surface); }
.pa-wstep.cur { color: var(--text); } .pa-wstep.cur .num { border-color: var(--accent); color: var(--accent-text); box-shadow: 0 0 0 3px var(--accent-100); }
.pa-wstep.done .num { background: var(--ok); border-color: var(--ok); color: #fff; }
.pa-wline { flex: 1; min-width: 16px; height: 2px; background: var(--border); }
.pa-drop { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 56px 24px; }
.pa-drop b { color: var(--text); font-size: var(--fs-md); }
.pa-dropico { width: 34px !important; height: 34px !important; color: var(--accent-text); }
.pa-src .card-body { display: flex; gap: 14px; align-items: flex-start; }
.pa-src p { margin: 4px 0 10px; }
.pa-srcico { width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; flex: none; background: var(--surface-3); color: var(--text-2); }
.pa-srcico.pa-gs { background: var(--ok-bg); color: var(--ok); } .pa-srcico.pa-gb { background: var(--info-bg); color: var(--info); }
.pa-maptbl select { max-width: 320px; }
.pa-prevwrap { max-height: 460px; overflow: auto; }
.pa-prevwrap thead th { position: sticky; top: 0; z-index: 1; }
.pa-prevwrap td { padding-top: 8px; padding-bottom: 8px; }
.pa-prevwrap .badge { margin: 1px 0; }
.pa-k-ok { color: var(--ok); } .pa-k-warn { color: var(--warn); } .pa-k-err { color: var(--err); } .pa-k-info { color: var(--info); }
.pa-progress { padding: 48px 24px; max-width: 520px; margin: 0 auto; }
.pa-progress .meter { height: 10px; margin: 16px 0 8px; }
.pa-progress .meter span { transition: width .2s; }
.pa-done .card-body { padding: 40px 24px; }
.pa-doneico { width: 60px; height: 60px; border-radius: 50%; background: var(--ok-bg); color: var(--ok); display: grid; place-items: center; margin: 0 auto 14px; }
.pa-doneico svg { width: 28px; height: 28px; }
.pa-sum { display: inline-grid; grid-template-columns: repeat(4, minmax(90px, 1fr)); gap: 10px; margin: 18px 0 8px; }
.pa-sum > div { padding: 12px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface-2); display: flex; flex-direction: column; }
.pa-sum b { font-size: 24px; } .pa-sum span { font-size: var(--fs-xs); color: var(--text-3); }
.pa-mapsec td { background: var(--surface-2); font-size: var(--fs-sm); font-weight: 600; color: var(--text-2); height: 40px; }
.pa-mapsec svg { width: 15px; height: 15px; vertical-align: -3px; margin-right: 6px; color: var(--accent-text); }
.pa-mapsec a { font-weight: 400; margin-left: 8px; }
.pa-exsec { display: flex; align-items: center; gap: 6px; margin: 18px 0 10px; padding-top: 14px; border-top: 1px solid var(--border); font-size: var(--fs-sm); font-weight: 600; color: var(--text-2); }
.pa-exsec svg { width: 15px; height: 15px; color: var(--accent-text); } .pa-exsec a { font-weight: 400; margin-left: auto; }
.pa-exlabel { font-weight: 600; margin-bottom: 8px; color: var(--text-2); }
.pa-chip .dot { width: 9px; height: 9px; }
.pa-filebadge { max-width: 60%; overflow: hidden; text-overflow: ellipsis; }
.pa-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 16px; }
.pa-google { gap: 10px; }
.pa-g { width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: 12px; color: #fff; background: conic-gradient(#ea4335 0 25%, #fbbc05 0 50%, #34a853 0 75%, #4285f4 0); }
@media (max-width: 700px) { .pa-sum { grid-template-columns: repeat(2, 1fr); display: grid; } .pa-fields { grid-template-columns: 1fr 1fr; } .pa-wline { display: none; } .pa-wstep span:last-child { display: none; } .pa-wstep.cur span:last-child { display: inline; } }

/* ---------- cards (Visitenkarten) ---------- */
.pa-usage { display: flex; align-items: center; gap: 12px; margin: -6px 0 16px; color: var(--text-3); }
.pa-usage .meter { width: 160px; }
.pa-cardtile { display: flex; flex-direction: column; overflow: hidden; }
.pa-cardthumb { all: unset; display: block; height: 170px; overflow: hidden; cursor: pointer; background: var(--surface-3); border-bottom: 1px solid var(--border); position: relative; border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
.pa-cardthumb:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.pa-cardthumb:hover .pa-thumbscale { transform: scale(.5); }
.pa-thumbscale { width: 200%; transform: scale(.48); transform-origin: 0 0; padding: 22px; transition: transform .25s; pointer-events: none; }
.pa-cardinfo { flex: 1; padding-bottom: 12px; }
.pa-cardinfo .row svg { width: 14px; height: 14px; vertical-align: -2px; margin-right: 3px; }
.pa-cardfoot { justify-content: flex-start; align-items: center; gap: 4px; padding: 8px 12px; }
.pa-cardfoot .switch { margin-right: auto; }
.pa-addtile { all: unset; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 280px; cursor: pointer; border: 2px dashed var(--border-strong); border-radius: var(--radius-lg); color: var(--text-2); background: transparent; box-shadow: none; text-align: center; }
.pa-addtile:hover, .pa-addtile:focus-visible { border-color: var(--accent); color: var(--accent-text); background: var(--accent-50); }
.pa-addtile svg { width: 26px; height: 26px; }
/* editor drawer */
.overlay.drawer .modal.pa-wdrawer { width: min(1080px, 100%); }
.pa-ed { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 20px; align-items: start; }
.pa-edform { gap: 16px; }
.pa-edform .field { display: flex; flex-direction: column; gap: 6px; }
.pa-edform .field > span:first-child { font-size: var(--fs-sm); font-weight: 500; color: var(--text-2); display: flex; align-items: center; gap: 8px; }
.pa-edform .seg button { display: inline-flex; align-items: center; gap: 6px; } .pa-edform .seg svg { width: 15px; height: 15px; }
.pa-edform .seg { align-self: flex-start; }
.pa-togs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; font-weight: 400; color: var(--text); }
.pa-locpick { border: 1px solid var(--border-strong); border-radius: var(--radius); overflow: hidden; }
.pa-lphead { gap: 4px; padding: 6px; border-bottom: 1px solid var(--border); background: var(--surface-2); flex-wrap: nowrap; }
.pa-lphead input { height: 32px; }
.pa-lplist { max-height: 260px; overflow-y: auto; padding: 4px; }
.pa-lpitem { display: flex; gap: 8px; min-width: 0; padding: 7px 8px; border-radius: var(--radius-sm); font-weight: 400; }
.pa-lpitem:hover { background: var(--surface-3); }
.pa-edprev { position: sticky; top: 0; }
.pa-prevlabel { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; } .pa-prevlabel svg { width: 14px; height: 14px; }
.pa-browser { border: 1px solid var(--border-strong); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.pa-browserbar { display: flex; align-items: center; gap: 6px; padding: 8px 10px; background: var(--surface-3); border-bottom: 1px solid var(--border); }
.pa-browserbar i { width: 9px; height: 9px; border-radius: 50%; background: var(--border-strong); }
.pa-browserbar .mono { margin-left: 8px; font-size: 11px; color: var(--text-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; background: var(--surface); padding: 2px 8px; border-radius: 6px; flex: 1; }
.pa-browserbody { max-height: 62vh; overflow-y: auto; }
@media (max-width: 860px) { .pa-ed { grid-template-columns: 1fr; } .pa-edprev { position: static; } }
/* public contact cards – rendered like the customer's page (fixed light look, brand colour from --vc) */
.pa-vc-page { padding: 18px; background: #f6f7f9; color: #101828; min-height: 240px; }
.pa-vc-page h4 { color: #101828; }
.pa-vc { display: grid; gap: 10px; color: #101828; }
.pa-vc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pa-vc-card { background: #fff; border: 1px solid #e4e7ec; border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 10px; border-top: 3px solid var(--vc); min-width: 0; }
.pa-vc-head { display: flex; gap: 10px; align-items: center; min-width: 0; }
.pa-vc-head b { display: block; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pa-vc-head > div { min-width: 0; }
.pa-vc-av { width: 34px; height: 34px; border-radius: 10px; background: var(--vc); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 12px; flex: none; }
.pa-vc-sub { font-size: 12px; color: #667085; }
.pa-vc-rows { display: flex; flex-direction: column; gap: 5px; font-size: 12.5px; color: #475467; }
.pa-vc-rows span { display: flex; align-items: center; gap: 7px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pa-vc-rows svg { width: 14px; height: 14px; color: var(--vc); flex: none; }
.pa-vc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 32px; border-radius: 8px; background: var(--vc); color: #fff; font-size: 12.5px; font-weight: 600; margin-top: auto; }
.pa-vc-btn svg { width: 14px; height: 14px; }
.pa-vc-list .pa-vc-card { flex-direction: row; align-items: center; flex-wrap: wrap; border-top-width: 1px; border-left: 4px solid var(--vc); }
.pa-vc-list .pa-vc-head { flex: 1 1 200px; } .pa-vc-list .pa-vc-rows { flex: 1 1 180px; } .pa-vc-list .pa-vc-btn { margin-top: 0; padding: 0 12px; }
.pa-vc-compact { gap: 0; background: #fff; border: 1px solid #e4e7ec; border-radius: 12px; overflow: hidden; }
.pa-vc-compact .pa-vc-card { border: 0; border-bottom: 1px solid #e4e7ec; border-radius: 0; padding: 10px 12px; gap: 4px; }
.pa-vc-compact .pa-vc-card:last-child { border-bottom: 0; }
.pa-vc-compact .pa-vc-av { display: none; }
.pa-vc-compact .pa-vc-rows { flex-direction: row; flex-wrap: wrap; gap: 4px 12px; }
.pa-vc-compact .pa-vc-btn { height: auto; background: none; color: var(--vc); justify-content: flex-start; }
.pa-vc-empty { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 40px 10px; color: #667085; font-size: 13px; }
.pa-vc-empty svg { width: 24px; height: 24px; }
@media (max-width: 520px) { .pa-vc-grid { grid-template-columns: 1fr; } }

/* ---------- phone refinements ---------- */
@media (max-width: 700px) {
  .pa-tbl .actions { display: none; }
  .pa-tbl td, .pa-tbl th { padding-left: 10px; padding-right: 10px; }
  .pa-dtitle h1 { font-size: 22px; }
  .pa-dirty { margin-left: 0; padding-left: 0; border-left: 0; display: flex; margin-top: 4px; }
  .pa-slot input { width: 92px; padding: 0 6px; }
  .pa-slotrow .btn { padding: 0 6px; }
  .pa-day, .pa-slots, .pa-slotrow { min-width: 0; }
  .pa-hours .card-foot .field { flex-direction: column; align-items: stretch; width: 100%; }
  .pa-hours .card-foot select { width: 100%; }
}
.pa-share .codebox { padding-right: 110px; }
.pa-edform .field > span:first-child { gap: 6px; }
