/* Apotour: Nähe in Bewegung. Approved Lipptor Bordeaux design, incremental app skin. */
:root {
  --brand:#8a1253; --brand-deep:#5e0c38; --brand-tint:#f7ecf2;
  --ink:#3a2231; --ink-soft:#000; --text:#3a2231; --muted:#000;
  --bg:#e9ede8; --surface:#fff; --panel:#fff; --line:#d7ded8; --border:#d1d9d2;
  --accent:#dcec9a; --rd-sidebar-width:232px;
  --mint:#e4f2e9; --font-ui:'Manrope',system-ui,sans-serif;
  --font-title:32px; --font-section:24px; --font-subsection:20px;
  --font-body:16px; --font-compact:15px; --font-label:14px; --font-small:13px; --font-meta:12px;
  --radius-card:20px; --radius-control:12px; --space-panel:24px;
  --shadow-card:0 8px 24px rgba(40,58,48,.08);
  --shadow-action:0 4px 12px rgba(94,12,56,.18);
}
* {box-sizing:border-box}
html {
  min-height:100%;
  background-color:#f8f9f6;
  background-image:url('./assets/route-city.png');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  background-attachment:fixed;
}
body {
  background:transparent!important;
  color:var(--ink);font-family:var(--font-ui);font-size:var(--font-body);line-height:1.5;
}
body::before,body::after {display:none!important}
@media(max-width:900px){
  html {background-attachment:scroll;background-size:auto 100vh;background-position:center top}
}
@media print{
  html,body {background:#fff!important}
}
body h1,body h2,body h3,body h4,button,input,select,textarea {font-family:var(--font-ui)!important}
button,input,select,textarea {font-size:var(--font-compact)}
button {touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible {outline:3px solid var(--brand)!important;outline-offset:4px}
[hidden] {display:none!important}
.rd-skip {position:fixed;z-index:9999;top:8px;left:250px;transform:translateY(-180%);background:#fff;color:var(--brand);padding:12px 22px;border-radius:10px}
.rd-skip:focus {transform:none}
.rd-sidebar {position:fixed;inset:0 auto 0 0;width:var(--rd-sidebar-width);z-index:45;display:flex;flex-direction:column;padding:22px 14px 20px;background:linear-gradient(165deg,#710d43,var(--brand-deep));color:#fff;overflow-y:auto}
.rd-brand {display:block;padding:0 7px;margin:0 0 13px;height:67px}
.rd-brand img {display:block;width:100%;height:100%;object-fit:contain;filter:none}
.rd-pharmacy {padding:0 16px 28px;display:grid;gap:3px}
.rd-pharmacy strong {font-size:17px;line-height:1.35;font-weight:650}
.rd-pharmacy span {font-size:var(--font-meta);color:#ead2df}
.rd-nav {display:grid;gap:7px;position:relative;z-index:1}
.rd-nav button,.rd-sidebar-bottom button {display:flex;align-items:center;gap:15px;min-height:54px;padding:12px 17px;border:0;border-radius:11px;background:transparent;color:#fff;text-align:left;font-weight:500;font-size:var(--font-label);cursor:pointer;position:relative}
.rd-nav button[aria-current] {background:rgba(255,255,255,.14);font-weight:750}
.rd-nav button[aria-current]::before {content:'';position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:var(--accent)}
.rd-nav button[aria-current] .material-symbols-outlined {color:var(--accent)}
.rd-nav button:hover,.rd-sidebar-bottom button:hover {background:rgba(255,255,255,.1)}
.rd-sidebar :focus-visible {outline-color:var(--accent)!important}
.rd-sidebar {overflow-x:hidden}
.rd-menu-toggle,.rd-menu-close {display:none!important}
.rd-sidebar .material-symbols-outlined {font-size:23px}
.rd-brand-route {width:240px;position:absolute;left:0;bottom:145px;pointer-events:none;opacity:.7}
.rd-sidebar-bottom {margin-top:auto;position:relative;z-index:1;padding-top:18px;border-top:1px solid #ffffff35}
#rdUserName {display:block;padding:10px 17px 0;font-size:var(--font-meta);color:#e6ccd9}
.auth-pending .rd-sidebar,.auth-required .rd-sidebar {display:none}
.rd-nav [data-redesign-view="delivery"] {display:none}
.role-courier .rd-nav [data-redesign-view="delivery"] {display:flex}
.role-courier .rd-nav [data-redesign-view="home"],.role-courier .rd-nav [data-redesign-view="plan"],.role-courier .rd-nav [data-redesign-view="network"],.role-courier .rd-nav [data-redesign-view="running"],.role-courier .rd-sidebar-bottom [data-redesign-view="admin"] {display:none}
body {margin-left:var(--rd-sidebar-width)!important;width:calc(100% - var(--rd-sidebar-width))!important;max-width:none!important;padding:24px 32px 32px!important;min-height:100vh}
.app-header {border:0!important;box-shadow:none!important;background:transparent!important;padding:0 0 22px!important;min-height:58px;margin:0!important;border-radius:0!important;align-items:center}
.app-wordmark {width:170px;max-width:170px;line-height:0!important}
.app-wordmark img {width:100%;height:auto;max-height:58px;display:block;object-fit:contain}
.brand-lockup {display:flex!important;align-items:center;gap:8px;max-width:220px;font-size:var(--font-meta)}
.app-header .tenant-brand-name {width:auto!important;height:auto!important;clip:auto!important;clip-path:none!important;position:static!important;overflow:visible!important;font-size:var(--font-meta)!important;white-space:normal!important}
.app-header .brand-lockup {width:330px;max-width:330px;min-width:0}
@media(min-width:901px) {.app-header .brand-lockup {display:none!important}}
.app-header .tenant-logo {max-width:200px;max-height:78px;width:auto;height:auto;object-fit:contain}
.app-header.has-tenant-logo .app-wordmark {display:none!important}
.workspace {width:100%!important;max-width:none!important;margin:0!important;gap:24px!important;padding:0!important;align-items:start}
.panel,.import-card,.import-side>.panel {border:1px solid var(--line);border-radius:20px;background:#fff}
div[aria-label="rd-dashboard-grid"] {box-shadow:0 8px 24px rgba(40,58,48,.08)}
.view-panel {min-width:0}
.view-panel h2 {font-size:clamp(22px,2vw,30px);font-weight:750;letter-spacing:-.7px;color:var(--ink)}
.view-panel h3 {font-weight:750;color:var(--ink)}
/* Planning type hierarchy: headings, labels, values, then hints. */
#mainContent .planner-panel .summary-heading h2,
#mainContent .stops-panel .panel-header h2 {font-size:24px;font-weight:800;line-height:1.3;letter-spacing:-.6px}
#mainContent .planner-panel .planner-kicker {font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--brand)}
#mainContent .planner-panel .group-label {font-size:var(--font-meta);font-weight:800;letter-spacing:.08em;color:var(--brand-deep)}
#mainContent .planner-panel .field-stack label,
#mainContent .stops-panel .stops-tools label {font-size:var(--font-small);font-weight:800;line-height:1.4;color:var(--ink);gap:8px}
#mainContent .planner-panel .field-stack input,
#mainContent .planner-panel .field-stack select,
#mainContent .planner-panel .start-point-menu-btn,
#mainContent .stops-panel .stops-tools .apotour-combobox-trigger {font-size:var(--font-label);font-weight:500;line-height:1.45;color:var(--ink)}
#mainContent .planner-panel input::placeholder {font-size:var(--font-small);font-weight:400;color:#70646d;opacity:1;letter-spacing:0}
#mainContent .planner-panel button {font-size:var(--font-label);line-height:1.4;font-weight:700}
#mainContent .planner-panel #saveStartPointBtn,
#mainContent .planner-panel #printRouteBtn {font-size:var(--font-small);font-weight:600}
#mainContent .planner-panel #optimizeBtn {font-size:var(--font-label);font-weight:800}
#mainContent .planner-panel .tour-summary-metrics,
#mainContent .planner-panel .optimize-hint {font-size:var(--font-small);font-weight:500;line-height:1.5;color:var(--muted)}
@media(max-width:600px) {
  #mainContent .planner-panel .field-stack input,
  #mainContent .planner-panel .field-stack select {font-size:var(--font-body)}
  #mainContent .planner-panel .summary-heading h2 {font-size:22px}
}
#mainContent .stops-panel .panel-header {min-width:0;overflow:visible;container-type:inline-size}
#mainContent .stops-panel .stops-tools {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;align-items:end;justify-items:stretch;gap:12px;width:100%;min-width:0;margin:0}
#mainContent .stops-panel .stops-tools>label,
#mainContent .stops-panel .stops-tools>button {grid-column:auto;grid-row:auto;min-width:0;width:100%;max-width:100%;margin:0!important}
#mainContent .stops-panel .stops-tools>label {gap:7px}
#mainContent .stops-panel .stops-tools>label>span:first-child {display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#mainContent .stops-panel .stops-tools .apotour-combobox {min-width:0;max-width:100%;width:100%}
#mainContent .stops-panel .stops-tools .apotour-combobox-trigger {display:block;min-width:0;width:100%;min-height:44px;overflow:hidden;text-overflow:ellipsis;background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%,0 0}
#mainContent .stops-panel .stops-tools>button {min-height:44px}
#mainContent .stops-panel .stops-tools #clearBtn {border-radius:10px;color:#a1333c;border-color:#d9b8bc;background:#fff}
.rd-clear-dialog {width:min(460px,calc(100vw - 32px));padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 24px 80px #32112230}
.rd-clear-dialog::backdrop {background:#28172166;backdrop-filter:blur(5px)}
.rd-clear-dialog h2 {margin:0 0 12px;font-size:24px;line-height:1.3}
.rd-clear-dialog p {font-size:var(--font-label);line-height:1.6;color:var(--muted);margin:0 0 24px}
.rd-clear-actions {display:flex;justify-content:flex-end;flex-wrap:wrap;gap:16px}
.rd-clear-actions button {font-size:var(--font-label)}
#mainContent .stops-panel .panel-header>#routeNotice {margin:8px 0 0;max-width:none;width:100%;font-size:var(--font-meta);line-height:1.5}
.primary-btn {background:#fff!important;color:var(--brand)!important;border:1px solid var(--brand)!important;box-shadow:none!important;border-radius:12px!important;min-height:48px;font-weight:700;padding:12px 20px}
.primary-btn:hover:not(:disabled) {background:#fff!important;color:var(--brand-deep)!important;border-color:var(--brand-deep)!important}
.ghost-btn {color:var(--ink);border-radius:12px;min-height:44px;border-color:var(--line)}
input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),select,textarea {border-radius:10px;border-color:#000;background:#fff;color:var(--ink);min-height:46px}
.home-panel {border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;display:flex!important;flex-direction:column;gap:0;border-radius:0;margin:0!important}
body:not(.mobile-view-home) .home-panel {display:none!important}
.home-intro {display:flex!important;justify-content:space-between;align-items:center!important;gap:24px;margin:0 0 30px!important;padding:0!important;min-height:86px}
.home-intro h1 {font-size:clamp(30px,3.5vw,54px)!important;font-weight:800!important;letter-spacing:-2.3px!important;line-height:1.12!important;color:var(--ink)!important;margin:0 0 10px!important;max-width:none!important}
.home-intro p {font-size:17px!important;line-height:1.5!important;margin:0;color:var(--muted)}
.home-intro time {font:inherit!important;color:inherit!important;white-space:normal!important}
.home-user-identity {display:none!important}
.rd-new-tour {flex:none;display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:12px 24px;border:0;border-radius:12px;background:var(--brand);color:#fff;font-weight:800;cursor:pointer;font-size:var(--font-body);box-shadow:0 5px 14px #5e0c382b;transition:background .16s ease,box-shadow .16s ease}
.rd-new-tour:hover {background:var(--brand-deep);box-shadow:0 7px 18px #5e0c3838}
.rd-new-tour[data-home-action="plan"] {min-height:48px}
.rd-new-tour .material-symbols-outlined {font-size:24px}
.rd-summary {order:1;display:grid;grid-template-columns:1fr 1.4fr 1fr;border:1px solid var(--line);border-radius:14px;min-height:84px;margin-bottom:13px;background:#fff;padding:14px 20px;gap:18px;box-shadow:0 4px 18px #3a22310d,0 1px 3px #3a223108}
.rd-summary>div {display:flex;align-items:center;gap:15px;font-size:var(--font-body);min-width:0}
.rd-summary-action {display:flex;align-items:center;gap:inherit;width:100%;height:100%;min-height:44px;padding:0;border:0;border-radius:10px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.rd-summary-action:hover:not(:disabled) {background:#ffffff80}
.rd-summary-action:focus-visible {outline:2px solid var(--brand);outline-offset:4px}
.rd-summary-action:disabled {opacity:1;cursor:default}
#streetLearningPanel .correction-address-row {display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
#streetLearningPanel .apotour-combobox {min-width:0;max-width:100%}
#streetLearningPanel .apotour-combobox-trigger {min-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rd-correction-dialog {width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 24px 90px #3a223140;overflow:auto}
.rd-correction-dialog::backdrop {background:#3a223166;backdrop-filter:blur(4px)}
.rd-correction-dialog>header {display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.rd-correction-dialog h2 {margin:4px 0 0;font-size:26px;letter-spacing:-.7px}
.rd-correction-dialog #streetLearningPanel {position:static!important;width:100%!important;max-width:none!important;display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:16px;padding:0;border:0;box-shadow:none;animation:none;background:#fff}
.rd-correction-dialog #streetLearningPanel[hidden] {display:none}
.rd-correction-dialog #streetLearningPanel>label:first-child,.rd-correction-dialog .manual-location-block,.rd-correction-dialog #streetCorrectionBtn {grid-column:1/-1}
.rd-correction-dialog #streetLearningPanel .correction-address-row {grid-template-columns:minmax(0,1fr) auto}
.rd-correction-dialog #streetLearningPanel label {display:grid;gap:7px;align-content:start}
.rd-correction-dialog #streetLearningPanel input,.rd-correction-dialog #streetLearningPanel .apotour-combobox-trigger {min-height:46px;border-radius:10px}
.rd-correction-dialog .manual-location-block {background:var(--brand-tint);border-radius:12px;padding:14px}
.rd-correction-dialog .manual-location-block p {margin:0 0 12px;font-size:var(--font-meta);line-height:1.6}
#streetCorrectionDialogNotice:empty {display:none}
#streetCorrectionDialogNotice {font-size:var(--font-small);margin:16px 0 0}
@media(max-width:600px){
  .rd-correction-dialog {padding:18px}
  .rd-correction-dialog #streetLearningPanel {grid-template-columns:minmax(0,1fr)}
  .rd-correction-dialog #streetLearningPanel .correction-address-row {grid-template-columns:minmax(0,1fr)}
  .rd-correction-dialog h2 {font-size:22px}
}
.rd-summary strong {font-weight:800}
.rd-summary-icon {display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--brand-tint);color:var(--brand);font-size:25px;flex:none}
.rd-success {background:#e5efdd;color:#36684c}
.rd-attention {background:#fff0e0;color:#a34c16}
.rd-dashboard-grid {order:2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 28px #3a223112,0 2px 5px #3a223108}
.home-active-tours {border:0!important;border-radius:0;background:#fff;min-width:0;padding:24px 16px 18px!important;margin:0!important;display:flex;flex-direction:column}
.home-active-tours-heading {display:flex!important;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:0 4px 20px;margin:0!important}
.home-active-tours-heading h2 {margin:0!important;font-size:26px!important;letter-spacing:-1px}
.rd-filters {display:flex;flex-wrap:wrap;gap:6px}
.rd-filters button {min-height:38px;border:1px solid #ece7e9;background:#fff;color:var(--muted);padding:7px 12px;border-radius:11px;font-size:var(--font-meta);cursor:pointer}
.rd-filters button[aria-pressed="true"] {background:#efd1df;border-color:transparent;color:var(--brand-deep);font-weight:800}
.home-active-tours-list {display:grid!important;gap:0!important;margin:0!important;align-content:start}
.rd-tour {width:100%;display:flex;align-items:flex-start;gap:14px;position:relative;border:1px solid transparent;border-bottom-color:#eee9ec;padding:22px 12px;border-radius:0;background:#fff;color:var(--ink);text-align:left;cursor:pointer;min-height:150px;font:inherit;transition:background .16s ease,border-color .16s ease}
.rd-tour-row {position:relative;min-width:0}
.rd-tour-row:last-child .rd-tour:not(.is-selected) {border-bottom-color:transparent}
.rd-tour-row.has-delete .rd-tour-top {padding-right:30px}
.rd-tour-delete {position:absolute;right:5px;top:8px;width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}
.rd-tour-delete:hover {color:#a22f36;background:#fce9e8}
.rd-tour-delete:focus-visible {outline:2px solid var(--brand);outline-offset:1px}
.rd-tour-delete .material-symbols-outlined {font-size:20px}
.rd-tour.is-selected {background:linear-gradient(100deg,#f7ecf2,#fcf8fa);border-color:#c981a7;border-radius:12px}
.rd-tour:hover:not(.is-selected) {background:#faf7f9}
.rd-avatar {width:50px;height:50px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;font-size:17px;font-weight:750}
.secondary .rd-avatar {background:#2b655c}
.rd-avatar.unassigned {background:#d2cdd0;color:#75656f}
.rd-tour-content {display:block;min-width:0;flex:1}
.rd-tour-top {display:flex;align-items:baseline;justify-content:space-between;gap:8px}
/* Bote + "Status ändern" untereinander (rechtsbündig; Mobile: links). */
.rd-tour-top-right {display:flex;flex-direction:column;align-items:flex-end;min-width:0}
.rd-tour-top strong {font-size:18px;font-weight:800;letter-spacing:-.5px;line-height:1.4}
.rd-courier {font-size:var(--font-meta);color:var(--muted);text-align:right;white-space:nowrap}
/* "Status ändern" unter dem Botennamen — gleiche Schriftgröße (--font-meta). */
.rd-status-chg {display:inline-block;margin-top:2px;padding:0;border:0;background:none;cursor:pointer;font-family:inherit;font-size:var(--font-meta);line-height:1.35;color:var(--brand);text-decoration:underline;text-underline-offset:2px}
.rd-status-chg:hover {color:var(--ink)}
.rd-tour-status {display:flex;align-items:center;gap:7px;margin:5px 0 10px;font-size:var(--font-small);color:var(--brand)}
.secondary .rd-tour-status {color:#2b655c}
.rd-tour-status .material-symbols-outlined {font-size:19px}
.rd-network-label {display:inline-flex;align-items:center;flex:none;font-size:11px;font-weight:800;line-height:1.4;padding:4px 8px;border-radius:6px;background:#0057d9;color:#fff;box-shadow:0 2px 5px #0057d924;white-space:nowrap}
.rd-tour-progress-text {display:block;font-size:var(--font-meta);margin-bottom:8px}
.rd-progress-track {height:7px;background:#dfe0e2;border-radius:9px;display:block;overflow:hidden}
.rd-progress-track i {display:block;height:100%;background:var(--brand);border-radius:9px;transition:width .2s}
.secondary .rd-progress-track i {background:#2b655c}
.rd-question {display:flex;gap:7px;align-items:center;color:#8a390e;margin-top:14px;font-size:var(--font-meta);font-weight:700}
.rd-question .material-symbols-outlined {font-size:19px}

.rd-tour-date {display:block;font-size:10px;color:var(--muted);margin-top:7px}
.rd-update {font-size:11px;color:var(--muted);margin:auto 4px 0;padding-top:20px;min-height:37px}
.rd-map-panel {background:#fff;border:0;border-left:1px solid var(--line);border-radius:0;overflow:hidden;min-width:0;display:flex;flex-direction:column}
.rd-map-panel>header {display:flex;justify-content:space-between;gap:10px;padding:24px 22px 18px;align-items:center;min-height:78px}
.rd-map-panel h2 {margin:0;font-size:22px;letter-spacing:-.7px}
.rd-map-panel>header>span {font-size:11px;color:var(--muted);white-space:nowrap}
.rd-route-map {position:relative;min-height:420px;background:#eef0e5;display:flex;align-items:center;justify-content:center;flex:1;overflow:hidden}
.rd-map-canvas {position:relative;width:100%;aspect-ratio:600/520}
.rd-real-map {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#e9eee4}
.rd-route-image {width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .2s ease}
.rd-route-image.is-loaded {opacity:1}
.rd-map-loading {position:absolute;max-width:280px;text-align:center;padding:20px;color:var(--muted);font-size:var(--font-small)}
.rd-route-break {width:100%;height:100%;min-height:100%;align-content:center;padding:20px 24px 35px;background:#fff}
.rd-route-break img {width:100%;max-width:360px;height:auto;margin-bottom:0}
.rd-route-map:has(.rd-route-break) {background:#fff}
.rd-map-canvas svg {display:block;width:100%;height:100%}
.rd-line-done,.rd-line-open {fill:none;stroke:var(--brand);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.rd-line-open {stroke:#8f7e88;stroke-dasharray:7 5}
.rd-map-marker {position:absolute;transform:translate(-50%,-50%);min-width:32px;height:32px;padding:0 3px;display:grid;place-items:center;border-radius:50%;border:2px solid #a48f9d;background:#fff;color:var(--brand-deep);font-size:var(--font-meta);font-weight:750;cursor:pointer;box-shadow:0 2px 5px #38152916;transition:box-shadow .16s}
.rd-map-marker.done {background:var(--brand);color:#fff;border-color:#fff}
.rd-map-marker.next,.rd-map-marker.selected {border:3px solid var(--brand);min-width:41px;height:41px;font-size:var(--font-body);box-shadow:0 0 0 5px #ffffff8c;z-index:2}
.rd-map-marker:hover {z-index:3;box-shadow:0 0 0 6px #ffffffb3}
.rd-map-north {position:absolute;right:18px;top:16px;border-radius:30px;padding:5px 12px;background:#ffffffdb;font-size:22px;font-weight:800;display:grid;text-align:center;line-height:1.1}
.rd-map-north small {font-size:10px}
.rd-map-caption {position:absolute;bottom:8px;left:12px;right:12px;font-size:10px;color:#59604f;text-align:center;margin:0;background:#ffffffcf;padding:5px 9px;border-radius:6px}
.rd-map-selection {font-size:var(--font-meta);padding:0 20px;min-height:0;color:var(--muted)}
.rd-map-selection:not(:empty) {padding:12px 20px}
.rd-map-panel>footer {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;min-height:86px;font-size:var(--font-small)}
.rd-map-panel>footer .primary-btn {font-size:var(--font-small);display:flex;align-items:center;gap:12px;white-space:nowrap}
.rd-map-panel>footer .primary-btn {background:var(--brand)!important;color:#fff!important;border-color:var(--brand)!important}
.rd-map-panel>footer .primary-btn:hover:not(:disabled) {background:var(--brand-deep)!important;color:#fff!important;border-color:var(--brand-deep)!important}
.rd-map-panel>footer .material-symbols-outlined {font-size:18px}
.rd-map-empty,.rd-empty {padding:45px 24px;text-align:center;display:grid;place-items:center;color:var(--muted);gap:12px}
.rd-map-empty>.material-symbols-outlined,.rd-empty>.material-symbols-outlined {font-size:44px;color:#b296a7}
.rd-map-empty strong,.rd-empty strong {font-size:18px;color:var(--ink)}
.rd-map-empty p,.rd-empty p {font-size:var(--font-small);max-width:280px;margin:0}
.mobile-tabs {box-shadow:none!important}
.import-panel .file-drop {border-color:#c190ac!important;background:#fcf8fa!important;border-radius:16px}
.tour-scope-card {background:#fff!important;border:0!important}
.tour-scope-card .scope-option {background:#fff!important;border:1px solid #d1d9d2!important;box-shadow:0 2px 6px rgba(40,58,48,.06)}
.tour-scope-card .scope-option.active,.tour-scope-card .scope-option:has(input:checked) {background:#fff4f8!important;border:2px solid var(--brand)!important;box-shadow:0 4px 12px rgba(138,18,83,.14)!important}
.tour-scope-card .scope-option:has(input:focus-visible) {outline:3px solid var(--brand);outline-offset:3px}
.running-home-cta {position:fixed!important;right:24px;bottom:24px;width:max-content!important;max-width:calc(100vw - 48px)!important;margin:0;background:var(--brand)!important;box-shadow:0 5px 14px #5e0c382b!important;border-radius:22px}
.running-home-cta #runningHomeBtn {background:#fff!important;color:var(--brand)!important;border-radius:12px}
.running-header-actions {flex-wrap:wrap}
#runningReopenTourBtn {border-color:var(--brand);color:var(--brand);font-size:var(--font-small)}
#runningReopenTourBtn:disabled {opacity:.55;cursor:not-allowed}
.role-courier .courier-panel {max-width:680px;margin:0 auto;width:100%;padding:0!important;background:transparent;box-shadow:none}
.courier-hero {background:transparent!important;border:0!important;border-radius:0!important;padding:0 0 24px!important;color:var(--ink)!important;box-shadow:none!important}
.courier-hero h2 {font-size:30px!important;font-weight:800!important;color:var(--ink)!important;letter-spacing:-1px}
.courier-title-row {align-items:baseline;flex-wrap:wrap;gap:6px}
.courier-title-row>span {font-size:var(--font-meta)!important;color:var(--muted)!important}
.courier-progress {margin-top:16px!important;color:var(--ink)!important}
.courier-progress p,.courier-progress span {color:var(--muted)!important}
.courier-progress strong {color:var(--ink)!important}
.current-stop {padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.delivery-card {gap:14px!important;min-height:0!important}
.delivery-card address {margin-top:0!important}
.delivery-position {margin:0!important}
.delivery-card h3 {margin:0!important}
.delivery-receipt-actions {margin-top:0!important;padding-top:10px!important}
.progress-bar {background:#ddd8da!important;border-radius:6px;height:7px!important}
.progress-bar i {background:var(--brand)!important}
.done-rail {display:none!important}
.delivery-card {border:1px solid var(--line)!important;background:#fff!important;color:var(--ink)!important;padding:26px!important;border-radius:20px!important;box-shadow:none!important;position:relative}
.delivery-card::before,.delivery-card::after {display:none!important}
.delivery-card address {font-family:'Manrope',sans-serif!important;color:var(--ink)!important;font-size:clamp(25px,4vw,35px)!important;font-style:normal!important;line-height:1.3!important;letter-spacing:-1px}
.delivery-card address .zusatz {font-size:17px!important;letter-spacing:0!important;color:var(--muted)!important;margin-top:6px}
.delivery-card h3 {font-size:18px!important;letter-spacing:0!important;font-family:'Manrope',sans-serif!important;color:var(--ink)!important}
.delivery-position {font-size:var(--font-small)!important;color:var(--brand)!important;font-weight:700;margin-bottom:0!important}
.delivery-note-view {padding:16px!important;border-radius:12px!important;background:#f7f5f0!important;color:var(--ink)!important;font-size:var(--font-compact)!important;border:0!important}
.delivery-receipt-actions {border-top:1px solid var(--line);padding-top:10px!important;margin-top:0!important}
.delivery-receipt-btn {font-size:var(--font-label)!important;border-color:#d9c9d2;background:#fff}
.after-list {margin-top:24px!important}.after-list h3 {font-size:var(--font-body)!important}
.after-stop {background:#fff!important;border-radius:12px!important;border:1px solid var(--line)!important;box-shadow:none!important;margin-bottom:8px!important}
.after-stop .eta {display:none} /* No invented ETA for fixed minutes-per-stop. */
.courier-dock {background:var(--bg)!important;border:0!important;box-shadow:0 -10px 30px #f5f4ed!important;padding:12px!important;border-radius:0!important}
.method-seg {background:#fff!important;border:1px solid var(--line)!important;border-radius:12px!important;padding:4px!important}
.method-seg button {font-size:var(--font-label)!important;color:var(--ink)!important;min-height:46px!important}
.method-seg .pill {background:var(--brand-tint)!important;box-shadow:none!important;border-radius:9px!important}
.swipe-confirm {background:var(--brand)!important;border-radius:13px!important;border:0!important;color:#fff!important}
.swipe-confirm .cap {color:#fff!important;font-family:'Manrope',sans-serif!important;font-size:var(--font-compact)!important}
.swipe-confirm .knob {background:#fff!important;color:var(--brand)!important;border-radius:10px!important}
.swipe-confirm .glint {display:none!important}
.courier-dock .status-actions {gap:9px!important}
.courier-dock .nav-btn {background:var(--accent)!important;color:var(--brand-deep)!important;border:0!important;min-height:52px!important;font-weight:800!important}
.courier-dock .missed-status-btn {background:#fff!important;color:var(--ink)!important;min-height:52px!important;border:1px solid var(--line)!important}
.receipt-capture-panel,.receipt-viewer-panel {background:var(--bg)!important;border-radius:22px!important;color:var(--ink)!important;padding:26px!important;box-shadow:0 24px 80px #32112230!important}
.receipt-capture-header h2 {font-size:clamp(22px,3vw,30px)!important;font-weight:800!important;letter-spacing:-.8px!important;color:var(--ink)!important}
.receipt-capture-header .eyebrow {display:none}
#receiptSignatureCanvas {background:#fff!important;border:1px solid #ded6db!important;border-radius:14px!important}
.receipt-capture-guidance,.receipt-capture-notice {font-size:var(--font-label)!important;color:var(--muted)}
.receipt-capture-save {min-height:54px!important}
.receipt-capture-save:disabled {opacity:.5}
.reason-sheet {border-radius:24px 24px 0 0!important;background:var(--bg)!important}
.reason-sheet h2 {font-weight:800!important;color:var(--ink)!important}
.reason-sheet .reason {border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;color:var(--ink)!important}
@media(min-width:1101px){
  .mobile-view-home .app-header {display:none!important}
  .mobile-view-home body {padding-top:42px!important}
  .mobile-tabs {display:none!important}
  .role-courier .courier-dock {left:calc(50% + var(--rd-sidebar-width)/2)!important;right:auto!important;transform:translateX(-50%);width:min(680px,calc(100vw - var(--rd-sidebar-width) - 64px))!important;bottom:0!important}
}
@media(max-width:1250px) and (min-width:901px){
  :root {--rd-sidebar-width:205px}body {padding:22px!important}.home-intro h1 {font-size:38px!important}
  .rd-dashboard-grid {grid-template-columns:1fr 1fr}.rd-tour {gap:9px;padding:18px 9px}.rd-avatar {width:40px;height:40px;font-size:var(--font-label)}.rd-tour-top {display:block}.rd-courier {display:block;text-align:left;font-size:11px;margin-top:2px}.rd-status-chg{font-size:11px}.rd-tour-top-right{align-items:flex-start}.home-active-tours-heading h2 {font-size:23px!important}.rd-summary {gap:12px;padding:14px}.rd-summary>div {font-size:var(--font-small);gap:9px}.rd-summary-icon {width:38px;height:38px;font-size:22px}.rd-map-panel h2{font-size:19px}.rd-map-panel>header {padding:20px 15px}.rd-map-panel>footer {padding:16px 14px}
}
@media(max-width:1100px) and (min-width:901px){
  .app-header .mobile-tabs{left:var(--rd-sidebar-width)!important;right:0!important;width:calc(100% - var(--rd-sidebar-width))!important}body{padding-bottom:100px!important}
}
@media(max-width:900px){
  :root {--rd-sidebar-width:0px}
  .rd-sidebar {display:none}
  .rd-menu-toggle {display:grid!important;place-items:center;margin-left:auto;width:44px;height:44px;color:var(--brand);background:white}
  .rd-menu-close {display:grid!important;place-items:center;position:absolute;right:10px;top:8px;width:36px;height:36px;border:0;background:transparent;color:white;cursor:pointer}
  .rd-menu-open .rd-sidebar {display:flex;width:min(280px,85vw);padding-top:40px;z-index:120;box-shadow:10px 0 50px #32112240}
  body {margin:0!important;width:100%!important;padding:18px 20px 110px!important;min-height:100dvh}
  .app-header {padding-bottom:24px!important;display:flex!important;gap:10px;flex-wrap:nowrap!important}
  .app-wordmark {width:155px;max-width:155px;flex:none}
  .app-header .app-wordmark {display:block!important;width:130px}
  .app-header {flex-wrap:wrap!important;width:100%!important;min-width:0!important;max-width:100%!important}
  .brand-lockup {order:3;width:100%;max-width:none;font-size:11px;min-height:0!important;height:auto!important}
  .brand-lockup .tenant-brand-name {display:block!important;font-size:11px!important;line-height:1.4!important;width:auto!important;height:auto!important;clip:auto!important;clip-path:none!important;overflow:visible!important;position:static!important;white-space:normal!important}
  .app-header .tenant-logo {max-width:200px;max-height:42px;width:auto}
  .app-header.has-tenant-logo .app-wordmark {display:none!important}
  .role-courier .courier-hero {gap:10px!important}
  .role-courier .courier-title-row {display:grid!important;gap:3px!important}
  .role-courier .courier-title-row h2 {margin:0!important;font-size:26px!important;line-height:1.25!important}
  .role-courier .courier-title-row>span {padding:0!important;margin:0!important}
  .role-courier .courier-progress {margin-top:0!important}
  .role-courier .current-stop {margin:0 0 14px!important}
  .home-intro {align-items:flex-start!important;gap:14px;margin-bottom:22px!important;flex-wrap:wrap}
  .home-intro h1 {font-size:36px!important;letter-spacing:-1.6px!important;max-width:580px!important}.home-intro p{font-size:var(--font-label)!important}.rd-new-tour{min-height:48px;font-size:var(--font-label);padding:10px 18px}
  .rd-summary {grid-template-columns:1fr 1fr;gap:14px;padding:16px;margin-bottom:9px}.rd-summary>div {font-size:var(--font-small);gap:10px}.rd-summary>div:last-child{grid-column:1/-1}.rd-summary-icon{width:36px;height:36px;font-size:20px}
  .rd-dashboard-grid{grid-template-columns:1fr;gap:0}.home-active-tours,.rd-map-panel{border-radius:0!important}.rd-map-panel{border-left:0;border-top:1px solid var(--line)}.home-active-tours{padding:20px 12px!important}.home-active-tours-heading{padding-bottom:18px}.home-active-tours-heading h2{font-size:24px!important}.rd-tour{min-height:140px}.rd-tour-top strong{font-size:17px}.rd-courier{font-size:11px}.rd-status-chg{font-size:11px}.rd-map-panel h2{font-size:23px}.rd-route-map{min-height:320px}.rd-map-canvas{max-width:620px}.rd-map-marker{min-width:36px;height:36px}
  .mobile-tabs{background:#fff!important;border-top:1px solid var(--line)!important;gap:2px!important;padding:7px 6px max(8px,env(safe-area-inset-bottom))!important;box-shadow:0 -2px 16px #32112206!important}
  .mobile-tabs button{font-family:'Manrope',sans-serif!important;font-size:10px!important;color:var(--muted)!important;border-radius:10px!important;min-height:48px!important;background:transparent!important;border:0!important}
  .mobile-tabs button.active{color:var(--brand)!important;background:var(--brand-tint)!important;font-weight:800!important}
  .mobile-tabs button .material-symbols-outlined{font-size:21px!important}
  .panel{padding:20px!important}.home-panel{padding:0!important}
  .import-panel .import-grid{grid-template-columns:1fr!important}.import-panel .import-side{display:grid!important;grid-template-columns:1fr!important}.import-cta{left:12px!important;right:12px!important}
  .role-courier body{padding:16px 18px calc(var(--courier-dock-h,250px) + 110px)!important}
  .role-courier .app-header{padding-bottom:16px!important}.role-courier .courier-panel{padding:0!important}.courier-hero h2{font-size:28px!important}.courier-hero{padding-bottom:18px!important}.courier-title-row>span{font-size:11px!important}.courier-progress{margin-top:12px!important}.delivery-card{padding:22px!important}.delivery-card address{font-size:29px!important}.delivery-card address .zusatz{font-size:var(--font-body)!important}.delivery-card h3{font-size:17px!important}.courier-dock{left:8px!important;right:8px!important;width:auto!important}
  .receipt-capture-panel{width:calc(100% - 24px)!important;margin:12px!important;max-height:calc(100dvh - 24px)!important;padding:22px!important}.receipt-capture-header{gap:8px}.receipt-capture-header h2{font-size:24px!important}.receipt-capture-header .ghost-btn{font-size:var(--font-meta);padding:8px}.receipt-capture-actions{flex-wrap:wrap}
  .rd-skip{left:12px}
}
/* The home view no longer has a bottom tab bar at phone widths. */
@media(max-width:760px){body.mobile-view-home {padding-bottom:0!important}}
@media(max-width:420px){
  #homePanel .rd-filters {display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  #homePanel .rd-filters button {font-size:var(--font-small)}
  body{padding-inline:14px!important}.home-intro h1{font-size:32px!important}.rd-summary{gap:8px 12px;padding:10px 12px;grid-template-columns:1fr 1fr}.rd-summary>div:last-child{grid-column:1/-1}.rd-summary>div{font-size:var(--font-small);gap:8px}.rd-summary-icon{width:30px;height:30px;font-size:18px}.rd-courier{display:none}.rd-avatar{width:40px;height:40px;font-size:var(--font-label)}.rd-tour{gap:10px;padding:18px 9px}.rd-filters{width:100%;gap:6px}.rd-filters button{flex:1;font-size:11px}.rd-map-panel>header{padding:20px 16px}.rd-map-panel h2{font-size:20px}.rd-map-panel>footer{padding:16px;flex-wrap:wrap}.rd-map-panel>footer .primary-btn{font-size:var(--font-meta)}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}

/* Help lives in the sidebar; only the opened feedback panel floats. */
#rdSidebar #supportHelpBtn {position:static!important;inset:auto!important;width:100%!important;height:auto!important;min-height:54px!important;padding:12px 17px!important;justify-content:flex-start!important;gap:15px!important;background:transparent!important;box-shadow:none!important;border-radius:11px!important;font-size:var(--font-label)!important;font-weight:500!important;color:#fff!important;transform:none!important}
#rdSidebar #supportHelpBtn:hover {background:#ffffff1a!important}
#rdSidebar #supportHelpBtn>span:first-child {background:transparent!important;width:23px;height:23px;font-size:23px;border-radius:0}
#rdSidebar .support-help-label {display:inline!important}
#supportWidget {position:fixed!important;left:calc(var(--rd-sidebar-width) + 20px)!important;right:auto!important;top:auto!important;bottom:20px!important;width:min(360px,calc(100vw - var(--rd-sidebar-width) - 40px))!important;max-height:calc(100dvh - 40px);overflow:auto;z-index:130!important;transform:none!important;padding:0!important}
#supportPanel {position:static!important;width:100%!important;max-width:none!important;margin:0!important;background:#fff;border:1px solid var(--line);border-radius:16px;color:var(--ink)}
@media(max-width:900px){#supportWidget {left:12px!important;right:12px!important;bottom:88px!important;width:auto!important;max-height:calc(100dvh - 108px)}}

/* Let the page grow on short screens; map explanations must stay readable. */
@media(min-width:901px){
  body.mobile-view-home {height:auto;overflow:auto}
  body.mobile-view-home .app-header,body.mobile-view-home .mobile-tabs {display:none!important}
  body.mobile-view-home .workspace {display:flex!important;flex-direction:column;align-items:stretch!important;min-height:0;overflow:visible}
  body.mobile-view-home .home-panel {min-height:0;height:auto;width:100%;overflow:visible}
  .home-intro,.rd-summary {flex-shrink:0}
  .rd-dashboard-grid {min-height:0;grid-template-rows:auto}
  .home-active-tours {min-height:0;overflow:hidden}
  .home-active-tours-heading {position:sticky;top:0;z-index:1;background:#fff}
  .home-active-tours-heading,.rd-update {flex-shrink:0}
  .home-active-tours-list {flex:1;min-height:0;max-height:600px;grid-auto-rows:max-content;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
  .rd-map-panel {min-height:0}
  .rd-map-panel>header,.rd-map-panel>footer {flex-shrink:0}
  .rd-route-map {min-height:320px;padding:8px 0 40px}
  .rd-map-canvas {width:100%;flex-shrink:0}
  .rd-map-selection {flex-shrink:0;max-height:20%;overflow-y:auto}
}

/* The overview fills the desktop viewport; on mobile the document scrolls. */
@media(min-width:901px){
  body.mobile-view-home {height:100dvh;overflow:hidden}
  body.mobile-view-home .app-shell {display:flex;flex-direction:column;height:100%;min-height:0}
  body.mobile-view-home #mainContent.workspace {flex:1 1 0;min-height:0;max-height:none;overflow:hidden}
  body.mobile-view-home #homePanel {height:100%;overflow:hidden}
  body.mobile-view-home #homePanel .rd-dashboard-grid {flex:1 1 0;min-height:0}
  body.mobile-view-home #homePanel .rd-route-map {min-height:0}
}
@media(max-width:900px){
  body.mobile-view-home {height:auto;overflow:visible}
  body.mobile-view-home .app-shell {height:auto}
  body.mobile-view-home #mainContent.workspace {flex:0 0 auto;max-height:none;overflow:visible}
  body.mobile-view-home #homePanel {height:auto;overflow:visible}
  body.mobile-view-home #homePanel .rd-dashboard-grid {max-height:none;overflow:visible}
  body.mobile-view-home #homePanel .home-active-tours-list {max-height:none;overflow:visible}
}

/* Branding stays on the city background; printing uses the signature CTA. */
#tenantBrandName {background:transparent!important;box-shadow:none!important}
#mainContent .planner-panel .field-stack.planner-zone,
#mainContent .planner-panel .planner-actions.planner-zone {border-top:0}
#mainContent .planner-panel #optimizeBtn {
  background:var(--brand)!important;color:#fff!important;border:0!important;
  border-radius:12px!important;min-height:48px;font-size:var(--font-label);font-weight:800;
  box-shadow:0 5px 14px #5e0c382b!important;
}
#mainContent .planner-panel #optimizeBtn:hover:not(:disabled) {background:var(--brand-deep)!important;box-shadow:0 7px 18px #5e0c3838!important}
.planner-numbered-label {display:flex;align-items:center;gap:10px}
.planner-step-number {display:inline-grid;place-items:center;flex:none;width:24px;height:24px;border:1px solid #ffffffd9;border-radius:999px;background:var(--brand);color:#fff;font-size:var(--font-small);font-weight:800;line-height:1}
#mainContent .planner-panel #optimizeBtn::before {display:inline-grid}
#mainContent .planner-panel #optimizeBtn {padding-inline:56px}

/* One shared step rail, 10px before each field or action. */
#mainContent .planner-panel .field-stack.planner-zone,
#mainContent .planner-panel .planner-actions,
#mainContent .planner-panel #printRouteBtn {margin-left:34px;width:calc(100% - 34px)}
#mainContent .planner-panel .start-point-tools > label,
#mainContent .planner-panel .field-stack > label {position:relative}
#mainContent .planner-panel .planner-numbered-label {display:block}
#mainContent .planner-panel .planner-step-number {position:absolute;left:-34px;bottom:10px;box-sizing:border-box}
#mainContent .planner-panel #optimizeBtn::before,
#mainContent .planner-panel #printRouteBtn::before {left:-34px;box-sizing:border-box;background:var(--brand);border-color:#ffffffd9;display:inline-grid}

/* Floating release card uses the Lipptor signature palette. */
.release-cta:not(.is-released) {background:var(--brand)!important;color:#fff;box-shadow:0 5px 14px #5e0c382b!important}
.release-cta:not(.is-released)::before {background:none!important}
.release-cta:not(.is-released) .release-tour-btn {background:#fff!important;color:var(--brand)!important;border-color:#fff!important}
.release-cta:not(.is-released) .release-tour-btn:hover:not(:disabled) {background:#f8edf3!important;color:var(--brand-deep)!important}

/* A single white surface anchors the complete courier workspace. */
#mainContent .courier-panel {
  box-sizing:border-box;background:#fff!important;padding:24px!important;
  border:1px solid var(--line);border-radius:22px;
  box-shadow:0 8px 28px #5e0c3814!important;
}
@media (max-width:600px) {
  #mainContent .courier-panel {padding:16px!important;border-radius:18px}
}

/* The network overview has no route to optimize yet. */
body.mobile-view-network .release-cta {display:none!important}

.network-sync-notice {margin:12px 0;padding:12px 14px;background:#eef5ef;color:var(--ink);border:1px solid #c5dacb;border-radius:12px;font-size:var(--font-small);line-height:1.5}
.network-sync-notice button {margin-top:8px;display:block;border:1px solid var(--brand);color:var(--brand);background:#fff;border-radius:8px;padding:8px 12px}
.network-source {display:inline-block;color:var(--brand);font-size:11px;font-weight:700;line-height:1.4;margin-top:4px}
.network-inbox {margin-top:24px;border-top:1px solid var(--line);padding-top:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.network-inbox-card {min-width:0;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}
.network-inbox h3 {font-size:18px;margin:16px 0 8px}
.network-panel .network-section-title {display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:18px;line-height:1.3}
.network-count {display:inline-grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:999px;background:var(--brand-tint);color:var(--brand);font-size:var(--font-meta)}
.network-section-description {margin:0 0 10px;font-size:var(--font-small);color:var(--muted)}
.network-tours-empty {display:flex;align-items:center;gap:14px;padding:20px;border:1px dashed var(--line);border-radius:var(--radius-control);background:#fafaf8}
.network-tours-empty .material-symbols-outlined {color:var(--brand)}
.network-tours-empty strong,.network-tours-empty small {display:block}
.network-tours-empty small {margin-top:4px;font-size:var(--font-small);color:var(--muted)}
.network-inbox-items {display:grid;gap:10px}
.network-inbox article,.network-pending-row {padding:14px 16px;border:1px solid #cfe0f2;border-radius:16px;margin:0;background:#f5faff}
.network-pending-row {display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.network-pending-row>span {flex:1;min-width:180px}
.network-pending-row small {display:block;font-size:var(--font-meta);color:var(--muted)}
.network-pending-row label {font-size:var(--font-meta)}
@media(max-width:720px){.network-inbox{grid-template-columns:1fr;gap:12px}.network-inbox-card{padding:16px}}
#clearNetworkReason {display:block;min-height:80px;width:100%;margin-top:8px}

.planner-step-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;width:100%}
#mainContent .planner-panel .planner-step-heading .planner-kicker {margin:0}
.planner-import-link {display:inline-flex;align-items:center;justify-content:center;flex:none;gap:6px;min-height:36px;background:#fff;border:1px solid var(--brand);border-radius:9px;padding:7px 12px;color:var(--brand);font-size:var(--font-meta);font-weight:700;white-space:nowrap;cursor:pointer;box-shadow:0 2px 5px #5e0c380c;transition:background .16s ease}
.planner-import-link:hover {color:var(--brand-deep);background:var(--brand-tint)}
.planner-import-link:focus-visible {outline:2px solid var(--brand);outline-offset:4px;border-radius:3px}

body.mobile-view-running:not(.running-detail-open) .running-panel {padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#runningOverview[hidden],#runningDetail[hidden] {display:none!important}
#runningOverview .rd-dashboard-grid {height:calc(100dvh - 84px);min-height:380px;max-height:none}
#runningOverview .home-active-tours {min-height:0;overflow:hidden}
#runningOverviewList {overflow-y:auto;min-height:0;flex:1}
#runningOverviewStatus {display:block;padding:18px 4px 0;color:var(--muted);font-size:11px}
#runningBackToList {margin-bottom:20px}
body.mobile-view-running:not(.running-detail-open) .running-home-cta {display:none!important}
#runningDetail .running-tour-selector {display:none}
@media(max-width:900px){
  #runningOverview .rd-dashboard-grid {height:auto;max-height:none;min-height:0}
  #runningOverview .home-active-tours,#runningOverviewList {max-height:none;overflow:visible}
}

/* Align the five primary views while allowing long content to grow. */
@media(min-width:901px){
  :root {--main-frame-offset:84px}
  body:is(.mobile-view-plan,.mobile-view-network,.mobile-view-running,.mobile-view-history) .app-header {min-height:0;height:0;padding:0!important}
  body:is(.mobile-view-plan,.mobile-view-network,.mobile-view-running,.mobile-view-history) #mainContent {min-height:calc(100dvh - var(--main-frame-offset))}
  body:is(.mobile-view-plan,.mobile-view-network,.mobile-view-running,.mobile-view-history) #mainContent > :is(.import-panel,.network-panel,.running-panel,.history-panel) {min-height:calc(100dvh - var(--main-frame-offset));width:100%}
  #runningOverview .rd-dashboard-grid {height:calc(100dvh - var(--main-frame-offset))}
}
@media(min-width:901px) and (max-width:1250px){:root {--main-frame-offset:72px}}
@media(min-width:901px) and (max-width:1100px){:root {--main-frame-offset:150px}}
/* Compact route preview in the running tour's position card. */
#runningPosition { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: center; gap: 14px; }
#runningPosition .running-route-preview { display: flex; flex-direction: column; width: 100%; min-width: 0; padding: 0; overflow: hidden; border: 1px solid #e5dde1; border-radius: 12px; background: #fff; color: var(--brand); cursor: pointer; }
.running-route-preview img { display: block; width: 100%; height: 120px; object-fit: contain; background: #eef1e8; }
.running-route-preview span { padding: 8px; font-size: 11px; font-weight: 700; }
.running-route-preview:focus-visible { outline: 3px solid var(--brand); outline-offset: 3px; }
/* Route settings: one readable column, consistent field and action spacing. */
#settingsPanel [data-admin-panel="optimization"] { gap: 20px; min-width: 0; }
#settingsPanel [data-admin-panel="optimization"] .settings-subhead h3 { margin: 0; }
#settingsPanel .optimization-settings-content { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; width: 100%; min-width: 0; }
#settingsPanel .optimization-options { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; min-width: 0; }
#settingsPanel .optimization-options > label { display: grid; gap: 8px; width: 100%; min-width: 0; margin: 0; }
#settingsPanel .optimization-options input,
#settingsPanel .optimization-options select,
#settingsPanel .optimization-options .custom-combobox { width: 100%; min-width: 0; max-width: 100%; }
#settingsDefaultCityHelp { font-size:var(--font-meta); line-height: 1.5; font-weight: 400; color: var(--muted); }
#settingsPanel #saveSettingsBtn { display: inline-flex; justify-content: center; align-items: center; text-align: center; justify-self: start; width: auto; min-width: 132px; height: 44px; min-height: 44px; padding: 0 20px; margin: 0; line-height: 1; }
#settingsPanel #settingsNotice { margin: 0; }
#settingsPanel #settingsNotice:empty { display: none; }
#settingsPanel .optimization-settings-content .admin-goal-card { width: 100%; min-width: 0; min-height: 76px; margin: 0; padding: 16px; }
/* Shared settings form rhythm, constrained to the available panel width. */
#settingsPanel .admin-section-nav > .admin-kicker { color: #000; }
#settingsPanel .admin-detail-shell { container-type: inline-size; }
#settingsPanel .admin-settings-section { grid-template-columns: minmax(0, 1fr); min-height: 0; align-content: start; }
#settingsPanel .admin-form-pane,
#settingsPanel .admin-list-pane { display: grid; align-content: start; gap: 20px; width: 100%; min-width: 0; max-width: 100%; padding: 24px; box-sizing: border-box; }
#settingsPanel .admin-list-pane { border-right: 0; border-bottom: 1px solid var(--line); }
#settingsPanel .admin-form-heading { margin: 0; gap: 12px; align-items: flex-start; }
#settingsPanel h3 { font-size: 20px; line-height: 1.3; margin: 0; font-weight: 800; overflow-wrap: anywhere; hyphens: auto; }
#settingsPanel .admin-form-heading > div { min-width: 0; }
#settingsPanel .admin-form-heading p,
#settingsPanel .admin-section-note,
#settingsPanel .admin-pane-hint { font-size:var(--font-meta); line-height: 1.5; margin: 0; color: var(--muted); white-space: normal; }
#settingsPanel .admin-form-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; min-width: 0; }
#settingsPanel .admin-form-pane label:not(.admin-user-active):not(.tenant-logo-upload),
#settingsPanel .optimization-options > label { display: grid; gap: 8px; min-width: 0; margin: 0; font-size:var(--font-small); font-weight: 700; line-height: 1.5; color: var(--ink); }
#settingsPanel input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
#settingsPanel select,
#settingsPanel textarea { width: 100%; min-width: 0; max-width: 100%; min-height: 44px; margin: 0; padding: 10px 12px; font: 400 14px/1.5 'Manrope',system-ui,sans-serif; }
#settingsPanel input::placeholder,
#settingsPanel textarea::placeholder { font-size:var(--font-small); font-weight: 400; }
#settingsPanel [role="combobox"] { width: 100%; min-width: 0; min-height: 44px; font-size:var(--font-label); }
#settingsPanel .admin-form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0; padding: 0; }
#settingsPanel .admin-form-actions small { flex-basis: 100%; margin: 0; font-size:var(--font-meta); }
#settingsPanel .admin-form-pane > button,
#settingsPanel .admin-form-actions > button,
#settingsPanel .settings-subhead > button,
#settingsPanel .push-settings-card > button { display: inline-flex; align-items: center; justify-content: center; justify-self: start; width: auto; max-width: 100%; height: auto; min-height: 44px; padding: 10px 16px; margin: 0; font: 700 13px/1.4 'Manrope',system-ui,sans-serif; text-align: center; white-space: normal; }
#settingsPanel .notice { margin: 0; font-size:var(--font-meta); }
#settingsPanel .notice:empty { display: none; }
#settingsPanel .admin-user-active { display: flex; align-items: center; gap: 10px; margin: 0; font-size:var(--font-small); }
#settingsPanel .admin-user-active input { appearance: auto; flex: 0 0 18px; width: 18px; height: 18px; margin: 0; padding: 0; border-radius: 3px; accent-color: var(--brand); }
#settingsPanel #adminUserActive::after { content: none !important; display: none !important; }
#settingsPanel .courier-location-options { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; min-width: 0; margin: 0; padding: 16px; }
#settingsPanel .courier-location-options label { display: flex!important; align-items: flex-start; gap: 10px; padding: 12px; }
#settingsPanel .courier-location-options input { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; }
#settingsPanel .courier-location-options strong { font-size:var(--font-small); }
#settingsPanel .courier-location-options small,
#settingsPanel .push-settings-card small { font-size:var(--font-meta); line-height: 1.5; }
#settingsPanel .push-settings-card { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 16px; }
#settingsPanel .push-settings-card > div { min-width: 0; }
#settingsPanel .settings-subhead { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin: 0; }
#settingsPanel .admin-user-row { width: 100%; min-width: 0; font-size:var(--font-small); }
#settingsPanel .admin-user-row small { font-size:var(--font-meta); overflow-wrap: anywhere; }
#settingsPanel .tenant-logo-admin-preview { min-width: 0; max-width: 100%; margin: 0; }
#settingsPanel .tenant-logo-upload { width: 100%; min-width: 0; margin: 0; padding: 24px 16px; font-size:var(--font-small); }
#settingsPanel .tenant-logo-upload small { font-size:var(--font-meta); }
#settingsPanel button { transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, filter .16s ease; }
#settingsPanel button:hover:not(:disabled) {
  transform: translateY(-2px);
  filter: brightness(.96);
  box-shadow: 0 8px 18px rgba(65, 19, 45, .24) !important;
}
@container (min-width: 680px) {
  #settingsPanel .admin-settings-section:has(.admin-list-pane) { grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr); }
  #settingsPanel .admin-list-pane { border-bottom: 0; border-right: 1px solid var(--line); }
  #settingsPanel .admin-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
#settingsPanel #customerNotificationsEnabled { appearance: none; -webkit-appearance: none; position: relative; flex: 0 0 40px; width: 40px; height: 24px; min-height: 24px; padding: 0; margin: 0; border: 0; border-radius: 99px; background: #c4bbc0; cursor: pointer; }
#settingsPanel #customerNotificationsEnabled::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px #3a223133; transform: translateX(0); transition: transform .15s ease; }
#settingsPanel #customerNotificationsEnabled:checked { background: var(--brand); }
#settingsPanel #customerNotificationsEnabled:checked::after { transform: translateX(16px); }
#settingsPanel #customerNotificationsEnabled:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }
#courierOrderMenu { display: none; }
.role-courier:not(.mobile-view-delivery) #courierDock { display: none!important; }
.role-courier #courierOrderMenu { display: flex; }
.courier-order-dialog { width: min(700px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: #fff; color: var(--ink); box-shadow: 0 20px 80px #3a223144; overflow: auto; }
.courier-order-dialog::backdrop { background: #3a223166; }
.courier-order-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.courier-order-dialog h2 { margin: 0; font-size: 24px; }
.courier-order-dialog p { font-size:var(--font-small); line-height: 1.6; }
.courier-order-info { padding: 12px; border-radius: 10px; background: var(--brand-tint); }
.courier-order-dialog ol { list-style: none; padding: 0; display: grid; gap: 10px; }
.courier-order-dialog li { display: grid; grid-template-columns: 28px minmax(0, 1fr) 40px; gap: 10px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 12px; }
.courier-order-dialog li.fixed { background: #f6f4f5; }
.courier-order-dialog li > div { min-width: 0; }
.courier-order-dialog strong { display: block; font-size:var(--font-label); }
.courier-order-dialog small,.courier-order-dialog em { display: block; font-size:var(--font-meta); line-height: 1.5; overflow-wrap: anywhere; }
.courier-order-dialog em { color: var(--brand); }
.courier-order-dialog button { min-height: 44px; border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px; background: #fff; color: var(--brand); font: 700 13px/1.4 'Manrope',sans-serif; cursor: pointer; }
.courier-order-dialog button:disabled { opacity: .45; cursor: default; }
.courier-order-dialog button:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.courier-order-dialog .order-grip { touch-action: none; user-select: none; padding: 0; font-size: 28px; cursor: grab; }
.courier-order-dialog .order-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.courier-order-dialog .order-number { display: grid; place-items: center; height: 28px; border-radius: 50%; background: var(--brand-tint); font-size:var(--font-meta); }
.courier-order-dialog footer { position: sticky; bottom: -24px; display: flex; flex-wrap: wrap; gap: 10px; padding: 16px 0; background: #fff; border-top: 1px solid var(--line); }
.courier-order-dialog [data-save],.courier-order-dialog [data-save]:hover:not(:disabled) { color: #fff!important; background: var(--brand)!important; }
.courier-order-dialog .is-dragging { cursor: grabbing; }
.tour-order-history { margin: 16px 0; padding: 14px; border-radius: 12px; background: var(--brand-tint); font-size:var(--font-meta); }
.tour-order-history p { margin: 8px 0; overflow-wrap: anywhere; }
@media(max-width: 520px) { .courier-order-dialog { padding: 16px; }.courier-order-dialog footer { bottom: -16px; }.courier-order-dialog h2 { font-size: 21px; } }
/* Customer notification provider channel tabs */
.settings-channel-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 22px 0 0;
  padding: 6px;
  border-radius: 14px;
  background: #e4f2e9;
}
.settings-channel-tabs[hidden],
.settings-channel-panels[hidden] { display: none !important; }

.settings-channel-tabs [role="tab"] {
  min-height: 42px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: #685963;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  transition: color 150ms ease, background-color 150ms ease, box-shadow 150ms ease;
}

.settings-channel-tabs [role="tab"][aria-selected="true"] {
  background: #fff;
  color: #851052;
  box-shadow: 0 2px 8px rgb(52 32 43 / 12%);
}

.settings-channel-tabs [role="tab"]:focus-visible,
.settings-channel-panel:focus-visible {
  outline: 3px solid #307fe8;
  outline-offset: 2px;
}

.settings-channel-panels { margin-top: 16px; }
.settings-channel-panel[hidden] { display: none; }
.settings-channel-panel .email-server-pane { display: grid; gap: 14px; }
.settings-channel-panel h4 { margin: 0; color: #382a35; font-size: 1.08rem; }
.settings-channel-panel .admin-section-note { margin: 0; }
.settings-channel-panel .provider-help { margin: -6px 0 2px; }

.subscription-settings-pane { width: 100%; container-type: inline-size; }
.subscription-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 20px; }
.subscription-plan-card { display: flex; flex-direction: column; min-width: 0; padding: 18px; border: 1px solid #d3ded8; border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(35, 57, 47, .08); }
.subscription-plan-card.is-current { border: 2px solid #1d663e; box-shadow: 0 10px 28px rgba(29, 102, 62, .16); }
.subscription-plan-card h4 { margin: 0; font-size: 1.18rem; color: #382a35; }
.subscription-price { margin: 12px 0 2px; font-size: 1.5rem; font-weight: 750; color: #382a35; }
.subscription-price small { font-size: .8rem; font-weight: 500; }
.subscription-tax-note { min-height: 1.2em; margin: 0; color: #52454e; font-size: .82rem; }
.subscription-plan-card ul { flex: 1; margin: 16px 0 20px; padding-left: 19px; color: #453740; font-size: .9rem; line-height: 1.55; }
.subscription-plan-card li + li { margin-top: 7px; }
.subscription-plan-card button { width: 100%; }
.subscription-billing-actions { justify-content: flex-start; margin-top: 20px; }
.subscription-billing-actions [hidden] { display: none !important; }
.subscription-usage { margin: 0; padding: 12px 14px; border-radius: 12px; background: #e8f4ed; color: #193f2b; font-size: .88rem; line-height: 1.5; }
@container (max-width: 759px) {
  .subscription-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .subscription-plan-card:last-child { grid-column: 1 / -1; }
}
@container (max-width: 519px) {
  .subscription-plan-grid { grid-template-columns: minmax(0, 1fr); }
  .subscription-plan-card:last-child { grid-column: auto; }
}
.provider-help-link {
  color: #851052;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.provider-help-link:hover { color: #5e0c38; }

/* Guided product tour */
.guided-tour-layer[hidden] { display: none !important; }
.guided-tour-layer { position: fixed; inset: 0; z-index: 20000; pointer-events: none; }
.guided-tour-backdrop { position: absolute; inset: 0; background: transparent; pointer-events: auto; }
.guided-tour-spotlight {
  position: fixed;
  z-index: 1;
  border: 3px solid #fff;
  border-radius: 14px;
  box-shadow: 0 0 0 9999px rgb(33 20 29 / 62%), 0 0 0 6px rgb(133 16 82 / 75%), 0 8px 24px rgb(20 10 17 / 28%);
  pointer-events: none;
  /* Position follows its target immediately, including while scrolling. */
}
.guided-tour-dialog {
  position: fixed;
  z-index: 2;
  width: min(420px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  overflow: auto;
  scrollbar-width: none;
  padding: 22px;
  border: 1px solid #e5dce1;
  border-radius: 18px;
  background: #fff;
  color: #382a35;
  box-shadow: 0 18px 54px rgb(20 10 17 / 32%);
  pointer-events: auto;
}
.guided-tour-dialog::before {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  background: #fff;
  border: 1px solid #e5dce1;
  transform: rotate(45deg);
}
.guided-tour-dialog[data-placement="bottom"]::before { top: -8px; left: var(--tour-arrow-x, 50%); border-right: 0; border-bottom: 0; }
.guided-tour-dialog[data-placement="top"]::before { bottom: -8px; left: var(--tour-arrow-x, 50%); border-left: 0; border-top: 0; }
.guided-tour-dialog[data-placement="left"]::before { right: -8px; top: var(--tour-arrow-y, 50%); border-left: 0; border-bottom: 0; }
.guided-tour-dialog[data-placement="right"]::before { left: -8px; top: var(--tour-arrow-y, 50%); border-right: 0; border-top: 0; }
.guided-tour-dialog:focus { outline: 3px solid #851052; outline-offset: 3px; }
.guided-tour-dialog::-webkit-scrollbar { display: none; }
.guided-tour-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.guided-tour-progress { color: #851052; font-size: .82rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.guided-tour-dialog h2 { margin: 12px 0 8px; color: #382a35; font-size: 1.35rem; line-height: 1.25; }
.guided-tour-dialog p { margin: 0; color: #51434d; line-height: 1.55; }
.guided-tour-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-top: 22px; }
.guided-tour-actions button, .guided-tour-close { min-height: 40px; }
.guided-tour-start { width: 100%; margin: 0 0 14px; }
#startGuidedTourBtn {
  background: var(--brand) !important;
  color: #fff !important;
  border-color: var(--brand) !important;
  box-shadow: 0 6px 16px rgba(94, 12, 56, .26) !important;
  transition: background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
#startGuidedTourBtn:hover:not(:disabled) {
  background: var(--brand-deep) !important;
  color: #fff !important;
  border-color: var(--brand-deep) !important;
  box-shadow: 0 9px 20px rgba(94, 12, 56, .34) !important;
  transform: translateY(-1px);
}
#startGuidedTourBtn:focus-visible { outline: 3px solid var(--brand-deep); outline-offset: 3px; }
.guided-tour-active { overflow: hidden; }
@media (max-width: 560px) {
  .guided-tour-dialog { padding: 18px; }
  .guided-tour-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guided-tour-actions #guidedTourNextBtn { grid-column: 2; grid-row: 1; }
  .guided-tour-actions #guidedTourBackBtn { grid-column: 1; grid-row: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .guided-tour-spotlight { transition: none; }
}

@media (max-width: 560px) {
  .settings-channel-tabs { gap: 4px; padding: 4px; }
  .settings-channel-tabs [role="tab"] { min-height: 40px; font-size: 0.92rem; }
}

/* Shared polish: preserve each component's purpose and existing navigation. */
.panel {border-radius:var(--radius-card)}.import-card,.import-side>.panel {border-radius:var(--radius-card);box-shadow:var(--shadow-card)!important}
.view-panel h2 {font-size:var(--font-section);line-height:1.3;font-weight:700;letter-spacing:-.5px}
.view-panel h3 {font-size:var(--font-subsection);line-height:1.35;font-weight:700}
.home-intro h1,#runningOverview .home-intro h1 {font-size:var(--font-title)!important;letter-spacing:-.8px!important;font-weight:750!important;line-height:1.2!important}
.running-home-cta strong,.import-cta strong,.release-cta strong,.planner-panel .route-metrics .after-card span {font-family:var(--font-ui)!important;font-size:18px;line-height:1.35}
.scope-option small,.pharmacy-check small,.scope-hint,.admin-section-note,.admin-pane-hint {color:#000;font-size:var(--font-label);line-height:1.5}
.rd-tour-date,.rd-update,#runningOverviewStatus,.rd-courier,.network-source,.rd-map-caption,.rd-map-panel>header>span {font-size:var(--font-meta)}
.rd-network-label {font-size:var(--font-meta);background:var(--mint);color:#175c3b;box-shadow:none}
.rd-route-break {width:100%;min-width:0}
.rd-route-break img {max-width:260px;height:auto;max-height:160px;object-fit:contain}
.rd-map-empty p,.rd-empty p {font-size:var(--font-label);line-height:1.5}
.rd-summary-icon.rd-success {background:var(--mint);color:#175c3b}
.delivery-note-view {background:var(--mint)!important}
.apotour-combobox-trigger,.start-point-menu-btn {background-color:#fff!important;border:1px solid #000!important;color:var(--ink);min-height:46px;font-size:var(--font-body);border-radius:var(--radius-control)}
.apotour-combobox-option {min-height:44px;white-space:normal;overflow-wrap:anywhere}
#supportDescription {font-size:var(--font-body);border-color:#000}
#mainContent .planner-panel .field-stack input,
#mainContent .planner-panel .field-stack select,
#mainContent .planner-panel .start-point-menu-btn {font-size:var(--font-body)}
#mainContent .stops-panel .stops-tools>label {font-size:var(--font-label);white-space:normal;overflow:visible}
#mainContent .stops-panel .stops-tools>button,
#mainContent .stops-panel .stops-tools .apotour-combobox-trigger {font-size:var(--font-label);white-space:normal;overflow-wrap:anywhere;line-height:1.4;padding:10px 12px;width:100%;margin:0!important}
#mainContent .stops-panel .stops-tools .apotour-combobox-trigger {padding-right:28px}
#mainContent .stops-panel .stops-tools select,
#mainContent .stops-panel .stops-tools .apotour-combobox-trigger,
#mainContent .stops-panel .stops-tools>button {height:48px;min-height:48px;border-radius:var(--radius-control)!important;font-size:var(--font-label);line-height:1.3}
#mainContent .stops-panel .stops-tools .apotour-combobox-trigger {white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#mainContent .stops-panel .stops-tools>button:not(:disabled) {background:#fff!important;color:var(--brand)!important;border:1px solid var(--brand)!important;box-shadow:none!important;font-weight:700}
#mainContent .stops-panel .stops-tools>button:hover:not(:disabled) {color:var(--brand-deep)!important;border-color:var(--brand-deep)!important}

/* Filialübergreifender Chat auf der Verbundseite. */
.network-chat-flags {display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:24px;font-size:var(--font-label)}
.network-chat-flags[hidden] {display:none}
.network-chat-flags button {display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 12px;border:1px solid #ddb1c7;border-radius:var(--radius-control);background:var(--brand-tint);color:var(--brand-deep);font:inherit;cursor:pointer}
.network-chat-flags .material-symbols-outlined {color:var(--brand)}
.network-chat {margin-top:24px;border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;background:#fff}
.network-chat-head {display:flex;flex-direction:row;justify-content:space-between;align-items:end;gap:16px;margin:0;padding:20px 24px;background:#fff}
.network-chat-head h3 {font-size:20px;margin:0 0 4px}
.network-chat-head small {font-size:var(--font-small);color:var(--muted)}
.network-chat-head label {display:grid;gap:5px;font-size:var(--font-meta);font-weight:700;min-width:min(240px,100%)}
.network-chat-head select {width:100%;min-height:44px;border:1px solid var(--line);border-radius:var(--radius-control);padding:8px 12px;background:#fff;color:var(--ink)}
.network-msgs {max-height:340px;min-height:160px;overflow-y:auto;border:0;border-radius:0;background:#f2eee9;padding:20px;gap:12px}
.network-msg,.network-msg.own {width:fit-content;max-width:min(80%,520px);padding:10px 14px;border:0;border-radius:14px 14px 14px 4px;background:#fff;box-shadow:0 2px 6px #3a223114}
.network-msg.own {align-self:flex-end;background:#efd8e4;border-radius:14px 14px 4px 14px}
.network-msg strong {font-size:var(--font-meta);color:var(--brand)}
.network-msg p {font-size:var(--font-label);line-height:1.5;white-space:pre-wrap}
.network-msg small {display:block;text-align:right;font-size:11px}
.network-chat-form {display:flex;gap:10px;margin:0;padding:14px;background:#fff}
.network-chat-form input {min-width:0;min-height:48px;border:1px solid var(--line);border-radius:var(--radius-control);padding:10px 14px}
.network-chat-form button {min-height:48px}
.user-activity-row {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:8px 16px;align-items:start;padding:14px 0;border-bottom:1px solid var(--line);font-size:var(--font-label)}
.user-activity-row strong,.user-activity-row span,.user-activity-row small {display:block}
.user-activity-row span,.user-activity-row small,.user-activity-row time {color:var(--muted);font-size:var(--font-meta)}
.user-activity-row time {grid-column:1 / -1}
.user-activity-row small {overflow-wrap:anywhere}
#userActivityMore {margin-top:16px}
@media(max-width:600px) {.user-activity-row {grid-template-columns:1fr;gap:6px}}
@media(max-width:600px) {.network-chat-head {align-items:stretch;flex-direction:column;padding:16px}.network-msgs {padding:14px}.network-msg,.network-msg.own {max-width:90%}}
@container (min-width:700px) {#mainContent .stops-panel .stops-tools {grid-template-columns:repeat(4,minmax(0,1fr))}}
@container (max-width:300px) {#mainContent .stops-panel .stops-tools {grid-template-columns:minmax(0,1fr)}}
body.mobile-view-admin #settingsPanel {width:100%;max-width:1280px;margin-inline:auto;padding:var(--space-panel);min-width:0;container-type:inline-size}
#settingsPanel .admin-page-grid {grid-template-columns:220px minmax(0,1fr);gap:24px;min-height:0}
#settingsPanel .admin-detail-shell {min-width:0}
#settingsPanel .admin-form-pane,#settingsPanel .admin-list-pane {grid-template-columns:minmax(0,1fr)}
#settingsPanel .admin-form-pane>* {min-width:0;max-width:100%;overflow-wrap:anywhere}
#settingsPanel .settings-channel-panel .email-server-pane {grid-template-columns:minmax(0,1fr);min-width:0}
#settingsPanel .email-server-pane>* {min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
#settingsPanel .settings-channel-tabs [role="tab"] {padding-inline:4px;min-width:0}
#settingsPanel h3 {font-weight:700;overflow-wrap:anywhere;hyphens:auto}
#settingsPanel .admin-form-heading p,#settingsPanel .admin-section-note,#settingsPanel .admin-pane-hint,
#settingsPanel .admin-form-actions small,#settingsPanel .notice,#settingsPanel .courier-location-options small,
#settingsPanel .courier-location-options strong,#settingsPanel .push-settings-card small,#settingsDefaultCityHelp {font-size:var(--font-label);line-height:1.5}
#settingsPanel .admin-form-pane label:not(.admin-user-active):not(.tenant-logo-upload),
#settingsPanel .optimization-options>label {font-size:var(--font-label);font-weight:600}
#settingsPanel input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
#settingsPanel textarea,#settingsPanel select,#settingsPanel [role="combobox"] {font-size:var(--font-body)}
#settingsPanel .admin-form-pane>button,#settingsPanel .admin-form-actions>button,
#settingsPanel .settings-subhead>button,#settingsPanel .push-settings-card>button {font-size:var(--font-label);font-weight:600}
@container (max-width:650px) {
  #settingsPanel .admin-page-grid {grid-template-columns:minmax(0,1fr);gap:16px}
  #settingsPanel .admin-section-nav {display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;padding:0}
  #settingsPanel .admin-section-nav>.admin-kicker {flex-basis:100%;margin:0 0 4px}
  #settingsPanel .admin-section-nav>button {width:auto;flex:1 1 160px;white-space:normal;gap:8px;min-height:44px}
}
@container (max-width:340px) {
  #settingsPanel .admin-form-heading {display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  #settingsPanel .settings-channel-tabs {grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,.75fr)}
  #settingsPanel .settings-channel-tabs [role="tab"] {font-size:var(--font-label);white-space:nowrap;padding-inline:2px}
}
#settingsPanel .subscription-plan-card button {white-space:normal;min-height:44px;font-size:var(--font-label)}
#settingsPanel .subscription-plan-card .secondary-btn,#settingsPanel .subscription-billing-actions>button {border:1px solid var(--brand);border-radius:var(--radius-control);background:#fff;color:var(--brand);padding:10px 16px;min-height:44px;font:600 14px/1.4 var(--font-ui)}
.subscription-price {font-variant-numeric:tabular-nums}
.subscription-usage:empty {display:none}
.subscription-plan-card.is-current {background:#f6fbf8}
.subscription-plan-card.is-current button:disabled {background:var(--mint)!important;color:#175c3b!important;border-color:#175c3b!important;opacity:1!important}
#mainContent .planner-panel #printRouteBtn {background:#fff!important;color:var(--brand)!important;border:1px solid var(--brand)!important;box-shadow:var(--shadow-action)!important;font-size:var(--font-compact);font-weight:600}
#guidedTourNextBtn {background:var(--brand)!important;color:#fff!important;border:1px solid var(--brand)!important;box-shadow:var(--shadow-action)!important}
#guidedTourNextBtn:hover:not(:disabled) {background:var(--brand-deep)!important}
.guided-tour-actions button,.guided-tour-close,.rd-filters button {min-height:44px}
:is(.primary-btn,.secondary-btn,.ghost-btn,.rd-new-tour,.rd-filters button):disabled,
#rdOpenTour:disabled,#optimizeBtn:disabled,.apotour-combobox-trigger:disabled {background:#e9ede8!important;color:#535b55!important;border-color:#909b94!important;box-shadow:none!important;opacity:1!important;cursor:not-allowed;transform:none!important;filter:none!important}
.apotour-combobox-trigger:disabled {border-style:dashed!important}
.receipt-capture-panel {overflow-y:auto;overscroll-behavior:contain;max-height:calc(100dvh - 24px)}
@media(min-width:901px){.mobile-tabs {display:none!important}}
@media(max-width:900px){
  body.mobile-view-route .workspace {grid-template-columns:minmax(0,1fr)!important}
  #mainContent .planner-panel {grid-template-columns:minmax(0,1fr)}
  .planner-step-heading {flex-wrap:wrap}
  .planner-panel .field-stack,.planner-panel .start-point-tools {min-width:0}
  .mobile-tabs {grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
  .import-panel .import-cta {width:auto!important;max-width:calc(100vw - 24px)!important;left:12px!important;right:12px!important}
  .import-cta .primary-btn {white-space:normal!important;min-width:0;flex:1 1 auto;max-width:230px}
  .import-cta strong {font:600 14px/1.4 var(--font-ui)!important;flex:0 1 130px}
  .import-panel {padding-bottom:96px!important}
  body.mobile-view-admin #settingsPanel {padding:16px!important}
  #settingsPanel h3 {font-size:18px}
  .home-intro h1,#runningOverview .home-intro h1 {font-size:28px!important}
  .view-panel h2 {font-size:22px}.view-panel h3 {font-size:18px}
  #settingsPanel .admin-form-pane,#settingsPanel .admin-list-pane {padding:18px}
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,select {font-size:var(--font-body)!important}
  body.role-courier {padding-bottom:calc(var(--courier-dock-h,210px) + var(--courier-tabs-h,68px) + 24px)!important}
  .guided-tour-dialog {max-height:calc(100dvh - 32px)}
}
@media(max-width:380px){
  body.mobile-view-admin #settingsPanel {padding:12px!important}
  #settingsPanel .admin-form-pane,#settingsPanel .admin-list-pane {padding:14px}
  .receipt-capture-panel {padding:16px!important}
  .receipt-capture-header {flex-wrap:wrap}
}

.onboarding-card {margin:0 0 18px;padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 4px 18px #3a22310d}
.onboarding-card[hidden] {display:none}
.onboarding-head {display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.onboarding-head h2 {margin:5px 0;font-size:22px;color:var(--ink)}
.onboarding-head p,.onboarding-steps p {margin:0;color:var(--muted);font-size:var(--font-small);line-height:1.45}
.onboarding-steps {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.onboarding-steps article {display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff}
.onboarding-steps article.is-complete {background:#f0f8f3;border-color:#b9d8c7}
.onboarding-steps article>div {min-width:0}
.onboarding-steps article strong {display:block;margin-bottom:4px;color:var(--ink);font-size:var(--font-label)}
.onboarding-check {display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--brand-tint);color:var(--brand);font-weight:800}
.onboarding-steps article.is-complete .onboarding-check {background:#dcefe3;color:#17653d}
.onboarding-steps button {min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--brand);font:inherit;font-size:var(--font-small);font-weight:700;cursor:pointer}
.onboarding-steps button:hover {border-color:var(--brand);background:var(--brand-tint)}
.onboarding-steps button[data-onboarding-complete] {grid-column:3;grid-row:1;align-self:end;padding:4px 8px;border:0;background:transparent;color:var(--muted);font-size:12px}
.register-consent {display:flex!important;grid-template-columns:auto 1fr;align-items:start;gap:8px!important;font-size:13px!important;line-height:1.5}
.register-consent input {width:18px;height:18px;margin-top:2px;flex:none}
.register-consent a {color:var(--brand);text-decoration:underline}
@media(max-width:760px){.onboarding-steps{grid-template-columns:1fr}.onboarding-card{padding:18px}.onboarding-steps article{grid-template-columns:34px minmax(0,1fr) auto}.onboarding-steps article>button[data-onboarding-view]{grid-column:2;justify-self:start}.onboarding-steps button[data-onboarding-complete]{grid-column:3;grid-row:1}}
