@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap");:root{--ink:#17221f;--muted:#69756e;--paper:#f5f7f2;--surface:#fff;--line:#dfe5dd;--green:#1f6b55;--mint:#dcefe5;--orange:#e8774d}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:DM Sans,sans-serif}button,input{font:inherit}button{cursor:pointer}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,560px) 1fr;background:var(--paper)}.auth-panel{padding:clamp(24px,4vw,64px);display:flex;flex-direction:column;justify-content:center;position:relative;top:-3vh}.brand-mark{width:48px;height:48px;display:grid;place-items:center;background:var(--green);color:#fff;font-family:Space Grotesk,sans-serif;font-weight:700;letter-spacing:-1px;border-radius:12px;margin-bottom:16px}.brand-mark.small{width:32px;height:32px;border-radius:8px;margin:0;font-size:12px}.eyebrow{margin:0 0 12px;color:var(--green);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}h1,h2{font-family:Space Grotesk,sans-serif;margin:0;letter-spacing:-1.8px}.auth-panel h1{max-width:410px;font-size:clamp(34px,4vw,52px);line-height:1.02}.auth-copy,.hero-copy{color:var(--muted);line-height:1.5;max-width:420px}.auth-form{display:grid;grid-gap:9px;gap:9px;max-width:380px;margin-top:18px}label{font-size:12px;font-weight:700;color:#536159}input{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);padding:14px 16px;outline:none;transition:border .2s,box-shadow .2s}input:focus{border-color:var(--green);box-shadow:0 0 0 3px #dcefe5}.auth-form input+label{margin-top:8px}.primary-button,.secondary-button{border:0;border-radius:9px;padding:13px 17px;font-weight:700;transition:transform .2s,background .2s}.primary-button{color:#fff;background:var(--green)}.primary-button:hover{background:#185440;transform:translateY(-1px)}.primary-button span{margin-left:12px;font-size:16px}.auth-form .primary-button{margin-top:12px;text-align:left}.secondary-button{color:var(--green);background:var(--mint)}.secondary-button:disabled{color:#9aa79f;background:#e8ece7;cursor:not-allowed}.secondary-button.saved-route-button:disabled{color:#7c3aed}.error-message{color:#b33c32;font-size:13px;line-height:1.4}.auth-aside{display:flex;flex-direction:column;justify-content:center;padding:64px;background:#d9ebe0;background-image:linear-gradient(135deg,hsla(0,0%,100%,.45),transparent 55%),repeating-linear-gradient(120deg,transparent 0 42px,rgba(31,107,85,.08) 43px 44px)}.aside-kicker{color:var(--green);font-size:11px;font-weight:700;letter-spacing:1.5px}.auth-aside h1{max-width:500px;font-size:clamp(34px,4vw,58px);line-height:1.02}.auth-aside .auth-copy{margin:18px 0 44px}.auth-aside .brand-mark{margin-bottom:16px}.aside-route{color:#587366;font-size:14px}.aside-route b{padding:0 12px;color:var(--orange)}.app-shell{width:min(1180px,calc(100% - 48px));margin:auto;padding-bottom:70px}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:84px;border-bottom:1px solid var(--line)}.account-area,.brand-lockup{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700}.brand-lockup{font-family:Space Grotesk,sans-serif}.account-area{color:var(--muted);font-weight:500}.text-button{border:0;color:var(--green);background:transparent;font-size:12px;font-weight:700}.text-button:hover{text-decoration:underline}.hero{display:flex;justify-content:space-between;align-items:flex-end;padding:72px 0 48px}.hero h1{font-size:clamp(38px,6vw,72px);line-height:.98}.hero-copy{margin-bottom:0}.route-line{width:180px;display:flex;align-items:center;gap:9px;padding-bottom:20px}.route-line span{display:block;height:10px;width:10px;border:2px solid var(--green);border-radius:50%}.route-line span:nth-child(2){flex:1 1;height:2px;border:0;border-top:2px dashed #a9b8ae;border-radius:0}.route-line span:last-child{border-color:var(--orange)}.workspace-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.results-panel,.search-panel{min-height:330px;border:1px solid var(--line);border-radius:14px;padding:28px;background:var(--surface)}.search-panel{background:#edf5ef}.panel-heading{display:flex;align-items:center;gap:12px;margin-bottom:32px}.panel-heading>span{color:var(--orange);font:700 12px Space Grotesk,sans-serif}.history-heading h2,.panel-heading h2{font-size:22px;letter-spacing:-.8px}.field-group{margin-bottom:18px}.field-group label{display:block;margin-bottom:7px}.input-wrap{position:relative}.input-wrap input{padding-left:42px;border-color:#d3e2d7}.input-dot{position:absolute;z-index:1;top:17px;left:17px;width:10px;height:10px;border:2px solid var(--green);border-radius:50%}.destination-dot{border-radius:2px;border-color:var(--orange)}.form-actions{display:flex;gap:10px;margin-top:24px}.results-panel{background:#fff}.result-cards{display:grid;grid-gap:12px;gap:12px}.result-card{display:flex;align-items:center;gap:15px;padding:18px;border-radius:10px}.result-card.driving{background:#fff0e8}.result-card.transit{background:#e6f2eb}.mode-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;color:#fff;background:var(--orange);font-size:20px}.transit .mode-icon{background:var(--green)}.result-label{display:block;color:var(--muted);font-size:12px;margin-bottom:3px}.result-card strong{font:600 22px Space Grotesk,sans-serif}.empty-result{display:grid;place-items:center;min-height:190px;color:var(--muted);text-align:center}.empty-icon{color:#b8c7bd;font-size:42px}.empty-result p{margin:4px 0;font-weight:600;color:#7d8981}.empty-result small{font-size:12px}.loading-result{font-weight:600}.history-section{margin-top:56px}.history-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px}.history-heading h2{margin-top:2px}.history-count{color:var(--muted);font-size:12px}.history-list{border-top:1px solid var(--line)}.history-item{display:grid;grid-template-columns:1.2fr 1fr 28px;align-items:center;grid-gap:18px;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.history-route{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px}.history-route b{color:var(--orange)}.history-times{display:flex;gap:14px;color:var(--muted);font-size:12px}.delete-button{width:28px;height:28px;border:0;border-radius:50%;color:var(--muted);background:transparent;font-size:20px}.delete-button:hover{color:#b33c32;background:#fae8e4}.empty-history{padding:24px 0;color:var(--muted);font-size:13px}.autocomplete-field{position:relative}.suggestions-list{position:absolute;z-index:5;top:calc(100% + 6px);left:0;right:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(23,34,31,.12)}.suggestion-item{display:flex;width:100%;gap:11px;padding:12px 14px;border:0;border-bottom:1px solid #edf0ec;color:var(--ink);background:#fff;text-align:left}.suggestion-item:last-child{border-bottom:0}.suggestion-item:hover{background:#f0f7f2}.suggestion-pin{color:var(--orange);font-size:18px;line-height:1.2}.suggestion-item small,.suggestion-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-item strong{font-size:13px}.suggestion-item small{margin-top:3px;color:var(--muted);font-size:11px}@media (max-width:720px){.auth-shell{display:block}.auth-panel{min-height:100vh;padding:28px 24px;top:-2vh}.auth-aside{display:none}.app-shell{width:min(100% - 32px,1180px)}.topbar{min-height:72px}.account-area span{display:none}.hero{padding:52px 0 34px}.route-line{width:100px}.workspace-grid{grid-template-columns:1fr}.results-panel,.search-panel{min-height:auto;padding:22px}.history-section{margin-top:42px}.history-item{grid-template-columns:1fr 28px;gap:10px}.history-times{grid-column:1;flex-wrap:wrap}.delete-button{grid-column:2;grid-row:1/span 2}.form-actions{flex-wrap:wrap}.form-actions button{flex:1 1}}.result-card>div{min-width:0;flex:1 1}.transit-route{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:10px}.transit-segment{display:inline-flex;align-items:center;gap:5px;min-width:0;padding:5px 8px;border:1px solid rgba(31,107,85,.14);border-radius:7px;color:var(--ink);background:hsla(0,0%,100%,.72);font-size:12px;font-weight:600;line-height:1.2}.transit-segment:not(:last-child):after{content:"›";margin-left:8px;color:#8a9b91;font-size:16px;font-weight:400}.transit-segment-dot{flex:0 0 auto;width:8px;height:8px;border:2px solid var(--green);border-radius:50%;background:var(--green)}.transit-segment small{color:var(--muted);font-size:11px;font-weight:500;white-space:nowrap}.history-times .transit-route{margin-top:7px}.history-times .transit-segment{padding:3px 6px;font-size:11px}.history-times .transit-segment:not(:last-child):after{margin-left:5px}.transit-details{flex-basis:100%;margin-top:2px;color:var(--muted);font-size:12px}.transit-details summary{width:-moz-fit-content;width:fit-content;cursor:pointer;color:var(--green);font-weight:700}.transit-details summary::marker{color:var(--orange)}.transit-stop-list{display:grid;grid-gap:7px;gap:7px;margin-top:8px;padding:10px 12px;border-left:2px solid #b9d8c5;background:hsla(0,0%,100%,.48)}.transit-stop{display:grid;grid-gap:2px;gap:2px}.transit-stop strong{font:600 11px Space Grotesk,sans-serif;color:var(--ink)}.transit-stop span{font-size:11px;line-height:1.35}.transit-stop b{padding:0 4px;color:var(--orange);font-weight:700}.history-transit-details,.history-transit-details .transit-stop-list{margin-top:6px}.history-transit-route{display:flex;flex-wrap:wrap;gap:5px;padding-bottom:7px;border-bottom:1px solid var(--line)}.history-transit-segment{display:inline-flex;align-items:center;gap:4px;padding:3px 5px;border-radius:5px;background:hsla(0,0%,100%,.65);font-size:11px;font-weight:600}.history-transit-segment small{color:var(--muted);font-size:10px;font-weight:500}.history-item{position:relative;display:block}.history-item>details{display:block}.history-summary{display:block;cursor:pointer;list-style:none;padding-right:72px}.history-summary::-webkit-details-marker{display:none}.history-group-name{padding:3px 7px;border:1px solid #c7ddd0;border-radius:5px;color:var(--green);background:#f2f8f3}.history-expand{position:absolute;top:18px;right:38px;width:24px;height:24px;display:grid;place-items:center;border:1px solid #b9d8c5;border-radius:50%;background:var(--surface);transition:background .2s,border-color .2s}.history-expand:after{content:"";width:6px;height:6px;border-right:2px solid var(--green);border-bottom:2px solid var(--green);transform:translateY(-2px) rotate(45deg);transition:transform .2s}.history-item>details[open] .history-expand{border-color:var(--green);background:var(--mint)}.history-item>details[open] .history-expand:after{transform:translateY(2px) rotate(225deg)}.history-item>.delete-button{position:absolute;top:18px;right:0;z-index:1}.history-expanded{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.history-expanded h3{margin:0 0 8px;color:var(--green);font:700 11px Space Grotesk,sans-serif;letter-spacing:1px;text-transform:uppercase}.grouped-history-results{display:grid;grid-gap:12px;gap:12px}.grouped-history-route{padding:12px;border-radius:8px;background:#f0f7f2}.grouped-history-heading{display:grid;grid-gap:7px;gap:7px}.grouped-history-heading strong{overflow:hidden;color:var(--ink);font:600 13px Space Grotesk,sans-serif;text-overflow:ellipsis;white-space:nowrap}.grouped-history-times{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--muted);font-size:11px}.grouped-history-times span{white-space:nowrap}.grouped-history-route .transit-route{margin-top:9px}.history-expanded .transit-route{margin-top:0}.history-expanded .history-transit-info{display:grid;grid-gap:7px;gap:7px;margin-top:0;padding:10px 12px}.history-expanded .history-transit-route{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;padding-bottom:7px;border-bottom:1px solid var(--line)}.history-expanded .history-transit-segment{position:relative}.history-expanded .history-transit-segment:not(:last-child):after{content:">";margin-left:7px;color:var(--orange);font-size:14px;font-weight:700}.result-card.cycling{background:#eef0ff}.cycling .mode-icon{background:#5967b8}.folder-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.create-folder-button{flex:0 0 auto}.folder-create-form{display:grid;grid-gap:9px;gap:9px;margin-top:20px;padding:20px;border:1px solid #cfe1d4;border-radius:12px;background:#edf5ef}.folder-addresses-heading,.folder-create-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.folder-create-heading{margin-bottom:4px}.folder-create-heading strong{display:block;font:600 16px Space Grotesk,sans-serif}.folder-create-heading span{display:block;margin-top:3px;color:var(--muted);font-size:12px}.folder-addresses-heading{margin-top:9px}.folder-addresses-heading label{margin:0}.folder-address-list{display:grid;grid-gap:9px;gap:9px}.folder-address-row{position:relative}.folder-address-row .field-group{margin:0}.folder-address-row .field-group label{color:var(--muted);font-size:11px}.remove-address-button{position:absolute;top:0;right:0}.folder-create-form>.primary-button{justify-self:start;margin-top:7px}.save-folder-field{display:grid;grid-gap:7px;gap:7px;margin-top:18px}.save-folder-field select{border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--surface);padding:9px 11px;font:inherit;font-size:12px}.folder-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:22px 0 14px;padding-bottom:14px;border-bottom:1px solid var(--line)}.folder-tabs{display:flex;flex-wrap:wrap;align-items:flex-start;gap:7px}.folder-tabs button{border:1px solid var(--line);border-radius:7px;padding:8px 10px;color:var(--muted);background:var(--surface);font-size:12px;font-weight:700}.folder-tabs button.active{border-color:var(--green);color:#fff;background:var(--green)}.folder-tabs button span{margin-left:8px;color:var(--orange)}.folder-tabs .add-address-toggle>span:first-child{margin-left:0;color:var(--muted)}.folder-tabs button.active span{color:#fff}.folder-card{min-width:190px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.folder-card.active{border-color:var(--green)}.folder-card summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:8px 10px;color:var(--muted);font-size:12px;font-weight:700}.folder-card summary::-webkit-details-marker{display:none}.folder-card summary:after{content:"+";color:var(--green);font-size:15px;font-weight:500}.folder-card[open] summary:after{content:"-"}.folder-card summary span{margin-left:auto;color:var(--muted);font-size:10px;font-weight:500;white-space:nowrap}.folder-card summary>span{display:none}.folder-card-content{padding:0 10px 10px;border-top:1px solid var(--line)}.folder-card-actions{display:flex;justify-content:space-between;gap:8px;padding:8px 0 4px}.folder-card .folder-batch-form,.folder-card-actions>button:nth-child(2){display:none}.add-address-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}.add-address-toggle span:last-child{width:7px;height:7px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);font-size:0;line-height:0;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease}.folder-card-content:has(.folder-add-address-form) .add-address-toggle span:last-child{transform:translateY(2px) rotate(225deg)}.folder-add-address-form,.folder-batch-form{display:grid;grid-gap:8px;gap:8px;padding:8px 0 4px;border-top:1px solid var(--line)}.folder-batch-form>.secondary-button{justify-self:start;padding:8px 10px;font-size:11px}.folder-batch-results{display:grid;grid-gap:6px;gap:6px;padding-top:5px}.folder-batch-results>strong{color:var(--muted);font-size:11px}.folder-batch-result{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border-radius:5px;background:#f0f7f2;font-size:11px}.folder-batch-result span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-batch-result small{flex:0 0 auto;color:var(--muted)}.folder-batch-results>.primary-button{justify-self:start;margin-top:4px;padding:8px 10px;font-size:11px}.folder-add-input{position:relative}.folder-add-input .field-group{margin:0}.folder-add-input .input-wrap input{padding-right:48px}.add-address-button{position:absolute;right:8px;bottom:8px;z-index:2;width:32px;height:32px;border:0;border-radius:7px;color:#fff;background:var(--green);font-size:23px;line-height:1}.add-address-button:disabled{color:#9aa79f;background:#e8ece7;cursor:not-allowed}.folder-add-address-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.folder-add-address-actions .secondary-button{padding:8px 10px;font-size:11px}.folder-delete-link{color:#b33c32}.folder-tabs .folder-delete-link{font-size:0}.folder-delete-link:after{content:"Delete group";font-size:12px}.folder-address-list-view{display:grid;grid-gap:5px;gap:5px;margin:5px 0 0;padding:0;list-style:none}.folder-address-list-view li{display:flex;align-items:center;gap:8px;overflow:hidden;padding:7px 8px;border-radius:5px;color:var(--ink);background:#f0f7f2;font-size:11px}.folder-address-list-view li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-folder-address{flex:0 0 auto;margin-left:auto;padding:0 2px;border:0;color:#b33c32;background:transparent;font-size:14px;font-weight:700;line-height:1}.remove-folder-address:hover{color:#862820}.folder-empty-addresses{margin:6px 0 0;color:var(--muted);font-size:11px}.new-folder-form{display:flex;align-items:center;gap:8px;min-width:185px}.new-folder-form input{padding:8px 10px;font-size:12px}.history-item .route-folder-select{position:absolute;top:18px;right:72px;max-width:130px;padding:5px 7px}.destination-mode{display:flex;gap:6px;margin:-4px 0 16px}.destination-mode button{border:1px solid var(--line);border-radius:7px;padding:7px 10px;color:var(--muted);background:var(--surface);font-size:11px;font-weight:700}.destination-mode button.active{border-color:var(--green);color:var(--green);background:var(--mint)}.destination-mode .create-route-folder{border-color:transparent;color:var(--muted);background:transparent}.destination-mode .create-route-folder:hover{color:var(--green)}.folder-destination-choice{display:grid;grid-gap:2px;gap:2px}.folder-destination-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:7px}.folder-destination-header label{margin:0}.folder-destination-header span{color:var(--muted);font-size:11px}.folder-destination-header .selected-folder-label{color:var(--green);font-weight:700}.folder-destination-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center}.folder-destination-choice .create-route-folder{border:1px solid var(--line);border-radius:8px;padding:10px 12px;color:var(--green);background:var(--surface);font:inherit;font-size:12px;font-weight:700;white-space:nowrap}.folder-destination-choice .create-route-folder:hover{border-color:var(--green);background:var(--mint)}.folder-destination-choice .create-route-folder{font-size:0}.folder-destination-choice .create-route-folder:after{content:"Create group +";font-size:12px}.destination-folder-select{width:100%;min-width:0;border:1px solid #d3e2d7;border-radius:8px;padding:10px 12px;color:var(--ink);background:var(--surface);font:inherit;font-size:13px;outline:none}.main-batch-results{max-height:260px;overflow:auto}@media (max-width:720px){.folder-heading{align-items:flex-start;flex-direction:column;gap:12px}.create-folder-button{width:100%}.folder-toolbar{align-items:stretch;flex-direction:column;gap:12px}.folder-create-heading{align-items:flex-start}.folder-create-form{padding:16px}.folder-card-actions{flex-wrap:wrap}.folder-add-address-actions,.folder-destination-header{align-items:flex-start;flex-direction:column}.folder-destination-header{gap:3px}.folder-destination-actions{grid-template-columns:1fr}.folder-destination-choice .create-route-folder{justify-self:start}}