body{font-family:Arial;background:#f5f5f5}
.topbar{background:#00a597;color:#fff;padding:10px;font-weight:bold}
.container{padding:10px}
input,select,textarea,button{display:block;margin:6px 0;padding:6px;width:100%}
ul{list-style:none;padding:0}
li{background:#fff;margin:4px 0;padding:6px;cursor:pointer}

/* --- Print tweaks: hide floating UI overlays so QR/contents are not covered --- */
@media print{
  .no-print{ display:none !important; }
  .backFab{ display:none !important; }
}


/* --- Global UI utilities for centralized styling --- */
:root{
  --coro-border:#dfeeee;
  --coro-text:#12312e;
  --coro-text-muted:#536865;
  --coro-success:#2b6b2f;
  --coro-danger:#b00020;
  --coro-danger-soft:#fff3f3;
  --coro-danger-border:#f3b4b4;
  --coro-success-soft:#f2fff9;
  --coro-success-border:#9fe2c8;
}

*{box-sizing:border-box}
body{color:var(--coro-text)}
.small{color:var(--coro-text-muted)}
.row,.coro-row{display:flex;align-items:center;gap:12px}
.coro-row-wrap{flex-wrap:wrap}
.coro-row-between{justify-content:space-between}
.coro-row-end{justify-content:flex-end}
.coro-stack{display:flex;flex-direction:column;gap:8px}
.coro-hidden{display:none !important}
.coro-block{display:block}
.coro-text-strong{font-weight:900}
.coro-text-right{text-align:right}
.coro-center{text-align:center}
.coro-click{cursor:pointer}
.coro-w-auto{width:auto !important}
.coro-w-full{width:100% !important}
.coro-w-70{width:70px !important}
.coro-w-90{width:90px !important}
.coro-w-120{width:120px !important}
.coro-w-160{width:160px !important}
.coro-w-180{width:180px !important}
.coro-w-220{width:220px !important}
.coro-w-260{width:260px !important}
.coro-w-280{width:280px !important}
.coro-w-320{width:320px !important}
.coro-minw-220{min-width:220px !important}
.coro-minw-260{min-width:260px !important}
.coro-minw-340{min-width:340px !important}
.coro-maxw-520{max-width:520px !important}
.coro-m-0{margin:0 !important}
.coro-mt-0{margin-top:0 !important}
.coro-mt-4{margin-top:4px !important}
.coro-mt-6{margin-top:6px !important}
.coro-mt-8{margin-top:8px !important}
.coro-mt-10{margin-top:10px !important}
.coro-mt-12{margin-top:12px !important}
.coro-mt-14{margin-top:14px !important}
.coro-mt-18{margin-top:18px !important}
.coro-mb-4{margin-bottom:4px !important}
.coro-mb-6{margin-bottom:6px !important}
.coro-mb-8{margin-bottom:8px !important}
.coro-mb-10{margin-bottom:10px !important}
.coro-my-10{margin-top:10px !important;margin-bottom:10px !important}
.coro-my-12{margin-top:12px !important;margin-bottom:12px !important}
.coro-mx-auto{margin-left:auto !important;margin-right:auto !important}
.coro-p-8{padding:8px !important}
.coro-p-10{padding:10px !important}
.coro-px-10{padding-left:10px !important;padding-right:10px !important}
.coro-px-12{padding-left:12px !important;padding-right:12px !important}
.coro-py-6{padding-top:6px !important;padding-bottom:6px !important}
.coro-radius-10{border-radius:10px !important}
.coro-radius-12{border-radius:12px !important}
.coro-radius-pill{border-radius:999px !important}
.coro-border{border:1px solid var(--coro-border) !important}
.coro-border-soft{border:1px solid rgba(0,165,151,.45) !important}
.coro-border-danger{border-color:#f2c9c9 !important}
.coro-bg-soft{background:var(--hks52-soft,#e6f6f4) !important}
.coro-bg-light{background:#f3f7f7 !important}
.coro-bg-white{background:#fff !important}
.coro-text-dark{color:#111 !important}
.coro-link-btn{display:inline-block;padding:10px 12px;border-radius:12px;border:1px solid rgba(0,165,151,.45);background:var(--hks52-soft,#e6f6f4);color:#08433f;text-decoration:none;font-weight:800}
.coro-msg{margin:10px 0;color:#444}
.coro-msg.is-error{color:var(--coro-danger) !important}
.coro-msg.is-success{color:var(--coro-success) !important}
.coro-status{display:block;padding:10px 12px;border-radius:12px;border:1px solid var(--coro-border);background:#fff}
.coro-status.is-error{background:var(--coro-danger-soft);border-color:var(--coro-danger-border)}
.coro-status.is-success{background:var(--coro-success-soft);border-color:var(--coro-success-border)}
.coro-admin-table{width:100%;border-collapse:collapse;background:#fff}
.coro-admin-table th,.coro-admin-table td{padding:8px;border:1px solid var(--coro-border);vertical-align:top}
.coro-admin-table input[type="checkbox"]{width:auto;margin:0}
.coro-form-field{margin:12px 0}
.coro-input{width:100%;padding:10px}
.coro-badge-header{display:none;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);font-weight:800;font-size:13px}
.coro-qr{border:1px solid #ddd;border-radius:12px;background:#fff}
.coro-muted{opacity:.8}

.coro-flex{display:flex !important}
.coro-flex-col{display:flex !important;flex-direction:column !important}
.coro-flex-wrap{flex-wrap:wrap !important}
.coro-items-center{align-items:center !important}
.coro-items-start{align-items:flex-start !important}
.coro-items-end{align-items:flex-end !important}
.coro-justify-between{justify-content:space-between !important}
.coro-gap-6{gap:6px !important}
.coro-gap-8{gap:8px !important}
.coro-gap-10{gap:10px !important}
.coro-gap-12{gap:12px !important}
.coro-gap-14{gap:14px !important}
.coro-flex-1{flex:1 1 auto !important}
.coro-flex-none{flex:0 0 auto !important}
.coro-minw-0{min-width:0 !important}
.coro-w-126{width:126px !important}
.coro-line-135{line-height:1.35 !important}
.coro-opacity-65{opacity:.65 !important}
.coro-opacity-70{opacity:.7 !important}
.coro-opacity-75{opacity:.75 !important}
.coro-opacity-80{opacity:.8 !important}
.coro-opacity-85{opacity:.85 !important}
.coro-font-700{font-weight:700 !important}
.coro-font-800{font-weight:800 !important}
.coro-font-900{font-weight:900 !important}
.coro-user-select-none{user-select:none !important}
.coro-border-top-dash{border-top:1px dashed rgba(0,165,151,.35) !important}
.coro-btn-pill{width:auto !important;padding:8px 12px !important;border-radius:999px !important}
.coro-btn-chip{width:auto !important;padding:6px 10px !important;border-radius:999px !important;font-size:12px !important;background:#f3f7f7 !important;color:#111 !important;border:1px solid rgba(0,0,0,.12) !important}
.coro-note-box{padding:8px 10px;border-radius:10px;border:1px solid rgba(0,0,0,.12);background:rgba(0,165,151,.10);font-weight:800}
.coro-prewrap{white-space:pre-wrap}

.coro-pt-10{padding-top:10px !important}
.coro-w-190{width:190px !important}
.coro-inline-arrow{display:inline-block;transform:translateY(-1px)}


/* zentrale Hover-/Button-Steuerung */
body.coro-main-theme button,
body.coro-main-theme a.btn,
body.coro-main-theme .btn,
body.coro-main-theme .topQuickLink,
body.coro-main-theme .tabBtn,
body.coro-main-theme .badge.entriesBtn,
body.coro-main-theme .badge.vcardBtn,
body.coro-main-theme .badge.btnOpen,
body.coro-main-theme .badge.btnTaskAction,
body.coro-main-theme .excludeBtn{
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease;
}
body.coro-main-theme .excludeBtn{
  background:var(--coro-button-secondary-bg,#FFFFFF) !important;
  color:var(--coro-button-secondary-text,#08433F) !important;
  border:1px solid var(--coro-input-border,#8CCFC8) !important;
  border-radius:var(--coro-radius-button,12px) !important;
}
body.coro-main-theme .excludeBtn:hover{
  background:var(--coro-button-secondary-hover-bg,var(--coro-primary-soft,#E6F6F4)) !important;
  color:var(--coro-button-secondary-hover-text,var(--coro-button-secondary-text,#08433F)) !important;
  border-color:var(--coro-button-secondary-hover-border,var(--coro-primary,#00A597)) !important;
}

/* unified interactive controls */
button,
[role="button"],
.badge.action,
.badge.entriesBtn,
.badge.vcardBtn,
.badge.btnOpen,
.badge.btnTaskAction,
.tabBtn,
.topQuickLink,
.excludeBtn,
.userBadge,
.topMenu > summary,
.gm-style button,
.gm-style .gm-control-active,
.gm-style .gm-fullscreen-control,
.gm-bundled-control .gm-control-active{
  cursor:pointer;
}

body.coro-main-theme button,
body.coro-main-theme .btn,
body.coro-main-theme a.btn,
body.coro-main-theme .badge,
body.coro-main-theme .tabBtn,
body.coro-main-theme .topQuickLink,
body.coro-main-theme .topMenu > summary,
body.coro-main-theme .menuPanel a,
body.coro-main-theme .excludeBtn,
body.coro-main-theme .gm-style button,
body.coro-main-theme .gm-style .gm-control-active,
body.coro-main-theme .gm-style .gm-fullscreen-control,
body.coro-main-theme .gm-bundled-control .gm-control-active{
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease,transform .18s ease;
  font-family:var(--coro-button-font-family,var(--coro-font-family,inherit));
}

body.coro-main-theme button:hover,
body.coro-main-theme .btn:hover,
body.coro-main-theme a.btn:hover{
  box-shadow:var(--coro-shadow-card,0 6px 18px rgba(0,0,0,.05));
}

body.coro-main-theme button:disabled,
body.coro-main-theme .btn:disabled,
body.coro-main-theme .excludeBtn:disabled{
  cursor:not-allowed;
  opacity:.6;
}

.coro-inline-btn-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.coro-inline-btn-row > *{width:auto}
.coro-inline-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.coro-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.coro-heading-main{min-width:0;flex:1 1 auto}
.coro-qr-stack{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.coro-ud-host-end{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto}
.coro-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.coro-p-0{padding:0 !important}
.coro-border-0{border:none !important}
.coro-bg-transparent{background:transparent !important}
.coro-ml-12{margin-left:12px !important}
.coro-mt-neg-4{margin-top:-4px !important}
.coro-w-44{width:44px !important}
.coro-w-140{width:140px !important}
.coro-w-150{width:150px !important}
.coro-my-6{margin-top:6px !important;margin-bottom:6px !important}
.coro-my-24{margin-top:24px !important;margin-bottom:24px !important}
.coro-font-18{font-size:18px !important}
.coro-maxw-220{max-width:220px !important}
.coro-flex-2{flex:2 1 0 !important}
.coro-login-box{max-width:420px;margin:40px auto;padding:16px}
.coro-login-logo{max-width:100%;height:auto;margin-bottom:16px}
.coro-login-h2{margin:0 0 12px 0}
.coro-login-msg{margin:0 0 12px 0;color:#333}
.coro-login-input{width:100%;padding:10px;margin:6px 0 12px 0}
.coro-login-btn{width:100%;padding:10px}
.coro-login-foot{margin-top:12px;font-size:12px;opacity:.8}
.coro-minw-140{min-width:140px !important}
.coro-row-end{justify-content:flex-end !important}
.coro-my-8{margin-top:8px !important;margin-bottom:8px !important}
.coro-h-10{height:10px !important}
.coro-w-52{width:52px !important}
.coro-h-26{height:26px !important}
.coro-opacity-90{opacity:.9 !important}
.coro-print-close{position:fixed;top:10px;right:10px;z-index:9999;padding:8px 10px;border-radius:10px;font-weight:800}

.coro-detail-contact-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}
.coro-detail-contact-main{min-width:0}
.coro-detail-contact-actions{justify-self:end;min-width:140px}
.coro-detail-contact-actions .secondary{margin-top:0}
.coro-ud-host-left,.coro-ud-host-left .badgeRow,.coro-ud-host-left .coro-tour-memberships{justify-content:flex-start !important;text-align:left !important}
.coro-ud-host-left .coro-ud{align-items:flex-start !important}
@media (max-width: 860px){.coro-detail-contact-layout{grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.coro-detail-contact-main{min-width:0}.coro-detail-contact-actions{justify-self:end;min-width:112px}.coro-detail-contact-actions,.coro-detail-contact-actions .coro-qr-stack{align-items:flex-end}.coro-detail-contact-actions .secondary{min-width:112px !important;padding-left:10px;padding-right:10px}.coro-detail-contact-actions .coro-qr{width:84px;height:84px}}


/* ===== Consolidated page/component CSS ===== */

/* >>> BEGIN merged: coro-poi-unified.css >>> */
:root{
  --border:#dfeeee;
  --hks52:#00a597;
  --hks52-dark:#00897d;
  --hks52-soft:#e6f6f4;
  --coro-page-bg:linear-gradient(180deg,#f7fbfb 0%, #eef8f6 100%);
  --coro-card-border:rgba(0,165,151,.18);
  --coro-card-shadow:0 6px 18px rgba(0,0,0,.05);
}

body.coro-main-theme{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:#12312e;
  background:var(--coro-page-bg);
}
body.coro-main-theme .side,
body.coro-main-theme .panel,
body.coro-main-theme #leftPanel,
body.coro-main-theme #rightPanel{
  background:#fff;
}
body.coro-main-theme .small{ color:#536865; }
body.coro-main-theme input,
body.coro-main-theme select,
body.coro-main-theme textarea{
  border:1px solid rgba(0,165,151,.30);
  background:#fff;
  color:#12312e;
  border-radius:14px;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
body.coro-main-theme input:focus,
body.coro-main-theme select:focus,
body.coro-main-theme textarea:focus{
  outline:none;
  border-color:rgba(0,165,151,.60);
  box-shadow:0 0 0 3px rgba(0,165,151,.14);
}
body.coro-main-theme button,
body.coro-main-theme .tabBtn,
body.coro-main-theme .topQuickLink{
  border-radius:12px;
  font-weight:800;
}
body.coro-main-theme button{
  background:var(--hks52);
  color:#fff;
  border:1px solid var(--hks52-dark);
}
body.coro-main-theme button:hover{ background:var(--hks52-dark); }
body.coro-main-theme button.secondary,
body.coro-main-theme a.secondary,
body.coro-main-theme .topQuickLink,
body.coro-main-theme .tabBtn{
  background:#fff;
  color:#08433f;
  border:1px solid rgba(0,165,151,.45);
}
body.coro-main-theme button.secondary:hover,
body.coro-main-theme a.secondary:hover,
body.coro-main-theme .topQuickLink:hover,
body.coro-main-theme .tabBtn:hover{
  background:var(--hks52-soft);
}
body.coro-main-theme .tabBtn.active{
  background:var(--hks52);
  color:#fff;
  border-color:var(--hks52);
}

body.coro-main-theme .coro-header,
body.coro-main-theme header.topbar{
  border-bottom:1px solid var(--border);
}
body.coro-main-theme .coro-header img{
  width:auto;
  max-width:100%;
  height:auto;
  display:block;
}

body.coro-main-theme .station,
body.coro-main-theme .poiCard,
body.coro-main-theme .poi-card,
body.coro-main-theme .coro-poi-card{
  border:1px solid var(--coro-card-border);
  border-radius:14px;
  padding:10px 12px;
  margin:10px 0;
  background:#fff;
  box-shadow:var(--coro-card-shadow);
}
body.coro-main-theme .station.in,
body.coro-main-theme .poiCard.in,
body.coro-main-theme .poi-card.in,
body.coro-main-theme .coro-poi-card.in{
  border-color:var(--hks52);
  background:var(--hks52-soft);
}
body.coro-main-theme .station.out,
body.coro-main-theme .poiCard.out,
body.coro-main-theme .poi-card.out,
body.coro-main-theme .coro-poi-card.out{
  border-color:#f3b7b7;
  background:#fff7f7;
}
body.coro-main-theme .station h4,
body.coro-main-theme .poiCard h4,
body.coro-main-theme .poi-card h4,
body.coro-main-theme .coro-poi-card h4{
  margin:0 0 6px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  color:#12312e;
}
body.coro-main-theme .badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:2px 8px;
  border-radius:999px;
  font-size:12px;
  line-height:1.25;
}
body.coro-main-theme .badge.in{ background:var(--hks52-soft); border:1px solid rgba(0,165,151,.55); color:#08433f; }
body.coro-main-theme .badge.out{ background:var(--coro-card-unknown-bg,#FFF1F1); border:1px solid var(--coro-card-unknown-border,#F1B5B5); color:var(--coro-card-unknown-text,#7C1F1F); }
body.coro-main-theme .badge.src{ background:#eef6ff; border:1px solid #b8d8ff; color:#27415f; }
body.coro-main-theme .badge.src.sqlite{ background:#eefaf2; border-color:#bfe9cc; color:#1d5538; }
body.coro-main-theme .badge.src.google{ background:#fff6ea; border-color:#f2d0a4; color:#7a4a16; }
body.coro-main-theme .badge.entriesBtn,
body.coro-main-theme .badge.vcardBtn,
body.coro-main-theme .station .small.coro-mgmt .badge{
  background:#f3f7f7;
  border:1px solid rgba(0,0,0,.12);
  color:#12312e;
  cursor:pointer;
  font-weight:700;
}
body.coro-main-theme .pick{ display:flex; align-items:center; gap:8px; margin:6px 0 0; }
body.coro-main-theme .pick input{ width:auto; margin:0; }
body.coro-main-theme .coro-ud-host,
body.coro-main-theme .userControlsInline,
body.coro-main-theme .badgeRow{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
body.coro-main-theme .coro-fav-btn.coro-fav-btn-mini{
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  padding:0 !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:14px !important;
  line-height:22px !important;
  background:rgba(0,165,151,.10) !important;
  color:#08433f !important;
  border:1px solid rgba(0,165,151,.45) !important;
  box-shadow:none !important;
}
body.coro-main-theme select.coro-tour-select.coro-tour-select-mini{
  appearance:none !important;
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  width:auto !important;
  min-width:112px;
  margin:0 !important;
  padding:0 30px 0 10px !important;
  height:24px !important;
  border-radius:999px !important;
  background-image:linear-gradient(45deg, transparent 50%, #0a6d64 50%), linear-gradient(135deg, #0a6d64 50%, transparent 50%), linear-gradient(180deg, rgba(0,165,151,.12), rgba(0,165,151,.12)) !important;
  background-position:calc(100% - 14px) calc(50% - 2px), calc(100% - 9px) calc(50% - 2px), 0 0 !important;
  background-size:5px 5px, 5px 5px, 100% 100% !important;
  background-repeat:no-repeat !important;
  border:1px solid rgba(0,165,151,.45) !important;
  color:#08433f !important;
  font-weight:800 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65) !important;
}
body.coro-main-theme .coro-tour-badges,
body.coro-main-theme .coro-tour-badge-wrap{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:6px;
}
body.coro-main-theme .coro-tour-badges .badge,
body.coro-main-theme .coro-tour-badge-wrap .badge{
  background:rgba(0,165,151,.08);
  border:1px solid rgba(0,165,151,.28);
  color:#0b4c46;
}
body.coro-main-theme .coro-tour-badges .badge.current,
body.coro-main-theme .coro-tour-badge-wrap .badge.current{
  background:var(--hks52);
  border-color:var(--hks52);
  color:#fff;
}

@media (max-width:900px){
  body.coro-main-theme .station,
  body.coro-main-theme .poiCard,
  body.coro-main-theme .poi-card,
  body.coro-main-theme .coro-poi-card{
    padding:10px;
  }
}


/* Step 2: strengere Vereinheitlichung für POI-relevante Seiten */
body.coro-main-theme .container,
body.coro-main-theme .wrap{ color:#12312e; }
body.coro-main-theme .panel,
body.coro-main-theme .side,
body.coro-main-theme #leftPanel,
body.coro-main-theme #rightPanel,
body.coro-main-theme .touren-shell,
body.coro-main-theme .tour-card,
body.coro-main-theme .seg,
body.coro-main-theme .selbar{
  border-color:var(--border);
  box-shadow:0 4px 16px rgba(0,0,0,.04);
}
body.coro-main-theme .station .small,
body.coro-main-theme .poiCard .small,
body.coro-main-theme .poi-card .small,
body.coro-main-theme .coro-poi-card .small{ color:#3f5a57; }
body.coro-main-theme .station a,
body.coro-main-theme .poiCard a,
body.coro-main-theme .poi-card a,
body.coro-main-theme .coro-poi-card a{ color:#0a6d64; }
body.coro-main-theme .station .badge.entriesBtn,
body.coro-main-theme .station .badge.vcardBtn,
body.coro-main-theme .poiCard .badge.entriesBtn,
body.coro-main-theme .poiCard .badge.vcardBtn,
body.coro-main-theme .poi-card .badge.entriesBtn,
body.coro-main-theme .poi-card .badge.vcardBtn,
body.coro-main-theme .coro-poi-card .badge.entriesBtn,
body.coro-main-theme .coro-poi-card .badge.vcardBtn{
  padding:6px 10px;
  font-size:12px;
  font-weight:800;
}
body.coro-main-theme .station .badgeRow,
body.coro-main-theme .station .userControlsInline,
body.coro-main-theme .station .coro-ud-host{
  row-gap:6px;
}
body.coro-main-theme .station select.coro-tour-select.coro-tour-select-mini,
body.coro-main-theme .poiCard select.coro-tour-select.coro-tour-select-mini,
body.coro-main-theme .poi-card select.coro-tour-select.coro-tour-select-mini,
body.coro-main-theme .coro-poi-card select.coro-tour-select.coro-tour-select-mini{
  background-color:#eef8f6 !important;
}
body.coro-main-theme .touren-list .station,
body.coro-main-theme .touren-list .poiCard,
body.coro-main-theme .touren-list .poi-card,
body.coro-main-theme #ceResults .station,
body.coro-main-theme #ceResults .poiCard,
body.coro-main-theme #ceResults .poi-card,
body.coro-main-theme #detailTop .station,
body.coro-main-theme #detailTop .poiCard,
body.coro-main-theme #detailTop .poi-card,
body.coro-main-theme #list .station,
body.coro-main-theme #list .poiCard,
body.coro-main-theme #list .poi-card{
  width:100%;
  margin:10px 0;
}
body.coro-main-theme #detailTop .coro-poi-card .coro-head,
body.coro-main-theme #detailTop .station .coro-head{
  align-items:flex-start;
}
body.coro-main-theme header.topbar{
  background:linear-gradient(180deg, var(--hks52) 0%, var(--hks52-dark) 100%);
  color:#fff;
}
body.coro-main-theme header.topbar a{ color:#fff; }
body.coro-main-theme .backFab,
body.coro-main-theme .flagBtn{ box-shadow:0 10px 24px rgba(0,0,0,.12); }


/* Theme Editor overrides */
body.coro-main-theme{
  font-family:var(--coro-font-family, system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif);
  font-size:var(--coro-font-size-base,15px);
  color:var(--coro-text,#12312E);
  background:var(--coro-bg,#F4F6F7);
}
body.coro-main-theme,
body.coro-main-theme .small,
body.coro-main-theme .muted{ color:inherit; }
body.coro-main-theme .small,
body.coro-main-theme .muted,
body.coro-main-theme .station .small,
body.coro-main-theme .poiCard .small,
body.coro-main-theme .poi-card .small,
body.coro-main-theme .coro-poi-card .small{ color:var(--coro-text-muted,#536865) !important; }
body.coro-main-theme .side,
body.coro-main-theme .panel,
body.coro-main-theme #leftPanel,
body.coro-main-theme #rightPanel,
body.coro-main-theme .touren-shell,
body.coro-main-theme .tour-card,
body.coro-main-theme .seg,
body.coro-main-theme .selbar,
body.coro-main-theme .station,
body.coro-main-theme .poiCard,
body.coro-main-theme .poi-card,
body.coro-main-theme .coro-poi-card{
  background:var(--coro-card,#FFFFFF) !important;
  border-color:var(--coro-border,#DFEEEE) !important;
  border-radius:var(--coro-radius-card,14px) !important;
  box-shadow:var(--coro-shadow-card,0 6px 18px rgba(0,0,0,.05)) !important;
}
body.coro-main-theme input,
body.coro-main-theme select,
body.coro-main-theme textarea{
  background:var(--coro-input-bg,#FFFFFF) !important;
  color:var(--coro-text,#12312E) !important;
  border-color:var(--coro-input-border,#8CCFC8) !important;
  border-radius:var(--coro-radius-input,14px) !important;
}
body.coro-main-theme input:focus,
body.coro-main-theme select:focus,
body.coro-main-theme textarea:focus{
  border-color:var(--coro-primary,#00A597) !important;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--coro-primary,#00A597) 18%, transparent) !important;
}
body.coro-main-theme button,
body.coro-main-theme .tabBtn,
body.coro-main-theme .topQuickLink,
body.coro-main-theme a.btn,
body.coro-main-theme .btn{
  background:var(--coro-button,#00A597) !important;
  color:var(--coro-button-text,#FFFFFF) !important;
  border-color:var(--coro-primary-dark,#00897D) !important;
  border-radius:var(--coro-radius-button,12px) !important;
}
body.coro-main-theme button.secondary,
body.coro-main-theme a.secondary,
body.coro-main-theme .topQuickLink,
body.coro-main-theme .tabBtn,
body.coro-main-theme .btn.secondary{
  background:var(--coro-button-secondary-bg,#FFFFFF) !important;
  color:var(--coro-button-secondary-text,#08433F) !important;
  border-color:var(--coro-input-border,#8CCFC8) !important;
}
body.coro-main-theme .tabBtn.active,
body.coro-main-theme header.topbar,
body.coro-main-theme .coro-header,
body.coro-main-theme .preview-header{
  background:var(--coro-primary,#00A597) !important;
  color:#fff !important;
}
body.coro-main-theme .coro-header img{ width:min(var(--coro-logo-width,220px), 100%); }
body.coro-main-theme .badge,
body.coro-main-theme .coro-tour-badges .badge,
body.coro-main-theme .coro-tour-badge-wrap .badge{
  background:var(--coro-badge-bg,#E6F6F4) !important;
  color:var(--coro-badge-text,#08433F) !important;
  border-color:var(--coro-badge-border,#74C7BE) !important;
}
body.coro-main-theme .coro-tour-badges .badge.current,
body.coro-main-theme .coro-tour-badge-wrap .badge.current,
body.coro-main-theme .tabBtn.active,
body.coro-main-theme .station.in,
body.coro-main-theme .poiCard.in,
body.coro-main-theme .poi-card.in,
body.coro-main-theme .coro-poi-card.in{
  background:var(--coro-primary-soft,#E6F6F4) !important;
  border-color:var(--coro-primary,#00A597) !important;
}
body.coro-main-theme .station.out,
body.coro-main-theme .poiCard.out,
body.coro-main-theme .poi-card.out,
body.coro-main-theme .coro-poi-card.out{
  background:var(--coro-card-unknown-bg,#FFF1F1) !important;
  color:var(--coro-card-unknown-text,var(--coro-text,#12312E)) !important;
  border-color:var(--coro-card-unknown-border,#F1B5B5) !important;
}
body.coro-main-theme .coro-fav-btn.coro-fav-btn-mini,
body.coro-main-theme select.coro-tour-select.coro-tour-select-mini{
  border-color:var(--coro-input-border,#8CCFC8) !important;
  background-color:var(--coro-primary-soft,#E6F6F4) !important;
  color:var(--coro-button-secondary-text,#08433F) !important;
}



/* Kundenakte: Theme-Farben zentral über Backend/Theme steuern */
body.coro-main-theme header.topbar{
  background:var(--coro-primary,#00A597);
  color:var(--coro-button-text,#fff);
}
body.coro-main-theme header.topbar a{
  color:var(--coro-button-text,#fff);
}
body.coro-main-theme #leftPanel,
body.coro-main-theme #rightPanel,
body.coro-main-theme .panel{
  background:var(--coro-card,#fff);
  border-color:var(--coro-border,#DFEEEE);
}
body.coro-main-theme .station,
body.coro-main-theme .coro-poi-card{
  background:var(--coro-card,#fff);
  border-color:var(--coro-border,#DFEEEE);
  box-shadow:var(--coro-shadow-card,0 6px 18px rgba(0,0,0,.05));
}
body.coro-main-theme .badge{
  background:var(--coro-badge-bg,#E6F6F4);
  color:var(--coro-badge-text,#08433F);
  border-color:var(--coro-badge-border,#74C7BE);
}
body.coro-main-theme .badge.out{
  background:var(--coro-card-unknown-bg,#FFF1F1);
  color:var(--coro-card-unknown-text,#7C1F1F);
  border-color:var(--coro-card-unknown-border,#F1B5B5);
}
body.coro-main-theme .tabBtn,
body.coro-main-theme button.secondary{
  background:var(--coro-button-secondary-bg,#fff);
  color:var(--coro-button-secondary-text,#08433F);
  border-color:var(--coro-badge-border,#74C7BE);
}
body.coro-main-theme .tabBtn.active,
body.coro-main-theme button:not(.secondary){
  background:var(--coro-button,#00A597);
  color:var(--coro-button-text,#fff);
}


/* zentrale Hover-/Button-Steuerung */
body.coro-main-theme button,
body.coro-main-theme a.btn,
body.coro-main-theme .btn,
body.coro-main-theme .topQuickLink,
body.coro-main-theme .tabBtn,
body.coro-main-theme .badge.entriesBtn,
body.coro-main-theme .badge.vcardBtn,
body.coro-main-theme .badge.btnOpen,
body.coro-main-theme .badge.btnTaskAction,
body.coro-main-theme .excludeBtn{
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease;
}
body.coro-main-theme .excludeBtn{
  background:var(--coro-button-secondary-bg,#FFFFFF) !important;
  color:var(--coro-button-secondary-text,#08433F) !important;
  border:1px solid var(--coro-input-border,#8CCFC8) !important;
  border-radius:var(--coro-radius-button,12px) !important;
}
body.coro-main-theme .excludeBtn:hover{
  background:var(--coro-button-secondary-hover-bg,var(--coro-primary-soft,#E6F6F4)) !important;
  color:var(--coro-button-secondary-hover-text,var(--coro-button-secondary-text,#08433F)) !important;
  border-color:var(--coro-button-secondary-hover-border,var(--coro-primary,#00A597)) !important;
}

/* <<< END merged: coro-poi-unified.css <<< */

/* >>> BEGIN merged: root_index.css >>> */
/* extracted from index.html */
    :root{
      --border:#dfeeee;
      --hks52:#00a597;
      --hks52-dark:#00897d;
      --hks52-soft:#e6f6f4;
    }
    body { margin:0; font-family: system-ui, Arial; }
    .wrap { display:flex; height:100vh; }
    .side { width:520px; padding:14px; overflow:auto; border-right:1px solid var(--border); }
    #map { flex:1; min-width: 320px; height:100%; }

    input, button, textarea { width:100%; padding:10px; margin:6px 0 10px; box-sizing:border-box; }
    .row { display:flex; gap:10px; }
    .row.two { display:flex; gap:12px; }
    .row.two > div { flex:1; }
    .row > * { flex:1; }
    .small { font-size:13px; color:#666; }

    .station { border:1px solid #eee; border-radius:12px; padding:10px; margin:8px 0; }
    .station h4 { margin:0 0 6px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
    .badge { display:inline-block; padding:2px 8px; border-radius:999px; font-size:12px; }
    .badge.in { background: color-mix(in srgb, var(--hks52) 16%, white); border:1px solid color-mix(in srgb, var(--hks52) 55%, white); }
    .badge.out { background:#fde8e8; border:1px solid #f3b7b7; }
    .badge.src { background:#eef6ff; border:1px solid #b8d8ff; }
    .badge.src.sqlite { background:#eefaf2; border:1px solid #bfe9cc; }
    .badge.src.google { background:#fff6ea; border:1px solid #f2d0a4; }
    .badge.action { cursor:pointer; }
    .station.in { border-color: color-mix(in srgb, var(--hks52) 55%, white); background: color-mix(in srgb, var(--hks52) 14%, white); }
    .station.out { border-color:#f3b7b7; background:#fff7f7; }
    .pick { display:flex; align-items:center; gap:8px; margin:6px 0 0; }
    .pick input { width:auto; margin:0; }

    .topbar { display:flex; gap:10px; }
    .topbar > button,
    .topbar > a { flex:1; }

    /* Mobile */
    @media (max-width: 900px) {
      .wrap { display:block; height:auto; }
      .side { width:auto; border-right:none; border-bottom:1px solid var(--border); }
      #map { width:100%; height:50vh; min-height:320px; }
      .topbar { flex-direction:column; }
      .row { flex-direction:column; }
      .row.two { align-items:stretch; gap:10px; }
      .row.two > div {
        flex:none;
        width:100%;
        max-width:none;
        align-self:stretch;
        margin-left:0;
        margin-right:0;
      }
      .row.two label,
      .row.two .inputWithBtn,
      .row.two input,
      #destinationWrap {
        text-align:left;
      }
      .inputWithBtn { justify-content:flex-start; }
    }

    @media print {
      #map { display:none; }
      button, input, textarea { display:none; }
      .wrap { height:auto; }
    }

    /* PDF-Export nutzt dieselbe "Druckansicht" auch am Screen */
    body.print-capture #map { display:none; }
    body.print-capture button,
    body.print-capture input,
    body.print-capture textarea {
      display:none;
    }
    body.print-capture .wrap { height:auto; }

	    /* Busy overlay (deutlichere Anzeige während Suche/Details) */
	    #busyOverlay{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(255,255,255,.72); z-index:9999; }
	    #busyOverlay .box{ background:#fff; border:1px solid var(--border); border-radius:16px; padding:16px 18px; box-shadow:0 10px 30px rgba(0,0,0,.08); width:min(520px, calc(100vw - 40px)); }
	    #busyOverlay .row{ display:flex; gap:12px; align-items:center; }
	    #busyOverlay .spinner{ width:22px; height:22px; border-radius:999px; border:3px solid #ddd; border-top-color: var(--hks52); animation: spin 0.9s linear infinite; flex:0 0 auto; }
	    #busyOverlay .msg{ font-weight:700; }
	    #busyOverlay .hint{ margin-top:6px; }
	    @keyframes spin{ to{ transform: rotate(360deg);} }

	    /* Marker -> Liste Highlight */
	    .station.flash{ outline:3px solid color-mix(in srgb, var(--hks52) 55%, white); outline-offset:2px; animation: flash 1.2s ease-in-out 1; }
	    @keyframes flash{ 0%{ transform: scale(1); } 40%{ transform: scale(1.01);} 100%{ transform: scale(1);} }

    /*
      html2canvas kann je nach Browser Probleme mit CSS Color Module 4 (z.B. color-mix(), color()).
      Für den PDF-Capture erzwingen wir deshalb einfache sRGB-Farben.
    */
    body.print-capture .badge.in {
      background:#e6f6f4;
      border:1px solid #66cfc5;
    }
    body.print-capture .station.in {
      border-color:#66cfc5;
      background:#e1f5f3;
    }
  
    .hide-known .station.in { display: none !important; }

    /* Start/Standort: Eingabe + Standort-Button */
    .inputWithBtn{ display:flex; gap:8px; align-items:stretch; }
    .inputWithBtn > input{ flex:1; margin:6px 0 10px; }
    .inputWithBtn > button{
      width:44px;
      min-width:44px;
      max-width:44px;
      height:42px;
      padding:0;
      margin:6px 0 10px;
      border:1px solid var(--coro-input-border,var(--border));
      border-radius:var(--coro-radius-button,12px);
      background:var(--coro-button-secondary-bg,#FFFFFF);
      color:var(--coro-button-secondary-text,#08433F);
      box-shadow:var(--coro-shadow-card,0 6px 18px rgba(0,0,0,.05));
      font-family:var(--coro-button-font-family,var(--coro-font-family,inherit));
      font-weight:900;
      cursor:pointer;
    }
    .inputWithBtn > button:hover{
      background:var(--coro-button-secondary-hover-bg,var(--coro-primary-soft,#E6F6F4));
      color:var(--coro-button-secondary-hover-text,var(--coro-button-secondary-text,#08433F));
      border-color:var(--coro-button-secondary-hover-border,var(--coro-primary,#00A597));
    }
    .inputWithBtn > button:disabled{ opacity:.6; cursor:default; }

    /* Erweiterte Einstellungen (Details) */
    details.advanced{margin-top:10px;border:1px solid var(--border);border-radius:12px;padding:8px 10px;background:#fafafa;}
    details.advanced > summary{cursor:pointer;user-select:none;font-weight:600;list-style:none;}
    details.advanced > summary::-webkit-details-marker{display:none;}
    .advanced-grid{display:grid;grid-template-columns:180px 1fr;gap:10px 12px;align-items:center;margin-top:10px;}
    @media (max-width:700px){.advanced-grid{grid-template-columns:1fr;}}
	
	/* Container für die Preset-Checkboxen: 2 Spalten */
  .presetGrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 14px;
    align-items: start;
  }

  /* einzelne Preset-Zeilen etwas kompakter */
  .presetGrid .pick {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
  }

  /* ShowQuery soll über beide Spalten laufen */
  .presetGrid .pick.fullRow {
    grid-column: 1 / -1;
    margin-top: 10px;
  }

  /* Suchfeld ebenfalls volle Breite */
  #query {
    width: 100%;
    box-sizing: border-box;
    margin-top: 8px;
  }
	

    /* Brand logo band */
    .coro-logo-band{
      background:#fff;
      padding:14px 12px;
      margin:0 0 12px;
      border:1px solid rgba(0,0,0,.06);
      border-radius:16px;
      box-shadow:0 4px 14px rgba(0,0,0,.04);
    }
    .coro-logo-link{ display:block; text-decoration:none; }
    .coro-logo-band img{
      max-width: 100%;
      height: auto;
      display: block;
    }

    button{
      background: var(--hks52);
      color:#fff;
      border:none;
      border-radius:12px;
      font-weight:600;
    }
    button:hover{ background:var(--hks52-dark); }

    .station{
      border-radius:14px;
      box-shadow:0 4px 14px rgba(0,0,0,.05);
    }
    .station.in{
      background:var(--hks52-soft);
      border-color:var(--hks52);
    }



/* Export/Modus Menüs (oben in der Sidebar) */
.menusRow{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:6px 0 10px;
  flex-wrap:wrap;
}

/* Schnellwahl oben: Kundenakten / Einträge */
.topQuickLink{
  flex:1;
  min-width: 150px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(0, 165, 151, 0.45);
  background:#fff;
  text-decoration:none;
  color:#08433f;
  font-weight:800;
}
.topQuickLink:hover{ background: var(--hks52-soft); }

.userBadge{
  display:none;
  white-space:nowrap;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  font-weight:700;
  font-size:13px;
  max-width: 200px;
  overflow:hidden;
  text-overflow: ellipsis;
}

.topMenu{
  position:relative;
}

.topMenu > summary{
  list-style:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 10px;
  border-radius:12px;
  background: var(--hks52-soft);
  border: 1px solid rgba(0, 165, 151, 0.45);
  color: #08433f;
  user-select:none;
}


.topMenu > summary::-webkit-details-marker{ display:none; }


.topMenu > summary:hover{
  background: rgba(0, 165, 151, 0.14);
  border-color: rgba(0, 165, 151, 0.65);
}

.topMenu > summary:focus{
  outline: 2px solid rgba(0, 165, 151, 0.35);
  outline-offset: 2px;
}
.topMenu > summary::after{
  content:"▾";
  font-size:0.9em;
  opacity:.85;
  transition: transform 120ms ease;
}

.topMenu[open] > summary::after{ transform: rotate(180deg); }

.menuPanel{
  position:absolute;
  left:0;
  top:calc(100% + 8px);
  min-width:240px;
  padding:10px;
  border-radius:14px;
  background: #ffffff;
  color: #0a1014;
  border: 1px solid rgba(0, 165, 151, 0.35);
  box-shadow: 0 16px 40px rgba(0,0,0,0.18);
  z-index: 2000;
}


.menuPanel a{
  display:block;
  padding:8px 8px;
  border-radius:10px;
  text-decoration:none;
  color: #0a1014;
}


.menuPanel a:hover{
  background: var(--hks52-soft);
}


.exportMetaRow{
  font-size:12px;
  opacity:.85;
  padding:6px 8px;
  border-bottom:1px solid rgba(0, 165, 151, 0.25);
  margin-bottom:8px;
  display:flex;
  gap:6px;
  align-items:center;
}


.exportMetaLabel{ white-space:nowrap; }

/* <<< END merged: root_index.css <<< */

/* >>> BEGIN merged: admin_index.css >>> */
/* extracted from app/Admin/index.html */
    :root{
      --border:#dfeeee;
      --hks52:#00a597;
      --hks52-dark:#00897d;
      --hks52-soft:#e6f6f4;
    }
    body{ margin:0; font-family: system-ui, Arial; background:var(--coro-bg,#F4F6F7); color:var(--coro-text,#12312E); font-family:var(--coro-font-family,system-ui,Arial,sans-serif); font-size:var(--coro-font-size-base,15px); }
    header.topbar{
      background: var(--coro-primary, var(--hks52));
      color:#fff;
      padding:10px 12px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }
    header.topbar a{ color:#fff; text-decoration:none; font-weight:800; }
    .wrap{ padding:14px; max-width: 920px; margin:0 auto; }
    .card{ border:1px solid var(--coro-border,var(--border)); border-radius:var(--coro-radius-card,16px); padding:14px; box-shadow:var(--coro-shadow-card,0 6px 20px rgba(0,0,0,.06)); background:var(--coro-card,#fff); }
    h1{ font-size:18px; margin:0 0 10px; }
    .small{ font-size:13px; color:var(--coro-text-muted,#536865); }
    .grid{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin-top:12px; }
    @media (max-width: 760px){ .grid{ grid-template-columns: 1fr; } }
    a.btn{
      display:block;
      padding:12px;
      border-radius:var(--coro-radius-button,14px);
      border:1px solid var(--coro-input-border,#8CCFC8);
      background: var(--coro-primary-soft, var(--hks52-soft));
      color:var(--coro-button-secondary-text,#08433F);
      text-decoration:none;
      font-weight:800;
    }
    a.btn:hover{ background:#dff2ef; }
    .note{ margin-top:10px; padding:10px 12px; border-radius:var(--coro-radius-button,14px); background:#f7fafb; border:1px solid var(--border); }

/* <<< END merged: admin_index.css <<< */

/* >>> BEGIN merged: admin_ips.css >>> */
/* extracted from app/Admin/ips.html */
    body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;max-width:900px;margin:24px auto;padding:0 14px;}
    .card{border:1px solid #ddd;border-radius:12px;padding:14px;}
    textarea{width:100%;min-height:160px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;padding:10px;border-radius:10px;border:1px solid #ccc;}
    label{display:block;margin:10px 0 6px;font-weight:700;}
    .row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
    button{padding:10px 14px;border-radius:10px;border:1px solid rgba(0,0,0,.12);background:rgba(0,165,151,.10);color:#08433f;font-weight:800;cursor:pointer;}
    .muted{opacity:.7}
    .msg{margin-top:10px;padding:10px;border-radius:10px;border:1px solid #ddd;}

/* <<< END merged: admin_ips.css <<< */

/* >>> BEGIN merged: admin_theme.css >>> */
/* extracted from app/Admin/theme.html */
    *{ box-sizing:border-box; }
    body{
      margin:0;
      font-family:var(--coro-font-family, system-ui, Arial, sans-serif);
      font-size:var(--coro-font-size-base, 15px);
      background:var(--coro-bg,#F4F6F7);
      color:var(--coro-text,#12312E);
    }
    .topbar{
      position:sticky; top:0; z-index:5;
      display:flex; align-items:center; justify-content:space-between; gap:12px;
      padding:12px 16px; background:var(--coro-primary,#00A597); color:#fff;
      box-shadow:0 6px 18px rgba(0,0,0,.12);
    }
    .topbar a{ color:#fff; text-decoration:none; font-weight:800; }
    .shell{ max-width:1340px; margin:0 auto; padding:16px; }
    .layout{ display:grid; grid-template-columns: 420px minmax(0,1fr); gap:16px; align-items:start; }
    @media (max-width:1050px){ .layout{ grid-template-columns:1fr; } }
    .panel{
      background:var(--coro-card,#fff); border:1px solid var(--coro-border,#DFEEEE); border-radius:var(--coro-radius-card,14px);
      box-shadow:var(--coro-shadow-card,0 6px 18px rgba(0,0,0,.05)); padding:16px;
    }
    h1,h2,h3{ margin:0 0 10px; }
    h1{ font-size:20px; }
    h2{ font-size:16px; margin-top:18px; }
    .small{ color:var(--coro-text-muted,#536865); font-size:.92em; }
    .group{ border-top:1px solid var(--coro-border,#DFEEEE); padding-top:12px; margin-top:12px; }
    .field{ display:grid; grid-template-columns: 1fr 112px; gap:10px; align-items:center; margin:10px 0; }
    .field.compact{ grid-template-columns:1fr 86px 66px; }
    @media (max-width:520px){ .field, .field.compact{ grid-template-columns:1fr; } }
    label{ font-weight:800; }
    .meta{ display:block; font-weight:500; color:var(--coro-text-muted,#536865); font-size:.86em; margin-top:2px; }
    input[type=color]{ width:100%; height:42px; border:1px solid var(--coro-border,#DFEEEE); border-radius:var(--coro-radius-input,14px); background:#fff; }
    input[type=range]{ width:100%; }
    input[type=number], select{
      width:100%; height:42px; padding:0 12px; background:var(--coro-input-bg,#fff); color:var(--coro-text,#12312E);
      border:1px solid var(--coro-input-border,#8CCFC8); border-radius:var(--coro-radius-input,14px); font:inherit;
    }
    .btnrow{ display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
    button, .preset{
      appearance:none; border:1px solid var(--coro-border,#DFEEEE); background:var(--coro-button,#00A597); color:var(--coro-button-text,#fff);
      border-radius:var(--coro-radius-button,12px); padding:10px 14px; font-weight:800; cursor:pointer; font:inherit;
    }
    button.secondary, .preset.secondary{ background:var(--coro-button-secondary-bg,#fff); color:var(--coro-button-secondary-text,#08433F); }
    .preset-list{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
    .live-note{ margin-top:12px; padding:12px; border-radius:var(--coro-radius-card,14px); background:var(--coro-primary-soft,#E6F6F4); border:1px solid var(--coro-border,#DFEEEE); }
    .preview-shell{ display:grid; gap:16px; }
    .preview-page{
      background:var(--coro-bg,#F4F6F7); border:1px solid var(--coro-border,#DFEEEE); border-radius:var(--coro-radius-card,14px); overflow:hidden;
      box-shadow:var(--coro-shadow-card,0 6px 18px rgba(0,0,0,.05));
    }
    .preview-header{ background:var(--coro-primary,#00A597); color:#fff; padding:14px 16px; }
    .preview-header img{ width:min(var(--coro-logo-width,220px), 100%); height:auto; display:block; }
    .preview-body{ padding:16px; font-size:var(--coro-font-size-base,15px); color:var(--coro-text,#12312E); }
    .toolbar{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:14px; }
    .input-like, .select-like{
      min-width:180px; height:42px; display:flex; align-items:center; padding:0 12px; background:var(--coro-input-bg,#fff);
      color:var(--coro-text,#12312E); border:1px solid var(--coro-input-border,#8CCFC8); border-radius:var(--coro-radius-input,14px);
    }
    .poi-card{
      background:var(--coro-card,#fff); color:var(--coro-text,#12312E); border:1px solid var(--coro-border,#DFEEEE);
      border-radius:var(--coro-radius-card,14px); padding:14px; box-shadow:var(--coro-shadow-card,0 6px 18px rgba(0,0,0,.05));
    }
    .poi-card.unknown{
      background:var(--coro-card-unknown-bg,#FFF1F1); color:var(--coro-card-unknown-text,#7C1F1F); border-color:var(--coro-card-unknown-border,#F1B5B5);
    }
    .poi-title{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:8px; font-weight:900; font-size:1.08em; }
    .badge{ display:inline-flex; align-items:center; gap:4px; padding:3px 8px; border-radius:999px; border:1px solid var(--coro-badge-border,#74C7BE); background:var(--coro-badge-bg,#E6F6F4); color:var(--coro-badge-text,#08433F); font-size:.82em; font-weight:800; }
    .badge.badge-alt{ background:#fff; color:var(--coro-button-secondary-text,#08433F); }
    .line{ margin:4px 0; }
    .muted{ color:var(--coro-text-muted,#536865); }
    .controls{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:12px; }
    .fav-btn{ width:30px; height:30px; min-width:30px; display:inline-flex; align-items:center; justify-content:center; padding:0; border-radius:999px; }
    .tour-pill{
      height:30px; padding:0 34px 0 12px; border-radius:999px; display:flex; align-items:center; position:relative;
      background:var(--coro-primary-soft,#E6F6F4); border:1px solid var(--coro-input-border,#8CCFC8); color:var(--coro-button-secondary-text,#08433F); font-weight:800;
    }
    .tour-pill:after{ content:'▾'; position:absolute; right:12px; top:50%; transform:translateY(-50%); }
    .tour-list{ display:flex; gap:6px; flex-wrap:wrap; margin-top:10px; }
    .status{ margin-top:10px; font-size:.9em; color:var(--coro-text-muted,#536865); }
    .ok{ color:#0c6b52; font-weight:800; }
    code{ background:rgba(0,0,0,.05); padding:1px 5px; border-radius:6px; }

/* <<< END merged: admin_theme.css <<< */

/* >>> BEGIN merged: admin_tour_print.css >>> */
/* extracted from app/Admin/tour_print.html */
    :root{
      --border:#dfeeee;
      --hks52:#00a597;
      --hks52-soft:#e6f6f4;
      --bg:#f6fbfa;
      --text:#0a1014;
      --muted:#5a6770;
    }
    *{box-sizing:border-box}
    body{ margin:0; font-family:system-ui, Arial, sans-serif; background:var(--bg); color:var(--text); }
    .wrap{ max-width:980px; margin:0 auto; padding:18px; }
    .toolbar{ display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
    button, .btn{ border:1px solid rgba(0,165,151,.45); background:var(--hks52-soft); color:#08433f; padding:10px 12px; border-radius:12px; font:inherit; font-weight:800; cursor:pointer; text-decoration:none; }
    .ghost{ background:#fff; }
    .sheet{ background:#fff; border:1px solid var(--border); border-radius:20px; box-shadow:0 8px 24px rgba(0,0,0,.06); padding:22px; }
    h1{ margin:0 0 6px; font-size:24px; }
    .meta{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:8px 18px; margin:14px 0 18px; font-size:14px; }
    .meta div{ padding:8px 10px; border-radius:12px; background:#f8fcfb; border:1px solid var(--border); }
    .small{ font-size:13px; color:var(--muted); }
    .list{ display:grid; gap:10px; }
    .item{ border:1px solid var(--border); border-radius:14px; padding:12px; background:#fcfefe; }
    .itemHead{ display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
    .name{ font-weight:900; font-size:16px; }
    .nr{ min-width:32px; text-align:center; padding:4px 8px; border-radius:999px; background:var(--hks52-soft); color:#08433f; font-weight:900; }
    .line{ margin-top:4px; font-size:14px; }
    .muted{ color:var(--muted); }
    .empty{ padding:14px; border:1px dashed var(--border); border-radius:14px; background:#fafdfd; color:var(--muted); }
    @media print {
      body{ background:#fff; }
      .toolbar{ display:none !important; }
      .wrap{ max-width:none; margin:0; padding:0; }
      .sheet{ box-shadow:none; border:none; border-radius:0; padding:0; }
      .item{ break-inside:avoid; }
      @page { margin: 14mm; }
    }

/* <<< END merged: admin_tour_print.css <<< */

/* >>> BEGIN merged: admin_tours.css >>> */
/* extracted from app/Admin/tours.html */
    :root{
      --border:#dfeeee;
      --hks52:#00a597;
      --hks52-dark:#00897d;
      --hks52-soft:#e6f6f4;
      --bg:#f6fbfa;
      --text:#0a1014;
      --muted:#5a6770;
    }
    *{box-sizing:border-box}
    body{ margin:0; font-family:system-ui, Arial, sans-serif; background:var(--bg); color:var(--text); }
    header.topbar{ background:var(--hks52); color:#fff; padding:10px 12px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
    header.topbar a{ color:#fff; text-decoration:none; font-weight:800; }
    .wrap{ max-width:1200px; margin:0 auto; padding:16px; }
    .card{ background:#fff; border:1px solid var(--border); border-radius:18px; box-shadow:0 8px 24px rgba(0,0,0,.06); padding:16px; }
    h1{ margin:0 0 10px; font-size:20px; }
    .small{ font-size:13px; color:var(--muted); }
    .toolbar{ display:flex; gap:10px; align-items:center; justify-content:space-between; flex-wrap:wrap; margin-bottom:12px; }
    input.search{ width:320px; max-width:100%; padding:10px 12px; border:1px solid rgba(0,165,151,.35); border-radius:12px; background:#fff; font:inherit; }
    button, .btn{ border:1px solid rgba(0,165,151,.45); background:var(--hks52-soft); color:#08433f; padding:10px 12px; border-radius:12px; font:inherit; font-weight:800; cursor:pointer; text-decoration:none; }
    button.ghost{ background:#fff; }
    table{ width:100%; border-collapse:collapse; }
    th, td{ text-align:left; padding:10px 8px; border-bottom:1px solid var(--border); vertical-align:top; font-size:14px; }
    th{ font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
    .pill{ display:inline-block; padding:2px 8px; border-radius:999px; background:#f1f7f7; font-size:12px; font-weight:800; }
    .pill.ok{ background:#e6f6f4; color:#08433f; }
    .pill.off{ background:#f6ecec; color:#7a2a2a; }
    .preview{ display:flex; flex-wrap:wrap; gap:6px; margin-top:4px; }
    .tourchip{ display:inline-flex; gap:6px; align-items:center; padding:4px 8px; border-radius:999px; background:#f6fbfa; border:1px solid var(--border); font-size:12px; }
    .panel{ margin-top:14px; border-top:1px solid var(--border); padding-top:14px; display:none; }
    .panel.show{ display:block; }
    .detailHead{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-bottom:10px; }
    .tourList{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:12px; }
    .tourCard{ border:1px solid var(--border); border-radius:16px; padding:12px; background:#fff; box-shadow:0 4px 16px rgba(0,0,0,.04); }
    .tourCard h3{ margin:0 0 8px; font-size:16px; }
    .meta{ font-size:12px; color:var(--muted); display:grid; gap:4px; }
    .tourCard .actions{ margin-top:10px; display:flex; gap:8px; flex-wrap:wrap; }
    .itemPanel{ display:none; margin-top:10px; border-top:1px dashed var(--border); padding-top:10px; }
    .itemPanel.show{ display:block; }
    .itemList{ display:grid; gap:8px; }
    .item{ border:1px solid var(--border); border-radius:12px; padding:10px; background:#fcfefe; }
    .item .name{ font-weight:800; }
    .item .line{ font-size:13px; color:var(--muted); margin-top:2px; }
    .right{ text-align:right; }
    .empty{ padding:14px; border:1px dashed var(--border); border-radius:14px; background:#fafdfd; color:var(--muted); }
    @media (max-width: 800px){
      th:nth-child(6), td:nth-child(6){ display:none; }
      .right{ text-align:left; }
    }

/* <<< END merged: admin_tours.css <<< */

/* >>> BEGIN merged: admin_users.css >>> */
/* extracted from app/Admin/users.html */
    :root{--border:#dfeeee;--hks52:#00a597;--hks52-soft:#e6f6f4;}
    body{ margin:0; font-family: system-ui, Arial; background:#fff; color:#0a1014; }
    header.topbar{ background: var(--hks52); color:#fff; padding:10px 12px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
    header.topbar a{ color:#fff; text-decoration:none; font-weight:800; }
    .userBadge{
      display:none;
      padding:6px 10px;
      border-radius:999px;
      background: rgba(255,255,255,.18);
      border:1px solid rgba(255,255,255,.35);
      font-weight:800;
      font-size:13px;
      max-width: 220px;
      overflow:hidden;
      text-overflow: ellipsis;
      white-space:nowrap;
    }
    .wrap{ padding:14px; max-width: 980px; margin:0 auto; }
    .card{ border:1px solid var(--border); border-radius:16px; padding:14px; box-shadow:0 6px 20px rgba(0,0,0,.06); }
    h1{ font-size:18px; margin:0 0 10px; }
    .small{ font-size:13px; color:#556; }
    input, button{ width:100%; box-sizing:border-box; padding:10px; margin:6px 0 10px; border-radius:12px; border:1px solid var(--border); font-family:inherit; }
    button{ cursor:pointer; font-weight:800; }
    button.primary{ background: var(--hks52-soft); border-color: rgba(0,165,151,.45); color:#08433f; }
    table{ width:100%; border-collapse: collapse; margin-top:10px; }
    th, td{ text-align:left; padding:8px; border-bottom:1px solid var(--border); font-size:14px; }
    code{ background:#f3f6f7; padding:2px 6px; border-radius:8px; }
    .row{ display:grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap:10px; }
    @media(max-width:760px){ .row{ grid-template-columns:1fr; } }
    .pill{ display:inline-block; padding:2px 8px; border-radius:999px; font-weight:800; font-size:12px; background:#f3f6f7; }
    .actions button{ width:auto; margin:0 6px 0 0; padding:6px 10px; border-radius:10px; }

/* <<< END merged: admin_users.css <<< */

/* >>> BEGIN merged: backend_eintraege.css >>> */
/* extracted from app/pages/backend_eintraege.html */
    body{ font-family: system-ui, Arial; margin:0; padding:12px; }
    .row{ display:flex; gap:10px; align-items:end; flex-wrap:wrap; }
    label{ font-size:13px; color:#555; display:block; }
    input, select, textarea, button{ padding:8px 10px; border-radius:12px; border:1px solid #dfeeee; font-family:inherit; }
    button{ cursor:pointer; }
    table{ border-collapse:collapse; width:100%; margin-top:10px; }
    th, td{ border:1px solid #ddd; padding:6px; vertical-align:top; }
    th{ background:#f5f7f8; text-align:left; }
    textarea{ width:100%; min-height:70px; }
    .small{ font-size:13px; color:#666; }
    .danger{ background:#fde8e8; border-color:#f3b7b7; }

/* <<< END merged: backend_eintraege.css <<< */

/* >>> BEGIN merged: backend_reporting.css >>> */
/* extracted from app/pages/backend_reporting.html */
    :root{
      --border:#dfeeee;
      --bg:#fff;
      --muted:#556;
      --soft:#f7fafb;
      --hks52:#00a597;
      --hks52-soft:#e6f6f4;
    }
    body{ margin:0; font-family: system-ui, Arial; background:var(--bg); color:#0a1014; }
    header.topbar{
      background: var(--hks52);
      color:#fff;
      padding:10px 12px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }
    header.topbar a{ color:#fff; text-decoration:none; font-weight:800; }
    .wrap{ padding:14px; max-width: 1100px; margin:0 auto; }
    .card{ border:1px solid var(--border); border-radius:16px; padding:14px; box-shadow:0 6px 20px rgba(0,0,0,.06); }
    h1{ font-size:18px; margin:0 0 10px; }
    .small{ font-size:13px; color:var(--muted); }

    .filters{ display:grid; grid-template-columns: 1.2fr 1fr 1fr 1.2fr; gap:10px; margin-top:10px; }
    @media (max-width: 980px){ .filters{ grid-template-columns: 1fr 1fr; } }
    @media (max-width: 560px){ .filters{ grid-template-columns: 1fr; } }

    label{ font-size:12px; color:var(--muted); display:block; margin-bottom:5px; }
    input, select, button{
      padding:9px 10px;
      border-radius:12px;
      border:1px solid var(--border);
      font-family:inherit;
      width:100%;
      box-sizing:border-box;
      background:#fff;
    }
    select[multiple]{ min-height: 110px; }
    .row{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
    .row > *{ flex: 1 1 auto; }
    button{ cursor:pointer; font-weight:800; }
    button.primary{ background: var(--hks52-soft); border-color: rgba(0,165,151,.45); color:#08433f; }
    .pill{ display:inline-block; padding:3px 8px; border-radius:999px; font-size:12px; border:1px solid var(--border); background:var(--soft); }
    .pill.entry{ background:#eef6ff; }
    .pill.task{ background:#fff2e8; }
    .pill.open{ background:#fff8d6; }
    .pill.done{ background:#e6f6e8; }
    .toolbar{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:10px; }
    .toolbar .left{ flex: 1 1 auto; }
    .toolbar .right{ display:flex; gap:10px; flex-wrap:wrap; }
    .hr{ height:1px; background:var(--border); margin:12px 0; }

    .list{ margin-top:12px; display:flex; flex-direction:column; gap:10px; }
    .item{ border:1px solid var(--border); border-radius:16px; padding:12px; background:#fff; }
    .item .head{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
    .item .head b{ font-size:14px; }
    .item .meta{ font-size:13px; color:var(--muted); margin-top:6px; line-height:1.35; }
    .item .note{ margin-top:8px; white-space:pre-wrap; }
    .item a{ color:#0645ad; text-decoration:none; }
    .item a:hover{ text-decoration:underline; }

    details summary{ cursor:pointer; }
    .group{ border:1px solid var(--border); border-radius:16px; padding:10px 12px; background:#fff; }
    .group h3{ margin:0; font-size:14px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
    .group .counts{ font-size:12px; color:var(--muted); }
    .group .list{ margin-top:10px; }

/* <<< END merged: backend_reporting.css <<< */

/* >>> BEGIN merged: briefing.css >>> */
/* extracted from app/pages/briefing.html */
    :root{--border:#dfeeee;--muted:#556;--soft:#f7fafb;--hks52:#00a597;--hks52-soft:#e6f6f4;}
    body{margin:0;font-family:system-ui,Arial;background:#fff;color:#0a1014;}
    header{background:var(--hks52);color:#fff;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;}
    header a{color:#fff;text-decoration:none;font-weight:800;}
    .userBadge{
      display:none;
      padding:6px 10px;
      border-radius:999px;
      background: rgba(255,255,255,.18);
      border:1px solid rgba(255,255,255,.35);
      font-weight:800;
      font-size:13px;
      max-width: 200px;
      overflow:hidden;
      text-overflow: ellipsis;
      white-space:nowrap;
    }
    .wrap{padding:14px;max-width:1100px;margin:0 auto;}
    .card{border:1px solid var(--border);border-radius:16px;padding:14px;box-shadow:0 6px 20px rgba(0,0,0,.06);}
    h1{font-size:18px;margin:0 0 10px;}
    .small{font-size:13px;color:var(--muted);}
    .filters{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:10px;}
    @media(max-width:980px){.filters{grid-template-columns:1fr 1fr;}}
    @media(max-width:560px){.filters{grid-template-columns:1fr;}}
    label{font-size:12px;color:var(--muted);display:block;margin-bottom:5px;}
    input,select,button{padding:9px 10px;border-radius:12px;border:1px solid var(--border);font-family:inherit;width:100%;box-sizing:border-box;background:#fff;}
    select[multiple]{min-height:120px;}
    .toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:10px;}
    .toolbar .left{flex:1 1 auto;}
    button{cursor:pointer;font-weight:800;}
    button.primary{background:var(--hks52-soft);border-color:rgba(0,165,151,.45);color:#08433f;}
    .hr{height:1px;background:var(--border);margin:12px 0;}
    .pill{display:inline-block;padding:3px 8px;border-radius:999px;font-size:12px;border:1px solid var(--border);background:var(--soft);}
    .cust{border:1px solid var(--border);border-radius:16px;padding:12px;margin-top:10px;background:#fff;}
    .cust h3{margin:0;font-size:16px;}
    .entry{margin-top:8px;padding:10px;border-radius:14px;background:var(--soft);border:1px solid var(--border);}
    .entry .meta{font-size:12px;color:var(--muted);margin-bottom:6px;}
    .entry .note{white-space:pre-wrap;}

    /* Print sheet (same visual language as route print) */
    @media print {
      body { margin:0; }
      .wrap, header { display:none !important; }
      #printSheet { display:block !important; }
    }
    #printSheet{
      display:none;
      padding:18px 22px;
      font-family: system-ui, Arial;
      color:#111;
    }
    #printSheet .hdr{
      display:flex;
      justify-content:space-between;
      align-items:flex-end;
      border-bottom:1px solid #ddd;
      padding-bottom:10px;
      margin-bottom:12px;
    }
    #printSheet .ttl{ font-size:20px; font-weight:800; }
    #printSheet .sub{ font-size:13px; color:#555; margin-top:2px; }
    #printSheet .dt{ font-size:12px; color:#666; }
    #printSheet .meta{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:8px 16px;
      margin: 10px 0 14px;
    }
    #printSheet .kv{ display:flex; gap:10px; }
    #printSheet .k{ width:120px; color:#555; font-size:12px; }
    #printSheet .v{ font-size:12px; font-weight:600; }
    #printSheet .tbl{
      width:100%;
      border-collapse:collapse;
      font-size:12px;
    }
    #printSheet .tbl th, #printSheet .tbl td{
      border:1px solid #ddd;
      padding:8px 8px;
      vertical-align:top;
    }
    #printSheet .tbl td.qrtd{ width:140px; padding:8px 8px; vertical-align:top; text-align:right; }
    #printSheet .nr{ text-align:center; font-weight:800; }
    #printSheet .nm{ font-weight:700; }
    #printSheet .badge{
      display:inline-block;
      margin-left:6px;
      padding:2px 7px;
      border-radius:999px;
      font-size:11px;
      font-weight:800;
      border:1px solid #cfeeed;
      background:#e6f6f4;
      color:#006a61;
      vertical-align:middle;
      white-space:nowrap;
    }
    #printSheet .ad{ color:#444; margin-top:2px; }
    #printSheet .gm{ color:#333; margin-top:2px; font-size:12px; }
    #printSheet .gm a{ color:#111; text-decoration:underline; }
    #printSheet .ka{ color:#333; margin-top:2px; font-size:12px; }
    #printSheet .ka a{ color:#111; text-decoration:underline; }
    #printSheet .le{ margin-top:6px; padding-top:6px; border-top:1px dashed #ddd; font-size:12px; color:#222; }
    #printSheet .leHd{ font-weight:800; margin-right:6px; }
    #printSheet .leMeta{ color:#666; font-size:11px; }
    #printSheet .empty{ text-align:center; color:#666; padding:18px; }
    canvas.qr{ display:inline-block; }
  
    /* Mobile-friendly station tiles (like Live-Suche) */
    .station{border:1px solid #eee;border-radius:12px;padding:10px;margin:10px 0;background:#fff;}
    .station h4{margin:0 0 6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
    .pick{display:flex;align-items:center;gap:8px;margin:6px 0 8px;}
    .pick input{width:auto;margin:0;}
    .badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:var(--hks52-soft);border:1px solid color-mix(in srgb, var(--hks52) 55%, white);}
    .pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:#eef6ff;border:1px solid #b8d8ff;}
    .meta{font-size:12px;color:var(--muted);margin:8px 0 2px;}
    .entry{border-left:3px solid #e6eef0;padding-left:10px;margin:8px 0;}
    .entry .note{white-space:pre-wrap;}
    .entry.open{border-left-color: color-mix(in srgb, var(--hks52) 55%, white);}
    .entry.open .meta b{color: var(--hks52-dark);}
    .selbar{position:sticky;top:0;z-index:5;background:#fff;border:1px solid var(--border);border-radius:12px;padding:10px;margin:10px 0;display:flex;align-items:center;justify-content:space-between;gap:10px;}
    .selbtns{display:flex;gap:10px;flex-wrap:wrap;}
    .selbtns button{width:auto;margin:0;}
    @media (max-width: 700px){
      .selbar{flex-direction:column;align-items:stretch;}
      .selbtns{justify-content:stretch;}
      .selbtns button{flex:1;}
    }

/* <<< END merged: briefing.css <<< */

/* >>> BEGIN merged: kundenakte.css >>> */
/* extracted from app/pages/kundenakte.html */
    :root{
      --border:#dfeeee;
      --hks52:#00a597;
      --hks52-dark:#00897d;
      --hks52-soft:#e6f6f4;
    }
    body{ margin:0; font-family: system-ui, Arial; background:#fff; }
    header.topbar{
      background: var(--hks52);
      color:#fff;
      padding:10px 12px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }
    header.topbar a{ color:#fff; text-decoration:none; font-weight:700; }

    .userBadge{ 
      display:none;
      padding:6px 10px;
      border-radius:999px;
      background: rgba(255,255,255,.18);
      border:1px solid rgba(255,255,255,.35);
      font-weight:700;
      font-size:13px;
      max-width: 200px;
      overflow:hidden;
      text-overflow: ellipsis;
      white-space:nowrap;
    }

    .container{ padding:12px; }
    .grid{ display:grid; grid-template-columns: 380px 1fr; gap:12px; align-items:start; }
    .panel{ border:1px solid var(--border); border-radius:14px; padding:12px; background:#fff; overflow:auto; max-height: calc(100vh - 110px); }
    input, select, textarea, button{ width:100%; box-sizing:border-box; padding:10px; margin:6px 0 10px; border-radius:12px; border:1px solid var(--border); font-family:inherit; }
    button{ background: var(--hks52); color:#fff; border:none; font-weight:700; cursor:pointer; }
    button:hover{ background: var(--hks52-dark); }
    .small{ font-size:13px; color:#666; }

    .station{ border:1px solid #eee; border-radius:14px; padding:10px; margin:8px 0; box-shadow:0 4px 14px rgba(0,0,0,.05); }
    .station h4{ margin:0 0 6px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
    .badge{ display:inline-block; padding:2px 8px; border-radius:999px; font-size:12px; border:1px solid rgba(0,0,0,.12); background:#f4f6f7; color:#0a1014; }
    .badge.in{ background: var(--hks52-soft); border-color: rgba(0,165,151,.55); }
    .badge.out{ background:#fde8e8; border-color:#f3b7b7; }
    .badge.src{ background:#eef6ff; border-color:#b8d8ff; }
    .split{ display:grid; grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr); gap:10px; align-items:start; }
    .split > *{ min-width:0; }
    #detailTop{ min-width:0; padding-right:28px; box-sizing:border-box; }
    #customerMap{ min-width:0; }
    #detailTop .station, #detailTop .poiCard, #detailTop .poi-card, #detailTop .coro-poi-card{ overflow:hidden; max-width:100%; padding-right:14px; }
    #detailTop .small, #detailTop a, #detailTop button, #detailTop .badge{ overflow-wrap:anywhere; word-break:break-word; }
    #customerMap{ width:100%; height:260px; border-radius:14px; border:1px solid var(--border); background:#f3f6f7; }

    .tabs{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; border-bottom:1px solid rgba(0,165,151,.25); padding-bottom:8px; margin:10px 0 12px; }
    .tabBtn{
      width:auto; margin:0; padding:8px 10px;
      background: var(--hks52-soft); color:#08433f;
      border: 1px solid rgba(0,165,151,.45);
      border-radius:999px; font-weight:800; cursor:pointer;
    }
    .tabBtn.active{ background: var(--hks52); color:#fff; border-color: var(--hks52); }

    .picker{ display:flex; gap:8px; align-items:center; margin-left:auto; }
    .picker select, .picker input{ width:auto; margin:0; padding:8px 10px; border-radius:999px; }
    #mobileBackBtn{ margin-left:auto; }

    /* compact inputs in "Neu" */
    .entryPanel input, .entryPanel select, .entryPanel textarea{ padding:8px; margin:4px 0 8px; }
    .entryPanel textarea{ min-height: 86px; }

    /* colleague picker in tabs */
    .tabs .picker{ margin-left: auto; display:flex; gap:8px; align-items:center; }
    .tabs .picker select, .tabs .picker input{ width:auto; margin:0; padding:8px 10px; border-radius:999px; }
    .tabs .picker input{ border-radius:12px; }

    @media (max-width: 1180px){
      .split{ grid-template-columns:1fr; }
      #customerMap{ min-height:260px; }
    }

    @media (max-width: 900px){
      .grid{ grid-template-columns: 1fr; }
      .panel{ max-height:none; }
      #rightPanel{
        position: fixed; inset: 0; background:#fff; z-index: 3000;
        transform: translateX(100%); transition: transform 160ms ease;
        border-radius:0; border:none; padding:12px 12px 18px;
      }
      body.detail-open #rightPanel{ transform: translateX(0); }
      body.detail-open #leftPanel{ display:none; }
      #mobileBackBtn{ display:inline-flex !important; }
      .split{ grid-template-columns: 1fr; }
    }

    /* Floating "Zurück zur Stationsliste" button (uses history.back to preserve result state) */
    .backFab{
      position: fixed;
      top: 76px;
      right: 12px;
      z-index: 4000;
      width: auto;
      padding: 10px 12px;
      border-radius: 999px;
      box-shadow: 0 10px 24px rgba(0,0,0,.18);
      border: 1px solid rgba(255,255,255,.35);
      background: var(--hks52);
      color: #fff;
      font-weight: 900;
      cursor: pointer;
    }
    .backFab:active{ transform: translateY(1px); }

/* <<< END merged: kundenakte.css <<< */

/* >>> BEGIN merged: kundenakte_geo.css >>> */
/* extracted from app/pages/kundenakte_geo.html */
    :root{
      --border:#dfeeee;
      --hks52:#00a597;
      --hks52-dark:#00897d;
      --hks52-soft:#e6f6f4;
    }
    body{ margin:0; font-family: system-ui, Arial; background:#fff; }
    header.topbar{
      background: var(--hks52);
      color:#fff;
      padding:10px 12px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }
    header.topbar a{ color:#fff; text-decoration:none; font-weight:700; }

    .container{ padding:12px; }
    .grid{ display:grid; grid-template-columns: 380px 1fr; gap:12px; align-items:start; }
    .panel{ border:1px solid var(--border); border-radius:14px; padding:12px; background:#fff; overflow:auto; max-height: calc(100vh - 110px); }
    input, select, textarea, button{ width:100%; box-sizing:border-box; padding:10px; margin:6px 0 10px; border-radius:12px; border:1px solid var(--border); font-family:inherit; }
    button{ background: var(--hks52); color:#fff; border:none; font-weight:700; cursor:pointer; }
    button:hover{ background: var(--hks52-dark); }
    .small{ font-size:13px; color:#666; }

    .station{ border:1px solid #eee; border-radius:14px; padding:10px; margin:8px 0; box-shadow:0 4px 14px rgba(0,0,0,.05); }
    .station h4{ margin:0 0 6px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
    .badge{ display:inline-block; padding:2px 8px; border-radius:999px; font-size:12px; border:1px solid rgba(0,0,0,.12); background:#f4f6f7; color:#0a1014; }
    .badge.in{ background: var(--hks52-soft); border-color: rgba(0,165,151,.55); }
    .badge.out{ background:#fde8e8; border-color:#f3b7b7; }
    .badge.src{ background:#eef6ff; border-color:#b8d8ff; }
    .split{ display:grid; grid-template-columns: 1fr 1fr; gap:10px; }
    #customerMap{ width:100%; height:260px; border-radius:14px; border:1px solid var(--border); background:#f3f6f7; }

    .tabs{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; border-bottom:1px solid rgba(0,165,151,.25); padding-bottom:8px; margin:10px 0 12px; }
    .tabBtn{
      width:auto; margin:0; padding:8px 10px;
      background: var(--hks52-soft); color:#08433f;
      border: 1px solid rgba(0,165,151,.45);
      border-radius:999px; font-weight:800; cursor:pointer;
    }
    .tabBtn.active{ background: var(--hks52); color:#fff; border-color: var(--hks52); }

    .picker{ display:flex; gap:8px; align-items:center; margin-left:auto; }
    .picker select, .picker input{ width:auto; margin:0; padding:8px 10px; border-radius:999px; }
    #mobileBackBtn{ margin-left:auto; }

    /* compact inputs in "Neu" */
    .entryPanel input, .entryPanel select, .entryPanel textarea{ padding:8px; margin:4px 0 8px; }
    .entryPanel textarea{ min-height: 86px; }

    /* colleague picker in tabs */
    .tabs .picker{ margin-left: auto; display:flex; gap:8px; align-items:center; }
    .tabs .picker select, .tabs .picker input{ width:auto; margin:0; padding:8px 10px; border-radius:999px; }
    .tabs .picker input{ border-radius:12px; }

    @media (max-width: 900px){
      .grid{ grid-template-columns: 1fr; }
      .panel{ max-height:none; }
      #rightPanel{
        position: fixed; inset: 0; background:#fff; z-index: 3000;
        transform: translateX(100%); transition: transform 160ms ease;
        border-radius:0; border:none; padding:12px 12px 18px;
      }
      body.detail-open #rightPanel{ transform: translateX(0); }
      body.detail-open #leftPanel{ display:none; }
      #mobileBackBtn{ display:inline-flex !important; }
      .split{ grid-template-columns: 1fr; }
    }

/* <<< END merged: kundenakte_geo.css <<< */

/* >>> BEGIN merged: route_from_tour.css >>> */
/* extracted from app/pages/route_from_tour.html */
    :root{
      --border:#dfeeee;
      --hks52:#00a597;
      --hks52-dark:#00897d;
      --hks52-soft:#e6f6f4;
    }
    html, body { height:100%; min-height:100%; }
    body { margin:0; min-height:100dvh; font-family: Arial, Helvetica, sans-serif; background:linear-gradient(180deg,#f7fbfb 0%, #eef8f6 100%); color:#12312e; }
    .wrap { display:flex; min-height:100vh; min-height:100dvh; }
    .side { width:520px; padding:14px; overflow:auto; border-right:1px solid var(--border); background:#fff; }
    #map { flex:1 1 auto; width:100%; min-width:320px; min-height:360px; height:auto; }

    input, button, textarea, select { width:100%; padding:10px; margin:6px 0 10px; box-sizing:border-box; font:inherit; }
    .row { display:flex; gap:10px; }
    .row > * { flex:1; }
    .small { font-size:13px; color:#666; }

    button{ background:var(--hks52); color:#fff; border:none; border-radius:12px; font-weight:600; }
    button:hover{ background:var(--hks52-dark); }
    button.primary{ background:var(--hks52); color:#fff; border:1px solid var(--hks52-dark); border-radius:12px; font-weight:800; }
    button.secondary{ background:#fff; border:1px solid color-mix(in srgb, var(--hks52) 55%, white); color:#08433f; border-radius:12px; font-weight:800; }
    input, select, textarea{
      border:1px solid rgba(0,165,151,.30);
      background:#fff;
      color:#12312e;
      border-radius:14px;
      box-shadow:0 2px 8px rgba(0,0,0,.04);
    }
    input:focus, select:focus, textarea:focus{
      outline:none;
      border-color:rgba(0,165,151,.60);
      box-shadow:0 0 0 3px rgba(0,165,151,.14);
    }
    #tourPick{
      appearance:none;
      -webkit-appearance:none;
      -moz-appearance:none;
      padding-right:42px;
      background-image:linear-gradient(45deg, transparent 50%, var(--hks52-dark) 50%), linear-gradient(135deg, var(--hks52-dark) 50%, transparent 50%), linear-gradient(180deg, rgba(0,165,151,.10), rgba(0,165,151,.10));
      background-position:calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px), 0 0;
      background-size:6px 6px, 6px 6px, 100% 100%;
      background-repeat:no-repeat;
      border:1px solid rgba(0,165,151,.45);
      color:#08433f;
      font-weight:800;
    }
    .station select.coro-tour-select.coro-tour-select-mini,
    .station .badgeRow select.coro-tour-select.coro-tour-select-mini{
      appearance:none !important;
      -webkit-appearance:none !important;
      -moz-appearance:none !important;
      padding:0 28px 0 10px !important;
      background-image:linear-gradient(45deg, transparent 50%, #0a6d64 50%), linear-gradient(135deg, #0a6d64 50%, transparent 50%), linear-gradient(180deg, rgba(0,165,151,.14), rgba(0,165,151,.14)) !important;
      background-position:calc(100% - 14px) calc(50% - 2px), calc(100% - 9px) calc(50% - 2px), 0 0 !important;
      background-size:5px 5px, 5px 5px, 100% 100% !important;
      background-repeat:no-repeat !important;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
    }

    .station {
      border:1px solid #eee;
      border-radius:14px;
      padding:10px;
      margin:10px 0;
      background:#fff;
      box-shadow:0 4px 14px rgba(0,0,0,.05);
    }
    .station.excluded{ opacity:.82; }
    .station.excluded h4{ text-decoration:line-through; }
    .station.in { border-color: var(--hks52); background: var(--hks52-soft); }
    .station.out { border-color:#f3b7b7; background:#fff7f7; }
    .station h4 { margin:0; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
    .badge { display:inline-block; padding:2px 8px; border-radius:999px; font-size:12px; }
    .badge.in { background: color-mix(in srgb, var(--hks52) 16%, white); border:1px solid color-mix(in srgb, var(--hks52) 55%, white); }
    .badge.out { background:#fde8e8; border:1px solid #f3b7b7; color:#8f1d1d; }
    .badge.src { background:#eef6ff; border:1px solid #b8d8ff; color:#27415f; }
    .badge.action { cursor:pointer; }
    .pick { display:flex; align-items:center; gap:8px; margin:6px 0 0; }
    .pick input { width:auto; margin:0; }
    .coro-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
    .coro-ud-host{ flex:0 0 auto; display:flex; align-items:center; justify-content:flex-end; }
    .station .badgeRow .coro-fav-btn.coro-fav-btn-mini,
    .station .coro-fav-btn.coro-fav-btn-mini{
      width:22px !important;
      height:22px !important;
      padding:0 !important;
      min-width:22px !important;
      border-radius:999px !important;
      display:inline-flex !important;
      align-items:center !important;
      justify-content:center !important;
      font-size:14px !important;
      line-height:22px !important;
      background:rgba(0,165,151,.10) !important;
      border:1px solid rgba(0,165,151,.45) !important;
      color:#08433f !important;
    }
    .station .badgeRow select.coro-tour-select.coro-tour-select-mini,
    .station select.coro-tour-select.coro-tour-select-mini{
      height:22px !important;
      padding:0 10px !important;
      border-radius:999px !important;
      border:1px solid rgba(0,165,151,.45) !important;
      background:rgba(0,165,151,.10) !important;
      color:#08433f !important;
      font-weight:800 !important;
      font-size:12px !important;
      width:auto !important;
      margin:0 !important;
    }
    .station .badge.entriesBtn,
    .station .badge.vcardBtn{
      background:#f3f7f7;
      border:1px solid rgba(0,0,0,.12);
      color:#111;
      cursor:pointer;
      font-weight:700;
    }

    .addrLine{ display:flex; gap:8px; align-items:center; }
    .flagBtn{ width:44px; min-width:44px; max-width:44px; margin:6px 0 10px; padding:0; height:42px; border-radius:12px; font-weight:900; }

    .excludeBtn{
      width:28px;
      min-width:28px;
      max-width:28px;
      height:28px;
      margin:0;
      padding:0;
      border-radius:999px;
      border:1px solid rgba(191,66,66,.28);
      background:#fff5f5;
      color:#a12626;
      font-size:18px;
      line-height:26px;
      font-weight:900;
      box-shadow:none;
    }
    .excludeBtn:hover{ background:#ffe9e9; }
    .excludeBtn.restore{
      border-color:rgba(0,165,151,.35);
      background:rgba(0,165,151,.10);
      color:#0a6d64;
      font-size:16px;
    }
    .excludedNote{
      color:#8f1d1d;
      font-weight:700;
      margin:6px 0 2px;
    }

    .summary { margin:8px 0 2px; font-weight:900; color:#08433f; }
    .coro-logo-band{
      background:#fff;
      padding:14px 12px;
      margin:0 0 12px;
      border:1px solid rgba(0,0,0,.06);
      border-radius:16px;
      box-shadow:0 4px 14px rgba(0,0,0,.04);
    }
    .coro-logo-band a{ display:block; text-decoration:none; }
    .coro-logo-band img{ max-width:100%; height:auto; display:block; }

    @media (max-width: 980px){
      .wrap{ display:block; height:auto; min-height:0; }
      .side{ width:auto; border-right:none; border-bottom:1px solid var(--border); }
      #map{ width:100%; height:52vh; height:52svh; min-height:360px; }
      .row{ flex-direction:column; }
    }

/* <<< END merged: route_from_tour.css <<< */

/* >>> BEGIN merged: suchbegriffe.css >>> */
/* extracted from app/pages/suchbegriffe.html */
    :root{
      --hks52:#00a597;
      --hks52-dark:#00897d;
      --hks52-soft:#e6f6f4;
      --border:#dfeeee;
    }
    body{ margin:0; font-family: system-ui, Arial; }
    header.topbar{
      background: var(--hks52);
      color:#fff;
      padding:10px 12px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }
    header.topbar a{ color:#fff; text-decoration:none; font-weight:700; }
    .wrap{ max-width:980px; margin:0 auto; padding:14px; }
    .card{ border:1px solid var(--border); border-radius:14px; padding:12px; box-shadow:0 4px 14px rgba(0,0,0,.05); }
    .row{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
    .row > *{ flex: 1 1 auto; }
    button{
      background: var(--hks52);
      color:#fff;
      border:none;
      border-radius:12px;
      padding:10px 12px;
      font-weight:700;
      cursor:pointer;
    }
    button:hover{ background: var(--hks52-dark); }
    button.secondary{
      background: var(--hks52-soft);
      color:#08433f;
      border:1px solid rgba(0,165,151,.45);
    }
    button.secondary:hover{ background: rgba(0,165,151,.14); }
    .small{ font-size:13px; color:#666; }
    input[type="text"]{ width:100%; padding:10px; border-radius:12px; border:1px solid var(--border); }
    table{ width:100%; border-collapse:collapse; margin-top:10px; }
    th,td{ text-align:left; padding:10px 8px; border-bottom:1px solid rgba(0,0,0,.06); }
    th{ font-size:13px; color:#234; }
    .pill{ display:inline-block; padding:2px 8px; border-radius:999px; font-size:12px; background:#f4f6f7; border:1px solid rgba(0,0,0,.12); }
    .danger{ background:#fde8e8; border:1px solid #f3b7b7; color:#7a1212; }
    .actions{ white-space:nowrap; }
    @media (max-width: 720px){
      .actions{ white-space:normal; }
      th:nth-child(2), td:nth-child(2){ text-align:right; }
    }

/* <<< END merged: suchbegriffe.css <<< */

/* >>> BEGIN merged: touren.css >>> */
/* extracted from app/pages/touren.html */
    :root{
      --border:#dfeeee;
      --hks52:#00a597;
      --hks52-dark:#00897d;
      --hks52-soft:#e6f6f4;
    }
    body { margin:0; font-family: system-ui, Arial; }
    .wrap { display:flex; height:100vh; }
    .side { width:520px; padding:14px; overflow:auto; border-right:1px solid var(--border); }
    #map { flex:1; min-width: 320px; height:100%; }

    input, button, textarea { width:100%; padding:10px; margin:6px 0 10px; box-sizing:border-box; }
    .row { display:flex; gap:10px; }
    .row.two { display:flex; gap:12px; }
    .row.two > div { flex:1; }
    .row > * { flex:1; }
    .small { font-size:13px; color:#666; }

    .station { border:1px solid #eee; border-radius:12px; padding:10px; margin:8px 0; }
    .station h4 { margin:0 0 6px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
    .badge { display:inline-block; padding:2px 8px; border-radius:999px; font-size:12px; }
    .badge.in { background: color-mix(in srgb, var(--hks52) 16%, white); border:1px solid color-mix(in srgb, var(--hks52) 55%, white); }
    .badge.out { background:#fde8e8; border:1px solid #f3b7b7; }
    .badge.src { background:#eef6ff; border:1px solid #b8d8ff; }
    .badge.src.sqlite { background:#eefaf2; border:1px solid #bfe9cc; }
    .badge.src.google { background:#fff6ea; border:1px solid #f2d0a4; }
    .badge.action { cursor:pointer; }
    .station.in { border-color: color-mix(in srgb, var(--hks52) 55%, white); background: color-mix(in srgb, var(--hks52) 14%, white); }
    .station.out { border-color:#f3b7b7; background:#fff7f7; }
    .pick { display:flex; align-items:center; gap:8px; margin:6px 0 0; }
    .pick input { width:auto; margin:0; }

    .topbar { display:flex; gap:10px; }
    .topbar > button,
    .topbar > a { flex:1; }

    /* Segmented toggle (Favoriten / Touren) */
    .seg { display:flex; gap:8px; margin:10px 0 12px; }
    .seg button { width:auto; flex:1; padding:10px 12px; border-radius:12px; border:1px solid rgba(0,165,151,.35); background:#fff; color:#08433f; font-weight:800; cursor:pointer; }
    .seg button.active { background: var(--hks52); border-color: var(--hks52-dark); color:#fff; }
    .seg button:not(.active):hover { background: var(--hks52-soft); }

    /* Desktop: Tabs statt Mobile-Pills */
    @media (min-width: 900px) {
      .seg { gap:0; padding:4px; max-width:560px; border:1px solid rgba(0,0,0,.08); border-radius:14px; background:#fff; }
      .seg button { flex:0; min-width:180px; border:0; border-radius:10px; padding:12px 16px; background:transparent; color:#0b3d3a; }
      .seg button:hover { background:rgba(0,165,151,.08); }
      .seg button.active { background:rgba(0,165,151,.14); color:#08433f; box-shadow: inset 0 -3px 0 var(--hks52); }
    }

    .panel { display:none; }
    .panel.active { display:block; }

    /* Mobile */
    @media (max-width: 900px) {
      .wrap { display:block; height:auto; }
      .side { width:auto; border-right:none; border-bottom:1px solid var(--border); }
      #map { width:100%; height:50vh; min-height:320px; }
      .topbar { flex-direction:column; }
      .row { flex-direction:column; }
    }

    @media print {
      #map { display:none; }
      button, input, textarea { display:none; }
      .wrap { height:auto; }
    }

    /* PDF-Export nutzt dieselbe "Druckansicht" auch am Screen */
    body.print-capture #map { display:none; }
    body.print-capture button,
    body.print-capture input,
    body.print-capture textarea {
      display:none;
    }
    body.print-capture .wrap { height:auto; }

	    /* Busy overlay (deutlichere Anzeige während Suche/Details) */
	    #busyOverlay{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(255,255,255,.72); z-index:9999; }
	    #busyOverlay .box{ background:#fff; border:1px solid var(--border); border-radius:16px; padding:16px 18px; box-shadow:0 10px 30px rgba(0,0,0,.08); width:min(520px, calc(100vw - 40px)); }
	    #busyOverlay .row{ display:flex; gap:12px; align-items:center; }
	    #busyOverlay .spinner{ width:22px; height:22px; border-radius:999px; border:3px solid #ddd; border-top-color: var(--hks52); animation: spin 0.9s linear infinite; flex:0 0 auto; }
	    #busyOverlay .msg{ font-weight:700; }
	    #busyOverlay .hint{ margin-top:6px; }
	    @keyframes spin{ to{ transform: rotate(360deg);} }

	    /* Marker -> Liste Highlight */
	    .station.flash{ outline:3px solid color-mix(in srgb, var(--hks52) 55%, white); outline-offset:2px; animation: flash 1.2s ease-in-out 1; }
	    @keyframes flash{ 0%{ transform: scale(1); } 40%{ transform: scale(1.01);} 100%{ transform: scale(1);} }

    /*
      html2canvas kann je nach Browser Probleme mit CSS Color Module 4 (z.B. color-mix(), color()).
      Für den PDF-Capture erzwingen wir deshalb einfache sRGB-Farben.
    */
    body.print-capture .badge.in {
      background:#e6f6f4;
      border:1px solid #66cfc5;
    }
    body.print-capture .station.in {
      border-color:#66cfc5;
      background:#e1f5f3;
    }
  
    .hide-known .station.in { display: none !important; }

    /* Start/Standort: Eingabe + Standort-Button */
    .inputWithBtn{ display:flex; gap:8px; align-items:stretch; }
    .inputWithBtn > input{ flex:1; margin:6px 0 10px; }
    .inputWithBtn > button{
      width:44px;
      min-width:44px;
      max-width:44px;
      height:42px;
      padding:0;
      margin:6px 0 10px;
      border:1px solid var(--coro-input-border,var(--border));
      border-radius:var(--coro-radius-button,12px);
      background:var(--coro-button-secondary-bg,#FFFFFF);
      color:var(--coro-button-secondary-text,#08433F);
      box-shadow:var(--coro-shadow-card,0 6px 18px rgba(0,0,0,.05));
      font-family:var(--coro-button-font-family,var(--coro-font-family,inherit));
      font-weight:900;
      cursor:pointer;
    }
    .inputWithBtn > button:hover{
      background:var(--coro-button-secondary-hover-bg,var(--coro-primary-soft,#E6F6F4));
      color:var(--coro-button-secondary-hover-text,var(--coro-button-secondary-text,#08433F));
      border-color:var(--coro-button-secondary-hover-border,var(--coro-primary,#00A597));
    }
    .inputWithBtn > button:disabled{ opacity:.6; cursor:default; }

    /* Erweiterte Einstellungen (Details) */
    details.advanced{margin-top:10px;border:1px solid var(--border);border-radius:12px;padding:8px 10px;background:#fafafa;}
    details.advanced > summary{cursor:pointer;user-select:none;font-weight:600;list-style:none;}
    details.advanced > summary::-webkit-details-marker{display:none;}
    .advanced-grid{display:grid;grid-template-columns:180px 1fr;gap:10px 12px;align-items:center;margin-top:10px;}
    @media (max-width:700px){.advanced-grid{grid-template-columns:1fr;}}
	
	/* Container für die Preset-Checkboxen: 2 Spalten */
  .presetGrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 14px;
    align-items: start;
  }

  /* einzelne Preset-Zeilen etwas kompakter */
  .presetGrid .pick {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
  }

  /* ShowQuery soll über beide Spalten laufen */
  .presetGrid .pick.fullRow {
    grid-column: 1 / -1;
    margin-top: 10px;
  }

  /* Suchfeld ebenfalls volle Breite */
  #query {
    width: 100%;
    box-sizing: border-box;
    margin-top: 8px;
  }
	

    /* Brand header */
    .coro-header{
      padding: 12px 6px 22px;
      margin-bottom: 10px;
      border-bottom: 1px solid var(--border);
    }
    .coro-header img{
      max-width: 100%;
      height: auto;
      display: block;
    }

    button{
      background: var(--hks52);
      color:#fff;
      border:none;
      border-radius:12px;
      font-weight:600;
    }
    button:hover{ background:var(--hks52-dark); }

    .station{
      border-radius:14px;
      box-shadow:0 4px 14px rgba(0,0,0,.05);
    }
    .station.in{
      background:var(--hks52-soft);
      border-color:var(--hks52);
    }



/* Export/Modus Menüs (oben in der Sidebar) */
.menusRow{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:6px 0 10px;
  flex-wrap:wrap;
}

/* Schnellwahl oben: Kundenakten / Einträge */
.topQuickLink{
  flex:1;
  min-width: 150px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(0, 165, 151, 0.45);
  background:#fff;
  text-decoration:none;
  color:#08433f;
  font-weight:800;
}
.topQuickLink:hover{ background: var(--hks52-soft); }

.userBadge{
  display:none;
  white-space:nowrap;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  font-weight:700;
  font-size:13px;
  max-width: 200px;
  overflow:hidden;
  text-overflow: ellipsis;
}

.topMenu{
  position:relative;
}

.topMenu > summary{
  list-style:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 10px;
  border-radius:12px;
  background: var(--hks52-soft);
  border: 1px solid rgba(0, 165, 151, 0.45);
  color: #08433f;
  user-select:none;
}


.topMenu > summary::-webkit-details-marker{ display:none; }


.topMenu > summary:hover{
  background: rgba(0, 165, 151, 0.14);
  border-color: rgba(0, 165, 151, 0.65);
}

.topMenu > summary:focus{
  outline: 2px solid rgba(0, 165, 151, 0.35);
  outline-offset: 2px;
}
.topMenu > summary::after{
  content:"▾";
  font-size:0.9em;
  opacity:.85;
  transition: transform 120ms ease;
}

.topMenu[open] > summary::after{ transform: rotate(180deg); }

.menuPanel{
  position:absolute;
  left:0;
  top:calc(100% + 8px);
  min-width:240px;
  padding:10px;
  border-radius:14px;
  background: #ffffff;
  color: #0a1014;
  border: 1px solid rgba(0, 165, 151, 0.35);
  box-shadow: 0 16px 40px rgba(0,0,0,0.18);
  z-index: 2000;
}


.menuPanel a{
  display:block;
  padding:8px 8px;
  border-radius:10px;
  text-decoration:none;
  color: #0a1014;
}


.menuPanel a:hover{
  background: var(--hks52-soft);
}


.exportMetaRow{
  font-size:12px;
  opacity:.85;
  padding:6px 8px;
  border-bottom:1px solid rgba(0, 165, 151, 0.25);
  margin-bottom:8px;
  display:flex;
  gap:6px;
  align-items:center;
}


.exportMetaLabel{ white-space:nowrap; }

    /* Touren-Seite: Zusatzaktionen */
    .coroRowActions{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:8px; }
    .coroRowActions .spacer{ flex:1; }
    .coroRowActions .badge{ cursor:pointer; user-select:none; }
    .coroRowActions button{ width:auto; }
    /* etwas kompakter in Verwaltung */
    .station h4{ margin-top:0; }
  

/* --- Layout overrides: stack header + tabs + cards (no table/grid columns) --- */
.touren-page, .page, .container, .touren-layout, .wrap, .content { 
  display: block !important;
  width: 100%;
  max-width: 100%;
}
.page-wrap{
  max-width: 1200px;
  margin: 0 auto;
  padding: 12px;
}
.touren-header{
  display:block;
  margin-bottom: 8px;
}
.touren-tabs{
  display:flex !important;
  align-items:center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 10px 0 14px;
}
.touren-tabs .tab-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.03);
  font-weight: 800;
  line-height: 1;
  user-select:none;
}
.touren-tabs .tab-btn[aria-selected="true"], .touren-tabs .tab-btn.active{
  background: rgba(0,165,151,.14);
  border-color: rgba(0,165,151,.35);
  color: #08433f;
  box-shadow: 0 1px 0 rgba(0,0,0,.05);
}
.touren-tabs .tab-btn[aria-selected="false"]{
  color:#0b2f2d;
  opacity:.9;
}
.touren-tabs .tab-btn:focus{
  outline: 2px solid rgba(0,165,151,.35);
  outline-offset: 2px;
}
.touren-content{
  display:block !important;
  width:100%;
}
.touren-list{
  display:block !important; /* cards flow naturally */
  width:100%;
}
/* Ensure station cards are full-width list items */
.touren-list .station, .touren-list .poiCard, .touren-list .poi-card{
  width:100%;
  margin: 10px 0;
}
@media (min-width: 900px){
  .page-wrap{ padding: 18px 18px 26px; }
  .touren-tabs{ margin-top: 12px; }
}
/* --- End overrides --- */



  /* Ensure management lists render as full-width cards like search results */
  .touren-list .station{ width:100%; }
  .touren-list{ display:block !important; }
  .touren-list > .station{ margin: 10px 0; }

/* <<< END merged: touren.css <<< */


/* >>> BEGIN merged: consolidation utilities >>> */
.coro-inline-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#routeFilterBar{margin:8px 0 12px;padding:0;border:1px solid rgba(0,0,0,.10);border-radius:12px;display:none}
.coro-ud{display:flex;flex-direction:column;align-items:flex-end;gap:6px;width:100%}
.coro-ud .badgeRow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.coro-ud .coro-tour-memberships{justify-content:flex-end}
.coro-fav-btn-mini{width:22px;height:22px;padding:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:22px}
.coro-tour-select-mini,.coro-ud-link-mini{padding:6px 10px;border-radius:999px}
.coro-um-panel-anchor{position:relative}
.coro-um-badge{display:inline-flex;align-items:center;gap:8px;background:var(--coro-user-menu-bg,#00a597)!important;border:1px solid var(--coro-user-menu-border,rgba(0,0,0,.12))!important;border-radius:12px!important;padding:8px 10px!important;color:var(--coro-user-menu-text,#ffffff)!important}
.coro-um-panel-float{position:absolute;right:0;bottom:calc(100% + 8px);top:auto}
button,[type="button"],[type="submit"],[role="button"],summary,.tabBtn,.badge,.chip,.quicklink,.pager a,.pager button,.gm-style button,.gm-style [role="button"]{cursor:pointer}
/* <<< END merged: consolidation utilities <<< */


/* >>> BEGIN merged: setup-first-admin >>> */
.coro-setup-page{max-width:720px;margin:32px auto;padding:0 16px}
.coro-setup-card{border:1px solid #ddd;border-radius:12px;padding:16px 16px 8px}
.coro-setup-label{display:block;margin:10px 0 4px;font-weight:600}
.coro-setup-input{width:100%;padding:10px;border:1px solid #ccc;border-radius:10px;font-size:16px}
.coro-setup-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.coro-setup-btn{margin-top:14px}
.coro-setup-msg{margin:12px 0;padding:10px;border-radius:10px}
.coro-setup-err{background:#fff3f3;border:1px solid #f3b4b4}
.coro-setup-ok{background:#f2fff9;border:1px solid #9fe2c8}
.coro-setup-hint{color:#555;font-size:14px;margin-top:10px}
.coro-setup-code{background:#f6f6f6;padding:2px 6px;border-radius:6px}
@media (max-width:700px){.coro-setup-row{grid-template-columns:1fr}}
/* <<< END merged: setup-first-admin <<< */


/* >>> BEGIN hotfix: kundenakte page isolation <<< */
body.kundenakte-page .container{padding:12px;}
body.kundenakte-page .grid{display:grid;grid-template-columns:minmax(260px,24vw) 1fr;gap:12px;align-items:start;}
body.kundenakte-page .panel{display:block;margin-top:0;border:1px solid var(--border,#dfeeee);border-radius:14px;padding:12px;background:#fff;overflow:auto;max-height:calc(100vh - 110px);}
body.kundenakte-page #rightPanel{display:block;}
body.kundenakte-page .split{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:10px;align-items:start;}
body.kundenakte-page .split > *{min-width:0;}
body.kundenakte-page #detailTop{min-width:0;padding-right:28px;box-sizing:border-box;}
body.kundenakte-page #customerMap{width:100%;height:260px;min-width:0;border-radius:14px;border:1px solid var(--border,#dfeeee);background:#f3f6f7;}
body.kundenakte-page .tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-bottom:1px solid rgba(0,165,151,.25);padding-bottom:8px;margin:10px 0 12px;}
body.kundenakte-page .picker{display:flex;gap:8px;align-items:center;margin-left:auto;}
body.kundenakte-page .picker select,
body.kundenakte-page .picker input{width:auto;margin:0;padding:8px 10px;border-radius:999px;}
body.kundenakte-page #mobileBackBtn{margin-left:auto;}
@media (max-width:1180px){body.kundenakte-page .split{grid-template-columns:1fr;}body.kundenakte-page #customerMap{min-height:260px;}}
@media (max-width:900px){body.kundenakte-page .grid{grid-template-columns:1fr;}body.kundenakte-page .panel{max-height:none;}body.kundenakte-page #rightPanel{position:fixed;inset:0;background:#fff;z-index:3000;transform:translateX(100%);transition:transform 160ms ease;border-radius:0;border:none;padding:12px 12px 18px;}body.kundenakte-page.detail-open #rightPanel{transform:translateX(0);}body.kundenakte-page.detail-open #leftPanel{display:none;}body.kundenakte-page #mobileBackBtn{display:inline-flex !important;}body.kundenakte-page .split{grid-template-columns:1fr;}}
/* <<< END hotfix: kundenakte page isolation <<< */


/* >>> admin theme editor hotfix (scoped against merged global collisions) >>> */
body.admin-theme-page .shell{max-width:1340px;margin:0 auto;padding:16px;}
body.admin-theme-page .layout{display:grid;grid-template-columns:420px minmax(0,1fr);gap:16px;align-items:start;}
body.admin-theme-page .panel{display:block;border:1px solid var(--coro-border,#DFEEEE);border-radius:var(--coro-radius-card,14px);padding:16px;background:var(--coro-card,#fff);box-shadow:var(--coro-shadow-card,0 6px 18px rgba(0,0,0,.05));overflow:visible;max-height:none;margin-top:0;}
body.admin-theme-page .group{display:block;border-top:1px solid var(--coro-border,#DFEEEE);padding-top:12px;margin-top:12px;}
body.admin-theme-page .field{display:grid;grid-template-columns:1fr 112px 112px;gap:10px;align-items:center;margin:10px 0;}
body.admin-theme-page .field.compact{grid-template-columns:1fr minmax(120px,1fr) 78px;}
body.admin-theme-page .field label{display:block;margin:0;font-weight:800;}
body.admin-theme-page input[type=text],
body.admin-theme-page input[type=number],
body.admin-theme-page input[type=color],
body.admin-theme-page select{width:100%;height:42px;padding:0 12px;border:1px solid var(--coro-input-border,#8CCFC8);border-radius:var(--coro-radius-input,14px);background:var(--coro-input-bg,#fff);color:var(--coro-text,#12312E);font:inherit;}
body.admin-theme-page input[type=color]{padding:4px;min-width:112px;}
body.admin-theme-page input[type=range]{width:100%;}
body.admin-theme-page .btnrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
body.admin-theme-page .preview-shell{display:grid;gap:16px;}
body.admin-theme-page .preview-page{display:block;}
body.admin-theme-page .status{display:block;margin-top:10px;font-size:.9em;color:var(--coro-text-muted,#536865);}
@media (max-width:1050px){body.admin-theme-page .layout{grid-template-columns:1fr;}}
@media (max-width:640px){
  body.admin-theme-page .shell{padding:12px;}
  body.admin-theme-page .layout{gap:12px;}
  body.admin-theme-page .panel{padding:12px;}
  body.admin-theme-page .field,
  body.admin-theme-page .field.compact{grid-template-columns:1fr;}
  body.admin-theme-page .preview-shell{order:2;}
}
/* <<< admin theme editor hotfix <<< */

/* manual poi save page */
.manual-poi-page{
  background:#f3f6f7;
  color:#142220;
}
.manual-poi-page .manual-poi-head{
  background:var(--hks52,#00a597);
  color:#fff;
  padding:12px 14px 14px;
}
.manual-poi-page .manual-poi-head h1{
  margin:0;
  font-size:20px;
  line-height:1.2;
}
.manual-poi-page .manual-poi-sub{
  margin-top:6px;
  font-size:13px;
  opacity:.92;
  max-width:900px;
}
.manual-poi-page .manual-poi-head-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}
.manual-poi-page .manual-poi-head-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-radius:12px;
  text-decoration:none;
  font-weight:800;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.14);
  color:#fff;
}
.manual-poi-page .manual-poi-wrap{
  max-width:1240px;
  margin:0 auto;
  padding:14px;
}
.manual-poi-page .manual-poi-grid{
  display:grid;
  grid-template-columns:minmax(340px,440px) minmax(0,1fr);
  gap:14px;
  align-items:start;
}
.manual-poi-page .manual-poi-panel{
  background:#fff;
  border:1px solid var(--border, #dfeeee);
  border-radius:16px;
  padding:14px;
  box-shadow:0 8px 22px rgba(0,0,0,.06);
}
.manual-poi-page .manual-poi-panel h2,
.manual-poi-page .manual-poi-panel h3{
  margin:0 0 10px;
}
.manual-poi-page .manual-poi-hint,
.manual-poi-page .manual-poi-status,
.manual-poi-page .manual-poi-results .meta,
.manual-poi-page .manual-poi-empty{
  font-size:13px;
  line-height:1.45;
  color:#49615d;
}
.manual-poi-page #map{
  height:72vh;
  min-height:440px;
  border-radius:12px;
  background:#e9eeee;
}
.manual-poi-page label{
  display:block;
  font-weight:700;
  margin-top:10px;
}
.manual-poi-page input,
.manual-poi-page button{
  width:100%;
  box-sizing:border-box;
}
.manual-poi-page input{
  padding:11px 12px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:12px;
  background:#fff;
}
.manual-poi-page .manual-poi-actions,
.manual-poi-page .mini-actions{
  display:flex;
  gap:10px;
  margin-top:12px;
}
.manual-poi-page button{
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.14);
  cursor:pointer;
  font-weight:800;
}
.manual-poi-page button:disabled{
  opacity:.55;
  cursor:wait;
}
.manual-poi-page .manual-poi-status{
  min-height:20px;
  margin-top:10px;
}
.manual-poi-page .manual-poi-status.ok{ color:#0a7c44; }
.manual-poi-page .manual-poi-status.err{ color:#b42318; }
.manual-poi-page .manual-poi-results{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:12px;
}
.manual-poi-page .card{
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
  padding:12px;
  background:#fff;
}
.manual-poi-page .card.active{
  border-color:var(--hks52,#00a597);
  box-shadow:0 0 0 2px rgba(0,165,151,.12);
}
.manual-poi-page .card h4{ margin:0 0 6px; }
.manual-poi-page .badge{
  display:inline-block;
  padding:4px 8px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  background:#eef7f6;
  color:#0b4a44;
  margin:0 6px 6px 0;
  border:1px solid rgba(0,0,0,.06);
}
.manual-poi-page .badge.match{ background:#e6f6f4; color:#08433f; border-color:rgba(0,165,151,.45); }
.manual-poi-page .badge.exists{ background:#eef6ff; color:#134074; border-color:#b8d8ff; }
.manual-poi-page .badge.none{ background:#fff4e8; color:#7a3d08; border-color:#f5d4b2; }
.manual-poi-page .mini-actions button,
.manual-poi-page .mini-actions a{
  flex:1;
  text-align:center;
  text-decoration:none;
}
.manual-poi-page .detail{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:6px 12px;
  font-size:14px;
  line-height:1.45;
  margin-top:10px;
}
.manual-poi-page .detail div:nth-child(odd){
  font-weight:700;
  color:#294542;
}
.manual-poi-page .manual-poi-empty{
  padding:16px;
  border:1px dashed rgba(0,0,0,.18);
  border-radius:12px;
  background:#fafcfc;
}
.manual-poi-page .manual-poi-selection-box{ margin-top:12px; }
@media (max-width: 980px){
  .manual-poi-page .manual-poi-grid{ grid-template-columns:1fr; }
  .manual-poi-page #map{ height:44vh; min-height:320px; }
}


/* >>> BEGIN viewport utilization overrides (dev61) >>> */
:root{
  --coro-page-pad: clamp(12px, 2.2vw, 24px);
}

body.coro-main-theme{
  width:100%;
  max-width:none;
  overflow-x:hidden;
}

body.coro-main-theme > .wrap:not(.coro-login-box):not(.coro-setup-page),
body.coro-main-theme > .container:not(.coro-maxw-520):not(.coro-login-box):not(.coro-setup-page),
body.coro-main-theme > .shell,
body.coro-main-theme > .page-wrap,
body.coro-main-theme .manual-poi-wrap{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding-left:var(--coro-page-pad) !important;
  padding-right:var(--coro-page-pad) !important;
  box-sizing:border-box;
}

body.coro-main-theme > .wrap:not(.coro-login-box):not(.coro-setup-page),
body.coro-main-theme > .container:not(.coro-maxw-520):not(.coro-login-box):not(.coro-setup-page),
body.coro-main-theme > .shell,
body.coro-main-theme > .page-wrap{
  padding-top:14px;
  padding-bottom:14px;
}

body.coro-main-theme .wrap,
body.coro-main-theme .container,
body.coro-main-theme .shell,
body.coro-main-theme .page-wrap,
body.coro-main-theme .content,
body.coro-main-theme .page,
body.coro-main-theme .manual-poi-wrap{
  max-width:none;
}

body.coro-main-theme .card,
body.coro-main-theme .panel,
body.coro-main-theme .station,
body.coro-main-theme .poiCard,
body.coro-main-theme .poi-card,
body.coro-main-theme .coro-poi-card{
  max-width:none;
}

body.coro-main-theme .grid,
body.coro-main-theme .split,
body.coro-main-theme .filters,
body.coro-main-theme .advanced-grid,
body.coro-main-theme .layout,
body.coro-main-theme .tourList{
  width:100%;
}

body.split-map-page > .wrap{
  display:grid !important;
  grid-template-columns:minmax(380px, 42vw) minmax(0, 1fr) !important;
  align-items:stretch;
  gap:0;
  min-height:100dvh;
  padding:0 !important;
}

body.split-map-page > .wrap > .side{
  width:auto !important;
  max-width:none !important;
  min-width:0;
  height:100dvh;
  overflow:auto;
  padding:var(--coro-page-pad) !important;
  box-sizing:border-box;
}

body.split-map-page > .wrap > #map{
  width:100% !important;
  min-width:0 !important;
  min-height:100dvh !important;
  height:100dvh !important;
}

body.split-map-page .row.two{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  align-items:start;
  gap:10px;
}

body.split-map-page .row.two > div,
body.split-map-page .row > div,
body.split-map-page .inputWithBtn,
body.split-map-page #destinationWrap{
  min-width:0;
}

body.split-map-page .inputWithBtn{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:8px;
}

body.split-map-page .inputWithBtn > input,
body.split-map-page .inputWithBtn > button{
  margin-bottom:0;
}

body.admin-theme-page > .shell,
body.manual-poi-page .manual-poi-wrap,
body.kundenakte-page > .container,
body.coro-main-theme > .wrap,
body.coro-main-theme > .container,
body.coro-main-theme > .shell,
body.coro-main-theme > .page-wrap{
  width:100%;
}

body.kundenakte-page > .container,
body.coro-main-theme > .wrap:not(.coro-login-box):not(.coro-setup-page),
body.coro-main-theme > .container:not(.coro-maxw-520):not(.coro-login-box):not(.coro-setup-page),
body.coro-main-theme > .shell,
body.coro-main-theme > .page-wrap{
  margin-left:0 !important;
  margin-right:0 !important;
}

body.admin-theme-page .shell,
.manual-poi-page .manual-poi-wrap,
body.kundenakte-page .container,
body.coro-main-theme .wrap,
body.coro-main-theme .container,
body.coro-main-theme .shell,
body.coro-main-theme .page-wrap,
body.coro-main-theme .content,
body.coro-main-theme .page{
  box-sizing:border-box;
}


@media (min-width: 1500px){
  body.split-map-page > .wrap{
    grid-template-columns:minmax(260px, 20vw) minmax(0, 1fr) !important;
  }
  body.kundenakte-page .grid{
    grid-template-columns:minmax(260px,20vw) 1fr;
  }
}

@media (max-width: 980px){
  body.split-map-page > .wrap{
    display:block !important;
    min-height:0;
  }
  body.split-map-page > .wrap > .side{
    height:auto;
    overflow:visible;
  }
  body.split-map-page > .wrap > #map{
    height:52svh !important;
    min-height:360px !important;
  }
  body.split-map-page .row.two{
    grid-template-columns:1fr !important;
  }
}
/* <<< END viewport utilization overrides (dev61) <<< */


/* >>> BEGIN dev63 alignment + width fixes >>> */
body.split-map-page .row.two{
  align-items:end;
}
body.split-map-page .row.two > div{
  display:flex;
  flex-direction:column;
  align-self:stretch;
}
body.split-map-page .row.two > div > label{
  margin-top:0;
}
body.split-map-page .row.two > div > input,
body.split-map-page .row.two > div > .inputWithBtn,
body.split-map-page .row.two > div > select,
body.split-map-page .row.two > div > textarea{
  margin-top:6px;
}
body.split-map-page .inputWithBtn{
  grid-template-columns:minmax(0,1fr) 44px;
  align-items:stretch;
}
body.split-map-page .inputWithBtn > input,
body.split-map-page #destinationWrap > input,
body.split-map-page .inputWithBtn > button{
  height:42px;
}
body.split-map-page #destinationWrap > input{
  margin-bottom:0;
}

body.coro-main-theme .page-wrap,
body.coro-main-theme .touren-page,
body.coro-main-theme .touren-layout,
body.coro-main-theme .touren-content,
body.coro-main-theme .touren-list,
body.coro-main-theme .content{
  width:100% !important;
  max-width:none !important;
}
body.coro-main-theme .page-wrap{
  padding-left:var(--coro-page-pad) !important;
  padding-right:var(--coro-page-pad) !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box;
}
body.coro-main-theme .page-wrap > .wrap{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
body.coro-main-theme .page-wrap .grid,
body.coro-main-theme .page-wrap .seg,
body.coro-main-theme .page-wrap .panel,
body.coro-main-theme .page-wrap .card,
body.coro-main-theme .page-wrap .list{
  width:100%;
  max-width:none;
}
/* <<< END dev63 alignment + width fixes <<< */

/* Kundenakte Tabs: aktiver Button mit dunkler Schrift für bessere Lesbarkeit */
body.coro-main-theme .tabs .tabBtn.active,
body.coro-main-theme #detailTabs .tabBtn.active,
.tabs .tabBtn.active,
.tabBtn.active{
  background: var(--hks52-soft);
  color: #06312e;
  border-color: var(--hks52);
  box-shadow: inset 0 0 0 1px rgba(0,165,151,.18);
}


/* Start/Ziel Desktop: gleiche Hoehe, ohne Desktop-Breitenlayout zu aendern */
@media (min-width: 981px){
  body.split-map-page .row.two{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    align-items:start !important;
    gap:10px !important;
  }

  body.split-map-page .row.two > div,
  body.split-map-page #destinationWrap{
    display:grid !important;
    grid-template-rows:auto 42px !important;
    align-content:start !important;
    align-self:start !important;
    min-width:0 !important;
  }

  body.split-map-page .row.two > div > label,
  body.split-map-page #destinationWrap > label{
    margin:0 0 6px 0 !important;
    min-height:18px !important;
    line-height:18px !important;
    display:block !important;
  }

  body.split-map-page .row.two > div > input,
  body.split-map-page .row.two > div > select,
  body.split-map-page .row.two > div > textarea,
  body.split-map-page #destinationWrap > input{
    margin:0 !important;
    height:42px !important;
    min-height:42px !important;
    align-self:start !important;
    box-sizing:border-box !important;
    width:100% !important;
  }

  body.split-map-page .inputWithBtn{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 44px !important;
    align-items:stretch !important;
    gap:8px !important;
    margin:0 !important;
    height:42px !important;
    min-height:42px !important;
  }

  body.split-map-page .inputWithBtn > input,
  body.split-map-page .inputWithBtn > button{
    margin:0 !important;
    height:42px !important;
    min-height:42px !important;
    box-sizing:border-box !important;
  }
}

