/* Conceptual Polaris story tour. Styles are scoped to the homepage showcase. */
.polaris-showcase {
  --tour-ink: #102a27;
  --tour-muted: #667770;
  --tour-green: #0d6b54;
  --tour-mint: #e7f4ee;
  --tour-border: #dce9e3;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(4.5rem, 8vw, 8rem) max(5vw, calc((100vw - 1440px) / 2));
  color: var(--tour-ink);
  background: radial-gradient(ellipse at 14% 80%, rgba(139, 211, 179, .2), transparent 34%), linear-gradient(135deg, #f2f8f5 0%, #fbfcfb 56%, #edf6f1 100%);
}
.polaris-showcase::before,.polaris-showcase::after { position: absolute; z-index: -1; border: 1px solid rgba(13, 107, 84, .08); border-radius: 50%; content: ""; pointer-events: none; }
.polaris-showcase::before { width: 34rem; height: 34rem; top: -22rem; right: 7%; }
.polaris-showcase::after { width: 25rem; height: 25rem; bottom: -20rem; left: 37%; }
.polaris-tour-layout { display: grid; grid-template-columns: minmax(250px, .78fr) minmax(0, 1.55fr); align-items: center; gap: clamp(2.5rem, 6vw, 6.5rem); width: min(100%, 1440px); margin-inline: auto; }
.polaris-tour-copy { max-width: 31rem; }
.polaris-tour-eyebrow { display: inline-flex; align-items: center; gap: .6rem; margin: 0 0 1.15rem; color: #07815f; font: 700 .72rem/1.2 var(--font-geist-mono, monospace); letter-spacing: .16em; }
.polaris-tour-eyebrow::before { width: 1.6rem; height: 2px; background: #0ca878; content: ""; }
.polaris-tour-copy h2 { max-width: 12ch; margin: 0; color: #10231f; font-size: clamp(2.15rem, 3.7vw, 3.35rem); font-weight: 570; letter-spacing: -.065em; line-height: 1.02; }
.polaris-tour-copy > .polaris-tour-intro { max-width: 29rem; margin: .75rem 0 0; color: #5c6e68; font-size: clamp(.95rem, 1.15vw, 1.08rem); line-height: 1.55; }
.tour-timeline-wrap { margin: 1.2rem 0 1.05rem; }
.tour-timeline { position: relative; display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.tour-timeline::before { position: absolute; z-index: 0; top: 17px; bottom: 17px; left: 14px; width: 1px; background: #a9d9c3; content: ""; }
.tour-timeline > li { position: relative; z-index: 1; }
.tour-timeline-step { display: grid; width: 100%; min-height: 42px; grid-template-columns: 29px 34px minmax(0,1fr); align-items: center; gap: 7px; padding: 4px 7px 4px 0; border: 1px solid transparent; border-radius: 9px; background: transparent; color: #71837a; font: inherit; text-align: left; cursor: pointer; transition: background .3s ease, border-color .3s ease, color .3s ease; }
.tour-timeline-number { display: grid; width: 23px; height: 23px; place-items: center; border: 1px solid #a9cdbb; border-radius: 50%; background: #fbfdfb; color: #55786a; font: 700 .62rem/1 var(--font-geist-mono, monospace); transition: border-color .3s ease, background .3s ease, color .3s ease, box-shadow .3s ease; }
.tour-timeline-icon { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 50%; background: #eaf3ee; color: #547c69; transition: background .3s ease, color .3s ease; }
.tour-timeline-icon svg { width: 15px; height: 15px; }
.tour-timeline-copy { display: grid; min-width: 0; gap: 2px; }
.tour-timeline-copy strong { color: #24463a; font-size: .78rem; font-weight: 680; }
.tour-timeline-copy small { overflow: hidden; color: #829188; font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.tour-timeline-step.is-active { border-color: rgba(13,107,84,.1); background: rgba(255,255,255,.75); color: #0d6b54; }
.tour-timeline-step.is-active .tour-timeline-number { border-color: #0da676; background: #0da676; color: #fff; box-shadow: 0 0 0 3px rgba(13,166,118,.11); }
.tour-timeline-step.is-active .tour-timeline-icon { background: #e1f2e9; color: #0d7656; }
.tour-timeline-step.is-active .tour-timeline-copy strong { color: #123f32; }
.tour-timeline-playback { display: flex; align-items: center; gap: 9px; margin: 9px 1px 0; }
.tour-timeline-play,.tour-timeline-repeat { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; padding: 0; border: 1px solid #d5e8dd; border-radius: 50%; background: rgba(255,255,255,.78); color: #0b8c65; cursor: pointer; transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
.tour-timeline-play svg { width: 12px; height: 12px; fill: currentColor; stroke-width: 1; }
.tour-timeline-repeat svg { width: 14px; height: 14px; stroke-width: 1.8; }
.tour-timeline-play:hover,.tour-timeline-repeat:hover { transform: translateY(-1px); border-color: #a8d6bf; background: #eaf5ee; }
.tour-timeline-step:focus-visible,.tour-timeline-play:focus-visible,.tour-timeline-repeat:focus-visible { outline: 2px solid #13865f; outline-offset: 2px; }
.tour-timeline-track { height: 4px; flex: 1; overflow: hidden; border-radius: 99px; background: #dce8e2; }
.tour-timeline-track i { display: block; width: 100%; height: 100%; border-radius: inherit; background: #0aa576; transform: scaleX(0); transform-origin: left center; }
.tour-timeline-time { flex: 0 0 auto; color: #798c82; font: 500 .58rem var(--font-geist-mono, monospace); white-space: nowrap; }
.tour-timeline-time b { font-weight: 500; }
.tour-timeline-time i { padding: 0 2px; color: #a3b0a9; font-style: normal; }
.polaris-tour-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; }
.polaris-tour-actions a { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: .55rem; padding: .72rem 1.05rem; border: 1px solid #0e604c; border-radius: 8px; background: #0d604c; color: #fff; font-size: .88rem; font-weight: 650; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.polaris-tour-actions a:hover { transform: translateY(-2px); background: #0b513f; box-shadow: 0 10px 22px rgba(9, 75, 58, .17); }
.polaris-tour-actions a svg { width: 16px; height: 16px; }
.polaris-tour-actions .polaris-tour-secondary { border-color: transparent; background: transparent; color: #0d604c; }
.polaris-tour-actions .polaris-tour-secondary:hover { box-shadow: none; }
.polaris-tour-disclaimer { display: flex; align-items: center; gap: .5rem; margin: 1.2rem 0 0; color: #71817b; font-size: .73rem; }
.polaris-tour-disclaimer svg { width: 15px; height: 15px; color: #398e70; }

.polaris-tour-stage { position: relative; min-width: 0; perspective: 1400px; }
.polaris-tour-window { position: relative; width: 100%; height: clamp(445px, 42vw, 570px); overflow: hidden; border: 1px solid rgba(18, 54, 45, .15); border-radius: 16px; background: #f7faf8; box-shadow: 0 35px 90px rgba(20, 54, 43, .17), 0 3px 10px rgba(20, 54, 43, .08); transform: rotateY(-2deg) rotateX(1deg); transform-style: preserve-3d; }
.polaris-tour-windowbar { position: relative; z-index: 30; display: flex; height: 39px; align-items: center; gap: 6px; padding: 0 13px; border-bottom: 1px solid #e7ece9; background: #fff; }
.polaris-tour-windowbar i { width: 8px; height: 8px; border-radius: 50%; background: #d8e0dc; }
.polaris-tour-windowbar i:first-child { background: #f0a5a0; }.polaris-tour-windowbar i:nth-child(2) { background: #edce86; }.polaris-tour-windowbar i:nth-child(3) { background: #8dcba9; }
.polaris-tour-url { position: absolute; left: 50%; width: min(48%, 300px); overflow: hidden; padding: .25rem .8rem; border-radius: 999px; background: #f3f6f4; color: #87938e; font: 500 .58rem var(--font-geist-mono, monospace); text-align: center; text-overflow: ellipsis; transform: translateX(-50%); white-space: nowrap; }
.polaris-tour-scene { position: absolute; inset: 39px 0 0; opacity: 0; pointer-events: none; transform: translateY(10px) scale(.995); }
.tour-story-scene { z-index: 1; display: grid; place-items: center; overflow: hidden; padding: clamp(16px, 2.5vw, 28px); background: #f5f8f6; transition: opacity .55s ease, transform .55s ease; }
.tour-story-scene.is-active { z-index: 2; opacity: 1; transform: none; }
.polaris-tour-layout:not(.is-playing) .tour-story-scene,.polaris-tour-layout:not(.is-playing) .tour-story-scene * { animation-play-state: paused !important; }
.tour-role-scene,.tour-login-scene { background: radial-gradient(ellipse at center, #fff 0, #f1f7f3 63%, #e9f2ed 100%); }
.tour-workspace-scene { display: block; padding: 0; }
.tour-route-detail-scene { z-index: 2; }
.tour-story-scene svg { width: 16px; height: 16px; flex: 0 0 auto; }

.tour-account-card { position: relative; display: flex; width: min(82%, 390px); min-height: 275px; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; padding: 28px; border: 1px solid #dce9e3; border-radius: 17px; background: rgba(255,255,255,.93); box-shadow: 0 22px 60px rgba(30, 69, 55, .12); text-align: center; }
.tour-account-orbit { position: absolute; top: -84px; width: 210px; height: 210px; border: 1px solid rgba(17, 128, 87, .12); border-radius: 50%; box-shadow: 0 0 0 22px rgba(17, 128, 87, .035), 0 0 0 44px rgba(17, 128, 87, .025); }
.tour-account-kicker { position: relative; color: #188360; font: 700 .55rem var(--font-geist-mono, monospace); letter-spacing: .14em; }
.tour-account-avatar { display: grid; width: 56px; height: 56px; place-items: center; margin: 18px 0 13px; border: 5px solid #e7f4ed; border-radius: 50%; background: #166b53; color: #fff; font-size: .9rem; font-weight: 750; box-shadow: 0 0 0 1px #cfe7d9; }
.tour-account-card > strong { color: #12372d; font-size: clamp(1.15rem, 2.1vw, 1.55rem); letter-spacing: -.04em; }
.tour-account-detail { margin-top: 7px; color: #71837a; font-size: .72rem; }
.tour-account-chip { margin-top: 15px; padding: .38rem .65rem; border-radius: 99px; background: #e7f5ed; color: #137654; font-size: .56rem; font-weight: 750; letter-spacing: .05em; }
.tour-account-foot { margin-top: 19px; color: #9aa69f; font-size: .58rem; }
.tour-commercial-role .tour-account-avatar { background: #376d85; border-color: #e5f1f5; box-shadow: 0 0 0 1px #d0e5eb; }
.tour-commercial-role .tour-account-chip { background: #eaf4f6; color: #326c7d; }

.tour-login-card { width: min(68%, 320px); padding: 25px 25px 21px; border: 1px solid #e1eae5; border-radius: 13px; background: rgba(255,255,255,.97); box-shadow: 0 20px 55px rgba(27, 70, 54, .14); }
.tour-login-brand { display: flex; align-items: center; gap: 9px; margin-bottom: 15px; color: #153a30; font-size: .77rem; font-weight: 750; letter-spacing: .08em; }
.tour-login-mark { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; background: #dff2e8; color: #0c7353; font-size: .8rem; }
.tour-login-context { color: #17825f; font: 700 .49rem var(--font-geist-mono, monospace); letter-spacing: .12em; }
.tour-login-card h3 { margin: .38rem 0 0; color: #17362e; font-size: 1.3rem; letter-spacing: -.04em; }
.tour-login-card > p { margin: .35rem 0 .85rem; color: #84918b; font-size: .62rem; }
.tour-field { display: block; margin-top: 9px; color: #536b62; font-size: .54rem; font-weight: 650; }
.tour-field span { display: block; margin-bottom: 5px; }
.tour-field i { display: flex; height: 31px; align-items: center; padding: 0 9px; border: 1px solid #dce8e2; border-radius: 6px; background: #fff; color: #677a72; font-size: .58rem; font-style: normal; font-weight: 400; }
.tour-dots { letter-spacing: .13em; }
.tour-login-button { display: flex; height: 34px; align-items: center; justify-content: center; gap: 7px; margin-top: 13px; border-radius: 6px; background: #0f684f; color: #fff; font-size: .6rem; font-weight: 700; animation: tour-press-button 4s ease-in-out infinite; }
.tour-login-button svg { width: 13px; height: 13px; opacity: 0; animation: tour-check-in 4s ease-in-out infinite; }
.tour-login-foot { display: flex; justify-content: space-between; margin-top: 12px; color: #93a099; font-size: .48rem; }.tour-login-foot span:last-child { color: #16805e; }

.tour-workspace { display: grid; width: 100%; height: 100%; grid-template-columns: 96px minmax(0,1fr); background: #f5f8f6; }
.tour-sidebar { display: flex; min-height: 0; flex-direction: column; align-items: center; gap: 11px; padding: 13px 7px 10px; background: #11352e; color: #e8f6ee; }
.tour-app-mark { display: grid; width: 31px; height: 31px; flex: 0 0 auto; place-items: center; border-radius: 9px; background: #dff2e8; color: #0d7153; font-size: .85rem; font-weight: 800; }
.tour-sidebar-org { margin: -4px 0 8px; color: #a7c7b8; font: 700 .4rem/1.35 var(--font-geist-mono, monospace); letter-spacing: .12em; text-align: center; }
.tour-nav-item { display: flex; width: 100%; min-height: 38px; align-items: center; gap: 8px; padding: 0 8px; border-radius: 7px; color: #acc9bc; transition: background .25s ease, color .25s ease; }
.tour-nav-item svg { width: 15px; height: 15px; }
.tour-nav-item small { overflow: hidden; font-size: .48rem; text-overflow: ellipsis; white-space: nowrap; }
.tour-nav-item.is-active { background: #ddf1e7; color: #0c6f52; }
.tour-sidebar-spacer { flex: 1; }
.tour-sidebar-avatar { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid rgba(223,242,232,.25); border-radius: 50%; color: #dff2e8; font-size: .48rem; font-weight: 750; }
.tour-app-main { display: grid; min-width: 0; min-height: 0; grid-template-rows: 48px minmax(0,1fr); overflow: hidden; }
.tour-app-header { display: flex; min-width: 0; align-items: center; gap: 12px; padding: 0 16px; border-bottom: 1px solid #e5ebe8; background: #fff; }
.tour-app-title { min-width: 0; margin-right: auto; }.tour-app-title small { display: block; color: #168263; font: 700 .43rem var(--font-geist-mono, monospace); letter-spacing: .1em; }.tour-app-title strong { display: block; margin-top: 3px; color: #15352e; font-size: .68rem; }
.tour-role-badge { padding: .3rem .48rem; border-radius: 99px; background: #e9f5ed; color: #137553; font-size: .49rem; font-weight: 700; }
.tour-app-user { display: flex; align-items: center; gap: 6px; color: #60736a; font-size: .48rem; white-space: nowrap; }
.tour-app-avatar { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 50%; background: #def0e7; color: #127153; font-size: .48rem; font-weight: 750; }
.tour-workspace-content { min-width: 0; min-height: 0; overflow: hidden; padding: clamp(15px, 2.3vw, 24px); }
.tour-feature-kicker { color: #198265; font: 700 .48rem var(--font-geist-mono, monospace); letter-spacing: .13em; }
.tour-page-heading h3,.tour-dashboard-welcome h3 { margin: .38rem 0 .3rem; color: #143a31; font-size: clamp(1.1rem, 1.8vw, 1.45rem); letter-spacing: -.045em; }
.tour-page-heading p,.tour-dashboard-welcome p { margin: 0; color: #7d8c85; font-size: .57rem; }
.tour-filter-bar { display: flex; height: 37px; align-items: center; gap: 9px; margin-top: 18px; padding: 0 9px; border: 1px solid #dfe9e3; border-radius: 7px; background: #fff; color: #657870; font-size: .56rem; }.tour-filter-bar svg { color: #7c9086; }.tour-filter-bar b { margin-left: auto; padding: .38rem .7rem; border-radius: 5px; background: #0f684f; color: #fff; font-size: .5rem; animation: tour-press-button 3s ease-in-out infinite; }
.tour-result-summary { display: flex; align-items: center; gap: 8px; margin: 15px 0 7px; color: #25463b; }.tour-result-summary strong { font-size: .63rem; }.tour-result-summary small { margin-left: auto; color: #8a9890; font-size: .49rem; }.tour-searching-dot { width: 8px; height: 8px; border-radius: 50%; background: #26a56f; box-shadow: 0 0 0 4px rgba(38,165,111,.12); animation: tour-search-pulse 1.5s ease-in-out infinite; }
.tour-opportunity-list,.tour-client-list { display: grid; gap: 6px; }
.tour-opportunity-row,.tour-client-row { display: grid; min-height: 49px; grid-template-columns: 24px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 7px 10px; border: 1px solid #e2ebe5; border-radius: 7px; background: #fff; opacity: 0; animation: tour-row-enter 1.1s ease-out forwards; animation-delay: calc(var(--row-index) * .45s); }
.tour-opportunity-check,.tour-client-checkbox { display: grid; width: 20px; height: 20px; place-items: center; border: 1px solid #cfe4d7; border-radius: 6px; background: #e9f6ee; color: #0e855d; font-size: .68rem; font-weight: 800; transform: scale(.7); animation: tour-check-in .8s ease-out forwards; animation-delay: calc(.4s + var(--row-index) * .45s); }
.tour-opportunity-row > span:nth-child(2),.tour-client-copy { min-width: 0; }.tour-opportunity-row b,.tour-client-copy b { display: block; overflow: hidden; color: #193c31; font-size: .57rem; text-overflow: ellipsis; white-space: nowrap; }.tour-opportunity-row small,.tour-client-copy small { display: block; margin-top: 3px; color: #89968f; font-size: .48rem; }
.tour-fit-badge { padding: .28rem .43rem; border-radius: 99px; background: #edf6f0; color: #4d8067; font-size: .46rem; white-space: nowrap; }
.tour-results-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; padding-top: 10px; border-top: 1px solid #e6ede8; color: #75877e; font-size: .49rem; }.tour-next-step { display: inline-flex; align-items: center; gap: 5px; color: #0d7052; font-weight: 700; }.tour-next-step svg { width: 13px; height: 13px; }
.tour-stepper { display: flex; align-items: center; gap: 6px; margin-bottom: 16px; color: #9aa8a0; font-size: .46rem; }.tour-stepper > span { display: flex; align-items: center; gap: 4px; white-space: nowrap; }.tour-stepper small { font-size: .44rem; }.tour-stepper i { height: 1px; flex: 1; background: #dfe9e3; }.tour-stepper .is-current { color: #087752; font-weight: 800; }.tour-stepper .is-done { color: #4e9a73; }
.tour-zone-layout { display: grid; grid-template-columns: 1.3fr .7fr; gap: 12px; margin-top: 16px; }.tour-map-panel,.tour-route-map,.tour-detail-map { position: relative; min-height: 176px; overflow: hidden; border: 1px solid #dce8e1; border-radius: 9px; background: #edf4ef; }.tour-map-grid { position: absolute; inset: 0; opacity: .72; background-image: linear-gradient(27deg, transparent 46%, #d8e5dc 47%, #d8e5dc 48%, transparent 49%), linear-gradient(151deg, transparent 42%, #dce8e0 43%, #dce8e0 44%, transparent 45%), linear-gradient(90deg, transparent 48%, rgba(192,214,200,.8) 49%, rgba(192,214,200,.8) 50%, transparent 51%); background-size: 57px 49px, 72px 61px, 86px 74px; }
.tour-map-shape,.tour-route-drawing { position: absolute; inset: 8% 6%; width: 88% !important; height: 84% !important; overflow: visible; }.tour-map-shape path:first-child { fill: rgba(150,205,172,.24); stroke: #a8cdb6; stroke-width: 2; }.tour-map-shape path:last-child { fill: none; stroke: #d0ddd4; stroke-width: 4; stroke-linecap: round; }
.tour-zone-name,.tour-detail-location { position: absolute; bottom: 10px; left: 10px; padding: .35rem .5rem; border: 1px solid rgba(219,232,223,.9); border-radius: 5px; background: rgba(255,255,255,.9); color: #60776b; font-size: .46rem; }
.tour-map-pin,.tour-route-point { position: absolute; display: grid; width: 22px; height: 22px; place-items: center; border: 3px solid #fff; border-radius: 50% 50% 50% 0; background: #12815c; color: #fff; font-size: .44rem; font-weight: 800; box-shadow: 0 2px 6px rgba(23,70,49,.2); transform: rotate(-45deg); }.tour-map-pin::first-letter,.tour-route-point::first-letter { transform: rotate(45deg); }.tour-map-pin { transform: none; border-radius: 50%; }.pin-one { top: 28%; left: 29%; }.pin-two { top: 51%; left: 53%; }.pin-three { top: 27%; left: 72%; }
.tour-zone-options { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 13px; border: 1px solid #e1eae4; border-radius: 8px; background: #fff; }.tour-zone-options small { color: #86948d; font-size: .44rem; font-weight: 700; letter-spacing: .08em; }.tour-zone-options b { margin-top: 8px; color: #1a3e32; font-size: .67rem; }.tour-zone-options > span { margin-top: 5px; color: #89968f; font-size: .49rem; }.tour-zone-selected { display: flex; align-items: center; gap: 5px; margin-top: 14px; padding: .38rem .5rem; border-radius: 5px; background: #e8f5ec; color: #16744f; font-size: .46rem; font-weight: 700; }.tour-zone-selected svg { width: 12px; height: 12px; }
.tour-client-row { grid-template-columns: 20px 28px minmax(0,1fr) auto; min-height: 54px; }.tour-client-checkbox { width: 19px; height: 19px; border-radius: 5px; }.tour-client-initial { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 7px; background: #eaf5ef; color: #157554; font-size: .55rem; font-weight: 750; }.tour-client-distance { color: #7f9086; font-size: .48rem; white-space: nowrap; }
.tour-generated-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 12px; margin-top: 15px; }.tour-route-map { min-height: 182px; }.tour-route-drawing { inset: 12% 8%; width: 84% !important; height: 76% !important; }.tour-route-drawing path { fill: none; stroke: #13835c; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 440; stroke-dashoffset: 440; animation: tour-draw-route 3s .5s ease forwards; }.tour-route-point { width: 24px; height: 24px; border-radius: 50%; transform: none; }.point-a { bottom: 17%; left: 13%; }.point-b { top: 42%; left: 47%; }.point-c { top: 18%; right: 14%; }.tour-route-start { position: absolute; bottom: 9px; left: 9px; color: #61786c; font-size: .45rem; }
.tour-route-stops { display: flex; flex-direction: column; gap: 7px; }.tour-route-stops > div { display: grid; grid-template-columns: 22px minmax(0,1fr); align-items: center; gap: 2px 7px; padding: 6px 7px; border: 1px solid #e4ece6; border-radius: 6px; background: #fff; }.tour-route-stops > div > span { grid-row: span 2; display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; background: #e6f4eb; color: #147452; font-size: .45rem; font-weight: 800; }.tour-route-stops b { overflow: hidden; color: #214638; font-size: .49rem; text-overflow: ellipsis; white-space: nowrap; }.tour-route-stops small { color: #87958d; font-size: .42rem; }.tour-route-estimate { margin-top: auto; color: #607b6b; font-size: .46rem; font-weight: 650; }.tour-success-message { display: inline-flex; align-items: center; gap: 5px; color: #168157; font-weight: 700; }.tour-success-message svg { width: 13px; height: 13px; }
.tour-assignment-summary,.tour-assignee-row { display: flex; align-items: center; gap: 10px; margin-top: 18px; padding: 12px; border: 1px solid #e0e9e3; border-radius: 8px; background: #fff; }.tour-assignment-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 8px; background: #e9f5ee; color: #147755; }.tour-assignment-summary > span:last-child,.tour-assignee-row > span:nth-child(2) { display: grid; gap: 4px; }.tour-assignment-summary b,.tour-assignee-row b { color: #1e4135; font-size: .57rem; }.tour-assignment-summary small,.tour-assignee-row small { color: #87968e; font-size: .47rem; }.tour-assignee-row { border-color: #cfe5d7; box-shadow: 0 0 0 2px rgba(34,137,88,.07); }.tour-assignee-avatar { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 50%; background: #e7eef6; color: #406b81; font-size: .55rem; font-weight: 750; }.tour-assignee-selected { display: flex; align-items: center; gap: 4px; margin-left: auto; padding: .36rem .5rem; border-radius: 99px; background: #e8f5ed; color: #147650; font-size: .46rem; font-weight: 700; }.tour-assignee-selected svg { width: 12px; height: 12px; }.tour-assignment-confirm { display: flex; align-items: center; justify-content: space-between; margin-top: 12px; padding: 11px 13px; border-radius: 7px; background: #0e6d51; color: #fff; font-size: .55rem; font-weight: 650; animation: tour-confirm-glow 2s ease-in-out infinite alternate; }.tour-assignment-confirm span { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.18); }
.tour-dashboard-welcome { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }.tour-day-date,.tour-route-count { padding: .38rem .55rem; border-radius: 99px; background: #edf5f0; color: #507364; font: 700 .43rem var(--font-geist-mono, monospace); white-space: nowrap; }.tour-route-alert { position: relative; display: flex; align-items: center; gap: 10px; margin-top: 17px; padding: 12px; border: 1px solid #cfe7d7; border-radius: 8px; background: #f2faf5; color: #147453; animation: tour-alert-glow 2.4s ease-in-out infinite; }.tour-route-alert > span:nth-child(2) { display: grid; gap: 4px; }.tour-route-alert b { color: #1a4937; font-size: .57rem; }.tour-route-alert small { color: #71877b; font-size: .47rem; }.tour-alert-dot { width: 8px; height: 8px; margin-left: auto; border-radius: 50%; background: #28a667; box-shadow: 0 0 0 4px rgba(40,166,103,.12); }
.tour-shift-card { display: flex; align-items: center; gap: 9px; margin-top: 11px; padding: 10px; border: 1px solid #e1eae4; border-radius: 8px; background: #fff; }.tour-shift-icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; background: #eef4f0; color: #678276; }.tour-shift-card > span:nth-child(2) { display: grid; gap: 4px; }.tour-shift-card b { color: #28493d; font-size: .53rem; }.tour-shift-card small { color: #87958d; font-size: .45rem; }.tour-clock-button { display: flex; align-items: center; gap: 6px; margin-left: auto; padding: .45rem .6rem; border-radius: 5px; background: #0f6a50; color: #fff; font-size: .48rem; font-weight: 700; animation: tour-press-button 4s ease-in-out infinite; white-space: nowrap; }.tour-clock-button i { font-style: normal; }.tour-shift-confirm { display: flex; height: 0; align-items: center; overflow: hidden; margin-top: 0; padding-inline: 10px; border-radius: 6px; background: #e6f4eb; color: #14764f; font-size: .48rem; font-weight: 700; animation: tour-shift-complete 4s 1s ease-in-out infinite; }.tour-mini-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin-top: 12px; }.tour-mini-stats > span { display: grid; gap: 5px; padding: 9px; border: 1px solid #e4ece7; border-radius: 7px; background: #fff; }.tour-mini-stats small { color: #86938c; font-size: .44rem; }.tour-mini-stats b { color: #1b4937; font-size: .62rem; }
.tour-route-list-card { display: grid; grid-template-columns: 35px minmax(0,1fr) auto; align-items: center; gap: 10px; margin-top: 21px; padding: 13px; border: 1px solid #cfe4d7; border-radius: 9px; background: #fff; box-shadow: 0 8px 25px rgba(32,88,60,.08); animation: tour-alert-glow 2.5s ease-in-out infinite; }.tour-route-list-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 8px; background: #e9f5ee; color: #117753; }.tour-route-list-copy { display: grid; min-width: 0; gap: 4px; }.tour-route-list-copy small { color: #16815d; font: 700 .41rem var(--font-geist-mono, monospace); letter-spacing: .06em; }.tour-route-list-copy b { color: #173c30; font-size: .68rem; }.tour-route-list-copy span { overflow: hidden; color: #829188; font-size: .47rem; text-overflow: ellipsis; white-space: nowrap; }.tour-new-pill { padding: .33rem .46rem; border-radius: 99px; background: #fff1d9; color: #a36c16; font-size: .4rem; font-weight: 800; }.tour-open-route { grid-column: 2 / -1; display: flex; align-items: center; justify-content: flex-end; gap: 4px; margin-top: 4px; color: #117252; font-size: .49rem; font-weight: 700; }.tour-open-route svg { width: 12px; height: 12px; }.tour-route-list-note { margin-top: 12px; color: #86958c; font-size: .48rem; }
.tour-route-detail-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }.tour-route-back { color: #527465; font-size: .49rem; }.tour-route-live { color: #18835d; font: 700 .43rem var(--font-geist-mono, monospace); letter-spacing: .08em; }.tour-detail-menu { color: #728a7e; font-size: 1rem; }.tour-detail-map { min-height: 125px; margin-top: 11px; }.tour-detail-map .tour-route-drawing { inset: 11% 6%; width: 88% !important; height: 78% !important; }.tour-detail-map .tour-route-drawing path { stroke-width: 4; animation-delay: 1s; }.detail-point-a { bottom: 18%; left: 10%; }.detail-point-b { top: 43%; left: 48%; }.detail-point-c { top: 17%; right: 10%; }.tour-detail-location { right: 8px; bottom: 8px; left: auto; font-size: .41rem; }.tour-detail-stops { display: grid; gap: 5px; margin-top: 8px; }.tour-detail-stop { display: grid; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; gap: 8px; min-height: 35px; padding: 5px 8px; border: 1px solid #e6ece8; border-radius: 6px; background: #fff; }.tour-detail-stop > span:first-child { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; background: #edf4ef; color: #5c7969; font-size: .45rem; font-weight: 750; }.tour-detail-stop > span:nth-child(2) { display: grid; gap: 3px; }.tour-detail-stop b { color: #28493c; font-size: .49rem; }.tour-detail-stop small { color: #89968f; font-size: .42rem; }.tour-detail-stop i { color: #70847a; font-size: .44rem; font-style: normal; }.tour-detail-stop.is-next { border-color: #cfe5d7; background: #f7fbf8; }.tour-detail-stop.is-next > span:first-child { background: #157a55; color: #fff; }.tour-route-detail-action { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 9px; padding: 8px; border-radius: 6px; background: #0f684f; color: #fff; font-size: .5rem; font-weight: 700; }

@keyframes tour-row-enter { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@keyframes tour-check-in { 0%,45% { opacity: 0; transform: scale(.65); } 70% { opacity: 1; transform: scale(1.15); } 100% { opacity: 1; transform: scale(1); } }
@keyframes tour-press-button { 0%,20%,100% { filter: brightness(1); transform: scale(1); } 27% { filter: brightness(.83); transform: scale(.97); } 36% { filter: brightness(1); transform: scale(1); } }
@keyframes tour-search-pulse { 50% { box-shadow: 0 0 0 7px rgba(38,165,111,.04); } }
@keyframes tour-draw-route { to { stroke-dashoffset: 0; } }
@keyframes tour-confirm-glow { to { box-shadow: 0 0 0 4px rgba(26,139,89,.13); } }
@keyframes tour-alert-glow { 50% { box-shadow: 0 0 0 4px rgba(35,139,86,.08); } }
@keyframes tour-shift-complete { 30%,100% { height: 30px; margin-top: 7px; padding-inline: 10px; } }

@media (max-width: 920px) {
  .polaris-tour-layout { grid-template-columns: 1fr; gap: 2rem; }
  .polaris-tour-copy { max-width: 44rem; }
  .polaris-tour-copy h2 { max-width: 14ch; }
  .polaris-tour-window { height: min(66vw, 570px); min-height: 440px; }
}
@media (max-width: 560px) {
  .polaris-showcase { padding: 4rem 5vw; }
  .polaris-tour-copy h2 { font-size: clamp(2.15rem, 9vw, 3rem); }
  .polaris-tour-window { height: 485px; min-height: 0; border-radius: 12px; transform: none; }
  .tour-story-scene { padding: 11px; }
  .tour-timeline-wrap { margin: 1rem 0 .8rem; }
  .tour-timeline-step { min-height: 39px; grid-template-columns: 27px 31px minmax(0,1fr); gap: 6px; }
  .tour-timeline-number { width: 21px; height: 21px; font-size: .58rem; }
  .tour-timeline-icon { width: 27px; height: 27px; }
  .tour-timeline-copy strong { font-size: .73rem; }
  .tour-timeline-copy small { font-size: .61rem; }
  .tour-timeline-time { font-size: .53rem; }
  .tour-workspace-scene { padding: 0; }
  .tour-workspace { grid-template-columns: 48px minmax(0,1fr); }
  .tour-sidebar { gap: 8px; padding: 9px 4px; }
  .tour-app-mark { width: 27px; height: 27px; }
  .tour-sidebar-org { font-size: .3rem; }
  .tour-nav-item { min-height: 34px; justify-content: center; padding: 0; }
  .tour-nav-item small { display: none; }
  .tour-app-header { gap: 5px; padding-inline: 8px; }
  .tour-app-title small { font-size: .34rem; }.tour-app-title strong { font-size: .58rem; }
  .tour-role-badge { padding: .25rem .35rem; font-size: .4rem; }.tour-app-user { gap: 4px; font-size: .38rem; }.tour-app-avatar { width: 19px; height: 19px; font-size: .4rem; }
  .tour-workspace-content { padding: 12px 9px; }
  .tour-page-heading h3,.tour-dashboard-welcome h3 { font-size: 1rem; }.tour-page-heading p,.tour-dashboard-welcome p { font-size: .49rem; }
  .tour-stepper { gap: 3px; margin-bottom: 12px; }.tour-stepper small { display: none; }
  .tour-zone-layout,.tour-generated-layout { grid-template-columns: 1fr; gap: 7px; margin-top: 10px; }.tour-map-panel { min-height: 135px; }.tour-zone-options { display: grid; grid-template-columns: 1fr auto; gap: 4px 8px; padding: 8px; }.tour-zone-options small,.tour-zone-options b,.tour-zone-options > span { margin: 0; }.tour-zone-selected { grid-row: 1 / span 3; grid-column: 2; margin: 0; }
  .tour-results-footer { margin-top: 8px; padding-top: 7px; font-size: .43rem; }.tour-client-row { min-height: 47px; }.tour-opportunity-row { min-height: 43px; }.tour-filter-bar { margin-top: 12px; }.tour-result-summary { flex-wrap: wrap; }.tour-result-summary small { width: 100%; margin-left: 28px; }
  .tour-route-map { min-height: 132px; }.tour-route-stops { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 4px; }.tour-route-stops > div { grid-template-columns: 17px minmax(0,1fr); gap: 2px 4px; padding: 5px 4px; }.tour-route-stops > div > span { width: 16px; height: 16px; }.tour-route-stops b { font-size: .41rem; }.tour-route-stops small { grid-column: 2; font-size: .37rem; }.tour-route-estimate { grid-column: 1 / -1; }
  .tour-route-alert { gap: 6px; margin-top: 11px; padding: 8px; }.tour-route-alert b,.tour-shift-card b { font-size: .48rem; }.tour-route-alert small,.tour-shift-card small { font-size: .4rem; }.tour-shift-card { gap: 6px; padding: 7px 5px; }.tour-shift-icon { width: 24px; height: 24px; }.tour-clock-button { gap: 3px; padding: .38rem .4rem; font-size: .39rem; }.tour-mini-stats { gap: 4px; margin-top: 8px; }.tour-mini-stats > span { gap: 3px; padding: 6px 5px; }.tour-mini-stats small { font-size: .37rem; }.tour-mini-stats b { font-size: .5rem; }
  .tour-route-list-card { grid-template-columns: 27px minmax(0,1fr) auto; gap: 6px; margin-top: 13px; padding: 8px 6px; }.tour-route-list-icon { width: 26px; height: 26px; }.tour-route-list-copy small { font-size: .34rem; }.tour-route-list-copy b { font-size: .57rem; }.tour-route-list-copy span { font-size: .39rem; }.tour-new-pill { padding: .26rem .32rem; font-size: .34rem; }
  .tour-account-card { width: 94%; min-height: 250px; padding: 19px; }.tour-account-detail { font-size: .62rem; }.tour-login-card { width: 90%; padding: 20px 17px; }
  .tour-route-detail-head { margin-bottom: 7px; }.tour-detail-map { min-height: 110px; margin-top: 8px; }.tour-detail-stop { min-height: 32px; gap: 5px; padding-inline: 5px; }.tour-detail-stop b { font-size: .43rem; }.tour-detail-stop small { font-size: .37rem; }.tour-detail-stop i { font-size: .38rem; }
}
@media (prefers-reduced-motion: reduce) {
  .tour-login-button,.tour-login-button svg,.tour-opportunity-row,.tour-client-row,.tour-opportunity-check,.tour-client-checkbox,.tour-route-drawing path,.tour-assignment-confirm,.tour-route-alert,.tour-route-list-card,.tour-clock-button,.tour-shift-confirm { animation: none !important; }
  .tour-story-scene { transition: none; }
  .tour-opportunity-row,.tour-client-row { opacity: 1; }
  .tour-opportunity-check,.tour-client-checkbox { opacity: 1; transform: none; }
  .tour-route-drawing path { stroke-dashoffset: 0; }
  .tour-shift-confirm { height: 30px; margin-top: 7px; padding-inline: 10px; }
  .tour-timeline-step,.tour-timeline-number,.tour-timeline-icon,.tour-timeline-play,.tour-timeline-repeat { transition: none; }
}

/* Denser, product-like workspace screens for the Polaris story tour. */
.tour-workspace-content { background: #f4f7f5; }
.tour-app-header { gap: 10px; }
.tour-header-context { padding: .34rem .5rem; border: 1px solid #e5ece8; border-radius: 5px; color: #74847d; font-size: .43rem; white-space: nowrap; }
.tour-header-bell { position: relative; display: grid; width: 24px; height: 24px; place-items: center; color: #627a6e; }
.tour-header-bell svg { width: 14px; height: 14px; }
.tour-header-bell i { position: absolute; top: 3px; right: 3px; width: 5px; height: 5px; border: 1px solid white; border-radius: 50%; background: #16a16b; }
.tour-app-user { gap: 7px; }
.tour-app-user > span:last-child { display: grid; gap: 2px; }
.tour-app-user b { color: #344f43; font-size: .46rem; font-weight: 650; }
.tour-app-user small { color: #8a9890; font-size: .4rem; }
.tour-breadcrumb { display: flex; min-width: 0; align-items: center; gap: 6px; margin-bottom: 10px; color: #819088; font-size: .4rem; }
.tour-breadcrumb i { color: #b3beb8; font-style: normal; }
.tour-breadcrumb b { color: #48675a; font-weight: 650; }
.tour-breadcrumb > span { overflow: hidden; margin-left: auto; color: #9aa69f; text-overflow: ellipsis; white-space: nowrap; }
.tour-heading-with-action { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; }
.tour-view-switch { padding: .35rem .48rem; border: 1px solid #e2eae5; border-radius: 6px; background: #fff; color: #78877f; font-size: .4rem; white-space: nowrap; }
.tour-view-switch b { color: #386b56; font-weight: 700; }
.tour-metric-strip,.tour-commercial-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; margin-top: 11px; }
.tour-metric-strip > div,.tour-commercial-stats > div { display: grid; min-width: 0; gap: 3px; padding: 7px 8px; border: 1px solid #e1e9e4; border-radius: 6px; background: #fff; }
.tour-metric-strip small,.tour-commercial-stats small { overflow: hidden; color: #829087; font-size: .39rem; text-overflow: ellipsis; white-space: nowrap; }
.tour-metric-strip b,.tour-commercial-stats b { color: #1f4435; font-size: .76rem; line-height: 1.1; }
.tour-metric-strip b em,.tour-commercial-stats b em { color: #72867a; font-size: .42rem; font-style: normal; font-weight: 550; }
.tour-metric-strip > div > span,.tour-commercial-stats > div > span { overflow: hidden; color: #84938a; font-size: .36rem; text-overflow: ellipsis; white-space: nowrap; }
.tour-metric-strip > div:first-child b { color: #117554; }
.tour-filter-bar { height: 31px; margin-top: 10px; font-size: .46rem; }
.tour-filter-bar b { padding: .32rem .55rem; font-size: .42rem; }
.tour-filter-bar svg { width: 13px; height: 13px; }
.tour-filter-chips { display: flex; align-items: center; gap: 5px; margin: 6px 0 8px; }
.tour-filter-chips span { padding: .26rem .38rem; border: 1px solid #e0e9e3; border-radius: 4px; background: #fff; color: #597266; font-size: .37rem; }
.tour-filter-chips i { margin-left: 4px; color: #90a198; font-style: normal; }
.tour-filter-chips small { margin-left: auto; color: #788c80; font-size: .36rem; white-space: nowrap; }
.tour-list-toolbar { display: flex; align-items: center; gap: 7px; margin: 4px 0 6px; color: #648074; font-size: .38rem; }
.tour-list-toolbar > div { display: grid; gap: 2px; margin-right: auto; }
.tour-list-toolbar strong { color: #2d5142; font-size: .52rem; }
.tour-list-toolbar small { color: #87958d; font-size: .36rem; }
.tour-list-toolbar > span { padding: .3rem .4rem; border: 1px solid #e3eae6; border-radius: 4px; background: #fff; }
.tour-list-toolbar > b { padding: .34rem .48rem; border-radius: 4px; background: #126a51; color: #fff; font-size: .37rem; font-weight: 650; }
.tour-opportunity-list { gap: 4px; }
.tour-opportunity-row { grid-template-columns: 18px 25px minmax(110px,1.5fr) minmax(70px,.8fr) minmax(58px,.6fr) auto 12px; min-height: 42px; gap: 6px; padding: 5px 7px; border-radius: 5px; }
.tour-opportunity-check { width: 16px; height: 16px; border-radius: 4px; font-size: .52rem; }
.tour-lead-avatar { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 6px; background: #e9f2ed; color: #46745d; font-size: .4rem; font-weight: 750; }
.tour-opportunity-row:nth-child(2) .tour-lead-avatar { background: #f4efe4; color: #987b42; }
.tour-opportunity-row:nth-child(3) .tour-lead-avatar { background: #e9edf5; color: #587094; }
.tour-lead-main,.tour-lead-contact { display: grid; min-width: 0; gap: 2px; }
.tour-lead-main b,.tour-lead-contact b { overflow: hidden; color: #25483a; font-size: .43rem; text-overflow: ellipsis; white-space: nowrap; }
.tour-lead-main small,.tour-lead-contact small { overflow: hidden; color: #829087; font-size: .35rem; text-overflow: ellipsis; white-space: nowrap; }
.tour-lead-main em { overflow: hidden; color: #9aa69f; font-size: .33rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.tour-lead-stage { padding: .22rem .3rem; border-radius: 3px; background: #f2f5f3; color: #708379; font-size: .33rem; white-space: nowrap; }
.tour-fit-badge { padding: .25rem .34rem; font-size: .35rem; }
.tour-row-menu { color: #8b9a91; font-size: .65rem; text-align: center; }
.tour-list-foot { display: flex; align-items: center; gap: 8px; padding: 5px 2px 0; color: #87958d; font-size: .35rem; }
.tour-list-foot > span:nth-child(2) { margin-left: auto; color: #648071; }
.tour-list-foot b { color: #167251; font-size: .36rem; font-weight: 650; }
.tour-results-footer { margin-top: 7px; padding-top: 6px; font-size: .37rem; }
.tour-results-footer svg { width: 11px; height: 11px; }
.tour-stepper { margin-bottom: 9px; font-size: .38rem; }
.tour-stepper small { font-size: .36rem; }
.tour-page-heading h3,.tour-dashboard-welcome h3 { margin: .25rem 0 .2rem; font-size: clamp(.92rem,1.35vw,1.12rem); }
.tour-page-heading p,.tour-dashboard-welcome p { font-size: .43rem; }
.tour-route-settings { display: grid; grid-template-columns: 1.45fr 1fr .75fr 1fr; gap: 5px; margin-top: 8px; }
.tour-route-settings label { display: grid; gap: 4px; min-width: 0; color: #829087; font-size: .34rem; }
.tour-route-settings b { overflow: hidden; padding: 5px 6px; border: 1px solid #e1e9e4; border-radius: 4px; background: #fff; color: #48695a; font-size: .36rem; font-weight: 550; text-overflow: ellipsis; white-space: nowrap; }
.tour-route-settings i { float: right; color: #92a097; font-style: normal; }
.tour-zone-layout { grid-template-columns: 1.5fr .5fr; gap: 8px; margin-top: 8px; }
.tour-map-panel { min-height: 135px; }
.tour-zone-options { display: grid; grid-template-columns: minmax(0,1fr) auto; align-content: center; gap: 5px 7px; padding: 9px; }
.tour-zone-options small,.tour-zone-options b,.tour-zone-options > span { grid-column: 1 / -1; margin: 0; }
.tour-zone-options small { font-size: .36rem; }
.tour-zone-options b { font-size: .55rem; }
.tour-zone-options > span { font-size: .38rem; }
.tour-zone-stat { display: grid; gap: 2px; padding: 5px; border-radius: 4px; background: #f4f8f5; }
.tour-zone-stat b { color: #277454; font-size: .63rem; }
.tour-zone-stat span { color: #819188; font-size: .32rem; }
.tour-zone-selected { grid-column: 1 / -1; margin-top: 2px; padding: .3rem .4rem; font-size: .36rem; }
.tour-map-label { position: absolute; z-index: 1; color: #91a49a; font: 600 .32rem var(--font-geist-mono,monospace); letter-spacing: .08em; }
.label-north { top: 12%; left: 13%; }.label-east { top: 47%; right: 11%; }.label-south { bottom: 19%; left: 43%; }
.tour-map-road { position: absolute; z-index: 0; width: 140%; height: 2px; background: rgba(255,255,255,.9); transform: rotate(-24deg); }
.road-a { top: 40%; left: -15%; }.road-b { top: 65%; left: -18%; transform: rotate(18deg); }
.tour-map-shape { z-index: 1; opacity: .55; }
.tour-map-pin { z-index: 2; }
.tour-client-list { gap: 4px; margin-top: 8px; }
.tour-client-row { grid-template-columns: 17px 23px minmax(0,1fr) 58px 12px; min-height: 44px; gap: 6px; padding: 5px 7px; }
.tour-client-checkbox { width: 15px; height: 15px; font-size: .5rem; }
.tour-client-initial { width: 22px; height: 22px; font-size: .39rem; }
.tour-client-copy b { font-size: .43rem; }
.tour-client-copy small,.tour-client-copy em { display: block; overflow: hidden; color: #829087; font-size: .34rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.tour-client-copy em { margin-top: 2px; color: #9aa69f; font-size: .32rem; }
.tour-client-distance { display: grid; gap: 2px; text-align: right; }
.tour-client-distance b { color: #547a65; font-size: .4rem; }
.tour-client-distance small { color: #9aa69f; font-size: .31rem; }
.tour-selection-toolbar { display: flex; align-items: center; justify-content: space-between; margin-top: 8px; padding: 6px 8px; border: 1px solid #dfe9e3; border-radius: 5px; background: #fff; }
.tour-selection-toolbar > span:first-child { display: grid; gap: 2px; }
.tour-selection-toolbar b { color: #345b49; font-size: .42rem; }
.tour-selection-toolbar small,.tour-selection-toolbar > span:last-child { color: #89978f; font-size: .34rem; }
.tour-route-summary-line { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto; gap: 5px; margin-top: 7px; padding: 6px 7px; border: 1px solid #e3eae5; border-radius: 5px; background: #fff; color: #87948d; font-size: .32rem; }
.tour-route-summary-line b { color: #4c715e; font-size: .34rem; }
.tour-route-status { padding: .32rem .46rem; border-radius: 99px; background: #e9f6ed; color: #258057; font-size: .37rem; white-space: nowrap; }
.tour-route-kpis,.tour-detail-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; margin-top: 8px; }
.tour-route-kpis > div,.tour-detail-kpis > span { display: grid; gap: 3px; padding: 6px 7px; border: 1px solid #e1e9e4; border-radius: 5px; background: #fff; }
.tour-route-kpis small,.tour-detail-kpis small { color: #8b9991; font-size: .32rem; letter-spacing: .04em; }
.tour-route-kpis b,.tour-detail-kpis b { color: #315846; font-size: .5rem; }
.tour-route-kpis em { color: #809087; font-size: .36rem; font-style: normal; font-weight: 500; }
.tour-generated-layout { grid-template-columns: 1.25fr .75fr; gap: 8px; margin-top: 8px; }
.tour-route-map { min-height: 144px; }
.tour-route-stops { gap: 4px; }
.tour-route-stops > strong.tour-stop-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1px; color: #385c4b; font-size: .42rem; }
.tour-stop-heading small { color: #9aa69f; font-size: .28rem; font-weight: 500; }
.tour-route-stops > div { gap: 2px 5px; padding: 4px 5px; }
.tour-route-stops > div > span { width: 17px; height: 17px; font-size: .37rem; }
.tour-route-stops b { font-size: .4rem; }
.tour-route-stops small { font-size: .33rem; }
.tour-route-estimate { font-size: .35rem; }
.tour-route-map-legend { position: absolute; right: 7px; bottom: 7px; display: flex; align-items: center; gap: 4px; padding: 4px 5px; border: 1px solid #e2eae5; border-radius: 4px; background: rgba(255,255,255,.9); color: #6d8578; font-size: .32rem; }
.tour-route-map-legend i { width: 9px; height: 2px; background: #16815a; }
.tour-route-bottom { display: flex; align-items: center; gap: 9px; margin-top: 7px; padding-top: 6px; border-top: 1px solid #e1e9e4; color: #819087; font-size: .34rem; }
.tour-route-bottom > b { margin-left: auto; color: #607d6e; font-size: .34rem; font-weight: 600; }
.tour-route-bottom .tour-next-step { white-space: nowrap; }
.tour-assignment-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(115px,.65fr); gap: 8px; margin-top: 9px; }
.tour-assignment-main { min-width: 0; }
.tour-assignment-summary { gap: 7px; margin-top: 0; padding: 7px; }
.tour-assignment-icon { width: 26px; height: 26px; }
.tour-assignment-icon svg { width: 14px; height: 14px; }
.tour-assignment-summary > span:nth-child(2) { gap: 2px; }
.tour-assignment-summary small { color: #8b9991; font-size: .3rem; }
.tour-assignment-summary b { font-size: .4rem; }
.tour-assignment-summary > span:last-child span,.tour-assignment-summary > span:nth-child(2) > span { color: #88978e; font-size: .33rem; }
.tour-summary-edit { margin-left: auto; color: #187457; font-size: .34rem; }
.tour-team-toolbar { display: flex; align-items: center; gap: 4px; margin: 8px 0 4px; color: #61796e; font-size: .31rem; }
.tour-team-toolbar b { margin-right: auto; color: #405f50; font-size: .4rem; }
.tour-team-toolbar b small { margin-left: 3px; color: #98a49d; font-size: .29rem; font-weight: 500; }
.tour-team-toolbar > span { padding: 4px; border: 1px solid #e3eae5; border-radius: 3px; background: #fff; white-space: nowrap; }
.tour-assignee-list { display: grid; gap: 4px; }
.tour-assignee-row { display: grid; grid-template-columns: 24px minmax(0,1fr) auto 12px; gap: 5px; margin: 0; padding: 5px; border-radius: 5px; box-shadow: none; }
.tour-assignee-row.is-selected { border-color: #b9dcc8; background: #f8fcf9; }
.tour-assignee-avatar { width: 23px; height: 23px; font-size: .36rem; }
.tour-assignee-avatar.avatar-blue { background: #e9f0f8; color: #577394; }
.tour-assignee-avatar.avatar-purple { background: #f1ecf5; color: #7a668a; }
.tour-assignee-row > span:nth-child(2) { gap: 2px; }
.tour-assignee-row b { font-size: .37rem; }
.tour-assignee-row small { overflow: hidden; font-size: .3rem; text-overflow: ellipsis; white-space: nowrap; }
.tour-availability { color: #448362; font-size: .3rem; white-space: nowrap; }
.tour-availability i { display: inline-block; width: 5px; height: 5px; margin-right: 2px; border-radius: 50%; background: #3cac72; }
.tour-availability.is-busy { color: #aa8550; }
.tour-availability.is-busy i { background: #d8a343; }
.tour-assignee-selected { grid-column: 4; grid-row: 1; width: 14px; height: 14px; justify-content: center; overflow: hidden; margin: 0; padding: 0; font-size: 0; }
.tour-assignee-selected svg { width: 10px; height: 10px; }
.tour-radio { width: 11px; height: 11px; border: 1px solid #cfdbd3; border-radius: 50%; }
.tour-assignment-aside { display: grid; align-content: start; gap: 7px; padding: 8px; border: 1px solid #e0e8e3; border-radius: 6px; background: #fff; }
.tour-assignment-aside > b { color: #385b49; font-size: .41rem; }
.tour-assignment-aside > div:not(.tour-aside-note) { display: grid; gap: 2px; padding-bottom: 5px; border-bottom: 1px solid #edf1ee; }
.tour-assignment-aside > div span { color: #8a9890; font-size: .3rem; }
.tour-assignment-aside > div strong { color: #4d6e5c; font-size: .34rem; font-weight: 600; }
.tour-aside-note { padding: 5px; border-radius: 4px; background: #f3f8f5; color: #75877c; font-size: .31rem; line-height: 1.4; }
.tour-assignment-aside .tour-assignment-confirm { justify-content: center; margin: 0; padding: 6px 4px; font-size: .33rem; }
.tour-assignment-aside .tour-assignment-confirm i { margin-left: 4px; font-style: normal; }
.tour-assignment-toast { gap: 5px; margin-top: 6px; padding: 5px 8px; font-size: .34rem; }
.tour-assignment-toast svg { width: 12px; height: 12px; }
.tour-dashboard-welcome { align-items: center; }
.tour-commercial-stats { margin-top: 10px; }
.tour-route-alert { gap: 7px; margin-top: 8px; padding: 8px; }
.tour-route-alert > svg { width: 16px; height: 16px; }
.tour-route-alert > span:nth-child(2) { gap: 2px; min-width: 0; }
.tour-route-alert b { font-size: .43rem; }
.tour-route-alert small { overflow: hidden; font-size: .35rem; text-overflow: ellipsis; white-space: nowrap; }
.tour-day-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 7px; margin-top: 8px; }
.tour-day-panel { min-width: 0; padding: 7px; border: 1px solid #e1e9e4; border-radius: 6px; background: #fff; }
.tour-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 5px; margin-bottom: 5px; }
.tour-panel-head b { color: #3a5a4b; font-size: .42rem; }
.tour-panel-head > span { color: #18805c; font-size: .32rem; }
.tour-agenda-row { display: grid; grid-template-columns: 30px minmax(0,1fr) auto; align-items: center; gap: 5px; min-height: 33px; border-top: 1px solid #edf1ee; }
.tour-agenda-row > i { color: #648171; font-size: .34rem; font-style: normal; font-weight: 650; }
.tour-agenda-row > span { display: grid; min-width: 0; gap: 2px; }
.tour-agenda-row b { overflow: hidden; color: #3f5d4e; font-size: .35rem; text-overflow: ellipsis; white-space: nowrap; }
.tour-agenda-row small { overflow: hidden; color: #96a198; font-size: .3rem; text-overflow: ellipsis; white-space: nowrap; }
.tour-agenda-row em { color: #80948a; font-size: .28rem; font-style: normal; white-space: nowrap; }
.tour-shift-panel > p { margin: 0 0 6px; color: #84928a; font-size: .34rem; line-height: 1.4; }
.tour-shift-status { padding: .2rem .34rem; border-radius: 99px; background: #fff5df; color: #a47b31 !important; }
.tour-shift-card { gap: 6px; margin-top: 0; padding: 6px; }
.tour-shift-icon { width: 23px; height: 23px; }
.tour-shift-card b { font-size: .35rem; }
.tour-shift-card small { font-size: .3rem; }
.tour-clock-button { padding: .34rem .4rem; font-size: .32rem; }
.tour-shift-policy { display: block; margin-top: 6px; color: #9aa59f; font-size: .28rem; }
.tour-shift-confirm { font-size: .34rem; }
.tour-route-tabs { display: flex; align-items: center; gap: 14px; margin-top: 12px; border-bottom: 1px solid #e2eae5; color: #7d8c83; font-size: .39rem; }
.tour-route-tabs > * { padding-bottom: 6px; }
.tour-route-tabs > b { border-bottom: 2px solid #147553; color: #236348; }
.tour-route-tabs i { margin-left: 3px; color: #829087; font-size: .34rem; font-style: normal; }
.tour-route-tabs .tour-route-date { margin-left: auto; color: #71847a; }
.tour-route-list-card { grid-template-columns: 28px minmax(0,1fr) auto; gap: 7px; margin-top: 9px; padding: 9px; }
.tour-route-list-icon { width: 27px; height: 27px; }
.tour-route-list-copy { gap: 3px; }
.tour-route-list-copy small { font-size: .32rem; }
.tour-route-list-copy b { font-size: .5rem; }
.tour-route-list-copy span { font-size: .35rem; }
.tour-route-list-card .tour-new-pill { grid-column: 3; grid-row: 1; font-size: .3rem; }
.tour-route-meta { grid-column: 2; color: #839188; font-size: .32rem; }
.tour-open-route { grid-column: 3; grid-row: 2; margin-top: 0; font-size: .34rem; }
.tour-route-secondary { display: grid; grid-template-columns: 21px minmax(0,1fr) auto; align-items: center; gap: 6px; margin-top: 5px; padding: 7px; border: 1px solid #e5ebe7; border-radius: 5px; background: #fff; }
.tour-secondary-icon { display: grid; width: 19px; height: 19px; place-items: center; border-radius: 50%; background: #edf5ef; color: #4f8563; font-size: .38rem; }
.tour-route-secondary > span:nth-child(2) { display: grid; gap: 2px; }
.tour-route-secondary b { color: #536e5f; font-size: .38rem; }
.tour-route-secondary small { color: #939f98; font-size: .32rem; }
.tour-route-secondary > span:last-child { color: #57806a; font-size: .32rem; }
.tour-route-list-note { font-size: .35rem; line-height: 1.45; }
.tour-detail-kpis { margin-top: 7px; }
.tour-detail-kpis > span { padding: 5px 6px; }
.tour-detail-kpis small { font-size: .29rem; }
.tour-detail-kpis b { font-size: .39rem; }
.tour-detail-map { min-height: 105px; margin-top: 7px; }
.tour-detail-section-head { display: flex; align-items: center; justify-content: space-between; gap: 5px; margin-top: 6px; color: #3a5d4a; }
.tour-detail-section-head b { font-size: .4rem; }
.tour-detail-section-head span { color: #8d9b92; font-size: .31rem; }
.tour-detail-stops { gap: 3px; margin-top: 5px; }
.tour-detail-stop { grid-template-columns: 18px minmax(0,1fr) auto; min-height: 29px; gap: 5px; padding: 3px 5px; }
.tour-detail-stop > span:first-child { width: 17px; height: 17px; font-size: .35rem; }
.tour-detail-stop > span:nth-child(2) { gap: 2px; }
.tour-detail-stop b { font-size: .36rem; }
.tour-detail-stop small { overflow: hidden; font-size: .3rem; text-overflow: ellipsis; white-space: nowrap; }
.tour-detail-stop i { font-size: .32rem; }
.tour-route-detail-bottom { display: flex; align-items: center; justify-content: space-between; gap: 7px; margin-top: 6px; color: #8b9991; font-size: .31rem; }
.tour-route-detail-action { flex: 0 0 auto; margin: 0; padding: 5px 7px; font-size: .34rem; }
.tour-route-detail-action svg { width: 11px; height: 11px; }

@media (max-width: 560px) {
  .tour-header-context,.tour-app-user > span:last-child,.tour-breadcrumb > span { display: none; }
  .tour-metric-strip,.tour-commercial-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tour-filter-chips { flex-wrap: wrap; }
  .tour-filter-chips small { width: 100%; margin-left: 0; }
  .tour-list-toolbar > span:nth-of-type(1),.tour-list-toolbar > span:nth-of-type(2) { display: none; }
  .tour-opportunity-row { grid-template-columns: 16px 21px minmax(0,1fr) auto; }
  .tour-lead-contact,.tour-lead-stage,.tour-row-menu { display: none; }
  .tour-lead-main em { display: none; }
  .tour-list-foot > span:first-child { max-width: 40%; }
  .tour-zone-layout,.tour-generated-layout,.tour-assignment-layout,.tour-day-grid { grid-template-columns: 1fr; }
  .tour-route-settings { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tour-zone-options { grid-template-columns: 1fr auto auto; }
  .tour-zone-options small,.tour-zone-options b,.tour-zone-options > span { grid-column: 1 / -1; }
  .tour-zone-stat { min-width: 55px; }
  .tour-route-summary-line { grid-template-columns: 1fr auto; }
  .tour-assignment-aside { grid-template-columns: 1fr 1fr; }
  .tour-assignment-aside > b,.tour-aside-note,.tour-assignment-aside .tour-assignment-confirm { grid-column: 1 / -1; }
  .tour-assignment-aside > div:not(.tour-aside-note) { border: 0; }
  .tour-detail-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Raster cartography includes the simulated route and numbered stops; hide the old CSS/SVG map overlays. */
.tour-map-panel,.tour-route-map,.tour-detail-map {
  background-color: #f2f4ed;
  background-image: url('/web-demos/polaris-tour-map.webp?v=0.1.0.20-route-markers');
  background-position: center;
  background-size: cover;
}
.tour-map-grid,.tour-map-shape,.tour-map-road,.tour-route-drawing,.tour-map-pin,.tour-route-point { display: none !important; }
