@layer foundation, experience, product, mobile, polish, atelier, cartography, copilot;
@layer foundation {
/* RoadTripper Expedition design system: warm paper, forest ink, clear mobile hierarchy. */
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20352d;background:#f6f7f3;font-synthesis:none;--ink:#20352d;--muted:#65776d;--forest:#244f3e;--accent:#42705a;--line:#e2e8e0;--paper:#fff;--soft:#edf3e9;--warm:#ae702e;--danger:#a33934;--sidebar:250px;--radius:22px;--shadow:0 6px 26px #213b2c08;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;min-width:320px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button,a{color:inherit}a{text-decoration:none}button{border:0}img{max-width:100%}svg{flex-shrink:0;vertical-align:middle}p{margin:0 0 14px}h1,h2,h3{letter-spacing:-.035em;line-height:1.2;margin:0 0 12px;font-weight:650}h1{font-size:clamp(28px,3vw,40px)}h2{font-size:24px}h3{font-size:18px}small,.fine{font-size:12px;line-height:1.6}.fine{color:var(--muted)}strong{font-weight:650}ul,ol{padding-left:22px}pre{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--soft);border-radius:12px;padding:12px;max-height:250px;overflow:auto}details{border:1px solid var(--line);border-radius:12px;padding:12px}summary{cursor:pointer;font-weight:600}::selection{background:#d4e8ca}:focus-visible{outline:3px solid #b77b2e;outline-offset:4px}main:focus{outline:none}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-80px;background:var(--forest);color:white;padding:12px 20px;z-index:1000;border-radius:12px}.skip-link:focus{top:12px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;line-height:1.6;color:var(--muted);margin-bottom:9px}.muted{color:var(--muted)}.grow{flex:1;min-width:0}.number{font-variant-numeric:tabular-nums}
/* Application shell */
.sidebar{width:var(--sidebar);position:fixed;left:0;top:0;height:100dvh;padding:30px 20px 20px;background:#fff;border-right:1px solid var(--line);z-index:35;display:flex;flex-direction:column;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:0 7px 30px;font-size:24px;font-weight:750;letter-spacing:-1px}.brand>span{background:var(--forest);color:#e9f0e0;border-radius:12px;display:grid;place-items:center;width:43px;height:43px}.brand small{display:block;font-size:8px;letter-spacing:.27em;line-height:1.2;color:var(--muted);margin-top:4px}.sidebar-journey{padding:14px 12px;background:#f6f7f3;border-radius:13px;margin-bottom:23px}.sidebar-journey .eyebrow{font-size:8px}.sidebar-journey button{padding:0;background:none;display:flex;align-items:center;justify-content:space-between;gap:5px;width:100%;text-align:left;font-size:12px}.sidebar-journey strong{max-width:158px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-link{display:flex;align-items:center;gap:12px;min-height:43px;font-size:12px;font-weight:550;color:#66756b;border-radius:10px;padding:10px 12px;margin:3px 0;transition:background .15s,color .15s}.nav-link:hover{background:var(--soft);color:var(--forest)}.nav-link.active{background:var(--forest);color:#fff}.nav-link small{margin-left:auto;background:#e7eed8;color:var(--forest);padding:0 6px;border-radius:4px;font-size:8px}.nav-divider{height:1px;background:var(--line);margin:16px 12px}.sidebar-bottom{margin-top:auto;padding-top:25px}.offline-label{font-size:10px;line-height:1.6;padding:10px 13px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.offline-label small{width:100%;padding-left:12px;color:var(--muted);font-size:9px}.status-dot,.connection-dot{height:6px;width:6px;border-radius:50%;background:#6f9679;display:inline-block;flex-shrink:0}.status-dot.off,.connection-dot.off{background:#c2985e}.engine-signature{font-size:8px;display:block;color:#7d887f;letter-spacing:.04em;padding:12px 13px 0}.app-shell{margin-left:var(--sidebar);min-height:100dvh}.topbar{height:76px;padding:0 42px;background:#f6f7f3eb;border-bottom:1px solid #e4e9e240;display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:0;backdrop-filter:blur(15px);z-index:30}.breadcrumb{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted);min-width:0}.breadcrumb strong{color:#53665a;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{display:flex;align-items:center;gap:18px}.avatar{width:36px;height:36px;display:inline-grid;place-items:center;border-radius:50%;background:#e8e9dd;color:var(--forest);font-size:11px;font-weight:650;flex-shrink:0;border:2px solid #fff}.avatar.large{width:54px;height:54px;font-size:15px}.mobile-brand,.mobile-menu,.bottom-nav{display:none}.content{padding:22px 42px 42px;max-width:1540px;margin:auto;min-height:calc(100dvh - 140px)}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading .subtitle{font-size:12px;line-height:1.7;color:var(--muted);max-width:640px;margin:0}.page-heading>.actions{justify-content:flex-end;flex-shrink:0;max-width:42%}.page-footer{padding:18px 42px 25px;color:#748176;font-size:10px;display:flex;justify-content:space-between;gap:12px}.page-footer a{text-decoration:underline;text-underline-offset:3px}.operation-status{font-size:10px;color:var(--forest)}.operation-status.working::before{content:'';display:inline-block;width:10px;height:10px;border:2px solid #aec4ad;border-top-color:var(--forest);border-radius:50%;animation:spin 1s linear infinite;margin-right:6px}
/* Shared primitives */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:11px 17px;border-radius:11px;font-size:11px;font-weight:620;line-height:1.4;border:1px solid transparent;transition:background .15s,transform .15s,box-shadow .15s;white-space:normal;text-align:center}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn svg{width:17px;height:17px}.btn.primary,.round-btn.primary{background:var(--forest);color:#fff;box-shadow:0 3px 10px #244f3e13}.btn.primary:hover{background:#183f2d}.btn.secondary{background:#fff;border-color:#dce4d9;color:var(--forest)}.btn.secondary:hover{background:#f3f6ef}.btn.quiet{background:#eef1e9;color:#53664e}.btn.text{background:transparent;color:var(--forest);padding:7px 2px;min-height:36px}.btn.light{background:white;color:#274433}.btn.ghost-light{border-color:#ffffff55;background:#ffffff0d;color:white}.btn.danger,.danger-zone .btn.danger{color:white;background:var(--danger)}.btn.icon-only{padding:8px;min-width:36px;min-height:36px;background:transparent}.btn.icon-only>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.round-btn{height:38px;width:38px;display:inline-grid;place-items:center;border-radius:50%;background:#f1f4ed;color:var(--forest);flex-shrink:0}.plain{background:none;padding:0;text-align:left;font:inherit;color:inherit;line-height:inherit}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.actions.compact{gap:5px}.actions.center{justify-content:center}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row h3{margin:0}.row>.grow{min-width:0}.grid{display:grid;gap:20px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1.1fr 1fr}.stack{display:flex;flex-direction:column;gap:18px;min-width:0}.stack>.btn{align-self:flex-start}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);min-width:0}.card.soft,.soft{background:#edf2e7;border-color:#e3eadc}.card p{font-size:12px;color:var(--muted);line-height:1.8}.card>p:last-child{margin-bottom:0}.card h2{font-size:20px}.card h3{font-size:17px}.content>section,.content>.grid,.content>.card,.content>.notice,.content>.tabbar,.content>.search-form{margin-bottom:26px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 21px}.section-heading h2{font-size:20px;margin:0}.section-heading h3{margin:0}.section-heading .eyebrow{margin-bottom:6px}.section-heading>p{margin:0;font-size:11px}.divider{height:1px;background:var(--line);margin:22px 0}.tag,.pill{font-size:9px;line-height:1.35;padding:6px 9px;border-radius:6px;background:#edf1e8;color:#5c7059;display:inline-flex;align-items:center;gap:5px;font-weight:620;max-width:100%;overflow-wrap:anywhere}.tag.success{background:#e9f3e5;color:#426b37}.tag.warm,.notice.warm{background:#faf0dc;color:#865f23}.tag.danger,.notice.danger{background:#f9e9e5;color:#98392f}.tag.glass,.pill{background:#ffffff19;border:1px solid #ffffff35;color:#fff;backdrop-filter:blur(8px)}.pill{font-size:9px;letter-spacing:.1em;padding:8px 12px}.chips{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.chip{background:#fff;border:1px solid var(--line);border-radius:100px;min-height:36px;padding:7px 13px;font-size:10px;line-height:1.4;color:var(--muted)}.chip.active{background:var(--forest);color:white;border-color:var(--forest)}.notice{display:flex;align-items:flex-start;gap:10px;padding:12px 15px;background:#ecf1e8;color:#53654d;border-radius:11px;font-size:11px;line-height:1.7;margin-bottom:18px}.notice>svg{margin-top:1px;width:17px;height:17px}.notice>span{min-width:0;overflow-wrap:anywhere}.notice .btn{margin-left:auto}.notice.success{background:#eaf4e4;color:#3c612f}.metric{position:relative;background:#fff;border:1px solid var(--line);border-radius:17px;padding:22px 19px 19px;display:flex;flex-direction:column;gap:7px;min-width:0}.metric>svg{color:#73876b;position:absolute;right:18px;top:20px;opacity:.75;width:17px;height:17px}.metric>span{font-size:10px;color:var(--muted);padding-right:17px}.metric strong{font-size:23px;line-height:1.35;letter-spacing:-.05em;overflow-wrap:anywhere}.metric small{font-size:9px;color:var(--muted)}.mini-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini-metrics .metric{padding:13px;background:#f8f9f5;border:0}.mini-metrics .metric strong{font-size:19px}.empty{background:#ffffff8c;border:1px dashed #cfdacc;border-radius:20px;text-align:center;display:flex;flex-direction:column;align-items:center;padding:45px 22px;gap:10px}.empty h2{font-size:21px;margin:4px 0}.empty p{color:var(--muted);font-size:12px;max-width:440px;margin-bottom:6px}.empty-icon{height:62px;width:62px;border-radius:19px;display:grid;place-items:center;background:#edf2e6;color:#69845e}.tabbar{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow-x:auto}.tabbar button{position:relative;background:none;color:var(--muted);min-height:46px;padding:12px 16px;font-size:12px;white-space:nowrap}.tabbar button.active{color:var(--forest);font-weight:650}.tabbar button.active::after{content:'';height:3px;background:var(--forest);position:absolute;bottom:0;left:12px;right:12px;border-radius:3px}.symbol{width:39px;height:39px;background:#edf2e7;border-radius:11px;display:grid;place-items:center;color:var(--forest)}
/* Journey home, editorial cover and trip cards */
.welcome-hero,.trip-hero{overflow:hidden;position:relative;border-radius:25px;isolation:isolate;background:#203f31;color:white}.welcome-hero{height:440px}.welcome-hero>img,.trip-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;object-position:center 55%}.welcome-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#122e29d9 0%,#142f2770 55%,#102e250d);z-index:-1}.welcome-hero>div{padding:48px;max-width:580px}.welcome-hero h2{font-size:58px;letter-spacing:-.06em;line-height:1.06;font-weight:600;margin:26px 0 18px}.welcome-hero p{font-size:12px;line-height:1.8;color:#eef2e7;max-width:360px}.welcome-hero .btn{margin:6px 8px 0 0}.trip-hero{height:320px}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#132b25cf 0%,#133a2948 65%,#163a2724)}.hero-content{position:relative;height:100%;padding:30px 35px;display:flex;align-items:flex-start;flex-direction:column;justify-content:flex-end;max-width:78%}.hero-meta{display:flex;gap:8px;margin-bottom:auto}.hero-content h2{font-size:43px;line-height:1.08;letter-spacing:-.045em;margin-bottom:10px;font-weight:570}.hero-content p{font-size:12px;color:#f0f4e9;margin:0 0 19px}.hero-readiness{position:absolute;right:26px;bottom:28px;display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;background:#ffffffec;border-radius:16px;padding:16px 19px;color:var(--forest);backdrop-filter:blur(10px)}.hero-readiness strong{font-size:27px;font-weight:650;letter-spacing:-.04em}.hero-readiness strong small{font-size:12px;font-weight:400;color:var(--muted)}.hero-readiness span{font-size:9px;grid-row:2}.hero-readiness svg{grid-column:2;grid-row:1/3}.next-stop{display:flex;gap:16px;align-items:center;margin:26px 0}.next-stop h3{margin:6px 0;font-size:21px}.next-stop p{margin:0;font-size:11px}.next-stop .muted{font-size:9px;letter-spacing:.08em}.stop-number{width:50px;height:60px;flex-shrink:0;background:#edf2e6;border-radius:13px;display:grid;place-items:center;font-size:22px;font-weight:500;color:var(--forest)}.trip-tile{display:block;text-align:left;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;transition:transform .15s,border .15s}.trip-tile:hover{transform:translateY(-3px);border-color:#adc4a4}.trip-tile.selected{border-color:#99b08e}.tile-icon{width:40px;height:40px;border-radius:12px;background:#e9efdf;display:grid;place-items:center;margin-bottom:18px;color:#536f42}.trip-tile>span{display:block;font-size:9px;color:var(--muted)}.trip-tile h3{margin:8px 0 6px;font-size:19px}.trip-tile>p{font-size:11px;color:var(--muted);margin-bottom:20px}.trip-tile .row{border-top:1px solid var(--line);padding-top:12px;font-size:10px;color:var(--muted)}
/* Planner */
.day-picker{display:flex;gap:9px;overflow-x:auto;margin:0 -2px 25px;padding:3px 2px 8px;scrollbar-width:thin}.day-tab{background:#fff;border:1px solid var(--line);border-radius:13px;min-width:101px;padding:14px 19px;text-align:left;display:flex;flex-direction:column;gap:4px;color:var(--muted)}.day-tab span{font-size:8px;letter-spacing:.12em;font-weight:700}.day-tab strong{font-size:14px;color:var(--ink)}.day-tab small{font-size:9px}.day-tab.active{background:var(--forest);border-color:var(--forest);color:#d6e3d1}.day-tab.active strong{color:white}.planner-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:27px}.planner-layout>.stack{align-self:start}.planner-aside{display:flex;flex-direction:column;gap:18px}.planner-aside .card{padding:23px}.timeline{list-style:none;padding:0;margin:0}.timeline-stop{display:flex;gap:17px;position:relative;padding-bottom:15px}.timeline-rail{display:flex;align-items:center;flex-direction:column;width:43px;flex-shrink:0;position:relative}.timeline-rail::after{content:'';position:absolute;top:62px;bottom:-32px;left:21px;width:1px;background:#cfdac7}.timeline-stop:last-child .timeline-rail::after{display:none}.timeline-rail time{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;margin:3px 0 10px}.timeline-rail>span{height:32px;width:32px;background:#e5ecd9;border:5px solid #f6f7f3;border-radius:50%;z-index:1;font-size:11px;color:var(--forest);display:grid;place-items:center;box-sizing:content-box}.visited .timeline-rail>span{background:var(--forest);color:white}.stop-card{background:white;border:1px solid var(--line);padding:20px 23px;border-radius:16px;flex:1;min-width:0}.stop-card h3{font-size:20px;margin:9px 0 6px}.stop-card>p{font-size:11px;color:var(--muted);margin-bottom:11px}.stop-kind{color:#7c8b6d;font-size:9px;display:flex;align-items:center;gap:6px}.stop-facts{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:10px;color:var(--muted)}.stop-facts>span{display:inline-flex;gap:5px;align-items:center}.stop-note{padding:10px 0 0;font-size:11px!important;color:var(--muted)!important;white-space:pre-wrap}.stop-actions{display:flex;justify-content:space-between;gap:7px;border-top:1px solid #edf0e9;padding-top:11px;margin-top:13px}.timeline-transfer{display:flex;gap:5px;color:var(--muted);font-size:10px;margin:4px 0 17px 69px}.timeline-transfer svg{width:14px;height:14px}.compact-list{padding-left:20px;font-size:11px;color:var(--muted)}.compact-list li{padding:7px 0;border-bottom:1px solid var(--line)}.list-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px}.list-row small{display:block;color:var(--muted)}
/* Maps: no schematic paths substituted for provider routes */
.view-map{padding:12px 22px 24px}.map-page{border-radius:22px;overflow:hidden;position:relative;height:calc(100dvh - 112px);min-height:500px;border:1px solid #d4dfce;background:#e8eedf}.map-stage{position:absolute;inset:0}.journey-map{position:relative;overflow:hidden;isolation:isolate;background:#e6eddf;touch-action:none}.map-tiles,.map-markers,.map-vectors{position:absolute;inset:0;width:100%;height:100%}.map-tiles img{position:absolute;left:0;top:0;width:256px;height:256px;max-width:none}.map-vectors{pointer-events:none}.route-line{fill:none;stroke:#939c92;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.7}.route-line.selected{stroke:#386755;stroke-width:6;opacity:1;filter:drop-shadow(0 0 2px #fff)}.map-markers{pointer-events:none}.map-marker{position:absolute;left:0;top:0;pointer-events:auto;width:32px;height:32px;border-radius:50%;border:3px solid #fff;color:#fff;background:var(--forest);font-size:11px;font-weight:700;box-shadow:0 2px 7px #19352138}.map-marker.crew{background:#a87835;width:36px;height:36px}.map-marker.self{height:18px;width:18px;background:#4b80b2;border:3px solid white;box-shadow:0 0 0 7px #4b80b22a}.map-marker.stale{background:#878c83;opacity:.65}.map-controls{position:absolute;right:17px;top:96px;display:flex;flex-direction:column;gap:1px;background:#fff;border-radius:11px;overflow:hidden;box-shadow:0 3px 18px #203d2528;z-index:4}.map-controls button{height:37px;width:37px;background:white;font-size:21px;color:var(--forest);border-bottom:1px solid #eee}.map-attribution{position:absolute;bottom:3px;right:3px;padding:1px 5px;background:#fffffff0;font-size:9px;color:#334a35;z-index:8}.map-tile-status{position:absolute;top:8px;left:10px;font-size:10px;background:#fffffff0;border-radius:7px;padding:5px 9px;max-width:calc(100% - 30px)}.map-tile-status:empty{display:none}.map-top{position:absolute;left:20px;top:20px;right:20px;z-index:6;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;pointer-events:none}.map-top>*{pointer-events:auto;background:#fffffff4;border-radius:14px;box-shadow:0 4px 18px #1b3d2717;padding:14px 18px}.map-top h1{font-size:21px;margin:2px 0 5px}.map-top p{font-size:10px;margin:0;color:var(--muted)}.map-top .eyebrow{font-size:8px}.map-top .actions{padding:8px;max-width:46%}.map-bottom{position:absolute;bottom:27px;left:20px;width:350px;max-width:calc(100% - 40px);max-height:42%;overflow:auto;z-index:6;padding:19px;background:#fffffff5;border:1px solid #dce5d6;border-radius:17px;box-shadow:0 10px 40px #23432321}.map-bottom h2{font-size:18px;margin-bottom:10px}.map-bottom p{font-size:11px}.map-bottom .metric{padding:10px;border:0;background:#f1f5ec}.map-bottom .metric strong{font-size:19px}.map-bottom .row{gap:6px}.map-bottom .notice{padding:9px;font-size:10px}.map-bottom .btn{min-height:35px;padding:8px 11px}.map-bottom .list-row{padding:8px 0;font-size:10px}.map-bottom .list-row .btn{padding:4px}.map-bottom .chips{margin-top:10px}.nav-map{height:430px;border-radius:20px;border:1px solid var(--line)}.crew-map{height:340px;border-radius:20px;border:1px solid var(--line)}.navigation-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px}.turn-card{padding:26px;border-radius:22px;background:var(--forest);color:white}.turn-card p{color:#dce7d5}.turn-icon{display:flex;align-items:center;gap:18px}.turn-icon>svg{background:#ffffff17;border-radius:14px;padding:12px;width:68px;height:68px}.turn-card h2{font-size:32px}.turn-card h3{font-size:22px;line-height:1.4}.turn-card .notice{background:#ffffff15;color:white}.nav-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.nav-metrics .metric{padding:14px}.nav-metrics .metric strong{font-size:20px}.instructions{list-style:none;padding:0;margin:0}.instructions li{display:flex;align-items:flex-start;gap:12px;font-size:11px;padding:12px 0;border-bottom:1px solid var(--line)}.instructions small{color:var(--muted);min-width:55px}
/* Discover and AI */
.discovery-banner{display:flex;align-items:center;justify-content:space-between;padding:27px 35px;border-radius:22px;background:linear-gradient(100deg,#e6eddb,#f0eddd);margin-bottom:24px;gap:20px;overflow:hidden}.discovery-banner h2{font-size:27px;margin:0;line-height:1.28}.discovery-banner>svg{color:#708765;opacity:.65;transform:rotate(15deg)}.search-form{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;padding:8px 9px 8px 17px;background:#fff;min-width:0}.search-form>svg{color:var(--muted)}.search-form input{background:none;border:0;padding:10px 0;min-width:0;flex:1;font-size:12px;outline-offset:0}.categories{margin:20px 0 25px}.place-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:white;min-width:0}.place-visual{height:135px;position:relative;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#e1e9d5,#f1e9d5);color:#6d8760}.place-visual.category-natural{background:linear-gradient(145deg,#c7d9b5,#e7eedb)}.place-visual>svg{width:45px;height:45px;opacity:.55}.place-visual>button{position:absolute;right:13px;top:13px;border:1px solid #ffffff99;background:#ffffffe6;border-radius:50%;height:34px;width:34px;display:grid;place-items:center}.place-visual>button.selected{background:var(--forest);color:white}.place-body{padding:21px}.place-body .eyebrow{font-size:8px}.place-body h3{font-size:19px;margin-bottom:6px}.place-body p{font-size:11px;color:var(--muted);line-height:1.7}.place-body .chips{margin-bottom:14px}.place-body .actions{margin-top:16px}.place-body .btn{font-size:10px;padding:9px 12px}.selection-bar{position:sticky;top:85px;padding:13px 17px;background:var(--forest);border-radius:13px;color:white;display:flex;align-items:center;gap:15px;flex-wrap:wrap;z-index:15;font-size:12px;margin:20px 0}.selection-bar .primary{background:#dce9cd;color:var(--forest)}.selection-bar .quiet{background:#ffffff19;color:white}.assistant-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:24px}.conversation{padding:28px;min-width:0;display:flex;flex-direction:column}.assistant-intro{text-align:center;padding:15px 14px 22px}.ai-orb{height:70px;width:70px;margin:0 auto 22px;background:radial-gradient(ellipse at 25% 15%,#e5f0d3,#bccfb0 75%);border-radius:24px;box-shadow:0 0 0 10px #f3f6ed;display:grid;place-items:center;color:var(--forest);transform:rotate(-7deg)}.ai-orb svg{transform:rotate(7deg)}.assistant-intro h2{font-size:26px}.assistant-intro p{max-width:460px;margin:0 auto;font-size:12px}.prompt-ideas{display:flex;flex-direction:column;gap:10px;margin:7px 0 28px}.prompt-chip{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 18px;background:#f6f8f2;border:1px solid #e5ecdf;border-radius:12px;font-size:11px;color:#5b7052;text-align:left}.prompt-chip:hover{background:#edf3e4}.assistant-form{margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}.assistant-form textarea{width:100%;resize:vertical;background:#f8faf5;border:1px solid #dfe7d7;border-radius:12px;padding:15px;font-size:12px;color:var(--ink);min-height:96px}.assistant-form>.row{margin:12px 0 20px}.assistant-form select{max-width:65%;background:none;border:0;padding:8px 0;font-size:10px;color:var(--muted)}.assistant-form .check-field{font-size:10px}.assistant-form .check-field small{font-size:9px}.messages{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.message{font-size:12px;padding:15px 18px;border-radius:15px;background:#f3f7ef;max-width:95%;align-self:flex-start;min-width:0}.message strong{display:block;font-size:10px;margin-bottom:6px;color:#628050}.message p{white-space:pre-wrap;margin:0;overflow-wrap:anywhere}.message.user{background:var(--forest);color:white;align-self:flex-end}.message.user strong,.message.user p{color:white}.message.system{background:#fcf2df;font-size:11px}.source-row{padding:12px 0;border-bottom:1px solid var(--line)}.source-row strong{font-size:12px;display:block}.source-row small{display:block;color:var(--muted);font-size:10px}.ai-progress{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--forest);padding:12px 0;flex-wrap:wrap}.spinner{width:15px;height:15px;border:2px solid #d4e0c9;border-top-color:var(--forest);border-radius:50%;animation:spin 1s linear infinite}.proposal-card>.row{align-items:flex-start;margin-bottom:16px}.proposal-card>.row>div:nth-child(2){flex:1;min-width:0}.proposal-card h3{margin:8px 0 0}.proposal-diff{font-size:12px;line-height:1.8}.proposal-diff li{padding:9px 0;border-bottom:1px solid var(--line)}.copilot-fab{position:fixed;right:30px;bottom:26px;z-index:35;display:flex;align-items:center;gap:9px;padding:14px 18px;border-radius:50px;background:var(--forest);color:white;box-shadow:0 6px 20px #244f3e36;border:1px solid #ffffff4d;font-size:11px}
/* Budget, preparation and documents */
.budget-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:24px}.expense-list{display:flex;flex-direction:column}.expense-row{display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line);padding:15px 0;font-size:12px;min-width:0}.expense-symbol{width:40px;height:40px;background:#f1f2e9;border-radius:12px;display:grid;place-items:center;color:#879062;flex-shrink:0}.expense-row>div:nth-child(2){flex:1;min-width:0}.expense-row h3{font-size:13px;margin:0 0 4px}.expense-row small{font-size:9px;display:block;color:var(--muted)}.expense-row>strong{font-size:13px;white-space:nowrap}.category-bars{display:flex;flex-direction:column;gap:16px}.category-bars>div{font-size:10px}.category-bars .row{margin-bottom:7px}.category-bars progress{display:block;width:100%;height:5px;border-radius:5px;overflow:hidden;accent-color:#7f996d}.category-bars progress::-webkit-progress-bar{background:#edf1e6}.category-bars progress::-webkit-progress-value{background:#8aa174}.balance-row{display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line);padding:12px 0;font-size:11px}.balance-row strong{margin-left:auto}.share-row,.transfer-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;padding:12px 0;border-bottom:1px solid var(--line)}.share-row small{display:block;font-size:9px;color:var(--muted)}.reservation-card{border-left:4px solid #b9cda3}.reservation-card .reference{padding:9px 12px;border:1px dashed #d9e1d1;border-radius:7px;font-family:ui-monospace,monospace;font-size:11px;color:#5a6f4d;overflow-wrap:anywhere;margin:12px 0}.reservation-card .actions{margin-top:18px}.prepare-score{display:flex;align-items:center;gap:30px;background:#edf3e7;border-radius:20px;padding:28px 32px;margin-bottom:25px}.prepare-score>div:last-child{min-width:0}.prepare-score h2{font-size:23px}.prepare-score p{color:var(--muted);font-size:12px}.score-ring{height:110px;width:110px;flex-shrink:0;border-radius:50%;border:8px solid #b7cda4;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f6f9f0;color:var(--forest);box-shadow:0 0 0 1px #ffffff55}.score-ring strong{font-size:33px;line-height:1}.score-ring small{font-size:9px;margin-top:6px}.check-row{display:flex;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px;min-width:0}.check-row>div{flex:1;min-width:0}.check-row h3{font-size:13px;margin:0 0 5px}.check-row small{display:block;font-size:10px;color:var(--muted)}.check-button{width:26px;height:26px;background:#fff;border:1px solid #bdceb0;border-radius:8px;color:transparent;display:grid;place-items:center;flex-shrink:0;min-width:26px}.check-button.checked,.check-button.done{background:var(--forest);border-color:var(--forest);color:white}.quantity{font-variant-numeric:tabular-nums;padding:7px 10px;border-radius:8px;background:#edf3e5;font-size:11px;color:var(--forest)}.file-card{display:flex;flex-direction:column}.file-visual{background:#f1f5eb;min-height:118px;border-radius:14px;margin-bottom:20px;color:#738868;display:flex;align-items:center;justify-content:center;gap:10px;position:relative}.file-visual>.tag{position:absolute;bottom:10px;right:10px}.file-card h3{font-size:16px;overflow-wrap:anywhere}.file-card .actions{margin-top:auto;padding-top:15px}.file-card .fine{overflow-wrap:anywhere}.file-card code{font-size:10px}.photo-preview{display:block;width:auto;max-width:100%;max-height:65dvh;margin:0 auto 20px;border-radius:12px;object-fit:contain}
/* Journal, crew, vehicle and settings */
.journal-intro{padding:32px;background:linear-gradient(110deg,#e9ede0,#f2eadb);border-radius:22px;margin-bottom:25px;display:flex;justify-content:space-between;align-items:center;color:#617450}.journal-intro>p{font-size:24px;letter-spacing:-.04em;line-height:1.45;margin:0}.journal-intro>svg{opacity:.45}.journal-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:22px}.journal-card .row{align-items:flex-start}.journal-card .eyebrow{font-size:8px;margin:0}.journal-card .journal-text{font-size:14px;white-space:pre-wrap;color:#42513e;margin:22px 0;line-height:1.9;overflow-wrap:anywhere}.journal-photos{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.photo-placeholder{background:#f0f3e8;border:1px dashed #cbd9c0;border-radius:12px;max-width:130px;min-height:90px;padding:15px 10px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:#718263;font-size:9px;overflow-wrap:anywhere}.crew-hero{background:#eaf1e1;border:1px solid #dce7d2;border-radius:24px;text-align:center;padding:45px 30px;margin-bottom:28px}.crew-hero h2{font-size:31px}.crew-hero p{font-size:12px;line-height:1.8;max-width:620px;margin:0 auto 25px;color:#657c57}.overlapping-avatars{display:flex;justify-content:center;margin-bottom:20px}.overlapping-avatars .avatar{margin-left:-10px;border:3px solid #edf3e5;background:#d0dabc}.overlapping-avatars .avatar:nth-child(2n){background:#e6dfc4}.overlapping-avatars .avatar:nth-child(3n){background:#c7d8c7}.crew-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:24px}.member-row{display:flex;align-items:center;gap:10px;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px}.member-row>div:nth-child(2){flex:1;min-width:0}.member-row small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.member-status{text-align:right;flex-shrink:0;max-width:45%}.member-status .tag{font-size:8px}.crew-messages{max-height:320px;overflow-y:auto;padding:0 3px 12px;overscroll-behavior:contain}.crew-message{padding:10px 12px;background:#f6f8f2;border-radius:11px;margin:10px 0;font-size:11px}.crew-message strong{font-size:10px;color:#5b7948}.crew-message p{white-space:pre-wrap;margin:3px 0;font-size:11px;overflow-wrap:anywhere}.crew-message small{font-size:8px;color:var(--muted)}.quick-messages{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0 15px}.quick-messages .chip{font-size:9px;min-height:30px;padding:5px 9px}.message-form{display:flex;align-items:center;gap:10px}.message-form input{flex:1;min-width:0;font-size:11px;background:#fafbf7;border:1px solid var(--line);border-radius:10px;padding:11px}.poll{margin-top:22px;border-top:1px solid var(--line);padding-top:17px}.poll h3{font-size:14px;margin-bottom:12px}.poll-option{display:flex;justify-content:space-between;gap:12px;text-align:left;width:100%;border:1px solid #e0e7d8;background:#f8faf4;border-radius:10px;padding:11px 14px;font-size:11px;margin:7px 0}.poll-option.selected{background:#e8f0de;border-color:#a5bd94;color:var(--forest)}.poll>small{display:block;font-size:9px;color:var(--muted);margin-top:12px}.vehicle-hero{display:flex;align-items:center;gap:35px;background:#eaf0e2}.vehicle-art{height:145px;width:180px;flex-shrink:0;display:grid;place-items:center;color:#64844f;border:1px solid #d2dfc5;border-radius:19px;background:#f6f8ef}.vehicle-hero h2{font-size:28px}.weather-card>svg{color:#b59859;margin:18px 0}.weather-card h2{font-size:35px;margin-bottom:13px}.weather-card h2 span{font-size:20px;color:var(--muted)}.settings-list{display:flex;flex-direction:column;gap:16px}.service-status{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.service-status .tag{margin-left:auto}.danger-zone{border-color:#e9d9d1;background:#fefbf9}.danger-zone h3{color:#974d3e}.more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.more-tile,.feature-tile{display:flex;align-items:center;gap:17px;padding:22px;background:white;border:1px solid var(--line);border-radius:17px;min-width:0}.more-tile>svg,.feature-tile>svg{background:#f0f4e9;width:47px;height:47px;border-radius:14px;padding:12px;color:#688159}.more-tile h3,.feature-tile h3{font-size:14px;margin-bottom:5px}.more-tile p,.feature-tile p{font-size:10px;color:var(--muted);margin:0}.more-tile>div{flex:1;min-width:0}.more-tile:hover{background:#f6f9f0;border-color:#b4c9a3}.conflict{padding:15px 0;border-bottom:1px solid var(--line)}
/* Forms, bottom sheets, feedback */
.field{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#54674a;min-width:0;margin-bottom:15px}.field>span{font-weight:550}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #dce5d6;border-radius:10px;background:#fbfcf9;padding:12px 13px;min-height:44px;font-size:12px;color:var(--ink);line-height:1.5}.field textarea{resize:vertical;min-height:83px}.field input[type=file]{font-size:11px;padding:9px}.field input[type=file]::file-selector-button{border:0;background:var(--soft);color:var(--forest);padding:9px 11px;border-radius:7px;cursor:pointer;margin-right:12px}.form-grid,.form-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid .full{grid-column:1/-1}.check-field{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.55;margin:12px 0;color:#4d6346}.check-field input{appearance:auto;accent-color:var(--forest);width:17px;height:17px;min-width:17px;margin:0;margin-top:2px;cursor:pointer}.check-field small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.sheet{padding:0;border:1px solid #d8e2d0;border-radius:23px;box-shadow:0 30px 120px #0f281b40;background:#fff;color:var(--ink);width:min(690px,calc(100vw - 40px));max-height:calc(100dvh - 60px);overflow:auto;overscroll-behavior:contain}.sheet::backdrop{background:#11261968;backdrop-filter:blur(5px)}.sheet-form{padding:28px 30px 0}.sheet-form>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.sheet-form header h2{font-size:25px;margin:0;letter-spacing:-.035em}.sheet-form header .eyebrow{font-size:8px}.sheet-form header .round-btn{margin-top:0}.sheet-form>.muted{font-size:12px;margin-top:-10px}.form-body{padding-bottom:14px}.form-body h3{font-size:16px;margin:17px 0 14px}.form-body>p{font-size:12px;color:var(--muted)}.sheet-form>footer{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px -30px 0;padding:18px 30px;background:#fffffff5;border-top:1px solid var(--line);backdrop-filter:blur(8px);z-index:2}.form-error{padding:12px;border-radius:10px;border:1px solid #e8c4b8;background:#fff1e9;font-size:12px;color:#974732;margin-bottom:17px}.sheet-form .form-body>.notice{margin-top:15px}.toasts{position:fixed;bottom:95px;right:25px;display:flex;flex-direction:column;gap:10px;z-index:90;max-width:min(400px,calc(100vw - 32px));pointer-events:none}.toast{padding:14px 18px;background:#244d3af5;color:white;box-shadow:0 8px 30px #213d2330;border:1px solid #ffffff25;border-radius:12px;font-size:11px;line-height:1.6;overflow-wrap:anywhere;animation:toast-in .2s ease}.toast.error{background:#853e32f5}.boot-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:28px}.boot-card{background:white;border:1px solid var(--line);border-radius:25px;padding:36px;max-width:620px;box-shadow:var(--shadow)}.boot-card h1{font-size:28px}.boot-card p{color:var(--muted);font-size:13px}.boot-mark{font-size:31px;color:var(--forest);margin-bottom:15px}.boot-error{white-space:pre-wrap;color:var(--danger);font-size:12px}.boot-card .actions{margin-top:22px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
/* Tablet and mobile are first-class layouts, not a shrunken dashboard. */
@media(min-width:1600px){.content{padding-top:32px}.trip-hero{height:370px}.hero-content h2{font-size:50px}.card p{font-size:13px}.metric strong{font-size:26px}}
@media(max-width:1250px){:root{--sidebar:218px}.sidebar{padding:25px 13px 18px}.brand{font-size:22px;padding-bottom:24px}.brand>span{height:39px;width:39px}.content{padding:20px 27px 35px}.topbar{padding:0 27px}.page-heading>.actions{max-width:38%}.page-heading .subtitle{max-width:510px}.hero-content h2{font-size:39px}.hero-readiness{right:20px;bottom:25px;padding:13px 15px}.grid{gap:16px}.card{padding:21px}.metric{padding:19px 16px 17px}.metric strong{font-size:21px}.planner-layout{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.assistant-layout,.crew-layout,.budget-layout{grid-template-columns:minmax(0,1.45fr) minmax(245px,1fr);gap:18px}.navigation-layout{grid-template-columns:minmax(0,1fr) 270px}.more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-content p{max-width:330px}}
@media(max-width:1050px){:root{--sidebar:190px}.sidebar{padding:24px 10px 16px}.brand{font-size:19px;gap:7px}.brand>span{width:34px;height:34px;border-radius:10px}.brand>span svg{width:23px}.brand small{font-size:7px}.nav-link{font-size:11px;padding:10px;gap:9px}.nav-link svg{width:18px}.sidebar-journey strong{max-width:124px}.content{padding:18px 22px 30px}.topbar{padding:0 22px;height:68px}.page-heading{align-items:flex-start}.page-heading>.actions{max-width:36%}.page-heading h1{font-size:29px}.page-heading .subtitle{font-size:11px}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{gap:13px}.metric{padding:19px}.hero-content{padding:26px;max-width:85%}.hero-readiness{right:20px;bottom:92px}.hero-readiness strong{font-size:23px}.dashboard-grid{grid-template-columns:1fr}.planner-layout{grid-template-columns:1fr}.planner-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.assistant-layout{grid-template-columns:1fr}.assistant-layout>aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.crew-layout,.budget-layout{grid-template-columns:1fr}.crew-layout>aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.navigation-layout{grid-template-columns:1fr}.navigation-layout>aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.nav-map{height:420px}.page-footer{padding:20px 22px}.welcome-hero>div{padding:34px}.welcome-hero h2{font-size:51px}.welcome-hero{height:430px}.hero-content h2{font-size:39px}.sheet{max-height:calc(100dvh - 30px)}}
@media(max-width:760px){:root{--sidebar:0px;--radius:18px}.sidebar{display:none}.app-shell{margin:0}.topbar{padding:calc(12px + var(--safe-top)) 21px 11px;height:calc(66px + var(--safe-top));background:#f6f7f3ed}.mobile-brand{display:flex;align-items:center;gap:9px;color:var(--forest);font-size:22px;letter-spacing:-.065em}.mobile-brand svg{width:26px;height:26px}.mobile-brand strong{font-weight:700}.breadcrumb{display:none}.top-actions{gap:12px}.top-actions .avatar{width:32px;height:32px;font-size:10px}.mobile-menu{display:none}.content{padding:20px 20px 95px;min-height:calc(100dvh - 67px)}.page-heading{display:block;margin-bottom:23px}.page-heading>.actions{max-width:none;justify-content:flex-start;gap:8px;margin-top:14px}.page-heading>.actions .btn{font-size:11px;padding:10px 14px;min-height:40px}.page-heading>.actions:empty{display:none}.page-heading .eyebrow{font-size:8px;margin-bottom:9px;letter-spacing:.15em}.page-heading h1{font-size:30px;font-weight:640;line-height:1.14;margin-bottom:9px;letter-spacing:-.045em}.page-heading .subtitle{font-size:11px;line-height:1.7;max-width:92%}.page-footer{display:none}.content>section,.content>.grid,.content>.card,.content>.notice{margin-bottom:22px}.content>.notice{font-size:10px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:stretch;justify-content:space-around;padding:9px 8px calc(8px + var(--safe-bottom));background:#fffffff5;border-top:1px solid #e0e7d9;backdrop-filter:blur(15px);z-index:50;min-height:67px;box-shadow:0 -6px 20px #273e2f03}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#8a9584;font-size:8px;width:20%;font-weight:550;position:relative;min-height:43px}.bottom-nav a.active{color:var(--forest);font-weight:700}.bottom-nav a.active::before{content:'';width:33px;height:28px;position:absolute;top:-2px;background:#e9f0df;border-radius:10px;z-index:-1}.bottom-nav a.active svg{stroke-width:2}.bottom-nav a svg{width:21px;height:21px}.copilot-fab{right:18px;bottom:calc(86px + var(--safe-bottom));height:46px;padding:12px 15px;box-shadow:0 5px 17px #244f3e30;border-radius:16px;font-size:10px}.copilot-fab svg{width:20px;height:20px}.grid{gap:13px}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.two{grid-template-columns:1fr}.card{padding:21px;border-radius:18px}.card h2{font-size:19px}.card h3{font-size:16px}.card p{font-size:11px}.section-heading{margin-bottom:18px;gap:10px}.section-heading h2{font-size:19px}.section-heading .btn{font-size:10px;padding:8px 3px}.section-heading>p{font-size:10px}.metric{padding:16px 14px;gap:6px;border-radius:14px;min-height:111px}.metric>span{font-size:9px;padding-right:14px}.metric>svg{width:15px;height:15px;right:12px;top:16px}.metric strong{font-size:20px;letter-spacing:-.035em}.metric small{font-size:8px;line-height:1.5}.tag{font-size:8px;padding:5px 7px}.eyebrow{font-size:8px}.notice{padding:11px 12px;gap:9px;font-size:10px;border-radius:10px}.notice>svg{width:15px;height:15px}.welcome-hero{height:435px;border-radius:22px;margin-top:5px}.welcome-hero::before{background:linear-gradient(0deg,#173c2df2,#17372a57 75%)}.welcome-hero>div{height:100%;padding:28px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}.welcome-hero .pill{font-size:7px}.welcome-hero h2{font-size:52px;margin:22px 0 13px;line-height:1.03}.welcome-hero p{font-size:11px;margin-bottom:16px}.welcome-hero .btn{font-size:10px;min-height:42px;margin:4px 0}.trip-hero{height:342px;border-radius:21px}.trip-hero>img{object-position:58% center}.hero-shade{background:linear-gradient(0deg,#132e27db,#193a2957 75%)}.hero-content{padding:22px;max-width:100%;justify-content:flex-end}.hero-meta{margin-bottom:auto;flex-wrap:wrap;gap:6px}.hero-content h2{font-size:37px;line-height:1.1;max-width:95%;font-weight:600}.hero-content p{font-size:10px;max-width:87%;margin-bottom:17px}.hero-content .actions{gap:7px}.hero-content .btn{font-size:10px;padding:10px 12px;min-height:39px}.hero-readiness{top:22px;right:21px;bottom:auto;padding:10px 12px;gap:0 5px;border-radius:12px}.hero-readiness strong{font-size:19px}.hero-readiness strong small{font-size:9px}.hero-readiness span{font-size:7px}.hero-readiness svg{width:13px}.hero-meta{max-width:65%}.hero-meta .tag{font-size:8px}.next-stop{gap:13px;margin:21px 0}.next-stop h3{font-size:19px}.next-stop .stop-number{width:43px;height:52px;font-size:19px}.next-stop p{font-size:10px}.dashboard-grid{gap:16px}.trip-tile{padding:17px;border-radius:16px}.trip-tile h3{font-size:16px}.trip-tile>span{font-size:8px}.trip-tile>p{font-size:10px;margin-bottom:16px}.tile-icon{width:34px;height:34px;border-radius:10px;margin-bottom:14px}.tile-icon svg{width:21px}.trip-tile .row{font-size:9px}.trip-tile small{font-size:8px}.day-picker{margin:0 -20px 18px;padding:2px 20px 8px;gap:9px}.day-tab{min-width:91px;padding:13px 15px}.day-tab strong{font-size:12px}.day-tab span{font-size:7px}.day-tab small{font-size:8px}.planner-layout{gap:22px}.planner-aside{grid-template-columns:1fr}.timeline-stop{gap:10px;padding-bottom:14px}.timeline-rail{width:29px}.timeline-rail time{font-size:8px;margin:4px 0 7px}.timeline-rail>span{height:24px;width:24px;font-size:9px;border-width:3px}.timeline-rail::after{left:14px;top:48px;bottom:-25px}.stop-card{padding:17px 15px;border-radius:16px}.stop-card h3{font-size:18px;margin:10px 0 6px}.stop-card>p{font-size:10px;line-height:1.7}.stop-kind{font-size:8px}.stop-kind svg{width:14px;height:14px}.stop-facts{gap:9px;font-size:9px}.stop-note{font-size:10px!important}.stop-actions{gap:4px;flex-wrap:wrap;padding-top:9px;margin-top:12px}.stop-actions .btn{font-size:9px;padding:8px 5px;min-height:33px;gap:5px}.stop-actions .btn svg{height:14px;width:14px}.timeline-transfer{margin:0 0 15px 41px;font-size:9px}.planner-layout .section-heading h2{font-size:20px}.planner-layout .section-heading>div p{font-size:9px;line-height:1.6}.planner-layout .section-heading>.btn{max-width:88px;font-size:9px}.view-map{padding:0 0 72px}.map-page{height:calc(100dvh - 134px - var(--safe-top) - var(--safe-bottom));min-height:480px;border:0;border-radius:0}.map-top{left:14px;right:14px;top:15px;display:block}.map-top>div:first-child{max-width:78%;padding:13px 15px;border-radius:13px}.map-top h1{font-size:19px}.map-top p{font-size:9px}.map-top .actions{position:absolute;right:0;top:0;flex-direction:column;background:none;box-shadow:none;max-width:18%;padding:0}.map-top .actions .btn{padding:10px;background:white;box-shadow:0 2px 10px #21372a12;min-width:40px;min-height:40px}.map-top .actions .btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.map-controls{top:150px;right:15px}.map-controls button{height:34px;width:34px}.map-bottom{left:14px;right:14px;bottom:24px;max-width:none;width:auto;max-height:38%;padding:17px;border-radius:17px}.map-bottom h2{font-size:17px}.map-attribution{font-size:8px;bottom:3px}.map-tile-status{top:108px;left:14px;font-size:8px;max-width:75%}.view-map~.copilot-fab{bottom:90px}.nav-map{height:330px;border-radius:17px}.navigation-layout{gap:17px}.navigation-layout>aside{grid-template-columns:1fr}.turn-card{padding:22px;border-radius:19px}.turn-icon>svg{height:56px;width:56px;padding:11px}.turn-card h3{font-size:20px}.nav-metrics{gap:10px}.nav-metrics .metric{padding:13px 10px;min-height:85px}.nav-metrics .metric strong{font-size:17px}.nav-metrics .metric span{font-size:8px}.nav-metrics .metric small{font-size:8px}.discovery-banner{padding:24px 22px;border-radius:19px;gap:12px}.discovery-banner h2{font-size:24px;line-height:1.25}.discovery-banner>svg{display:none}.search-form{padding:7px 7px 7px 13px;gap:8px}.search-form input{font-size:11px;padding:8px 0}.search-form .btn{font-size:10px;padding:10px 12px;min-height:38px}.categories{gap:6px;margin:17px 0 21px}.categories .chip{font-size:9px;min-height:32px;padding:7px 12px}.categories>.btn{font-size:10px}.place-visual{height:116px}.place-body{padding:16px}.place-body h3{font-size:16px}.place-body p{font-size:10px}.place-body .actions{flex-direction:column;align-items:stretch;gap:5px}.place-body .btn{font-size:9px;padding:9px 10px}.place-body .tag{font-size:7px}.selection-bar{top:calc(70px + var(--safe-top));gap:9px;padding:12px;font-size:11px}.selection-bar .btn{font-size:9px;min-height:35px;padding:8px 10px}.assistant-layout>aside{grid-template-columns:1fr}.conversation{padding:21px}.assistant-intro{padding:13px 0 15px}.assistant-intro h2{font-size:24px}.assistant-intro p{font-size:11px;line-height:1.8}.ai-orb{width:62px;height:62px;border-radius:21px;margin-bottom:24px}.prompt-chip{font-size:10px;padding:13px;line-height:1.6}.assistant-form textarea{font-size:16px;line-height:1.6;padding:12px;min-height:112px}.assistant-form select{font-size:10px;max-width:62%}.assistant-form .btn{padding:10px 13px;font-size:11px}.assistant-form .check-field{font-size:10px}.message{max-width:96%;padding:13px 15px}.message p{font-size:12px}.assistant-layout{gap:20px}.proposal-card>.row{gap:8px;flex-wrap:wrap}.proposal-card h3{font-size:16px}.proposal-card .symbol{width:33px;height:33px}.proposal-card>.row>.tag{margin-left:41px}.budget-layout{gap:18px}.expense-row{gap:10px;padding:14px 0}.expense-symbol{width:33px;height:33px;border-radius:10px}.expense-row h3{font-size:12px}.expense-row small{font-size:8px}.expense-row>strong{font-size:12px}.expense-row .icon-only{width:27px;min-width:27px;padding:3px}.prepare-score{padding:22px 20px;gap:20px;border-radius:18px}.score-ring{width:80px;height:80px;border-width:6px}.score-ring strong{font-size:25px}.score-ring small{font-size:8px}.prepare-score h2{font-size:20px}.prepare-score p{font-size:10px;margin:0}.check-row{gap:10px}.check-row h3{font-size:12px}.check-row small{font-size:9px}.check-row .btn{font-size:9px;padding:7px}.file-card{padding:17px}.file-visual{min-height:100px;border-radius:12px}.file-card h3{font-size:14px}.file-card .actions{flex-direction:column;align-items:stretch;gap:4px}.file-card .btn{padding:9px;font-size:10px}.journal-entries{grid-template-columns:1fr;gap:17px}.journal-intro{padding:25px 24px}.journal-intro p{font-size:24px}.journal-intro svg{width:42px;height:42px}.journal-card .journal-text{font-size:14px}.crew-hero{padding:32px 23px;border-radius:21px}.crew-hero h2{font-size:27px;line-height:1.2}.crew-hero p{font-size:11px}.crew-hero .actions{flex-direction:column}.crew-hero .btn{font-size:11px;min-width:230px}.crew-layout>aside{grid-template-columns:1fr}.crew-map{height:300px;border-radius:18px}.member-row{gap:8px;font-size:11px;flex-wrap:wrap}.member-row .avatar{width:32px;height:32px;font-size:9px}.member-status .tag{font-size:7px}.member-row small{font-size:8px}.convoy-route .actions{gap:7px}.convoy-route .btn{font-size:10px;padding:10px 12px}.vehicle-hero{gap:17px;flex-wrap:wrap}.vehicle-art{width:100%;height:130px}.vehicle-art svg{width:105px}.vehicle-hero h2{font-size:25px}.more-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.more-tile{padding:18px 15px;flex-direction:column;align-items:flex-start;gap:14px}.more-tile>svg{width:40px;height:40px;padding:10px;border-radius:11px}.more-tile h3{font-size:13px}.more-tile p{font-size:9px}.more-tile>svg:last-child:not(:first-child){display:none}.feature-tile{padding:18px;gap:12px}.feature-tile h3{font-size:13px}.service-status{font-size:11px}.service-status .tag{font-size:8px}.sheet{width:100%;max-width:none;max-height:calc(100dvh - 40px - var(--safe-top));margin:auto 0 0;border-radius:24px 24px 0 0;position:fixed;bottom:0;top:auto;border-bottom:0;animation:toast-in .15s ease}.sheet::before{content:'';height:4px;width:36px;border-radius:5px;background:#cfd9c7;display:block;margin:10px auto 0}.sheet-form{padding:17px 22px 0}.sheet-form>header{margin-bottom:23px;gap:15px}.sheet-form header h2{font-size:24px}.sheet-form>footer{padding:15px 22px calc(17px + var(--safe-bottom));margin-left:-22px;margin-right:-22px;gap:8px}.sheet-form>footer .btn{font-size:11px;min-height:43px;padding:11px 16px}.form-body{padding-bottom:12px}.form-grid,.form-grid.two{gap:0 12px}.field{font-size:10px;margin-bottom:14px}.field input,.field select,.field textarea{font-size:16px;padding:10px 12px;min-height:44px;border-radius:9px}.field input[type=file]{font-size:11px}.check-field{font-size:12px;gap:11px;margin:15px 0;line-height:1.6}.check-field input{width:19px;height:19px;min-width:19px;margin-top:1px}.check-field small{font-size:10px}.form-error{font-size:12px}.toasts{right:16px;left:16px;bottom:calc(143px + var(--safe-bottom));max-width:none;align-items:center}.toast{font-size:11px;padding:12px 15px;max-width:100%}.operation-status{max-width:80px;max-height:36px;overflow:hidden;font-size:8px;line-height:1.4}.operation-status:empty{display:none}.top-actions #sharing-pill .tag{font-size:8px;padding:6px;max-width:90px}.top-actions:has(#sharing-pill:not(:empty)){gap:8px}.top-actions:has(#sharing-pill:not(:empty))>.connection-dot{display:none}}
@media(max-width:380px){.content{padding-left:16px;padding-right:16px}.topbar{padding-left:17px;padding-right:17px}.mobile-brand{font-size:21px}.page-heading h1{font-size:28px}.hero-content{padding:20px}.hero-content h2{font-size:33px}.hero-content .actions .btn{padding:10px;font-size:9px;gap:5px}.hero-content .btn svg{height:14px;width:14px}.hero-readiness{right:17px;top:20px}.metric strong{font-size:18px}.metric{padding:15px 12px}.card{padding:19px}.grid.three{grid-template-columns:1fr}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.day-picker{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.member-status{max-width:48%}.turn-card h3{font-size:19px}.sheet-form{padding-left:18px;padding-right:18px}.sheet-form>footer{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}.sheet-form>footer .btn{padding:10px 12px}.view-map{padding:0 0 72px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0s!important;transition-duration:0s!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,.bottom-nav,.copilot-fab,.page-footer,.btn,.toasts,.map-controls{display:none!important}.app-shell{margin:0}.content{padding:0}.card{box-shadow:none;break-inside:avoid}body{background:white;font-size:11pt}.trip-hero{height:230px}.grid{display:block}.card,.metric{margin-bottom:12px}.sheet{position:static;max-height:none}}

/* Long engine identities and permission summaries must remain readable at 320px. */
.view-settings code{overflow-wrap:anywhere;word-break:break-all;font-size:10px}.view-settings .row{flex-wrap:wrap}.view-settings .card{overflow-wrap:anywhere}.view-settings .row .tag{white-space:normal}.view-settings .grid>*{min-width:0}fieldset{border:1px solid var(--line);border-radius:12px;padding:17px;margin:12px 0 20px;min-width:0}legend{font-size:11px;font-weight:600;padding:0 7px;color:var(--forest)}

/* Status definitions stack on narrow screens; rows wrap long provider names. */
.view-settings dl.service-status{display:block;width:100%;min-width:0}.view-settings dl.service-status>div{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 0}.view-settings dl.service-status dt,.view-settings dl.service-status dd{min-width:0;margin:0;overflow-wrap:anywhere}

}

/* Current mobile and desktop experience. Kept in a higher cascade layer so
   supporting feature layouts remain predictable while the product evolves. */
@layer experience {
:root { --ink:#1f3430;--muted:#677670;--forest:#254e42;--accent:#356b59;--line:#e5e7df;--paper:#fffefa;--soft:#edf2e9;--coral:#d47455;--warm:#916220;--danger:#a73a37;--sidebar:238px;--radius:22px;--shadow:0 12px 40px #283c2c0a; color:var(--ink);background:#f6f5ef;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px; }
body { background:#f6f5ef; }
h1,h2,h3,p { overflow-wrap:break-word; }
button,input,textarea,select { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
a,button { touch-action:manipulation; }
button:disabled { opacity:.48;cursor:not-allowed; }
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible { outline:3px solid #d78c53;outline-offset:4px; }
.content { max-width:1430px;padding:28px 38px 44px;margin:0 auto; }
.content>section,.content>.grid,.content>.card { margin-bottom:26px; }
.card { border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);padding:25px;box-shadow:0 2px 0 #28433402;min-width:0; }
.card p { font-size:14px;line-height:1.65; }
.card h2,.section-heading h2 { font-size:22px;font-weight:650;letter-spacing:-.035em;line-height:1.25; }
.card h3 { font-size:18px; }
.section-heading { align-items:center;margin-bottom:20px; }
.section-heading>div { min-width:0; }
.section-heading .btn { white-space:nowrap; }
.overline,.eyebrow { display:block;font-size:10px;letter-spacing:.13em;font-weight:700;line-height:1.6;color:var(--muted); }
.overline+h2 { margin-top:5px; }
.fine { font-size:12px!important;line-height:1.65; }
.muted { color:var(--muted); }
.btn { font-size:13px;min-height:44px;padding:11px 17px;border-radius:13px;line-height:1.35;font-weight:600; }
.btn.primary { background:var(--forest);border-color:var(--forest);color:white;box-shadow:0 3px 7px #254e4212; }
.btn.secondary { background:#f0f3ec;border:1px solid #e1e8dd;color:var(--forest); }
.btn.light { background:#fffaf1;color:var(--forest);border-color:#fffaf1; }
.btn.text,.btn.quiet { color:var(--forest); }
.btn.ghost-light { color:white;background:#ffffff15;border:1px solid #ffffff48; }
.btn.danger { color:#a43c35;background:#fff1ee; }
.btn.icon-only { padding:10px;min-width:44px; }
.btn.icon-only span { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
.round-btn { width:44px;height:44px;min-width:44px;border-radius:14px;color:var(--forest);border:1px solid var(--line);background:var(--paper);display:inline-flex;align-items:center;justify-content:center; }
.top-copilot { color:var(--forest);background:#e8edde;border:0; }
.chip { min-height:40px;border-radius:22px;padding:9px 14px;font-size:12px;border:1px solid var(--line);background:var(--paper); }
.chip.active { background:var(--forest);color:white;border-color:var(--forest); }
.tag { font-size:10px;line-height:1.5;padding:5px 9px;max-width:100%;white-space:normal; }
.notice { font-size:13px;line-height:1.6;border-radius:13px;padding:14px 16px; }
.notice>svg { flex-shrink:0; }
.actions { gap:9px; }
.actions .btn { white-space:normal; }
.empty { padding:28px 20px; }
.empty p { max-width:400px;font-size:14px; }
.empty h2 { font-size:23px; }
.metric { border-radius:18px;padding:22px; }
.metric>span { font-size:12px; }
.metric strong { font-size:27px; }
.metric small { font-size:11px; }
.feature-icon { display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:47px;height:47px;border-radius:16px;background:#edf2e8;color:var(--forest); }
.feature-icon.coral { color:#a95d42;background:#faeee5; }
.feature-icon.violet { color:#73629c;background:#efebf5; }
.avatar { background:#dfe9d8;color:#315446;border:2px solid var(--paper);width:39px;height:39px;flex-shrink:0;border-radius:50%;font-size:12px;display:inline-flex;align-items:center;justify-content:center;font-weight:650; }
.avatar.large { width:64px;height:64px;font-size:20px; }
.avatar-tone-1 { background:#f3dfd2;color:#985738; }.avatar-tone-2 { background:#e3e0ef;color:#72578d; }.avatar-tone-3 { background:#dfe9ee;color:#4a6d8b; }.avatar-tone-4 { background:#f1e6c9;color:#846526; }
.tone-forest{--vehicle:#466d57;--vehicle-soft:#e9f0e4}.tone-coral{--vehicle:#b5684b;--vehicle-soft:#fae9dc}.tone-blue{--vehicle:#4f7396;--vehicle-soft:#e4eff5}.tone-violet{--vehicle:#79659a;--vehicle-soft:#efe9f7}.tone-amber{--vehicle:#a37d34;--vehicle-soft:#f6edce}
/* Quiet, stable navigation chrome. The primary action belongs to its screen. */
.sidebar { background:#fffefa;padding:30px 19px 20px;box-shadow:none; }
.brand { font-size:25px;padding:0 4px 27px;letter-spacing:-.055em;gap:10px; }
.brand>span { background:var(--forest);width:42px;height:42px;border-radius:15px; }
.brand small { font-size:7px;letter-spacing:.16em;margin-top:5px;color:var(--muted); }
.nav-link { font-size:13px;padding:12px 13px;min-height:45px;border-radius:13px;gap:12px; }
.nav-link.active { background:#eaf0e2;color:var(--forest); }
.nav-link small { background:transparent;border:1px solid #d2dfc7;font-size:9px; }
.sidebar-journey { background:#f6f5ed;padding:15px;border-radius:15px;margin-bottom:19px; }
.sidebar-journey button { padding:0;margin-top:6px;min-height:30px; }
.sidebar-journey strong { font-size:12px;max-width:147px; }
.sidebar-bottom { margin-top:auto;padding-top:20px; }
.engine-signature { font-size:10px;line-height:1.6;color:var(--muted); }
.topbar { height:76px;padding:0 38px;border-bottom:1px solid #e8e9e0;background:#f6f5efd9;backdrop-filter:blur(18px);position:sticky;top:0;z-index:40; }
.breadcrumb { font-size:12px; }.breadcrumb strong { font-weight:550; }
.top-actions { gap:10px; }
.page-heading { margin-bottom:26px;align-items:center; }
.page-heading h1 { font-size:34px;letter-spacing:-.055em;line-height:1.14;font-weight:650; }
.page-heading .subtitle { font-size:14px;line-height:1.65;max-width:630px;color:var(--muted); }
.page-heading>.actions { max-width:none; }
.page-footer { padding:16px 38px 25px;font-size:11px; }
.operation-status { max-width:180px;font-size:10px; }
/* Editorial home */
.home-greeting { display:flex;justify-content:space-between;align-items:center;margin-bottom:19px; }
.home-greeting p { margin:3px 0 0;font-size:15px;letter-spacing:-.015em; }
.journey-cover,.landing-hero { position:relative;isolation:isolate;border-radius:27px;overflow:hidden;color:#fff;background:#334c3f; }
.journey-cover>img,.landing-hero>img { position:absolute;width:100%;height:100%;object-fit:cover;inset:0;z-index:-2; }
.journey-cover:after,.landing-hero:after { content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#132d27d9,#132d2733),linear-gradient(0deg,#0b242e52,transparent 70%); }
.journey-cover { min-height:310px;padding:26px 30px 29px;display:flex;flex-direction:column;align-items:flex-start; }
.cover-top { display:flex;width:100%;align-items:center;justify-content:space-between;margin-bottom:24px; }
.cover-date { display:inline-flex;gap:8px;align-items:center;font-size:11px;padding:8px 12px;border-radius:20px;background:#ffffff18;backdrop-filter:blur(9px);border:1px solid #ffffff25; }
.cover-edit { border:1px solid #ffffff45;background:#ffffff1c;color:white;border-radius:50%; }
.cover-copy .overline { color:#edf0d5;font-size:10px;letter-spacing:.17em; }
.cover-copy h1 { margin:7px 0 9px;font-size:clamp(33px,4.1vw,54px);line-height:1.04;font-weight:650;letter-spacing:-.05em;text-wrap:balance; }
.cover-copy p { margin:0;color:#eef1e9;font-size:14px; }
.cover-actions { display:flex;gap:10px;margin-top:24px;flex-wrap:wrap; }
.sample-caption { display:flex;gap:7px;align-items:center;color:var(--muted);font-size:10px;line-height:1.6;margin:-15px 2px 20px; }
.sample-caption>svg { flex-shrink:0; }
.trip-pulse { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:20px;background:var(--paper);padding:18px 0; }
.trip-pulse>a { padding:2px 24px;display:flex;flex-direction:column;gap:7px;border-right:1px solid var(--line);min-width:0; }
.trip-pulse>a:last-child { border:0; }
.trip-pulse span { display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px; }
.trip-pulse strong { font-size:28px;font-weight:650;line-height:1.15;letter-spacing:-.05em; }
.trip-pulse strong em { font-size:14px;font-weight:450;color:var(--muted);font-style:normal;letter-spacing:0; }
.trip-pulse small { font-size:11px;color:var(--muted);line-height:1.4; }
.home-columns { display:grid;grid-template-columns:1.07fr 1fr;gap:22px;margin-bottom:24px; }
.chapter-stop { display:flex;gap:16px;align-items:center;margin:26px 0; }
.chapter-icon { display:flex;align-items:center;justify-content:center;width:58px;height:67px;flex-shrink:0;border-radius:18px;background:#eff2e8;color:var(--forest); }
.chapter-stop .muted { font-size:10px;letter-spacing:.06em;font-weight:650; }
.chapter-stop h3 { margin:5px 0;font-size:22px;letter-spacing:-.03em;line-height:1.3; }
.chapter-stop p { margin:0;font-size:12px;color:var(--muted); }
.chapter-actions { display:flex;gap:9px;flex-wrap:wrap; }
.crew-preview-people { display:flex;align-items:center;gap:14px;margin:20px 0; }
.overlapping-avatars { display:flex;padding-left:7px; }
.overlapping-avatars .avatar { margin-left:-7px;width:39px;height:39px; }
.crew-preview-people strong { display:block;font-size:14px; }
.crew-preview-people small { display:block;font-size:11px;color:var(--muted);margin-top:3px; }
.fleet-mini-list { display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px; }
.fleet-mini { color:var(--vehicle);background:var(--vehicle-soft);display:inline-flex;align-items:center;gap:7px;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:600; }
.fleet-mini small { margin-left:4px;font-weight:400; }
.copilot-prompt-card { background:linear-gradient(105deg,#edf0e0,#f0eee6);border:1px solid #e4e7d9;border-radius:21px;padding:25px;display:flex;align-items:center;gap:18px; }
.copilot-prompt-card .ai-orb { margin:0;flex-shrink:0;background:#dfe6ce;box-shadow:none; }
.copilot-prompt-card .small { width:52px;height:52px;border-radius:17px; }
.copilot-prompt-card h2 { font-size:22px;margin:3px 0 5px;letter-spacing:-.04em; }
.copilot-prompt-card p { font-size:13px;margin:0;color:var(--muted); }
.copilot-prompt-card>.btn { margin-left:auto;white-space:nowrap; }
.small-actions-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px; }
.small-actions-grid>a { display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px 14px;font-size:12px;font-weight:550; }
.small-actions-grid>a>svg:first-child { color:#668164; }
.small-actions-grid>a>svg:last-child { margin-left:auto;color:#89968a; }
.landing-hero { min-height:500px;padding:48px;display:flex;align-items:flex-end; }
.landing-content { max-width:660px; }
.landing-content .overline { color:#e6ead3; }
.landing-content h1 { margin:20px 0;font-size:clamp(40px,5vw,69px);line-height:1.03;letter-spacing:-.055em;font-weight:650; }
.landing-content p { max-width:430px;color:#eef1e5;font-size:15px;line-height:1.7;margin:20px 0; }
.landing-content .btn { margin:5px 6px 0 0; }
.onboarding-promise { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:8px 5px; }
.onboarding-promise h2 { font-size:19px;line-height:1.3;letter-spacing:-.03em;margin:15px 0 9px; }
.onboarding-promise p { font-size:13px;color:var(--muted);line-height:1.7; }
.welcome-secondary { display:flex;gap:15px;justify-content:center;flex-wrap:wrap;margin:20px 0; }
/* Map-first exploration, sheet and optional live crew markers. */
.content.view-map { padding:18px 24px 24px;max-width:none; }
.content.view-map>section { margin:0; }
.explorer-map { position:relative;isolation:isolate;height:calc(100dvh - 119px);min-height:580px;max-height:1100px;border-radius:24px;overflow:hidden;border:1px solid #dfe5d9;background:#e6ebdf; }
.explorer-map .map-stage { position:absolute;inset:0;height:100%;border:0; }
.map-search-bar { position:absolute;z-index:6;top:20px;left:20px;display:flex;gap:10px;right:20px;max-width:485px; }
.map-search-input { border:1px solid #dce4d6;box-shadow:0 5px 22px #243c3012;background:#fffefa;display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:18px;min-width:0;flex:1;text-align:left;font-size:14px;color:#5a6f62; }
.map-search-input span { overflow:hidden;white-space:nowrap;text-overflow:ellipsis; }
.map-avatar { min-width:56px;height:56px;border-radius:18px;background:#244e41;border:2px solid #fffefa;color:white;position:relative;box-shadow:0 4px 12px #16332b28;display:flex;align-items:center;justify-content:center; }
.map-avatar>span { position:absolute;right:-3px;bottom:-4px;border:2px solid #fffefa;background:#d17b57;color:white;border-radius:20px;min-width:21px;height:21px;font-size:10px;display:flex;align-items:center;justify-content:center; }
.map-filter-rail { position:absolute;z-index:6;top:89px;left:20px;right:20px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;pointer-events:none; }
.map-filter-rail>* { pointer-events:auto; }
.map-layer-pill { display:flex;align-items:center;gap:7px;white-space:nowrap;background:#fffefaf2;border:1px solid #e2e6d9;border-radius:24px;padding:10px 13px;min-height:38px;font-size:12px;box-shadow:0 2px 7px #304d3610;color:#496455; }
.map-layer-pill.active { background:#edf3e6;color:#254e42;border-color:#b3c5a4; }
.map-floating-tools { position:absolute;right:20px;top:160px;z-index:6;display:flex;flex-direction:column;align-items:flex-end;gap:12px; }
.map-floating-tools .round-btn { box-shadow:0 4px 18px #17342b18;width:48px;height:48px;border-radius:16px;background:var(--paper); }
.map-floating-tools .btn { font-size:11px;max-width:155px; }
.explorer-sheet { position:absolute;z-index:5;bottom:24px;left:20px;width:380px;max-width:calc(100% - 40px);max-height:calc(100% - 165px);border:1px solid #e4e8dc;border-radius:25px;box-shadow:0 8px 35px #26443518;background:#fffefafc;display:flex;flex-direction:column;overflow:hidden; }
.sheet-grabber { height:23px;min-height:23px;width:100%;display:flex;justify-content:center;align-items:center;background:transparent;border:0;cursor:ns-resize; }
.sheet-grabber>span { width:36px;height:4px;border-radius:4px;background:#d5ddcf; }
.map-sheet-tabs { display:flex;gap:4px;padding:0 16px 12px;border-bottom:1px solid var(--line); }
.map-sheet-tabs button { padding:10px 7px;flex:1;border:0;border-radius:11px;font-size:12px;white-space:nowrap;font-weight:550;background:transparent;color:var(--muted); }
.map-sheet-tabs button.active { background:#eaf0e1;color:var(--forest); }
.map-offline-status { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 17px;border-bottom:1px solid var(--line);background:#faf8ee;color:#675c3e;font-size:11px;line-height:1.4; }
.map-offline-status.ready { background:#f0f5e9;color:var(--forest); }
.map-offline-status.stale { background:#fff1df;color:#72502f; }
.map-offline-status>span { display:flex;align-items:center;gap:6px;min-width:0; }
.map-offline-status>a { flex-shrink:0;text-decoration:underline;text-underline-offset:2px;font-weight:650; }
.map-sheet-scroll { overflow:auto;overscroll-behavior:contain;padding:18px 20px 22px;max-height:295px;scrollbar-width:thin; }
.sheet-expanded .map-sheet-scroll { max-height:calc(100dvh - 340px); }
.map-route-summary { display:flex;align-items:center;gap:10px;justify-content:space-between; }
.map-route-summary>div { min-width:0; }
.map-route-summary h1 { font-size:28px;letter-spacing:-.055em;line-height:1.15;margin:4px 0 6px; }
.map-route-summary p { font-size:12px;line-height:1.5;color:var(--muted);margin:0; }
.map-route-summary .overline { font-size:9px; }
.map-route-summary .btn { padding:11px 13px;font-size:12px;flex-shrink:0; }
.map-route-summary .btn svg { width:17px; }
.map-note,.map-empty-note { font-size:12px;line-height:1.7;color:var(--muted); }
.route-choices { display:flex;gap:7px;overflow:auto;margin:17px 0 8px; }
.route-choice { flex:1;min-width:110px;border-radius:12px;border:1px solid #dce4d5;padding:11px;background:white;text-align:left;color:var(--muted); }
.route-choice.selected { background:#edf2e5;border-color:#7f9c6c;color:var(--forest); }
.route-choice strong,.route-choice span { display:block;font-size:11px; }
.route-choice span { margin-top:4px;font-size:10px; }
.map-stops-list { display:flex;flex-direction:column;margin:13px 0 5px; }
.map-stop-row,.map-place-row { display:flex;align-items:center;gap:12px;border:0;background:transparent;padding:12px 0;min-height:62px;text-align:left;width:100%;border-bottom:1px solid #edf0e7;color:var(--ink); }
.map-stop-row strong,.map-place-row strong { display:block;font-size:13px;font-weight:600; }
.map-stop-row small,.map-place-row small { display:block;font-size:11px;color:var(--muted);margin-top:3px; }
.map-stop-row>span:first-child { width:29px;height:29px;border-radius:50%;background:#e9eee0;color:var(--forest);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;font-weight:600; }
.map-stop-row>span:nth-child(2),.map-place-row>span:nth-child(2) { flex:1;min-width:0; }
.map-stop-row>svg,.map-place-row>svg { flex-shrink:0; }
.map-place-row .feature-icon { width:34px;height:38px;border-radius:11px; }
.map-friends-summary { display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:10px; }
.map-friends-summary strong { display:block;font-size:17px;letter-spacing:-.025em; }
.map-friends-summary p { font-size:11px;color:var(--muted); }
.map-friend-row { display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--line); }
.map-friend-row>button:not(.btn) { display:flex;align-items:center;gap:11px;flex:1;background:none;border:0;text-align:left;padding:0;min-width:0; }
.map-friend-row strong { font-size:13px;display:block; }
.map-friend-row small { font-size:10px;display:block;color:var(--muted);margin-top:2px; }
.map-friend-row .btn { flex-shrink:0; }
.map-nearby-rail { display:flex;gap:6px;flex-wrap:wrap;margin:12px 0; }
.map-place-categories { display:flex;gap:7px;flex-wrap:wrap;margin:14px 0; }
.map-place-categories button { font-size:11px; }
.map-tile-status { top:142px;left:20px;max-width:calc(100% - 90px);font-size:10px;background:#fff7df;border-radius:10px;padding:7px 10px; }
.map-tile-status:empty { display:none; }
.explorer-map .map-controls { right:21px;left:auto;top:auto;bottom:70px;border-radius:13px;box-shadow:0 2px 15px #223b2620; }
.map-controls button { width:42px;height:42px;font-size:24px; }
.explorer-map .map-attribution { z-index:7;bottom:3px;right:6px;font-size:9px;max-width:calc(100% - 12px);background:#fffefaeb; }
.offline-map-card .section-heading { gap:16px; }
.offline-map-card .section-heading p { margin:4px 0 0;max-width:62ch; }
.offline-map-limits { display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px; }
.offline-map-packets { margin:16px 0; }
.offline-map-packet { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.offline-map-packet>div { min-width:0; }
.offline-map-packet strong,.offline-map-packet small { display:block; }
.offline-map-packet small { color:var(--muted);margin-top:4px;overflow-wrap:anywhere; }
.offline-map-packet .btn { flex-shrink:0; }
.offline-map-progress { display:grid;gap:7px;margin:14px 0;font-size:12px;font-weight:600; }
.offline-map-progress progress { width:100%;height:12px;accent-color:var(--forest); }
@media(max-width:600px) { .offline-map-card .section-heading,.offline-map-packet { align-items:flex-start;flex-direction:column; }.offline-map-card .section-heading .btn { align-self:flex-start; }.map-offline-status { padding:7px 13px;font-size:10px; } }
.map-marker.crew { background:var(--vehicle,#356651);width:42px;height:42px;font-size:12px;border:3px solid white;border-radius:50%;box-shadow:0 3px 10px #19342c3a;overflow:visible; }
.map-marker.place { color:white;background:#c17a52;width:25px;height:25px; }
.map-marker.poi { color:white;background:#c17a52;width:25px;height:25px; }
.map-marker.poi.cluster { width:35px;height:35px;background:#315f4f;font-size:12px; }
.map-cluster-list { position:absolute;z-index:3;width:220px;max-width:calc(100% - 12px);max-height:200px;overflow:auto;pointer-events:auto;background:var(--paper);border:1px solid #d4dfce;border-radius:10px;padding:6px;box-shadow:0 3px 18px #203d2528; }
.map-cluster-choice { display:block;width:100%;padding:8px;text-align:left;background:transparent;color:var(--ink);border-radius:7px;font-size:11px; }
.map-cluster-choice:hover,.map-cluster-choice:focus-visible { background:#edf3e6; }
.map-marker.stale { opacity:.6;filter:saturate(.35);border-style:dashed; }
.marker-caption { position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);background:#fffefa;color:#24483a;font-size:10px;font-weight:600;white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis;padding:5px 8px;border-radius:8px;box-shadow:0 2px 10px #23443620;pointer-events:none;border:1px solid #dce4d5; }
.accuracy-circle { fill:#46795818;stroke:#62876155;stroke-width:1; }.accuracy-circle.stale { stroke-dasharray:4 4; }
.member-detail { text-align:center;padding:8px 0 14px; }.member-detail h3 { margin-top:12px; }
/* Multi-car expedition */
.convoy-command-bar { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:25px;padding:20px 24px;background:#eaf0e1;border-radius:20px;border:1px solid #dde6d4; }
.convoy-command-bar>div { min-width:0; }.convoy-command-bar h2 { margin:0 0 5px;font-size:20px;letter-spacing:-.035em; }.convoy-command-bar p { font-size:12px;color:var(--muted);margin:0; }
.help-alert-banner{display:flex;align-items:center;gap:16px;margin:0 0 22px;padding:17px 19px;background:#fff1ea;border:2px solid #bb513b;border-radius:17px;color:#743129;box-shadow:0 7px 22px #873e2520}.help-alert-banner>div{flex:1;min-width:0}.help-alert-banner strong{display:block;font-size:16px}.help-alert-banner p{margin:4px 0 0;font-size:12px;line-height:1.55}.help-alert-banner-icon{display:grid;place-items:center;width:39px;height:39px;flex:none;border-radius:50%;background:#b84a34;color:white}.help-alert-card{border:2px solid #e7aa92;background:#fffaf6}.help-alert-card>.section-heading{align-items:center}.help-alert-card p{line-height:1.55}.help-alert-count{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#b84a34;color:white;font-weight:800}.help-alert-list{display:grid;gap:9px;margin:16px 0}.help-alert-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid #e8b9a7;background:white;border-radius:12px}.help-alert-item strong,.help-alert-item small{display:block}.help-alert-item small{margin-top:4px;color:var(--muted)}.help-alert-empty{padding:12px 15px;background:#f8f1e9;border-radius:11px}.help-alert-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.help-alert-hold{position:relative;overflow:hidden;touch-action:none;user-select:none}.help-alert-hold.holding::before{content:"";position:absolute;inset:0;background:#b84a3440;transform-origin:left;animation:help-alert-fill 2s linear forwards;pointer-events:none}.help-alert-hold>svg,.help-alert-hold>span{position:relative}.help-alert-hold:focus-visible{outline:3px solid #743129;outline-offset:3px}@keyframes help-alert-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (max-width:700px){.help-alert-banner,.help-alert-item{align-items:flex-start;flex-wrap:wrap}.help-alert-banner .btn,.help-alert-item .btn{width:100%;justify-content:center}.help-alert-actions>.btn{width:100%;justify-content:center}}
@media (prefers-reduced-motion:reduce){.help-alert-hold.holding::before{animation:none;background:#b84a3430}}
.fleet-heading { display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px; }.fleet-heading h2 { margin:0;font-size:24px;letter-spacing:-.04em; }.fleet-heading p { font-size:12px;color:var(--muted);margin:4px 0 0; }
.fleet-list { display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:16px; }
.fleet-card { min-width:0;border:1px solid var(--line);background:var(--paper);border-radius:22px;overflow:hidden;padding:20px;position:relative; }
.fleet-card:before { content:'';position:absolute;inset:0 0 auto;height:4px;background:var(--vehicle);opacity:.7; }
.fleet-card-top { display:flex;align-items:center;gap:12px;margin-bottom:18px; }
.fleet-card-top>div { flex:1;min-width:0; }.fleet-card-top h3 { font-size:20px;line-height:1.2;letter-spacing:-.025em;margin:0 0 4px; }.fleet-card-top small { font-size:11px;color:var(--muted); }
.fleet-car-icon { width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:16px;color:var(--vehicle);background:var(--vehicle-soft);flex-shrink:0; }
.fleet-card .overline { font-size:9px; }
.fleet-driver { display:flex;align-items:center;gap:10px;background:#f5f6ef;padding:12px;border-radius:14px;margin:15px 0; }.fleet-driver strong { font-size:13px;display:block; }.fleet-driver small { font-size:10px;color:var(--muted);display:block;margin-top:2px; }
.seat-grid { display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:13px 0; }
.seat,.passenger-seat { min-width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:11px;border:1px solid #dbe3d5;background:#f5f7ef;color:#a0ae98;font-size:11px; }
.seat.occupied,.passenger-seat.occupied { color:var(--vehicle);background:var(--vehicle-soft);border-color:transparent; }
.fleet-passengers { display:flex;flex-wrap:wrap;gap:6px;margin:15px 0; }.fleet-passengers span { border:1px solid #e1e5d9;background:#f7f8f0;border-radius:9px;padding:6px 9px;font-size:11px; }
.fleet-card-footer { display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:17px;padding-top:13px;border-top:1px solid var(--line);font-size:11px; }
.fleet-card-footer .btn { min-height:38px;font-size:11px;padding:8px 10px; }
.fleet-add { border:1px dashed #adbd9d;background:#f0f3e9;min-height:245px;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--forest);gap:12px;font-size:14px; }
.fleet-add .feature-icon { background:#e2ead7; }
.fleet-actions { display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:15px; }
.fleet-actions p { font-size:12px;color:var(--muted); }
.crew-main-grid { display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,1fr);gap:24px;margin-top:25px; }
.crew-main-grid>.stack { min-width:0; }
.crew-map-card { overflow:hidden;padding:0; }.crew-map-card .section-heading { padding:22px 23px 0; }
.crew-map-card .mini-map { height:310px;border-radius:0;border:0; }.crew-map-card .map-caption { padding:15px 23px;font-size:11px;color:var(--muted); }
.crew-map-card .map-caption .btn { min-height:36px;font-size:11px; }
.crew-member-line { display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line); }
.member-open { display:flex;align-items:center;gap:12px;border:0;background:transparent;padding:0;text-align:left;flex:1;min-width:0; }
.member-open>span:last-child { min-width:0; }.member-open strong { display:block;font-size:14px; }.member-open small { font-size:11px;color:var(--muted);display:block;line-height:1.6; }
.member-meta { display:flex;align-items:flex-end;flex-direction:column;gap:5px;font-size:10px; }
.member-meta .btn { font-size:10px;padding:3px 0;min-height:26px; }
.my-presence { padding-top:20px; }.presence-options { display:flex;flex-wrap:wrap;gap:7px;margin-top:10px; }.presence-options .chip { font-size:11px;min-height:37px;padding:8px 12px; }
.common-route .section-heading { justify-content:flex-start;gap:15px; }.route-acknowledgements { display:flex;flex-wrap:wrap;gap:7px;margin:18px 0; }.ack-chip { display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:7px 10px;border-radius:10px;background:#f5f3ea;color:#8c8470; }.ack-chip.confirmed { background:#e8f0e1;color:#4b6848; }
.rendezvous-card { background:#f4f1e7; }.rendezvous-card h2 { margin:7px 0 12px;font-size:23px; }
.crew-chat-card { padding:22px; }.crew-chat-card .section-heading { margin-bottom:12px; }
.crew-messages { max-height:320px;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:11px;padding:9px 0; }
.crew-message { background:#f0f2ea;border-radius:15px 15px 15px 4px;padding:12px 14px;max-width:93%;align-self:flex-start;border:0; }
.crew-message.mine { align-self:flex-end;background:#e6eddb;border-radius:15px 15px 4px 15px; }.crew-message strong { font-size:11px;color:#456049; }.crew-message p { margin:4px 0;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere; }.crew-message small { display:block;font-size:9px;color:#80907c;text-align:right; }
.chat-empty { padding:25px 10px;color:var(--muted);text-align:center;font-size:13px;line-height:1.7; }
.quick-messages { display:flex;gap:6px;overflow:auto;scrollbar-width:thin;margin:13px 0;padding-bottom:4px; }.quick-messages .btn { white-space:nowrap;font-size:10px;min-height:32px;padding:7px 9px;background:#f8f8f2;border-radius:20px; }
.crew-message-form { display:flex;align-items:center;gap:8px;background:#f1f3ea;padding:7px;border-radius:15px; }.crew-message-form input { border:0;padding:10px;background:transparent;flex:1;min-width:0;outline-offset:-2px;font-size:13px; }.crew-message-form button { background:var(--forest);color:white;border:0;border-radius:11px;width:38px;height:38px;min-width:38px; }
.poll { padding:17px 0;border-bottom:1px solid var(--line); }.poll h3 { font-size:15px;margin-bottom:12px; }.poll-option { display:flex;align-items:center;justify-content:space-between;padding:11px 13px;width:100%;margin:6px 0;border:1px solid var(--line);border-radius:12px;background:#f7f8f1;color:var(--ink);text-align:left;font-size:13px; }.poll-option.voted { background:#e6eedb;border-color:#afc496; }.poll small { font-size:10px;color:var(--muted); }
.crew-management { padding:20px 24px;background:#f0f2e8;border:1px solid var(--line);border-radius:18px;margin-top:24px; }.crew-management summary { font-size:13px;font-weight:600;cursor:pointer; }.crew-management .actions { margin-top:16px; }.crew-management p { font-size:12px;color:var(--muted);max-width:700px;line-height:1.7; }
.local-people-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px; }.local-person { display:flex;align-items:center;gap:12px;background:#f6f7ef;border:1px solid #e5eadc;border-radius:14px;padding:14px;text-align:left;color:var(--ink);min-width:0; }.local-person>span:nth-child(2) { min-width:0;flex:1; }.local-person strong { font-size:13px;display:block; }.local-person small { font-size:10px;color:var(--muted);display:block;margin-top:4px; }.local-person>svg { flex-shrink:0; }
.crew-start-card { display:flex;align-items:flex-start;gap:20px;border:1px solid #e8e0d2;border-radius:22px;padding:29px;background:#f4f0e6; }.crew-start-card h2 { margin:2px 0 10px;font-size:25px;letter-spacing:-.035em; }.crew-start-card p { font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:18px;max-width:630px; }
/* Existing product areas gain the same readable hierarchy and touch sizes. */
.day-tab { min-width:108px;padding:14px 17px;border-radius:15px; }.day-tab strong { font-size:14px; }.day-tab span,.day-tab small { font-size:10px; }
.stop-card { border-radius:19px;padding:23px; }.stop-card h3 { font-size:22px; }.stop-card>p { font-size:13px; }.stop-kind,.stop-facts { font-size:11px; }.stop-note { font-size:13px!important; }.stop-actions .btn { min-height:38px;font-size:11px; }.timeline-rail time { font-size:11px; }
.stop-rich-details{display:grid;gap:12px;margin:16px 0 3px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.stop-rich-details section{min-width:0}.stop-rich-details h4{font-size:12px;margin:0 0 6px;color:var(--forest)}.stop-rich-details p,.stop-rich-details li,.stop-rich-details dd{font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.stop-rich-details p{margin:2px 0}.stop-rich-details ul{margin:0;padding-left:18px}.stop-rich-details li+li{margin-top:6px}.stop-rich-details li small{display:block;color:var(--muted)}.stop-rich-details dl{margin:0}.stop-rich-details dl div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;margin:4px 0}.stop-rich-details dt{font-size:11px;font-weight:650}.stop-rich-details dd{margin:0}.stop-rich-details .chips{display:flex;flex-wrap:wrap;gap:6px}.stop-rich-details .btn.chip{min-height:35px;font-size:11px;padding:7px 10px}
.activity-row{border:1px solid var(--line);border-radius:12px;padding:12px;margin:0 0 12px;background:#fff}.activity-row .field{margin-bottom:9px}.activity-remove{margin-bottom:3px}.day-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
.assistant-intro p { font-size:14px; }.assistant-intro h2 { font-size:31px;letter-spacing:-.045em; }.prompt-chip { padding:16px;font-size:13px;border-radius:14px; }.message p { font-size:14px;line-height:1.8; }.message strong { font-size:11px; }.assistant-form textarea { font-size:15px;line-height:1.7;border-radius:14px; }.assistant-form select { font-size:12px; }.assistant-form .check-field { font-size:11px; }.assistant-form .check-field small { font-size:10px; }.ai-orb { background:#e7ebd9;box-shadow:none; }
.search-form input { font-size:15px; }.category-chip { font-size:12px;min-height:42px; }.place-card h3 { font-size:21px; }.place-card p { font-size:13px; }.place-facts { font-size:11px; }.search-form { min-width:0; }
.field { font-size:13px;margin-bottom:18px; }.field input,.field select,.field textarea { font-size:15px;padding:13px 14px;border-radius:12px;min-height:48px;color:var(--ink);background:#fffefa; }.field textarea { line-height:1.6; }.check-field { font-size:13px;line-height:1.6; }.check-field small { font-size:11px; }.check-field input { width:20px;height:20px;flex-shrink:0;accent-color:var(--forest); }.form-body fieldset { border:1px solid var(--line);border-radius:14px;padding:17px;margin-bottom:18px; }.form-body legend { font-size:13px;font-weight:600;padding:0 5px; }.sheet { border-radius:25px;background:var(--paper);width:min(680px,calc(100vw - 32px)); }.sheet-form>header { padding:25px 28px 15px; }.sheet-form>header h2 { font-size:26px;letter-spacing:-.04em; }.form-body { padding:10px 28px; }.sheet-form>footer { padding:18px 28px 24px;background:var(--paper); }.sheet .muted { font-size:13px; }.form-error { font-size:13px; }.sheet::backdrop { background:#152e2959;backdrop-filter:blur(4px); }
.expense h3,.reservation h3,.task-row strong,.packing-row strong { font-size:15px; }.expense p,.reservation p { font-size:12px; }.journal-text { font-size:15px;line-height:1.85; }.journal-entry { padding:24px; }.journal-entry small { font-size:11px; }.turn-card { border-radius:22px;background:var(--forest); }.turn-card h2 { font-size:26px;line-height:1.3;letter-spacing:-.04em; }.turn-card p { font-size:12px; }.service-status { font-size:13px; }
.more-tile { min-height:115px; }.more-tile h3 { font-size:17px; }.more-tile p { font-size:12px; }.toasts { max-width:calc(100vw - 32px); }.toast { font-size:13px;line-height:1.6;border-radius:15px;padding:16px 20px; }
/* Large touch targets, spacious tablet, edge-to-edge phone map. */
@media(max-width:1200px) {
 :root{--sidebar:206px}.sidebar{padding:25px 13px}.brand{font-size:21px;gap:8px}.brand>span{width:35px;height:35px}.brand small{font-size:6px}.nav-link{font-size:12px;padding:11px 10px}.content{padding:25px}.topbar{padding:0 25px}.home-columns{gap:16px}.card{padding:22px}.small-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.crew-main-grid{grid-template-columns:1fr}.crew-main-grid>aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.local-people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cover-copy h1{font-size:44px}
}
@media(min-width:761px) and (max-width:960px) {
 :root{--sidebar:185px}.sidebar{padding:22px 9px}.brand{font-size:18px}.brand>span{width:31px;height:31px}.nav-link{font-size:11px;padding:10px;gap:8px}.sidebar-journey{padding:12px}.content{padding:22px}.home-columns{grid-template-columns:1fr}.copilot-prompt-card{flex-wrap:wrap}.copilot-prompt-card>.btn{margin-left:70px}.trip-pulse>a{padding:0 15px}.trip-pulse strong{font-size:25px}.trip-pulse small{font-size:10px}.onboarding-promise{grid-template-columns:1fr;gap:10px}.onboarding-promise article{padding:16px;}.fleet-list{grid-template-columns:1fr 1fr}.fleet-card{padding:18px}.local-people-grid{grid-template-columns:1fr}.landing-hero{padding:30px;min-height:440px}
}
@media(max-width:760px) {
 :root{--sidebar:0px;--radius:20px;font-size:14px}
 .sidebar{display:none}.topbar{height:calc(65px + var(--safe-top));padding:calc(8px + var(--safe-top)) 20px 8px;background:#f6f5eff2;gap:8px}.mobile-brand{font-size:23px;gap:8px;letter-spacing:-.055em}.mobile-brand svg{width:26px;height:26px}.top-actions{gap:8px}.top-actions .avatar{width:33px;height:33px;font-size:10px}.top-copilot{width:36px;height:36px;min-width:36px;border-radius:12px}.connection-dot{display:none}.operation-status{display:none}.breadcrumb{display:none}
 .content{padding:22px 19px calc(105px + var(--safe-bottom));min-height:calc(100dvh - 65px);max-width:100%}.content>section,.content>.card,.content>.grid{margin-bottom:20px}.content>.notice{font-size:12px}.page-heading{margin:0 0 23px;display:block}.page-heading h1{font-size:30px;line-height:1.14;margin-top:7px}.page-heading .subtitle{font-size:13px;line-height:1.7;max-width:100%;margin-top:10px}.page-heading .eyebrow{font-size:9px}.page-heading>.actions{margin-top:16px;max-width:none}.page-heading>.actions .btn{font-size:12px;min-height:44px;padding:11px 14px}.page-footer{display:none}.overline,.eyebrow{font-size:9px}.section-heading{margin-bottom:18px;gap:10px}.section-heading h2,.card h2{font-size:20px}.section-heading .btn{font-size:11px;padding:8px 0;min-height:38px}.card{padding:21px;border-radius:20px}.card p{font-size:13px;line-height:1.7}.card h3{font-size:17px}.btn{font-size:12px;padding:11px 14px;min-height:44px}.btn svg{width:18px;height:18px}.btn.icon-only{min-width:44px}.tag{font-size:10px;padding:5px 8px}.notice{font-size:12px;line-height:1.65;padding:13px}.fine{font-size:11px!important}.grid{gap:14px}.grid.two{grid-template-columns:1fr}.grid.three,.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{min-height:105px;padding:18px 16px}.metric>span{font-size:11px}.metric strong{font-size:24px}.metric small{font-size:10px}.metric>svg{width:17px;height:17px}
 .bottom-nav{padding:8px 9px calc(8px + var(--safe-bottom));min-height:72px;border-top:1px solid #e2e5d7;background:#fffefaf7;backdrop-filter:blur(20px);box-shadow:0 -5px 30px #243b2709}.bottom-nav a{font-size:10px;gap:5px;color:#748572;font-weight:500;min-height:48px}.bottom-nav a svg{width:22px;height:22px}.bottom-nav a.active{color:#2a4e3d}.bottom-nav a.active:before{width:47px;height:32px;top:-2px;background:#e6eddb;border-radius:13px}.bottom-nav a.active svg{stroke-width:2}
 .home-greeting{margin-bottom:18px}.home-greeting p{font-size:12px;margin-top:3px}.home-greeting .btn{width:36px;height:36px;min-height:36px;min-width:36px;border-radius:50%;background:#eeeede;border:0}.home-greeting .overline{font-size:8px;letter-spacing:.15em}
 .journey-cover{min-height:298px;padding:19px 20px 22px;border-radius:23px}.journey-cover>img{object-position:61% center}.journey-cover:after{background:linear-gradient(0deg,#153429ec,#1a33264d 85%)}.cover-top{margin-bottom:23px}.cover-date{font-size:9px;padding:7px 10px;gap:6px}.cover-date svg{width:13px;height:13px}.cover-edit{min-width:34px!important;min-height:34px!important;width:34px;height:34px;padding:8px!important}.cover-copy .overline{font-size:9px;letter-spacing:.16em}.cover-copy h1{font-size:37px;line-height:1.05;margin:8px 0 9px;letter-spacing:-.055em;max-width:280px}.cover-copy p{font-size:12px}.cover-actions{gap:8px;margin-top:23px;flex-wrap:nowrap;width:100%}.cover-actions .btn{font-size:11px;min-height:43px;padding:10px 12px;gap:7px}.cover-actions .btn:first-child{flex:1}.cover-actions .btn svg{width:17px;height:17px}.sample-caption{font-size:9px;line-height:1.65;margin:-10px 2px 18px;align-items:flex-start}.sample-caption svg{margin-top:1px}
 .trip-pulse{padding:15px 0;border-radius:18px}.trip-pulse>a{padding:0 12px;gap:7px}.trip-pulse span{font-size:10px;gap:5px}.trip-pulse span svg{width:14px;height:14px}.trip-pulse strong{font-size:24px}.trip-pulse strong em{font-size:12px}.trip-pulse small{font-size:9px;line-height:1.5}.home-columns{grid-template-columns:1fr;gap:17px;margin-bottom:20px}.chapter-stop{gap:13px;margin:23px 0}.chapter-icon{width:48px;height:58px;border-radius:15px}.chapter-stop h3{font-size:22px}.chapter-stop p{font-size:11px}.chapter-stop .muted{font-size:9px}.chapter-actions .btn{flex:1;font-size:11px;padding:10px}.crew-preview-people{margin:20px 0}.crew-preview-people strong{font-size:13px}.crew-preview-people small{font-size:10px}.fleet-mini{font-size:10px;padding:7px 9px}.crew-preview>.btn{width:100%}.copilot-prompt-card{padding:21px;gap:12px;display:grid;grid-template-columns:44px minmax(0,1fr);border-radius:20px}.copilot-prompt-card .small{width:43px;height:43px;border-radius:14px}.copilot-prompt-card h2{font-size:21px;line-height:1.15}.copilot-prompt-card p{font-size:12px;line-height:1.6}.copilot-prompt-card>.btn{grid-column:1/-1;justify-self:stretch;margin:4px 0 0}.small-actions-grid{gap:10px;grid-template-columns:1fr 1fr}.small-actions-grid>a{font-size:11px;padding:14px 12px;border-radius:13px;gap:8px}.small-actions-grid>a>svg:first-child{width:19px;height:19px}.trip-tile{padding:19px}.trip-tile h3{font-size:19px}.trip-tile>p{font-size:12px}.trip-tile>span{font-size:10px}.trip-tile .row{font-size:11px}
 .landing-hero{min-height:490px;border-radius:24px;padding:28px 24px;align-items:flex-end}.landing-hero:after{background:linear-gradient(0deg,#17372bf2,#17372a52)}.landing-hero>img{object-position:61%}.landing-content h1{font-size:45px;line-height:1.035;letter-spacing:-.065em;margin:20px 0 16px}.landing-content p{font-size:13px;line-height:1.75}.landing-content .btn{font-size:12px;width:100%;margin:7px 0 0}.onboarding-promise{grid-template-columns:1fr;gap:0;padding:0 3px}.onboarding-promise article{position:relative;padding:18px 0 18px 63px;border-bottom:1px solid var(--line)}.onboarding-promise .feature-icon{position:absolute;left:0;top:20px;width:43px;height:43px;border-radius:14px}.onboarding-promise h2{font-size:18px;margin:0 0 8px;line-height:1.25}.onboarding-promise p{font-size:12px;margin:0}.welcome-secondary{gap:5px;margin:8px 0 24px;flex-direction:column}
 .content.view-map{padding:0;min-height:0;max-width:100%;height:calc(100dvh - 137px - var(--safe-top) - var(--safe-bottom))}.explorer-map{height:100%;min-height:420px;border:0;border-radius:0;max-height:none}.map-search-bar{top:15px;left:15px;right:15px;gap:9px;max-width:none}.map-search-input{padding:13px 14px;border-radius:16px;font-size:12px;height:51px;gap:9px}.map-search-input svg{width:19px;height:19px;flex-shrink:0}.map-avatar{width:51px;height:51px;min-width:51px;border-radius:16px}.map-filter-rail{top:79px;left:15px;right:15px;gap:6px;padding-bottom:5px}.map-layer-pill{font-size:10px;padding:8px 11px;min-height:35px;gap:6px}.map-layer-pill svg{width:14px;height:14px}.map-floating-tools{top:135px;right:15px;gap:9px}.map-floating-tools .round-btn{width:43px;height:43px;border-radius:14px}.map-floating-tools .btn{font-size:10px;padding:8px;min-height:35px;max-width:130px}.explorer-sheet{bottom:16px;left:12px;right:12px;width:auto;max-width:none;border-radius:24px;max-height:calc(100% - 135px)}.sheet-grabber{height:22px;min-height:22px}.map-sheet-tabs{padding:0 13px 10px;gap:3px}.map-sheet-tabs button{font-size:11px;padding:9px 8px;border-radius:10px}.map-sheet-scroll{padding:16px 18px 19px;max-height:193px}.sheet-expanded .map-sheet-scroll{max-height:calc(100dvh - 350px - var(--safe-top) - var(--safe-bottom))}.map-route-summary h1{font-size:26px;margin:5px 0}.map-route-summary .overline{font-size:8px}.map-route-summary p{font-size:11px}.map-route-summary .btn{font-size:11px;padding:11px}.map-note{font-size:11px;margin-bottom:0}.map-stop-row strong,.map-place-row strong{font-size:12px}.map-stop-row small,.map-place-row small{font-size:10px}.map-stops-list{margin:15px 0 0}.map-tile-status{top:118px;left:15px;font-size:9px;max-width:calc(100% - 80px);padding:6px 9px}.explorer-map .map-controls{top:191px;bottom:auto;right:17px;border-radius:12px}.map-controls button{width:37px;height:37px;font-size:22px}.explorer-map .map-attribution{font-size:8px;bottom:0;line-height:1.5;max-height:16px;overflow:hidden}.map-marker.crew{width:38px;height:38px;font-size:11px}.marker-caption{font-size:9px;padding:4px 6px;top:calc(100% + 6px)}.map-friend-row{gap:7px;padding:12px 0}.map-friend-row strong{font-size:12px}.map-friend-row small{font-size:9px}.map-friend-row .btn{min-width:35px;min-height:35px;width:35px;padding:8px}.map-friends-summary strong{font-size:16px}.map-friends-summary p{font-size:10px}
 .convoy-command-bar{padding:19px;border-radius:19px;flex-direction:column;align-items:stretch;gap:14px;margin-bottom:24px}.convoy-command-bar h2{font-size:19px}.convoy-command-bar p{font-size:12px}.convoy-command-bar .actions{flex-wrap:wrap}.convoy-command-bar .btn{font-size:11px;flex:1;min-height:42px}.fleet-heading{align-items:flex-start;gap:9px;margin-bottom:14px}.fleet-heading h2{font-size:22px}.fleet-heading p{font-size:11px}.fleet-heading .actions{flex-direction:column;align-items:flex-end}.fleet-heading .btn{font-size:10px;min-height:36px;padding:8px 9px}.fleet-list{display:flex;gap:13px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -19px;padding:3px 19px 15px;scrollbar-width:thin}.fleet-card{min-width:278px;max-width:320px;width:calc(100vw - 77px);flex-shrink:0;scroll-snap-align:center;padding:20px;border-radius:20px}.fleet-card-top h3{font-size:20px}.fleet-add{min-width:150px;min-height:220px;flex-shrink:0;padding:20px;font-size:13px;scroll-snap-align:center}.fleet-actions{align-items:flex-start;gap:10px}.fleet-actions p{font-size:11px;margin:4px 0}.fleet-actions .btn{font-size:11px;flex-shrink:0;padding:10px}.crew-main-grid{display:block;margin-top:24px}.crew-main-grid>aside{display:flex;flex-direction:column;gap:18px;margin-top:18px}.crew-main-grid>aside>.card{width:100%}.crew-map-card{padding:0}.crew-map-card .section-heading{padding:20px 20px 0;gap:8px}.crew-map-card .section-heading .btn{font-size:10px;max-width:95px}.crew-map-card .mini-map{height:275px;border-radius:0}.crew-map-card .map-caption{padding:14px 20px;font-size:10px}.crew-map-card .map-controls{top:15px;right:15px}.crew-map-card .map-tile-status{top:15px;left:12px;max-width:68%}.crew-member-line{padding:14px 0;gap:8px}.member-open{gap:10px}.member-open strong{font-size:13px}.member-open small{font-size:10px}.member-meta{gap:4px;font-size:9px}.member-meta .tag{font-size:8px;padding:4px 5px}.my-presence{padding-top:18px}.presence-options{gap:6px}.presence-options .chip{font-size:10px;padding:8px 11px;min-height:35px}.common-route .section-heading{gap:12px}.common-route .feature-icon{width:43px;height:43px}.ack-chip{font-size:10px}.crew-management{padding:18px 20px;border-radius:17px}.crew-management summary{font-size:12px}.crew-management p{font-size:11px}.local-people-grid{grid-template-columns:1fr;gap:10px}.local-person{padding:12px 14px;border-radius:13px}.local-person strong{font-size:13px}.local-person small{font-size:11px}.crew-start-card{padding:22px;gap:13px;border-radius:20px;display:block}.crew-start-card>.feature-icon{margin-bottom:15px}.crew-start-card h2{font-size:24px;line-height:1.2}.crew-start-card p{font-size:13px}.crew-start-card .btn{font-size:12px}
 .day-picker{margin:0 -19px 22px;padding:2px 19px 9px;gap:9px}.day-tab{min-width:96px;padding:13px 15px}.day-tab strong{font-size:13px}.day-tab small,.day-tab span{font-size:9px}.planner-layout{gap:20px}.planner-layout .section-heading h2{font-size:21px}.planner-layout .section-heading p{font-size:11px;line-height:1.6}.planner-layout .section-heading>.btn{font-size:10px;max-width:85px}.timeline-stop{gap:11px}.timeline-rail{width:29px}.timeline-rail time{font-size:9px;margin-top:6px}.timeline-rail>span{width:25px;height:25px;font-size:10px}.stop-card{padding:18px 16px;border-radius:18px}.stop-card h3{font-size:21px;line-height:1.25;margin:12px 0 8px}.stop-card>p{font-size:12px;line-height:1.7}.stop-kind{font-size:9px}.stop-facts{font-size:10px;gap:8px}.stop-note{font-size:12px!important}.stop-actions{flex-wrap:wrap;gap:5px;padding-top:12px}.stop-actions .btn{font-size:10px;min-height:38px;padding:8px 6px;gap:5px}.stop-actions .btn svg{width:15px;height:15px}.timeline-transfer{font-size:10px;margin-left:40px}.planner-aside{display:flex;flex-direction:column;gap:18px}.assistant-layout>aside,.navigation-layout>aside,.crew-layout>aside{display:flex;flex-direction:column;gap:18px}.assistant-layout>aside>.card,.navigation-layout>aside>.card{width:100%}.assistant-intro h2{font-size:29px;line-height:1.1}.assistant-intro p{font-size:13px;line-height:1.75}.prompt-chip{font-size:12px;padding:14px}.assistant-form textarea{font-size:16px;line-height:1.6}.assistant-form select{font-size:11px;min-width:0;max-width:68%}.assistant-form .check-field{font-size:11px;line-height:1.65}.assistant-form .check-field small{font-size:10px}.message p{font-size:13px}.message strong{font-size:10px}.search-form{display:flex;gap:8px;flex-wrap:wrap}.search-form input{font-size:16px;min-width:0;flex:1}.search-form .btn{font-size:11px}.discovery-banner{padding:22px;display:block}.discovery-banner h2{font-size:25px;line-height:1.2}.discovery-banner p{font-size:12px;line-height:1.7}.category-chip{font-size:11px;min-height:40px}.place-card h3{font-size:21px}.place-card p{font-size:12px}.place-facts{font-size:10px}.place-card .btn{font-size:11px}.field{font-size:12px}.field input,.field textarea,.field select{font-size:16px;padding:13px;min-height:48px}.check-field{font-size:12px;line-height:1.6}.check-field small{font-size:11px}.check-field input{width:20px;height:20px}.sheet{width:100%;max-width:none;margin:auto 0 0;border-radius:25px 25px 0 0;max-height:calc(100dvh - 24px - var(--safe-top));}.sheet-form>header{padding:23px 22px 15px}.sheet-form>header h2{font-size:24px;line-height:1.2}.form-body{padding:8px 22px 12px}.sheet-form>footer{padding:16px 22px calc(18px + var(--safe-bottom));gap:8px}.sheet-form>footer .btn{font-size:12px}.sheet .grid.two{grid-template-columns:1fr}.expense h3,.reservation h3{font-size:15px}.expense p,.reservation p{font-size:11px}.expense-row{gap:9px}.expense-amount{font-size:15px}.journal-intro{padding:24px}.journal-intro h2{font-size:26px;line-height:1.2}.journal-intro p{font-size:13px}.journal-entry{padding:21px}.journal-text{font-size:14px;line-height:1.9}.more-tile{padding:19px;min-height:110px}.more-tile h3{font-size:17px}.more-tile p{font-size:11px}.turn-card{padding:23px 20px;gap:16px}.turn-card h2{font-size:25px;line-height:1.25}.turn-card p{font-size:12px}.turn-icon>svg{width:51px;height:51px}.nav-map{height:350px;border-radius:19px}.nav-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px}.nav-metrics .metric{padding:15px 11px;min-height:94px}.nav-metrics .metric strong{font-size:19px}.nav-metrics .metric span{font-size:9px}.nav-metrics .metric small{font-size:9px}.view-settings code{font-size:11px;overflow-wrap:anywhere}.view-settings .service-status{font-size:12px}.toast{font-size:12px;padding:14px 16px;line-height:1.7}.toasts{bottom:calc(90px + var(--safe-bottom));left:16px;right:16px;width:auto;max-width:none}
}
@media(max-width:380px) {
 .content{padding-left:16px;padding-right:16px}.topbar{padding-left:17px;padding-right:17px}.top-actions{gap:7px}.mobile-brand{font-size:21px}.home-greeting p{font-size:11px}.cover-copy h1{font-size:34px}.journey-cover{padding:18px 18px 21px}.cover-actions .btn{font-size:10px;padding:10px 9px}.cover-actions .btn svg{width:16px;height:16px}.cover-date{font-size:8px;padding:7px 9px}.trip-pulse>a{padding:0 10px}.trip-pulse strong{font-size:22px}.trip-pulse span{font-size:9px}.trip-pulse small{font-size:8px}.card{padding:19px}.map-filter-rail{gap:5px}.map-layer-pill{font-size:9px;padding:8px 10px}.map-route-summary h1{font-size:24px}.map-sheet-scroll{padding:15px 16px 18px}.map-sheet-tabs button{font-size:10px;padding:9px 6px}.map-route-summary .btn{font-size:10px;padding:10px}.fleet-list{margin:0 -16px;padding-left:16px;padding-right:16px}.crew-map-card{padding:0}.more-grid{grid-template-columns:1fr}.metric strong{font-size:21px}.page-heading h1{font-size:28px}.landing-content h1{font-size:41px}.landing-hero{padding:27px 22px}.small-actions-grid>a{font-size:10px;gap:6px;padding:13px 10px}
}
@media(prefers-reduced-motion:reduce) { *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important} }
@media print { .sidebar,.topbar,.bottom-nav,.page-footer,.btn,.toasts,.map-floating-tools,.map-filter-rail,.map-search-bar{display:none!important}.app-shell{margin:0}.content{padding:0}.journey-cover{print-color-adjust:exact}.card{break-inside:avoid;box-shadow:none} }
/* Crew detail rows and map actions share the same rhythm as the form sheets. */
.convoy-status{display:flex;align-items:center;gap:9px;font-size:13px;line-height:1.5}.convoy-status .status-dot{flex-shrink:0}
.fleet-card-top .round-btn{width:33px;height:33px;min-width:33px;border-radius:11px;background:transparent}
.fleet-occupancy{margin:0;color:var(--muted)}.fleet-card-footer>span{display:inline-flex;align-items:center;gap:6px;color:var(--vehicle)}
.fleet-actions>span{font-size:12px;color:var(--muted)}
.empty-fleet{display:flex;gap:23px;align-items:center;background:#edf1e3;border:1px dashed #b8c6a7;border-radius:22px;padding:30px}.empty-fleet h3{font-size:23px;letter-spacing:-.03em;margin:0 0 8px}.empty-fleet p{font-size:13px;color:var(--muted);max-width:440px}.fleet-empty-art{color:#768c6f;flex-shrink:0}.subtle-warning{display:flex;align-items:center;gap:8px;color:#907129;font-size:12px}
.crew-map-card .map-caption{display:flex;justify-content:space-between;align-items:center;gap:10px}.map-caption>span{display:flex;align-items:center;gap:7px}
.crew-person{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.crew-person-info{flex:1;min-width:0}.crew-person-info strong{display:block;font-size:14px}.crew-person-info small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.crew-person-tools{display:flex;gap:3px}.crew-person-tools .btn{min-width:35px;min-height:35px;padding:8px;border:0;background:transparent}
.friend-freshness{display:block;font-size:10px;color:#919b8c;margin-top:4px}.friend-freshness.live{color:#4f7749}.friend-freshness.uncertain,.friend-freshness.stale{color:#9c8149}.presence-badge{display:inline-block;margin-top:8px;border-radius:8px;font-size:11px;color:#55714e;background:#eef2e5;padding:5px 8px}.presence-badge small{display:inline!important;font-size:9px}.presence-badge.help{color:#a74736;background:#fff0e8}
.map-friend-row>div{flex:1;min-width:0}.map-friend-row>.round-btn{width:35px;height:35px;min-width:35px;border-radius:12px;background:#eef3e7;border:0}.map-friend-row .friend-freshness{font-size:9px}
.map-sheet-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.map-sheet-actions .btn{font-size:11px;flex:1;padding:10px}.map-instructions{margin-top:17px;font-size:11px;color:var(--muted)}.map-instructions summary{cursor:pointer;min-height:32px}.map-nearby-categories{display:flex;flex-wrap:wrap;gap:6px;margin:17px 0 6px}.map-nearby-categories .btn{font-size:10px;min-height:35px;padding:7px 10px}
@media(max-width:760px){.mobile-menu{display:none}.fleet-actions{flex-direction:column;align-items:flex-start;gap:6px}.fleet-actions>span{font-size:11px;line-height:1.6}.fleet-actions .btn{padding-left:0;font-size:11px}.fleet-card-top .round-btn{height:30px;width:30px;min-width:30px}.fleet-card-top h3{font-size:20px}.fleet-card-top{gap:10px}.fleet-card-top>div{min-width:0}.fleet-car-icon{width:41px;height:41px;border-radius:14px}.fleet-card-top small{font-size:10px}.fleet-driver{margin:13px 0;padding:10px}.seat-grid{gap:6px}.seat{min-width:33px;width:33px;height:33px;font-size:10px;border-radius:10px}.fleet-card-footer{margin-top:13px;padding-top:10px;font-size:10px}.fleet-card-footer .btn{font-size:10px}.empty-fleet{display:block;padding:24px}.empty-fleet h3{font-size:22px}.empty-fleet .btn{margin-top:10px}.fleet-empty-art{display:block;margin-bottom:12px}.crew-person{gap:10px}.crew-person-info strong{font-size:13px}.crew-person-info small{font-size:10px}.crew-person>.avatar{width:35px;height:35px;font-size:11px}.crew-person-tools{flex-direction:column}.crew-person-tools .btn{min-width:33px;min-height:33px;width:33px;height:33px}.map-caption .btn{min-height:38px}.timeline .stop-card .row{flex-wrap:wrap;gap:8px}.stop-facts{flex-wrap:wrap}.view-planner .stack,.planner-layout>section,.planner-aside{min-width:0}.timeline-stop>article{min-width:0}.convoy-status{font-size:12px}.map-route-summary h1{font-size:25px}.map-route-summary .btn{max-width:106px}}

}

@layer experience { @media (max-width:380px) { .day-picker { margin-left:-16px; margin-right:-16px; padding-left:16px; padding-right:16px; } } }

@layer experience {
 .map-vectors .imported-trace { fill:none;stroke:#b66c3b;stroke-width:4;stroke-dasharray:9 7;stroke-linecap:round;stroke-linejoin:round;opacity:.95;filter:drop-shadow(0 0 2px #fff); }
 .map-trace-legend { display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:12px;border:1px solid #d6dcd0;border-radius:12px;background:#fffdfa; }
 .map-trace-legend strong { display:block;font-size:12px;color:#704024; }
 .map-trace-legend small { display:block;margin-top:4px;font-size:10px;line-height:1.5;color:var(--muted); }
 .map-trace-swatch { flex:none;width:30px;margin-top:7px;border-top:4px dashed #b66c3b; }
}

@layer experience {
 .departure-next { display:flex;align-items:center;justify-content:space-between;gap:20px;border-color:#dfceaa;background:#fffaf0; }
 .departure-next h2 { margin-bottom:5px; }
 .departure-next p { margin:0;color:var(--muted); }
 .departure-next .btn { flex:none; }
 .departure-checklist ul { list-style:none;margin:0;padding:0; }
 .departure-checklist li { display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line); }
 .departure-checklist li>span:first-child { width:28px;flex:none;text-align:center;color:var(--forest); }
 .departure-checklist li>div { flex:1;min-width:0; }
 .departure-checklist li strong,.departure-checklist li small { display:block; }
 .departure-checklist li small { color:var(--muted); }
 @media(max-width:760px) { .prepare-score { flex-wrap:wrap; }.prepare-score>div:nth-child(2) { flex:1 1 125px;min-width:0; }.prepare-score>.btn { flex:1 1 100%;width:100%; }.departure-next { display:block; }.departure-next .btn { width:100%;margin-top:14px; }.departure-checklist li { align-items:flex-start; }.departure-checklist li .tag { flex:none; } }
}

@layer experience {
 .account-favorites { margin-top:30px;display:grid;gap:16px; }
 .account-favorites>.actions,.account-favorite-pending-row>.actions { display:flex;flex-wrap:wrap;gap:8px; }
 .account-favorite-pending { border:1px solid #dfceaa;background:#fffaf0;border-radius:14px;padding:14px; }
 .account-favorite-pending h3 { margin:0 0 8px;font-size:15px; }
 .account-favorite-pending-row { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #e8d9bc;font-size:12px; }
 .account-favorite-pending-row>span { min-width:0;overflow-wrap:anywhere; }
 .account-favorite-choices { display:grid;gap:8px;max-height:min(42vh,420px);overflow:auto;padding:4px; }
 .account-favorite-choice { padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--paper); }
 .account-favorite-choice>label { display:flex;align-items:flex-start;gap:12px;cursor:pointer; }
 .account-favorite-choice input { flex:none;width:20px;height:20px;margin:2px 0 0; }
 .account-favorite-choice span { min-width:0; }
 .account-favorite-choice strong,.account-favorite-choice small { display:block;overflow-wrap:anywhere; }
 .account-favorite-choice small { margin-top:4px;color:var(--muted);font-size:11px;line-height:1.5; }
 .account-favorite-choice details { margin:10px 0 0 32px;font-size:11px; }
 .account-favorite-choice summary { cursor:pointer;color:var(--forest);font-weight:650;min-height:28px; }
 .account-favorite-choice dl { margin:7px 0 0;display:grid;gap:5px; }
 .account-favorite-choice dl>div { display:grid;grid-template-columns:minmax(120px,35%) minmax(0,1fr);gap:10px;border-top:1px solid var(--line);padding-top:5px; }
 .account-favorite-choice dd { margin:0;overflow-wrap:anywhere;white-space:pre-wrap; }
 .account-favorite-exclusions { border-left:3px solid #c9a567;padding-left:12px; }
 .account-favorite-exclusions p { margin:5px 0; }
 @media(max-width:760px) { .account-favorite-pending-row { display:block; }.account-favorite-pending-row>.actions { margin-top:8px; }.account-favorites>.actions>.btn { width:100%;justify-content:center; } }
}

@layer experience {
.control-entry {margin-bottom:18px;flex-wrap:wrap}
.control-hero {display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px;border:1px solid var(--line,#d9e2df);border-radius:24px;background:var(--surface,#fff);margin-bottom:24px}
.control-hero h2 {font-size:clamp(1.6rem,3vw,2.2rem);margin:8px 0}.control-hero p{margin:0}
.control-panels{align-items:start}.control-preview{padding:20px;border-radius:16px;background:var(--bg,#f4f6f3)}
.control-preview strong{font-size:1.5rem}.control-facts>div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line,#d9e2df)}
.delivery-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line,#d9e2df)}
.delivery-row h3,.delivery-row p{margin:0 0 5px}.delivery-row p{font-size:.88rem}.delivery-status{max-width:220px;line-height:1.5;font-size:.88rem;text-align:right}
.delivery-status.good{font-weight:650}.control-panels .actions{margin-top:20px;flex-wrap:wrap}
.rally-bar,.rally-bar>div{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.rally-bar{justify-content:space-between;margin-bottom:24px}
.rally-layout{align-items:start}.rally-map-card{overflow:hidden;padding:16px}.rally-map{height:480px;min-height:320px;position:relative;border-radius:18px;overflow:hidden}.rally-map-caption{padding:16px 0;font-size:.9rem}
.view-control .btn,.view-rally .btn,.view-navigation .btn{min-height:48px}
@media(max-width:760px){.control-hero{display:block;padding:20px}.control-hero .actions{margin-top:20px}.control-hero .actions .btn{flex:1}.delivery-row{align-items:flex-start}.delivery-status{max-width:48%}.rally-map{height:360px}.rally-bar>div{gap:10px}.control-entry .btn{flex:1}.control-panels,.rally-layout{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.view-control *,.view-rally *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
}

@layer experience {
 .contract-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin-block:20px; }
 .contract-rule { display:flex;flex-direction:column;gap:12px;min-width:0;overflow-wrap:anywhere; }
 .contract-rule .actions { margin-top:auto; }
 .contract-rule .row { flex-wrap:wrap; }
 .contract-brief { white-space:pre-wrap;overflow-wrap:anywhere; }
 .contract-intro .actions,.contract-rule .actions { flex-wrap:wrap; }
 .contract-rule button { min-height:48px; }
}

@layer experience {
  .shared-itinerary { margin-block: 1.25rem; }
  .shared-itinerary .section-title { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
  .shared-stop { display:flex; align-items:center; gap:1rem; padding:1.1rem 0; border-bottom:1px solid var(--line, #dde4df); }
  .stop-index { flex:none; display:grid; place-items:center; inline-size:2.25rem; block-size:2.25rem; border-radius:50%; background:var(--soft, #ecf1eb); font-weight:700; }
  .shared-stop-info { flex:1; min-width:0; }
  .shared-stop-info h3 { margin:0; overflow-wrap:anywhere; }
  .shared-stop-info p { margin:.3rem 0; font-size:.85rem; }
  .station-row { align-items:center; }
  .station-row .delivery-status { display:inline-block; margin-top:.65rem; max-width:100%; white-space:normal; }
  .station-row small { display:block; }
  .route-search { display:flex; align-items:flex-end; gap:.6rem; }
  .route-search .field { flex:1; min-width:0; }
  .route-search button { margin-bottom:1rem; }
  .route-search-results { display:grid; gap:.5rem; margin-bottom:1rem; }
  .place-choice { display:flex; gap:.65rem; align-items:center; padding:.8rem; min-height:44px; border:1px solid var(--line, #dde4df); border-radius:.8rem; cursor:pointer; }
  .place-choice:has(input:checked) { border-color:var(--forest, #376752); background:#f1f6ef; }
  .place-choice input { flex:none; width:1.2rem; height:1.2rem; }
  .place-choice small { display:block; margin-top:.3rem; color:var(--muted, #526259); overflow-wrap:anywhere; }
  .route-change-line { padding:.55rem .75rem; background:var(--soft, #ecf1eb); border-radius:.65rem; }
  @media(max-width:640px) {
    .shared-stop { flex-wrap:wrap; align-items:flex-start; gap:.65rem; }
    .shared-stop>.actions { width:100%; padding-left:2.9rem; gap:.3rem; flex-wrap:wrap; }
    .shared-stop .btn { min-height:44px; padding-inline:.65rem; }
    .station-row { flex-wrap:wrap; }
    .route-search { align-items:stretch; flex-direction:column; }
    .route-search button { align-self:flex-start; margin-bottom:.5rem; }
  }
}

@layer experience {
 .planning-target { border:1px solid var(--line); border-radius:var(--radius,16px); margin:16px 0; padding:16px; min-width:0; }
 .planning-target legend { font-weight:700; padding:0 8px; max-width:100%; overflow-wrap:anywhere; }
 .planning-target [data-target-fields] { display:grid; gap:12px; }
 .planning-target [data-target-fields][hidden] { display:none; }
 .planning-comparison { display:grid; gap:20px; margin-block:20px; }
 .planning-variants { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:16px; }
 .planning-variant { min-width:0; display:flex; flex-direction:column; gap:8px; }
 .planning-variant h3,.planning-variant p { overflow-wrap:anywhere; }
 .planning-variant details { margin-block:8px 16px; }
 .planning-variant summary { min-height:44px; cursor:pointer; font-weight:600; padding-block:10px; }
 .planning-variant>.btn { margin-top:auto; }
 .variant-distance { font-size:1.2rem; font-weight:700; }
}

/* Explicit privacy control: independent of route delivery receipts. */
.native-relay-strip{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem;border:1px solid var(--border,#d9ded5);border-radius:20px;background:var(--surface,#fff);margin-bottom:1rem}
.native-relay-strip p{margin:.35rem 0;font-size:.9rem}.native-relay-strip .btn{min-height:44px;flex-shrink:0}
@media(max-width:600px){.native-relay-strip{align-items:stretch;flex-direction:column}}

/* Fleet rehearsal: big actionable cards, unknowns remain visible. */
.fleet-routing-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;padding:2rem;border-radius:24px;background:#e7eee8;margin:1.5rem 0}
.fleet-routing-hero h2{max-width:35ch;font-size:clamp(1.35rem,3vw,2rem);line-height:1.2;margin:.65rem 0}
.fleet-routing-hero p{max-width:62ch}.fleet-profile-count{text-align:center;align-self:center;padding:1rem;min-width:150px}.fleet-profile-count strong{display:block;font-size:3.2rem;letter-spacing:-.05em}.fleet-profile-count strong span{font-size:1.3rem;font-weight:500;letter-spacing:0}
.fleet-review-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:2rem 0 1rem}.fleet-review-header h2{margin:.5rem 0}.fleet-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.fleet-route-title{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.fleet-route-title h3{flex:1;min-width:100px;margin:0;overflow-wrap:anywhere}.fleet-route-metrics{display:flex;gap:2rem;margin:1.4rem 0}.fleet-route-metrics strong{font-size:1.5rem;display:block}.fleet-route-metrics span{font-size:.8rem;opacity:.75}.fleet-exclusions{display:flex;gap:.4rem;flex-wrap:wrap;margin:.8rem 0}.fleet-dimensions{padding:1rem;border:1px solid #d8e2da;border-radius:16px;margin:1rem 0}.fleet-dimensions summary,.fleet-route-card summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}.fleet-route-card details{margin-top:1rem}
@media(max-width:700px){.fleet-routing-hero{grid-template-columns:1fr;padding:1.25rem;gap:.5rem}.fleet-profile-count{text-align:left;display:flex;align-items:center;gap:1rem;padding:0;flex-wrap:wrap}.fleet-profile-count strong{font-size:2.2rem}.fleet-review-grid{grid-template-columns:1fr}.fleet-review-header{align-items:flex-start;flex-direction:column}.fleet-route-metrics{gap:1rem}.fleet-routing-hero .actions .btn{flex:1 1 100%}.fleet-route-card{min-width:0}}

/* R3 source ledger: published facts are not departure clearance. */
.venue-evidence { margin-block: 1.25rem; min-width: 0; }
.venue-source { padding: 1rem; border: 1px solid var(--line); border-radius: 1rem; margin-block: .75rem; overflow-wrap: anywhere; }
.venue-source summary,.planning-blockers summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 650; }
.venue-fact { margin-block: .8rem; }
.venue-fact p { margin-top: .35rem; }
.published-hours { font-family: ui-monospace, monospace; white-space: pre-wrap; }

/* R4 — published per-vehicle execution, separated from the shared notebook. */
@layer experience {
 .fleet-dispatch{margin-block:1rem}.fleet-dispatch .section-title{align-items:start;gap:1rem;flex-wrap:wrap}
 .fleet-dispatch .delivery-row{gap:1rem;flex-wrap:wrap}.fleet-dispatch .delivery-row>div{min-width:0;overflow-wrap:anywhere}
 .vehicle-route-notice{margin-block:1rem}.vehicle-route-notice .actions{display:flex;flex-wrap:wrap;gap:.5rem}
 .fleet-dispatch .btn,.vehicle-route-notice .btn{min-height:44px;white-space:normal;text-align:center}
 @media(max-width:600px){.fleet-dispatch .section-title>.btn{width:100%}.fleet-dispatch .delivery-row{align-items:flex-start}.vehicle-route-notice .actions>.btn{flex:1 1 140px}}
}

@layer experience {
 .live-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1.2rem;margin-block:1rem}.live-hero>div{min-width:0}.live-hero h2{overflow-wrap:anywhere}
 .live-score{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-block:1rem}.live-score>div{display:flex;flex-direction:column;padding:1rem;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.live-score strong{font-size:2rem}.live-score span{font-size:.85rem}
 .live-quick-actions{display:flex;flex-wrap:wrap;gap:.6rem}.live-quick-actions .btn,.live-drafts .btn{min-height:44px;white-space:normal}.live-car .section-title{flex-wrap:wrap;gap:.6rem}.live-car p{overflow-wrap:anywhere}.live-drafts .delivery-row{flex-wrap:wrap;gap:1rem}
 @media(max-width:600px){.live-hero{flex-direction:column}.live-hero .actions{width:100%;flex-wrap:wrap}.live-score{gap:.45rem}.live-score>div{padding:.75rem}.live-score strong{font-size:1.6rem}.live-quick-actions .btn{flex:1 1 140px}}
}

@layer experience {
 .mission-intro{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-block:1rem}.mission-intro>div:first-child{flex:1 1 360px}.mission-intro .actions{flex:1 1 240px;display:flex;flex-wrap:wrap}
 .mission-progress{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.mission-progress span{border:1px solid var(--line);border-radius:999px;padding:.5rem .75rem;font-size:.85rem}.mission-progress [aria-current="step"]{font-weight:700;border-color:currentColor}
 .mission-coverage article{padding:.75rem 0;border-bottom:1px solid var(--line)}.mission-coverage p{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.mission-node{display:flex;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}.mission-node>div{min-width:0;flex:1}.mission-node h3,.mission-node p{overflow-wrap:anywhere}.mission-node .actions{flex-wrap:wrap}.mission-launch{display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0}.mission-intro .btn,.mission-launch .btn,.mission-node .btn{min-height:44px;white-space:normal}
 @media(max-width:600px){.mission-progress{display:grid;grid-template-columns:1fr 1fr}.mission-progress span{border-radius:12px}.mission-intro>div{min-width:0}.mission-intro .btn{width:100%}.mission-node{gap:.65rem}.mission-launch>.btn{flex:1 1 200px}}
}

@layer experience {
 .mission-preparation{border:1px solid var(--line);border-radius:18px;margin-block:1rem;padding:1rem;background:var(--surface)}
 .mission-preparation>summary{min-height:44px;cursor:pointer;font-weight:650;padding:.5rem;overflow-wrap:anywhere}
 .mission-preparation[open]>summary{margin-bottom:1rem}
 .mission-options{align-items:start;grid-template-columns:repeat(2,minmax(0,1fr))}
 .mission-option{min-width:0;padding:1.2rem}.mission-option>summary{display:flex;flex-direction:column;gap:.65rem;min-height:44px;cursor:pointer;list-style:none}
 .mission-option>summary::after{content:'Voir les lieux et les exigences +';font-size:.85rem;text-decoration:underline}
 .mission-option[open]>summary::after{content:'Réduire −'}
 .mission-option-top{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.mission-option-name{font-weight:650;font-size:1.1rem;overflow-wrap:anywhere}
 .mission-option-body{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;overflow-wrap:anywhere}.mission-option-body summary{min-height:44px;cursor:pointer;font-weight:600}
 .mission-option-body>.btn{min-height:44px;white-space:normal}.mission-option-body details{padding:.75rem;border:1px solid var(--line);border-radius:12px}
 #mission-programmes{scroll-margin-top:90px}.copilot-prompt-card>.actions{display:flex;flex-wrap:wrap;gap:.6rem}
 @media(max-width:650px){.mission-options{grid-template-columns:1fr}.mission-preparation{padding:.75rem}.mission-preparation>.card{padding:1rem}.copilot-prompt-card>.actions{grid-column:1/-1;width:100%}.copilot-prompt-card>.actions>.btn{flex:1 1 160px}}
}

/* R5 · remaining journey and explicit group decisions. No dependence on color alone. */
.recovery-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1.5rem;align-items:center;margin-bottom:1.3rem}
.recovery-kind-grid,.recovery-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.recovery-kind-grid .btn{min-height:64px;justify-content:flex-start;white-space:normal;text-align:left}
.recovery-options,.decision-list{display:grid;gap:1rem;margin-block:1rem 2rem}
.recovery-option{padding:0!important;overflow:hidden}
.recovery-option>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem;cursor:pointer;min-height:72px;list-style:none}
.recovery-option>summary>span:first-child{display:grid;gap:.3rem;min-width:0}
.recovery-option>summary strong{font-size:1.2rem;line-height:1.35}
.recovery-option>summary small{letter-spacing:.06em}
.recovery-option>summary .tag{flex-shrink:0}
.recovery-option[open]>summary{border-bottom:1px solid var(--border,#dce4df)}
.recovery-option-body{padding:1.2rem}
.recovery-option-body details,.decision-card>details,.recovery-history>details{margin-block:1rem}
.recovery-option-body summary,.decision-card>details>summary,.recovery-history>details>summary{min-height:44px;padding-block:.65rem;cursor:pointer;font-weight:600}
.recovery-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;padding-block:.7rem 1rem}
.recovery-metrics>div{display:grid;gap:.35rem;min-width:0}
.recovery-metrics strong{font-size:1.35rem}
.recovery-timeline{list-style:none;padding:0;margin:1rem 0}
.recovery-timeline>li{display:grid;grid-template-columns:88px minmax(0,1fr);gap:.8rem;border-top:1px solid var(--border,#dce4df);padding:1rem 0}
.recovery-time{display:grid;align-content:start;gap:.2rem}
.recovery-time small,.recovery-timeline p{font-size:.85em}
.recovery-timeline p{margin:.4rem 0 0;line-height:1.5}
.recovery-change{line-height:1.6}
.decision-card header h2{margin-block:.4rem .8rem}
.decision-voters{display:grid;gap:0;margin-block:1rem}
.decision-voter{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid var(--border,#dce4df)}
.decision-voter>div{min-width:0;overflow-wrap:anywhere}
.decision-voter .btn{flex-shrink:0;white-space:normal;max-width:50%}
.decision-voter p{margin:.35rem 0}
.decision-note{padding:.6rem .8rem;border-left:3px solid var(--border,#dce4df);font-size:.9em}
.recovery-history{margin-block:1rem 1.5rem}
.recovery-option summary:focus-visible,.decision-card summary:focus-visible{outline:3px solid currentColor;outline-offset:-3px}
@media(max-width:600px){.recovery-hero{grid-template-columns:minmax(0,1fr)}.recovery-option>summary{align-items:flex-start;flex-direction:column}.recovery-option-body{padding:1rem}.recovery-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.recovery-metrics>div:last-child{grid-column:1/-1}.recovery-timeline>li{grid-template-columns:70px minmax(0,1fr)}.decision-voter{align-items:flex-start;flex-direction:column}.decision-voter .btn{max-width:100%}.recovery-form-grid{grid-template-columns:minmax(0,1fr)}}

@layer product {
/* R6 · Wayfarer. System fonts, local photography, no remote visual dependencies.
   Main tasks stay legible; advanced controls keep their original domain permissions. */
:root {
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ink:#192f3a;--muted:#536771;--forest:#006b60;--accent:#006b60;
  --line:#dfe6e8;--paper:#fff;--soft:#edf5f3;--warm:#865b20;--danger:#b33c32;
  --sidebar:236px;--radius:18px;--shadow:0 4px 22px #142f3b06;
  --canvas:#f4f6f7;--violet:#6554a2;--coral:#bd513a;--top-height:72px;
  color:var(--ink);background:var(--canvas);font-size:16px;
}
html{scroll-behavior:auto}body{background:var(--canvas);line-height:1.55}
h1,h2,h3{font-weight:720;letter-spacing:-.035em;color:var(--ink)}
h1{font-size:clamp(1.75rem,3vw,2.5rem)}h2{font-size:1.4rem}h3{font-size:1.1rem}
small,.fine{font-size:.78rem}.muted,.fine{color:var(--muted)}
.overline,.eyebrow{font-size:.66rem;letter-spacing:.13em;font-weight:750;line-height:1.6}
svg{pointer-events:none}button,a,input,select,textarea{touch-action:manipulation}
button:disabled{opacity:.5}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #397bd9;outline-offset:3px}
.btn{min-height:44px;padding:11px 16px;font-size:.85rem;border-radius:12px;gap:8px;font-weight:650}
.btn:hover:not(:disabled){transform:none}.btn.primary{background:var(--forest);box-shadow:none;color:#fff}
.btn.primary:hover:not(:disabled){background:#00584f}.btn.secondary{background:var(--paper);border:1px solid var(--line);color:var(--ink)}
.btn.quiet{background:#edf1f3;color:var(--ink)}.btn.text{color:var(--forest);min-height:44px;padding:9px 4px}
.btn.light{background:#fff;color:#183630}.btn.ghost-light{color:#fff;border-color:#ffffff88;background:#112c3655}
.btn.danger{background:var(--danger);color:#fff}.btn.icon-only,.round-btn{min-width:44px;min-height:44px;width:44px;height:44px;border-radius:12px}
.round-btn{background:var(--paper);border:1px solid var(--line);color:var(--ink)}.btn.icon-only{background:transparent}
.avatar{width:40px;height:40px;min-width:40px;background:#d8eae6;color:#135e55;border:2px solid var(--paper);font-size:.76rem}
.chip{min-height:44px;font-size:.82rem;padding:10px 15px}.chip.active{background:var(--forest);color:#fff}
.tag{font-size:.7rem;line-height:1.4;padding:5px 8px;border-radius:7px}.tag.warm{background:#fff0d9;color:#76501b}
.tag.success{background:#dff2e9;color:#1d604a}.tag.danger{background:#fce8e4;color:#a12c22}
.notice{font-size:.83rem;line-height:1.6;padding:13px 15px;border:1px solid transparent;border-radius:12px;background:#ecf4f1;color:#305b51}
.notice.warm{background:#fff5e6;color:#77531e;border-color:#ead9ba}.notice.danger{background:#ffefed;color:#a12f27;border-color:#f2cec8}
.notice>span{flex:1}.notice .btn{flex-shrink:0}.notice small{display:block}.actions{gap:8px}.stack{gap:16px}
.card{padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:none}
.card h2{font-size:1.25rem}.card h3{font-size:1.08rem}.card p{font-size:.86rem;line-height:1.65}
.card.soft,.soft{background:var(--soft)}.metric{background:var(--paper);padding:17px;border-color:var(--line);border-radius:14px}
.metric>span{font-size:.76rem}.metric strong{font-size:1.45rem}.metric small{font-size:.72rem}
.section-heading{margin-bottom:16px;gap:10px}.section-heading h2{font-size:1.2rem}
.section-heading .btn{font-size:.8rem}.page-heading{align-items:center;gap:20px;margin-bottom:24px}
.page-heading .subtitle{font-size:.91rem;max-width:660px}.page-heading>.actions{max-width:45%}
.page-heading .eyebrow{margin-bottom:8px}.page-heading h1{margin-bottom:9px}
.content{padding:26px 34px 38px;max-width:1280px;min-height:calc(100dvh - 145px)}
.content>section,.content>.grid,.content>.card,.content>.notice,.content>.tabbar,.content>.search-form{margin-bottom:24px}
.subview-trail{display:flex;align-items:center;gap:14px;margin:-6px 0 15px;font-size:.8rem;color:var(--muted)}
.subview-trail>span{padding-left:14px;border-left:1px solid var(--line)}
/* Shell is retained between renders; only changed regions receive markup. */
.sidebar{width:var(--sidebar);padding:28px 17px 18px;background:var(--paper);border-color:var(--line);gap:0}
.brand{font-size:1.4rem;gap:9px;padding:0 4px 26px;letter-spacing:-.07em}.brand>span{width:38px;height:38px;border-radius:13px;background:var(--forest);color:#fff}
.brand small{font-size:.45rem;letter-spacing:.13em;color:var(--muted);font-weight:650}
.workspace-picker{display:flex;align-items:center;gap:10px;width:100%;padding:12px 9px;border:1px solid var(--line);background:var(--paper);border-radius:13px;text-align:left;min-height:62px;margin-bottom:16px}
.workspace-picker>span:nth-child(2){flex:1;min-width:0}.workspace-picker small{display:block;font-size:.57rem;font-weight:750;letter-spacing:.12em;color:var(--muted)}
.workspace-picker strong{display:block;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}
.workspace-icon{width:32px;height:36px;display:grid;place-items:center;background:var(--soft);border-radius:9px;color:var(--forest)}
.shell-search{display:flex;align-items:center;gap:9px;background:var(--canvas);border-radius:11px;padding:10px 12px;width:100%;min-height:44px;font-size:.8rem;color:var(--muted);margin-bottom:20px}
.shell-search kbd{margin-left:auto;font-size:.6rem;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:1px 4px}
.nav-link{min-height:47px;font-size:.85rem;padding:11px 13px;margin:3px 0;color:var(--muted);gap:12px;border-radius:11px}
.nav-link.active{background:var(--soft);color:#005e55;font-weight:750}.nav-link:hover{background:var(--canvas)}.nav-link .status-dot{margin-left:auto}
.sidebar-tools{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}.sidebar-tools .eyebrow{padding-left:12px;margin-bottom:10px}
.sidebar-tools .nav-link{font-size:.8rem;min-height:43px}.sidebar-bottom{padding-top:28px}.sidebar-bottom>.btn{width:100%}
.offline-label{font-size:.7rem;padding:18px 8px 8px;gap:7px}.offline-label small{font-size:.65rem;padding-left:13px}
.status-dot,.connection-dot{width:7px;height:7px;background:#168673}.status-dot.off,.connection-dot.off{background:#ba7a2a}
.topbar{height:var(--top-height);padding:0 34px;background:#f4f6f7ed;border-bottom:1px solid #dfe6e880;backdrop-filter:blur(12px);gap:14px}
.topbar-leading{display:flex;align-items:center;gap:12px;min-width:0}.breadcrumb{font-size:.78rem;gap:10px}.breadcrumb strong{color:var(--ink);font-weight:650}
.top-actions{gap:10px;min-width:0}.notification-entry{position:relative}.notification-entry i{position:absolute;right:8px;top:7px;width:6px;height:6px;border-radius:50%;background:var(--coral)}
.operation-status{font-size:.76rem;max-width:250px}.operation-status.working{background:var(--soft);padding:8px 10px;border-radius:10px}
#sharing-pill:empty,#operation-status:empty{display:none}#sharing-pill button{min-height:44px;max-width:190px}
.page-footer{padding:15px 34px 22px;font-size:.7rem;color:var(--muted)}
/* A calm, decision-led home. */
.dashboard-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:10px}
.dashboard-heading p{font-size:.91rem;margin:4px 0 0;color:var(--muted)}
.trip-hero{height:260px;border-radius:22px;overflow:hidden;position:relative;color:white;background:#143d49;margin:0 0 16px}
.trip-hero>img,.welcome-scene>img{width:100%;height:100%;object-fit:cover;object-position:center 52%;position:absolute;inset:0}
.trip-hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,#102e3be0,#12374315 95%)}
.trip-hero-top{position:absolute;top:20px;left:25px;right:20px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.hero-date{background:#142f438c;backdrop-filter:blur(8px);padding:8px 11px;border:1px solid #ffffff38;border-radius:9px;font-size:.72rem;display:flex;align-items:center;gap:7px}
.trip-hero .btn{color:white;background:#16384488;border:1px solid #ffffff4d}
.trip-hero-copy{position:absolute;bottom:28px;left:28px;right:50px}.trip-hero h1{color:#fff;font-size:clamp(1.8rem,3.2vw,2.8rem);max-width:800px;letter-spacing:-.045em;margin:7px 0 4px;text-wrap:balance}
.trip-hero p{font-size:.87rem;color:#f1f7f7;margin:0}.trip-hero .overline{color:#e0eeec}
.photo-caption{position:absolute;right:14px;bottom:9px;font-size:.57rem;color:#e1ebee;text-shadow:0 1px 4px #000;letter-spacing:.02em}
.sample-caption{font-size:.72rem;margin:-6px 0 13px;color:var(--muted);display:flex;gap:7px;align-items:flex-start}
.journey-mode{display:flex;gap:3px;padding:5px;background:#e8edef;border-radius:13px;margin:20px 0;align-items:center;width:fit-content;max-width:100%}
.journey-mode>button{display:flex;gap:7px;align-items:center;min-height:44px;padding:10px 18px;border-radius:9px;background:transparent;font-size:.81rem;color:var(--muted);font-weight:650}
.journey-mode>button[aria-pressed=true]{background:var(--paper);box-shadow:0 2px 6px #1937440c;color:var(--ink)}
.journey-mode>span{font-size:.7rem;color:var(--muted);padding:0 15px}
.dashboard-main{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;margin-bottom:22px}
.next-action{display:flex;align-items:flex-start;gap:18px;padding:24px;border:1px solid #c9ded8;background:linear-gradient(125deg,#fff,#f2faf7);border-radius:18px}
.next-icon{flex-shrink:0;display:grid;place-items:center;width:50px;height:50px;background:#dcefe7;color:#00695d;border-radius:16px}
.next-action>div{min-width:0}.next-action h2{font-size:1.3rem;margin:5px 0 7px}.next-action p{font-size:.85rem;color:var(--muted);line-height:1.55;margin-bottom:18px}
.next-action .overline{color:#326659;font-size:.63rem}.next-action .actions{gap:12px}
.journey-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:14px 2px}
.journey-numbers>a{display:flex;flex-direction:column;justify-content:center;min-height:105px;min-width:0;padding:14px;border-right:1px solid var(--line)}
.journey-numbers>a:last-child{border:0}.journey-numbers span{display:flex;align-items:center;gap:6px;font-size:.7rem;color:var(--muted)}
.journey-numbers strong{font-size:1.35rem;line-height:1.2;letter-spacing:-.04em;margin:12px 0 7px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.journey-numbers strong small{font-size:.73rem;font-weight:500;letter-spacing:0}.journey-numbers p{font-size:.68rem;color:var(--muted);margin:0}
.copilot-entry{border:1px solid #d9d8ec;border-radius:18px;display:flex;gap:22px;align-items:center;padding:26px 28px;background:linear-gradient(110deg,#f1f0fc,#f8f9fe 70%);margin-bottom:24px}
.copilot-symbol{display:grid;place-items:center;background:#e5e0fb;color:#5c439b;border-radius:17px;min-width:56px;height:56px}
.copilot-entry>div{flex:1}.copilot-entry h2{font-size:1.35rem;margin:4px 0 8px}.copilot-entry h2 br{display:none}
.copilot-entry .overline{color:#645691;font-size:.62rem}.copilot-entry p{font-size:.84rem;color:#5b5f78;max-width:450px;margin:0}.copilot-entry .btn{flex-shrink:0}
.dashboard-bottom{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.crew-summary,.trip-essentials{border:1px solid var(--line);border-radius:18px;padding:22px;background:var(--paper)}
.crew-summary-line{display:flex;gap:15px;align-items:center;margin:24px 0}.crew-summary-line>div{min-width:0}.crew-summary-line strong{font-size:.86rem}
.crew-summary-line small{display:block;font-size:.72rem;color:var(--muted);margin-top:4px}.overlapping-avatars{display:flex;flex-shrink:0}.overlapping-avatars .avatar+.avatar{margin-left:-9px}
.essential-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px}
.essential-grid>a{background:var(--canvas);border:1px solid transparent;border-radius:13px;min-height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:10px 4px}
.essential-grid>a:hover{border-color:var(--line);background:var(--soft)}.essential-grid span{font-size:.72rem;font-weight:650}.essential-grid svg{color:#306f63}
.pending-link{display:flex;gap:8px;align-items:center;margin-top:15px;font-size:.76rem;color:var(--violet);min-height:44px}
.home-final-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin:22px 0 0}
.travel-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 24px}.travel-shortcuts>.btn{min-height:60px;justify-content:flex-start;padding:13px}
/* Empty state tells people how to start, not how the implementation works. */
.welcome-scene{min-height:470px;border-radius:25px;position:relative;overflow:hidden;background:#173c46}
.welcome-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#143540e8,#12314040)}
.welcome-copy{position:relative;z-index:1;padding:65px 45px;max-width:650px;color:white}
.welcome-copy h1{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.12;margin:15px 0 20px;color:#fff;letter-spacing:-.06em}
.welcome-copy p{font-size:1rem;color:#e4efef;margin-bottom:28px}.welcome-copy .overline{color:#dfe9e8}.welcome-copy .photo-caption{position:static;display:block;margin-top:22px}
.welcome-choices{display:grid;grid-template-columns:1fr 1fr;gap:20px}.welcome-choices>button{display:flex;align-items:center;gap:15px;text-align:left;border:1px solid var(--line);background:var(--paper);border-radius:17px;padding:24px}
.welcome-choices>button>span:nth-child(2){flex:1}.welcome-choices strong{display:block;font-size:1rem}.welcome-choices small{display:block;color:var(--muted);font-size:.8rem;margin-top:5px}
.welcome-foot{padding:20px 5px}.welcome-foot h2{font-size:1.4rem}.welcome-foot p{max-width:660px;font-size:.94rem;color:var(--muted)}
/* Search and information architecture */
.tools-search,.command-search{display:flex;align-items:center;gap:13px;border:1px solid #cbd7db;border-radius:15px;background:var(--paper);padding:4px 14px;min-height:58px;color:var(--muted)}
.tools-search:focus-within,.command-search:focus-within{border-color:#36847a;box-shadow:0 0 0 3px #16847612}
.tools-search input,.command-search input{border:0;box-shadow:none;background:transparent;width:100%;min-width:0;outline:none;font-size:1rem;padding:12px 0;color:var(--ink)}
.tools-search input:focus-visible,.command-search input:focus-visible{outline:0}
.tool-filters{display:flex;gap:8px;overflow:auto;overscroll-behavior-x:contain;margin:18px 0 6px;padding:0 0 6px;scrollbar-width:thin}.tool-filters .chip{white-space:nowrap;flex-shrink:0}
.tools-results-count{font-size:.76rem;color:var(--muted);margin:12px 0 24px}.tool-sections{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px;align-items:start}
.tool-section>.section-heading .overline{font-size:.63rem;color:var(--muted);letter-spacing:.04em;font-weight:500}.tool-section>.section-heading h2{font-size:1.17rem;margin-top:4px}
.tool-count{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;font-size:.72rem;background:#e5ecee;color:var(--muted)}
.tool-rows{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--paper)}
.tool-row{display:flex;width:100%;align-items:center;gap:13px;padding:15px 17px;border-bottom:1px solid var(--line);background:var(--paper);text-align:left;min-height:82px}
.tool-row:last-child{border:0}.tool-row:hover{background:var(--soft)}.tool-row>span:nth-child(2){flex:1;min-width:0}.tool-row strong{display:block;font-size:.88rem}
.tool-row small{display:block;font-size:.75rem;color:var(--muted);line-height:1.5;margin-top:3px}.tool-row>svg{color:#80929a}
.tool-icon{display:inline-grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:13px;background:#ecf3f1;color:#2b7568}
.tone-violet{background:#ede9f9;color:#66509b}.tone-teal{background:#e0f1ee;color:#126b60}
.search-empty{text-align:center;background:var(--paper);border:1px dashed #c1d0d5;border-radius:18px;padding:42px 20px;margin:22px 0}.search-empty svg{color:#7c969e}.search-empty h2,.search-empty h3{margin:16px 0 10px}.search-empty p{color:var(--muted);font-size:.87rem}
.keyboard-hint{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:30px 0 0;font-size:.74rem;color:var(--muted)}kbd{font-family:inherit;font-size:.72rem;border:1px solid var(--line);border-radius:5px;padding:2px 5px;background:var(--paper)}
.command-palette{max-width:620px}.command-palette .form-body{padding-top:12px}.command-results{max-height:52dvh;overflow:auto;overscroll-behavior:contain}
.command-result{display:flex;align-items:center;gap:13px;width:100%;padding:12px 9px;text-align:left;background:var(--paper);border-radius:11px;min-height:72px}
.command-result:hover,.command-result:focus{background:var(--soft)}.command-result>span:nth-child(2){flex:1;min-width:0}.command-result strong{font-size:.9rem;display:block}.command-result small{font-size:.76rem;color:var(--muted);display:block;margin-top:3px}
.command-hint{font-size:.73rem;color:var(--muted);margin:10px 2px 13px}.quick-add-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.quick-add-item{display:flex;flex-direction:column;text-align:left;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:18px;gap:10px;background:var(--paper)}
.quick-add-item:hover{background:var(--soft);border-color:#b9d8ce}.quick-add-item strong{font-size:.93rem}.quick-add-item small{font-size:.78rem;line-height:1.5;color:var(--muted)}
/* Program: a timeline first, the optimization machinery second. */
.day-picker{gap:8px;padding:0 0 12px;margin:0 0 22px;scrollbar-width:thin;overscroll-behavior-x:contain}
.day-tab{border:1px solid var(--line);border-radius:13px;background:var(--paper);padding:12px 19px;min-width:110px;min-height:86px;color:var(--muted)}
.day-tab span{font-size:.65rem;letter-spacing:.1em}.day-tab strong{font-size:.94rem;display:block;margin:3px 0}.day-tab small{font-size:.7rem}
.day-tab.active{background:#075e55;color:#fff;border-color:#075e55;box-shadow:0 4px 12px #006b6014}
.planner-layout{grid-template-columns:minmax(0,1fr) 290px;gap:26px}.day-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.day-heading h2{font-size:1.3rem;margin:4px 0 0}
.day-overview{display:flex;gap:18px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.8rem;margin-bottom:20px}.day-overview span{display:flex;gap:6px;align-items:center}
.timeline{padding:0;list-style:none;margin:0}.timeline-stop{display:block;position:relative;padding:0 0 0 72px;margin:0}.timeline-rail{position:absolute;width:55px;left:0;top:18px}.timeline-rail:after{display:none}
.timeline-rail time{font-size:.75rem;font-weight:650;color:var(--muted)}.timeline-rail>span{width:29px;height:29px;background:#edf4f1;border:1px solid #c2dcd2;color:#166558;line-height:1;display:grid;place-items:center;font-size:.75rem;margin-top:10px}
.timeline-stop:before{content:"";position:absolute;left:27px;top:55px;bottom:0;background:var(--line);width:1px}.timeline-stop:last-child:before{bottom:35px}.stop-card{border:1px solid var(--line);border-radius:17px;padding:19px 22px;background:var(--paper);box-shadow:none}
.stop-kind{font-size:.72rem;color:#516b6f;gap:6px}.stop-card h3{font-size:1.16rem;letter-spacing:-.025em;margin:7px 0 3px;line-height:1.3}
.stop-card h3>.plain{min-height:44px}.stop-card>p.stop-address{font-size:.79rem;margin:0 0 11px;color:var(--muted)}
.stop-facts{font-size:.76rem;gap:10px;flex-wrap:wrap}.stop-primary-actions{display:flex;justify-content:space-between;gap:10px;margin-top:10px}
.stop-primary-actions .btn{font-size:.78rem}.stop-options{border:0;border-top:1px solid #e8edef;border-radius:0;padding:0;margin-top:3px}
.stop-options>summary{display:flex;align-items:center;justify-content:space-between;padding:12px 0 3px;min-height:44px;font-size:.73rem;font-weight:550;color:var(--muted);list-style:none}
.stop-options[open]>summary{padding-bottom:13px}.stop-options>summary::-webkit-details-marker{display:none}.stop-options .stop-rich-details{margin:12px 0;font-size:.8rem}
.stop-options p,.stop-options li{font-size:.82rem}.stop-options .actions{margin:14px 0 5px}.stop-options .btn{font-size:.75rem}
.timeline-transfer{margin:0;min-height:54px;display:flex;gap:8px;align-items:center;font-size:.73rem;padding:12px 7px;color:var(--muted)}
.day-end{display:flex;align-items:center;gap:9px;margin:15px 0 0 72px;padding:20px 0;border-top:1px dashed #c1ced2;font-size:.8rem;color:var(--muted);flex-wrap:wrap}
.day-end .btn{margin-left:auto;font-size:.77rem}.day-companion{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:22px}
.day-companion h2{font-size:1.3rem;margin:8px 0 18px}.day-companion .mini-metrics{gap:8px;margin:12px 0}.day-companion .metric{background:var(--canvas);border:0;padding:13px}
.day-companion .metric strong{font-size:1.35rem}.day-companion>.btn{display:flex;width:100%;margin-top:9px}.day-companion .notice{font-size:.76rem;margin:16px 0}
.planner-copilot{padding:22px;background:#f0eef9;border:1px solid #dfdbee;border-radius:17px}.planner-copilot h3{margin:14px 0 9px}.planner-copilot p{font-size:.82rem;color:#655e7c}.planner-copilot .btn{display:flex;justify-content:flex-start;font-size:.8rem}
.planner-tools{background:var(--paper);border-radius:15px;padding:0 18px;border-color:var(--line)}.planner-tools>summary{display:flex;align-items:center;justify-content:space-between;min-height:61px;font-size:.82rem;gap:10px;list-style:none}
.planner-tools>summary::-webkit-details-marker{display:none}.planner-tools[open]>.stack{padding:8px 0 15px}.planner-tools .btn{font-size:.78rem;width:100%}
/* Crew: three clear contexts instead of a single operations wall. */
.crew-segments{display:flex;padding:5px;border-radius:13px;background:#e6edef;width:fit-content;max-width:100%;margin:0 0 24px}
.crew-segments button{min-height:44px;border-radius:9px;padding:10px 17px;font-size:.82rem;background:transparent;color:var(--muted);display:flex;gap:8px;align-items:center;font-weight:650}
.crew-segments button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:0 2px 6px #1937440c}
.crew-task-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}
.crew-task-grid>a{display:flex;flex-direction:column;align-items:flex-start;padding:20px 18px;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:16px}
.crew-task-grid strong{font-size:.91rem}.crew-task-grid small{font-size:.74rem;color:var(--muted);margin-top:-7px}.crew-task-grid>a:hover{border-color:#a4cfc2}
.convoy-command-bar{font-size:.84rem;padding:15px 18px;background:var(--soft);border:1px solid #d8e9e2;border-radius:14px}.convoy-status strong{font-size:.79rem}
.crew-workspace .fleet-section{margin:24px 0}.fleet-list{gap:16px}.fleet-card{border:1px solid var(--line);border-radius:17px;background:var(--paper);box-shadow:none;padding:21px;min-width:250px}
.fleet-card h3{font-size:1.04rem}.fleet-card small{font-size:.7rem}.fleet-driver strong{font-size:.9rem}.seat{min-width:32px;min-height:34px;border-radius:9px}
.fleet-card-footer{font-size:.72rem}.fleet-card-footer .btn{min-height:44px}.fleet-actions{font-size:.8rem;flex-wrap:wrap;gap:10px}
.crew-workspace .crew-main-grid{grid-template-columns:1fr}.crew-panel-overview .crew-main-grid>aside,.crew-panel-overview .crew-management,.crew-panel-overview .local-roster,.crew-panel-overview #crew-poi-suggestions{display:none}
.crew-panel-messages .fleet-section,.crew-panel-messages .crew-main-grid>section,.crew-panel-messages .crew-management,.crew-panel-messages .local-roster,.crew-panel-messages .crew-start-card,.crew-panel-messages .crew-task-grid{display:none}
.crew-panel-manage .crew-main-grid,.crew-panel-manage .crew-poi-section,.crew-panel-manage .crew-task-grid,.crew-panel-manage .crew-start-card{display:none}
.crew-panel-messages .crew-main-grid>aside{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:20px}
.crew-panel-overview .fleet-card-footer .btn.danger{display:none}.crew-workspace .crew-map-card{overflow:hidden;border-radius:17px}
.crew-workspace .crew-map-card .section-heading{padding:22px}.crew-management{margin:20px 0}.crew-management>summary{min-height:44px;display:flex;align-items:center;font-size:.86rem}
.crew-chat-card h2{font-size:1.2rem}.crew-chat-card p,.crew-message{font-size:.83rem}.crew-messages{max-height:340px}.crew-message-form input,.crew-chat-card textarea{font-size:1rem}
.crew-no-messages{padding:32px}.crew-no-messages h2{margin:17px 0 10px}.local-person{min-height:72px}.local-person strong{font-size:.86rem}
.crew-start-card h2{font-size:1.25rem}.crew-start-card p{font-size:.86rem}.help-alert-card{border-color:#ecd6cf;margin:22px 0}
.help-alert-card h2{font-size:1.1rem}.help-alert-card p{font-size:.78rem}.help-alert-hold{min-height:48px!important}
/* IA: invite a request; hide no risk, but leave the machinery in disclosures. */
.mission-welcome{display:flex;align-items:flex-start;gap:25px;padding:38px;border:1px solid #dcdaeb;background:linear-gradient(125deg,#edeaf9,#f8f9ff 75%);border-radius:22px}
.mission-spark{display:grid;place-items:center;min-width:64px;height:64px;border-radius:21px;background:#e0d9f4;color:#66519a}
.mission-welcome h2{font-size:clamp(1.9rem,3vw,2.65rem);line-height:1.12;margin:10px 0 20px;letter-spacing:-.05em}
.mission-welcome .overline{color:#6a5b8b}.mission-welcome p{font-size:1rem;line-height:1.7;color:#545a72;max-width:550px;margin-bottom:25px}
.mission-flow-strip{display:flex;align-items:center;gap:17px;margin:24px 0;font-size:.81rem;color:var(--muted)}
.mission-flow-strip>span{display:flex;align-items:center;gap:8px}.mission-flow-strip b{display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:27px;height:27px;background:var(--paper);font-size:.72rem;color:var(--ink)}
.mission-start-help{padding:10px 3px;max-width:740px}.mission-start-help p{font-size:.9rem;color:var(--muted);line-height:1.7}
.mission-limits{margin:24px 0;border:1px solid var(--line);background:var(--paper);padding:0 18px;border-radius:14px}
.mission-limits>summary{min-height:59px;display:flex;align-items:center;font-size:.81rem}.mission-limits p{font-size:.8rem;color:var(--muted);padding-bottom:10px}
.mission-preparation>summary,.contract-preparation>summary{font-size:.86rem;min-height:44px}.mission-progress{font-size:.8rem;flex-wrap:wrap}
.mission-node{border-color:var(--line);padding:18px}.mission-node h3{font-size:1rem}.mission-node p{font-size:.81rem}
/* Dialogs and inputs: usable with keyboard, small screens, zoom and touch. */
dialog.sheet{border:1px solid var(--line);border-radius:22px;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 24px 90px #152b4933;max-width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 48px)}
dialog::backdrop{background:#112c4166;backdrop-filter:blur(3px)}
.sheet-form>header{position:sticky;top:0;z-index:3;background:var(--paper);padding:24px 26px 18px;border-bottom:1px solid var(--line)}
.sheet-form h2{font-size:1.4rem;line-height:1.25}.sheet-form .eyebrow{font-size:.6rem;color:var(--muted)}
.sheet-form>.muted{padding:16px 26px 0;font-size:.87rem}.form-body{padding:22px 26px;display:flex;flex-direction:column;gap:17px}
.field>span,label>span{font-size:.81rem}.field{gap:7px}.field input,.field select,.field textarea,input,select,textarea{font-size:1rem;border:1px solid #c7d3d8;background:var(--paper);color:var(--ink);border-radius:11px;min-height:47px;padding:11px 12px;max-width:100%}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#258b7b;box-shadow:0 0 0 3px #0b7a6910}
input::placeholder,textarea::placeholder{color:#7a8b94;opacity:1}input[type=checkbox],input[type=radio]{min-height:20px;width:20px;height:20px;accent-color:var(--forest)}
.check-field{min-height:48px;padding:11px 12px;border-radius:11px;gap:12px;background:var(--canvas)}.check-field>span{font-size:.86rem}.check-field small{font-size:.76rem;line-height:1.6}
.form-grid{gap:16px}.form-body fieldset{padding:16px;border-radius:13px;border:1px solid var(--line)}.form-body legend{font-size:.85rem;font-weight:650;padding:0 5px}
.form-body details{padding:0 16px;border-color:var(--line);background:var(--canvas)}.form-body details>summary{font-size:.85rem;min-height:51px;padding:14px 0}.form-body details[open]{padding-bottom:18px}
.form-body details .form-grid{margin:10px 0}.sheet-form>footer{position:sticky;bottom:0;z-index:3;background:var(--paper);border-top:1px solid var(--line);padding:16px 26px;gap:14px}
.sheet-form>footer .actions{gap:10px}.sheet-form>footer .btn{min-height:47px}.sheet-form[data-saving=true]{cursor:progress}.sheet-form[data-saving=true]>footer{background:var(--soft)}
.form-error{font-size:.88rem;margin:0 26px 16px;background:#fff0ed;color:#a32d24;border:1px solid #edc9c1;border-radius:11px;padding:14px}
/* Map: preserve room for the real map, scroll the results instead of 1,000 rows. */
.view-map .subview-trail{display:none}.explorer-map{border-radius:18px;border:1px solid var(--line);background:#e8eeed}
.map-search-input{min-height:52px;font-size:.9rem;border-radius:14px;background:var(--paper);box-shadow:0 4px 20px #18364410}
.map-avatar{min-width:52px;min-height:52px;border-radius:14px}.map-layer-pill{min-height:44px;font-size:.77rem;border-color:var(--line);background:var(--paper);color:var(--ink)}
.map-filter-rail{overflow:auto;overscroll-behavior-x:contain;scrollbar-width:none}.map-floating-tools .round-btn{width:46px;height:46px}
.explorer-sheet{background:var(--paper);border:1px solid var(--line);border-radius:20px;width:390px;box-shadow:0 9px 35px #1a37431a}
.sheet-grabber{min-height:35px;height:35px;cursor:pointer}.sheet-grabber>span{width:40px;background:#b7c8cb}
.map-sheet-tabs{gap:4px;padding:0 12px 10px}.map-sheet-tabs button{font-size:.8rem;min-height:44px;border-radius:10px;padding:10px}
.map-availability{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:0 15px;background:var(--canvas)}
.map-availability>summary{display:flex;align-items:center;gap:8px;min-height:44px;font-size:.7rem;font-weight:550;color:var(--muted)}.map-availability>summary>svg:last-child{margin-left:auto}
.map-availability .map-offline-status{font-size:.73rem;padding:10px 0}.map-offline-status a{min-height:44px;display:flex;align-items:center}
.map-sheet-scroll{padding:18px;scrollbar-width:thin;max-height:320px}.map-route-summary h1{font-size:1.8rem}.map-route-summary p{font-size:.8rem}
.map-stop-row,.map-place-row{min-height:64px}.map-stop-row strong,.map-place-row strong{font-size:.88rem}.map-stop-row small,.map-place-row small{font-size:.73rem}
.map-note{font-size:.76rem;line-height:1.65}.map-list-more{text-align:center;padding:16px 0 6px}.map-list-more p{font-size:.74rem;color:var(--muted)}
.route-choice{min-height:53px;font-size:.78rem}.map-nearby-categories .chip{min-height:44px;font-size:.75rem}.map-controls button{width:44px;height:44px}
/* Reused feature screens gain the same type and control scale. */
.turn-card{border-radius:18px;background:#0b5e56}.turn-card h2{color:white;font-size:1.7rem}.nav-metrics .metric strong{font-size:1.45rem}
.navigation-layout{gap:22px}.view-navigation .page-heading{margin-bottom:18px}.view-navigation>.btn{margin:0 7px 18px 0}
.tabbar button,.tabbar a{min-height:44px;font-size:.85rem}.search-form input{font-size:1rem}.empty{padding:36px 22px}.empty h2{font-size:1.35rem}.empty p{font-size:.88rem;max-width:460px}
.settings-list>.btn{justify-content:flex-start;font-size:.81rem}.service-status{font-size:.81rem}.balance-person,.expense-row{font-size:.84rem}.budget-hero{border-radius:18px}
.place-card{overflow:hidden}.place-body p{font-size:.82rem}.place-body h3{font-size:1.13rem}.place-visual{min-height:130px}.place-visual>span{font-size:.82rem}
.details-list,.detail-list,.delivery-row,.contract-requirement,.recovery-variant p,.planning-option p{font-size:.84rem}
.toasts{bottom:24px;right:24px;max-width:min(420px,calc(100vw - 32px));gap:8px}.toast{padding:15px 18px;border-radius:13px;background:#173943;color:white;font-size:.85rem;box-shadow:0 8px 35px #15363b33}
.toast.error{background:#9f382e}summary{min-height:44px}p,a,button,h1,h2,h3,strong,small{overflow-wrap:break-word}
@media(min-width:901px){.bottom-nav,.mobile-brand{display:none}.planner-aside{position:sticky;top:90px;align-self:start}.sidebar nav{flex-shrink:0}}
@media(max-width:1180px) and (min-width:901px){:root{--sidebar:214px}.content{padding:24px}.topbar{padding:0 24px}.dashboard-main{grid-template-columns:1fr}.journey-numbers{padding:3px}.journey-numbers>a{padding:16px 20px;min-height:90px}.journey-numbers strong{font-size:1.55rem;margin:8px 0}.copilot-entry{gap:17px;padding:23px}.copilot-entry>.btn{max-width:170px}.essential-grid{grid-template-columns:1fr 1fr}.planner-layout{grid-template-columns:1fr}.planner-aside{position:static;display:grid;grid-template-columns:1fr 1fr}.planner-tools{grid-column:1/-1}}
@media(max-width:900px){
 :root{--top-height:64px}.sidebar{display:none}.app-shell{margin-left:0;padding-bottom:calc(78px + var(--safe-bottom))}.content{padding:22px 22px 28px;max-width:780px;min-height:calc(100dvh - 145px - var(--safe-bottom))}
 .topbar{height:calc(var(--top-height) + var(--safe-top));padding:var(--safe-top) 22px 0;background:#f4f6f7f5}.mobile-brand{display:flex;align-items:center;gap:8px;font-size:1.35rem;color:var(--ink);letter-spacing:-.055em}.mobile-brand>svg{color:var(--forest)}.breadcrumb{display:none}.top-actions{gap:7px}.top-actions>.avatar{display:none}
 .topbar-leading>.round-btn+.mobile-brand{font-size:1.14rem}.topbar-leading>.round-btn+.mobile-brand>svg{display:none}.top-actions .round-btn{border-color:transparent;background:transparent;width:44px;min-width:44px}
 .operation-status.working{position:fixed;top:calc(66px + var(--safe-top));left:16px;right:16px;max-width:none;text-align:center;z-index:80;border:1px solid #cee2da;box-shadow:var(--shadow)}
 #sharing-pill button{font-size:.62rem;max-width:100px;padding:6px;gap:4px}
 .bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;padding:8px 12px calc(7px + var(--safe-bottom));height:auto;min-height:72px;z-index:40;background:#fffffffa;border-top:1px solid var(--line);backdrop-filter:blur(16px);box-shadow:0 -3px 24px #18324105}
 .bottom-nav>a{width:auto;min-height:52px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;font-size:.64rem;color:#61737e;border-radius:11px;padding:6px 3px;position:relative}
 .bottom-nav>a.active{color:#00685b;background:#eaf4f0;font-weight:750}.bottom-nav>a.active:before{display:none}.bottom-nav>a>svg{width:22px;height:22px}
 .page-footer{padding:14px 22px 20px;font-size:.65rem}.dashboard-main{grid-template-columns:1fr;gap:17px}.dashboard-bottom{gap:17px}.journey-numbers{padding:2px}.journey-numbers>a{padding:16px;min-height:98px}.journey-numbers strong{font-size:1.45rem;margin:9px 0 7px}
 .trip-hero{height:245px}.trip-hero-copy{left:24px;bottom:29px}.trip-hero h1{font-size:2.25rem}.journey-mode{margin:18px 0}.journey-mode>span{display:none}
 .copilot-entry{gap:17px;padding:23px}.copilot-entry p{font-size:.84rem}.essential-grid{grid-template-columns:1fr 1fr}.home-final-actions{justify-content:flex-start}
 .planner-layout{grid-template-columns:1fr;gap:25px}.planner-aside{display:grid;grid-template-columns:1fr 1fr;gap:17px}.planner-tools{grid-column:1/-1}.crew-task-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.crew-task-grid>a{padding:16px 13px}.crew-task-grid strong{font-size:.84rem}
 .content.view-map{padding:0;height:calc(100dvh - 136px - var(--safe-top) - var(--safe-bottom));min-height:0;max-width:none}.view-map>.explorer-map{height:100%;min-height:380px;border:0;border-radius:0;margin-bottom:0}
 .map-search-bar{top:13px;left:14px;right:14px}.map-filter-rail{top:77px;left:14px;right:14px;gap:7px;padding-bottom:4px}.map-layer-pill{font-size:.73rem;white-space:nowrap;flex-shrink:0;padding:10px 12px}
 .map-floating-tools{top:134px;right:14px}.explorer-map .map-controls{top:190px;right:15px}.explorer-sheet{left:12px;right:12px;bottom:16px;width:auto;max-width:none;max-height:calc(100% - 132px);border-radius:20px}.map-sheet-tabs{padding:0 11px 8px}.map-sheet-tabs button{font-size:.79rem;padding:10px 7px}
 .map-sheet-scroll{max-height:178px;padding:16px}.sheet-expanded .map-sheet-scroll{max-height:calc(100dvh - 355px - var(--safe-top) - var(--safe-bottom))}.sheet-grabber{height:30px;min-height:30px}.map-route-summary h1{font-size:1.7rem}.map-route-summary .btn{font-size:.79rem;padding:10px 13px}.map-route-summary .overline{font-size:.62rem}
 .toasts{bottom:calc(86px + var(--safe-bottom));left:16px;right:16px;max-width:none}.toast{font-size:.82rem}.subview-trail{margin:0 0 14px}
}
@media(max-width:600px){
 .content{padding:20px 18px 25px}.topbar{padding-left:18px;padding-right:13px}.top-actions{gap:1px}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:20px}.page-heading h1{font-size:1.85rem;line-height:1.15}.page-heading .subtitle{font-size:.86rem}.page-heading>.actions{max-width:100%;justify-content:flex-start}.page-heading>.actions .btn{font-size:.8rem}
 .grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.card{padding:19px}.section-heading h2{font-size:1.11rem}.section-heading .btn{font-size:.74rem;gap:6px}.section-heading .btn svg{width:15px}
 .dashboard-heading{margin-bottom:16px}.dashboard-heading .overline{font-size:.59rem}.dashboard-heading p{font-size:.8rem;max-width:270px}.trip-hero{height:221px;border-radius:19px}.trip-hero-top{left:18px;right:14px;top:14px}.hero-date{font-size:.66rem;padding:7px 9px}.trip-hero-copy{left:20px;right:20px;bottom:30px}.trip-hero h1{font-size:1.95rem;margin:7px 0}.trip-hero .overline{font-size:.59rem;letter-spacing:.1em}.trip-hero p{font-size:.82rem}.photo-caption{font-size:.5rem}.sample-caption{font-size:.64rem;line-height:1.6;margin:4px 0 14px}
 .journey-mode{width:100%;justify-content:stretch;gap:4px;margin:16px 0}.journey-mode>button{flex:1;justify-content:center;padding:9px;font-size:.8rem}.next-action{padding:19px 17px;gap:13px;border-radius:16px}.next-icon{width:41px;height:41px;min-width:41px;border-radius:13px}.next-icon svg{width:22px}.next-action h2{font-size:1.16rem;margin:5px 0 8px}.next-action p{font-size:.79rem;margin-bottom:12px}.next-action .overline{font-size:.57rem}.next-action .actions{gap:4px 13px}.next-action .btn{font-size:.76rem;padding:10px 12px}.next-action .btn.text{padding:8px 0}.dashboard-main{margin-bottom:18px;gap:16px}
 .journey-numbers{border-radius:16px}.journey-numbers>a{padding:14px 11px;min-height:116px}.journey-numbers span{font-size:.65rem;gap:5px;flex-wrap:wrap}.journey-numbers span svg{width:15px;height:15px}.journey-numbers strong{font-size:1.24rem}.journey-numbers strong small{font-size:.67rem}.journey-numbers p{font-size:.63rem;line-height:1.6}
 .copilot-entry{display:grid;grid-template-columns:42px 1fr;gap:13px 14px;padding:21px 18px;border-radius:17px}.copilot-symbol{width:42px;min-width:42px;height:42px;border-radius:13px}.copilot-symbol svg{width:24px}.copilot-entry h2{font-size:1.25rem;margin:5px 0 9px}.copilot-entry h2 br{display:block}.copilot-entry .overline{font-size:.56rem;letter-spacing:.09em}.copilot-entry p{font-size:.79rem;line-height:1.65}.copilot-entry>.btn{grid-column:2;justify-self:start;font-size:.8rem}
 .dashboard-bottom{grid-template-columns:1fr;gap:17px}.crew-summary,.trip-essentials{padding:20px 18px}.crew-summary-line{margin:21px 0}.crew-summary-line strong{font-size:.82rem}.crew-summary-line small{font-size:.72rem}.essential-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.essential-grid>a{min-height:80px;border-radius:12px;padding:10px 4px}.essential-grid span{font-size:.65rem}.essential-grid svg{width:21px}.home-final-actions{gap:5px 12px}.home-final-actions .btn{font-size:.74rem}.travel-shortcuts{grid-template-columns:1fr 1fr;gap:10px}.travel-shortcuts>.btn{font-size:.78rem;min-height:58px}
 .welcome-scene{min-height:430px;border-radius:20px}.welcome-copy{padding:35px 27px}.welcome-copy h1{font-size:2.45rem;margin-top:17px;line-height:1.15}.welcome-copy p{font-size:.91rem;line-height:1.7}.welcome-copy .overline{font-size:.59rem}.welcome-choices{grid-template-columns:1fr;gap:12px}.welcome-choices>button{padding:19px 17px;gap:12px}.welcome-choices strong{font-size:.93rem}.welcome-choices small{font-size:.77rem}.welcome-foot h2{font-size:1.35rem}.welcome-foot p{font-size:.85rem}
 .tool-sections{grid-template-columns:1fr;gap:24px}.tool-row{padding:14px 16px;gap:12px;min-height:80px}.tool-row strong{font-size:.86rem}.tool-row small{font-size:.74rem}.tool-icon{width:40px;height:40px;border-radius:12px}.tool-filters{margin-top:15px;gap:6px}.tool-filters .chip{font-size:.74rem;padding:10px 13px}.tools-search{padding-left:13px}.tools-search input{font-size:1rem}.tools-results-count{font-size:.73rem;margin:10px 0 22px}.keyboard-hint{font-size:.7rem}
 .day-tab{min-width:98px;padding:10px 14px;min-height:80px}.day-tab span{font-size:.59rem}.day-tab strong{font-size:.84rem}.day-tab small{font-size:.63rem}.day-picker{margin-bottom:19px}.day-heading h2{font-size:1.3rem}.day-overview{font-size:.72rem;gap:10px;margin-bottom:19px}.day-overview svg{width:15px}.timeline-stop{padding-left:50px}.timeline-rail{width:39px;top:15px}.timeline-rail time{font-size:.65rem}.timeline-rail>span{width:25px;height:25px;font-size:.69rem}.timeline-stop:before{left:18px}.stop-card{padding:16px 16px 5px;border-radius:15px}.stop-kind{font-size:.66rem}.stop-card h3{font-size:1.1rem;margin:4px 0 0}.stop-card>p.stop-address{font-size:.74rem;line-height:1.5}.stop-facts{font-size:.7rem;gap:7px}.stop-primary-actions{gap:6px}.stop-primary-actions .btn{font-size:.71rem;gap:5px}.stop-primary-actions svg{width:14px}.stop-options>summary{font-size:.69rem}.stop-options .actions .btn{font-size:.7rem;padding:10px}.timeline-transfer{font-size:.67rem;min-height:47px}.day-end{margin-left:50px;font-size:.76rem;gap:8px}.day-end>.btn{font-size:.72rem}.planner-aside{grid-template-columns:1fr;gap:16px}.planner-tools{grid-column:auto}.day-companion{padding:21px}.planner-copilot{padding:20px}.planner-copilot>.btn{display:inline-flex;margin-right:12px}
 .crew-task-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.crew-task-grid>a{padding:17px 15px;gap:11px;border-radius:15px}.crew-task-grid strong{font-size:.86rem}.crew-task-grid small{font-size:.7rem;line-height:1.5}.crew-task-grid .tool-icon{width:37px;height:37px}.crew-task-grid .tool-icon svg{width:21px}.crew-segments{width:100%;margin-bottom:18px}.crew-segments button{flex:1;justify-content:center;padding:9px 7px;font-size:.74rem;gap:5px}.crew-segments button svg{width:15px}
 .convoy-command-bar{padding:14px;gap:13px;align-items:flex-start}.convoy-status strong{font-size:.73rem}.convoy-command-bar .btn{font-size:.75rem}.crew-panel-messages .crew-main-grid>aside{grid-template-columns:1fr}.fleet-section>.section-heading{align-items:flex-start;flex-wrap:wrap}.fleet-section>.section-heading>.actions{gap:6px}.fleet-section>.section-heading>.actions .btn{font-size:.72rem}.fleet-list{margin:0;padding:0 0 12px;scrollbar-width:thin}.fleet-card{min-width:265px;padding:20px}.crew-workspace .crew-map-card .section-heading{padding:18px}.crew-map-card h2{font-size:1.07rem}
 .mission-welcome{padding:24px 22px;gap:20px;flex-direction:column;border-radius:20px}.mission-spark{min-width:49px;width:49px;height:49px;border-radius:16px}.mission-spark svg{width:27px}.mission-welcome h2{font-size:2.05rem;margin:12px 0 19px}.mission-welcome .overline{font-size:.59rem}.mission-welcome p{font-size:.91rem;line-height:1.75;margin-bottom:21px}.mission-welcome .actions{gap:9px}.mission-welcome .btn{font-size:.8rem}.mission-flow-strip{gap:8px;font-size:.67rem;justify-content:space-between;margin:23px 0}.mission-flow-strip>span{gap:5px}.mission-flow-strip>svg{width:12px}.mission-flow-strip b{width:23px;height:23px;font-size:.66rem}.mission-start-help p{font-size:.84rem}.mission-limits>summary{font-size:.77rem}.mission-progress{display:none}
 dialog.sheet{margin:auto 0 0;width:100%;max-width:100%;max-height:calc(100dvh - 20px - var(--safe-top));border-radius:24px 24px 0 0;border-bottom:0;box-shadow:0 -10px 80px #17344233}
 .sheet-form>header{padding:23px 21px 17px}.sheet-form h2{font-size:1.28rem}.sheet-form>header .eyebrow{font-size:.55rem}.form-body{padding:19px 21px;gap:16px}.form-grid{grid-template-columns:1fr 1fr;gap:13px}.sheet-form>.muted{padding:16px 21px 0;font-size:.81rem}.field>span{font-size:.77rem}.field input,.field textarea,.field select{font-size:1rem;min-height:47px;padding:11px}
 .sheet-form>footer{padding:15px 21px calc(15px + var(--safe-bottom));flex-wrap:wrap;gap:10px}.sheet-form>footer>.actions{display:flex;margin-left:auto;flex-wrap:nowrap}.sheet-form>footer .btn{font-size:.83rem}.form-error{margin:0 21px 16px;font-size:.83rem}.form-body details>summary{font-size:.8rem}.form-body legend{font-size:.8rem}.check-field>span{font-size:.81rem}.check-field small{font-size:.73rem}
 .command-palette .command-results{max-height:48dvh}.command-result{padding:12px 4px;gap:10px}.command-result strong{font-size:.86rem}.command-result small{font-size:.73rem}.command-hint{font-size:.68rem}.quick-add-grid{gap:10px}.quick-add-item{padding:16px 13px}.quick-add-item strong{font-size:.85rem}.quick-add-item small{font-size:.73rem}
 .page-footer{padding:15px 18px 20px;font-size:.61rem;gap:10px}.turn-card h2{font-size:1.35rem}.turn-card{padding:21px;gap:16px}.navigation-layout{grid-template-columns:1fr}.nav-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}.nav-metrics .metric{padding:13px 10px}.nav-metrics .metric strong{font-size:1.13rem}.nav-metrics .metric span,.nav-metrics .metric small{font-size:.65rem}.view-navigation>.btn{font-size:.73rem}
}
@media(max-width:359px){.content{padding-left:14px;padding-right:14px}.topbar{padding-left:14px;padding-right:8px}.mobile-brand{font-size:1.2rem}.top-actions .notification-entry{display:none}.trip-hero h1{font-size:1.72rem}.next-action{gap:10px;padding:17px 14px}.next-icon{display:none}.essential-grid span{font-size:.6rem}.journey-numbers>a{padding:12px 8px}.journey-numbers strong{font-size:1.12rem}.mission-flow-strip{flex-wrap:wrap;justify-content:flex-start;gap:10px}.crew-segments button{font-size:.68rem}.form-grid{grid-template-columns:1fr}.bottom-nav{padding-left:5px;padding-right:5px}.bottom-nav>a{font-size:.59rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(forced-colors:active){.btn,.chip,.tool-icon,.next-icon,.day-tab,.nav-link.active,.journey-mode>button,.crew-segments button{border:1px solid ButtonText}.trip-hero h1,.trip-hero p,.trip-hero .overline,.welcome-copy h1,.welcome-copy p{color:CanvasText}.trip-hero,.welcome-scene{background:Canvas}.trip-hero>img,.trip-hero-shade,.welcome-scene>img,.welcome-scene:after{display:none}.bottom-nav>a.active{outline:2px solid Highlight}.photo-caption{display:none}}
}

@layer product {
.stop-location{padding:18px;border:1px solid var(--line);border-radius:15px;background:#fbfdfc}
.stop-location>legend{display:flex;gap:8px;align-items:center;padding:0 8px;font-size:.86rem;font-weight:700}
.location-search{display:flex;gap:8px;align-items:stretch}.location-search>input{flex:1;min-width:0}.location-search>.btn{flex-shrink:0;padding-inline:13px}
.selected-location{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #d3e6dc;border-radius:12px;background:#f1f8f4;margin-bottom:15px}
.selected-location>div{min-width:0;flex:1}.selected-location strong{font-size:.86rem;display:block}.selected-location small{font-size:.72rem;color:var(--muted);display:block;margin-top:4px;line-height:1.5}
.selected-location>.round-btn{width:44px;flex-shrink:0}.location-empty{display:flex;gap:8px;align-items:flex-start;font-size:.78rem;color:var(--muted);line-height:1.5}
.location-manual{margin-top:15px;border-top:1px solid var(--line);padding-top:5px}.location-manual summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:.76rem;color:var(--muted);font-weight:600}
.location-results{display:grid;gap:7px}.location-choice{display:flex;gap:10px;align-items:center;min-width:0;border:1px solid var(--line);padding:13px 10px;background:var(--paper);border-radius:11px;text-align:left;color:var(--ink)}
.location-choice>span{min-width:0;flex:1}.location-choice strong{font-size:.82rem;display:block}.location-choice small{font-size:.72rem;display:block;color:var(--muted);margin-top:4px;line-height:1.5}.location-choice>svg{flex-shrink:0;color:var(--teal)}
[data-location-status]:not(:empty){font-size:.78rem;line-height:1.6;margin:13px 0;color:var(--muted)}
@media(max-width:600px){.stop-location{padding:13px}.selected-location .tool-icon{display:none}.location-search{flex-wrap:wrap}.location-search>input{flex-basis:160px}.location-search>.btn{flex-grow:1}}
}
@layer product {
#main-content:focus-visible{outline:none}
@media(max-width:900px){.subview-trail{display:none}}
}
@layer product {
.form-intro{font-size:.9rem;line-height:1.65;color:var(--muted);margin:0 0 20px}
.editor-section{padding:0 0 3px;border:1px solid var(--line);border-radius:13px;margin:16px 0;background:var(--paper)}
.editor-section>summary{min-height:52px;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px 16px;font-weight:650;font-size:.82rem;color:var(--ink)}
.editor-section[open]>summary{border-bottom:1px solid var(--line);margin-bottom:15px}.editor-section[open]>:not(summary){margin-left:15px;margin-right:15px}.editor-section>fieldset{border:0;padding:0 0 10px;margin-top:0}.editor-section[open]>fieldset .field{margin:0 0 16px}
.share-row .field[hidden],details[hidden]{display:none!important}.share-row:has(.field[hidden]){grid-template-columns:1fr}.share-row:has(.field[hidden]) .check-field{padding:6px 0;margin:0}
}
@layer product {
.navigation-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.navigation-main,.navigation-aside{min-width:0}.navigation-aside{display:grid;gap:18px}
.navigation-main>.turn-card{background:#075f57;color:#fff;border:0;border-radius:18px 18px 0 0;padding:24px;gap:19px;min-height:142px;align-items:center}
.navigation-main .turn-card h2{color:#fff;font-size:1.65rem;line-height:1.25;margin:7px 0}.navigation-main .turn-card p{color:#e1f3ed;font-size:.83rem;margin:0}.navigation-main .turn-card span{font-size:.8rem;font-weight:700;letter-spacing:.06em}.navigation-main .turn-icon{min-width:57px;color:#fff}
.navigation-main>.nav-map{height:400px;margin:0;border:0;border-radius:0 0 17px 17px;overflow:hidden}.navigation-main>.nav-metrics{margin:15px 0;gap:9px}.navigation-main .nav-metrics .metric{padding:16px 12px;min-height:100px}
.navigation-main .nav-metrics strong{font-size:1.4rem}.navigation-main .nav-metrics small{font-size:.66rem;line-height:1.5}.driving-primary-actions{display:grid;grid-template-columns:1.2fr 1fr;gap:10px}.driving-primary-actions>.btn{min-height:54px;font-size:.87rem}
.navigation-scope{display:flex;align-items:flex-start;gap:8px;font-size:.76rem;color:var(--muted);line-height:1.6;margin-top:14px}.navigation-scope>svg{flex-shrink:0;margin-top:2px}
.navigation-options>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;font-size:.87rem;font-weight:700}.navigation-options>summary .tag{font-size:.65rem}.navigation-options[open]>summary{margin-bottom:15px}.navigation-group h2{margin-top:7px}.navigation-group>.btn.secondary{width:100%}
@media(max-width:1180px){.navigation-workspace{grid-template-columns:minmax(0,1fr)}.navigation-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.navigation-aside>.navigation-group{grid-row:span 2}}
@media(max-width:600px){.navigation-main>.turn-card{padding:20px 16px;gap:13px;min-height:130px}.navigation-main .turn-card h2{font-size:1.45rem}.navigation-main .turn-icon{min-width:43px}.navigation-main .turn-icon svg{width:43px;height:43px}.navigation-main>.nav-map{height:340px}.navigation-main .nav-metrics .metric{padding:13px 9px;min-height:92px}.navigation-main .nav-metrics strong{font-size:1.2rem}.navigation-main .nav-metrics span{font-size:.7rem}.navigation-aside{grid-template-columns:minmax(0,1fr)}.navigation-aside>.navigation-group{grid-row:auto}.driving-primary-actions>.btn{font-size:.76rem;padding:11px 9px}.navigation-options{padding:15px}.navigation-options>summary{font-size:.82rem}}
}
@layer product {
/* Content-driven dimensions: 200% text must not be clipped by editorial cards. */
.trip-hero{height:auto;min-height:260px;display:flex;flex-direction:column;padding:20px 26px 28px;gap:23px}
.trip-hero-top{position:relative;inset:auto;flex-wrap:wrap;z-index:1}
.trip-hero-copy{position:relative;inset:auto;margin-top:auto;min-width:0;z-index:1;overflow-wrap:anywhere}
.trip-hero .photo-caption{position:relative;inset:auto;align-self:flex-end;z-index:1;margin:-15px 0 -15px}
.essential-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,4.8rem),1fr))}
.essential-grid>a{min-width:0}.essential-grid span{max-width:100%;overflow-wrap:anywhere}
.journey-numbers{grid-template-columns:repeat(auto-fit,minmax(min(100%,6rem),1fr))}
.journey-numbers span,.journey-numbers p{overflow-wrap:anywhere}
.crew-segments{flex-wrap:wrap}.crew-segments button{min-width:0;overflow-wrap:anywhere;white-space:normal;flex-wrap:wrap}
.topbar-leading{flex:1}.mobile-brand{min-width:0}.mobile-brand strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-brand>svg{flex-shrink:0}
.section-heading{flex-wrap:wrap}.section-heading>*{min-width:0}.section-heading h2{overflow-wrap:anywhere}
@media(max-width:900px){
 .trip-hero{height:auto;min-height:245px;padding:17px 24px 28px}.trip-hero-copy{inset:auto}
 .bottom-nav>a{min-width:0;line-height:1.35}.bottom-nav>a>span{white-space:normal;overflow-wrap:anywhere;max-width:100%;text-align:center}
 .app-shell{padding-bottom:calc(max(78px,5.2rem) + var(--safe-bottom))}
 .toasts{bottom:calc(max(86px,5.8rem) + var(--safe-bottom))}
}
@media(max-width:600px){
 .trip-hero{height:auto;min-height:221px;padding:14px 19px 28px;gap:18px}.trip-hero-top,.trip-hero-copy{inset:auto}
 .essential-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,7.5rem),1fr))}
 .crew-segments button{flex:1 1 4.5rem;overflow-wrap:anywhere}
 .journey-numbers{grid-template-columns:repeat(auto-fit,minmax(min(100%,6rem),1fr))}
 .next-action .btn,.copilot-entry .btn,.welcome-copy .btn{white-space:normal;overflow-wrap:anywhere}
 .crew-task-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr))}
}
}

@layer mobile {
/* R7: thumb-sized controls, visible context, a keyboard-aware sheet and no gesture traps.
   CSS pixels here are web layout units, not a native 44pt certification. */
:root{--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--tap-size:44px}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--top-height) + var(--safe-top) + 16px)}
dialog.sheet:before{display:none}
html.modal-open,html.modal-open body{overflow:hidden;overscroll-behavior:none}
[hidden]{display:none!important}.mobile-context{display:none}
.sheet-form{padding:0}
.field{color:var(--muted)}.stop-duration .field{margin-bottom:8px}.duration-presets{display:flex;gap:8px;flex-wrap:wrap}
.duration-presets button{min-height:44px;min-width:54px;border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:9px 13px;color:var(--ink);font-size:.83rem}
.duration-presets button[aria-pressed=true]{background:var(--soft);color:var(--forest);border-color:#9fc6bc;font-weight:700}
.stop-location{margin:0}.stop-location[data-selected=true] .location-query-area{display:none}.stop-location .location-empty{margin-top:0;font-size:.85rem}
.stop-location .field{margin-bottom:8px}.location-query-area>.fine{font-size:.73rem;line-height:1.6;margin:8px 0 12px}
.stop-location .location-manual{margin-top:12px}.stop-location>.location-manual>summary{font-size:.76rem}
.stop-location>.location-manual{background:transparent;border:0;border-top:1px solid var(--line);padding:0;border-radius:0}
.stop-location .selected-location{margin:0}.stop-location [data-location-change]{font-size:.82rem;margin:6px 0 0}
.sheet-form>header{margin:0}.sheet-form>footer{margin:0}
.sheet-form>header .round-btn{flex:none}.sheet-form h2{scroll-margin-block:20px;outline:none}
.sheet-form input,.sheet-form textarea,.sheet-form select{scroll-margin-block:100px}
.discard-confirm{margin:0 24px 18px;padding:18px;border:1px solid #edce9f;border-radius:14px;background:#fff6e8;color:#5b401c}
.discard-confirm h3{font-size:1.05rem;margin:0 0 7px}.discard-confirm p{font-size:.87rem;line-height:1.6;margin:0 0 16px}
.discard-confirm .actions{display:flex;flex-wrap:wrap}.discard-confirm .btn{white-space:normal}
.connection-banner{display:flex;align-items:center;gap:12px;background:#eef4f9;border-bottom:1px solid #cddde8;padding:12px 24px;color:#28465a;font-size:.85rem}
.connection-banner>svg{flex:none}.connection-banner>span{flex:1;min-width:0}.connection-banner strong,.connection-banner small{display:block}.connection-banner small{font-size:.78rem;margin-top:2px;line-height:1.55}.connection-banner .btn{flex:none}
.connection-banner.warning{background:#fff6e8;border-color:#ead3ac;color:#64471d}
.sheet-grabber{min-height:44px!important;touch-action:none}.day-picker,.map-filter-rail,.tools-filters,.fleet-list{scroll-snap-type:x proximity;scroll-padding-inline:16px}
.day-tab,.map-filter-rail>button,.fleet-card{scroll-snap-align:start;scroll-margin-inline:16px}
.day-tab:focus-visible{outline-offset:-4px}.journey-map .map-controls button{min-width:44px;min-height:44px}
.journey-map.map-inline{touch-action:pan-y pinch-zoom}.map-controls{gap:2px}.journey-map .map-marker:not(.self){min-width:44px;min-height:44px}
.map-cluster-toggle{min-width:44px;min-height:44px}.journey-map .map-marker:focus-visible{outline:3px solid #174f92;outline-offset:3px}
@media(pointer:coarse){
 .sheet-form>header{touch-action:none}
 button:not(.map-marker.self),summary,[role=button],.btn,.round-btn{min-height:var(--tap-size)}
 button:not(.map-marker.self){min-width:var(--tap-size)}
 input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:max(1rem,16px)}
 button:active:not(:disabled),a.btn:active{filter:brightness(.96)}
 .check-field{align-items:center}.check-field input{flex:none}
 .crew-segments{scroll-margin-block:80px}
}
@media(max-width:900px){
 :root{--top-height:60px}
 .topbar{padding-left:max(16px,var(--safe-left));padding-right:max(16px,var(--safe-right))}
 .topbar-leading{min-width:0;gap:10px}.topbar .mobile-brand{display:none}
 .mobile-context{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;max-width:100%;min-height:48px;background:transparent;text-align:left;padding:3px 0;color:var(--ink)}
 .mobile-context>strong{font-size:1.08rem;font-weight:740;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .mobile-context>span{font-size:.71rem;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}
 .topbar-leading>.round-btn{flex:none}.top-actions{flex:none;gap:3px}.top-actions .notification-entry{display:none}
 .content:not(.view-map){padding-left:max(18px,var(--safe-left));padding-right:max(18px,var(--safe-right))}
 .bottom-nav{padding-left:max(10px,var(--safe-left));padding-right:max(10px,var(--safe-right));gap:2px}
 .bottom-nav>a{border-radius:14px;min-height:54px}.bottom-nav>a.active{background:#e4f1ed}
 .bottom-nav>a:focus-visible{outline-offset:-3px}
 .connection-banner{padding:12px max(16px,var(--safe-left));align-items:flex-start;flex-wrap:wrap;gap:9px}.connection-banner>span{flex-basis:65%}.connection-banner .btn{padding:8px 10px}
 .connection-banner small{font-size:.77rem}.subview-trail{display:none}
 dialog.sheet{position:fixed;top:auto;bottom:var(--keyboard-inset,0px);left:max(8px,var(--safe-left));right:max(8px,var(--safe-right));width:auto;max-width:none;margin:0;max-height:calc(var(--visual-height,100dvh) - 16px);border-radius:24px 24px 0 0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;overscroll-behavior:contain}
 .sheet-form>header{padding:22px 20px 16px;gap:14px;position:sticky;top:0;background:#fff;z-index:4}
 .sheet-form>header:before{content:'';position:absolute;left:calc(50% - 19px);top:8px;width:38px;height:4px;border-radius:4px;background:#c8d5d8}
 .sheet-form h2{font-size:1.3rem;line-height:1.25}.sheet-form .eyebrow{display:none}
 .sheet-form>.muted{padding:14px 20px 0;margin:0}.form-body{padding:18px 20px;gap:16px}.form-body>.field{margin-bottom:0}
 .sheet-form>footer{padding:12px 20px calc(12px + var(--safe-bottom));gap:10px;backdrop-filter:none;background:#fff;display:flex;flex-wrap:wrap;justify-content:flex-end}
 .sheet-form>footer>div:empty{display:none}.sheet-form>footer .actions{display:grid;grid-template-columns:minmax(80px,1fr) minmax(0,1.8fr);width:100%;gap:10px;flex:1 1 100%}
 .sheet-form>footer .actions>.btn:only-child{grid-column:1/-1}.sheet-form>footer .btn{min-height:48px;white-space:normal}
 .form-error{margin:0 20px 14px}.discard-confirm{margin:0 20px 16px}.discard-confirm .actions{flex-direction:column}
 .sheet-form .form-grid.three,.sheet-form .form-grid.two,.sheet-form .form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}
 .sheet-form .stop-organization{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr))}
 .sheet-form .location-search{flex-wrap:wrap}.sheet-form .location-search input{min-width:0;flex:1 1 160px}.sheet-form .location-search button{flex-shrink:0}
 .selected-location{min-width:0}.selected-location>div{min-width:0}.selected-location strong,.selected-location small{overflow-wrap:anywhere}
 .toasts{left:max(12px,var(--safe-left));right:max(12px,var(--safe-right));max-width:none;bottom:calc(max(84px,5.8rem) + var(--safe-bottom))}
 .toast{font-size:.88rem;line-height:1.55}
 html[data-keyboard=open] .bottom-nav{display:none}
 html[data-keyboard=open] .sheet-form>footer{padding-bottom:12px}
 html[data-keyboard=open] .toasts{bottom:calc(var(--keyboard-inset,0px) + 12px)}
 html[data-keyboard=open] .app-shell{padding-bottom:12px}
 .content.view-map{height:calc(var(--visual-height,100dvh) - 132px - var(--safe-top) - var(--safe-bottom))}
 .view-map>.explorer-map{min-height:260px}.explorer-sheet{max-height:calc(100% - 100px)}
 .map-sheet-scroll{overscroll-behavior-y:contain;max-height:min(23dvh,178px)}
 .page-heading h1{font-size:clamp(1.7rem,6.4vw,2.1rem)}
}
@media(max-width:600px){
 .trip-hero{border-radius:22px;padding:15px 20px 24px;min-height:210px;gap:16px}
 .trip-hero h1{font-size:clamp(1.8rem,7vw,2.2rem);line-height:1.14}
 .next-action{padding:20px;border-radius:18px}.next-action .btn.primary{min-height:48px}
 .day-tab{min-width:96px;min-height:80px;padding:10px 16px}.day-picker{margin-bottom:18px}
 .timeline-stop{padding-left:52px}.timeline-rail{width:44px}.timeline-stop:before{left:15px}
 .stop-card{padding:16px;border-radius:17px}.stop-card h3{font-size:1.06rem}.timeline-transfer{font-size:.76rem}
 .day-end{margin-left:52px}.stop-primary-actions{flex-wrap:wrap;gap:6px}.stop-primary-actions .btn{padding:8px 6px}
 .quick-add-grid{gap:10px}.quick-add-item{padding:16px 14px;min-width:0}
 .command-result{min-height:64px}.command-result>span{min-width:0}.command-result small{line-height:1.5}
}
@media(max-height:500px) and (max-width:900px){
 .topbar{--top-height:50px}.content:not(.view-map){padding-top:16px}
 .bottom-nav{min-height:54px;padding-top:3px;padding-bottom:calc(3px + var(--safe-bottom))}.bottom-nav>a{min-height:44px;flex-direction:row;font-size:.73rem;gap:6px}
 dialog.sheet{top:calc(var(--visual-top,0px) + 6px);bottom:auto;max-height:calc(var(--visual-height,100dvh) - 12px);left:max(16px,var(--safe-left));right:max(16px,var(--safe-right));border-radius:18px}
 .sheet-form>header{padding-top:16px;padding-bottom:10px}.sheet-form>footer{padding-block:8px}
 .form-body{padding-top:14px}.sheet-form>header:before{display:none}
 .content.view-map{height:calc(var(--visual-height,100dvh) - 106px - var(--safe-top) - var(--safe-bottom))}.view-map>.explorer-map{min-height:200px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:0s!important}}
@media(forced-colors:active){.connection-banner,.discard-confirm,.bottom-nav>a.active{border:1px solid CanvasText;background:Canvas;color:CanvasText}.sheet-form>header,.sheet-form>footer{background:Canvas}.round-btn,.btn{border:1px solid ButtonText}}
/* A map uses the space actually left by the header, banners and measured tab bar. */
@media(max-width:900px){
 .app-shell{padding-bottom:var(--mobile-tabs-height,calc(78px + var(--safe-bottom)))}
 .app-shell:has(>.content.view-map){height:var(--visual-height,100dvh);min-height:0;display:flex;flex-direction:column}
 .app-shell:has(>.content.view-map)>.topbar,.app-shell:has(>.content.view-map)>[data-shell-part=connection],.app-shell:has(>.content.view-map)>.operation-banner{flex:none}
 .app-shell:has(>.content.view-map)>.page-footer{display:none}
 .content.view-map{width:100%;height:auto;flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}
 .content.view-map>.explorer-map{flex:1;min-height:240px;width:100%}
 .content.view-map>.notice,.content.view-map>.help-alert-banner{flex:none}
 .app-shell:has(>.content.view-map) .connection-banner{gap:6px;padding-block:8px}
 .app-shell:has(>.content.view-map) .connection-banner small{font-size:.73rem}
 .toasts{bottom:calc(var(--mobile-tabs-height,78px) + 12px)}
 html[data-keyboard=open] .toasts{bottom:calc(var(--keyboard-inset,0px) + 12px)}
}
@media(max-height:500px) and (max-width:900px){.content.view-map>.explorer-map{min-height:170px}}

.operation-banner{padding:10px 24px;background:#e7f2ee;border-bottom:1px solid #cee2db;color:#245a4f;line-height:1.5}
.operation-banner:not(:has(.working)){display:none}.operation-banner .operation-status{font-size:.8rem;overflow-wrap:anywhere}
@media(max-width:900px){
 .topbar{height:auto;min-height:calc(var(--top-height) + var(--safe-top));padding-top:calc(var(--safe-top) + 4px);padding-bottom:4px}
 .top-actions{max-width:68%;min-width:0}.top-actions #sharing-pill{flex:1;min-width:0}.top-actions #sharing-pill>button{max-width:100%;white-space:normal;font-size:.72rem;line-height:1.3;text-align:left}
 .operation-banner{padding:10px max(16px,var(--safe-left))}
 .explorer-map .map-controls{top:135px;left:16px;right:auto;bottom:auto;flex-direction:row}
 .explorer-map .map-controls button{border-bottom:0;border-right:1px solid var(--line)}
 .explorer-map.sheet-expanded .map-controls,.explorer-map.sheet-expanded .map-floating-tools>.map-locate{display:none}
 .explorer-map.sheet-expanded .map-floating-tools{top:8px;right:8px}
 .explorer-map.sheet-expanded .map-floating-tools>.btn{background:var(--paper);box-shadow:0 3px 12px #17342b18}
 .explorer-map:not(.sheet-expanded) .map-sheet-scroll{max-height:min(23dvh,178px)}
 .explorer-map.sheet-expanded .map-sheet-scroll{max-height:calc(var(--visual-height,100dvh) - 340px)}
 .map-tile-status{z-index:4}.explorer-map .map-tile-status{top:185px;left:16px;max-width:calc(100% - 32px);font-size:.7rem}
 .explorer-map.sheet-expanded .map-tile-status{display:none}
}

}

@layer mobile {
  /* R8: short, actionable summaries. Information never relies on colour alone. */
  .departure-ribbon { display:flex; align-items:center; gap:14px; padding:18px 20px; margin:22px 0; border:1px solid #dae6df; border-radius:22px; background:linear-gradient(110deg,#edf4ef,#fffdf7); }
  .departure-ribbon>div { flex:1; min-width:0; }.departure-ribbon strong{font-size:1.02rem}.departure-ribbon p{margin:5px 0 0;color:#50655a;font-size:.92rem;line-height:1.5}
  .departure-symbol,.departure-item-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:15px;background:#dfece3;color:#234c3a}
  .departure-groups{display:grid;gap:22px}.departure-group h3{font-size:.88rem;text-transform:uppercase;letter-spacing:.09em;color:#53685a;margin:0 0 10px}
  .departure-rows{display:grid;gap:10px}.departure-item{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid #e2e7e1;background:#fff;border-radius:18px}.departure-item>div{min-width:0;flex:1}.departure-item-title{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.departure-item h4{font-size:1rem;margin:0}.departure-item-title small{font-size:.77rem;color:#5b685e}.departure-item p{font-size:.91rem;line-height:1.55;margin:8px 0;color:#4b5e52}.departure-item .btn.text{min-height:44px;padding:6px 0;white-space:normal;text-align:left}
  .departure-item[data-departure-state="attention"] .departure-item-icon{background:#fff0d7;color:#795014}.departure-item[data-departure-state="unknown"] .departure-item-icon{background:#edf0f5;color:#526277}
  .departure-note{display:flex;align-items:flex-start;gap:12px;padding:16px;margin-top:20px;border-radius:16px;background:#f3f5f2;color:#566253}.departure-note svg{flex:none;margin-top:4px}.departure-note p{font-size:.86rem;margin:0;line-height:1.6}
  .draft-strip{padding:12px 14px;border:1px solid #dce8df;border-radius:16px;background:#f1f7f2;margin-bottom:16px;overflow-wrap:anywhere}.draft-status{display:grid;gap:5px}.draft-status>span{display:flex;align-items:center;gap:7px;font-size:.82rem;color:#274b3a}.draft-status small{font-size:.81rem;line-height:1.5;color:#53685b}.draft-privacy{margin-top:4px}.draft-privacy summary,.draft-values summary{min-height:44px;display:flex;align-items:center;font-size:.79rem;color:#506b5a;cursor:pointer}.draft-privacy p{font-size:.81rem;line-height:1.6}.draft-privacy .btn{font-size:.81rem;white-space:normal;min-height:44px}.draft-resume{display:grid;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid #d8e4db}.draft-resume small{font-size:.77rem}.draft-resume .actions{margin-top:5px;flex-wrap:wrap}.draft-values dl{margin:0;max-height:240px;overflow:auto}.draft-values dl>div{padding:6px 0;border-top:1px solid #dce5dd}.draft-values dt{font-size:.74rem;color:#5b675e}.draft-values dd{margin:3px 0 0;font-size:.85rem;white-space:pre-wrap}
  .offline-intro-card{display:flex;align-items:center;gap:20px;padding:26px;border-radius:24px;background:linear-gradient(115deg,#173e32,#325b43);color:#fff;margin-bottom:20px}.offline-intro-card>div{flex:1;min-width:0}.offline-intro-card h2{font-size:clamp(1.4rem,4vw,2.2rem);line-height:1.22;letter-spacing:-.03em;margin:10px 0 14px;color:inherit}.offline-intro-card .overline{color:#c4dfcd}.offline-intro-card p{font-size:.91rem;line-height:1.65;margin:0;color:#e3eee5}.offline-intro-icon{display:grid;place-items:center;flex:none;width:76px;height:76px;border-radius:25px;background:#ffffff14}
  .offline-disclosure>summary{display:flex;align-items:center;gap:12px;min-height:48px;cursor:pointer;font-weight:650}.offline-disclosure>summary svg:last-child{margin-left:auto}.offline-disclosure>section{padding-top:20px}.audit-progress{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:16px;border:1px solid #e3dbb7;border-radius:16px;background:#fff8e8;margin:16px 0}.audit-progress p{margin:5px 0 0;font-size:.86rem}.audit-result{text-align:center;padding:10px 0 18px}.audit-result-symbol{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:22px;background:#e5efe7;color:#214735}.audit-result h3{margin:16px 0 8px;font-size:1.45rem}.audit-result p{line-height:1.6;color:#556358}
  @media(max-width:600px){.departure-ribbon{padding:15px;gap:10px;flex-wrap:wrap}.departure-ribbon>.btn{margin-left:54px;flex:1;justify-content:space-between}.departure-item{padding:13px;gap:10px}.departure-item-icon{width:36px;height:36px;border-radius:12px}.offline-intro-card{padding:21px}.offline-intro-icon{width:48px;height:58px;border-radius:18px}.offline-intro-icon svg{width:26px}.audit-progress{align-items:stretch;flex-direction:column}.draft-resume .btn{flex:1;white-space:normal}.draft-resume .actions{align-items:stretch}}
  @media(forced-colors:active){.departure-ribbon,.departure-item,.draft-strip,.offline-intro-card,.departure-note,.audit-progress{border:1px solid CanvasText;background:Canvas;color:CanvasText}.departure-symbol,.departure-item-icon,.audit-result-symbol{border:1px solid CanvasText;background:Canvas;color:CanvasText}.offline-intro-card p,.offline-intro-card .overline{color:CanvasText}}
}

@layer mobile {
  .local-drafts-card{padding:1.3rem;border:1px solid var(--line);border-radius:var(--radius-lg,22px);background:#fffdf5;margin-block:1.15rem;color:var(--ink)}
  .local-drafts-card .eyebrow{font-size:.69rem;letter-spacing:.12em;color:#76622f;margin:0 0 .35rem}
  .local-drafts-card h2{font-size:1.15rem;margin:0;line-height:1.4}
  .local-drafts-card .section-heading{gap:.8rem;align-items:flex-start}
  .local-draft-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;border-top:1px solid #e5dfd0;padding-block:1rem;min-width:0}
  .local-draft-row>div{min-width:0;flex:1}.local-draft-row strong{display:block;overflow-wrap:anywhere;font-size:.94rem}
  .local-draft-row small{display:block;color:var(--muted);line-height:1.5;margin-top:.3rem}.local-draft-row .btn{flex-shrink:0}
  @media(max-width:360px){.local-draft-row{align-items:stretch;flex-direction:column}.local-draft-row .btn{align-self:flex-start}}
  @media(forced-colors:active){.local-drafts-card,.local-draft-row{border:1px solid CanvasText;background:Canvas;color:CanvasText}}
}
@layer mobile{.draft-orphan-notes{white-space:pre-wrap;overflow-wrap:anywhere}.local-drafts-card summary{min-height:44px;display:flex;align-items:center}}

/* R9 – First journey: calm hierarchy, explicit steps, thumb-reachable actions. */
@layer mobile {
 .journey-setup-sheet { max-width:720px; }
 .journey-setup-sheet .form-body { gap:1.35rem; }
 .setup-progress { display:flex; justify-content:space-between; gap:.4rem; font-size:.78rem; color:var(--muted,#57706c); }
 .setup-progress>span { display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; }
 .setup-progress b { display:grid; place-items:center; border:1px solid #d6e2dc; width:26px; height:26px; border-radius:50%; font-size:.8rem; }
 .setup-progress [aria-current] { color:#006f61; font-weight:750; }
 .setup-progress [aria-current] b,.setup-progress [data-completed] b { background:#006f61; border-color:#006f61; color:white; }
 .setup-step { border:0; padding:0; margin:0; min-width:0; }
 .setup-step>legend { font-size:1.4rem; font-weight:780; letter-spacing:-.025em; padding:0; margin:0 0 .35rem; }
 .setup-step[hidden],.setup-step [hidden] { display:none!important; }
 .setup-lead { margin:0 0 1.2rem; color:#587069; }
 .setup-endpoint { border:1px solid #d9e6df; border-radius:20px; padding:1rem; margin:.8rem 0; background:#fff; }
 .setup-endpoint-heading { display:flex; align-items:center; gap:.55rem; margin:0 0 .75rem; }
 .setup-endpoint-heading h3 { font-size:.95rem; margin:0; }
 .setup-dot { width:30px; height:30px; border-radius:50%; display:grid; place-items:center; background:#e9f4ed; color:#006e5e; flex-shrink:0; }
 .setup-dot.arrival { background:#fff0dd; color:#9b4c11; }
 .setup-search-line { display:flex; align-items:end; gap:.5rem; }
 .setup-search-line>.field { flex:1; min-width:0; margin:0; }
 .setup-search-line>.btn { flex:0 0 48px; padding:.7rem; height:48px; }
 .setup-place-state { display:flex; align-items:flex-start; gap:.45rem; font-size:.8rem; color:#4a685b; padding:.65rem 0; overflow-wrap:anywhere; }
 .setup-place-state>svg { flex-shrink:0; margin-top:.15rem; }
 .setup-place-state small { display:block; color:#688074; }
 .setup-results { display:grid; gap:.4rem; }
 .setup-results:empty { display:none; }
 .setup-results button { border:1px solid #dbe4df; border-radius:12px; display:flex; align-items:center; gap:.6rem; padding:.8rem; background:#f7faf8; text-align:left; min-height:48px; }
 .setup-results button>span { min-width:0; }
 .setup-results small { display:block; color:#597267; margin-top:.2rem; }
 .setup-results strong { font-size:.9rem; }
 .setup-manual>summary,.setup-info>summary { font-size:.83rem; padding:.7rem 0; min-height:44px; color:#0b7566; cursor:pointer; }
 .setup-manual .form-grid { margin-top:.6rem; }
 .setup-info { border-top:1px solid #e1e9e4; margin-top:.8rem; }
 .setup-info p { font-size:.85rem; color:#537267; }
 .setup-pace { display:grid; gap:.55rem; margin-bottom:1rem; }
 .setup-pace label { display:flex; gap:.75rem; align-items:center; border:1px solid #dce5df; border-radius:15px; padding:.8rem; cursor:pointer; }
 .setup-pace label:has(input:checked) { border-color:#087965; background:#edf7f0; box-shadow:inset 0 0 0 1px #087965; }
 .setup-pace input { width:20px; height:20px; flex-shrink:0; accent-color:#067666; }
 .setup-pace strong,.setup-pace small { display:block; }
 .setup-pace small { color:#597166; font-size:.82rem; margin-top:.1rem; }
 .setup-exclusions { display:flex; flex-wrap:wrap; gap:0 .7rem; margin:.7rem 0; }
 .setup-exclusions .check-field { flex:1 1 140px; padding:.5rem; }
 .setup-review { background:#edf5ee; border:1px solid #d5e5d9; border-radius:22px; padding:1.2rem; margin:1rem 0; }
 .setup-review h3 { font-size:1.45rem; line-height:1.25; margin:1rem 0; letter-spacing:-.025em; overflow-wrap:anywhere; }
 .setup-route-strip { display:flex; align-items:center; gap:.5rem; font-size:.85rem; }
 .setup-route-strip>span:not(.setup-route-path) { display:flex; gap:.35rem; align-items:center; min-width:0; max-width:45%; overflow-wrap:anywhere; }
 .setup-route-strip svg { flex-shrink:0; }
 .setup-route-path { height:0; border-top:2px dotted #79a28e; flex:1; min-width:12px; }
 .setup-summary-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; padding-bottom:.7rem; }
 .setup-summary-metrics span { display:grid; font-size:.78rem; color:#436252; }
 .setup-summary-metrics strong { font-size:1.5rem; color:#163f33; }
 .setup-privacy { display:flex; align-items:flex-start; gap:.55rem; font-size:.9rem; color:#4f6e5e; }
 .setup-privacy svg { flex-shrink:0; margin-top:.15rem; }
 @media(max-width:360px){.setup-progress>span{font-size:.7rem;gap:.2rem}.setup-progress b{width:22px;height:22px}.setup-endpoint{padding:.7rem}.setup-route-strip{font-size:.76rem}.journey-setup-sheet footer .btn{padding:.65rem}.setup-summary-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
 @media(forced-colors:active){.setup-pace label:has(input:checked){outline:2px solid Highlight}.setup-progress [aria-current] b{border-color:Highlight}.setup-review{border-color:CanvasText}}
}

/* R9 – a single planning surface: map, stop sequence and unscheduled wishes. */
@layer mobile {
 .planning-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin:1rem 0 1.25rem;flex-wrap:wrap}
 .planning-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px;background:#e9efe9;border:1px solid #dce4dc;border-radius:16px;gap:4px;max-width:100%}
 .planning-mode button{min-width:0;overflow-wrap:anywhere;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.6rem .85rem;border:0;border-radius:12px;background:transparent;color:#4e6358;font-weight:650;line-height:1.25;white-space:normal}
 .planning-mode button[aria-pressed="true"]{background:#fff;color:#174c3c;box-shadow:0 2px 5px #14332710}
 .planning-map-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:1.4rem;align-items:start}
 .planning-map-pane{min-width:0;border:1px solid #dbe3da;border-radius:24px;overflow:hidden;background:#fff}
 .planning-map-caption{display:flex;align-items:center;justify-content:space-between;gap:.55rem;padding:.8rem 1rem;flex-wrap:wrap;color:#4c6658;font-size:.77rem;line-height:1.4}
 .planning-map-caption>span:first-child{display:flex;align-items:center;gap:.4rem;font-weight:650}
 .planning-map-stage{position:relative;height:340px;background:#e6eddf}
 .planning-map-stage>.journey-map{height:100%;width:100%;border-radius:0}
 .planning-map-stage>.btn{position:absolute;z-index:5;left:12px;bottom:12px;background:#fff;box-shadow:0 3px 16px #1b33231f;max-width:calc(100% - 88px);font-size:.8rem;border-radius:14px}
 .planning-stops-strip{display:flex;gap:.5rem;padding:.85rem;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin}
 .planning-stops-strip>button{flex:0 0 auto;max-width:220px;display:flex;align-items:center;gap:.6rem;padding:.6rem .7rem;background:#fff;border:1px solid #dce5dd;border-radius:15px;min-height:56px;text-align:left;scroll-snap-align:start}
 .planning-stops-strip>button[aria-pressed="true"]{background:#edf6ef;border-color:#3c8063;color:#173e32}
 .planning-stops-strip b{display:grid;place-items:center;flex-shrink:0;background:#1d5a42;color:#fff;width:28px;height:28px;border-radius:50%;font-size:.8rem}
 .planning-stops-strip span{min-width:0;font-size:.89rem;white-space:normal;overflow-wrap:anywhere;font-weight:650}
 .planning-stops-strip small{display:block;color:#60766a;margin-top:.2rem;font-size:.73rem;font-weight:400}
 .planning-stop-pane{padding:1.5rem;background:#fff;border:1px solid #e1e6dd;border-radius:24px;min-width:0;overflow-wrap:anywhere}
 .planning-stop-kicker{display:flex;justify-content:space-between;align-items:center;gap:.5rem;color:#6f785c;font-size:.7rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}
 .planning-stop-kicker>span:first-child{display:flex;align-items:center;gap:.4rem}
 .planning-stop-pane h2{margin:.85rem 0 .5rem;line-height:1.2;letter-spacing:-.03em;font-size:clamp(1.3rem,2.2vw,1.8rem)}
 .planning-stop-pane>p{font-size:.92rem;color:#617266;line-height:1.55;margin:.5rem 0 1rem}
 .planning-stop-metrics{display:flex;gap:.7rem;flex-wrap:wrap;padding:.8rem 0 1rem;font-size:.84rem;color:#3c5d4d}
 .planning-stop-metrics>span{display:flex;align-items:center;gap:.4rem}
 .planning-stop-pane .actions{gap:.5rem}.planning-stop-pane .actions>.btn{flex:1;min-width:0;white-space:normal;font-size:.87rem}
 .planning-context-actions{border-top:1px solid #e1e7df;margin-top:1rem;padding-top:1rem;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
 .planning-context-actions>span{font-size:.81rem;color:#5e715f;flex-basis:100%;margin-bottom:.2rem;font-weight:650}
 .planning-context-actions .chip{display:flex;align-items:center;gap:.35rem;min-height:44px;white-space:normal;font-size:.8rem}
 .planning-context-actions .fine{flex-basis:100%;margin:.25rem 0 0}
 .planning-wishes{margin:1.15rem 0 1.5rem;border:1px solid #e6dfcc;border-radius:21px;background:#fffdf5;overflow:hidden}
 .planning-wishes>summary{display:flex;align-items:center;justify-content:space-between;gap:.8rem;cursor:pointer;padding:1rem 1.15rem;min-height:56px;list-style:none}
 .planning-wishes>summary::-webkit-details-marker{display:none}.planning-wishes>summary>span{display:grid;grid-template-columns:20px 1fr;align-items:center;gap:.25rem .6rem;min-width:0}
 .planning-wishes>summary strong{font-size:.95rem}.planning-wishes>summary small{grid-column:2;font-size:.78rem;color:#6a725f;line-height:1.5}.planning-wishes[open]>summary>svg{transform:rotate(180deg)}
 .planning-wishes>.actions,.planning-wishes>p{padding:0 1.1rem}.planning-wishes>.actions{padding-bottom:1rem}
 .wish-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,215px),1fr));gap:.7rem;padding:0 1rem 1rem}
 .wish-grid:empty{display:none}.wish-tile{padding:1rem;background:#fff;border:1px solid #e9e4d6;border-radius:17px;display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;min-width:0;overflow-wrap:anywhere}
 .wish-tile .eyebrow{font-size:.66rem;color:#816b3c}.wish-tile h3{font-size:1rem;line-height:1.35;margin:0}.wish-tile p{font-size:.82rem;color:#647065;margin:0;line-height:1.5}.wish-tile>small{font-size:.69rem;color:#6b796d}.wish-tile>.btn{margin-top:auto;width:100%;font-size:.82rem;white-space:normal}
 .planning-bottom-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.2rem 0}.planning-bottom-actions .btn{white-space:normal}
 .discovery-context{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:1.25rem;border:1px solid #d8e5d9;border-radius:23px;background:linear-gradient(115deg,#eef6ee,#fffdf6);margin:1.15rem 0}
 .discovery-context>div{flex:1;min-width:190px}.discovery-context h2{font-size:1.2rem;margin:.4rem 0 .5rem;overflow-wrap:anywhere}.discovery-context p{font-size:.88rem;line-height:1.5;margin:.3rem 0;color:#4f6657}.discovery-context small{font-size:.74rem;line-height:1.5;color:#627766;display:block}
 .discovery-context>.btn{white-space:normal}.discovery-context>details{flex-basis:100%;border-top:1px solid #dce6d8;padding-top:.3rem}.discovery-context summary{min-height:44px;display:flex;align-items:center;color:#366b4c;font-size:.84rem;cursor:pointer}.discovery-anchors{display:flex;flex-wrap:wrap;gap:.5rem}.discovery-anchors .btn{font-size:.82rem;white-space:normal}
 .place-insertion-sheet{max-width:600px}.insertion-place{padding:1rem;background:#f1f7ee;border-radius:20px;margin-bottom:1rem;overflow-wrap:anywhere}.insertion-place h3{font-size:1.2rem;margin:.3rem 0}.insertion-place p{color:#536957;font-size:.9rem;line-height:1.5}.insert-flow{position:relative;display:grid;gap:.65rem;margin:1rem 0;padding:.3rem 0 .3rem 1.15rem;border-left:2px dashed #c9dacb}.insert-flow>span{font-size:.83rem;color:#607360;position:relative}.insert-flow>span:before{content:"";position:absolute;width:8px;height:8px;left:-22px;top:.5rem;border-radius:50%;background:#81a383}.insert-flow>b{display:grid;grid-template-columns:18px 1fr;align-items:center;gap:.3rem .5rem;font-size:1rem;color:#275d43;overflow-wrap:anywhere}.insert-flow small{grid-column:2;font-weight:400;font-size:.8rem}
 .insert-impact{padding:1rem;border-radius:18px;background:#fff8e6;border:1px solid #ede2bb;margin:.8rem 0}.insert-impact-text{display:grid;gap:.35rem;font-size:.88rem;line-height:1.5;color:#635d42;margin:.6rem 0}.insert-impact-text strong{font-size:1.05rem;color:#4b542f}.insert-impact-text small{font-size:.76rem}.insert-impact .btn{white-space:normal;max-width:100%}
 @media(max-width:850px){.planning-map-layout{grid-template-columns:minmax(0,1fr);gap:.85rem}.planning-map-stage{height:280px}.planning-stop-pane{padding:1.15rem}.planning-stop-pane>.actions{display:flex}.planning-map-caption{font-size:.73rem}.planning-map-layout .planning-stop-kicker{font-size:.68rem}}
 @media(max-width:480px){.planning-toolbar{gap:.2rem}.planning-mode{width:100%}.planning-mode>button{flex:1;font-size:.84rem;padding:.65rem .55rem}.planning-toolbar>.btn{margin-left:auto}.planning-map-stage{height:245px}.planning-stops-strip{padding:.65rem}.planning-map-caption{padding:.6rem .8rem}.planning-wishes>summary{padding:.9rem}.planning-wishes>summary strong{font-size:.87rem}.planning-bottom-actions>.btn{flex:1;min-width:130px}.discovery-context{padding:1rem}.discovery-context>div{min-width:0;flex-basis:100%}.discovery-context>.btn{width:100%;justify-content:space-between}.discovery-anchors{flex-direction:column}.planning-stop-pane h2{font-size:1.45rem}}
 @media(forced-colors:active){.planning-mode,.planning-map-pane,.planning-stop-pane,.planning-wishes,.wish-tile,.discovery-context,.insertion-place,.insert-impact,.setup-review,.setup-endpoint{border:1px solid CanvasText;background:Canvas;color:CanvasText}.planning-mode button[aria-pressed="true"],.planning-stops-strip button[aria-pressed="true"]{outline:2px solid Highlight}.planning-stops-strip b{background:Highlight;color:HighlightText}}
}

@layer mobile {
 /* The map is the working surface, not a card pushed below a full marketing header. */
 .insert-place-header{display:flex;align-items:flex-start;gap:.75rem;min-width:0}
 .insert-place-header>div{min-width:0;overflow-wrap:anywhere}
 .insert-place-header h3{font-size:1.12rem;margin:0 0 .4rem}
 .insert-place-header p{margin:0 0 .4rem;color:var(--muted);font-size:.86rem}
 .insert-place-header small{font-size:.75rem;color:var(--muted)}
 @media(max-width:900px){
  .planning-workspace>.page-heading{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .9rem}
  .planning-workspace>.page-heading>div:first-child{flex:1;min-width:160px}
  .planning-workspace>.page-heading .eyebrow,.planning-workspace>.page-heading .subtitle{display:none}
  .planning-workspace>.page-heading h1{font-size:1.35rem;margin:0;line-height:1.2}
  .planning-workspace>.page-heading>.actions{margin:0;flex:none;max-width:100%}
  .planning-workspace>.page-heading .btn{font-size:.8rem;padding:.6rem .75rem;min-height:44px}
  .planning-workspace>.day-picker{margin:0 0 .35rem;padding-bottom:8px}
  .planning-workspace>.day-picker .day-tab{min-height:68px;padding:8px 14px;min-width:86px}
  .planning-workspace>.planning-toolbar{margin:.25rem 0 .85rem;gap:.35rem}
  .planning-workspace .planning-mode{flex:1;min-width:200px}
  .planning-workspace .planning-mode button{font-size:.8rem;padding:.5rem}
  .planning-workspace>.planning-toolbar>.btn{font-size:.78rem;padding:.5rem;min-width:44px}
  .planning-workspace .planning-map-stage{height:clamp(180px,27dvh,270px)}
  .planning-workspace .planning-stops-strip{padding:.7rem;gap:.5rem}
  .planning-workspace .planning-stops-strip button{padding:.6rem;min-width:150px}
  .planning-workspace .planning-stop-pane{padding:1.15rem}
 }
}

@layer polish {
/* R10 · Escapade. Semantic colors, actual touch targets, no external fonts/assets.
   Motion is a enhancement: focus, domain state and saving never wait for an animation. */
:root {
 --canvas:#f5f5f1;--paper:#ffffff;--ink:#18333c;--muted:#53666b;
 --forest:#006b61;--accent:var(--forest);--soft:#eaf3ee;--line:#dce5e1;
 --on-accent:#fff;--subtle:#f3f6f4;--hero-ink:#fff;--glaze:#ffffffed;
 --warning-bg:#fff5e2;--warning-ink:#77501b;--warning-line:#dfc99f;
 --error-bg:#fff0ed;--error-ink:#a23228;--error-line:#ecc9c1;
 --success-bg:#e5f3ea;--success-ink:#245a42;--input-bg:var(--paper);
 --radius:24px;--shadow:0 8px 30px #163e3008;--ring:#317bca;
 --ease-out:cubic-bezier(.2,.75,.25,1);--duration-fast:130ms;--duration-enter:180ms;
 font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 background:var(--canvas);color:var(--ink);font-size:16px;
}
:root[data-palette=terracotta]{--forest:#934734;--soft:#f9eee6;--line:#e7dcd4;--subtle:#faf3ed;--canvas:#f8f4ee;--accent:var(--forest)}
:root[data-palette=alpine]{--forest:#3c6649;--soft:#edf3e9;--line:#dce4d7;--subtle:#f0f4ec;--canvas:#f4f5ee;--accent:var(--forest)}
:root[data-theme=dark]{
 --canvas:#101e24;--paper:#192b33;--ink:#eff5f3;--muted:#b1c6c9;--forest:#80ddc9;
 --soft:#213b40;--line:#39525a;--subtle:#20343c;--on-accent:#102b2d;--glaze:#14272ff5;
 --warning-bg:#423727;--warning-ink:#ffe0a2;--warning-line:#6e5b3b;
 --error-bg:#482e31;--error-ink:#ffc7ba;--error-line:#76504e;
 --success-bg:#233d32;--success-ink:#b9e7c8;--input-bg:#15272f;
 --shadow:0 10px 30px #00000024;--ring:#9cbdfa;
}
:root[data-theme=dark][data-palette=terracotta]{--forest:#ffc1a2;--soft:#3f3230;--subtle:#322c2b;--line:#65514b;--on-accent:#3d251c}
:root[data-theme=dark][data-palette=alpine]{--forest:#b5dba4;--soft:#283b32;--subtle:#23352d;--line:#43594a;--on-accent:#172e1c}
body{background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{color:var(--ink);text-wrap:pretty}p{overflow-wrap:anywhere}
.overline,.eyebrow{letter-spacing:.1em;line-height:1.55;font-size:.65rem;font-weight:750}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--ring);outline-offset:3px}
:where(button,.btn,.round-btn,summary){-webkit-tap-highlight-color:transparent}
:where(button,.btn,.round-btn,.tool-row,.day-tab){transition:background-color var(--duration-fast),border-color var(--duration-fast),box-shadow var(--duration-fast),transform 110ms var(--ease-out)}
:where(button,.btn,.round-btn){font-family:inherit}
.btn{border-radius:14px;min-height:46px;font-size:.84rem;font-weight:680;letter-spacing:-.012em;line-height:1.35;padding:12px 16px}
.btn.primary{background:var(--forest);border:1px solid transparent;color:var(--on-accent);box-shadow:0 4px 12px #193b3220}
.btn.primary:hover:not(:disabled){background:var(--forest);filter:brightness(.94);color:var(--on-accent)}
.btn.secondary,.round-btn{background:var(--paper);color:var(--ink);border-color:var(--line)}
.btn.quiet{background:var(--subtle);color:var(--ink)}.btn.text{color:var(--forest)}
.btn.danger{background:var(--error-ink);color:var(--paper)}
.btn:disabled,button:disabled{opacity:.5;box-shadow:none;cursor:not-allowed}
.btn.icon-only{border-radius:50%;color:var(--ink);background:transparent;min-width:44px;min-height:44px}
.card,.stop-card,.metric,.day-programme,.crew-summary,.personal-shortcuts,.day-companion,.planner-copilot,.day-overview,.quick-add-item,.tool-rows{background:var(--paper);border-color:var(--line);color:var(--ink)}
.card{box-shadow:var(--shadow);border-radius:var(--radius)}
.card.soft,.soft,.tool-icon{background:var(--soft);color:var(--forest)}
.card p,.muted,.fine{color:var(--muted)}
:where(.notice,.notice.info){background:var(--soft);color:var(--ink);border-color:var(--line)}
:where(.notice.warm,.tag.warm){background:var(--warning-bg);color:var(--warning-ink);border-color:var(--warning-line)}
:where(.notice.danger,.tag.danger){background:var(--error-bg);color:var(--error-ink);border-color:var(--error-line)}
:where(.notice.success,.tag.success){background:var(--success-bg);color:var(--success-ink)}
.tag{background:var(--soft);color:var(--ink);border-radius:8px}
.chip{background:var(--paper);color:var(--ink);border-color:var(--line)}
.chip.active,.day-tab.active{background:var(--forest);border-color:var(--forest);color:var(--on-accent)}
.day-tab.active strong,.day-tab.active small{color:var(--on-accent)}
input:not([type=checkbox]):not([type=radio]),textarea,select{background:var(--input-bg);border-color:var(--line);color:var(--ink);border-radius:12px;min-height:46px}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:.86}
input[type=checkbox],input[type=radio]{accent-color:var(--forest)}
.field{color:var(--muted);font-size:.8rem}.field>span{font-weight:660;line-height:1.5}
.check-field{color:var(--ink)}.check-field small{color:var(--muted)}
/* A stable shell with fewer visual boundaries. No reordering of the five tabs. */
.sidebar{background:var(--paper);border-right:1px solid var(--line)}
.brand{color:var(--ink)}.brand>span{background:var(--forest);color:var(--on-accent);border-radius:14px}
.brand small{color:var(--muted)}.nav-link{color:var(--muted);border-radius:14px}.nav-link.active{background:var(--soft);color:var(--forest)}
.nav-link:hover{background:var(--subtle);color:var(--ink)}
.workspace-picker,.shell-search{background:var(--subtle);border-color:var(--line);color:var(--ink);border-radius:14px}
.workspace-picker small,.shell-search kbd{color:var(--muted)}
.topbar{background:var(--glaze);border-bottom:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.topbar .round-btn{background:transparent;border-color:transparent}
.breadcrumb{color:var(--muted)}.breadcrumb strong{color:var(--ink)}
.bottom-nav{background:var(--glaze);border-top:1px solid var(--line);box-shadow:0 -8px 25px #173c3107;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.bottom-nav>a{color:var(--muted)}.bottom-nav>a.active{color:var(--forest);background:var(--soft)}
.bottom-nav>a.active svg{stroke-width:2.15}
.page-footer{color:var(--muted);border-color:var(--line)}
.content{max-width:1250px}.page-heading h1{font-weight:770;letter-spacing:-.045em}.page-heading .subtitle{color:var(--muted)}
/* Editorial cover: explicitly illustrative; no simulated route or location. */
.trip-hero{height:auto;min-height:245px;border-radius:28px;box-shadow:0 12px 28px #0e35241a;margin-bottom:12px}
.trip-hero-shade{background:linear-gradient(0deg,#11262beb 0%,#15323988 48%,#1a343648 100%)}
.trip-hero-copy{padding:84px 28px 32px;max-width:90%;position:relative}
.trip-hero h1{color:var(--hero-ink);font-size:clamp(1.65rem,3.6vw,2.75rem);font-weight:750;letter-spacing:-.035em;line-height:1.13;text-shadow:0 2px 12px #092b2440}
.trip-hero-copy p,.trip-hero-copy .overline{color:#f0f5f2}
.trip-hero-top{position:absolute;inset:16px 18px auto;z-index:1}.trip-hero-top .btn{color:#fff;background:#16333366;border:1px solid #ffffff40}
.trip-hero-top .hero-date{background:#15323980;color:#fff;border:1px solid #ffffff3b;font-size:.71rem;padding:8px 11px;border-radius:30px}
.trip-hero .photo-caption{font-size:.57rem;padding:3px 9px;color:#eef4f2;background:#132b3280;right:12px;bottom:7px}
.trip-hero.travel-cover{min-height:162px}.travel-cover .trip-hero-copy{padding-top:72px;padding-bottom:28px}.travel-cover h1{font-size:1.7rem}.travel-cover .trip-hero-copy>p{display:none}
.dashboard-heading{margin-bottom:14px}.dashboard-heading p{font-size:.86rem}.sample-caption{margin-block:8px 12px;font-size:.68rem;color:var(--muted)}
.journey-mode{background:var(--subtle);border:1px solid var(--line);border-radius:16px;padding:4px;gap:4px;margin-bottom:20px}
.journey-mode button{color:var(--muted);border-radius:12px;min-height:44px;padding:10px 16px;font-size:.83rem}
.journey-mode button[aria-pressed=true]{background:var(--paper);color:var(--forest);box-shadow:0 2px 7px #163e3114}
.journey-mode>span{color:var(--muted);font-size:.72rem}
.dashboard-main{margin-block:24px;gap:18px}.next-action{background:var(--soft);border-color:var(--line);border-radius:24px}
.next-action h2{font-size:1.17rem}.next-action p{font-size:.8rem}.next-icon{background:var(--paper);color:var(--forest);border-radius:16px}
.journey-numbers{background:var(--paper);border-color:var(--line);border-radius:22px}.journey-numbers a{border-color:var(--line);color:var(--ink)}.journey-numbers p,.journey-numbers a>span{color:var(--muted)}
.copilot-entry{background:var(--ink);color:var(--canvas);border-radius:24px;border:0;overflow:hidden}
.copilot-entry h2,.copilot-entry p,.copilot-entry .overline{color:inherit}.copilot-entry p{opacity:.9}
.copilot-symbol{background:var(--paper);color:var(--forest);box-shadow:none}
.copilot-entry .btn{background:var(--paper);color:var(--ink);box-shadow:none}
.dashboard-bottom{gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-bottom>section{min-width:0;overflow-wrap:anywhere}.crew-summary{border-radius:24px}.crew-summary-line small{color:var(--muted)}
/* The day desk is the primary information hierarchy, not another settings screen. */
.journey-day-card{background:var(--paper);border:1px solid var(--line);border-radius:26px;padding:22px;box-shadow:var(--shadow);overflow:hidden}
.day-desk-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.day-desk-heading h2{text-transform:capitalize;font-size:1.35rem;margin:4px 0 0;line-height:1.3}
.day-desk-heading .overline{color:var(--forest)}.day-desk-pager{display:flex;align-items:center;gap:8px;flex-shrink:0}.day-desk-pager>span{font-size:.74rem;font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.day-desk-pager .round-btn{border-radius:50%;width:44px;height:44px;min-width:44px}
.day-desk-progress{display:flex;align-items:center;gap:12px;margin:18px 0 22px}.day-desk-progress small{font-size:.72rem;line-height:1.45;color:var(--muted)}
.visit-track{flex:1;max-width:145px;height:4px;border-radius:4px;background:var(--line);overflow:hidden}.visit-track>span{display:block;height:100%;background:var(--forest);border-radius:inherit}
.day-next-stop{display:flex;gap:15px;align-items:flex-start;padding:0 0 20px}.day-next-stop>div:last-child{min-width:0;flex:1}.day-next-stop .overline{font-size:.62rem;color:var(--forest)}
.day-next-mark{height:54px;width:54px;min-width:54px;display:grid;place-items:center;border-radius:18px;background:var(--soft);color:var(--forest)}
.day-next-stop h3{font-size:1.38rem;letter-spacing:-.04em;line-height:1.25;margin:6px 0 7px}.day-next-stop p{font-size:.82rem;color:var(--muted);margin:0 0 10px;line-height:1.55}
.day-next-facts{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.74rem}.day-next-facts>span{display:inline-flex;align-items:center;gap:6px}
.day-desk-actions{display:flex;gap:8px;flex-wrap:wrap}.day-desk-actions>.btn{flex:1;white-space:normal}
.day-up-next{margin-top:18px;border-top:1px solid var(--line)}.day-up-next>summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;color:var(--muted);font-size:.8rem;cursor:pointer;list-style:none;gap:8px}
.day-up-next-row{display:flex;align-items:center;text-align:left;width:100%;min-height:66px;gap:12px;background:transparent;border-top:1px solid var(--line);padding:12px 0;color:var(--ink)}
.day-up-next-row>span:nth-child(2){flex:1;min-width:0}.day-up-next-row strong{font-size:.88rem;display:block}.day-up-next-row small{font-size:.73rem;color:var(--muted);display:block}.day-up-next-icon{background:var(--subtle);padding:10px;border-radius:12px;color:var(--forest)}
.day-ideas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}.day-ideas:empty{display:none}
.day-ideas button{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;background:var(--subtle);border:1px solid var(--line);border-radius:13px;min-height:48px;padding:9px 6px;color:var(--forest);font-size:.75rem;font-weight:640}
.day-route-note{display:flex;gap:7px;font-size:.69rem;color:var(--muted);line-height:1.55;margin:16px 0 0}.day-route-note>svg{flex:none;margin-top:2px}
.day-quiet{padding:12px 0}.day-quiet h3{font-size:1.35rem;margin:14px 0 8px}.day-quiet p{color:var(--muted);font-size:.87rem}
.personal-shortcuts{padding:22px;border-radius:24px;border:1px solid var(--line)}.personal-shortcut-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.personal-shortcut-grid>a{display:flex;flex-wrap:wrap;gap:9px;align-items:center;min-height:92px;padding:15px;background:var(--subtle);border:1px solid var(--line);border-radius:17px;color:var(--ink)}
.personal-shortcut-grid>a>strong{font-size:.8rem;flex:1;min-width:60px;line-height:1.4}.personal-shortcut-grid>a>svg{color:var(--muted)}.personal-shortcut-icon{display:grid;place-items:center;color:var(--forest);height:34px;width:34px}.personal-shortcuts>.btn{margin-top:10px}
/* Stage sheets: read, then act; rights and revision are checked in the controller. */
.stage-summary{background:var(--soft);padding:20px;border-radius:20px}.stage-kind{display:flex;gap:10px;color:var(--forest);align-items:center;font-size:.8rem;font-weight:700}
.stage-address{color:var(--ink);font-size:1rem;line-height:1.5;margin:15px 0}.stage-metadata{display:flex;gap:15px;flex-wrap:wrap;color:var(--muted);font-size:.78rem}.stage-metadata>span{display:flex;gap:7px;align-items:center}
.stage-visit-state{display:flex;gap:7px;align-items:center;font-size:.75rem;color:var(--muted);margin:14px 0 0}
.stage-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}.stage-actions>.btn{min-height:56px;text-align:left;justify-content:flex-start;white-space:normal;font-size:.83rem}
.stage-context{border-top:1px solid var(--line);margin-top:18px}.stage-context summary{padding:12px 0;min-height:48px;display:flex;align-items:center;justify-content:space-between;font-size:.83rem}.stage-context p{font-size:.87rem;white-space:pre-wrap;color:var(--muted)}
/* Sheets, search and tool catalog share the same materials and tactile language. */
dialog.sheet{background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 24px 80px #051b3640}
dialog.sheet::backdrop{background:#0d26377a;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.sheet-form>header,.sheet-form>footer{background:var(--paper);border-color:var(--line)}
.sheet-form>header h2{letter-spacing:-.03em;line-height:1.3;font-size:1.25rem}.sheet-form>header .round-btn{border-radius:50%}
.sheet-form>footer{box-shadow:0 -6px 18px #142e2506}.form-body>p{color:var(--muted)}
.discard-confirm{background:var(--warning-bg);color:var(--warning-ink);border-color:var(--warning-line)}.discard-confirm h3,.discard-confirm p{color:inherit}
.form-error{background:var(--error-bg);color:var(--error-ink);border-color:var(--error-line)}
.form-details,.details,.selected-location,.setup-review,.insert-preview,.draft-status,.local-drafts-card,.departure-ribbon,.departure-row,.readiness-grid{background:var(--subtle);border-color:var(--line);color:var(--ink)}
.selected-location p,.selected-location small,.setup-review p{color:var(--muted)}.location-manual,details.form-details{border-color:var(--line)}
.selected-location strong,.setup-review h3,.setup-review h2{color:var(--ink)}
.duration-presets button{background:var(--paper);color:var(--muted);border-color:var(--line)}.duration-presets button[aria-pressed=true]{background:var(--soft);color:var(--forest);border-color:var(--forest)}
.insert-impact{background:var(--warning-bg);color:var(--warning-ink);border-color:var(--warning-line)}
.quick-add-grid{gap:12px}.quick-add-item{padding:20px;border-radius:20px;min-height:144px;border:1px solid var(--line);text-align:left}.quick-add-item .tool-icon{height:44px;width:44px;border-radius:14px}.quick-add-item strong{font-size:.96rem;color:var(--ink)}.quick-add-item small{color:var(--muted);font-size:.78rem;line-height:1.5}
.command-search,.tools-search{background:var(--paper);border:1px solid var(--line);border-radius:17px;color:var(--muted)}.command-search input,.tools-search input{background:transparent;border:0;color:var(--ink)}
.command-result{background:var(--paper);color:var(--ink);border-color:var(--line);border-radius:14px}.command-result small,.command-hint,.keyboard-hint{color:var(--muted)}
.command-result:focus-visible,.command-result:hover{background:var(--soft);color:var(--ink)}
.tool-row{color:var(--ink);border-color:var(--line)}.tool-row small,.tools-results-count{color:var(--muted)}.tool-row:hover{background:var(--subtle)}.tool-rows{border:1px solid var(--line);border-radius:22px;overflow:hidden}
.tool-row .tool-icon{border-radius:14px;background:var(--soft);color:var(--forest)}
.search-empty,.empty{background:var(--paper);border-color:var(--line);color:var(--ink)}.empty p,.search-empty p{color:var(--muted)}
.planner-mode{background:var(--subtle);border-color:var(--line)}.planner-mode button{color:var(--muted)}.planner-mode button[aria-pressed=true]{background:var(--paper);color:var(--forest)}
.day-tab{background:var(--paper);border-color:var(--line);color:var(--muted)}.day-tab strong{color:var(--ink)}
.stop-card{border-radius:22px;box-shadow:var(--shadow)}.stop-card h3{font-size:1.18rem;margin-block:10px}.stop-card .stop-kind,.stop-facts,.stop-address,.stop-options summary{color:var(--muted)}
.stop-primary-actions{border-color:var(--line)}.stop-options{border-color:var(--line)}.stop-note{color:var(--muted)!important}.day-end{color:var(--muted)}
.timeline-rail>span{border-color:var(--canvas);color:var(--forest);background:var(--soft)}.timeline-stop.visited .timeline-rail>span{background:var(--forest);color:var(--on-accent)}
.planning-stop-pane,.planning-map-card,.planning-wishes,.wish-tile,.planning-stop-chip{background:var(--paper);border-color:var(--line);color:var(--ink)}
.planning-stop-chip.active{background:var(--soft);border-color:var(--forest)}.planning-map-caption{background:var(--paper);color:var(--muted)}
.planning-stop-pane h2,.planning-stops-strip strong{color:var(--ink)}.planning-stop-pane p,.planning-stop-chip small{color:var(--muted)}
.planner-tools{background:var(--subtle);border-color:var(--line);color:var(--ink)}.crew-segments{background:var(--subtle);border-color:var(--line)}.crew-segments button{color:var(--muted)}.crew-segments button[aria-pressed=true]{background:var(--paper);color:var(--forest)}
.connection-banner{background:var(--soft);border-color:var(--line);color:var(--ink)}.connection-banner.warning{background:var(--warning-bg);color:var(--warning-ink);border-color:var(--warning-line)}
/* Personal settings preview uses semantic controls; the palette never carries sole meaning. */
.appearance-entry{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:24px;border-radius:24px;border:1px solid var(--line);background:var(--soft);margin:24px 0}
.appearance-entry>div{flex:1;min-width:170px}.appearance-entry h2{font-size:1.3rem;margin:5px 0 7px}.appearance-entry p{font-size:.84rem;color:var(--muted);margin:0}.appearance-emblem{display:grid;place-items:center;border-radius:17px;width:55px;height:55px;background:var(--paper);color:var(--forest)}
.appearance-intro{font-size:.88rem;line-height:1.65;color:var(--muted)}.appearance-group{padding:0;border:0;margin:22px 0}.appearance-group legend{font-weight:730;font-size:.91rem;color:var(--ink);margin:0 0 12px}
.appearance-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.appearance-options.two{grid-template-columns:1fr 1fr}
.appearance-choice{display:flex;align-items:flex-start;flex-direction:column;gap:10px;background:var(--subtle);border:1px solid var(--line);border-radius:17px;padding:13px;cursor:pointer;min-width:0}
.appearance-choice:has(input:checked){background:var(--soft);border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest)}
.appearance-choice input{margin:0;min-height:20px;min-width:20px;width:20px;height:20px;flex:none}.appearance-choice strong{font-size:.84rem;display:block;color:var(--ink)}.appearance-choice small{font-size:.69rem;display:block;color:var(--muted);margin-top:4px;line-height:1.55}
.appearance-choice.palette-lagoon{border-top:4px solid #007468}.appearance-choice.palette-terracotta{border-top:4px solid #b66248}.appearance-choice.palette-alpine{border-top:4px solid #557b4d}
.shortcut-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.shortcut-picker>label{display:flex;align-items:center;gap:10px;min-height:56px;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--subtle);cursor:pointer}.shortcut-picker input{width:20px;height:20px;flex:none;margin:0}.shortcut-picker span{display:flex;align-items:center;gap:8px;font-size:.8rem;line-height:1.4;min-width:0;color:var(--ink)}.shortcut-picker svg{flex:none;color:var(--forest)}.shortcut-picker label:has(input:checked){border-color:var(--forest);background:var(--soft)}

@media(hover:hover) and (pointer:fine){
 .personal-shortcut-grid>a:hover,.quick-add-item:hover{border-color:var(--forest);box-shadow:var(--shadow);transform:translateY(-2px)}
 .btn.primary:hover{box-shadow:0 6px 16px #17382c24}
}
@media(pointer:coarse){button:active:not(:disabled),a.btn:active{filter:none}.btn:active:not(:disabled),.quick-add-item:active{transform:scale(.985)}.btn.icon-only:active{transform:none}}
@media(min-width:901px){
 .journey-day-card{padding:26px 28px}.day-desk-actions{max-width:540px}.day-ideas{max-width:640px}
 .trip-hero-copy{max-width:75%}.trip-hero.travel-cover{min-height:170px}
 .personal-shortcuts{align-self:start}
}
@media(max-width:900px){
 :root{--top-height:62px}
 .content:not(.view-map){padding:18px max(18px,var(--safe-right)) 46px max(18px,var(--safe-left))}
 .content:is(.view-home,.view-planner,.view-discover,.view-more){padding-bottom:110px}
 .dashboard-heading{display:none}.trip-hero{border-radius:25px;min-height:198px}.trip-hero-copy{padding:75px 20px 28px;max-width:95%}.trip-hero h1{font-size:1.68rem;line-height:1.16}.trip-hero-copy p{font-size:.78rem;margin:8px 0 0}
 .trip-hero-top{inset:13px 14px auto}.trip-hero-top .hero-date{font-size:.64rem;padding:7px 9px}.trip-hero-copy .overline{font-size:.59rem}
 .journey-mode{margin-top:12px;margin-bottom:18px}.journey-mode>span{display:none}.journey-mode button{flex:1}
 .journey-day-card{padding:18px;border-radius:24px;margin-bottom:20px!important}
 .day-desk-heading{flex-wrap:wrap;gap:10px}.day-desk-heading h2{font-size:1.17rem}.day-desk-heading>div:first-child{flex:1;min-width:135px}.day-desk-pager{gap:5px}
 .day-desk-progress{margin:14px 0 19px}.visit-track{max-width:95px;min-width:35px}.day-desk-progress small{font-size:.66rem}
 .day-next-stop{gap:11px}.day-next-mark{height:44px;width:44px;min-width:44px;border-radius:14px}.day-next-stop h3{font-size:1.16rem}.day-next-stop p{font-size:.75rem;line-height:1.5}.day-next-facts{font-size:.69rem;gap:7px}
 .day-desk-actions .btn{font-size:.79rem;padding:11px 10px}.day-ideas{gap:6px}.day-ideas button{font-size:.69rem;flex-direction:column;gap:6px;min-height:65px;padding:9px 5px}
 .personal-shortcut-grid>a{min-height:92px;padding:13px;gap:7px}.personal-shortcut-grid>a>strong{font-size:.77rem}.personal-shortcut-grid>a>svg{display:none}
 .personal-shortcuts{padding:18px}.personal-shortcuts .overline{font-size:.58rem}.personal-shortcuts .section-heading h2{font-size:1.18rem}

 .toasts{bottom:calc(var(--mobile-tabs-height,70px) + 78px)}
 .top-actions .round-btn{width:44px;height:44px}.mobile-context>strong{font-size:1.05rem}.topbar{padding-inline:max(18px,var(--safe-left))}
 .bottom-nav{padding-top:7px;gap:4px}.bottom-nav>a{min-height:54px;border-radius:17px}.bottom-nav>a span{font-size:.65rem;font-weight:600}
 .page-heading{gap:12px}.page-heading h1{font-size:1.42rem}.page-heading>.actions .btn{font-size:.75rem;padding:11px 12px}.day-picker{gap:8px}
 dialog.sheet{border-radius:28px 28px 0 0}.sheet-form>header{padding:18px 18px 17px;gap:12px}.sheet-form>header:before{background:var(--line);width:34px}
 .sheet-form>footer{padding-inline:18px}.form-body{padding:20px 18px}
 .stage-summary{padding:16px}.stage-actions{gap:8px}.stage-actions .btn{font-size:.78rem;padding:12px}.stage-actions .btn svg{flex:none}
 .appearance-entry{gap:14px;padding:20px}.appearance-entry .btn{width:100%}.appearance-entry>div{min-width:130px}.appearance-entry h2{font-size:1.12rem}
 .appearance-options{gap:6px}.appearance-choice{padding:11px 9px}.appearance-choice strong{font-size:.77rem}.appearance-choice small{font-size:.67rem}.shortcut-picker>label{gap:7px;padding:10px 8px}.shortcut-picker span{font-size:.73rem;gap:6px}
}
@media(max-width:360px){
 .day-desk-heading>div:first-child{min-width:110px}.day-desk-pager{margin-left:auto}.day-desk-heading h2{font-size:1.05rem}.day-desk-pager>span{font-size:.66rem}
 .day-desk-actions{flex-direction:column}.day-next-stop h3{font-size:1.12rem}.trip-hero h1{font-size:1.5rem}.hero-date{max-width:78%}
 .stage-actions{grid-template-columns:1fr}.appearance-options{grid-template-columns:1fr}.appearance-choice{flex-direction:row;align-items:center}.appearance-options.two{grid-template-columns:1fr}.shortcut-picker{grid-template-columns:1fr}
 .page-heading{flex-wrap:wrap}.page-heading>.actions{max-width:100%}
}
@media(max-height:430px) and (max-width:900px){.trip-hero{min-height:150px}.trip-hero-copy{padding-top:65px}.day-desk-heading{flex-wrap:nowrap}}
/* Map overlays are application chrome; provider tiles and route geometry are never recolored. */
.map-marker.place{background:#8f5031;color:#fff!important}
.map-avatar>span{background:#944524;color:#fff;border-color:var(--paper)}
.map-controls button{background:var(--paper);color:var(--forest);border-color:var(--line)}
.map-tile-status{background:var(--warning-bg);color:var(--warning-ink);border:1px solid var(--warning-line)}
.map-search-input{color:var(--muted)}.map-sheet-tabs button.active{background:var(--soft);color:var(--forest)}
.map-stop-target{background:transparent;border:0;color:var(--ink)}.map-stop-row>span:first-child{background:var(--soft);color:var(--forest)}
.score-ring{background:var(--paper);color:var(--forest);border-color:var(--line)}

/* Known legacy feature surfaces use the semantic palette, without recoloring provider maps. */
:root[data-theme=dark] :where(.planner-layout aside section,.planning-stop-pane,.planning-wishes,.planning-map-caption,.setup-note,.setup-endpoint,.setup-stepper,.location-suggestions button,.import-review,.insertion-estimate,.stop-draft-banner,.draft-recovery,.local-draft-row,.departure-detail,.offline-audit,.mini-metrics .metric,.map-panel,.map-drawer,.map-search,.map-action-bar,.map-result,.crew-card,.fleet-card,.member-card,.vehicle-card,.rally-card,.station-card,.delivery-row,.route-card,.day-companion,.planner-tools,.planning-option,.proposal-card,.contract-rule,.mission-node,.chat-composer,.chat-user,.reservation-card,.document-card,.expense-row,.budget-chart,.ledger-row,.journal-entry,.journal-card,.activity-row,.inbox-item,.community-card){background-color:var(--paper);color:var(--ink);border-color:var(--line)}
:root[data-theme=dark] :where(.setup-review,.location-selected,.step-fields,.service-status dd,.detail-card,.privacy-note,.map-empty,.empty-icon,.vehicle-symbol,.avatar,.crew-avatar,.tool-count,.signal-badge,.assumption){background-color:var(--soft);color:var(--ink);border-color:var(--line)}
:root[data-theme=dark] :where(.chat-user p,.document-card p,.reservation-card p,.journal-entry p,.ledger-row small,.fleet-card p,.delivery-row p,.map-result small,.setup-stepper button,.setup-note p,.readonly-note,.service-status dt,.local-draft-row small,.map-panel p,.map-search input,.inbox-item small){color:var(--muted)}
:root[data-theme=dark] .topbar,:root[data-theme=dark] .bottom-nav{box-shadow:none}
:root[data-theme=dark] .map-marker:not(.self){color:var(--on-accent)}
:root[data-theme=dark] .form-details summary{color:var(--ink)}
:root[data-theme=dark] .toasts>div{background:var(--paper);color:var(--ink);border:1px solid var(--line)}
/* Do not override the user's contrast or vestibular preferences. */
:root[data-motion=reduce] *, :root[data-motion=reduce] *::before,:root[data-motion=reduce] *::after{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0s!important;transition-duration:0s!important;scroll-behavior:auto!important}.btn:active,.quick-add-item:hover,.personal-shortcut-grid>a:hover{transform:none!important}}
@media(prefers-reduced-transparency:reduce){.topbar,.bottom-nav{background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none}dialog.sheet::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(forced-colors:active){
 .topbar,.bottom-nav,.card,.day-next-mark,.trip-hero,.appearance-choice,.shortcut-picker>label,.journey-day-card{background:Canvas;color:CanvasText;border:1px solid ButtonText;box-shadow:none;backdrop-filter:none}
 .trip-hero>img,.trip-hero-shade{display:none}.trip-hero h1,.trip-hero-copy p,.trip-hero-copy .overline,.trip-hero-top .hero-date{color:CanvasText;background:Canvas;text-shadow:none}.btn.primary{background:ButtonFace;color:ButtonText;border:1px solid ButtonText}.visit-track>span{background:Highlight}.appearance-choice:has(input:checked),.day-tab.active{outline:2px solid Highlight}
}
/* No floating add overlay: the persistent action belongs in the header and never covers a form or the map. */
.top-quick-add{display:none}.crew-summary-line{flex-wrap:wrap}.crew-summary-line>div{min-width:0}
.personal-shortcut-grid>a{min-width:0;overflow-wrap:anywhere}.personal-shortcut-grid>a>strong{min-width:0;overflow-wrap:anywhere}
.personal-shortcuts .section-heading{flex-wrap:wrap}.personal-shortcuts .section-heading>div{min-width:0;flex:1}
@media(max-width:900px){.dashboard-bottom{grid-template-columns:minmax(0,1fr)}.top-quick-add{display:grid!important;background:var(--forest)!important;color:var(--on-accent)!important}.top-actions{gap:3px}.top-actions .notification-entry{display:none}.bottom-nav>a{padding-inline:2px}.bottom-nav>a>span{overflow-wrap:normal;word-break:normal}.crew-summary-line>div:last-child{flex:1 1 120px}}
@media(max-width:360px){.top-actions{gap:0}.top-actions>.avatar{display:none}.personal-shortcut-grid{grid-template-columns:minmax(0,1fr)}}
:root[data-motion=reduce] .btn:active,:root[data-motion=reduce] .quick-add-item:active,:root[data-motion=reduce] .tool-row:active{transform:none!important}

/* Measured text contrast on real screens, including previously hard-coded legacy colors. */
.skip-link{color:var(--on-accent)}.metric small,.departure-ribbon p,.planning-wishes>summary small,.planner-copilot p{color:var(--muted)}
.next-action .overline{color:var(--forest)}.fleet-driver,.crew-start-card{background:var(--subtle);border-color:var(--line)}
.tone-forest{--vehicle:#386047;--vehicle-soft:#e9f0e4}.tone-coral{--vehicle:#914635;--vehicle-soft:#fae9dc}.tone-blue{--vehicle:#385b79;--vehicle-soft:#e4eff5}.tone-violet{--vehicle:#6b548f;--vehicle-soft:#efe9f7}.tone-amber{--vehicle:#80601f;--vehicle-soft:#f6edce}
:root[data-theme=dark] .tone-forest{--vehicle:#b3ddb9;--vehicle-soft:#283e34}:root[data-theme=dark] .tone-coral{--vehicle:#ffc1a4;--vehicle-soft:#48342d}:root[data-theme=dark] .tone-blue{--vehicle:#b4d6f3;--vehicle-soft:#2c3d51}:root[data-theme=dark] .tone-violet{--vehicle:#dac6ff;--vehicle-soft:#39304e}:root[data-theme=dark] .tone-amber{--vehicle:#f4d798;--vehicle-soft:#443b2a}

.route-status-line{display:flex;align-items:center;gap:14px;background:var(--soft);padding:16px 18px;border:1px solid var(--line);border-radius:20px;margin-block:16px}
.route-status-line>div{flex:1;min-width:0}.route-status-line strong{font-size:.9rem}.route-status-line p{font-size:.75rem;color:var(--muted);margin:4px 0 0}.route-status-line .next-icon{width:42px;height:42px;min-width:42px}
.journey-stats{padding:0;border:0;background:transparent;margin-block:12px 20px}.journey-stats>summary{display:flex;align-items:center;gap:10px;min-height:48px;list-style:none;color:var(--muted);font-size:.85rem;padding:10px 2px}.journey-stats>summary>svg:last-child{margin-left:auto}.journey-stats .journey-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}.journey-stats .journey-numbers a{min-width:0}
@media(max-width:600px){.route-status-line{flex-wrap:wrap;gap:12px}.route-status-line>.btn{flex-basis:100%;justify-content:space-between}.journey-stats .journey-numbers{grid-template-columns:minmax(0,1fr)}.journey-stats .journey-numbers a{border-bottom:1px solid var(--line)}}

.appearance-group{min-width:0;max-width:100%}.appearance-group legend{max-width:100%;overflow-wrap:anywhere}
.appearance-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,5.8rem),1fr))}.appearance-options.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}
.appearance-choice>span{min-width:0;max-width:100%;overflow-wrap:anywhere}.appearance-choice strong,.appearance-choice small{overflow-wrap:anywhere}
.shortcut-picker{grid-template-columns:repeat(auto-fit,minmax(min(100%,8.7rem),1fr))}.shortcut-picker>label{min-width:0;overflow-wrap:anywhere}

}

@layer atelier {
/* R11 · Horizon. Product surfaces and chrome share semantic tokens. No external font,
   no decorative network request, no color-only state, no motion in the driving map. */
:root {
 --canvas:#f6f7f9;--paper:#ffffff;--ink:#152c36;--muted:#546774;
 --forest:#00796f;--accent:var(--forest);--soft:#e9f5f1;--subtle:#f0f3f5;--line:#dde5e8;
 --on-accent:#ffffff;--glaze:rgba(255,255,255,.94);--input-bg:#f7f9fa;
 --elevated:#fff;--title-ink:#102c37;--hero-ink:#fff;--violet:#614497;--violet-soft:#f1edfb;
 --warm:#975227;--warm-soft:#fff1e3;--blue:#316396;--blue-soft:#eaf2fd;
 --shadow:0 8px 24px #17304006,0 1px 3px #17304005;
 --shadow-raised:0 14px 45px #17304012,0 2px 6px #17304006;
 --radius:24px;--radius-control:16px;--radius-sheet:30px;
 --ease-out:cubic-bezier(.2,.8,.2,1);--duration-fast:140ms;--ring:#247cce;
 --safe-top:var(--safe-area-inset-top,env(safe-area-inset-top,0px));--safe-bottom:var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px));
 --safe-left:var(--safe-area-inset-left,env(safe-area-inset-left,0px));--safe-right:var(--safe-area-inset-right,env(safe-area-inset-right,0px));
 --dock-gap:max(10px,var(--safe-bottom));--dock-clearance:calc(var(--mobile-tabs-height,76px) + var(--dock-gap) + 18px);
 font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
:root[data-palette=terracotta]{--forest:#985031;--accent:var(--forest);--soft:#fcf0e7;--canvas:#f8f6f3;--line:#e8e0d8;--subtle:#f4eeea;--input-bg:#faf7f4}
:root[data-palette=alpine]{--forest:#3c694a;--accent:var(--forest);--soft:#eef5e9;--canvas:#f5f7f3;--line:#e0e7dc;--subtle:#eff3ec;--input-bg:#f7f9f5}
:root[data-theme=dark]{
 --canvas:#101a21;--paper:#1b2932;--elevated:#243440;--ink:#eff5f8;--title-ink:#f7fafc;
 --muted:#b6c5cf;--forest:#78e0c5;--on-accent:#10322c;--soft:#213c3b;--subtle:#22313c;--line:#3b4e5b;
 --input-bg:#15232d;--glaze:rgba(27,41,50,.95);--violet:#d3b9ff;--violet-soft:#352f4a;
 --warm:#ffcb9d;--warm-soft:#44352b;--blue:#b3d4ff;--blue-soft:#28394e;
 --shadow:0 6px 24px #00000013;--shadow-raised:0 18px 48px #00000035;
}
:root[data-theme=dark][data-palette=terracotta]{--forest:#ffc4a5;--on-accent:#422718;--canvas:#211c1b;--paper:#302827;--elevated:#3c302c;--soft:#48352e;--subtle:#392e2a;--line:#605049;--input-bg:#272120;--glaze:rgba(48,40,39,.95)}
:root[data-theme=dark][data-palette=alpine]{--forest:#bae09e;--on-accent:#243419;--canvas:#19211c;--paper:#27322b;--elevated:#313f34;--soft:#354432;--subtle:#303c31;--line:#51614f;--input-bg:#202a22;--glaze:rgba(39,50,43,.95)}
body{background:var(--canvas);color:var(--ink);text-rendering:optimizeLegibility}
h1,h2,h3{color:var(--title-ink);letter-spacing:-.035em;font-weight:750}
.welcome-copy h1{color:#fff;text-shadow:0 2px 16px #071b26b8}
h1{line-height:1.12}h2{line-height:1.25}h3{line-height:1.35}
button,input,select,textarea{font:inherit}button,a,input,summary{touch-action:manipulation}
/* Drag/hold surfaces must not inherit browser pan gestures from ordinary buttons. */
.sheet-grabber,.help-alert-hold{touch-action:none}
:where(button,.btn,.round-btn,.chip,summary){-webkit-tap-highlight-color:transparent}
.btn{min-height:48px;border-radius:var(--radius-control);padding:12px 17px;font-size:.85rem;font-weight:690;line-height:1.35;gap:9px}
.btn.primary{background:var(--forest);color:var(--on-accent);box-shadow:0 3px 8px #0069571c;border:1px solid transparent}
.btn.primary:hover:not(:disabled){filter:brightness(.96)}
.btn.secondary{background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 1px 2px #132e3810}
.btn.text{color:var(--forest);box-shadow:none;background:transparent}
.btn.quiet{background:var(--subtle);color:var(--ink)}
.btn.danger{background:var(--error-ink);color:var(--error-bg);border-color:transparent}
.btn.secondary.danger{background:var(--error-bg);color:var(--error-ink);border-color:var(--error-line)}
:where(.btn,.round-btn,.tool-row,.day-tab,.personal-shortcut-grid>a,.day-up-next-row):active:not(:disabled){transform:scale(.977)}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--ring);outline-offset:3px}
.round-btn{width:46px;min-width:46px;height:46px;border-radius:15px;color:var(--ink);background:var(--paper);border-color:var(--line)}
.btn.icon-only{width:46px;min-width:46px;height:46px;min-height:46px;border-radius:15px}
.tag{border-radius:7px;font-size:.66rem;line-height:1.4;padding:5px 8px;white-space:normal}
.chip{border-radius:14px;min-height:44px;padding:9px 14px;font-size:.8rem;line-height:1.4}
.overline,.eyebrow{font-size:.66rem;letter-spacing:.115em;line-height:1.65;color:var(--muted)}
.fine{font-size:.76rem;line-height:1.65;color:var(--muted)}
.card{border-radius:var(--radius);box-shadow:var(--shadow)}
.notice{border-radius:14px;font-size:.81rem;line-height:1.65;padding:13px 16px;gap:10px}
.page-heading{align-items:flex-end;margin-bottom:25px;gap:20px}
.page-heading h1{font-size:clamp(1.85rem,3.4vw,2.7rem);letter-spacing:-.05em;margin:6px 0 10px}
.page-heading .subtitle{font-size:.9rem;line-height:1.6;max-width:540px}
.section-heading h2{font-size:1.23rem;font-weight:750}
.content{max-width:1280px;padding:28px 36px 36px}
/* Stable navigation. Active icon and label both convey the selected family. */
.sidebar{width:250px;padding:30px 18px 20px;background:var(--paper);border-right:1px solid var(--line)}
.app-shell{margin-left:250px}
.brand{padding:0 8px 28px;font-size:1.35rem;letter-spacing:-.055em;gap:10px}
.brand>span{width:40px;height:40px;border-radius:14px;background:var(--forest);color:var(--on-accent)}
.brand small{font-size:.49rem;letter-spacing:.08em;margin-top:6px}
.workspace-picker{background:var(--canvas);border:1px solid var(--line);padding:14px;border-radius:16px;box-shadow:none}
.workspace-picker strong{font-size:.83rem}.workspace-picker small{font-size:.57rem}
.sidebar .nav-link{min-height:49px;border-radius:14px;font-size:.85rem;gap:13px;margin-block:3px}
.sidebar .nav-link.active{background:var(--soft);color:var(--forest);font-weight:730}
.sidebar-tools{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
.sidebar-tools .nav-link{font-size:.8rem;min-height:44px}.sidebar-bottom{padding-top:16px}
.topbar{padding:0 36px;height:72px;min-height:72px;background:var(--glaze);border:0;box-shadow:0 1px 0 var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.top-actions{gap:10px}.top-actions .round-btn{background:var(--subtle);border:0}
.breadcrumb{font-size:.77rem}.breadcrumb strong{font-size:.85rem}
.bottom-nav{display:none}.page-footer{margin:10px 36px 0;font-size:.72rem}
/* The cover is scenic, but explicitly an illustration. No fake map or weather data. */
.dashboard-heading{display:flex;margin-bottom:16px;align-items:center}
.dashboard-heading p{font-size:.84rem;color:var(--muted)}
.view-home .atelier-cover{margin-bottom:0}
.atelier-cover{padding:0;height:auto;min-height:310px;isolation:isolate;border-radius:28px;margin-bottom:0;overflow:hidden;box-shadow:var(--shadow-raised);background:#244c50}
.atelier-cover>img{object-fit:cover;object-position:center 53%;width:100%;height:100%;position:absolute;inset:0}
.atelier-cover .trip-hero-shade{background:linear-gradient(180deg,#0b1d301c 5%,#091f3508 25%,#0d25336b 55%,#0b202cef 100%)}
.atelier-cover .trip-hero-copy{max-width:90%;padding:130px 30px 30px;position:relative}
.atelier-cover .trip-hero-copy .cover-kicker{display:flex;align-items:center;gap:7px;font-size:.61rem;letter-spacing:.13em;font-weight:700;color:#eefcf5;margin-bottom:12px}
.atelier-cover h1{font-size:clamp(1.85rem,3.8vw,3.1rem);font-weight:770;letter-spacing:-.045em;color:#fff;text-shadow:0 2px 18px #0b202c35;line-height:1.1;margin:0 0 12px}
.atelier-cover .trip-hero-copy p{font-size:.84rem;line-height:1.5;color:#ecf3f7;margin:0}
.atelier-cover .trip-hero-top{inset:18px 18px auto 22px;display:flex;justify-content:space-between;align-items:center}
.atelier-cover .hero-date{padding:8px 12px;background:#0e2830b3;border:1px solid #ffffff45;color:#fff;backdrop-filter:blur(8px);font-size:.68rem;gap:6px}
.atelier-cover .trip-hero-top .btn{border:1px solid #ffffff4d;color:#fff;background:#0e283080;width:44px;height:44px;min-height:44px;border-radius:50%}
.atelier-cover .photo-caption{position:absolute;margin:0;top:auto;left:auto;right:14px;bottom:9px;padding:3px 7px;border-radius:6px;background:#0d243acc;font-size:.59rem;color:#fff}
.atelier-cover.travel-cover{min-height:220px}.atelier-cover.travel-cover .trip-hero-copy{padding-top:105px;padding-bottom:28px}.atelier-cover.travel-cover h1{font-size:2rem}
.trip-passport{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:0 0 22px 22px;background:var(--paper);padding:20px 10px 14px;margin:-7px 14px 18px;box-shadow:var(--shadow)}
.trip-passport>a{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--ink);padding:5px 14px;min-height:48px;text-decoration:none;border-right:1px solid var(--line);min-width:0}
.trip-passport>a:last-child{border-right:0}.passport-icon{display:grid;place-items:center;width:35px;height:35px;flex-shrink:0;background:var(--soft);color:var(--forest);border-radius:12px}
.trip-passport strong{display:block;font-size:.8rem;line-height:1.4;overflow-wrap:anywhere}.trip-passport small{display:block;color:var(--muted);font-size:.66rem;margin-top:2px}
.sample-caption{font-size:.67rem;line-height:1.55;margin:8px 2px 18px;display:flex;align-items:flex-start;gap:6px}
.sample-caption>svg{flex-shrink:0;margin-top:2px}
.journey-mode{background:var(--subtle);border:0;padding:5px;border-radius:16px;margin:22px 0;gap:4px}
.journey-mode button{padding:10px 16px;min-height:44px;border-radius:12px;font-size:.82rem}
.journey-mode button[aria-pressed=true]{box-shadow:0 2px 5px #142d3612;background:var(--paper);color:var(--ink)}
.home-focus-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px;margin-bottom:24px;align-items:start}
.home-day-column,.home-route-column{min-width:0}.home-route-column>.route-status-line{margin-top:0}
/* Day desk. One strong call to action, quieter ways to continue the same task. */
.journey-day-card{padding:22px;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);background:var(--paper)}
.day-desk-heading{gap:12px;align-items:center}.day-heading-copy{min-width:0}
.day-desk-heading h2{font-size:1.3rem;letter-spacing:-.04em;margin-top:3px;text-transform:capitalize}
.day-desk-heading .overline{color:var(--muted);font-size:.62rem}
.day-desk-pager{gap:3px}.day-desk-pager .round-btn{width:44px;height:44px;min-width:44px;box-shadow:none;border:0;background:var(--subtle);border-radius:13px}
.day-desk-pager>span{font-size:.67rem;min-width:29px;text-align:center;color:var(--muted)}
.day-desk-progress{margin:18px 0 22px;display:flex;align-items:center;gap:10px}.visit-track{background:var(--subtle);height:4px;width:70px;border-radius:10px;overflow:hidden}.visit-track>span{background:var(--forest);height:100%;display:block;border-radius:10px}.day-desk-progress small{font-size:.65rem;color:var(--muted)}
.day-next-stop{padding:0;gap:13px}.day-next-mark{background:var(--soft);color:var(--forest);width:48px;height:48px;min-width:48px;border-radius:16px;border:0}
.day-next-stop>div:last-child{min-width:0}.next-kicker{display:flex;align-items:center;gap:6px;font-weight:730;font-size:.58rem;letter-spacing:.055em;color:var(--forest);line-height:1.6}
.next-kicker>i{width:5px;height:5px;background:currentColor;border-radius:50%;flex-shrink:0}
.day-next-stop h3{font-size:1.18rem;line-height:1.3;margin:7px 0;letter-spacing:-.025em}
.day-next-stop p{font-size:.76rem;line-height:1.6;color:var(--muted);margin:0}
.day-next-facts{font-size:.7rem;line-height:1.45;color:var(--muted);margin-top:12px;gap:8px}
.day-desk-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:22px}
.day-desk-actions .btn{font-size:.79rem;padding:12px 10px;line-height:1.45}
.day-desk-actions .btn.text{color:var(--ink);background:var(--subtle)}
.day-up-next{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;margin-top:20px}
.day-up-next>summary{padding:12px 0;min-height:44px;font-size:.76rem;color:var(--muted)}
.day-up-next-row{padding:10px 0;gap:10px;border-color:var(--line);border-radius:0;background:transparent;min-height:54px}
.day-up-next-row strong{font-size:.8rem}.day-up-next-row small{font-size:.69rem}.day-up-next-icon{background:var(--subtle);color:var(--ink);border-radius:12px}
.day-ideas{border-top:1px solid var(--line);gap:7px;padding-top:14px;margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.day-ideas button{border:0;border-radius:12px;background:var(--subtle);color:var(--ink);font-size:.71rem;line-height:1.35;padding:9px 7px;min-height:50px;gap:7px;display:flex;align-items:center;justify-content:center}
.day-ideas button:nth-child(2){background:var(--warm-soft);color:var(--warm)}.day-ideas button:nth-child(3){background:var(--blue-soft);color:var(--blue)}
.day-route-note{font-size:.65rem;line-height:1.55;color:var(--muted);margin:16px 0 0;gap:7px;align-items:flex-start}
.day-route-note svg{flex-shrink:0;margin-top:2px}.day-quiet h3{font-size:1.2rem}
.route-status-line{background:var(--paper);border-radius:22px;padding:20px;gap:12px;flex-wrap:wrap;box-shadow:var(--shadow)}
.route-status-line .next-icon{background:var(--soft);width:42px;min-width:42px;height:42px;border-radius:14px}
.route-status-line strong{font-size:.85rem;line-height:1.45}.route-status-line p{font-size:.74rem;line-height:1.6}
.route-status-line>.btn{flex-basis:100%;justify-content:space-between;font-size:.78rem}
.journey-stats{margin:12px 0}.journey-stats>summary{font-size:.76rem;padding:10px 4px}
.journey-stats .journey-numbers{grid-template-columns:1fr;border-radius:18px}
.journey-stats .journey-numbers a{padding:16px;border-bottom:1px solid var(--line)}
.departure-ribbon{border-radius:20px;background:var(--soft);box-shadow:none;gap:12px;padding:16px;flex-wrap:wrap}
.departure-ribbon .btn{font-size:.76rem}.departure-ribbon>div{min-width:0}.departure-ribbon h2{font-size:1rem}
.copilot-entry{position:relative;isolation:isolate;padding:26px 28px;background:#162e3d;border:1px solid #2b4e5b;color:#eef9f8;box-shadow:var(--shadow-raised);gap:20px;margin-bottom:24px}
.copilot-entry::after{content:'';position:absolute;z-index:-1;right:-80px;top:-100px;width:320px;height:320px;border:1px solid #75cbb530;border-radius:50%;box-shadow:0 0 0 30px #75cbb510,0 0 0 65px #75cbb507;pointer-events:none}
.copilot-entry h2{color:#fff;font-size:1.6rem;letter-spacing:-.04em;line-height:1.12;margin:8px 0 12px}.copilot-entry p{color:#c7dde5;opacity:1;font-size:.79rem;line-height:1.6}
.copilot-entry .overline{color:#a3e6d3;font-size:.6rem}.copilot-symbol{width:46px;min-width:46px;height:46px;border-radius:16px;background:#284c58;color:#acedd9}
.copilot-entry .btn{background:#c7f0de;color:#173b31;border:0;font-size:.82rem}
.crew-summary,.personal-shortcuts{padding:22px;border-radius:24px;box-shadow:var(--shadow)}
.personal-shortcut-grid{gap:10px}.personal-shortcut-grid>a{background:var(--subtle);border:0;border-radius:15px;padding:14px;box-shadow:none;gap:8px;min-height:86px}
.personal-shortcut-grid>a>strong{font-size:.79rem}.personal-shortcut-grid>a>span{background:transparent;color:var(--forest);width:auto;height:auto}.personal-shortcut-grid .tool-icon{background:transparent}
.crew-summary-line{gap:15px}.crew-summary-line strong{font-size:.82rem}.crew-summary-line small{font-size:.73rem;line-height:1.6}
.avatar{background:var(--soft);color:var(--forest);border:2px solid var(--paper);font-weight:750}
/* Programme: calm rails, tactile day tickets, short primary controls. */
.day-picker{display:flex;gap:10px;margin:0 0 18px;padding:4px 2px 10px;scroll-padding-inline:8px;scroll-snap-type:x proximity;overscroll-behavior-x:contain}
.day-tab{flex:0 0 auto;border:1px solid var(--line);border-radius:19px;padding:14px 18px;min-width:110px;scroll-snap-align:start;background:var(--paper);box-shadow:var(--shadow);color:var(--muted)}
.day-tab>span{font-size:.57rem;letter-spacing:.08em}.day-tab strong{font-size:1.13rem;letter-spacing:-.03em;margin:7px 0 5px;color:var(--ink)}.day-tab small{font-size:.67rem}
.day-tab.active{background:var(--forest);color:var(--on-accent);border-color:var(--forest);box-shadow:0 6px 14px #17304018}
.day-tab.active>*{color:var(--on-accent)}
.planner-mode{padding:4px;border:0;background:var(--subtle);border-radius:14px;max-width:340px;margin-bottom:20px}
.planner-mode button{border-radius:11px;min-height:44px;font-size:.8rem}.planner-mode button[aria-pressed=true]{color:var(--ink);box-shadow:0 2px 5px #152c3610}
.day-programme{padding:24px;border-radius:25px;border:1px solid var(--line);box-shadow:var(--shadow)}
.day-heading{margin-bottom:18px}.day-heading h2{font-size:1.6rem;letter-spacing:-.04em}.day-overview{background:var(--subtle);border:0;border-radius:14px;padding:12px 14px;font-size:.74rem;gap:12px}
.timeline{padding:0;margin:24px 0 0}.timeline-stop{display:grid;grid-template-columns:48px minmax(0,1fr);gap:0 12px;padding-left:0;position:relative}.timeline-rail{position:relative;inset:auto;width:48px;min-width:48px}.timeline-transfer{grid-column:2}
.timeline-rail time{font-size:.72rem;font-weight:700;letter-spacing:-.02em}.timeline-rail>span{width:28px;height:28px;font-size:.7rem;border:3px solid var(--paper);box-shadow:0 0 0 1px var(--line)}
.timeline-rail::after{background:var(--line)}
.stop-card{padding:19px;border:1px solid var(--line);border-radius:21px;box-shadow:none}
.stop-card[data-stop-kind=meal]{border-left:3px solid var(--warm)}.stop-card[data-stop-kind=sleep]{border-left:3px solid var(--violet)}
.stop-card[data-stop-kind=departure],.stop-card[data-stop-kind=arrival]{border-left:3px solid var(--forest)}
.stop-card h3{font-size:1.12rem;letter-spacing:-.03em;margin:10px 0 8px}.stop-card h3 .plain{min-height:44px;text-align:left;color:var(--ink);line-height:1.4}
.stop-kind{font-size:.66rem;color:var(--muted);font-weight:680;line-height:1.5}.stop-address{font-size:.77rem;line-height:1.6;color:var(--muted)}
.stop-facts{font-size:.73rem;gap:9px;line-height:1.5;margin-top:10px}.stop-primary-actions{border:0;gap:6px;margin-top:14px;padding-top:0;display:flex}
.stop-primary-actions .btn{font-size:.71rem;min-height:44px;background:var(--subtle);color:var(--ink);border-radius:12px;padding:9px 10px;flex:1}
.stop-options{border-top:1px solid var(--line);margin-top:14px}.stop-options summary{font-size:.73rem;min-height:44px;padding-block:10px;color:var(--muted)}
.timeline-transfer{font-size:.69rem;line-height:1.4;margin:12px 0 20px 64px;gap:7px;color:var(--muted)}
.day-end{border:1px dashed var(--line);border-radius:16px;padding:14px;font-size:.78rem;margin-top:18px}
.planning-wishes{border:1px solid var(--line);border-radius:18px;padding:14px 18px;background:var(--paper);margin-bottom:20px}
.planning-wishes>summary{font-size:.83rem;min-height:44px}.planning-map-pane{border-radius:24px;overflow:hidden;border:1px solid var(--line)}
.planning-map-stage{background:var(--subtle)}.planning-stop-pane{border-radius:24px;padding:24px;border:1px solid var(--line)}.planning-stop-pane h2{font-size:1.4rem;line-height:1.3}
.planning-stops-strip{background:var(--paper);padding:12px;gap:8px;scroll-snap-type:x proximity}
.planning-stops-strip button{background:var(--subtle);border:0;border-radius:14px;min-height:54px;scroll-snap-align:center}.planning-stops-strip button[aria-pressed=true]{background:var(--soft);color:var(--forest)}
/* Tools and discovery: cards carry purpose, not only a long menu of identical rows. */
.tools-search{background:var(--paper);box-shadow:var(--shadow);border-radius:18px;padding:10px 16px;min-height:58px}.tools-search input{background:transparent!important;border:0!important;box-shadow:none;font-size:1rem}
.tool-filters{gap:8px;scroll-snap-type:x proximity;padding-bottom:6px}.tool-filters .chip{scroll-snap-align:center;background:var(--paper)}.tool-filters .chip.active{background:var(--forest)}
.tool-sections{gap:22px}.tool-section{min-width:0}.tool-section .overline{font-size:.59rem}.tool-section h2{font-size:1.2rem}
.tool-rows{background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
.tool-row{padding:17px 18px;gap:13px;min-height:86px;background:var(--paper)}.tool-row>span:nth-child(2){min-width:0}.tool-row strong{font-size:.85rem}.tool-row small{font-size:.73rem;line-height:1.5;margin-top:5px}
.tool-row .tool-icon{background:var(--soft);color:var(--forest);width:44px;height:44px;min-width:44px;border-radius:15px}
.tool-section[data-tool-group=road] .tool-icon{background:var(--blue-soft);color:var(--blue)}.tool-section[data-tool-group=manage] .tool-icon{background:var(--warm-soft);color:var(--warm)}
.tool-row>svg:last-child{opacity:.65;width:17px}.tools-results-count{font-size:.74rem}
.discovery-banner{position:relative;isolation:isolate;background:#173547;border:1px solid #2f4c5d;padding:28px;border-radius:25px;color:#fff;overflow:hidden}
.discovery-banner h2{color:#fff;font-size:1.7rem;letter-spacing:-.045em}.discovery-banner .eyebrow{color:#b8e5dc}.discovery-banner>svg{color:#9fe1cd;opacity:.55}
.discovery-context{background:var(--paper);border:1px solid var(--line);border-radius:23px;padding:22px;gap:16px}.discovery-context h2{font-size:1.2rem}.discovery-context p{font-size:.83rem;color:var(--muted)}.discovery-context summary{color:var(--forest)}.discovery-context small{color:var(--muted);font-size:.71rem;line-height:1.6}
.categories .chip{background:var(--paper);border:1px solid var(--line)}.categories .chip.active{background:var(--forest);color:var(--on-accent)}
.place-card{padding:0;overflow:hidden;border:1px solid var(--line);border-radius:24px}.place-visual{position:relative;background:var(--soft);color:var(--forest);height:142px;overflow:hidden}
.place-visual::before{content:'';position:absolute;width:180px;height:180px;border-radius:50%;border:1px solid currentColor;opacity:.1;right:-35px;top:-50px;box-shadow:0 0 0 22px currentColor,0 0 0 55px currentColor}
.place-visual.category-food,.place-visual.category-coffee{background:var(--warm-soft);color:var(--warm)}.place-visual.category-culture{background:var(--violet-soft);color:var(--violet)}
.place-visual>span{font-size:.65rem;letter-spacing:.06em;font-weight:700}.place-visual .round-btn{background:var(--paper);color:var(--ink);border:1px solid var(--line)}
.place-body{padding:21px}.place-body h3{font-size:1.13rem}.place-body p{font-size:.8rem;line-height:1.55}.place-body .actions{gap:9px}.place-body .btn{font-size:.79rem}
/* Convoy. Richer visuals, but no invented member, position or arrival. */
.crew-segments{background:var(--subtle);border:0;border-radius:16px;padding:5px;gap:4px;margin-bottom:20px}.crew-segments button{border-radius:12px;min-height:46px;font-size:.78rem;padding:10px 12px}.crew-segments button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:0 2px 6px #132d3610}
.crew-task-grid{gap:12px;margin:20px 0}.crew-task-grid>a{background:var(--paper);border:1px solid var(--line);border-radius:21px;padding:19px;box-shadow:var(--shadow);min-width:0}
.crew-task-grid strong{font-size:.86rem;line-height:1.4}.crew-task-grid small{font-size:.73rem;line-height:1.55;color:var(--muted)}
.crew-task-grid>a:nth-child(2) .tool-icon{background:var(--blue-soft);color:var(--blue)}.crew-task-grid>a:nth-child(3) .tool-icon{background:var(--violet-soft);color:var(--violet)}.crew-task-grid>a:nth-child(4) .tool-icon{background:var(--warm-soft);color:var(--warm)}
.convoy-command-bar{background:var(--soft);border:1px solid var(--line);border-radius:19px;padding:16px 18px;margin:20px 0;gap:14px}.convoy-status{font-size:.78rem}
.fleet-list{gap:16px}.fleet-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow);min-width:0}
.fleet-car-icon{width:49px;height:49px;border-radius:17px;background:var(--vehicle-soft);color:var(--vehicle)}
.fleet-card h3{font-size:1.13rem;letter-spacing:-.03em}.fleet-card-top small{font-size:.69rem;line-height:1.5}.fleet-driver{border:0;border-radius:17px;background:var(--subtle);padding:14px;margin:18px 0}
.fleet-driver strong{font-size:.93rem}.fleet-driver .overline{font-size:.57rem}.seat-grid{gap:8px}.seat{width:38px;height:40px;border-radius:12px;border:1px dashed var(--line);background:var(--subtle);color:var(--muted);font-size:.8rem}.seat.occupied{background:var(--vehicle-soft);border:1px solid var(--vehicle);color:var(--vehicle)}
.fleet-occupancy{font-size:.71rem}.fleet-card-footer{font-size:.7rem}.fleet-card-footer .btn{font-size:.71rem;min-height:44px}
/* Read-first step sheets and real editor controls. */
dialog.sheet{border:1px solid var(--line);border-radius:var(--radius-sheet);background:var(--paper);box-shadow:0 30px 100px #08172738;color:var(--ink);overflow-x:hidden;animation:none}
dialog.sheet::backdrop{background:#08172466;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.sheet-form{padding:0 26px}.sheet-form>header{padding:23px 0 20px;margin:0 0 20px;gap:16px;border-bottom:1px solid var(--line);background:var(--paper);z-index:2}
.sheet-form>header .eyebrow{font-size:.57rem;color:var(--muted)}.sheet-form header h2{font-size:1.42rem;line-height:1.25;font-weight:760;margin-top:6px;letter-spacing:-.035em}.sheet-form>header .round-btn{background:var(--subtle);border:0;border-radius:50%;width:44px;height:44px;min-width:44px}
.sheet-form>.form-body{padding:0 0 22px;gap:20px}.sheet-form>footer{background:var(--glaze);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:16px 26px;margin:0 -26px;gap:10px;box-shadow:0 -6px 24px #152c3605}
.sheet-form>footer .btn{min-height:50px;font-size:.82rem;border-radius:16px}.sheet-form>footer .actions{gap:10px}
.field{margin-bottom:18px;font-size:.79rem;color:var(--ink)}.field>span{font-weight:650;display:block;line-height:1.5;margin-bottom:7px}
.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{font-size:1rem;line-height:1.45;border:1px solid var(--line);border-radius:14px;padding:13px 14px;min-height:50px;background:var(--input-bg);color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{background:var(--paper);border-color:var(--forest)}
.check-field{font-size:.84rem;line-height:1.65;gap:11px;padding-block:6px;min-height:44px}.check-field input{min-width:22px;min-height:22px}.check-field small{font-size:.72rem}
.form-details{border:1px solid var(--line);border-radius:16px;padding:0 15px;background:var(--subtle)}.form-details>summary{font-size:.8rem;min-height:50px;line-height:1.55}.form-details[open]{padding-bottom:14px}.form-details[open]>summary{margin-bottom:8px}
.form-error{border-radius:14px;font-size:.81rem;line-height:1.65}.discard-confirm{border-radius:19px;background:var(--warning-bg);border-color:var(--warning-line)}
form[data-saving=true] button[type=submit]::before{content:'';width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:atelier-spin .8s linear infinite;flex-shrink:0}
.stage-summary{position:relative;padding:22px;border-radius:24px;background:var(--soft);overflow:hidden;isolation:isolate;border:1px solid var(--line)}
.stage-emblem{position:absolute;top:17px;right:17px;display:grid;place-items:center;width:66px;height:66px;border-radius:21px;background:var(--paper);color:var(--forest);opacity:.5;z-index:-1}
.stage-kind{padding-right:64px;font-size:.79rem;font-weight:700;gap:9px;margin-bottom:20px;color:var(--forest)}
.stage-address{font-size:1rem;line-height:1.55;color:var(--ink);max-width:96%;margin-block:0 18px}
.stage-metadata{font-size:.77rem;line-height:1.5;gap:12px}.stage-visit-state{font-size:.74rem;color:var(--muted);line-height:1.6;margin-top:15px}
.stage-actions{gap:10px;margin-block:2px 8px;grid-template-columns:repeat(2,minmax(0,1fr))}
.stage-actions button{padding:15px 13px;min-height:72px;align-items:flex-start;text-align:left;flex-direction:column;font-size:.8rem;line-height:1.4;gap:10px;border-radius:18px}
.stage-actions .btn.secondary{background:var(--subtle);border-color:transparent;box-shadow:none}.stage-actions .btn.secondary svg{color:var(--forest)}
.stage-context{border-radius:17px;background:var(--subtle);border:1px solid var(--line);padding:0 15px}.stage-context summary{font-size:.79rem;min-height:52px}.stage-sheet .fine{font-size:.73rem}
/* Settings as visual samples, with native radios remaining keyboard accessible. */
.appearance-sheet{max-width:660px}.appearance-intro{font-size:.85rem;color:var(--muted);margin:0 0 2px}
.appearance-group{margin:12px 0 20px}.appearance-group legend{font-size:.94rem;font-weight:750;letter-spacing:-.02em;margin-bottom:13px}
.appearance-choice{position:relative;background:var(--paper);border:1px solid var(--line);padding:12px;border-radius:19px;box-shadow:var(--shadow);gap:0;display:block;overflow:hidden}
.appearance-choice input{position:absolute;top:12px;right:12px;opacity:0;width:22px;height:22px;min-width:22px;min-height:22px;margin:0}
.appearance-choice:has(input:focus-visible){outline:3px solid var(--ring);outline-offset:3px}.appearance-choice:has(input:checked){box-shadow:inset 0 0 0 1px var(--forest);background:var(--soft);border-color:var(--forest)}
.appearance-choice-copy{display:block;width:100%}.appearance-choice-copy strong{font-size:.79rem;line-height:1.5;margin-top:11px}.appearance-choice-copy small{font-size:.65rem;line-height:1.6;margin-top:3px;color:var(--muted)}
.choice-check{pointer-events:none;position:absolute;display:grid;place-items:center;top:8px;right:8px;width:21px;height:21px;min-width:21px;border-radius:50%;background:var(--forest);color:var(--on-accent);opacity:0;box-shadow:0 0 0 2px var(--paper)}
.appearance-choice:has(input:checked) .choice-check{opacity:1}
.theme-preview{pointer-events:none;position:relative;display:flex;flex-direction:column;gap:5px;background:#f3f6f8;border:1px solid #d9e2e8;border-radius:13px;width:100%;height:99px;padding:11px;box-shadow:0 3px 8px #152c3610}
.theme-preview .preview-top{width:36%;height:4px;border-radius:3px;background:#93a7b4}.theme-preview .preview-image{display:block;height:27px;border-radius:6px;margin-top:3px;background:linear-gradient(155deg,#91b7a4,#365c71)}
.theme-preview .preview-line{display:block;height:4px;border-radius:3px;background:#849dab;width:76%}.theme-preview .preview-line.short{width:50%;background:#bccad1}.theme-preview .preview-tab{position:absolute;bottom:7px;left:30%;width:40%;height:6px;border-radius:5px;background:#00796f}
.theme-preview-dark{background:#15232e;border-color:#39505f}.theme-preview-dark .preview-top{background:#c3d4db}.theme-preview-dark .preview-line{background:#a3bac8}.theme-preview-dark .preview-line.short{background:#516978}.theme-preview-dark .preview-tab{background:#78e0c5}
.theme-preview-system{background:linear-gradient(90deg,#f3f6f8 50%,#15232e 50%)}.theme-preview-system .preview-line{background:linear-gradient(90deg,#849dab 65%,#adc1cc 65%)}
.palette-preview{pointer-events:none;display:flex;border-radius:10px;overflow:hidden;height:38px;margin:6px 0 8px;gap:0;--p1:#00796f;--p2:#7bd8be;--p3:#dff0e9;--p4:#193c46}
.palette-preview i{flex:1;background:var(--p1)}.palette-preview i:nth-child(2){background:var(--p2)}.palette-preview i:nth-child(3){background:var(--p3)}.palette-preview i:nth-child(4){background:var(--p4)}
.palette-preview-terracotta{--p1:#985031;--p2:#edbc97;--p3:#f9eade;--p4:#49322b}.palette-preview-alpine{--p1:#3c694a;--p2:#b3cc97;--p3:#edf2e0;--p4:#273e30}
.detail-preview,.motion-preview{display:flex;align-items:center;padding:5px 0;color:var(--forest);min-height:30px}
.shortcut-picker{gap:8px}.shortcut-picker>label{position:relative;border:1px solid var(--line);border-radius:14px;min-height:54px;padding:10px;font-size:.76rem;background:var(--paper);gap:9px}.shortcut-picker>label:has(input:checked){background:var(--soft);border-color:var(--forest)}.shortcut-picker input{width:19px;height:19px;min-width:19px;accent-color:var(--forest)}
.appearance-entry{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);padding:24px}.appearance-emblem{background:var(--soft);color:var(--forest)}
/* Maps and driving stay steady. Overlays have opaque fallbacks and measurable hit areas. */
.map-search{background:var(--glaze);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-raised)}.map-search input{background:transparent!important}
.map-top .actions .btn,.map-controls button{width:46px;height:46px;min-height:46px;min-width:46px;border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow-raised)}
.explorer-sheet{background:var(--paper);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow-raised)}
.map-attribution{background:var(--paper);color:var(--muted);font-size:.64rem}.map-tile-status{background:var(--paper);border:1px solid var(--line);color:var(--muted);font-size:.69rem;border-radius:12px}
.map-marker{box-shadow:0 3px 8px #12273235}.nav-map{border-radius:23px;border:1px solid var(--line);background:var(--subtle)}
.turn-card{background:#173f45;color:#fff;border:1px solid #306067;border-radius:24px;box-shadow:var(--shadow-raised);padding:26px;gap:20px}.turn-card h2{color:#fff;font-size:1.55rem;letter-spacing:-.025em}.turn-card p{color:#c9e5e5;font-size:.83rem}.turn-card>div>span{color:#a8eadb;font-size:.75rem}.turn-icon{color:#c2f3df}.turn-icon>svg{background:#285d60;border-radius:19px;padding:12px;width:65px;height:65px}
.nav-metrics{gap:10px}.nav-metrics .metric{padding:18px 15px;background:var(--paper);border:1px solid var(--line);border-radius:19px}.nav-metrics .metric strong{font-size:1.35rem}.nav-metrics .metric span{font-size:.65rem}.nav-metrics .metric small{font-size:.65rem;line-height:1.5}
.driving-primary-actions .btn{min-height:54px}.navigation-scope{font-size:.74rem;color:var(--muted)}
/* Feedback is content sized and never overlays a dialog's save button. */
.toasts>div{border-radius:17px;padding:14px 18px;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-raised);font-size:.8rem;line-height:1.5}
.operation-banner{background:var(--canvas)}.operation-status:not(:empty){font-size:.72rem;line-height:1.5;color:var(--muted)}
.boot-screen{background:var(--canvas)}.boot-card{border:0;background:var(--paper);border-radius:28px;box-shadow:var(--shadow-raised);padding:40px}.boot-mark{color:var(--forest);font-size:1.5rem;letter-spacing:-.05em}.boot-card h1{font-size:2.1rem;letter-spacing:-.05em}.boot-card p{font-size:.82rem;color:var(--muted)}
@keyframes atelier-spin{to{transform:rotate(360deg)}}
@media(hover:hover) and (pointer:fine){.tool-row:hover,.day-up-next-row:hover{background:var(--subtle)}.personal-shortcut-grid>a:hover,.crew-task-grid>a:hover{border-color:var(--forest);box-shadow:var(--shadow-raised)}.trip-passport>a:hover{background:var(--subtle);border-radius:10px}}
@media(min-width:1250px){.view-home .atelier-cover{min-height:335px}.view-home .trip-hero-copy{padding-top:160px}.home-focus-grid{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}.crew-task-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px) and (min-width:901px){.sidebar{width:218px;padding-inline:14px}.app-shell{margin-left:218px}.content{padding-inline:26px}.home-focus-grid{grid-template-columns:1fr}.home-route-column{display:grid;grid-template-columns:1fr 1fr;gap:16px}.home-route-column .journey-stats{grid-column:1/-1;grid-row:2}.home-route-column .departure-ribbon{margin-top:0}.trip-passport{margin-inline:7px}.trip-passport>a{padding-inline:9px}}
/* Mobile dock is inset for the thumb; content reserves its actual measured occupied area. */
@media(max-width:900px){
 .sidebar{display:none}.app-shell{margin-left:0;padding-bottom:var(--dock-clearance)}
 .content{padding:20px 20px 24px;max-width:760px}.content>section,.content>.card{margin-bottom:22px}
 .topbar{height:auto;min-height:calc(66px + var(--safe-top));padding:calc(8px + var(--safe-top)) 20px 8px;gap:10px;box-shadow:0 1px 0 var(--line)}
 .topbar-leading{min-width:0;flex:1}.mobile-context{text-align:left;gap:4px;min-height:46px;min-width:0;background:transparent;color:var(--ink);padding:0}
 .mobile-context>strong{font-size:1.04rem;font-weight:750;letter-spacing:-.025em}.mobile-context>span{font-size:.68rem;line-height:1.4;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
 .mobile-brand{display:none}.top-actions{gap:6px}.top-actions .round-btn{min-width:44px;width:44px;height:44px;border-radius:15px}.top-actions .top-quick-add{color:var(--on-accent)!important;background:var(--forest)!important;box-shadow:0 4px 10px #0a796b20}
 .top-actions .notification-entry,.top-actions>.avatar{display:none}.top-actions #sharing-pill:empty{display:none}
 .bottom-nav{display:grid;position:fixed;left:12px;right:12px;bottom:var(--dock-gap);width:auto;max-width:560px;margin-inline:auto;height:auto;min-height:72px;padding:5px 7px;gap:3px;background:var(--glaze);border:1px solid var(--line);border-radius:25px;box-shadow:0 10px 36px #16344220,0 1px 3px #16344212;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);grid-template-columns:repeat(5,minmax(0,1fr));z-index:45;isolation:isolate}
 .bottom-nav>a{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:60px;padding:2px;min-width:0;border-radius:18px;color:var(--muted);background:transparent;text-decoration:none;position:relative;font-weight:580;line-height:1.3}
 .bottom-nav .tab-symbol{display:grid;place-items:center;width:44px;height:32px;border-radius:12px;transition:background-color 140ms,color 140ms;flex:none}
 .bottom-nav .tab-label{font-size:.62rem;line-height:1.3;overflow-wrap:normal;white-space:normal}.bottom-nav>a.active{background:transparent;color:var(--forest);font-weight:750}.bottom-nav>a.active .tab-symbol{background:var(--soft);color:var(--forest)}
 .bottom-nav>a.active svg{stroke-width:2.1}.bottom-nav>a:active{transform:scale(.96)}
 .page-footer{margin:8px 22px 0;padding:20px 0 12px;font-size:.65rem}
 .dashboard-heading{display:none}.atelier-cover{min-height:275px;border-radius:25px}.atelier-cover .trip-hero-copy{padding:115px 22px 29px;max-width:95%}
 .atelier-cover h1{font-size:2.18rem;line-height:1.03;letter-spacing:-.05em;margin-bottom:12px}.atelier-cover .trip-hero-copy p{font-size:.78rem;line-height:1.45}
 .atelier-cover .trip-hero-top{inset:15px 15px auto 18px}.atelier-cover .hero-date{font-size:.65rem;min-height:34px;padding:7px 10px}.atelier-cover .cover-kicker{font-size:.57rem}
 .trip-passport{margin:-8px 6px 15px;padding:17px 4px 9px;border-radius:0 0 20px 20px}.trip-passport>a{padding:4px 6px;gap:6px;min-height:50px;flex-direction:column;text-align:center}
 .passport-icon{display:none}.trip-passport strong{font-size:.77rem;line-height:1.3}.trip-passport small{font-size:.62rem;line-height:1.4;margin-top:3px}
 .sample-caption{margin-bottom:18px}.journey-mode{margin:18px 0 20px}.journey-mode>span{display:none}.journey-mode>button{flex:1;padding:10px 12px;font-size:.79rem}
 .home-focus-grid{grid-template-columns:1fr;gap:18px;margin-bottom:22px}.home-route-column{display:block}.home-route-column .route-status-line{margin:0 0 14px}.home-route-column .departure-ribbon{margin-bottom:0}
 .journey-day-card{padding:20px;border-radius:23px}.day-desk-heading h2{font-size:1.18rem}.day-desk-heading .overline{font-size:.59rem}.day-desk-pager{gap:2px}.day-desk-pager .round-btn{width:44px;min-width:44px;height:44px;border-radius:12px}.day-desk-pager>span{min-width:28px;font-size:.65rem}
 .day-desk-progress{margin:17px 0 20px}.day-desk-progress small{font-size:.62rem}.day-next-stop h3{font-size:1.12rem}.day-next-stop p{font-size:.73rem}.next-kicker{font-size:.57rem}
 .day-next-mark{width:44px;min-width:44px;height:46px;border-radius:15px}.day-next-mark>svg{width:24px}.day-desk-actions .btn{font-size:.75rem}
 .day-ideas{gap:6px}.day-ideas button{flex-direction:column;gap:7px;font-size:.67rem;padding:10px 5px;min-height:65px}.day-ideas button svg{width:19px;height:19px}
 .route-status-line{padding:17px}.route-status-line strong{font-size:.85rem}.route-status-line p{font-size:.72rem}.route-status-line .btn{min-height:46px}
 .copilot-entry{padding:24px;display:flex;align-items:flex-start;gap:17px;flex-wrap:wrap;border-radius:23px}.copilot-entry>div{flex:1;min-width:180px}.copilot-symbol{width:43px;min-width:43px;height:43px;border-radius:15px}.copilot-entry h2{font-size:1.6rem;line-height:1.13}.copilot-entry .btn{flex-basis:100%;justify-content:space-between}.copilot-entry p{font-size:.77rem;line-height:1.6}
 .dashboard-bottom{grid-template-columns:1fr;gap:18px}.personal-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.crew-summary,.personal-shortcuts{padding:20px}
 .page-heading{align-items:flex-start;margin-bottom:22px;flex-wrap:wrap;gap:15px}.page-heading h1{font-size:1.85rem;line-height:1.1;margin:6px 0 10px}.page-heading .subtitle{font-size:.82rem;line-height:1.65}.page-heading .eyebrow{font-size:.58rem}.page-heading>.actions .btn{font-size:.78rem}
 .day-picker{margin-inline:0;max-width:100%;padding:4px 2px 12px;gap:9px}.day-tab{min-width:99px;padding:13px 15px;border-radius:18px}.day-tab strong{font-size:1.03rem}.day-tab small{font-size:.63rem}
 .day-programme{padding:19px;border-radius:23px}.day-heading h2{font-size:1.42rem}.day-overview{font-size:.69rem;padding:12px;gap:9px}.day-overview span{line-height:1.4}
 .timeline-rail{width:39px;min-width:39px}.timeline-rail time{font-size:.67rem}.timeline-rail>span{width:27px;height:27px}.stop-card{padding:15px;border-radius:18px;min-width:0}.stop-card h3{font-size:1.01rem;line-height:1.35}.stop-kind{font-size:.6rem}.stop-address{font-size:.72rem}.stop-facts{font-size:.66rem;gap:6px}.stop-primary-actions{gap:5px;flex-wrap:wrap}.stop-primary-actions .btn{font-size:.65rem;padding:9px 6px;gap:5px}.stop-primary-actions .btn svg{width:14px}.stop-options summary{font-size:.67rem;line-height:1.5}.timeline-transfer{margin-left:53px;font-size:.63rem}.day-end{padding:13px;font-size:.71rem;flex-wrap:wrap}.day-end .btn{font-size:.72rem}
 .planning-map-pane{border-radius:21px}.planning-stop-pane{padding:20px;border-radius:21px}.planning-stop-pane h2{font-size:1.27rem}.planning-stop-pane p{font-size:.79rem}
 .tool-row{padding:16px;gap:12px;min-height:82px}.tool-row strong{font-size:.82rem}.tool-row small{font-size:.71rem}.tool-row .tool-icon{width:43px;min-width:43px;height:43px;border-radius:15px}
 .tool-sections{grid-template-columns:1fr}.tool-filters{margin-inline:0;padding-inline:2px}.tool-filters .chip{font-size:.73rem}.tools-search{padding:8px 14px}.tools-search input{font-size:1rem}.tool-section .section-heading{margin-bottom:14px}.tool-section h2{font-size:1.15rem}
 .crew-task-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.crew-task-grid>a{padding:16px;border-radius:19px}.crew-task-grid strong{font-size:.81rem;line-height:1.4}.crew-task-grid small{font-size:.69rem}.crew-task-grid .tool-icon{width:39px;height:39px;border-radius:13px}
 .crew-segments button{font-size:.71rem;padding:9px 7px;gap:5px}.crew-segments button svg{width:16px;flex-shrink:0}.convoy-command-bar{padding:16px;flex-wrap:wrap}.convoy-command-bar>.actions{width:100%;gap:8px}.convoy-command-bar .btn{flex:1;font-size:.77rem}.convoy-status{font-size:.75rem;line-height:1.5}
 .fleet-list{grid-template-columns:1fr}.fleet-card{padding:20px;border-radius:22px}.fleet-card h3{font-size:1.12rem}.fleet-section .section-heading{align-items:flex-start;gap:12px}.fleet-section .actions .btn{font-size:.74rem}
 .discovery-banner{padding:24px}.discovery-banner h2{font-size:1.56rem}.discovery-context{padding:20px}.place-visual{height:128px}.place-body{padding:19px}.place-body h3{font-size:1.08rem}.place-body p{font-size:.77rem}
 .turn-card{padding:20px;gap:15px;border-radius:22px}.turn-card h2{font-size:1.4rem}.turn-card p{font-size:.77rem}.turn-icon>svg{width:57px;height:57px;border-radius:17px;padding:10px}.nav-metrics .metric{padding:16px 12px;border-radius:17px}.nav-metrics .metric strong{font-size:1.15rem}.nav-metrics .metric span,.nav-metrics .metric small{font-size:.63rem;line-height:1.5}
 .nav-map{height:340px;border-radius:22px}.driving-primary-actions .btn{font-size:.81rem}.navigation-scope{font-size:.7rem;line-height:1.65}
 .content.view-map{max-width:none;padding:0}.view-map .map-page{height:calc(var(--visual-height,100dvh) - 78px - var(--safe-top) - var(--dock-clearance));min-height:400px;border:0;border-radius:0}.map-controls{right:13px;gap:8px}.map-controls button{min-width:44px;width:44px;min-height:44px;height:44px}
 .explorer-sheet{left:12px;right:12px;width:auto;max-width:none;bottom:12px;border-radius:24px}.map-attribution{font-size:.61rem}
 .toasts{left:18px;right:18px;bottom:calc(var(--dock-clearance) + 4px)}.toasts>div{font-size:.77rem;max-width:100%}
 dialog.sheet{margin:auto 0 0;left:0;right:0;bottom:var(--keyboard-inset,0px);top:auto;width:100%;max-width:100%;max-height:calc(var(--visual-height,100dvh) - 16px - var(--safe-top));border-radius:30px 30px 0 0;border-bottom:0;animation:none;scroll-padding-block:88px 96px}
 dialog.sheet::before{height:4px;width:34px;margin:9px auto 0;background:var(--line);border-radius:10px}
 .sheet-form{padding:0 22px}.sheet-form>header{padding:16px 0 18px;margin-bottom:20px;background:var(--paper);gap:13px}.sheet-form header h2{font-size:1.32rem;line-height:1.28}.sheet-form>header .eyebrow{display:none}
 .sheet-form>.form-body{padding-bottom:18px;gap:19px}.sheet-form>footer{margin:0 -22px;padding:14px 22px calc(14px + var(--safe-bottom));gap:9px}.sheet-form>footer .btn{font-size:.79rem;min-height:50px;padding:12px 15px}.sheet-form>footer .actions{gap:8px}
 .field{font-size:.77rem;margin-bottom:18px}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{font-size:16px;min-height:51px;padding:13px 14px}
 .stage-summary{padding:21px;border-radius:23px}.stage-address{font-size:.97rem}.stage-metadata{font-size:.74rem}.stage-actions{gap:9px}.stage-actions button{min-height:83px;font-size:.77rem;padding:15px 13px;border-radius:18px}.stage-kind{font-size:.75rem}.stage-emblem{width:56px;height:56px;border-radius:18px;right:13px;top:13px}.stage-emblem svg{width:33px}
 .appearance-intro{font-size:.8rem}.appearance-group{margin:10px 0 18px}.appearance-group legend{font-size:.87rem}.appearance-options{gap:8px}.appearance-choice{padding:10px;border-radius:17px}.appearance-choice-copy strong{font-size:.73rem}.appearance-choice-copy small{font-size:.62rem;line-height:1.55}.theme-preview{height:92px;padding:9px;border-radius:11px}.palette-preview{height:30px}.appearance-entry{padding:21px;gap:14px}.appearance-entry h2{font-size:1.17rem}.appearance-entry .btn{width:100%;justify-content:space-between}.shortcut-picker>label{font-size:.71rem;line-height:1.45;min-height:52px}
}
@media(max-width:360px){
 .content{padding-inline:16px}.topbar{padding-inline:16px}.top-actions{gap:4px}.mobile-context>span{max-width:40vw}.atelier-cover{min-height:255px}.atelier-cover h1{font-size:1.94rem}.atelier-cover .trip-hero-copy{padding:103px 20px 27px}.atelier-cover .trip-hero-top{inset-inline:14px}.trip-passport{margin-inline:4px}.trip-passport strong{font-size:.7rem}.trip-passport small{font-size:.59rem}
 .day-desk-heading{align-items:flex-start;flex-wrap:wrap}.day-heading-copy{flex:1 1 145px}.day-desk-pager{margin-left:auto}.day-desk-heading h2{font-size:1.15rem}.journey-day-card{padding:18px}.day-next-mark{width:38px;min-width:38px;height:42px;border-radius:13px}.day-next-stop{gap:10px}.day-next-stop h3{font-size:1.05rem}.next-kicker{font-size:.54rem}.day-desk-actions{grid-template-columns:1fr}.day-desk-actions .btn{justify-content:space-between;font-size:.77rem}.day-ideas button{font-size:.63rem}.day-route-note{font-size:.64rem}
 .bottom-nav{left:9px;right:9px;border-radius:23px;padding-inline:4px;gap:0}.bottom-nav .tab-label{font-size:.6rem}.bottom-nav .tab-symbol{width:39px}.day-picker{margin-inline:0;padding-inline:2px}.tool-filters{margin-inline:0;padding-inline:2px}
 .day-programme{padding:16px}.stop-card{padding:13px}.timeline-rail{width:33px;min-width:33px}.stop-primary-actions{flex-direction:column}.stop-primary-actions .btn{justify-content:flex-start;padding-left:10px}.day-overview{flex-wrap:wrap}.personal-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sheet-form{padding-inline:18px}.sheet-form>footer{margin-inline:-18px;padding-inline:18px}.sheet-form header h2{font-size:1.23rem}.sheet-form>footer .actions{flex-wrap:wrap}.sheet-form>footer .btn{font-size:.76rem}.appearance-choice{padding:8px}.theme-preview{padding:7px;height:84px}.appearance-choice-copy strong{font-size:.69rem}.appearance-choice-copy small{font-size:.61rem}.choice-check{width:19px;height:19px;top:5px;right:5px}.stage-actions button{padding:13px 11px;font-size:.75rem}
}
@media(max-height:500px) and (pointer:coarse){
 .topbar{min-height:56px;padding-block:5px}.bottom-nav{min-height:56px;padding:3px 8px}.bottom-nav>a{min-height:48px;flex-direction:row;gap:5px}.bottom-nav .tab-symbol{width:32px;height:30px}.bottom-nav .tab-label{font-size:.64rem}.content{padding-top:16px}.atelier-cover{min-height:220px}.atelier-cover .trip-hero-copy{padding-top:85px}.home-focus-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
 dialog.sheet{max-height:calc(var(--visual-height,100dvh) - 8px);border-radius:22px 22px 0 0}.sheet-form>header{padding:10px 0;margin-bottom:16px}.sheet-form>footer{padding-block:10px}.sheet-form>footer .btn{min-height:44px}.sheet-form header h2{font-size:1.2rem}
}
:root[data-keyboard=open] .bottom-nav{visibility:hidden;pointer-events:none}

/* One screen should expose the next useful action, not only the cover and headings. */
.planning-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px;flex-wrap:nowrap}
.planning-mode{display:flex;align-items:stretch;gap:3px;border:0;border-radius:14px;background:var(--subtle);padding:4px;flex:1;max-width:360px;min-width:0}
.planning-mode button{border:0;background:transparent;color:var(--muted);border-radius:11px;min-height:44px;font-size:.78rem;font-weight:650;line-height:1.3;gap:7px;padding:10px 13px;flex:1;display:flex;align-items:center;justify-content:center}
.planning-mode button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:0 2px 5px #18374512}
.planner-wish-trigger{font-size:.78rem;flex-shrink:0;min-width:44px}
@media(max-width:900px){
 .atelier-cover{min-height:224px}.atelier-cover .trip-hero-copy{padding:81px 22px 25px;max-width:96%}.atelier-cover h1{font-size:1.83rem;line-height:1.08;margin-bottom:9px}.atelier-cover .trip-hero-copy p{font-size:.73rem}.atelier-cover .trip-hero-copy .cover-kicker{font-size:.53rem;margin-bottom:8px;letter-spacing:.09em}.atelier-cover .photo-caption{font-size:.56rem;bottom:6px}
 .atelier-cover.travel-cover{min-height:172px}.atelier-cover.travel-cover .trip-hero-copy{padding-top:64px;padding-bottom:23px}.atelier-cover.travel-cover h1{font-size:1.6rem}
 .trip-passport{padding:12px 4px 8px;margin-bottom:10px}.trip-passport>a{min-height:44px}.trip-passport small{font-size:.59rem}.sample-caption{font-size:.64rem;margin:8px 1px 12px}.journey-mode{margin:14px 0 16px}
 .day-desk-progress{margin:14px 0 17px}.day-next-stop p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.day-desk-actions{margin-top:17px}
 .view-planner>.page-heading,.planning-workspace>.page-heading{display:flex;align-items:center;flex-wrap:nowrap;gap:12px;margin-bottom:17px}.view-planner>.page-heading .eyebrow,.planning-workspace>.page-heading .eyebrow{display:none}.view-planner>.page-heading h1,.planning-workspace>.page-heading h1{font-size:1.65rem;margin:0}.view-planner>.page-heading .subtitle,.planning-workspace>.page-heading .subtitle{display:none}
 .view-planner>.page-heading>.actions,.planning-workspace>.page-heading>.actions{margin:0;flex-shrink:0}
 .view-planner>.page-heading>.actions .btn,.planning-workspace>.page-heading>.actions .btn{width:46px;min-width:46px;height:46px;min-height:46px;border-radius:16px;padding:0}.view-planner>.page-heading>.actions .btn span,.planning-workspace>.page-heading>.actions .btn span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .view-planner .day-picker{margin-bottom:10px;gap:8px}.view-planner .day-tab{min-width:90px;padding:11px 13px;min-height:84px;border-radius:16px}.view-planner .day-tab>span{font-size:.53rem}.view-planner .day-tab strong{font-size:.94rem;margin:4px 0}.view-planner .day-tab small{font-size:.58rem}
 .planning-toolbar{gap:8px;margin-bottom:16px}.planning-mode{padding:3px}.planning-mode button{font-size:.71rem;gap:5px;padding:9px 8px}.planning-mode button svg{width:16px;min-width:16px}.planner-wish-trigger{padding:8px 7px;font-size:.7rem;gap:5px}
 .day-heading .overline{font-size:.57rem}.day-heading h2{font-size:1.27rem}.day-heading{margin-bottom:12px}.day-overview{font-size:.65rem;padding:10px}.day-programme>.notice{font-size:.7rem;padding:10px 12px;line-height:1.5}.timeline{margin-top:18px}
 .appearance-choice[class*=palette-]{border-top-width:1px}.appearance-choice:has(input:checked){box-shadow:inset 0 0 0 1px var(--forest)}
}
@media(max-width:360px){.atelier-cover h1{font-size:1.65rem}.atelier-cover .trip-hero-copy{padding:77px 19px 24px}.atelier-cover{min-height:220px}.planning-mode button{font-size:.66rem;padding:9px 7px}.planner-wish-trigger span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.view-planner .page-heading h1{font-size:1.45rem}}
@media(max-width:900px){
 .timeline-stop{display:block;padding:0 0 18px}.timeline-rail{position:relative;inset:auto;display:flex;flex-direction:row;align-items:center;gap:10px;width:auto;min-width:0;min-height:30px;margin:0 0 12px}
 .timeline-rail::after{display:none}.timeline-rail time{order:2;margin:0;font-size:.73rem}.timeline-rail>span{order:1;position:static;margin:0;flex-shrink:0;width:28px;height:28px}
 .stop-card{position:relative;margin:0}.timeline-transfer{margin:14px 0 0 12px;border-left:1px dashed var(--line);padding-left:15px;min-height:25px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.bottom-nav>a:active,.btn:active,.round-btn:active,.tool-row:active,.day-tab:active{transform:none!important}}
:root[data-motion=reduce] *, :root[data-motion=reduce] *::before,:root[data-motion=reduce] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
:root[data-motion=reduce] .bottom-nav>a:active,:root[data-motion=reduce] .btn:active,:root[data-motion=reduce] .round-btn:active,:root[data-motion=reduce] .tool-row:active,:root[data-motion=reduce] .day-tab:active{transform:none!important}
@media(prefers-reduced-transparency:reduce){.topbar,.bottom-nav,.sheet-form>footer{background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none}dialog.sheet::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none;background:#081724b3}}
@media(prefers-contrast:more){:root{--line:#758792;--muted:#324d5c}:root[data-theme=dark]{--line:#97acba;--muted:#dfebf4}.card,.journey-day-card,.trip-passport,.stop-card,.tool-rows,.fleet-card{border-width:1.5px}.bottom-nav,.topbar{background:var(--paper)}.btn.secondary{border-color:var(--muted)}.day-up-next-row small{color:var(--ink)}}
@media(forced-colors:active){
 .welcome-copy h1{color:CanvasText!important;text-shadow:none}
 .atelier-cover,.trip-passport,.trip-passport a,.journey-day-card,.stage-summary,.theme-preview,.appearance-choice,.copilot-entry,.discovery-banner,.turn-card,.bottom-nav,.topbar,.tool-row,.tool-icon,.seat,.day-ideas button,.stage-actions button,.sheet-form>footer{background:Canvas!important;color:CanvasText!important;border:1px solid ButtonText;box-shadow:none;backdrop-filter:none}
 .atelier-cover>img,.atelier-cover .trip-hero-shade,.theme-preview i,.palette-preview,.copilot-entry::after,.place-visual::before{display:none}
 .atelier-cover h1,.atelier-cover .trip-hero-copy p,.cover-kicker,.atelier-cover .hero-date,.atelier-cover .photo-caption,.copilot-entry h2,.copilot-entry p,.copilot-entry .overline,.discovery-banner h2,.discovery-banner .eyebrow,.turn-card h2,.turn-card p,.turn-card>div>span{background:Canvas!important;color:CanvasText!important;text-shadow:none}
 .bottom-nav>a.active,.appearance-choice:has(input:checked){outline:2px solid Highlight;outline-offset:-3px}.choice-check{background:Highlight;color:HighlightText}.appearance-choice input{opacity:1}.tab-symbol{background:Canvas!important;color:CanvasText!important}.seat.occupied{border:2px solid Highlight}.theme-preview{min-height:40px}.stage-emblem{display:none}
}
@media print{.bottom-nav,.topbar,.sidebar,.home-final-actions,.day-ideas{display:none!important}.app-shell{margin:0;padding:0}.content{padding:0}.home-focus-grid{display:block}.atelier-cover{background:white;color:black;box-shadow:none}.trip-passport{break-inside:avoid}.sheet{box-shadow:none}}

@media(max-width:1100px){
 .topbar{padding-left:calc(20px + var(--safe-left));padding-right:calc(20px + var(--safe-right))}
 .content:not(.view-map){padding-left:max(18px,var(--safe-left));padding-right:max(18px,var(--safe-right))}
 .bottom-nav{left:max(12px,var(--safe-left));right:max(12px,var(--safe-right))}
 .sheet>.form-body,.sheet-form>.form-body{padding-left:max(0px,var(--safe-left));padding-right:max(0px,var(--safe-right))}
}

}

@layer atelier { .sync-recovery{border-inline-start:4px solid var(--accent)}.sync-recovery .section-heading{justify-content:flex-start;margin-bottom:12px}.sync-recovery .section-heading>div{min-width:0}.sync-recovery h2{overflow-wrap:anywhere}.sync-recovery details{margin:12px 0}.sync-recovery .actions{margin:12px 0}.sync-recovery details p{overflow-wrap:anywhere;margin-top:10px}.sync-recovery .fine{margin-bottom:0} }

@layer cartography {
/* R12 · The place is the bridge between map, evidence and actual itinerary.
   All color roles follow the six existing palette/theme combinations. */
.place-inspector-sheet{--sheet-max:660px;max-width:min(660px,calc(100vw - 24px))}
.place-inspector-sheet .form-body{padding-top:4px}
.place-portrait{display:flex;align-items:center;gap:18px;padding:22px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(140deg,var(--soft),var(--paper));margin-bottom:18px}
.place-portrait>div:last-child{min-width:0}.place-portrait h3{margin:4px 0 6px;font-size:1.45rem;line-height:1.18;overflow-wrap:anywhere}.place-portrait p{margin:0 0 7px;color:var(--muted);font-size:.83rem}.place-portrait small{font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--muted)}
.place-portrait-orbit{flex:none;width:68px;height:68px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--forest);background:var(--paper);box-shadow:0 0 0 7px color-mix(in srgb,var(--paper) 45%,transparent)}
.place-inspector-day{display:flex;gap:12px;align-items:end;margin:0 0 16px}.place-inspector-day .field{flex:1;min-width:0}.place-inspector-day>small{max-width:160px;color:var(--muted);font-size:.7rem;line-height:1.5;padding-bottom:10px;overflow-wrap:anywhere}
.place-inspector-tabs{display:flex;border:1px solid var(--line);border-radius:16px;background:var(--subtle);padding:5px;gap:4px;margin:0 0 21px}.place-inspector-tabs button{flex:1;min-width:0;min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-size:.81rem;font-weight:650}.place-inspector-tabs button[aria-pressed=true]{background:var(--paper);color:var(--forest);box-shadow:var(--shadow)}
.place-inspector-body{min-width:0}.place-inspector-body p{line-height:1.6}.place-inspector-body h3{font-size:1.08rem;margin:0 0 16px}.place-inspector-body .btn{min-width:0;white-space:normal}.place-inspector-body a{overflow-wrap:anywhere}
.place-evidence-badges{display:flex;flex-wrap:wrap;gap:6px}.place-overview>p{font-size:.88rem;color:var(--muted)}
.inspector-main-actions,.inspector-secondary-actions{display:grid;grid-template-columns:1fr;gap:10px;margin:16px 0}.inspector-secondary-actions{grid-template-columns:1fr 1fr}.inspector-secondary-actions .btn{font-size:.8rem}
.place-sun-preview{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--warm-soft);color:var(--warm);text-align:left;min-height:78px}.place-sun-preview>span{display:grid;grid-template-columns:32px 1fr;gap:3px 12px}.place-sun-preview>span>svg{grid-row:1/3;align-self:center}.place-sun-preview small{font-size:.79rem;color:var(--warm)}
.sunlight-card{position:relative;overflow:hidden;background:var(--warm-soft);border:1px solid var(--line);border-radius:24px;padding:22px;color:var(--ink)}.sunlight-lead{display:flex;align-items:center;justify-content:space-between;gap:14px}.sunlight-lead>div{display:grid;min-width:0;gap:5px}.sunlight-lead strong{font-size:3.1rem;line-height:1.1;color:var(--warm);letter-spacing:-.055em;font-variant-numeric:tabular-nums}.sunlight-lead span,.sunlight-lead small{font-size:.74rem;color:var(--muted);overflow-wrap:anywhere}
.sun-bearing-dial{width:125px;max-width:40%;flex:none;stroke:var(--warm);stroke-width:1;fill:none}.sun-bearing-dial text{stroke:none;fill:var(--muted);font-size:8px;font-weight:650}.sun-bearing-dial .sun-bearing-ray{stroke-width:2;stroke-dasharray:3 2}.sun-bearing-dial .sun-bearing-dot{fill:var(--warm);stroke:var(--paper);stroke-width:2}
.sunlight-events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:22px 0 12px;padding-top:18px;border-top:1px solid var(--line);gap:16px 10px}.sunlight-events div{min-width:0}.sunlight-events dt{color:var(--muted);font-size:.72rem;line-height:1.5}.sunlight-events dd{font-size:.99rem;line-height:1.4;font-weight:700;margin:4px 0 0;font-variant-numeric:tabular-nums;color:var(--ink)}
.sunlight-plan,.place-weather,.place-source{margin-top:22px;border:1px solid var(--line);border-radius:20px;padding:20px;background:var(--paper)}.place-source{margin-top:0}.sunlight-window{padding:12px 14px;background:var(--soft);border-radius:12px;color:var(--forest);font-size:.83rem;font-weight:650}.place-weather h3{display:flex;align-items:center;gap:9px}.source-facts{display:grid;gap:14px}.source-facts div{border-bottom:1px solid var(--line);padding-bottom:13px}.source-facts dt{font-size:.74rem;color:var(--muted)}.source-facts dd{font-size:.86rem;margin:5px 0 0;line-height:1.5;overflow-wrap:anywhere}
.map-day-rail{position:absolute;top:139px;left:20px;right:88px;z-index:6;display:flex;gap:6px;overflow:auto;scrollbar-width:none;pointer-events:none;padding:2px}.map-day-rail button{pointer-events:auto;min-width:44px;min-height:44px;flex:none;border:1px solid var(--line);border-radius:13px;background:var(--paper);color:var(--ink);font-size:.76rem;font-weight:650;padding:9px 12px}.map-day-rail button[aria-pressed=true]{background:var(--forest);color:var(--on-accent);border-color:var(--forest)}
.map-day-rail button:focus-visible{outline-offset:-3px}.map-floating-tools{top:139px;gap:9px}.map-source-context{border:1px solid var(--line);border-radius:14px;padding:0 12px;margin:12px 0}.map-source-context summary{min-height:44px;display:flex;align-items:center;font-size:.77rem;color:var(--muted);cursor:pointer}
.map-marker.poi,.map-marker.place{display:flex;justify-content:center;align-items:center}.map-marker.poi>svg,.map-marker.place>svg{flex:none;pointer-events:none}.map-selection-halo{stroke:var(--forest);stroke-width:3;fill:color-mix(in srgb,var(--forest) 16%,transparent)}.map-sun-ray{fill:none;stroke:var(--warm);stroke-width:4;stroke-dasharray:7 4}.map-sun-dot{fill:var(--warm);stroke:var(--paper);stroke-width:3}
.map-scale{position:absolute;bottom:28px;left:14px;z-index:3;border:2px solid var(--ink);border-top:0;color:var(--ink);background:var(--glaze);font-size:10px;font-weight:650;text-align:center;line-height:19px;white-space:nowrap;pointer-events:none}.map-north{position:absolute;right:15px;bottom:30px;z-index:3;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:7px 9px;font-size:12px;font-weight:700;pointer-events:none}
.explorer-map .map-scale{top:206px;bottom:auto;left:20px}.explorer-map .map-north{top:252px;bottom:auto;right:24px}.explorer-map .map-controls{top:202px;left:auto;right:82px;bottom:auto;flex-direction:column}.explorer-map .map-north{display:none}.explorer-map .map-controls button{border-right:0}.explorer-map .map-attribution{max-height:none;overflow:visible;background:var(--paper);color:var(--muted);font-size:.62rem;line-height:1.45}.explorer-map .map-tile-status{top:238px;left:20px;max-width:calc(100% - 96px)}
@media(max-width:760px){
 .place-inspector-sheet{max-width:100%;width:100%}.place-portrait{padding:18px;gap:14px}.place-portrait h3{font-size:1.3rem}.place-portrait-orbit{width:52px;height:52px}.place-inspector-day>small{max-width:104px;font-size:.67rem}
 .sunlight-card{padding:18px}.sunlight-lead strong{font-size:2.9rem}.sunlight-plan,.place-weather,.place-source{padding:17px}.sunlight-events{gap:14px 9px;grid-template-columns:repeat(2,minmax(0,1fr))}.inspector-secondary-actions{grid-template-columns:1fr}
 .map-day-rail{top:128px;left:14px;right:69px}.map-floating-tools{top:128px;right:14px}.explorer-map .map-controls{top:239px;left:auto;right:14px}.explorer-map .map-scale{top:190px;left:14px}.explorer-map .map-tile-status{top:220px;left:14px;max-width:calc(100% - 90px);font-size:.66rem}
 .explorer-map.sheet-expanded .map-controls,.explorer-map.sheet-expanded .map-floating-tools,.explorer-map.sheet-expanded .map-scale,.explorer-map.sheet-expanded .map-day-rail{visibility:hidden;pointer-events:none}
 .explorer-map.sheet-expanded .map-tile-status{top:126px}.explorer-map .explorer-sheet{bottom:27px;max-height:calc(100% - 144px)}
 .map-filter-rail{top:77px;left:14px;right:14px}.map-layer-pill{min-height:44px;font-size:.7rem;padding-inline:10px;flex:none}
}
@media(max-width:350px){.place-inspector-tabs button{font-size:.74rem;gap:5px}.place-inspector-tabs svg{width:16px}.place-portrait{padding:16px;gap:12px}.place-portrait-orbit{width:42px;height:42px}.place-portrait-orbit svg{width:28px}.sun-bearing-dial{max-width:38%}.place-inspector-day{align-items:stretch;flex-direction:column;gap:0}.place-inspector-day>small{max-width:none}}
@media(prefers-reduced-motion:no-preference){.place-sun-preview{transition:background 140ms ease,transform 140ms ease}.place-sun-preview:active{transform:scale(.985)}}
@media(forced-colors:active){.map-selection-halo,.map-sun-ray{stroke:Highlight}.map-sun-dot{fill:Highlight}.sun-bearing-dial{stroke:CanvasText}.sun-bearing-dial .sun-bearing-dot{fill:CanvasText}.sun-bearing-dial text{fill:CanvasText}.place-sun-preview{border:2px solid ButtonText}.map-day-rail button[aria-pressed=true]{border:3px solid Highlight}}

/* Do not spend the first mobile screen on repeated headers and margins. */
.place-inspector-sheet .form-body{display:block}.place-inspector-sheet .form-body>.place-inspector-body{margin-top:0}
.place-inspector-sheet .place-portrait{margin:0 0 14px;padding:16px;gap:14px}.place-inspector-sheet .place-portrait h3{font-size:1.13rem}.place-inspector-sheet .place-portrait p{font-size:.76rem;line-height:1.4}.place-inspector-sheet .place-portrait-orbit{width:48px;height:48px}
.place-inspector-sheet .place-inspector-day{margin:0 0 14px}.place-inspector-sheet .place-inspector-day .field{margin:0}.place-inspector-day select{min-height:44px;padding-block:8px}
.place-inspector-sheet .place-inspector-tabs{margin:0 0 16px}.place-inspector-sheet .sunlight-card .eyebrow{display:block;margin:0}
.place-inspector-sheet footer .actions{width:100%}.place-inspector-sheet footer .actions .btn{width:100%}
@media(max-width:760px){
 .place-inspector-sheet .sunlight-card{padding:16px}.place-inspector-sheet .place-portrait{padding:14px}.place-inspector-sheet .place-portrait p{margin-bottom:5px}
 .place-inspector-sheet .sunlight-events{margin-top:16px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 8px}.place-inspector-sheet .sunlight-events dt{font-size:.67rem}.place-inspector-sheet .sunlight-events dd{font-size:.9rem}
 .explorer-map:not(.sheet-expanded) .explorer-sheet{max-height:236px}.explorer-map:not(.sheet-expanded) .map-sheet-scroll{max-height:112px}.explorer-map:not(.sheet-expanded) .map-offline-line{display:none}
 .explorer-map .map-controls{top:185px;left:14px;right:auto;flex-direction:row}.explorer-map .map-controls button{border:1px solid var(--line)}.explorer-map .map-scale{top:244px}.explorer-map .map-tile-status{top:272px}
}

.map-inspection-caption{position:absolute;z-index:5;bottom:45px;left:14px;right:14px;max-width:440px;display:flex;align-items:center;gap:10px;padding:4px 5px 4px 12px;border:1px solid var(--line);border-radius:15px;background:var(--warm-soft);color:var(--warm);box-shadow:var(--shadow)}
.map-inspection-caption[hidden]{display:none}.map-inspection-caption>span{font-size:.74rem;line-height:1.5;flex:1;overflow-wrap:anywhere}.map-inspection-caption button{width:44px;height:44px;flex:none;border:0;border-radius:12px;background:transparent;color:var(--warm);font-size:1.5rem}
.explorer-map .map-inspection-caption{bottom:274px}.explorer-map.sheet-expanded .map-inspection-caption{visibility:hidden;pointer-events:none}
@media(max-width:760px){.explorer-map .map-inspection-caption{bottom:271px}.map-inspection-caption>span{font-size:.69rem}}
/* A selected solar direction needs map space, not the unrelated route summary.
   Keep the drawer handle/tabs reachable; expanding it still reveals all content. */
.explorer-map:not(.sheet-expanded) .map-has-bearing ~ .explorer-sheet{max-height:100px}
.explorer-map:not(.sheet-expanded) .map-has-bearing ~ .explorer-sheet .map-availability,
.explorer-map:not(.sheet-expanded) .map-has-bearing ~ .explorer-sheet .map-sheet-scroll{display:none}
.explorer-map .map-has-bearing .map-inspection-caption{bottom:140px}
@media(max-height:700px){
 .explorer-map:not(.sheet-expanded) .map-has-bearing ~ .map-search-bar,
 .explorer-map:not(.sheet-expanded) .map-has-bearing ~ .map-filter-rail{display:none}
 .explorer-map:not(.sheet-expanded) .map-has-bearing ~ .map-day-rail{top:10px}
 .explorer-map:not(.sheet-expanded) .map-has-bearing ~ .map-floating-tools{top:10px}
 .explorer-map:not(.sheet-expanded) .map-has-bearing .map-controls{top:65px;left:14px;right:auto;flex-direction:row}
 .explorer-map:not(.sheet-expanded) .map-has-bearing .map-scale{top:122px}
 .explorer-map:not(.sheet-expanded) .map-has-bearing .map-tile-status{top:151px}
 .explorer-map .map-has-bearing .map-inspection-caption{bottom:136px}
}
}

@layer cartography {
 .vector-canvas {position:absolute;inset:0;}
 .journey-map-gl {isolation:isolate;}
 .vector-startup {position:absolute;inset:25% 6% auto;display:grid;gap:18px;padding:24px;text-align:center;border-radius:24px;background:var(--paper,#fff);color:var(--ink,#173d36);box-shadow:0 12px 40px #12292726;}
 .vector-startup button {justify-self:center;}
 .vector-map-status:empty {display:none;}
 .vector-fit {position:absolute;right:10px;bottom:158px;z-index:3;width:44px;height:44px;}
 .vector-pin {display:grid;place-items:center;min-width:44px;min-height:44px;border:3px solid #fff;border-radius:16px;background:#116a5c;color:#fff;font-size:17px;font-weight:800;box-shadow:0 3px 10px #152c3a40;cursor:pointer;}
 .vector-pin.crew {background:#273c71;}.vector-pin.stale {opacity:.55;border-style:dashed;}
 .vector-pin.place {background:#b07512;}.vector-pin.self {border-radius:50%;background:#2763c8;}
 .vector-cluster-count {min-width:44px;min-height:44px;border:0;border-radius:50%;background:transparent;color:white;font-weight:800;cursor:pointer;}
 .journey-map-gl .mapboxgl-ctrl-bottom-right,.journey-map-gl .maplibregl-ctrl-bottom-right {bottom:52px;}
 .journey-map-gl .mapboxgl-ctrl-group button,.journey-map-gl .maplibregl-ctrl-group button {width:44px;height:44px;}
 .journey-map-gl .mapboxgl-ctrl-attrib,.journey-map-gl .maplibregl-ctrl-attrib {font-size:10px;max-width:calc(100vw - 24px);}
 .cartography-intro h3 {font-size:clamp(1.45rem,5vw,2rem);line-height:1.17;letter-spacing:-.035em;margin:10px 0;}
 .cartography-intro p,.cartography-dataset p {line-height:1.5;}
 .cartography-engines {display:grid;gap:12px;border:0;padding:0;margin:24px 0;min-width:0;}
 .cartography-engines legend {font-weight:700;margin-bottom:10px;}
 .cartography-engine {display:grid;grid-template-columns:24px 70px minmax(0,1fr);align-items:center;gap:12px;border:1px solid var(--line,#d6e3df);padding:14px;border-radius:22px;cursor:pointer;}
 .cartography-engine:has(input:checked) {outline:2px solid var(--forest,#176e5a);background:color-mix(in srgb,var(--forest,#176e5a) 8%,var(--paper,#fff));}
 .cartography-engine strong,.cartography-engine small {display:block;}.cartography-engine small {margin-top:5px;line-height:1.4;}
 .cartography-engine.unavailable {cursor:default;}.cartography-engine input {width:22px;height:22px;}
 .cartography-preview {display:block;position:relative;width:70px;height:72px;overflow:hidden;border-radius:15px;background:linear-gradient(40deg,#cae4da,#e0eee2 50%,#adceda);}
 .cartography-preview:before {content:'';position:absolute;width:100px;height:7px;background:#fff;transform:rotate(-40deg);top:40px;left:-12px;box-shadow:0 0 0 1px #95b6a7;}
 .cartography-preview i {position:absolute;width:35px;height:35px;left:10px;top:6px;border-radius:50%;border:4px solid #248b76;border-right:0;border-bottom:0;transform:rotate(20deg);}
 .cartography-preview.mapbox {background:linear-gradient(120deg,#456e67,#a2af83 40%,#354b58);}.cartography-preview.maplibre {background:linear-gradient(45deg,#dce5f3,#c1d8e2 50%,#daebd3);}
 .cartography-options {display:grid;gap:16px;}.cartography-options label {display:grid;gap:8px;}.cartography-options label.check {display:flex;align-items:center;}
 .cartography-dataset {margin-top:24px;padding:20px;border:1px solid var(--line,#dae5e1);border-radius:22px;overflow-wrap:anywhere;}
 .cartography-dataset>strong {display:block;font-size:1.6rem;margin:8px 0;letter-spacing:-.03em;}
 @media(max-width:360px){.cartography-engine{grid-template-columns:22px 48px minmax(0,1fr);gap:8px;padding:10px;}.cartography-preview{width:48px;}}
}
@layer cartography { .map-engine-label {position:absolute;top:calc(178px + env(safe-area-inset-top,0px));left:12px;z-index:3;pointer-events:none;font-size:11px;font-weight:700;padding:5px 9px;border-radius:99px;background:var(--paper,#fff);color:var(--ink,#153e35);box-shadow:0 2px 8px #10251f1a;} }

@layer cartography {
 .cartography-sheet .cartography-options,.cartography-sheet label,.cartography-sheet select{min-width:0;max-width:100%;}
 .cartography-sheet select {width:100%;}
 .cartography-sheet .cartography-engine strong,.cartography-sheet .cartography-engine small {overflow-wrap:anywhere;}
 .cartography-sheet .form-body {display:block;}
 .cartography-sheet .check input {flex:none;}
 @media(max-width:360px){.cartography-sheet .cartography-engine{grid-template-columns:24px minmax(0,1fr);}.cartography-sheet .cartography-preview{display:none;}}
}

@layer cartography {
 /* SDK navigation must stay above the itinerary drawer; attribution stays at the bottom. */
 .explorer-map .journey-map-gl .mapboxgl-ctrl-bottom-right,.explorer-map .journey-map-gl .maplibregl-ctrl-bottom-right{top:239px;bottom:auto;right:8px;}
 .explorer-map .journey-map-gl .vector-fit{top:386px;bottom:auto;right:18px;}
 .explorer-map.sheet-expanded .journey-map-gl .mapboxgl-ctrl-bottom-right,.explorer-map.sheet-expanded .journey-map-gl .maplibregl-ctrl-bottom-right,.explorer-map.sheet-expanded .vector-fit{visibility:hidden;pointer-events:none;}
 @media(max-height:500px){.explorer-map .journey-map-gl .mapboxgl-ctrl-bottom-right,.explorer-map .journey-map-gl .maplibregl-ctrl-bottom-right{top:100px;}.explorer-map .journey-map-gl .vector-fit{top:248px;}}
}

@layer copilot {
/* R14 – a practical creation canvas. Semantic light/dark tokens, no web font,
   fake imagery, simulated task progress, or dependency on a remote animation library. */
.copilot-composer{max-width:1060px;margin:0 auto;display:grid;gap:22px;min-width:0}
.composer-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin:8px 0 2px}.composer-title h1{font-size:clamp(1.75rem,4.8vw,3rem);margin:10px 0}.composer-title p{color:var(--muted);font-size:.94rem;line-height:1.65;max-width:620px}.composer-title>.btn{flex:none}
.composer-steps{display:flex;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:10px;gap:5px}.composer-steps>span{flex:1;display:flex;align-items:center;gap:9px;padding:9px;color:var(--muted);font-size:.8rem;font-weight:650;min-width:0}.composer-steps b{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;background:var(--subtle);font-size:.78rem}.composer-steps .current{color:var(--forest);background:var(--soft);border-radius:13px}.composer-steps .current b{background:var(--forest);color:var(--on-accent)}.composer-steps .complete b{background:var(--soft);color:var(--forest)}
.composer-prompt,.composer-brief-card,.composer-endpoint,.composer-dates,.composer-research,.composer-launch,.composer-intro{background:var(--paper);border:1px solid var(--line);border-radius:26px;padding:26px;box-shadow:var(--shadow)}
.composer-prompt{background:linear-gradient(140deg,var(--paper) 70%,var(--violet-soft));border-top:3px solid var(--violet)}.composer-prompt fieldset,.composer-review-form>fieldset{padding:0;margin:0;border:0;min-width:0;display:grid;gap:22px}.composer-prompt-heading{display:flex;gap:16px;align-items:flex-start}.composer-star,.composer-pin{display:grid;place-items:center;width:48px;height:48px;background:var(--violet-soft);color:var(--violet);border-radius:17px;flex:none}.composer-prompt-heading h2{font-size:1.3rem;margin:0 0 7px}.composer-prompt-heading p{font-size:.87rem;line-height:1.65;color:var(--muted);margin:0}.composer-prompt textarea{min-height:168px;background:var(--input-bg);border:1px solid var(--line);padding:18px;font-size:1rem;line-height:1.75;border-radius:18px;resize:vertical;max-height:60vh}.composer-examples{display:flex;flex-wrap:wrap;gap:8px}.composer-examples .btn{font-size:.78rem;border:1px solid var(--line);background:var(--paper);color:var(--ink);min-height:44px}
.composer-submit{width:100%;justify-content:center;min-height:56px!important;font-size:.94rem!important;border-radius:17px!important}.composer-submit>svg:last-child{margin-left:auto}.composer-submit>span{margin-right:auto}.composer-without-ai{display:flex;align-items:center;flex-wrap:wrap;gap:5px 16px;font-size:.8rem;color:var(--muted)}
.composer-local{padding:6px 3px;display:grid;gap:10px;color:var(--muted);font-size:.8rem}.composer-local>span{display:flex;align-items:center;gap:8px}.composer-local>div{display:flex;flex-wrap:wrap}.composer-local small{line-height:1.6;max-width:750px}.composer-local .btn{font-size:.78rem;min-height:44px;padding:8px}
.composer-brief-card{background:var(--soft);border-color:transparent;box-shadow:none}.composer-brief-card h2{margin:10px 0 16px;font-size:1.45rem}.composer-wishes{display:flex;flex-wrap:wrap;gap:9px}.composer-wishes>span{background:var(--paper);color:var(--ink);padding:8px 11px;display:flex;gap:8px;align-items:flex-start;font-size:.82rem;line-height:1.6;border-radius:12px;max-width:100%}.composer-wishes svg{color:var(--forest);flex:none;margin-top:4px}
.composer-endpoints{display:grid;grid-template-columns:1fr 1fr;gap:16px}.composer-endpoint{padding:20px;min-width:0}.composer-endpoint-heading{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.composer-endpoint-heading h3{font-size:1.05rem;margin:0;flex:1}.composer-pin{width:36px;height:36px;border-radius:12px;color:var(--forest);background:var(--soft)}.composer-chosen{border-left:3px solid var(--forest);padding:6px 14px;margin:16px 0}.composer-chosen strong{font-size:1.1rem}.composer-chosen p{font-size:.85rem;color:var(--muted);margin:7px 0}.composer-chosen small{font-size:.74rem;color:var(--muted)}.composer-endpoint-results{display:grid;gap:8px;margin-top:15px}.composer-place{border:1px solid var(--line);background:var(--input-bg);border-radius:14px;padding:13px;display:flex;align-items:center;gap:12px;text-align:left;min-height:64px;color:var(--ink)}.composer-place>span:last-child{display:grid;gap:5px;min-width:0}.composer-place strong{font-size:.87rem}.composer-place small{color:var(--muted);font-size:.75rem;line-height:1.5}.composer-place.selected{background:var(--soft);border-color:var(--forest)}.composer-radio{border:1.5px solid var(--line);width:21px;height:21px;display:grid;place-items:center;border-radius:50%;flex:none}.selected .composer-radio{background:var(--forest);color:var(--on-accent);border-color:var(--forest)}.composer-search-row{display:flex;gap:8px;align-items:flex-end}.composer-search-row>.field{flex:1;min-width:0}.composer-search-row>.btn{padding:12px;flex:none}.composer-find-more{margin-top:12px}.composer-find-more summary{font-size:.83rem;color:var(--forest);padding:12px 0;min-height:44px}.composer-loop{display:grid;place-content:center;text-align:center;color:var(--forest);gap:12px}.composer-loop>svg{margin:auto}.composer-loop p{color:var(--muted);font-size:.85rem;line-height:1.6}
.composer-dates h2{font-size:1.3rem;margin:8px 0 20px}.composer-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.composer-review-form input,.composer-review-form select{max-width:100%;min-width:0}.composer-review-form input[type=date]{min-height:48px}.composer-target-list{display:grid;gap:0}.composer-target-list>article{display:flex;align-items:center;gap:13px;padding:15px 0;border-top:1px solid var(--line)}.composer-target-list>article>div{flex:1;min-width:0}.composer-target-list h3{font-size:.95rem;margin:0 0 7px}.composer-target-list p{font-size:.8rem;margin:0;color:var(--muted)}.composer-target-number{display:grid;place-items:center;background:var(--soft);color:var(--forest);width:29px;height:29px;border-radius:11px;flex:none;font-size:.83rem;font-weight:700}.composer-target-list .btn{font-size:.76rem;padding:10px;flex:none}.composer-settings{padding:0 20px;border:1px solid var(--line);border-radius:18px;background:var(--paper);min-width:0}.composer-settings>summary{display:flex;gap:12px;align-items:center;font-weight:650;font-size:.9rem;min-height:58px;cursor:pointer}.composer-settings[open]{padding-bottom:20px}.composer-settings .composer-field-grid{margin:12px 0 20px}.composer-settings p{font-size:.83rem;line-height:1.65}.composer-launch{display:grid;gap:15px}.composer-launch .check-field{margin:0}.composer-review-form .fine{margin:0;line-height:1.65}
.copilot-progress{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;background:var(--violet-soft);border:1px solid var(--line);color:var(--ink);border-radius:20px;padding:20px}.copilot-progress strong{display:block;line-height:1.5;font-size:.92rem}.copilot-progress p{font-size:.8rem;margin:5px 0 0;color:var(--muted)}.copilot-progress ol{grid-column:1/-1;list-style:none;display:flex;flex-wrap:wrap;gap:9px;padding:0;margin:0}.copilot-progress li{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.76rem}.copilot-progress li>span{width:22px;height:22px;border-radius:50%;background:var(--paper);display:grid;place-items:center}.copilot-progress li.active{font-weight:750;color:var(--violet)}.copilot-progress li.active>span{background:var(--violet);color:var(--paper)}.copilot-progress>.fine{grid-column:1/-1}.copilot-orbit{color:var(--violet);width:44px;height:44px;border:1px solid var(--line);background:var(--paper);border-radius:16px;display:grid;place-items:center;animation:copilot-breathe 1.5s ease-in-out infinite alternate}@keyframes copilot-breathe{from{transform:scale(.94);opacity:.8}to{transform:scale(1);opacity:1}}
.composer-result-heading{padding:8px 0}.composer-result-heading h2{font-size:1.7rem;margin:4px 0 15px}.composer-result-metrics{display:flex;flex-wrap:wrap;gap:10px 20px}.composer-result-metrics>span{display:flex;align-items:center;gap:7px;font-size:.88rem;color:var(--muted)}.composer-result-heading p{font-size:.84rem;color:var(--muted);line-height:1.65}.composer-options{display:grid;gap:18px}.composer-option{border:1px solid var(--line);background:var(--paper);border-radius:24px;box-shadow:var(--shadow);overflow:hidden;min-width:0}.composer-option[open]{border-color:var(--forest)}.composer-option>summary{list-style:none;display:grid;gap:11px;padding:23px;cursor:pointer}.composer-option>summary>strong{font-size:1.16rem;line-height:1.45;letter-spacing:-.02em}.composer-option-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.composer-option-top>b{color:var(--forest);font-size:.85rem}.composer-option-stats{font-size:.88rem}.composer-option>summary>small{color:var(--muted);font-size:.78rem}.composer-option-body{padding:0 24px 24px;display:grid;gap:18px}.composer-day h3{display:flex;justify-content:space-between;gap:10px;align-items:baseline;border-top:1px solid var(--line);padding-top:18px;font-size:1rem}.composer-day h3 small{font-size:.75rem;font-weight:400;color:var(--muted)}.composer-day article{display:flex;gap:17px;margin-left:6px;position:relative;padding:0 0 20px;border-left:1px solid var(--line)}.composer-day article:last-child{border:0;padding-bottom:0}.composer-day-dot{width:9px;height:9px;background:var(--forest);border:3px solid var(--paper);border-radius:50%;box-sizing:content-box;flex:none;margin-left:-8px;margin-top:4px}.composer-day article>div{min-width:0;flex:1}.composer-day strong{font-size:.94rem}.composer-day p{font-size:.8rem;margin:6px 0;color:var(--muted)}.composer-day small{font-size:.7rem;display:block;color:var(--muted)}.composer-day .btn{font-size:.76rem;margin-top:4px;padding:8px 0;min-height:44px}.composer-evidence{padding:14px;border-radius:14px;background:var(--subtle)}.composer-evidence>summary{font-size:.85rem;min-height:44px;display:flex;align-items:center}.composer-evidence p{font-size:.83rem;line-height:1.65}.composer-confirm{padding:10px 0 18px}.composer-confirm p{color:var(--muted)}
.mission-practical{margin:20px 0;background:var(--paper);border:1px solid var(--line);border-radius:23px;padding:22px;display:grid;gap:15px}.mission-practical h2{margin:0;font-size:1.3rem}.mission-practical>.actions{display:flex;flex-wrap:wrap}.mission-practical .fine{color:var(--muted);margin:0;line-height:1.65}.mission-refinement{border:1px solid var(--violet);background:var(--violet-soft);padding:20px;border-radius:20px;margin:20px 0}.mission-refinement p{font-size:.87rem;line-height:1.6}.mission-place-feedback{display:flex;justify-content:space-between;align-items:center;gap:10px}.mission-place-feedback .btn{font-size:.75rem;flex:none;min-height:44px}
@media(min-width:1000px){.composer-options{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.composer-option-body{padding:0 18px 20px}.composer-option>summary{padding:20px}.composer-option-top{display:grid}.composer-prompt{padding:36px}.composer-prompt textarea{min-height:170px}}
@media(max-width:600px){.copilot-composer{gap:18px}.composer-title h1{font-size:1.88rem}.composer-title p{font-size:.86rem}.composer-title>.btn{padding:8px;min-width:44px}.composer-steps{padding:7px;gap:3px;border-radius:16px}.composer-steps>span{flex-direction:column;gap:7px;text-align:center;font-size:.7rem;padding:9px 4px;line-height:1.5}.composer-prompt,.composer-brief-card,.composer-dates,.composer-research,.composer-launch{padding:20px;border-radius:22px}.composer-prompt-heading{gap:11px}.composer-prompt-heading h2{font-size:1.13rem}.composer-star{width:42px;height:42px;border-radius:14px}.composer-endpoints{grid-template-columns:1fr}.composer-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.composer-field-grid .field:last-child:nth-child(odd){grid-column:1/-1}.composer-prompt textarea{padding:14px;min-height:180px}.composer-search-row>.btn>span{font-size:.76rem}.composer-search-row>.btn svg{display:none}.composer-target-list>article{gap:9px}.composer-target-list .btn{padding:8px}.composer-target-number{width:25px;height:25px;border-radius:9px}.composer-options{gap:15px}.composer-option>summary{padding:20px}.composer-local .btn{font-size:.72rem}.mission-place-feedback{display:block}.composer-target-list h3{overflow-wrap:anywhere}}
@media(max-width:350px){.composer-field-grid{grid-template-columns:1fr}.composer-prompt,.composer-dates,.composer-research,.composer-launch,.composer-endpoint{padding:16px}.composer-target-list>article{flex-wrap:wrap}.composer-target-list>article>.btn{margin-left:34px}.composer-examples .btn{font-size:.73rem}.composer-title h1{font-size:1.7rem}}
@media(prefers-reduced-motion:reduce){.copilot-orbit{animation:none}}:root[data-motion=quiet] .copilot-orbit{animation:none}
@media(forced-colors:active){.composer-place.selected,.composer-option[open],.composer-steps .current{outline:2px solid Highlight}.composer-radio,.composer-day-dot{forced-color-adjust:none;background:Canvas;color:CanvasText;border-color:CanvasText}}
.composer-inspiration>summary,.composer-privacy>summary,.composer-candidates>summary{cursor:pointer;color:var(--forest);min-height:44px;display:flex;align-items:center;font-size:.8rem;font-weight:550}.composer-privacy p{font-size:.8rem;color:var(--muted);line-height:1.7}.composer-inspiration .composer-examples{margin-top:8px}.composer-context-pills{display:flex;gap:9px;flex-wrap:wrap;margin:0}.composer-context-pills>span{display:inline-flex;align-items:center;gap:7px;font-size:.79rem;background:var(--soft);color:var(--ink);padding:8px 12px;border-radius:20px}.composer-refinement fieldset,.mission-refinement fieldset{padding:0;margin:16px 0;border:0;min-width:0;display:grid;gap:16px}.mission-refinement details>summary{min-height:44px;cursor:pointer}.composer-refinement .actions{display:flex;flex-wrap:wrap}.composer-option>summary::-webkit-details-marker{display:none}
@media(max-width:600px){.composer-title{margin:0}.composer-title .overline{font-size:.62rem}.composer-title h1{font-size:1.85rem;margin:8px 0}.composer-title p{margin:0}.composer-steps>span{flex-direction:row;font-size:.67rem;line-height:1.3;padding:8px 4px;gap:6px}.composer-steps b{width:23px;height:23px;font-size:.71rem}.composer-prompt textarea{min-height:125px}.composer-prompt-heading h2{font-size:1.05rem}.composer-prompt-heading p{font-size:.8rem;margin:5px 0 0}.composer-prompt-heading{margin-bottom:15px}.composer-prompt fieldset{gap:12px}.composer-inspiration>summary,.composer-privacy>summary{font-size:.76rem}.composer-candidates[open]>.composer-endpoint-results{margin-top:0}.composer-result-heading h2{font-size:1.4rem}.composer-day h3{flex-wrap:wrap}}
:root[data-motion=reduce] .copilot-orbit{animation:none}


.composer-prompt .composer-inspiration,.composer-prompt .composer-privacy{border:0;border-radius:0;padding:0;margin:0;background:transparent;box-shadow:none}.composer-prompt .composer-inspiration>summary,.composer-prompt .composer-privacy>summary{padding:0;min-height:44px}
@media(max-width:600px){.composer-prompt-heading{margin-bottom:7px}.composer-prompt fieldset{gap:10px}.composer-title h1{font-size:1.7rem}.composer-prompt .check-field{margin:0}}
}

@layer copilot {
  .composer-kept { background:var(--paper); border:1px solid var(--line); border-inline-start:4px solid var(--accent); border-radius:22px; padding:20px; margin-block:20px; }
  .composer-kept h2 { font-size:1.05rem; margin:.35rem 0; }
  .composer-kept .section-title { gap:12px; align-items:center; flex-wrap:wrap; }
  .composer-kept-list { display:grid; gap:8px; margin-block:12px; }
  .composer-kept-list>div { display:flex; gap:12px; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); padding-bottom:8px; }
  .composer-kept-list>div>span { display:flex; gap:9px; align-items:center; min-width:0; }
  .composer-kept-list strong { overflow-wrap:anywhere; }
  .composer-kept-list .btn { flex-shrink:0; }
  .composer-place-actions { display:flex; flex-wrap:wrap; gap:6px; padding-block:6px; }
  .composer-place-actions .btn { min-height:44px; white-space:normal; text-align:start; }
  @media(max-width:380px) { .composer-kept { padding:14px; } .composer-place-actions { flex-direction:column; align-items:start; } }
}
@layer copilot {
 .composer-history { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-block:14px; }
 .composer-history small { color:var(--muted); }
}

@layer copilot {
 .composer-choice-info {background:none!important;box-shadow:none!important;border:0!important;padding:0!important;margin:0 0 8px!important;}
 .composer-choice-info>summary {min-height:44px;display:flex;align-items:center;font-size:.78rem;color:var(--muted);cursor:pointer;}
 .composer-kept .overline {font-size:.64rem;}
 .composer-kept-list>div>span {flex-wrap:wrap;}
}

@layer copilot {
 .composer-kept-heading {display:flex;gap:9px;align-items:center;flex-wrap:wrap;color:var(--ink);font-size:.95rem;}
 .composer-kept-chips {display:flex;gap:7px;flex-wrap:wrap;list-style:none;padding:0;margin:12px 0 0;}
 .composer-kept-chips li {max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--soft);color:var(--forest);padding:6px 10px;border-radius:12px;font-size:.8rem;}
 .composer-kept .composer-choice-info {margin-bottom:0!important;}
 .composer-kept .composer-choice-info>summary {padding:0;margin-top:8px;}
}
