:root{--blue:#2e4cfa;--ink:#17233a;--muted:#768094;--line:#e8ecf2;--soft:#f5f7fb}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;font-size:16px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #90a4ff;outline-offset:4px}button{border:0;background:none;color:inherit}a{color:inherit;text-decoration:none}.topbar{height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:30px;padding:0 4%}.brand{display:flex;align-items:center;font-size:26px;font-weight:800;letter-spacing:-1px;gap:9px}.brandmark{background:var(--blue);color:white;width:36px;height:36px;display:grid;place-items:center;border-radius:12px;font-size:31px;line-height:1}.brand-dot{font-size:10px;color:var(--blue);align-self:end;margin-bottom:7px;margin-left:-6px}.brand-caption{border-left:1px solid var(--line);padding-left:30px;color:var(--muted);font-size:14px}.top-right{margin-left:auto;display:flex;align-items:center;gap:22px}.demo-pill{font-size:13px;color:#56617a;background:var(--soft);border-radius:20px;padding:8px 12px}.avatar{border-radius:50%;width:37px;height:37px;background:#edf0ff;color:var(--blue);font-weight:700}main{max-width:1600px;margin:auto;padding:0 4%}.trip-header{display:flex;align-items:center;justify-content:space-between;padding:34px 0 27px}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:700;color:var(--muted)}h1{font-size:38px;letter-spacing:-1.5px;line-height:1.2;margin:10px 0 12px}h1 span{font-size:32px;color:var(--blue);margin-left:18px}.trip-header p{color:var(--muted);margin:0;font-size:14px}.outline{border:1px solid #dce1ec;border-radius:10px;padding:12px 17px;font-size:14px;background:#fff;font-weight:600}.outline span{margin-left:15px}.view-tabs{display:flex;gap:29px;border-bottom:1px solid var(--line);margin-bottom:24px;align-items:center}.view-tabs button{font-size:15px;color:var(--muted);padding:12px 0 17px;border-bottom:3px solid transparent}.view-tabs button.active{border-color:var(--blue);color:var(--blue);font-weight:650}.small-dot{display:inline-block;width:6px;height:6px;background:var(--blue);border-radius:50%;margin:0 5px 2px}.save-note{margin-left:auto;color:var(--muted);font-size:13px;padding-bottom:7px}.workspace{display:grid;grid-template-columns:420px 1fr;gap:25px;min-height:660px}.itinerary{padding-right:10px}.days{display:flex;gap:9px;margin-bottom:25px}.day-tab{border:1px solid var(--line);border-radius:11px;min-width:63px;padding:10px 13px;text-align:left;flex:1}.day-tab span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.day-tab b{font-size:17px;font-weight:650}.day-tab.active{background:var(--blue);border-color:var(--blue);color:white;box-shadow:0 5px 15px #2e4cfa22}.day-tab.active span{color:#d6ddff}.day-heading h2{font-size:26px;letter-spacing:-.7px;margin:9px 0}.day-heading p{font-size:14px;color:var(--muted);line-height:1.5;margin:0 0 20px;max-width:370px}.metrics{display:flex;background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:15px 0;margin-bottom:25px}.metrics>div{padding:0 14px;flex:1;border-right:1px solid var(--line);white-space:nowrap}.metrics>div:last-child{border:0}.metrics strong{display:block;font-size:14px;margin-top:6px}.metrics small{font-size:12px;color:var(--muted);display:block;margin-top:5px}.metrics span{color:var(--blue);font-size:19px}.timeline{position:relative}.stop{display:grid;grid-template-columns:32px 1fr;gap:11px;position:relative;margin-bottom:0}.stop:before{position:absolute;content:"";left:15px;width:1px;background:#dce2ef;top:32px;bottom:-13px}.stop:last-child:before{display:none}.stop-number{border:1px solid #d6ddff;background:white;color:var(--blue);height:31px;border-radius:50%;font-size:13px;display:grid;place-items:center;font-weight:700;z-index:1}.stop.done .stop-number{background:var(--blue);color:white}.stop-card{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:white;transition:.2s}.stop-card:hover{border-color:#aebafd;box-shadow:0 4px 18px #17233a08}.stop-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);gap:10px}.category{background:#f0f3ff;color:#5262b7;padding:4px 7px;border-radius:5px;font-size:12px}.stop-name{text-align:left;font-size:17px;font-weight:650;letter-spacing:-.3px;padding:0;margin:9px 0 6px;display:block}.stop-description{margin:0;font-size:13px;color:var(--muted);line-height:1.5}.stop-meta{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:12px;color:var(--muted)}.visit-button{font-size:12px;border:1px solid var(--line);border-radius:6px;padding:5px 8px}.visit-button:hover,.visit-button.done{background:#edf1ff;color:var(--blue)}.travel-leg{grid-column:2;font-size:12px;color:var(--muted);padding:12px 4px 14px;display:flex;gap:8px}.rest-note{display:flex;gap:12px;margin:18px 0;padding:17px;background:#f5f7fb;border-radius:12px}.rest-note>span{font-size:23px;color:#aa7b21}.rest-note strong{font-size:13px}.rest-note p{font-size:12px;line-height:1.5;margin:5px 0 0;color:var(--muted)}.map-area{position:sticky;top:20px;height:690px;border-radius:18px;overflow:hidden;background:#e4edf3;isolation:isolate}.leaflet-container{font-family:inherit}#map{width:100%;height:100%}.map-head{position:absolute;top:19px;left:19px;right:19px;display:flex;justify-content:space-between;gap:8px;pointer-events:none;z-index:500}.map-label,.map-button{background:white;border-radius:10px;padding:13px 15px;font-size:13px;box-shadow:0 3px 20px #17233a12;pointer-events:auto}.map-button{font-size:23px;line-height:1;padding:9px 13px}.map-photo{position:absolute;bottom:118px;right:21px;width:190px;height:125px;border-radius:12px;background:#243b51 center/cover;box-shadow:0 6px 25px #17233a20;z-index:500;overflow:hidden;color:white}.map-photo>div{background:linear-gradient(0deg,#142333ca,transparent);width:100%;height:100%;padding:17px;display:flex;flex-direction:column;justify-content:end}.map-photo span{font-size:10px;letter-spacing:1px;margin-bottom:8px}.map-photo strong{font-size:19px;line-height:1.1}.map-footer{position:absolute;bottom:32px;left:20px;right:20px;z-index:500;border-radius:13px;padding:17px;background:white;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 25px #17233a14;gap:12px}.map-footer strong{font-size:14px}.map-footer small{display:block;font-size:11px;color:var(--muted);margin-top:6px;max-width:240px;line-height:1.4}.route-key{display:inline-block;background:var(--blue);width:23px;height:3px;vertical-align:middle;margin-right:8px}.primary{background:var(--blue);color:white;padding:13px 18px;border-radius:9px;font-size:14px;font-weight:600;white-space:nowrap}.primary:hover{background:#1f39db}.marker{height:34px;width:34px;background:var(--blue);border:3px solid white;box-shadow:0 3px 10px #16275444;border-radius:50%;color:white;font-weight:700;display:grid;place-items:center;font-size:13px}.marker.visited{background:#17233a}.map-fallback{position:absolute;top:45%;left:15%;right:15%;z-index:510;background:white;padding:20px;border-radius:12px;text-align:center}.page-footer{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);padding:25px 0 20px;gap:20px}.page-footer span:first-child{color:#55617a}dialog{border:0;border-radius:20px;padding:30px;width:min(570px,calc(100% - 28px));color:var(--ink);box-shadow:0 20px 100px #17233a33}dialog::backdrop{background:#13213b70;backdrop-filter:blur(4px)}dialog h2{font-size:30px;letter-spacing:-1px;margin:13px 0 8px}.dialog-top{display:flex;justify-content:space-between;align-items:center}.close{font-size:26px;color:var(--muted)}.muted{color:var(--muted);font-size:14px;margin:0 0 25px}.form-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:15px}label{font-size:14px;font-weight:600}input:not([type=range]),select{display:block;width:100%;border:1px solid #dce2ed;background:#fff;border-radius:8px;padding:12px;font-size:14px;margin-top:8px;color:var(--ink)}label small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:6px}.field-label{display:block;margin:24px 0 10px}.duration-choice,.interest-choice{display:flex;gap:9px;flex-wrap:wrap}.duration-choice button,.interest-choice button{border:1px solid var(--line);border-radius:8px;padding:10px 13px;font-size:14px}.selected{background:#eef1ff!important;color:var(--blue)!important;border-color:#b8c3ff!important}.field-label strong{float:right;color:var(--blue)}input[type=range]{width:100%;accent-color:var(--blue)}.range-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.hotel-label{display:block;margin-top:24px}.form-note{font-size:12px;line-height:1.5;color:var(--muted);margin:20px 0}.submit{width:100%}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#17233a;color:white;border-radius:10px;padding:14px 20px;z-index:10000;display:none;font-size:14px}#track-status{background:#eef1ff;border-radius:10px;padding:13px 15px;font-size:14px;color:var(--blue);margin-bottom:20px}.place-body{font-size:16px;line-height:1.6;color:#59647b}.place-coordinates{font-size:13px;color:var(--muted)}.place-actions{margin:20px 0;display:flex;gap:10px;flex-wrap:wrap}.place-demo{font-size:12px;color:var(--muted)}
@media(min-width:1500px){.workspace{grid-template-columns:450px 1fr}.map-area{height:740px}}@media(max-width:1050px){.workspace{grid-template-columns:370px 1fr;gap:18px}.map-footer{align-items:start;flex-direction:column}.map-footer .primary{width:100%}.map-photo{bottom:175px}.brand-caption{display:none}.metrics>div{padding:0 9px}.save-note{display:none}h1{font-size:32px}}@media(max-width:760px){.topbar{height:65px;padding:0 20px}.brand{font-size:23px}.demo-pill{font-size:11px}.top-right{gap:12px}main{padding:0 18px}.trip-header{padding:25px 0 17px;align-items:start;gap:10px}h1{font-size:28px;max-width:290px}h1 span{display:none}.trip-header .outline{font-size:0;padding:10px}.trip-header .outline span{font-size:23px;margin:0}.trip-header p{font-size:12px;line-height:1.5}.eyebrow{font-size:11px}.view-tabs{gap:24px;margin-bottom:18px}.workspace{display:flex;flex-direction:column}.itinerary{padding:0}.map-area{position:relative;top:0;height:460px;order:-1;margin-bottom:6px}.map-photo{display:none}.map-footer{flex-direction:row;align-items:center;bottom:23px;padding:12px;left:12px;right:12px}.map-footer .primary{width:auto;font-size:12px;padding:12px}.map-footer small{max-width:150px;font-size:10px}.map-head{top:12px;left:12px;right:12px}.map-label{font-size:12px}.days{margin-top:12px}.metrics>div{padding:0 14px}.page-footer{flex-direction:column;gap:8px;line-height:1.5}.form-grid{grid-template-columns:1fr}dialog{padding:23px}.map-area.tracking{height:350px}}
.leaflet-bottom.leaflet-right{bottom:125px}
@media(max-width:760px){.itinerary{display:contents}.days{order:-2;margin:0}.map-area{height:330px;margin-bottom:0}.map-area.tracking{height:330px}.leaflet-bottom.leaflet-right{bottom:105px}.day-heading{margin-top:10px}.metrics{margin-bottom:10px}.rest-note{margin-top:0}.map-footer small{max-width:170px}.map-footer{gap:8px}.map-footer .primary{padding:12px 10px}}
@media(max-width:390px){.metrics>div{padding:0 10px}.map-footer small{max-width:125px}.topbar{padding:0 15px}.demo-pill{padding:7px 8px}}

.leaflet-bottom.leaflet-right{bottom:0}.leaflet-control-zoom{position:absolute;bottom:180px;right:0}.day-tab{min-width:0;padding:10px}.day-tab b{white-space:nowrap;font-size:15px}
@media(max-width:760px){.leaflet-control-zoom{bottom:110px}.day-tab{padding:10px 9px}}

.original-name{font-size:14px;line-height:1.45;color:#536283;margin:0 0 10px;overflow-wrap:anywhere}.story-button{font-size:14px;font-weight:600;color:var(--blue);padding:0;margin:12px 0 0;display:flex;gap:7px;align-items:center}.story-button:hover{text-decoration:underline}.place-dialog-top{display:flex;align-items:center;justify-content:space-between}#place-dialog{width:min(660px,calc(100% - 28px));max-height:90dvh;overflow-y:auto}.detail-original{font-size:18px;margin:0 0 20px}.place-photo{margin:0 0 18px}.place-photo img{width:100%;height:270px;object-fit:cover;border-radius:12px;background:#edf0f5;display:block}.place-photo figcaption{font-size:12px;line-height:1.5;color:var(--muted);margin-top:8px}.place-photo a,.history-source{color:#5265a2;text-decoration:underline}#place-dialog h3{font-size:20px;margin:22px 0 9px}.place-body{margin:0 0 10px}.history-source{font-size:13px}.place-tip{margin-top:20px;padding:16px;background:#f0f3ff;border-radius:12px;font-size:14px;line-height:1.5}.place-tip p{margin:7px 0 0;color:#59647b}@media(max-width:760px){.place-photo img{height:210px}#place-dialog h2{font-size:26px}.detail-original{font-size:16px}}

.stop-card{cursor:pointer}.stop-card:focus-visible{outline:3px solid #90a4ff;outline-offset:3px}.card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.card-actions button{font-size:13px;padding:7px 9px;border:1px solid #dce2ed;border-radius:7px;background:white}.card-actions .skip-button,.card-actions .move-button{color:#637088}.visit-button.done,.primary.done{background:#dcf3e5!important;border-color:#b3dfc3!important;color:#25663c!important}.stop.done .stop-number,.marker.visited{background:#dcf3e5;color:#25663c;border-color:#b3dfc3}.stop.done .stop-state{color:#25663c}.stop.skipped .stop-card{background:#f7f8fa;border-style:dashed}.stop.skipped .stop-top,.stop.skipped .stop-name,.stop.skipped .original-name,.stop.skipped .stop-description{opacity:.48}.stop.skipped .stop-number{color:#8993a5;background:#f0f2f6;border-color:#d8dde6}.stop.skipped .stop-state{color:#697386;font-size:13px;font-weight:600}.marker-skipped{background:#b1b7c3;opacity:.55}.restore-button{color:var(--blue)}.place-actions{position:sticky;bottom:-30px;z-index:2;background:white;padding:14px 0;border-top:1px solid var(--line)}#move-form label{display:block}#move-form input[type=time]{width:100%}@media(max-width:760px){.place-actions{bottom:-23px}}
/* Day overview and individual journeys */
.mobile-switch{display:none}.journey-toolbar{position:absolute;top:0;left:0;right:0;z-index:600;height:62px;display:flex;gap:10px;align-items:center;background:white;padding:10px 14px;border-bottom:1px solid var(--line)}.journey-toolbar button{padding:10px 12px;border-radius:9px;white-space:nowrap;font-size:13px}.journey-toolbar button.active{background:#eef1ff;color:var(--blue);font-weight:700}.journey-toolbar select{min-width:0;flex:1;margin:0;padding:10px;font-size:12px}.map-area .map-head{top:78px}.map-area .map-photo{display:none}#journey-frame,#journey-detail{display:none}.map-area.has-leg #map,.map-area.has-leg .map-head,.map-area.has-leg .map-footer,.map-area.has-leg .map-fallback{display:none}.map-area.has-leg #journey-frame{display:flex;position:absolute;inset:62px 0 260px;background:#f2f5fa;align-items:center;justify-content:center}.map-area.has-leg #journey-detail{display:block;position:absolute;bottom:0;left:0;right:0;height:260px;overflow:auto;background:white;padding:18px 22px;border-top:1px solid var(--line)}#journey-frame iframe{width:100%;height:100%;border:0}.leg-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.close-leg{font-size:24px;color:var(--muted);line-height:1}.leg-detail-heading .eyebrow{font-size:10px}.leg-detail-heading+h3{font-size:18px;line-height:1.4;margin:8px 0 12px;letter-spacing:-.3px}.leg-detail-heading+h3 span{color:var(--blue)}.leg-mode{display:flex;align-items:center;gap:6px}.leg-mode button{border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:13px}.leg-mode button.active{background:var(--blue);border-color:var(--blue);color:white}.leg-mode strong{font-size:12px;margin-left:auto;color:var(--blue)}.leg-instructions{font-size:13px;color:#59647b;margin:12px 0 8px}.google-instructions{color:var(--blue);font-size:13px;font-weight:600}.route-demo-note{display:block;color:var(--muted);font-size:10px;margin-top:8px}.leg-warning{font-size:11px;color:#8a662d;line-height:1.4;margin:7px 0}.travel-leg{padding:10px 0}.leg-button{display:flex;align-items:center;width:100%;text-align:left;background:#f5f7fb;border:1px solid #e8ecf2;border-radius:10px;padding:11px 13px;gap:10px;color:#59647b}.leg-button:hover,.leg-button.active{border-color:#9aabff;background:#eef1ff;color:var(--blue)}.leg-button strong{font-size:12px;display:block}.leg-button small{display:block;font-size:11px;margin-top:4px;color:var(--muted)}.leg-symbol{font-size:19px;color:var(--blue)}.leg-chevron{margin-left:auto;color:var(--blue)}.route-unavailable{max-width:360px;text-align:center;padding:24px}.route-unavailable-icon{display:inline-grid;place-items:center;background:white;border-radius:16px;width:48px;height:48px;font-size:24px;color:var(--blue)}.route-unavailable h3{font-size:19px;margin:15px 0 8px}.route-unavailable p{font-size:14px;color:var(--muted);line-height:1.6}.google-link{display:inline-block;font-size:13px;margin-top:5px}
@media(max-width:760px){.mobile-switch{display:flex;gap:5px;background:#f5f7fb;border:1px solid var(--line);padding:4px;border-radius:12px;margin:0 0 16px}.mobile-switch button{flex:1;padding:10px;border-radius:9px;font-size:14px;color:var(--muted)}.mobile-switch button.active{background:white;box-shadow:0 2px 7px #17233a10;color:var(--blue);font-weight:650}.map-area{display:none}.show-map .map-area{display:block;height:650px!important}.show-map .day-heading,.show-map .metrics,.show-map #track-status,.show-map .timeline,.show-map .rest-note{display:none!important}.show-map .days{margin-bottom:5px}.map-area.has-leg #journey-frame{bottom:250px}.map-area.has-leg #journey-detail{height:250px;padding:16px 18px}.journey-toolbar{padding:10px}.journey-toolbar button{padding:10px 8px}.leg-detail-heading+h3{font-size:17px}.map-area .map-head{top:75px}.leg-mode strong{font-size:11px}.map-area{scroll-margin-top:12px}}
@media(max-width:760px){.mobile-switch{position:sticky;top:0;z-index:1100;background:#f5f7fb}.show-map .days{position:sticky;top:58px;z-index:1000;background:white;padding:6px 0}.map-area{scroll-margin-top:134px}}
.sorting-hint{font-size:12px;color:var(--muted);margin:0 0 16px;line-height:1.5}.drag-handle{font-size:23px;line-height:1;padding:2px 6px 2px 0;color:#9aa7be;cursor:grab;flex:none}.drag-handle:hover{color:var(--blue)}.stop-top{align-items:center}.stop-top .category{margin-left:auto}.stop-card{cursor:grab}.stop-card:active,.drag-handle:active{cursor:grabbing}.stop-card button:not(.drag-handle){cursor:pointer}.stop.dragging .stop-card{opacity:.4;border-color:#9baaff;background:#f2f4ff}.sorting{user-select:none}.stop.drop-before:after,.stop.drop-after:after{content:"";position:absolute;left:42px;right:0;height:4px;background:var(--blue);border-radius:4px;z-index:3;box-shadow:0 0 0 3px #eef1ff}.stop.drop-before:after{top:-6px}.stop.drop-after:after{bottom:5px}.show-map .sorting-hint{display:none}
.sort-ghost{position:fixed!important;z-index:2000;pointer-events:none;opacity:.94;background:white;box-shadow:0 18px 45px #17233a30;transform:rotate(1deg);border-color:#8ea1ff!important;margin:0}.sort-ghost .card-actions{opacity:.6}.drag-handle{touch-action:none}
/* Smooth live sorting and landing */
.timeline{overflow-anchor:none}.sorting .stop{will-change:transform}.sorting .stop.dragging .stop-card{opacity:.2;background:#eef1ff;border:1px dashed #8fa2ff}.sorting .travel-leg{opacity:.25;transition:opacity .16s}.sort-settling .stop-card{visibility:hidden}.sort-ghost{left:0!important;top:0!important;transform:translate3d(0,0,0);will-change:transform;transition:none!important;cursor:grabbing}.sorting .stop-number{transition:opacity .15s}.sorting .dragging .stop-number{opacity:.3}
body:has(.sorting){overflow-x:clip}
.persistence-status{display:flex;align-items:center;gap:12px;font-size:12px;color:#54826c;margin:-10px 0 18px;min-height:20px}.persistence-status [data-state=saving]{color:var(--muted)}.persistence-status [data-state=error]{color:#a25536}.persistence-status button{color:var(--blue);padding:4px 8px;border:1px solid var(--line);border-radius:6px;font-size:12px}

.days{flex-wrap:wrap}.day-tab{flex:1 0 65px}.day-tab b{white-space:nowrap;font-size:15px}

.optional-label{font-size:12px;font-weight:400;color:var(--muted);margin-left:8px}.field-help{font-size:12px;line-height:1.5;color:var(--muted);margin:9px 0 0}

.day-heading .day-place-count{font-size:13px;font-weight:600;color:var(--blue);margin:-10px 0 20px}

.place-picker{margin-top:24px;padding-top:1px;border-top:1px solid var(--line)}.place-picker .field-help{margin-bottom:10px}.place-results,.selected-places{list-style:none;padding:0;margin:10px 0}.place-results{max-height:220px;overflow:auto}.place-results li+li{margin-top:6px}.place-results button{width:100%;text-align:left;padding:12px;border:1px solid var(--line);border-radius:9px}.place-results button:hover{background:#f3f5ff}.place-results button:disabled{opacity:.55;cursor:default}.place-results strong,.place-results small{display:block}.place-results strong{font-size:14px}.place-results small{font-size:12px;color:var(--muted);margin-top:4px}.selected-count{font-size:13px;font-weight:600;color:var(--blue)}.selected-places li{display:flex;gap:10px;align-items:center;background:#eef1ff;border-radius:9px;margin-bottom:6px;padding:9px 12px;font-size:13px}.selected-places li span{flex:1}.selected-places button{font-size:21px;color:var(--blue)}.only-selected-label{display:flex;align-items:center;gap:9px;margin-top:16px;font-size:13px;line-height:1.5}.only-selected-label input[type=checkbox]{width:18px;height:18px;margin:0;flex:none;accent-color:var(--blue)}#place-list-input{display:block;width:100%;padding:12px;border:1px solid #dce2ed;border-radius:9px;font:inherit;resize:vertical;margin-bottom:12px}.required-place-label{font-size:11px;color:var(--blue);background:#eef1ff;padding:4px 7px;border-radius:5px}

.only-selected-label input[type=checkbox]{padding:0;border:0;border-radius:3px}

#plan-warning{width:min(620px,calc(100% - 28px))}#plan-warning p,#plan-warning li{line-height:1.5}#plan-warning-reasons{padding-left:22px;color:#6e5a26}#plan-warning li+li{margin-top:10px}#plan-warning .place-actions{position:static;display:flex;gap:12px;flex-wrap:wrap}#plan-warning .place-actions button{flex:1;padding:14px;min-width:180px}

.live-route{padding:18px;margin-top:18px;border:1px solid #dce2ed;border-radius:12px;background:#fff}.live-route input{display:block;width:100%;margin:8px 0 14px}.live-route li{margin:10px 0;line-height:1.5}.google-attribution{font-family:Arial,sans-serif;font-style:normal;font-weight:400;font-size:14px;white-space:nowrap;color:#5e5e5e}#optimize-roads{margin-top:12px}#road-preview .place-actions{display:flex;gap:12px;flex-wrap:wrap;position:static}

.google-place-search{display:flex;gap:10px;flex-wrap:wrap}.google-place-search input{flex:1;min-width:200px}.google-search-results{border-left:3px solid #e1e6ef;padding-left:12px}#recommendations{margin:20px 0;border:1px solid #dce2ed;border-radius:10px;padding:14px}#recommendations summary{cursor:pointer;font-weight:600}#recommended-places{max-height:280px;overflow:auto}#google-day-frame{position:absolute;inset:80px 0 90px;z-index:3}#google-day-frame iframe{width:100%;height:100%;border:0}.map-area.has-leg #google-day-frame{display:none}#google-day-frame[hidden]{display:none}@media(max-width:760px){#google-day-frame{inset:62px 0 90px}}
.google-numbered-canvas{width:100%;height:100%}.google-stop-marker{display:grid;place-items:center;width:38px;height:38px;border:3px solid white;border-radius:50%;background:var(--blue);color:white;font-size:16px;font-weight:750;box-shadow:0 3px 12px #17233a55;cursor:pointer}.google-stop-marker.is-visited{background:#398463}.google-stop-marker.is-skipped{opacity:.55;background:#748094}.google-map-status{position:absolute;left:12px;right:64px;top:8px;margin:0;padding:9px 12px;border-radius:9px;background:white;box-shadow:0 2px 12px #17233a20;font-size:12px;line-height:1.4;pointer-events:none}.google-numbered-list{position:absolute;left:10px;top:75px;max-width:250px;max-height:55%;overflow:auto;padding:8px;background:white;border-radius:12px;box-shadow:0 3px 16px #17233a30}.google-map-place{display:flex;gap:9px;align-items:center;text-align:left;padding:6px;font-size:12px;width:100%}.google-map-place b{display:grid;place-items:center;flex-shrink:0;width:27px;height:27px;border-radius:50%;color:white;background:var(--blue)}.google-map-place.is-skipped{opacity:.55}.google-map-place.is-visited b{background:#398463}.google-numbered-list small{display:block;color:var(--muted);font-size:10px;padding:8px;line-height:1.4}#google-day-frame{bottom:150px}.map-area:has(.google-numbered-canvas) .map-head{pointer-events:none}.map-area:has(.google-numbered-canvas) .map-label{display:none}@media(max-width:760px){#google-day-frame{bottom:110px}.google-numbered-list{max-width:180px}}
#start-map{height:320px;width:100%;margin-top:14px;border-radius:12px;overflow:hidden}#start-map[hidden],#custom-start[hidden],#district-start[hidden]{display:none}#start-results{list-style:none;margin:12px 0;padding:0}.start-result{width:100%;text-align:left;border:1px solid var(--line);border-radius:10px;padding:12px;margin:5px 0}.start-result small{display:block;color:var(--muted);margin-top:6px}.origin-marker{background:#17233a}#start-transition .travel-leg{display:block;padding:0 0 14px}#start-transition .field-help{font-weight:600;color:var(--ink)}
[hidden]{display:none!important}.start-map-shell{position:relative;border:1px solid #dce2ed;border-radius:12px;overflow:hidden;background:var(--soft)}.start-search-bar{display:flex;align-items:center;gap:8px;background:white;padding:8px 12px;border-bottom:1px solid var(--line)}.start-search-bar>span{font-size:26px;color:var(--muted)}.start-search-bar #start-search{margin:0;padding:10px 4px;border:0;border-radius:0;min-width:0;flex:1;width:auto}.start-search-bar #start-search:focus{outline:0}.start-search-bar:focus-within{box-shadow:inset 0 0 0 2px #c4cdff}.start-search-bar button{flex-shrink:0;font-size:23px;color:var(--muted);padding:4px 8px}.start-map-shell #start-map{height:320px;margin:0;border-radius:0}.start-map-shell #start-results{position:absolute;top:59px;left:8px;right:8px;z-index:10;max-height:250px;overflow:auto;background:white;border:1px solid var(--line);border-radius:10px;margin:0;box-shadow:0 5px 20px #17233a25;padding:4px}.start-map-shell .start-result{border:0;border-bottom:1px solid var(--line);border-radius:0;margin:0;font-size:14px}.start-result:hover,.start-result:focus-visible{background:#eef1ff}.start-selected{font-size:13px;font-weight:600;line-height:1.5;background:var(--soft);border-radius:9px;padding:12px;margin:10px 0}#start-own-label{margin-top:16px}
.start-search-bar input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;display:none}

#city-map{height:240px;border-radius:16px;overflow:hidden}#city-results{max-height:240px;overflow:auto}#city-picker{margin-bottom:20px}

.google-map-status{left:64px}

#city-map{height:320px}.city-place-marker{display:grid;place-items:center;width:34px;height:34px;padding:0;border:3px solid white;border-radius:50%;background:var(--blue);color:white;font-weight:750;box-shadow:0 2px 8px #17233a55}.city-place-marker.is-selected{background:#398463}.place-results button.is-selected{background:#edf7f0;border-color:#91bfa2}#recommendations h3{margin:0 0 8px}#recommended-places{max-height:300px}#city-picker #city-search{margin-bottom:8px}
#account-dialog{max-width:560px;width:calc(100% - 28px)}#account-dialog label{display:block;margin:16px 0 8px;font-weight:600}#account-form input{width:100%;box-sizing:border-box}#account-submit{width:100%;margin-top:12px}.account-tabs{display:flex;gap:10px;margin:20px 0}.account-tabs button{padding:10px 14px;border-radius:9px;border:1px solid var(--line)}.account-tabs .selected{background:var(--blue);color:white}.account-trips{list-style:none;margin:16px 0;padding:0;max-height:340px;overflow:auto}.account-trips li+li{margin-top:10px}.account-trip{display:block;text-align:left;width:100%;padding:16px;border:1px solid var(--line);border-radius:12px}.account-trip[aria-pressed=true]{border-color:var(--blue);background:#f1f3ff}.account-trip strong,.account-trip span{display:block}.account-trip span{color:var(--muted);font-size:13px;margin-top:5px}#account-logout{margin-left:8px}#account-status{color:var(--muted)}#account-dialog [hidden]{display:none}

#account-reset-form input{width:100%;box-sizing:border-box}#account-reset-form button{display:block;width:100%;margin-top:12px}#account-forgot{margin-top:12px}#account-send-verification{margin-bottom:16px}
