:root{color:var(--ink);background:var(--canvas);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;letter-spacing:0;font-size:100%;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,select,input{font:inherit}button,select,input,textarea,summary,a{-webkit-tap-highlight-color:transparent}button,select,summary{cursor:pointer}button{transition:background-color .15s,border-color .15s,box-shadow .15s}button:disabled,select:disabled{cursor:not-allowed}:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus);outline-offset:3px}input,select,textarea{accent-color:var(--forest)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.consent-banner{z-index:1000;border:1px solid var(--line-dark);border-top:4px solid var(--forest);background:#fff;width:min(380px,100% - 32px);padding:16px;position:fixed;top:88px;right:16px;box-shadow:0 12px 30px #14201c33}.consent-banner:not(.expanded){grid-template-columns:1fr auto;align-items:center;gap:14px;width:min(520px,100% - 32px);padding:12px 14px;display:grid}.consent-banner:not(.expanded) .consent-actions{margin-top:0}.consent-banner.expanded{width:min(420px,100% - 32px)}.consent-heading{grid-template-columns:28px 1fr;gap:12px;display:grid}.consent-heading svg{color:var(--forest)}.consent-heading h2,.consent-heading p{margin:0}.consent-heading p{color:var(--muted);margin-top:5px;font-size:13px;line-height:1.4}.consent-options{gap:6px;margin-top:12px;display:grid}.consent-options label{border:1px solid var(--line);grid-template-columns:20px 1fr;align-items:center;gap:8px;min-height:46px;padding:7px 9px;display:grid}.consent-options input{width:18px;height:18px;margin:0}.consent-options span{gap:2px;display:grid}.consent-options small{color:var(--muted);font-size:11px;line-height:1.3}.consent-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.consent-actions button{border:1px solid var(--forest);min-height:44px;color:var(--forest);background:#fff;padding:0 16px;font-weight:800}.consent-actions .primary-button{background:var(--forest);color:#fff}@media (width<=560px){.consent-banner,.consent-banner:not(.expanded){width:100%;display:block;inset:auto 0 0}.consent-banner:not(.expanded) .consent-actions{margin-top:12px}.consent-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}}.app-shell{background:var(--canvas);min-height:100vh}.workspace-menu{position:relative}.workspace-menu>summary{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 12px;font-size:12px;font-weight:600;list-style:none;display:flex}.workspace-menu>summary::-webkit-details-marker{display:none}.workspace-menu>summary svg{width:18px;height:18px}.workspace-menu[open]>summary{background:var(--mist);border-color:var(--forest)}.workspace-menu-panel{z-index:30;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);width:min(280px,100vw - 28px);box-shadow:var(--shadow-md);padding:8px;position:absolute;top:calc(100% + 8px);right:0}.workspace-menu-panel p{border-bottom:1px solid var(--line);color:var(--muted);overflow-wrap:anywhere;margin:4px 8px 8px;padding-bottom:12px;font-size:12px}.workspace-menu-panel button{border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:8px 12px;font-size:13px;display:flex}.workspace-menu-panel button:hover,.workspace-menu-panel button[aria-current]{background:var(--mist);color:var(--forest)}.workspace-menu-panel button svg{width:18px;height:18px}.workspace-skeleton{background:var(--canvas);min-height:100dvh;padding:24px}.skeleton-header{border-radius:var(--radius-md);background:var(--line);height:70px;margin-bottom:24px}.skeleton-workspace{grid-template-columns:1fr 2fr;gap:24px;display:grid}.skeleton-workspace>div{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(100deg, var(--paper) 20%, var(--mist) 45%, var(--paper) 70%);background-size:250% 100%;height:min(65dvh,600px);animation:1.6s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{to{background-position:-150% 0}}.topbar{border-bottom:1px solid var(--line);background:var(--paper);z-index:20;grid-template-columns:minmax(200px,auto) minmax(0,1fr) auto auto;align-items:center;gap:16px;height:68px;padding:0 24px;display:grid;position:sticky;top:0}.brand{color:var(--ink);font:700 17px var(--display);letter-spacing:-.025em;align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark{background:var(--forest);color:#fff;border-radius:var(--radius-md);place-items:center;width:34px;height:34px;display:grid}.brand-mark svg{width:20px}.trip-context{justify-self:center;align-items:center;gap:16px;font-size:13px;font-weight:700;display:flex}.status{color:var(--muted);font-weight:500}.status span{background:currentColor;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.vehicle-button{border:1px solid var(--line-dark);min-height:44px;color:var(--ink);background:#fff;border-radius:4px;align-items:center;gap:8px;padding:0 14px;font-weight:700;display:flex}.vehicle-button svg{width:18px}.view-tabs{contain:inline-size;box-sizing:border-box;border-bottom:1px solid var(--line);z-index:11;scrollbar-width:none;background:#fff;align-items:stretch;gap:2px;width:100%;max-width:100vw;height:50px;padding:0 24px;display:flex;position:sticky;top:68px;overflow-x:auto}.view-tabs::-webkit-scrollbar{display:none}.view-tabs button{min-width:100px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:13px;font-weight:600;display:flex}.view-tabs button:hover:not(:disabled){background:var(--canvas);color:var(--forest)}.view-tabs button.active{color:var(--forest);border-bottom-color:var(--forest);background:var(--mist)}.view-tabs button:disabled{color:#6d746f;cursor:not-allowed;opacity:1;background:#f2f3f1}.view-tabs button:disabled svg:last-child{color:#8a5008;width:13px}.view-tabs svg{width:16px}.notice{color:#6c470f;background:#fff3d9;justify-content:space-between;align-items:center;min-height:38px;padding:8px 24px;font-size:12px;display:flex}.notice button{color:inherit;background:0 0;border:0;font-weight:800}main{min-height:calc(100vh - 119px)}.planner-layout{grid-template-columns:320px minmax(0,1fr);display:grid}.page-layout{display:block}.controls-panel{border-right:1px solid var(--line);background:var(--paper);align-self:start;max-height:calc(100vh - 118px);padding:28px 24px;position:sticky;top:118px;overflow-y:auto}.constraints-toggle{display:none}.section-heading,.workspace-header,.itinerary-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.section-heading svg{width:20px;color:var(--forest)}.eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:800;display:block}h1,h2,h3{color:var(--ink);font-family:var(--display);letter-spacing:-.025em;margin:0;font-weight:700}h1{font-size:25px;line-height:1.15}h2{font-size:27px}h3{font-size:20px}.date-summary{background:var(--mist);border:1px solid var(--line);border-radius:var(--radius-md);gap:12px;margin:24px 0;padding:16px;display:flex}.date-summary svg{width:19px;color:var(--sea)}.date-summary div{flex-direction:column;gap:2px;display:flex}.date-summary span,.plan-card-title span,.stop-list div span{color:var(--muted);font-size:12px}label{color:var(--ink);margin-top:20px;font-size:13px;font-weight:600;display:block}select{border:1px solid var(--line-dark);border-radius:var(--radius-sm);width:100%;height:44px;color:var(--ink);font:inherit;background:#fff;margin-top:8px;padding:0 12px}.range-row{grid-template-columns:1fr 62px;align-items:center;gap:12px;margin-top:11px;display:grid}input[type=range]{width:100%;accent-color:var(--forest)}output{color:var(--forest);font:800 12px var(--sans);text-align:right}.planner-requirement{color:#70430b;background:#fff3d9;align-items:flex-start;gap:8px;padding:10px;font-size:11px;line-height:1.5;display:flex}.planner-requirement svg{flex:0 0 16px;width:16px}.primary-button{border-radius:var(--radius-sm);background:var(--forest);color:#fff;width:100%;min-height:46px;box-shadow:var(--shadow-sm);border:1px solid #0000;justify-content:center;align-items:center;gap:9px;font-weight:600;display:flex}.primary-button:hover{background:#173f32}.primary-button:disabled{opacity:.65}.primary-button svg{width:18px}.planner-regenerate{justify-content:center;width:100%;min-height:44px}.workspace{background:var(--canvas);min-width:0;padding:28px clamp(20px,3vw,44px) 48px}.workspace-header{align-items:center;margin-bottom:22px}.workspace-header>div{min-width:0}.workspace-header h2{overflow-wrap:anywhere}.constraint-badge{color:var(--muted);background:var(--paper);border-radius:20px;align-items:center;gap:7px;padding:8px 10px;font-size:11px;font-weight:500;display:flex}.constraint-badge svg{width:15px}.conflict-panel{color:#70430b;background:#fff8ec;border:1px solid #ddad73;gap:12px;margin-bottom:18px;padding:14px;display:flex}.conflict-panel svg{flex:0 0 20px}.conflict-panel p{margin:4px 0 0;font-size:13px}.comparison-toolbar{flex-shrink:0;justify-content:flex-end;display:flex}.comparison-toolbar label{color:var(--muted);align-items:center;gap:12px;margin:0;font-size:12px;display:flex}.comparison-toolbar select{width:auto;max-width:210px;margin:0;font-size:12px}.plan-grid{grid-template-columns:minmax(280px,360px) minmax(430px,1fr);align-items:start;gap:20px;display:grid}.plan-grid.read-only{grid-template-columns:minmax(220px,300px) minmax(430px,1fr)}.sponsored-placement{background:#fff9ec;border:1px solid #d29a3e;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;min-height:88px;margin-top:20px;padding:16px 18px;display:grid}.sponsored-placement>span{color:#fff;text-transform:uppercase;background:#6f4610;padding:5px 8px;font-size:10px;font-weight:800}.sponsored-placement div{gap:3px;display:grid}.sponsored-placement p{color:var(--muted);margin:0;font-size:12px}.sponsored-placement a{color:#6f4610;border:1px solid #8a5c1d;align-items:center;gap:7px;min-height:44px;padding:0 14px;font-weight:800;text-decoration:none;display:inline-flex}.sponsored-placement svg{width:17px}.planner-layout:has(.plan-grid.read-only){display:block}.alternatives{gap:10px;display:grid}.alternative-item{gap:4px;display:grid}.plan-card{text-align:left;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);width:100%;min-height:136px;color:var(--ink);box-shadow:var(--shadow-sm);padding:16px}.plan-card:hover{border-color:var(--forest)}.plan-card.selected{border-color:var(--forest);background:var(--mist);box-shadow:inset 0 0 0 1px var(--forest)}.plan-card-title{grid-template-columns:34px 1fr 18px;align-items:center;gap:10px;display:grid}.plan-card-title>svg{width:17px;color:var(--forest)}.plan-card-title div{flex-direction:column;gap:2px;display:flex}.rank{font:700 16px var(--display);color:var(--sea)!important}.comparison-badges{flex-wrap:wrap;gap:4px;margin-top:10px;display:flex}.comparison-badges:empty{display:none}.comparison-badge{min-height:22px;color:var(--forest);background:#e1eee5;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:4px 7px;font-size:10px;font-weight:600;line-height:1.2;display:inline-flex}.longest-leg-badge{color:#1d5960;background:#eef8f9;border-color:#a8c7cc}.warning-count-badge,.rules-relaxed-badge{color:#70430b;background:#fff3d9;border-color:#ddad73}.warning-count-badge svg{width:12px;height:12px}dl{grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0 0;display:grid}dl div{border-top:1px solid var(--line);padding-top:8px}.plan-card dl>div{border-top:1px solid var(--line);background:0 0;padding:8px 0 0}.plan-card dl>div:first-child dd,.plan-card dl>div:nth-child(3) dd,.plan-card dl>div:nth-child(4) dd{color:var(--forest);font-size:13px}.plan-card:has(.warning-chip){border-left:4px solid #b36a21}.verification-details{grid-template-columns:repeat(2,minmax(0,1fr))}.verification-details div:last-child{grid-column:1/-1}dt{color:var(--muted);text-transform:uppercase;font-size:10px}dd{margin:3px 0 0;font-size:12px;font-weight:800}.warning-chip{color:#8a5008;background:#fff0d8;align-items:center;gap:5px;margin-top:10px;padding:4px 7px;font-size:10px;font-weight:800;display:inline-flex}.warning-chip svg{width:12px;height:12px}.delete-alternative{border-radius:var(--radius-sm);min-height:44px;color:var(--muted);background:0 0;border:1px solid #0000;justify-content:flex-end;align-items:center;gap:7px;padding:0 12px;font-size:11px;font-weight:500;display:inline-flex}.delete-alternative:hover:not(:disabled){color:#8b2f27;background:#fff0ed;border-color:#e8bcb6}.delete-alternative svg{width:15px}.planner-empty{border:1px dashed var(--line-dark);text-align:center;background:#ffffffb3;place-content:center;justify-items:center;gap:8px;min-height:180px;padding:24px;display:grid}.planner-empty svg{width:28px;color:var(--sea)}.planner-empty span{max-width:260px;color:var(--muted);font-size:12px;line-height:1.5}.planner-progress{border-block:1px solid var(--line);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:260px;padding:32px 16px;display:flex}.planner-progress h3{margin:0;font-size:22px}.planner-progress p{max-width:440px;color:var(--muted);overflow-wrap:anywhere;margin:0;line-height:1.6}.planner-progress progress{width:min(280px,100%);height:8px;accent-color:var(--forest)}.planner-progress .map-spinner{flex:0 0 28px;width:28px;height:28px}@media (prefers-reduced-motion:reduce){.planner-progress progress{display:none}}.plan-detail{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.azure-map{background:#dfe9e3;width:100%;min-height:300px;position:relative;overflow:hidden}.azure-map-host{position:absolute;inset:0}.map-static-fallback{z-index:4;object-fit:cover;pointer-events:none;background:var(--mist);width:100%;height:100%;position:absolute;inset:0}.map-mode-toggle{z-index:6;border:1px solid var(--forest);min-height:38px;color:var(--forest);background:#fcfcf9f0;padding:0 12px;font-weight:800;position:absolute;top:12px;left:12px}.map-status{z-index:5;color:var(--forest);background:#f7f9f6eb;justify-content:center;align-items:center;gap:10px;font-weight:800;display:flex;position:absolute;inset:0}.map-spinner{border:2px solid #a7bbb1;border-top-color:var(--forest);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite map-spin}.map-error{text-align:center;flex-direction:column;padding:24px}.map-error.has-preview{color:#70430b;background:#fff8ecf5;border:2px solid #b36a21;padding:12px;inset:auto 12px 12px;box-shadow:0 5px 18px #4c2d0c24}.map-error span{max-width:420px;color:var(--muted);font-weight:500}.map-error button{border:1px solid var(--forest);background:var(--forest);color:#fff;min-height:40px;padding:0 14px;font-weight:800}@keyframes map-spin{to{transform:rotate(360deg)}}.route-map{height:340px}.trip-map{border:1px solid var(--line-dark);height:460px}.route-canvas{background:#dfe9e3;height:270px;position:relative;overflow:hidden}.map-grid{opacity:.4;background-image:linear-gradient(#b9cbc1 1px,#0000 1px),linear-gradient(90deg,#b9cbc1 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0;transform:rotate(-8deg)scale(1.2)}.route-path{border:5px solid var(--sea);border-left-color:var(--forest);border-radius:48% 30% 52% 22%;width:260px;height:170px;position:absolute;top:16%;left:26%;transform:rotate(14deg);box-shadow:0 0 0 3px #ffffffa6}.map-stop{background:var(--forest);color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;font-weight:900;display:grid;position:absolute;box-shadow:0 2px 7px #0003}.stop-1{top:29%;left:29%}.stop-2{top:45%;left:20%}.stop-3{top:66%;left:27%}.stop-4{top:76%;left:47%}.stop-5{top:65%;left:66%}.stop-6{top:36%;left:70%}.stop-7{top:19%;left:53%}.map-label{background:#ffffffe6;padding:4px 7px;font-size:11px;font-weight:800;position:absolute}.map-label.north{top:14%;left:30%}.map-label.south{bottom:13%;right:8%}.map-note{color:#355a4a;font-size:10px;font-weight:700;position:absolute;bottom:10px;left:12px}.itinerary-header{border-bottom:1px solid var(--line);align-items:center;padding:18px 20px}.itinerary-header>span{color:var(--forest);font-size:12px;font-weight:800}.stop-list{max-height:350px;margin:0;padding:4px 20px;list-style:none;overflow:auto}.stop-list li{border-bottom:1px solid var(--line);grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;min-height:51px;display:grid}.stop-list li>span:last-child:not(.stop-number){grid-column:2}.stop-list li:last-child{border-bottom:0}.stop-list div{flex-direction:column;display:flex}.stop-list li>span:last-child{color:var(--muted);font-size:11px;font-weight:700}.night-stepper{border:1px solid var(--line);align-items:center;flex-direction:row!important}.night-stepper button{background:var(--mist);width:44px;height:44px;color:var(--forest);border:0;font-weight:700}.night-stepper span{text-align:center;min-width:24px;font-weight:800;color:var(--ink)!important}.stop-edit-actions{flex-wrap:wrap;grid-column:2;align-items:center;gap:4px;flex-direction:row!important}.stop-edit-actions>button{border:1px solid var(--line);border-radius:var(--radius-sm);width:44px;height:44px;color:var(--forest);background:#fff}.stop-edit-actions>button:last-child{color:#8a5008}.stop-edit-actions>button:disabled{opacity:.3}.stop-edit-actions>button svg{width:13px}.rule-warning{background:#fff0d8;padding:4px 7px;color:#8a5008!important}.rule-failures{color:#70430b;background:#fff8ec;border:1px solid #c77a35;margin:0 0 18px;padding:14px}.rule-failures h4{align-items:center;gap:8px;margin:0 0 6px;display:flex}.rule-failures h4 svg{width:18px}.rule-failures p{margin:0 0 8px}.rule-failures ul{margin:0;padding-left:20px}.stop-number{width:22px;height:22px;color:var(--forest);border:1px solid #9ab2a6;place-items:center;font-size:10px;font-weight:800;display:grid}.explanation{background:var(--mist);color:#385348;gap:10px;padding:14px 20px;font-size:12px;display:flex}.explanation svg{flex:0 0 17px}.explanation p{margin:0}button,select{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.page{width:min(1120px,100% - 40px);margin:0 auto;padding:36px 0 64px}.page-title{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.page-title>svg{width:27px;color:var(--forest)}.trip-manager{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;padding:14px 18px;display:flex}.trip-manager label{width:min(440px,100%);margin:0}.trip-manager>div{align-items:center;gap:8px;display:flex}.trip-manager .text-button,.trip-manager .danger-button{min-height:44px;margin:0}.trip-manager .danger-button{border-radius:var(--radius-sm);color:var(--muted);background:0 0;border-color:#0000;font-size:12px;font-weight:500}.trip-manager .danger-button:hover{color:#8b2f27;background:#fff0ed;border-color:#e8bcb6}.form-grid{background:0 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 20px;padding:0;display:grid}input{border:1px solid var(--line-dark);border-radius:var(--radius-sm);width:100%;height:44px;color:var(--ink);background:#fff;margin-top:8px;padding:0 12px}.page>h3{margin:30px 0 12px}.data-list{border-top:1px solid var(--line-dark)}.data-row{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:32px 1fr auto;align-items:center;gap:12px;min-height:64px;padding:10px 12px;display:grid}.data-row>svg{width:18px;color:var(--sea)}.data-row div{flex-direction:column;gap:2px;display:flex}.data-row div span,.catalogue-item p,.export-row span{color:var(--muted);font-size:12px}.tag{background:var(--mist);color:var(--forest);padding:5px 8px;font-size:10px;font-weight:800}.primary-button.inline{width:auto;margin-top:22px;padding:0 18px}.location-grid{grid-template-columns:1fr 1fr;gap:16px;margin:20px 0;display:grid}.place-picker{background:#fff;border:0;min-width:0;padding:0;position:relative}.place-picker label{margin:0}.place-picker>span{color:var(--muted);margin-top:5px;font-size:11px;display:block}.search-control{grid-template-columns:1fr 44px;display:grid}.search-control input{border-radius:var(--radius-sm) 0 0 var(--radius-sm);min-width:0}.search-control button,.area-search>button{border:1px solid var(--line-dark);background:var(--forest);color:#fff;border-left:0;height:44px;margin-top:7px}.search-control svg,.area-search svg{width:17px}.search-control button{border-radius:0 var(--radius-sm) var(--radius-sm) 0;place-items:center;margin-top:8px;display:grid}.place-results{z-index:20;border:1px solid var(--line-dark);border-radius:var(--radius-sm);max-height:240px;box-shadow:var(--shadow-md);background:#fff;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.place-results button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);text-align:left;background:#fff;align-items:center;gap:8px;padding:8px 10px;display:flex}.place-results button:hover,.place-results button[aria-selected=true]{background:var(--mist)}.place-results svg{width:16px;color:var(--sea);flex:0 0 16px}.place-results span{flex-direction:column;display:flex}.place-results small{color:var(--muted)}.place-result-row{grid-template-columns:1fr 80px;display:grid}.place-result-row>button:last-child{border-left:1px solid var(--line);color:#8a5008}.map-picker-heading,.area-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin:28px 0 12px;display:flex}.map-picker-heading h3,.area-heading h3{margin:0}.map-picker-heading span,.area-heading span{color:var(--muted);font-size:11px}.segmented{border:1px solid var(--line-dark);display:flex}.segmented button{min-height:36px;color:var(--muted);background:#fff;border:0;padding:0 12px;font-size:11px;font-weight:800}.segmented button.active{background:var(--forest);color:#fff}.booking-page{max-width:1180px}.booking-list{border:1px solid var(--line);background:var(--line);gap:1px;display:grid}.booking-row{background:#fff;grid-template-columns:minmax(250px,1fr) minmax(220px,auto) minmax(340px,1.3fr);align-items:start;gap:18px;padding:18px;display:grid}.booking-stop{align-items:center;gap:12px;min-width:0;display:flex}.booking-stop>div{gap:4px;min-width:0;display:grid}.booking-stop span:not(.stop-number){color:var(--muted);font-size:12px;line-height:1.5}.book-button{border:1px solid var(--forest);background:var(--forest);color:#fff;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:8px 14px;font-weight:800;display:inline-flex}.book-button svg,.booking-segments svg{width:16px;height:16px}.book-button:focus-visible,.booking-segments button:focus-visible{outline-offset:2px;outline:3px solid #e6a817}.booking-unavailable{min-height:44px;color:var(--muted);align-items:center;font-size:12px;display:flex}.booking-disclosure{color:var(--muted);margin:16px 0 0;font-size:12px;line-height:1.6}.stop-booking-status{gap:12px;display:grid}.booking-segments{flex-wrap:wrap}.booking-segments button{flex:auto;justify-content:center;align-items:center;gap:6px;min-height:44px;display:inline-flex}.booking-notes{gap:10px;display:grid}.booking-notes label{color:var(--muted);gap:5px;font-size:11px;font-weight:800;display:grid}.booking-notes input,.booking-notes textarea{width:100%}.booking-admin{border-block:1px solid var(--line);gap:18px;margin-block:20px 28px;padding-block:20px 28px;display:grid}.admin-heading-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.admin-heading-row h2{margin:3px 0 0}.admin-heading-row>svg{color:var(--forest)}.admin-message{color:var(--muted);margin:0}.partner-admin-list{border:1px solid var(--line);background:var(--line);gap:1px;display:grid}.partner-admin-list article{background:#fff;grid-template-columns:minmax(220px,1fr) auto auto auto;align-items:center;gap:14px;padding:14px;display:grid}.partner-admin-list article>div{gap:3px;display:grid}.partner-admin-list article span{color:var(--muted);font-size:11px}.partner-admin-list label{align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.partner-admin-list button{min-height:44px;padding-inline:14px}.booking-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.booking-admin-grid>section{border:1px solid var(--line);background:#fff;align-content:start;gap:12px;padding:18px;display:grid}.booking-admin-grid label{color:var(--muted);gap:5px;font-size:11px;font-weight:800;display:grid}.catalogue-description{background:var(--surface);gap:5px;padding:10px;display:grid}.catalogue-description p{margin:0;font-size:12px;line-height:1.55}.catalogue-description span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.language-switcher{align-items:center;gap:6px;margin:0;display:flex}.language-switcher svg{width:18px;height:18px}.language-switcher select{max-width:150px;min-height:44px;margin:0}.workflow-page{max-width:1180px;padding-bottom:36px}.workflow-intro{max-width:70ch;color:var(--muted);margin:0 0 20px;line-height:1.6}.workflow-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);min-width:0;margin:0;padding:20px}.workflow-card h2{margin:0 0 16px;font-size:18px}.workflow-card p{line-height:1.6}.workflow-card>legend{color:var(--ink);padding:0 8px;font-size:14px;font-weight:700}.workflow-card fieldset{border:0;margin:0;padding:0}.workflow-card .form-grid{background:0 0;border:0;gap:16px 20px;margin:0;padding:0}.workflow-card .form-grid label{min-width:0;margin-top:0}.workflow-card .form-grid input,.workflow-card .form-grid select{width:100%;min-width:0}.workflow-card>summary{cursor:pointer;align-content:center;min-height:44px;font-size:14px;font-weight:600}.workflow-card>summary>span{float:right;color:var(--muted);font-weight:500}.workflow-card[open]>summary{margin-bottom:16px}.workflow-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.workflow-toolbar label{width:min(500px,100%);min-width:0;margin:0}.workflow-toolbar .text-button{margin:0}.workflow-form,.account-tools{align-content:start;gap:20px;min-width:0;display:grid}.workflow-save-bar{z-index:8;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:12px;padding:14px;display:flex;position:sticky;bottom:0}.workflow-save-bar .text-button{margin:0}.workflow-save-bar .primary-button.inline,.workflow-card .primary-button.inline{margin-top:0}.workflow-save-bar>span{color:var(--muted);font-size:12px}.workflow-save-bar>.field-error{width:100%;margin:0}.workflow-feedback:empty{display:none}.workflow-feedback p{margin:0 0 16px}.export-workspace,.account-workspace{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);align-items:start;gap:24px;display:grid}.export-groups .export-list{border:0}.export-groups .export-row{border:0;border-top:1px solid var(--line);text-align:left;background:0 0;gap:12px;width:100%;min-width:0;min-height:80px;padding:12px 0}.export-row strong{color:var(--ink);font-size:14px;font-weight:600}.export-row small{color:var(--muted);font-size:12px;font-weight:400;line-height:1.5}.export-sharing h2,.export-sharing p,.export-sharing label,.export-sharing button{margin:0}.export-sharing p{color:var(--muted)}.export-sharing input{width:100%;min-width:0}.vehicle-page .workflow-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.vehicle-page .workflow-save-bar{grid-column:1/-1}.vehicle-classification,.danger-zone{margin-top:20px}.vehicle-classification .classification-row{border:0;margin:0}.danger-zone .danger-button{margin-top:12px}.danger-zone>summary{color:#8b2f27}.account-consent .check-label{min-height:44px;margin:0}.account-plan-options,.account-invoices{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.account-plan-options summary,.account-invoices summary{cursor:pointer;align-content:center;min-height:44px}.account-data{gap:12px;display:grid}.account-data h2{margin:0}.account-tools .danger-zone{margin-top:0}.account-invoices .invoice-list{padding-left:0}.account-invoices .invoice-list li{flex-wrap:wrap;gap:12px;padding:12px 0;display:flex}.today.workflow-page .pre-trip-grid,.today.workflow-page .today-band{background:0 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0 0 20px;display:grid}.today.workflow-page .documents-checklist{margin-top:20px}.today.workflow-page .documents-checklist progress{width:100%;height:8px;accent-color:var(--forest)}.today.workflow-page .documents-checklist>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;display:grid}.today.workflow-page .documents-checklist .check-label{min-height:44px;margin:0}.navigation-handoff{flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0;display:flex}.navigation-handoff label{flex:140px;margin:0}.navigation-handoff a{flex:auto;min-height:44px}.booking-options{margin-top:12px}.booking-options>summary{cursor:pointer;align-content:center;min-height:44px}.today.workflow-page .journal-panel{margin-top:20px}.today.workflow-page .journal-panel label{margin:0}.journal-panel textarea{width:100%;min-height:120px}.journal-history{margin-top:20px}.journal-history article+article{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.journal-history h3{margin:0 0 4px;font-size:14px}.journal-history time{color:var(--muted);font-size:12px}.journal-history p{white-space:pre-wrap;overflow-wrap:anywhere}@media (width>=1100px){.vehicle-page .workflow-form{grid-template-columns:repeat(3,minmax(0,1fr))}.vehicle-page .workflow-form>details{grid-column:1/-1}.vehicle-page .workflow-form>details .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.export-workspace,.account-workspace{grid-template-columns:1fr}.export-sharing{position:static}}@media (width<=600px){.export-groups,.vehicle-page .workflow-form,.today.workflow-page .pre-trip-grid,.today.workflow-page .today-band,.today.workflow-page .documents-checklist>div{grid-template-columns:1fr}.workflow-card{padding:16px}.workflow-toolbar{align-items:stretch}.workflow-toolbar>label{width:100%}.workflow-page .form-grid{grid-template-columns:1fr}.workflow-save-bar{padding:12px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.import-summary,.report-list,.report-list>div{gap:5px;display:grid}.import-summary,.report-list>div{background:var(--surface);padding:10px;font-size:12px}@media (width<=900px){.booking-row,.booking-admin-grid{grid-template-columns:1fr}.partner-admin-list article{grid-template-columns:1fr 1fr}}@media (width<=520px){.booking-segments{grid-template-columns:1fr;display:grid}}.area-search{grid-template-columns:220px 44px;display:grid;position:relative}.area-search .place-results{top:51px;left:0;right:0}.area-list{gap:8px;display:grid}.area-item{border:1px solid var(--line);background:#fff;grid-template-columns:28px 1fr auto;align-items:start;gap:12px;padding:12px;display:grid}.area-item.active{border:2px solid var(--sea);padding:11px}.area-fields{grid-template-columns:2fr repeat(3,1fr) 1.2fr;gap:10px;display:grid}.area-fields label{margin:0}.area-stay-rules{border:1px solid var(--line-dark);background:var(--mist);grid-column:span 2;min-width:260px;padding:10px}.area-stay-rules legend{color:var(--ink);padding:0 5px;font-size:12px;font-weight:800}.area-stay-rules>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.area-stay-rules .check-label{margin:6px 0 0}.area-stay-rules input:disabled{color:var(--muted);cursor:not-allowed;background:#e2e7e3}.mandatory-campsite{min-width:190px}.mandatory-campsite .field-help{margin-top:5px;line-height:1.35;display:block}@media (width<=720px){.area-fields,.area-fields>label,.area-stay-rules{min-width:0}.mandatory-campsite{grid-column:1/-1;min-width:0}}.check-label{align-self:end;align-items:center;gap:7px;min-height:44px;display:flex!important}.check-label input{width:18px;height:18px;margin:0}.area-actions{gap:3px;display:flex}.area-actions button{border:1px solid var(--line);width:36px;height:36px;color:var(--forest);background:#fff}.area-actions button:disabled{opacity:.35}.area-actions svg{width:15px}.avoid-list{margin-top:24px}.avoid-list>h3{margin-bottom:10px}.avoid-list .data-row>button{border:1px solid var(--line);color:#8a5008;background:#fff;width:36px;height:36px}.avoid-list .data-row>button svg{width:15px}.rules-editor{border:1px solid var(--line);background:var(--mist);margin-top:28px;padding:18px}.crossing-editor{border:1px solid var(--line);background:#fff;margin-top:18px;padding:16px}.crossing-editor>.check-label{margin:0}.crossing-editor .form-grid{border:0;margin-top:12px;padding:0}.trip-editor>.form-grid,.trip-editor>.crossing-editor,.trip-editor>.location-grid,.trip-editor>.map-picker-heading,.trip-editor>.trip-map{display:none}.trip-basics{margin-top:18px}.trip-basics-fields{margin-bottom:0}.trip-date-endpoint{align-content:start;gap:10px;display:grid}.trip-date-endpoint>label,.trip-date-endpoint .place-picker label{margin:0}.ferry-editor{border:1px solid var(--line);background:#fff;margin-top:18px;padding:16px}.ferry-editor>.check-label{margin:0}.ferry-editor .form-grid{border:0;margin-top:12px;padding:0}.area-fields>label:nth-of-type(7),.area-fields>label:nth-of-type(8){display:none}.route-assistant{border:1px solid var(--line-dark);background:#f7faf5;gap:10px;padding:14px;display:grid}.route-assistant>div:first-child{gap:3px;display:grid}.route-assistant>div:first-child span{color:var(--muted);font-size:12px;line-height:1.45}.route-assistant textarea{resize:vertical;width:100%}.assistant-messages{gap:6px;max-height:180px;display:grid;overflow-y:auto}.assistant-messages:empty{display:none}.assistant-messages p{border-left:3px solid var(--forest);background:#fff;margin:0;padding:8px 10px;font-size:12px;line-height:1.4}.assistant-messages p:nth-child(odd){border-left-color:#c88b2c}.campsite-boundaries{gap:8px;margin:12px 0 24px 44px;display:grid}.campsite-boundaries>div{border:1px solid var(--line);background:#fff;grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:18px;padding:10px 12px;display:grid}.campsite-boundaries .check-label{white-space:nowrap;margin:0}@media (width<=600px){.campsite-boundaries{margin-left:0}.campsite-boundaries>div{grid-template-columns:1fr;gap:8px}}.crossing-cost{border-top:0;margin-top:0}.rules-editor>h3{margin:0 0 12px}.rules-editor .form-grid{background:0 0;border:0;grid-template-columns:repeat(3,minmax(0,1fr));padding:0}.toggle-row{flex-wrap:wrap;gap:8px 18px;margin-top:14px;display:flex}.toggle-row .check-label{margin:0}.vehicle-select{width:min(440px,100%);margin-bottom:18px}.vehicle-form{grid-template-columns:repeat(3,minmax(0,1fr))}.vehicle-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.classification-row{border:1px solid var(--line-dark);background:#fff;grid-template-columns:repeat(3,1fr);margin-top:18px;display:grid}.classification-row div{border-right:1px solid var(--line);flex-direction:column;padding:16px;display:flex}.classification-row div:nth-child(3){border-right:0}.classification-row span{color:var(--muted);text-transform:uppercase;font-size:10px}.classification-row strong{color:var(--forest);margin-top:4px}.classification-row p{border-top:1px solid var(--line);color:var(--muted);grid-column:1/-1;margin:0;padding:12px 16px;font-size:12px}.account-grid{grid-template-columns:1.4fr 1fr;gap:16px;display:grid}.welcome-screen{background:var(--canvas);place-items:center;min-height:100vh;padding:32px 20px;display:grid}.welcome-screen section{border:1px solid var(--line-dark);background:#fff;width:min(520px,100%);padding:32px}.welcome-screen p{color:var(--muted);margin:12px 0 24px;line-height:1.6}.welcome-screen label{margin-top:16px}.welcome-screen .welcome-copy{min-height:44px;margin:18px 0}.welcome-screen .primary-button{min-height:44px}.account-section{border:1px solid var(--line);background:#fff;padding:20px}.account-section h3{margin:0 0 14px}.account-section .form-grid{border:0;padding:0}.consent{margin-top:18px}.account-consent{gap:6px;display:grid}.account-consent .check-label{min-height:44px}.subscription-band{border-left:3px solid var(--sea);background:var(--mist);flex-direction:column;margin-bottom:24px;padding:16px;display:flex}.subscription-band strong{color:var(--forest);font:700 22px var(--display)}.subscription-band span,.identity-links span{color:var(--muted);font-size:11px}.billing-actions{gap:8px;margin-bottom:24px;display:grid}.billing-actions .text-button,.billing-actions .primary-button,.billing-actions .text-link{justify-content:center;min-height:44px;margin:0}.invoice-list{background:var(--line);gap:1px;margin:4px 0 0;padding:0;list-style:none;display:grid}.invoice-list li{background:#fff;grid-template-columns:1fr auto auto auto;align-items:center;gap:10px;min-height:44px;padding:8px 10px;font-size:11px;display:grid}.invoice-list a{color:var(--forest);font-weight:800}.upgrade-card{background:#fff8e8;border:1px solid #c28a34;grid-template-columns:1fr auto auto;align-items:center;gap:12px;width:min(1120px,100% - 32px);margin:14px auto 0;padding:16px;display:grid}.upgrade-card div{gap:4px;display:grid}.upgrade-card span{color:var(--muted);font-size:12px}.upgrade-card .text-button{min-height:44px;margin:0}.locked-trip{text-align:center;align-content:center;place-items:center;gap:14px;min-height:300px;display:grid}.locked-trip>svg{color:#9a5a16;width:36px;height:36px}.locked-trip h1,.locked-trip p{margin:0}.identity-links{flex-wrap:wrap;gap:7px;margin-bottom:18px;display:flex}.identity-links a,.text-link{border:1px solid var(--line-dark);min-height:44px;color:var(--forest);align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.identity-links span{width:100%}.identity-links .provider-entry{border-left:3px solid var(--sea);background:var(--mist);min-height:44px;color:var(--ink);align-items:center;padding:0 12px;font-weight:700;display:flex}.text-link svg{width:16px}.invite-row{grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:10px;margin-bottom:16px;display:grid}.invite-row .primary-button{margin-top:7px}.danger-button{color:#8b2f27;background:#fff;border:1px solid #9e3d32;align-items:center;gap:7px;min-height:42px;margin-top:18px;padding:0 14px;font-weight:800;display:inline-flex}.danger-button svg{width:16px}.map-edit-bar{justify-content:flex-end;margin-bottom:8px;display:flex}.map-edit-bar button{border:1px solid var(--line-dark);min-height:38px;color:var(--forest);background:#fff;align-items:center;gap:7px;padding:0 12px;font-weight:800;display:inline-flex}.map-edit-bar button.active{background:var(--forest);color:#fff}.map-edit-bar svg{width:16px}.route-description{resize:vertical;min-height:88px}.brand-options{border:1px solid var(--line);gap:7px;margin:0;padding:10px 12px;display:grid}.brand-options legend{padding:0 5px;font-size:11px;font-weight:800}.brand-options label{align-items:center;gap:8px;min-height:24px;font-size:12px;display:flex}.brand-options input{width:16px;height:16px}.multi-select{margin-top:20px;position:relative}.multi-select-label{color:var(--ink);margin-bottom:7px;font-size:12px;font-weight:800;display:block}.multi-select details{position:relative}.multi-select summary{border:1px solid var(--line-dark);min-height:44px;color:var(--ink);cursor:pointer;background:#fff;border-radius:3px;align-items:center;padding:0 36px 0 12px;font-size:12px;font-weight:600;list-style:none;display:flex}.multi-select summary::-webkit-details-marker{display:none}.multi-select summary:after{content:"▾";color:var(--forest);position:absolute;right:13px}.multi-select details[open] summary:after{content:"▴"}.multi-select fieldset{z-index:30;border:1px solid var(--line-dark);background:#fff;max-height:280px;margin:0;padding:8px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 24px #14282026}.multi-select fieldset label{align-items:center;gap:9px;min-height:40px;margin:0;padding:6px 8px;font-size:12px;display:flex}.multi-select fieldset label:hover{background:var(--mist)}.multi-select input{width:18px;height:18px;margin:0}.field-help{color:var(--muted);margin-top:6px;font-size:11px;line-height:1.45;display:block}.check-label{min-height:24px}.nights-selectors{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stop-details{min-width:0}.text-button.compact{width:fit-content;min-height:36px;margin-top:8px}.replacement-picker{grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:8px;display:grid}.replacement-picker select{min-width:0}.replacement-picker>select,.replacement-picker>.replacement-summary,.replacement-picker>.replacement-actions{grid-column:1/-1}.replacement-summary{background:var(--mist);padding:8px;line-height:1.5}.replacement-actions{gap:8px;flex-direction:row!important;display:flex!important}.replacement-actions>button:first-child{border:1px solid var(--forest);background:var(--forest);color:#fff;min-height:40px;padding:0 12px;font-weight:800}.replacement-picker>span{color:#8b5a18;grid-column:1/-1;max-width:380px;font-size:11px}.replacement-error{background:#fff3d9;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding:8px;flex-direction:row!important;display:flex!important}.replacement-error button{color:#70430b;background:#fff;border:1px solid #8b5a18;min-height:36px;padding-inline:10px;font-weight:800}.planner-next-action{padding:0 20px 18px}.booking-load-state{border-left:3px solid var(--sea);background:var(--mist);color:var(--forest);margin-bottom:14px;padding:14px}.booking-load-state.error{color:#7a2c24;background:#fff1ef;border-left-color:#9e3d32;justify-content:space-between;align-items:center;gap:12px;display:flex}.booking-action{gap:6px;display:grid}.booking-action-error{color:#7a2c24;gap:4px;font-size:11px;display:grid}.booking-action-error a{color:var(--forest);font-weight:800}.booking-fallback{align-items:start;gap:8px;display:grid}.booking-fallback a{color:var(--forest);align-items:center;gap:6px;font-weight:800;display:inline-flex}.booking-fallback a svg{width:16px}.booking-fallback form{gap:7px;display:grid}.booking-fallback label{color:var(--muted);gap:4px;font-size:12px;font-weight:800;display:grid}.booking-fallback input{border:1px solid var(--line-dark);border-radius:5px;min-height:40px;padding:0 10px}.booking-fallback button{justify-self:start;min-height:40px}.booking-save-status{color:var(--forest);font-size:11px;font-weight:800}@media (width<=720px){.topbar{grid-template-columns:minmax(0,1fr) auto auto;height:60px;padding:0 14px}.brand{min-width:0}.vehicle-button{justify-content:center;width:44px;padding:0;font-size:0}.view-tabs{justify-content:flex-start;height:52px;padding:0 8px;top:60px}.view-tabs button{flex-direction:column;gap:1px;min-width:76px;font-size:10px}.view-tabs svg{width:15px}.planner-layout{display:block}.controls-panel{border-right:0;border-bottom:1px solid var(--line);max-height:none;padding:22px 18px;position:static;overflow:visible}.workspace{padding:22px 14px 36px}.workspace-header{flex-wrap:wrap;align-items:flex-start}.constraint-badge{max-width:120px}h2{font-size:23px}.route-canvas{height:230px}.page{width:calc(100% - 28px);padding-top:24px}.form-grid,.filter-bar,.catalogue-grid,.today-band,.metric-row,.location-grid,.rules-editor .form-grid,.vehicle-form,.classification-row{grid-template-columns:1fr}.today-band>div+div,.metric-row div{border-left:0;border-right:0;border-top:1px solid var(--line)}.route-result{flex-direction:column;gap:4px}.map-picker-heading,.area-heading{flex-direction:column;align-items:stretch}.area-search{grid-template-columns:1fr 44px}.area-item{grid-template-columns:28px 1fr}.area-fields{grid-template-columns:1fr 1fr}.area-actions{grid-column:2}.trip-map{height:340px}.classification-row div{border-right:0;border-bottom:1px solid var(--line)}.invite-row{grid-template-columns:1fr}.stop-list{max-height:none}.stop-list li{grid-template-columns:28px minmax(0,1fr);padding-block:10px}.stop-edit-actions{flex-wrap:wrap;grid-column:2;gap:8px}.night-stepper button,.stop-edit-actions>button{width:44px;height:44px}.trip-manager{flex-direction:column;align-items:stretch}.trip-manager>div{grid-template-columns:1fr 1fr;display:grid}.delete-alternative{min-height:44px}}.admin-import{border:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:16px;margin:20px 0 28px;padding:16px;display:flex}.admin-import h3{margin:0 0 3px}.admin-import span{color:var(--muted);font-size:11px}.admin-import input{display:none}.admin-heading{margin-top:28px}.operations-metrics{margin-top:10px}.analytics-dashboard{border-block:1px solid var(--line);margin-top:24px;padding-block:20px}.analytics-dashboard h3,.analytics-dashboard h4{margin:0 0 12px}.traffic-report{margin:22px 0}.traffic-tabs{border-bottom:1px solid var(--line-dark);gap:2px;margin-bottom:12px;display:flex}.traffic-tabs button{background:0 0;border:0;border-bottom:3px solid #0000;min-height:42px;padding:0 16px;font-weight:800}.traffic-tabs button.active{border-bottom-color:var(--forest);color:var(--forest)}.traffic-table{border:1px solid var(--line)}.traffic-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(120px,1fr) repeat(2,minmax(90px,.5fr));align-items:center;gap:12px;min-height:42px;padding:8px 12px;display:grid}.traffic-row:last-child{border-bottom:0}.traffic-row.heading{color:var(--muted);background:#f5f4ef;font-size:12px;font-weight:800}.analytics-breakdowns{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.analytics-breakdowns .data-row{grid-template-columns:minmax(90px,1fr) minmax(130px,1fr) auto}@media (width<=720px){.analytics-breakdowns{grid-template-columns:1fr}}.admin-locked{color:#69420d;background:#fff8ec;border-left:3px solid #b06c16;padding:14px 16px}.feature-strip{flex-wrap:wrap;gap:7px;margin:14px 0 24px;display:flex}.field-error{margin-top:5px;display:block;color:#8b2f27!important}.trip-data-actions,.export-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.trip-data-actions input{display:none}.text-button{border:1px solid var(--line-dark);min-height:42px;color:var(--forest);background:#fff;align-items:center;gap:7px;padding:0 12px;font-weight:800;display:inline-flex}.decision-buttons{gap:5px;flex-direction:row!important}.decision-buttons button{border:1px solid var(--line-dark);min-height:36px;color:var(--forest);background:#fff;padding:0 10px;font-weight:800}.decision-buttons button:last-child{color:#8a5008}.filter-bar{border:1px solid var(--line);background:#fff;grid-template-columns:1fr 1fr auto;align-items:end;gap:14px;margin-bottom:22px;padding:12px 18px 18px;display:grid}.filter-bar label{margin:0}.catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.suggestion-panel{border:1px solid var(--line-dark);background:#fff;margin-bottom:18px;padding:16px}.suggestion-panel summary{min-height:44px;color:var(--forest);cursor:pointer;align-items:center;font-weight:800;display:flex}.suggestion-panel form{padding-top:14px}.suggestion-map{min-height:280px;margin-top:10px}.catalogue-item{border:1px solid var(--line-dark);background:#fff;min-width:0;padding:18px}.catalogue-item.transit-area{border-left:4px solid var(--amber)}.transit-search .primary-button{min-height:44px;margin-top:10px}.catalogue-title{justify-content:space-between;gap:12px;display:flex}.rating{color:#8a590e;font-weight:800}.tags{flex-wrap:wrap;gap:5px;margin:14px 0;display:flex}.tags span{background:var(--mist);color:var(--forest);padding:4px 7px;font-size:10px;font-weight:700}.catalogue-item dl{grid-template-columns:1fr 1fr}.catalogue-item footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:12px;font-size:10px;display:flex}.catalogue-item footer button{border:1px solid var(--line);width:40px;height:40px;color:var(--forest);background:#fff}.catalogue-item footer>div{flex-direction:row;gap:4px;display:flex}.catalogue-item footer a{border:1px solid var(--line);width:40px;height:40px;color:var(--forest);place-items:center;display:grid}.catalogue-item footer svg{width:16px}.today-band{border:1px solid var(--line-dark);background:#fff;grid-template-columns:1fr 1fr;display:grid}.today-band>div{min-height:170px;padding:28px}.today-band>div+div{border-left:1px solid var(--line);background:var(--mist)}.today-band p{color:var(--muted)}.pre-trip-grid{border:1px solid var(--line-dark);background:#fff;grid-template-columns:1fr 1.4fr;display:grid}.pre-trip-grid>section{min-height:190px;padding:28px}.pre-trip-grid>section+section{border-left:1px solid var(--line);background:var(--mist)}.pre-trip-countdown{flex-direction:column;justify-content:center;gap:8px;display:flex}.pre-trip-countdown strong{color:var(--forest);font:700 32px var(--display)}.pre-trip-countdown>span:last-child,.pre-trip-booking p,.documents-checklist>p{color:var(--muted)}.documents-checklist{border:1px solid var(--line);background:#fff;margin-top:18px;padding:20px}.documents-checklist h2{font-size:21px}.documents-checklist>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;display:grid}.documents-checklist .check-label{min-height:44px;margin:0}.vehicle-length-warning{background:#fff1ef;border-left:3px solid #9e3d32;align-items:center;gap:8px;min-height:44px;padding:10px 12px;font-size:12px;display:flex;color:#7a2c24!important}.vehicle-length-warning svg{flex:0 0 18px;width:18px}.action-strip{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.action-strip a{border:1px solid var(--line-dark);min-height:44px;color:var(--forest);background:#fff;align-items:center;gap:7px;padding:0 14px;font-size:12px;font-weight:800;text-decoration:none;display:flex}.action-strip svg{width:16px}.advisory-list div{color:#70430b;background:#fff8ec;border-bottom:1px solid #ead3ae;gap:10px;padding:12px;font-size:12px;display:flex}.advisory-list svg{flex:none;width:17px}.text-button{border:1px solid var(--line-dark);min-height:38px;color:var(--forest);background:#fff;align-items:center;gap:6px;margin-top:12px;padding:0 10px;font-size:11px;font-weight:800;display:flex}.text-button svg{width:15px}.route-result{border-left:3px solid var(--forest);color:var(--forest);background:#edf6f1;justify-content:space-between;gap:16px;margin-top:12px;padding:13px;font-size:12px;display:flex}.route-result strong{white-space:nowrap}.route-result.estimate{border-left-color:var(--amber);color:#70430b;background:#fff8ec}.journal-panel{border:1px solid var(--line);background:#fff;margin-top:24px;padding:18px}.journal-panel label{margin:0}textarea{resize:vertical;border:1px solid var(--line-dark);width:100%;min-height:100px;font:inherit;margin-top:8px;padding:10px}.export-list{border-top:1px solid var(--line-dark)}.export-row{border:0;border-bottom:1px solid var(--line);width:100%;min-height:68px;color:var(--ink);text-align:left;background:#fff;grid-template-columns:32px 1fr 24px;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;display:grid}.export-row>svg{width:18px;color:var(--forest)}.export-row div{flex-direction:column;display:flex}.metric-row{border:1px solid var(--line-dark);background:#fff;grid-template-columns:repeat(3,1fr);display:grid}.metric-row div{border-right:1px solid var(--line);flex-direction:column;padding:24px;display:flex}.metric-row div:last-child{border-right:0}.metric-row strong{color:var(--forest);font:700 30px var(--display)}.metric-row span{color:var(--muted);font-size:11px}.empty-state{text-align:center;place-content:center;justify-items:center;gap:14px;min-height:50vh;display:grid}.empty-state svg{width:36px;color:var(--sea)}@media (width<=980px){.topbar{grid-template-columns:1fr auto}.trip-context{display:none}.planner-layout{grid-template-columns:280px minmax(0,1fr)}.plan-grid{grid-template-columns:1fr}.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.area-fields,.rules-editor .form-grid,.vehicle-form{grid-template-columns:repeat(2,1fr)}.account-grid{grid-template-columns:1fr}}@media (width<=720px){.topbar{grid-template-columns:minmax(0,1fr) auto auto;height:60px;padding:0 14px}.brand{min-width:0}.vehicle-button{justify-content:center;width:44px;padding:0;font-size:0}.view-tabs{justify-content:flex-start;height:52px;padding:0 8px;top:60px}.view-tabs button{flex-direction:column;gap:1px;min-width:76px;font-size:10px}.view-tabs svg{width:15px}.planner-layout{display:block}.constraints-toggle{border:0;border-bottom:1px solid var(--line);background:var(--paper);width:100%;min-height:44px;color:var(--forest);align-items:center;gap:8px;padding:0 18px;font-weight:800;display:flex}.constraints-toggle svg{width:18px}.controls-panel{border-right:0;border-bottom:1px solid var(--line);max-height:none;padding:22px 18px;position:static;overflow:visible}.controls-panel.mobile-collapsed{display:none}.workspace{padding:22px 14px 36px}.workspace-header{flex-wrap:wrap;align-items:flex-start}.constraint-badge{max-width:120px}h2{font-size:23px}.route-canvas{height:230px}.page{width:calc(100% - 28px);padding-top:24px}.form-grid,.filter-bar,.catalogue-grid,.today-band,.pre-trip-grid,.metric-row,.location-grid,.rules-editor .form-grid,.vehicle-form,.classification-row,.documents-checklist>div{grid-template-columns:1fr}.today-band>div+div,.pre-trip-grid>section+section,.metric-row div{border-left:0;border-right:0;border-top:1px solid var(--line)}.route-result{flex-direction:column;gap:4px}.map-picker-heading,.area-heading{flex-direction:column;align-items:stretch}.area-search{grid-template-columns:1fr 44px}.area-item{grid-template-columns:28px 1fr}.area-fields{grid-template-columns:1fr 1fr}.area-actions{grid-column:2}.trip-map{height:340px}.classification-row div{border-right:0;border-bottom:1px solid var(--line)}.invite-row{grid-template-columns:1fr}}@media (width<=520px){.topbar .brand>span:last-child{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.trip-context{min-width:0}.trip-context>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workspace-section{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);min-width:0;margin-bottom:12px}.workspace-section>summary{min-height:44px;color:var(--ink);cursor:pointer;overflow-wrap:anywhere;padding:12px;font-size:13px;font-weight:600}.workspace-section>summary h3{color:inherit;font:inherit;display:inline}.workspace-section>summary:focus-visible,.trip-form-panel:focus-visible,.itinerary-content:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.workspace-section[open]>summary{border-bottom:1px solid var(--line)}.controls-content>.workspace-section>label,.controls-content>.workspace-section>.field-help,.controls-content>.workspace-section>.nights-selectors{margin-inline:12px}.controls-content>.workspace-section>:last-child:not(summary){margin-bottom:12px}.controls-content .preference-options{margin:12px}.controls-content .preference-options label{min-height:32px;margin-top:0}.campsite-preference-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:10px;padding:12px;display:grid}.campsite-preference-fields>label{min-width:0;margin-top:0}.campsite-preference-fields>label:first-child,.campsite-preference-fields>.field-help{grid-column:1/-1}.campsite-preference-fields>.field-help{margin:0}.controls-content .campsite-preferences .preference-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:4px 8px;padding:8px 10px}.campsite-preferences .preference-options label{overflow-wrap:anywhere}.campsite-preferences .preference-options input{flex-shrink:0}.controls-content .route-assistant{border:0}.trip-workspace,.trip-form-panel,.trip-map-panel,.itinerary-content{min-width:0}.trip-map-panel{margin-top:16px}.trip-map-panel .map-picker-heading{margin:0 0 12px}.trip-map-panel .map-picker-heading h3{font-size:18px}.trip-form-panel .trip-basics{margin:0}.trip-form-panel .trip-basics-fields{border-radius:0 0 var(--radius-md) var(--radius-md);border:0;gap:16px;padding:16px}.trip-form-panel .trip-basics-fields label{min-width:0;margin-top:0}.trip-name-field,.trip-vehicle-field{grid-column:auto}.trip-travellers{grid-column:1/-1}.trip-date-endpoint{align-content:start;gap:12px;min-width:0;display:grid}.trip-travellers{border:0;border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0;margin:4px 0 0;padding:12px 0 0;display:grid}.trip-travellers legend{color:var(--muted);padding:0 8px 0 0;font-size:12px;font-weight:600}.trip-form-panel .ferry-editor,.trip-form-panel .rules-editor{border:0;margin:0;padding:12px}.trip-form-panel .rules-editor .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.trip-form-panel .rules-editor label{margin-top:0}.trip-form-panel .area-heading{flex-direction:column;align-items:stretch;margin:12px}.trip-form-panel .area-heading h3{display:none}.trip-form-panel .area-search{grid-template-columns:minmax(0,1fr) 44px}.trip-form-panel .area-list{margin:12px}.trip-form-panel .area-item{grid-template-columns:24px minmax(0,1fr);gap:8px}.trip-form-panel .area-fields{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.trip-form-panel .area-fields>label:first-child,.trip-form-panel .mandatory-campsite,.trip-form-panel .area-stay-rules{grid-column:1/-1;min-width:0}.trip-form-panel .area-actions{grid-column:2}.trip-form-panel .campsite-boundaries{margin:12px}.trip-form-panel .campsite-boundaries>div{grid-template-columns:minmax(0,1fr);gap:6px}.trip-form-panel .campsite-boundaries .check-label{white-space:normal}.trip-form-panel .avoid-list{margin:12px}.trip-save-bar{background:var(--canvas);border-top:1px solid var(--line);padding-block:12px}.trip-save-bar .primary-button.inline{margin-top:0}.trip-save-bar .field-error{font-size:12px}.plan-grid>*,.alternatives>*,.plan-card-title>div{min-width:0}.plan-card-title strong,.stop-details strong{overflow-wrap:anywhere}.planner-next-action{border-top:1px solid var(--line);padding:12px}.planner-next-action .primary-button.inline{width:100%;margin-top:0}@media (width>=721px) and (width<=980px){.topbar{grid-template-columns:minmax(0,1fr) auto auto}.plan-grid,.plan-grid.read-only{grid-template-columns:minmax(0,1fr)}}@media (width<=720px){.topbar{gap:8px}.workspace-menu>summary{width:44px;padding:0}.workspace-menu>summary span,.workspace-menu>summary svg:last-child{display:none}.view-tabs{padding-inline:4px}.view-tabs button{flex:1;min-width:0;padding-inline:4px}.app-shell input:not([type=checkbox]):not([type=range]),.app-shell select,.app-shell textarea{font-size:16px}.skeleton-workspace{grid-template-columns:1fr}.skeleton-workspace>div{height:32dvh}.plan-grid,.plan-grid.read-only,.trip-form-panel .rules-editor .form-grid,.trip-form-panel .trip-basics-fields{grid-template-columns:minmax(0,1fr)}}.workspace-feedback{color:var(--muted);margin:0;padding:8px 24px;font-size:13px}.planner-pending{color:var(--muted);text-align:right;font-size:11px}.preferred-place{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;min-width:0}.preferred-place>.area-item{border:0;margin:0}.preferred-midpoint{border-top:1px solid var(--line);cursor:pointer;align-items:center;gap:8px;margin:0;padding:10px 16px;font-size:13px;display:flex}.preferred-midpoint input{flex:none;width:18px;height:18px;margin:0}.planner-layout .stay-actions>.change-campsite{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:44px;color:var(--forest);font:inherit;cursor:pointer;background:#fafcfb;justify-content:center;align-items:center;gap:5px;padding:6px 9px;font-size:12px;display:inline-flex}.planner-layout .change-campsite svg{width:14px;height:14px}.planner-layout .itinerary-content .stay-rule-warnings{gap:4px;margin:0;padding:8px 0 0;list-style:none;display:grid}.planner-layout .itinerary-content .stay-rule-warnings>li{color:#795014;background:0 0;border:0;align-items:start;gap:6px;min-height:0;padding:0;font-size:12px;line-height:1.5;display:flex}.stay-rule-warnings svg{flex:0 0 14px;width:14px;height:14px;margin-top:2px}.access-legs{gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}.access-legs>li{border:1px solid var(--line);border-radius:var(--radius-sm);background:#f5f7fa;gap:4px;padding:12px;font-size:12px;display:grid}.access-legs span{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.access-legs svg{width:14px;height:14px}.access-legs small{color:var(--muted);line-height:1.5}.today .embedded-checklist{width:100%;box-shadow:none;border:0;margin:0;padding:0}.today .embedded-checklist>h2{margin:0 0 16px}.workspace-shell{--planning-gap:var(--space-6);background:#f5f7fa;height:auto;min-height:100dvh;display:block;overflow:visible}#root:has(.workspace-shell){flex-direction:column;display:flex}html:has(.workspace-shell){scroll-padding-top:132px;scroll-padding-bottom:160px}.workspace-shell :is(input,select,textarea,summary,button,a){scroll-margin-block:140px 160px}#root:has(.workspace-shell)>.consent-banner{align-items:center;gap:var(--space-4);border:0;border-bottom:1px solid var(--line-dark);width:auto;box-shadow:none;flex-wrap:wrap;order:-1;margin:0;display:flex;position:static}.workspace-shell>main{min-height:calc(100dvh - 118px);overflow:visible}.workspace-shell .page-layout{padding:0;display:block}.workspace-shell .trip-editor{width:calc(100% - 48px);max-width:none;padding:var(--space-8) 0 0;display:block}.workspace-shell .topbar{box-shadow:0 1px #172c2308}.workspace-shell .view-tabs button{min-height:48px;font-size:13px}.workspace-shell .trip-manager{padding:0 0 var(--space-6);margin:0 0 var(--space-6);border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0}.workspace-shell .trip-manager label{align-items:center;gap:var(--space-3);width:min(520px,100%);color:var(--muted);font-size:var(--text-sm);margin:0;display:flex}.workspace-shell .trip-manager select{background:#fff;flex:1;width:auto;min-width:0;margin:0}.workspace-shell .trip-editor>.page-title{margin:0}.workspace-shell .trip-editor>.page-title h1,.planning-intro h1{letter-spacing:-.045em;font-size:clamp(28px,2.4vw,32px);line-height:1.2}.workspace-lead,.planning-intro p{max-width:90ch;margin:var(--space-2) 0 var(--space-4);color:var(--muted);font-size:var(--text-base);line-height:1.65}.trip-section-nav{gap:var(--space-2);margin:0 0 var(--space-4);display:flex}.trip-section-nav a{min-height:44px;padding:var(--space-2) var(--space-4);align-items:center;gap:var(--space-2);color:var(--muted);border:1px solid var(--line);font-size:var(--text-sm);background:#fff;border-radius:999px;font-weight:600;text-decoration:none;display:flex}.trip-section-nav a:hover{color:var(--forest);border-color:var(--forest)}.trip-section-nav a span{color:var(--forest);font-size:var(--text-xs)}.workspace-shell .trip-workspace{align-items:start;gap:var(--space-8);grid-template-columns:minmax(0,1.6fr) minmax(280px,.9fr);display:grid}.workspace-shell .trip-form-panel{gap:var(--space-6);padding:0;display:grid;overflow:visible}.trip-options{gap:var(--space-6);min-width:0;display:grid}.setup-card{border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);background:#fff;scroll-margin-top:140px}.setup-card>header,.setup-card.workspace-section>summary{align-items:center;gap:var(--space-4);padding:var(--space-6);border-bottom:1px solid var(--line);margin:0;list-style:none;display:flex}.setup-card>header h2{font-size:19px}.setup-card>header p,.setup-card>summary small{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-sm);font-weight:400;line-height:1.6;display:block}.setup-card.workspace-section{margin:0;overflow:visible}.setup-card.workspace-section:not([open])>summary{border-bottom:0}.setup-card.workspace-section>summary:after{margin-left:auto}.section-number{width:36px;height:36px;color:var(--forest);background:var(--mist);border-radius:var(--radius-sm);border:1px solid #d7e6de;flex:0 0 36px;place-items:center;font-size:13px;font-weight:700;display:grid}.optional-label{white-space:nowrap;color:var(--muted);font-size:var(--text-xs);background:#f1f4f6;border-radius:6px;flex-shrink:0;margin-left:auto;padding:4px 8px;font-weight:500}.workspace-shell .trip-basics-fields{padding:var(--space-6);gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-shell .trip-basics-fields label,.workspace-shell .rules-editor label{font-size:var(--text-sm)}.workspace-shell .trip-basics-fields input,.workspace-shell .trip-basics-fields select{height:48px;font-size:var(--text-base);border-radius:var(--radius-sm)}.workspace-shell .trip-date-endpoint{gap:var(--space-4)}.workspace-shell .trip-travellers{padding-top:var(--space-4);gap:var(--space-4)}.workspace-shell .trip-travellers legend{font-size:var(--text-sm)}.workspace-shell .ferry-editor{padding:var(--space-4) var(--space-6);border-top:1px solid var(--line);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:#fafbfc}.workspace-shell .rules-editor{padding:var(--space-6);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:#fff}.workspace-shell .rules-editor .form-grid{gap:var(--space-4);padding:0}.workspace-shell .area-heading,.workspace-shell .area-list{margin:var(--space-6)}.workspace-shell .area-item{border:1px solid var(--line);border-radius:var(--radius-md);padding:0;display:block}.workspace-shell .area-item.active{border:1px solid var(--sea)}.area-item>summary{align-items:center;gap:var(--space-3);min-height:68px;padding:var(--space-4);cursor:pointer;display:flex}.area-item>summary>span:nth-child(2){gap:4px;min-width:0;display:grid}.area-item>summary strong{font-size:var(--text-sm);overflow-wrap:anywhere}.area-item>summary small{color:var(--muted);font-size:var(--text-xs)}.area-edit-label{color:var(--forest);font-size:var(--text-xs);margin-left:auto;font-weight:600}.workspace-shell .area-fields{padding:var(--space-4);border-top:1px solid var(--line)}.workspace-shell .area-actions{padding:0 var(--space-4) var(--space-4)}.workspace-shell .area-actions button{border-radius:var(--radius-sm);width:44px;height:44px}.places-empty{padding:var(--space-8) var(--space-6);justify-items:center;gap:var(--space-3);text-align:center;display:grid}.places-empty>svg{width:28px;color:var(--sea)}.places-empty strong{font-size:var(--text-base)}.places-empty p{max-width:380px;color:var(--muted);font-size:var(--text-sm);margin:0;line-height:1.7}.workspace-shell .trip-map-panel{margin:0;display:block;position:sticky;top:140px}.trip-preview{padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff}.trip-preview h2{margin-bottom:var(--space-4);overflow-wrap:anywhere;font-size:23px}.preview-dates{align-items:center;gap:var(--space-2);padding-block:var(--space-4);border-block:1px solid var(--line);color:var(--muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.preview-dates>svg,.preview-vehicle svg,.setup-readiness svg{flex-shrink:0;width:17px}.preview-dates strong{color:var(--ink);margin-left:auto}.journey-outline{margin:var(--space-6) 0;padding:0;list-style:none}.journey-outline li{align-items:start;gap:var(--space-3);padding-bottom:var(--space-6);display:flex;position:relative}.journey-outline li:last-child{padding-bottom:0}.journey-outline li:not(:last-child):after{content:"";background:var(--line-dark);width:1px;position:absolute;top:24px;bottom:0;left:11px}.outline-dot{border:1px solid var(--line-dark);background:var(--mist);width:24px;height:24px;color:var(--forest);border-radius:50%;flex:0 0 24px;place-items:center;font-size:11px;font-weight:600;display:grid}.journey-outline li>div{gap:4px;min-width:0;display:grid}.journey-outline small{color:var(--muted);font-size:var(--text-xs)}.journey-outline strong{font-size:var(--text-sm);overflow-wrap:anywhere}.preview-vehicle{padding-top:var(--space-4);border-top:1px solid var(--line);align-items:center;gap:var(--space-2);color:var(--muted);font-size:var(--text-sm);display:flex}.setup-readiness{align-items:center;gap:var(--space-2);margin:var(--space-4) 0 0;color:var(--muted);font-size:var(--text-sm);display:flex}.setup-readiness.ready{color:var(--forest)}.preview-map{margin-top:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;overflow:hidden}.preview-map>summary{align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-4);color:var(--forest);font-size:var(--text-sm);cursor:pointer;font-weight:600;display:flex}.preview-map>summary svg{width:18px}.preview-map>p{margin:0 var(--space-4) var(--space-4);color:var(--muted);font-size:var(--text-sm);line-height:1.6}.workspace-shell .preview-map .map-picker-heading{padding:0 var(--space-4)}.workspace-shell .preview-map .map-picker-heading h3{display:none}.workspace-shell .preview-map .map-picker-heading span{font-size:var(--text-xs)}.workspace-shell .preview-map .trip-map{height:300px;min-height:260px}.workspace-shell .trip-save-bar{z-index:9;margin-top:var(--space-6);padding:var(--space-4) var(--space-6);align-items:center;gap:var(--space-3) var(--space-6);border:1px solid var(--line);border-radius:var(--radius-md) var(--radius-md) 0 0;background:#fff;flex-wrap:wrap;display:flex;position:sticky;bottom:0;box-shadow:0 -8px 32px #172c230d}.save-summary{font-size:var(--text-sm);gap:4px;margin-right:auto;display:grid}.save-summary>span{color:var(--muted);font-size:var(--text-xs)}.workspace-shell .trip-data-actions .primary-button{min-width:230px;min-height:48px;margin:0}.workspace-shell .trip-save-bar>.field-error{width:100%;margin:0}.workspace-shell .planner-layout{max-width:1600px;padding:var(--space-8);margin:0 auto;display:block}.planning-command{justify-content:space-between;align-items:start;gap:var(--space-4);padding-bottom:var(--space-6);flex-wrap:wrap;display:flex}.planning-intro{flex:420px;min-width:0}.planning-intro h1{overflow-wrap:anywhere}.planning-intro p{font-size:var(--text-sm);margin-bottom:0}.planning-actions{align-items:center;gap:var(--space-2);padding-top:var(--space-2);flex-wrap:wrap;display:flex}.planning-actions>button{width:auto;min-height:46px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);margin:0}.planning-actions .constraints-toggle{border:1px solid var(--line-dark);border-radius:var(--radius-sm);background:#fff;font-weight:600;display:inline-flex}.planning-actions .planner-regenerate{border:1px solid var(--forest);border-radius:var(--radius-sm);color:var(--forest);background:#fff}.planning-actions .planner-regenerate.primary-button{color:#fff;background:var(--forest)}.planning-context{gap:var(--space-3) var(--space-6);width:100%;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;flex-wrap:wrap;display:flex}.planning-context>span{align-items:center;gap:var(--space-2);min-width:0;color:var(--muted);font-size:var(--text-sm);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.planning-context svg{flex-shrink:0;width:16px}.workspace-shell .route-refinement{height:auto;max-height:none;padding:var(--space-6);margin-bottom:var(--space-6);border:1px solid var(--line-dark);border-radius:var(--radius-lg);background:#fff;display:block;position:static;overflow:visible}.workspace-shell .route-refinement[hidden]{display:none}.route-refinement .section-heading h2{font-size:20px}.route-refinement .section-heading p{color:var(--muted);font-size:var(--text-sm);margin:var(--space-2) 0 var(--space-4);line-height:1.6}.workspace-shell .route-refinement .controls-content{align-items:start;gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));padding:0;display:grid;overflow:visible}.route-refinement .date-summary{display:none}.route-refinement .controls-content{border:0;min-width:0;margin:0}.route-refinement .workspace-section{min-width:0;margin:0}.route-refinement .preference-options label{min-height:44px;font-size:var(--text-sm)}.route-refinement .route-assistant{padding:var(--space-4)}.route-refinement .refinement-apply{width:auto;margin:var(--space-4) 0 0 auto}.planner-layout .workspace{background:0 0;padding:0;display:block;overflow:visible}.planner-layout .workspace-header{margin:0 0 var(--space-4)}.planner-layout .workspace-header h2{font-size:22px}.planner-layout .workspace-results:not([hidden]){display:block;overflow:visible}.planner-layout .plan-grid{min-height:0;display:block}.planner-layout .alternatives{gap:var(--space-4);padding:2px 2px var(--space-4);scroll-snap-type:x proximity;scrollbar-gutter:auto;grid-auto-columns:minmax(255px,1fr);grid-auto-flow:column;display:grid;overflow:auto visible}.planner-layout .alternatives>div{scroll-snap-align:start;min-width:0;margin:0}.planner-layout .plan-card,.planner-layout .plan-card.selected{min-height:160px;padding:var(--space-4)}.planner-layout .single-route .plan-card.single-route-summary{width:auto;min-height:44px;box-shadow:none;text-align:left;background:0 0;border:0;border-radius:0;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:4px 12px;padding:0;display:flex}.planner-layout .single-route .alternatives{padding:0;display:block;overflow:visible}.single-route-name{max-width:32ch;font-size:var(--text-sm);overflow-wrap:anywhere}.planner-layout .single-route-summary .delete-alternative{width:auto;min-width:44px;min-height:44px;padding:0 8px}.single-route-summary .delete-alternative>span{font-size:var(--text-xs)}.single-route-summary .delete-alternative:not([aria-busy=true])>span{display:none}.single-route-summary .delete-alternative[aria-busy=true],.planner-layout .delete-alternative[aria-busy=true]{gap:8px;width:auto}.planner-layout .delete-alternative[aria-busy=true]>span{font-size:var(--text-xs)}.route-notes{color:#70430b;min-width:0;position:relative}.route-notes>summary{border-radius:var(--radius-sm);color:#70430b;min-height:44px;font-size:var(--text-xs);cursor:pointer;align-items:center;gap:6px;padding:4px 8px;font-weight:600;list-style:none;display:inline-flex}.route-notes>summary::-webkit-details-marker{display:none}.route-notes>summary:after{content:"+";font-size:16px}.route-notes[open]>summary{background:#fff3d9}.route-notes[open]>summary:after{content:"-"}.route-notes>summary>svg{flex-shrink:0;width:14px;height:14px}.route-notes-content{z-index:10;border-radius:var(--radius-md);width:min(440px,68vw);max-height:min(340px,50dvh);box-shadow:var(--shadow-md);color:#70430b;font-size:var(--text-sm);background:#fff9ec;border:1px solid #d7b87d;padding:12px 16px;line-height:1.6;position:absolute;top:100%;left:0;overflow-y:auto}.route-notes-content ul{margin:0;padding-left:20px}.route-notes-content li+li{margin-top:8px}.route-notes-content .rule-warning{background:0 0;margin:0;padding:0}.itinerary-fields{border:0;margin:0;padding:0;display:contents}.planner-layout .stop-list{gap:8px;display:grid}.planner-layout .itinerary-content .itinerary-stay{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:4px 10px;min-width:0;padding:10px 12px;display:grid}.itinerary-stay .stop-details{gap:2px;display:grid}.itinerary-stay .stop-details strong,.itinerary-stay .stop-date{line-height:1.4}.itinerary-stay .stay-actions{flex-flow:wrap;grid-column:2;align-items:start;gap:4px 8px;min-width:0;display:flex}.itinerary-stay .stay-actions .booking-action{max-width:100%;display:block}.itinerary-stay .stay-actions .book-button{border-radius:var(--radius-sm);min-height:44px;font-size:var(--text-xs);padding:8px 12px;line-height:1.5}.itinerary-stay .booking-options{width:100%;margin:0}.itinerary-stay .stop-tools{min-width:0}.itinerary-stay .stop-tools>summary{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fafcfb;padding:0 8px}.itinerary-stay .replacement-error,.itinerary-stay .replacement-picker{grid-column:2/-1;min-width:0}.itinerary-stay .stop-details .vehicle-length-warning{margin:8px 0 0}.itinerary-content>.itinerary-fields>.booking-disclosure{background:0 0;border:0;margin:12px 0;padding:0}.planner-layout .plan-card dl{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr))}.planner-layout .plan-card dt{font-size:11px}.planner-layout .plan-card dd{font-size:14px}.planner-layout .plan-card-title{gap:var(--space-2);grid-template-columns:28px minmax(0,1fr) 18px}.planner-layout .plan-card-title strong{font-size:var(--text-sm)}.planner-layout .comparison-badge{font-size:11px}.planner-layout .delete-alternative{width:100%;font-size:var(--text-xs);justify-content:flex-start}.planner-layout .plan-detail{margin-top:var(--space-4);grid-template-columns:minmax(0,1.25fr) minmax(350px,1fr);align-items:stretch;display:grid}.route-map-pane{background:var(--mist);flex-direction:column;min-width:0;display:flex;position:relative}.route-map-pane .map-edit-bar{z-index:5;top:var(--space-3);left:var(--space-3);margin:0;position:absolute}.route-map-pane .map-edit-bar button{min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);font-size:var(--text-sm);background:#fff}.planner-layout .route-map-pane .route-map{flex:1;height:auto;min-height:420px}.route-map-caption{align-items:start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-xs);background:#f1f5f3;line-height:1.6;display:flex}.route-map-caption svg{flex-shrink:0;width:16px;margin-top:2px}.planner-layout .itinerary-content{border-left:1px solid var(--line);min-width:0;max-height:560px;padding:12px;overflow-y:auto;container:itinerary/inline-size}.planner-layout .itinerary-header{gap:12px;margin-bottom:8px;padding:0 0 8px}.itinerary-header>div{min-width:0}.planner-layout .itinerary-header h3{white-space:nowrap;text-overflow:ellipsis;font-size:16px;line-height:1.4;overflow:hidden}.itinerary-header>span{flex-shrink:0}.planner-layout .stop-list{max-height:none;margin:0;padding:0;overflow:visible}.planner-layout .stop-list li{gap:var(--space-3);padding:var(--space-4) 0;grid-template-columns:28px minmax(0,1fr);position:relative}.planner-layout .stop-details{gap:4px}.planner-layout .stop-details strong{font-size:var(--text-sm)}.planner-layout .stop-date{color:var(--forest);font-size:var(--text-xs);font-weight:600}.stop-tools{grid-column:2;min-width:0}.stop-tools>summary{min-height:44px;color:var(--forest);font-size:var(--text-xs);cursor:pointer;align-items:center;display:flex}.planner-layout .stop-edit-actions{gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.planner-layout .stop-edit-actions button{width:44px;height:44px}.planner-layout .planner-next-action{padding:var(--space-4) var(--space-6);border-top:0;border-bottom:1px solid var(--line);background:#fafbfc;grid-column:1/-1;justify-content:flex-end;display:flex}.planner-layout .planner-next-action .primary-button.inline{width:auto;min-width:260px;min-height:48px}.planner-layout .planner-next-action{justify-content:space-between;align-items:center;gap:var(--space-4)}.route-overview{gap:var(--space-3);flex:1;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;max-width:540px;margin:0;display:grid}.route-overview>div{border:0;min-width:0;padding:0}.route-overview dt{font-size:11px}.route-overview dd{font-size:14px}.planner-layout .planner-empty{width:100%;min-height:340px;padding:var(--space-8);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;grid-column:1/-1}.planner-empty>strong{font-size:22px}.planner-empty>span:not(.empty-state-icon){max-width:500px;font-size:var(--text-sm)}.empty-state-icon{width:56px;height:56px;margin-bottom:var(--space-2);border-radius:var(--radius-lg);background:var(--mist);place-items:center;display:grid}.planning-start-steps{justify-content:center;gap:var(--space-4) var(--space-8);margin:var(--space-6) 0;padding-left:var(--space-6);color:var(--muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.planner-layout .planner-progress{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;min-height:400px}@container itinerary (width>=680px){.planner-layout .itinerary-content .itinerary-stay{grid-template-columns:24px minmax(160px,1fr) auto;align-items:center}.itinerary-stay .stay-actions{grid-area:1/3;align-self:center}.itinerary-stay .stay-actions:has(.stop-tools[open],.booking-options[open],.booking-action-error){grid-area:auto/2/auto/-1;align-self:start}}@media (prefers-reduced-motion:no-preference){.setup-card,.plan-card{transition:border-color .16s,box-shadow .16s}.setup-card:focus-within{box-shadow:0 0 0 3px #17634812}.planner-layout .plan-detail{animation:.18s ease-out planning-reveal}@keyframes planning-reveal{0%{transform:translateY(5px)}to{transform:translateY(0)}}}@media (width<=1100px){.workspace-shell .trip-workspace{gap:var(--space-6);grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr)}.workspace-shell .planner-layout{padding:var(--space-6)}.workspace-shell .route-refinement .controls-content{grid-template-columns:1fr 1fr}.planner-layout .plan-detail{grid-template-columns:minmax(0,1fr) minmax(320px,1fr)}}@media (width<=800px){.route-notes-content{width:100%;margin-bottom:8px;position:static}.route-notes[open]{flex-basis:100%}.planner-layout .planner-next-action{flex-wrap:wrap}.route-overview{flex-basis:100%;max-width:none}.workspace-shell .trip-editor{width:calc(100% - 32px);padding-top:var(--space-6)}.workspace-shell .trip-workspace{grid-template-columns:minmax(0,1fr)}.workspace-shell .trip-map-panel{position:static}.workspace-shell .trip-manager{align-items:stretch;gap:var(--space-3);flex-wrap:wrap}.workspace-shell .trip-manager label{width:100%}.planner-layout .plan-detail{grid-template-columns:minmax(0,1fr)}.planner-layout .route-map-pane .route-map{height:300px;min-height:300px}.planner-layout .itinerary-content{border-left:0;border-top:1px solid var(--line);max-height:none}.workspace-shell .route-refinement .controls-content{grid-template-columns:minmax(0,1fr)}.trip-section-nav{gap:var(--space-2)}.trip-section-nav a{padding:var(--space-2);font-size:var(--text-xs);text-align:center;flex:1;justify-content:center}}@media (width<=540px){.planner-layout .itinerary-stay .stay-actions{grid-column:1/-1;gap:4px 6px}.planner-layout .itinerary-stay .stay-actions:has(>.change-campsite):not(:has(details[open],.booking-action-error)){grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.planner-layout .itinerary-stay .stay-actions>.stop-tools{grid-column:auto}.planner-layout .itinerary-stay .stay-actions>.change-campsite{overflow-wrap:anywhere;padding:5px 6px;line-height:16px}.planner-layout .itinerary-stay .stay-actions .book-button{justify-content:center;width:100%;padding-inline:6px}.planner-layout .itinerary-stay .stay-actions .book-button svg,.planner-layout .change-campsite svg{display:none}.workspace-shell .planner-layout{padding:var(--space-6) var(--space-4)}.workspace-shell .view-tabs button{flex:1;min-width:0;font-size:12px}.workspace-shell .trip-basics-fields{padding:var(--space-4);grid-template-columns:minmax(0,1fr)}.workspace-shell .trip-travellers{gap:var(--space-2)}.workspace-shell .trip-basics-fields input,.workspace-shell .trip-basics-fields select{font-size:16px}.setup-card>header,.setup-card.workspace-section>summary{padding:var(--space-4);gap:var(--space-3)}.setup-card>header h2{font-size:18px}.optional-label{font-size:11px}.workspace-shell .ferry-editor,.workspace-shell .rules-editor{padding:var(--space-4)}.workspace-shell .trip-save-bar{padding:var(--space-3)}.save-summary>span{display:none}.workspace-shell .trip-data-actions{width:100%}.workspace-shell .trip-data-actions .primary-button{width:100%;min-width:0}.workspace-shell .trip-form-panel .area-fields{grid-template-columns:minmax(0,1fr)}.workspace-shell .trip-form-panel .area-stay-rules{grid-column:auto}.planning-actions{width:100%}.planning-actions>button{flex:1;justify-content:center}.planning-actions>.planner-regenerate{flex-basis:100%}.planning-context{gap:var(--space-3)}.planning-context>span{max-width:100%}.planner-layout .alternatives{grid-auto-columns:minmax(260px,86%)}.planner-layout .itinerary-content,.planner-layout .planner-next-action{padding:var(--space-4)}.planner-layout .planner-next-action .primary-button.inline{width:100%;min-width:0}.planner-layout .workspace-header{align-items:start;gap:var(--space-3);flex-direction:column}.planner-layout .comparison-toolbar{align-self:stretch}}.public-shell{background:var(--canvas);min-height:100dvh;color:var(--ink)}.public-shell .public-header{z-index:20;align-items:center;gap:var(--space-6);border-bottom:1px solid var(--line);background:var(--paper);grid-template-columns:1fr auto 1fr;min-height:72px;padding:12px clamp(20px,3vw,48px);display:grid;position:sticky;top:0}.public-shell .public-brand{align-items:center;gap:var(--space-3);color:var(--ink);font:700 17px var(--sans);letter-spacing:-.025em;text-decoration:none;display:inline-flex}.public-shell .public-brand>span{border-radius:var(--radius-md);background:var(--forest);width:36px;height:36px;color:var(--paper);flex-shrink:0;place-items:center;display:grid}.public-shell .public-brand svg{width:21px}.public-shell .public-header nav,.public-shell .public-actions,.public-shell .public-footer div{align-items:center;gap:var(--space-1);display:flex}.public-shell .public-header nav a,.public-shell .sign-in-link,.public-shell .public-footer a{border-radius:var(--radius-sm);min-height:44px;color:var(--muted);font-size:var(--text-sm);align-items:center;padding:0 14px;font-weight:600;text-decoration:none;display:inline-flex}.public-shell .public-header nav a[aria-current=page]{background:var(--mist);color:var(--forest)}.public-shell .public-actions{justify-self:end;gap:var(--space-3)}.public-shell .sign-in-link{border:1px solid var(--line-dark);color:var(--forest)}.public-shell .beta-notice{border-bottom:1px solid var(--line);background:var(--mist);min-height:38px;color:var(--forest);font-size:var(--text-xs);text-align:center;place-items:center;padding:8px 24px;font-weight:600;display:grid}.public-shell .marketing-hero{align-items:center;gap:var(--space-12);background:var(--canvas);min-height:0;box-shadow:none;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);padding:clamp(32px,4vw,64px);display:grid}.public-shell .hero-copy{text-align:left;max-width:650px;margin:0}.public-shell .marketing-eyebrow{margin-bottom:var(--space-3);color:var(--forest);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700;display:block}.public-shell .hero-copy h1{letter-spacing:-.045em;max-width:650px;margin:0;font-size:clamp(34px,3.2vw,56px);line-height:1.08}.public-shell .hero-copy>p{max-width:570px;margin:var(--space-6) 0 0;color:var(--muted);font-size:var(--text-lg);line-height:1.6}.public-shell .hero-actions{margin-top:var(--space-6);justify-content:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.public-shell .hero-copy .hero-access-note{margin-top:var(--space-3);font-size:var(--text-xs);line-height:1.5}.public-shell .marketing-primary,.public-shell .marketing-secondary,.public-shell .demo-book{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);min-height:44px;font-size:var(--text-sm);text-align:center;cursor:pointer;border:1px solid #0000;padding:10px 18px;font-weight:650;line-height:1.4;text-decoration:none;display:inline-flex}.public-shell .marketing-primary,.public-shell .demo-book{background:var(--forest);color:var(--paper)}.public-shell .marketing-secondary{border-color:var(--line-dark);background:var(--paper);color:var(--ink)}.public-shell .marketing-primary svg,.public-shell .marketing-secondary svg,.public-shell .demo-book svg,.public-shell .text-link svg{flex-shrink:0;width:17px;height:17px}.public-shell .text-link{align-items:center;gap:var(--space-2);min-height:44px;color:var(--forest);font-size:var(--text-sm);font-weight:600;text-decoration:none;display:inline-flex}.public-shell button:disabled{opacity:.65;cursor:wait}.public-shell a:hover{text-underline-offset:4px;text-decoration:underline}.public-shell .marketing-primary:hover,.public-shell .demo-book:hover{box-shadow:var(--shadow-md)}.public-shell .marketing-secondary:hover,.public-shell .public-header nav a:hover,.public-shell .sign-in-link:hover{background:var(--mist)}.public-shell .product-preview{border:1px solid var(--line-dark);border-radius:var(--radius-lg);background:var(--paper);width:100%;min-width:0;max-width:none;box-shadow:var(--shadow-md);margin:0;overflow:hidden}.public-shell .preview-toolbar{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--line);background:var(--paper);min-height:44px;font-size:var(--text-xs);grid-template-columns:auto 1fr auto;padding:10px 16px;display:grid}.public-shell .preview-toolbar>span:last-child{color:var(--muted)}.public-shell .preview-brand-dot{background:var(--sea);border-radius:50%;width:9px;height:9px}.public-shell .preview-content{grid-template-columns:minmax(0,1fr) 205px;min-height:340px;display:grid}.public-shell .preview-route-map,.public-shell .preview-map-loading{border:0;width:100%;height:360px;min-height:0}.public-shell .preview-map-loading{padding:var(--space-6);justify-content:center;align-items:center;gap:var(--space-4);background:var(--mist);color:var(--muted);font-size:var(--text-sm);text-align:center;flex-direction:column;display:flex}.public-shell .preview-map-error>svg{width:36px;height:36px;color:var(--forest)}.public-shell .preview-map-error strong{color:var(--ink)}.public-shell .preview-itinerary{min-width:0;padding:var(--space-4);gap:var(--space-2);border-left:1px solid var(--line);flex-direction:column;display:flex}.public-shell .preview-itinerary>span{color:var(--muted);font-size:var(--text-xs);margin:0;font-weight:700}.public-shell .preview-itinerary>div{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--line);flex:1;grid-template-columns:22px minmax(0,1fr);min-height:38px;padding:8px 0;display:grid}.public-shell .preview-itinerary b{color:var(--sea);font-size:var(--text-xs)}.public-shell .preview-itinerary strong{overflow-wrap:anywhere;font-size:var(--text-sm);line-height:1.35}.public-shell .preview-itinerary p{color:var(--muted);font-size:var(--text-xs);background:0 0;margin:0;padding:0;line-height:1.4}.public-shell .preview-itinerary .text-link{font-size:var(--text-xs);margin-top:auto}.public-shell .proof-band{width:100%;max-width:none;padding:0 clamp(24px, 4vw, 64px) var(--space-8);gap:var(--space-4);background:0 0;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.public-shell .proof-band article:first-child,.public-shell .proof-band article,.public-shell .proof-band article:last-child{padding:var(--space-6);gap:6px var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);grid-template-columns:24px minmax(0,1fr);display:grid}.public-shell .proof-band svg{width:22px;color:var(--forest)}.public-shell .proof-band h2{margin:0;font-size:19px;line-height:1.35}.public-shell .proof-band p,.public-shell .proof-band .text-link{color:var(--muted);font-size:var(--text-sm);grid-column:2;margin:0;line-height:1.5}.public-shell .proof-band .text-link{color:var(--forest)}.public-shell .public-page{width:min(1240px,100% - 64px);min-height:calc(100dvh - 200px);padding:var(--space-12) 0;margin:0 auto}.public-shell .public-page>h1{letter-spacing:-.04em;max-width:900px;margin:0;font-size:clamp(32px,3.5vw,48px);line-height:1.15}.public-shell .public-intro{max-width:760px;margin:var(--space-4) 0 0;color:var(--muted);font-size:var(--text-base);line-height:1.7}.public-shell .pricing-controls{margin:var(--space-6) 0;justify-content:space-between;align-items:center;gap:var(--space-6);display:flex}.public-shell .pricing-controls>p{max-width:760px;color:var(--muted);font-size:var(--text-sm);margin:0}.public-shell .pricing-controls label{align-items:center;gap:var(--space-3);font-size:var(--text-sm);white-space:nowrap;margin:0;display:flex}.public-shell .pricing-controls select{width:auto;min-width:100px;min-height:44px;margin:0}.public-shell .pricing-grid{gap:var(--space-4);margin-top:var(--space-6);background:0 0;border:0;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.public-shell .pricing-grid article{min-width:0;padding:var(--space-6);gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:none;flex-direction:column;display:flex}.public-shell .pricing-grid article.popular{border-color:var(--forest);box-shadow:inset 0 4px var(--forest)}.public-shell .pricing-badge{min-height:20px;font-size:var(--text-xs)}.public-shell .popular-label{color:var(--forest);font-size:var(--text-xs);font-weight:700}.public-shell .pricing-grid h2{margin:0;font-size:25px}.public-shell .pricing-grid p{color:var(--muted);margin:0;line-height:1.5}.public-shell .pricing-grid .tier-purpose{min-height:42px;font-size:var(--text-sm)}.public-shell .pricing-grid .tier-price{color:var(--ink);letter-spacing:-.03em;font-size:36px;font-weight:700}.public-shell .tier-price small{color:var(--muted);font-size:var(--text-xs);letter-spacing:0;font-weight:500;display:block}.public-shell .tier-features{padding:var(--space-4) 0 0;margin:0 0 var(--space-4);gap:var(--space-3);border-top:1px solid var(--line);list-style:none;display:grid}.public-shell .tier-features li{align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);line-height:1.5;display:flex}.public-shell .tier-features svg{width:16px;height:20px;color:var(--forest);flex:0 0 16px}.public-shell .tier-features .tier-exclusion{color:var(--muted)}.public-shell .pricing-grid article>a{padding-inline:var(--space-3);margin-top:auto}.public-shell .vat-copy,.public-shell .reward-placeholder{margin:var(--space-4) 0 0;color:var(--muted);font-size:var(--text-sm);line-height:1.6}.public-shell .reward-placeholder{padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--mist)}.public-shell .pricing-faq{max-width:840px;margin:var(--space-12) auto 0;border-top:1px solid var(--line)}.public-shell .pricing-faq h2{margin:var(--space-6) 0 var(--space-3);font-size:var(--text-xl)}.public-shell .pricing-faq details{padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.public-shell .pricing-faq summary{cursor:pointer;min-height:44px;padding-block:10px;font-weight:600}.public-shell .pricing-faq p{margin:var(--space-2) 0 var(--space-4);color:var(--muted);line-height:1.7}.public-shell .public-feedback,.public-shell .public-loading{margin:var(--space-6) 0;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);color:var(--muted)}.public-shell .public-feedback p,.public-shell .public-loading p{margin:0}.public-shell .public-feedback button{margin-top:var(--space-4)}.public-shell .public-recovery{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.public-shell .route-copy,.public-shell .reader-next-step{margin:var(--space-6) 0;padding:var(--space-6);gap:var(--space-4);border:1px solid var(--line-dark);border-radius:var(--radius-md);background:var(--paper);grid-template-columns:1fr 1fr auto;align-items:end;display:grid}.public-shell .route-copy-heading{grid-column:1/-1}.public-shell .route-copy h2,.public-shell .reader-next-step h2{margin:0;font-size:20px}.public-shell .route-copy-heading p,.public-shell .reader-next-step p{color:var(--muted);font-size:var(--text-sm);margin:6px 0 0;line-height:1.6}.public-shell .route-copy label{margin:0}.public-shell .route-copy input{min-height:44px}.public-shell .route-copy input[readonly]{background:var(--canvas);color:var(--muted)}.public-shell .route-copy-error{color:var(--ink);grid-column:1/-1;margin:0}.public-shell .route-copy-error a{min-height:44px;color:var(--forest);align-items:center;display:inline-flex}.public-shell .reader-next-step{background:var(--mist);border-color:var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center}.public-shell .reader-context{align-items:flex-start;gap:var(--space-3);margin-top:var(--space-6);color:var(--muted);font-size:var(--text-sm);line-height:1.6;display:flex}.public-shell .reader-context svg{width:19px;color:var(--forest);flex:0 0 19px}.public-shell .reader-context p{margin:0}.public-shell .demo-metrics{margin:var(--space-6) 0 0;padding:var(--space-4) 0;gap:var(--space-4);border-block:1px solid var(--line);color:var(--forest);font-size:var(--text-sm);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.public-shell .public-route-workspace{margin-top:var(--space-6);align-items:start;gap:var(--space-6);grid-template-columns:minmax(0,1.2fr) minmax(340px,1fr);display:grid}.public-shell .reader-map{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);min-width:0;position:sticky;top:96px;overflow:hidden}.public-shell .reader-map .demo-route-map,.public-shell .reader-map .public-route-map{border:0;width:100%;height:clamp(320px,52dvh,500px);min-height:300px;margin:0}.public-shell .reader-panel-heading{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--line)}.public-shell .reader-panel-heading h2{margin:0;font-size:18px}.public-shell .reader-panel-heading>span{color:var(--muted);font-size:var(--text-xs);margin-top:4px;display:block}.public-shell .reader-map-note{padding:var(--space-3) var(--space-4);border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-xs);margin:0}.public-shell .reader-stays{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);min-width:0;overflow:hidden}.public-shell .demo-route{padding:0 var(--space-6);border:0;margin:0;list-style:none}.public-shell .public-route-workspace .demo-route li{min-height:104px;padding:var(--space-4) 0;gap:var(--space-3);border-bottom:1px solid var(--line);grid-template-columns:32px minmax(0,1fr) auto;align-items:start;display:grid}.public-shell .demo-route li:last-child{border-bottom:0}.public-shell .reader-stop-number{color:var(--sea);font-size:var(--text-sm);padding-top:3px;font-weight:700}.public-shell .reader-stop-detail{gap:4px;min-width:0;display:grid}.public-shell .reader-stop-detail h3{font-size:var(--text-base);margin:0;line-height:1.4}.public-shell .reader-stop-detail>span,.public-shell .reader-stop-detail small,.public-shell .reader-no-booking{color:var(--muted);font-size:var(--text-xs)}.public-shell .public-itinerary a{align-items:center;gap:var(--space-2);min-height:44px;color:var(--forest);font-size:var(--text-xs);font-weight:600;display:inline-flex}.public-shell .public-itinerary a svg{width:14px;height:14px}.public-shell .public-route-workspace .demo-route .booking-action{grid-column:3;min-width:0}.public-shell .booking-action p{max-width:180px;margin:var(--space-2) 0 0;color:var(--muted);font-size:var(--text-xs)}.public-shell .demo-book{min-width:82px;padding-inline:var(--space-3)}.public-shell .reader-no-booking{grid-column:2/-1}.public-shell .public-empty{padding:var(--space-6);color:var(--muted)}.public-shell .help-search-row{align-items:flex-end;gap:var(--space-3);max-width:760px;margin-top:var(--space-6);display:flex}.public-shell .help-search{font-size:var(--text-sm);flex:1;margin:0;font-weight:600;display:block}.public-shell .help-search input{width:100%;min-height:48px;margin-top:var(--space-2);padding:10px var(--space-4);border:1px solid var(--line-dark);border-radius:var(--radius-sm);background:var(--paper);display:block}.public-shell .help-layout{gap:var(--space-8);margin-top:var(--space-8);grid-template-columns:minmax(0,1fr) 260px;align-items:start;display:grid}.public-shell .help-list{gap:var(--space-4);border:0;margin:0;display:grid}.public-shell .help-list article{padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper)}.public-shell .help-list h2{margin:0;font-size:21px}.public-shell .help-list p{max-width:76ch;margin:var(--space-3) 0 0;color:var(--muted);font-size:var(--text-base);line-height:1.8}.public-shell .help-next{gap:var(--space-2);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--mist);display:grid;position:sticky;top:96px}.public-shell .help-next h2{margin:0 0 var(--space-2);font-size:18px}.public-shell .help-next a{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:44px;color:var(--forest);font-size:var(--text-sm);text-decoration:none;display:flex}.public-shell .help-next svg{width:17px}.public-shell .legal-pages{gap:var(--space-2);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.public-shell .legal-pages a{min-height:44px;padding:8px var(--space-4);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--forest);font-size:var(--text-sm);align-items:center;text-decoration:none;display:flex}.public-shell .legal-pages a[aria-current=page]{background:var(--mist);border-color:var(--line-dark)}.public-shell .legal-updated{margin-top:var(--space-6);color:var(--muted);font-size:var(--text-sm)}.public-shell .legal-reader{gap:var(--space-8);margin-top:var(--space-6);grid-template-columns:240px minmax(0,1fr);align-items:start;display:grid}.public-shell .legal-reader>nav{padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);gap:0;display:grid;position:sticky;top:96px}.public-shell .legal-reader>nav strong{padding:var(--space-2) 0;font-size:var(--text-sm)}.public-shell .legal-reader>nav a{min-height:44px;color:var(--forest);font-size:var(--text-sm);align-items:center;padding:8px 0;line-height:1.4;text-decoration:none;display:flex}.public-shell .legal-reader .help-list{margin:0}.public-shell .legal-reader article{scroll-margin-top:96px}.public-shell .public-footer,.public-shell .share-footer{justify-content:space-between;align-items:center;gap:var(--space-4);border-top:1px solid var(--line);background:var(--paper);min-height:64px;font-size:var(--text-xs);color:var(--muted);padding:10px clamp(20px,3vw,48px);display:flex}.public-shell .public-footer>span{font-weight:600}.public-shell .public-footer a{font-size:var(--text-xs)}@media (width>=1180px) and (height>=700px){.public-shell.landing-shell{flex-direction:column;flex:1;min-height:0;display:flex}.public-shell.landing-shell>main{flex:1;grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid}.public-shell.landing-shell .marketing-hero{gap:var(--space-6);align-items:center;padding:18px 24px}.public-shell.landing-shell .hero-copy h1{margin-top:0;font-size:clamp(32px,2.8vw,46px);line-height:1.1}.public-shell.landing-shell .hero-copy>p{margin:var(--space-4) 0 0;font-size:var(--text-base);line-height:1.5}.public-shell.landing-shell .hero-copy .hero-access-note{margin-top:var(--space-2);font-size:var(--text-xs)}.public-shell.landing-shell .hero-actions{margin-top:var(--space-4);justify-content:flex-start}.public-shell.landing-shell .product-preview{flex-direction:column;height:100%;min-height:0;max-height:430px;margin:0;display:flex}.public-shell.landing-shell .preview-toolbar{flex-shrink:0}.public-shell.landing-shell .preview-content{flex:1;grid-template-columns:minmax(0,1fr) 205px;min-height:0}.public-shell.landing-shell .preview-route-map,.public-shell.landing-shell .preview-map-loading{height:100%;min-height:0}.public-shell.landing-shell .preview-itinerary{min-height:0;padding:var(--space-3);gap:var(--space-1);flex-direction:column;display:flex}.public-shell.landing-shell .preview-itinerary>div{flex:1;min-height:32px;padding:6px 0}.public-shell.landing-shell .preview-itinerary strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.public-shell.landing-shell .preview-itinerary p{font-size:var(--text-xs);padding:0}.public-shell.landing-shell .preview-map-error{padding:var(--space-4);gap:var(--space-2);line-height:1.45}.public-shell.landing-shell .preview-map-error>svg{width:28px;height:28px}.public-shell.landing-shell .preview-map-error>span{font-size:var(--text-xs)}.public-shell.landing-shell .proof-band{padding:0 24px var(--space-4);gap:var(--space-4)}.public-shell.landing-shell .proof-band article{padding:12px 16px}.public-shell.landing-shell .proof-band h2{font-size:18px}.public-shell.landing-shell .proof-band p,.public-shell.landing-shell .proof-band .text-link{font-size:var(--text-sm)}.public-shell.landing-shell>.public-footer{min-height:56px;padding:6px 24px}}@media (width<=1179px){.public-shell .public-header{gap:var(--space-3);grid-template-columns:1fr auto}.public-shell .public-header nav{grid-area:2/1/auto/-1;justify-content:center}.public-shell .marketing-hero{gap:var(--space-8);grid-template-columns:1fr}.public-shell .hero-copy{max-width:760px}.public-shell .product-preview{max-width:none}.public-shell .pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-shell .pricing-grid article{border:1px solid var(--line)}.public-shell .public-route-workspace{grid-template-columns:minmax(0,1fr)}.public-shell .reader-map,.public-shell .help-next,.public-shell .legal-reader>nav{position:static}.public-shell .help-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr) 220px}}@media (width<=700px){.public-shell .public-header{gap:var(--space-2);padding:10px 16px}.public-shell .public-brand{gap:0;font-size:0}.public-shell .public-actions{gap:var(--space-2)}.public-shell .public-actions .language-switcher svg{display:none}.public-shell .public-actions .language-switcher select{max-width:100px}.public-shell .public-header nav{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.public-shell .public-header nav a{justify-content:center;padding-inline:8px}.public-shell .beta-notice{padding:10px 16px}.public-shell .marketing-hero{padding:var(--space-8) 20px;gap:var(--space-6)}.public-shell .hero-copy h1{font-size:clamp(32px,8vw,44px)}.public-shell .hero-copy>p{font-size:var(--text-base)}.public-shell .hero-actions{flex-direction:column;align-items:stretch}.public-shell .preview-toolbar{grid-template-columns:auto 1fr}.public-shell .preview-toolbar>span:last-child{display:none}.public-shell .preview-content{grid-template-columns:minmax(0,1fr);min-height:0}.public-shell .preview-route-map,.public-shell .preview-map-loading{height:280px;min-height:280px}.public-shell .preview-itinerary{border-left:0;border-top:1px solid var(--line)}.public-shell .preview-itinerary>div{min-height:44px}.public-shell .proof-band{padding:0 20px var(--space-8);grid-template-columns:minmax(0,1fr)}.public-shell .proof-band article{padding:var(--space-6)}.public-shell .public-page{width:calc(100% - 32px);padding:var(--space-8) 0}.public-shell .pricing-controls{align-items:flex-start;gap:var(--space-4);flex-direction:column}.public-shell .pricing-grid{grid-template-columns:minmax(0,1fr)}.public-shell .pricing-grid article{padding:var(--space-6);border:1px solid var(--line)}.public-shell .pricing-grid .tier-purpose{min-height:0}.public-shell .pricing-badge:empty{display:none}.public-shell .route-copy,.public-shell .reader-next-step{padding:var(--space-4);grid-template-columns:minmax(0,1fr)}.public-shell .demo-metrics{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.public-shell .demo-route{padding-inline:var(--space-4)}.public-shell .public-route-workspace .demo-route li{grid-template-columns:28px minmax(0,1fr)}.public-shell .public-route-workspace .demo-route .booking-action{grid-column:2}.public-shell .reader-panel-heading{padding:var(--space-4)}.public-shell .reader-map .demo-route-map,.public-shell .reader-map .public-route-map{height:320px;min-height:280px}.public-shell .help-layout,.public-shell .legal-reader{grid-template-columns:minmax(0,1fr)}.public-shell .help-next,.public-shell .legal-reader>nav{position:static}.public-shell .help-list article{padding:var(--space-4)}.public-shell .help-search-row{flex-wrap:wrap}.public-shell .help-search{flex-basis:100%}.public-shell .public-footer,.public-shell .share-footer{padding:var(--space-4);align-items:flex-start;gap:var(--space-2);flex-direction:column}.public-shell .public-footer a{padding-inline:var(--space-3)}}body{line-height:1.6}button,input,select,textarea{border-radius:var(--radius-sm)}button,input,select,summary{touch-action:manipulation}button:disabled{cursor:not-allowed}button,.text-link,.marketing-primary,.marketing-secondary{min-height:44px}input,select,textarea{max-width:100%}button svg,a svg{flex-shrink:0}:where(h1,h2,h3,strong,p,label,a){overflow-wrap:anywhere}.skip-link{z-index:2000;color:#fff;background:var(--forest);border-radius:var(--radius-sm);padding:12px 20px;position:fixed;top:-120px;left:12px}.skip-link:focus{top:12px}#root{flex-direction:column;display:flex}#root>.consent-banner{align-items:center;gap:var(--space-4);border:0;border-bottom:1px solid var(--line-dark);width:auto;box-shadow:none;padding:var(--space-3) var(--space-6);flex-wrap:wrap;order:-1;justify-content:space-between;margin:0;display:flex;position:static}.consent-heading h2{font-size:var(--text-base)}.consent-heading svg{width:22px}.consent-actions{flex-wrap:wrap;margin-top:0}.consent-actions button{min-width:160px;min-height:46px;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:600}.consent-actions .primary-button{flex:none;width:auto}.consent-options{flex-basis:100%;order:2;grid-template-columns:repeat(3,minmax(0,1fr))}.consent-options label{border-radius:var(--radius-sm)}.consent-options small{font-size:var(--text-xs);line-height:1.6}.consent-banner.expanded .consent-actions{order:3;margin-left:auto}.consent-error{order:4;width:100%;margin:0}.app-shell{background:var(--canvas)}.app-shell.workspace-shell{flex-direction:column;display:flex}.workspace-shell>.app-content{flex:1}.workspace-notifications{z-index:12;max-height:30dvh;padding:6px 12px max(6px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:4px 16px;display:flex;position:sticky;bottom:0;overflow-y:auto}.workspace-notifications:empty{display:none}.workspace-notifications>:is(.workspace-feedback,.offline-ready-note){color:var(--muted);margin:0;padding:0;font-size:12px;line-height:1.5}.workspace-notifications>.workspace-feedback[role=alert]{color:#795014}.workspace-notifications>.upgrade-card{width:100%;margin:0}.trip-context{min-width:0;max-width:100%}.trip-context>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.trip-context .status{flex-shrink:0}.app-content{min-width:0}.app-content>main{min-height:calc(100dvh - 118px)}.app-navigation{z-index:11;border-bottom:1px solid var(--line);background:#fff;align-items:stretch;min-width:0;display:flex;position:sticky;top:68px}.workspace-tools{display:none}.app-navigation .view-tabs{position:static}.workspace-shell .app-navigation .view-tabs{border-bottom:0;flex:1;width:auto;max-width:none}.workspace-shell .app-navigation .view-tabs button{flex-direction:row}.app-shell .page{width:calc(100% - 48px);max-width:none;padding:var(--space-6) 0 var(--space-8)}.app-shell .page-title{align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.app-shell .page-title h1{letter-spacing:-.04em;font-size:clamp(28px,2.4vw,32px);line-height:1.2}.page-title .eyebrow{align-items:center;gap:var(--space-2);display:flex}.page-title .eyebrow svg{width:16px;height:16px}.app-shell .workflow-intro{max-width:760px;margin:0 0 var(--space-6);color:var(--muted);font-size:var(--text-base);line-height:1.7}.app-shell .workflow-card{padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);margin:0}.workflow-card h2,.export-choices>h2{margin:0 0 var(--space-3);font-size:21px}.workflow-card p{color:var(--muted);font-size:var(--text-sm);line-height:1.7}.app-shell fieldset{min-width:0}.app-shell fieldset>legend{padding:0 var(--space-2);font-size:17px;font-weight:650}.app-shell .form-grid{gap:var(--space-6);background:0 0;border:0}.app-shell .form-grid label{min-width:0;font-size:var(--text-sm);margin:0}.app-shell :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select){min-height:var(--control-height);border-radius:var(--radius-sm)}.app-shell .text-button{border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600}.app-shell .primary-button{border-radius:var(--radius-sm);min-height:48px;font-size:var(--text-sm)}.app-shell .workflow-toolbar{gap:var(--space-4);padding:var(--space-4);margin-bottom:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}.workflow-toolbar strong{font-size:var(--text-base)}.screen-summary{gap:var(--space-4);padding:var(--space-4);margin-bottom:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center;display:grid}.screen-summary>span{gap:var(--space-1);min-width:0;color:var(--muted);font-size:var(--text-xs);display:grid}.screen-summary strong{color:var(--ink);font-size:20px;font-weight:650}.screen-summary.today-readiness{grid-template-columns:repeat(3,minmax(0,1fr))}.section-tabs{z-index:6;gap:var(--space-1);padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md);background:#eef2f3;display:flex;position:sticky;top:126px;overflow-x:auto}.section-tabs>button{min-width:max-content;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--text-sm);background:0 0;border:1px solid #0000;flex:1;font-weight:600}.section-tabs>button[aria-selected=true]{border-color:var(--line);color:var(--forest);box-shadow:var(--shadow-sm);background:#fff}.section-panel{min-width:0;padding-top:var(--space-6);scroll-margin-top:180px}.section-panel[hidden]{display:none}.screen-shortcuts{gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.screen-shortcuts a{min-height:44px;padding:var(--space-2) var(--space-4);border:1px solid var(--line);color:var(--forest);font-size:var(--text-sm);background:#fff;border-radius:999px;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.today-workspace{gap:var(--space-6);grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);align-items:start;display:grid}.today-primary,.today-support{gap:var(--space-6);min-width:0;display:grid}.today-primary,.today-support>[id]{scroll-margin-top:150px}.app-shell .today-workspace .pre-trip-grid,.app-shell .today-workspace .today-band{gap:var(--space-6);background:0 0;border:0;grid-template-columns:minmax(0,1fr);margin:0;display:grid}.app-shell .pre-trip-booking h2,.app-shell .next-stop h2{font-size:26px;line-height:1.3}.today-workspace .documents-checklist>summary{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:48px;font-size:var(--text-base);cursor:pointer;flex-wrap:wrap;font-weight:650;display:flex}.app-shell .today-workspace .documents-checklist>div{gap:var(--space-2);grid-template-columns:1fr;display:grid}.app-shell .today-support .journal-panel{margin:0}.today-support .journal-panel textarea{min-height:180px}.today-workspace .navigation-handoff{gap:var(--space-3);grid-template-columns:1fr;display:grid}.today-workspace .navigation-handoff label,.today-workspace .booking-disclosure{margin:0}.export-workspace{gap:var(--space-8);grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);align-items:start}.export-choices{min-width:0}.export-choices>p{margin:0 0 var(--space-6);color:var(--muted);font-size:var(--text-sm)}.export-choices .export-list{gap:var(--space-4);border:0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.export-choices .export-row{align-items:start;gap:var(--space-3);min-width:0;min-height:170px;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-md);background:#fafcfb;flex-direction:column;display:flex}.export-row:hover{border-color:var(--forest)}.export-row>span{gap:var(--space-2);min-width:0;display:grid}.export-row strong{font-size:var(--text-base)}.export-row small{font-size:var(--text-sm);color:var(--muted);line-height:1.6}.export-row>svg:last-child{align-self:flex-end;margin-top:auto}.export-sharing{gap:var(--space-3);display:grid;position:sticky;top:140px}.export-sharing>svg{border-radius:var(--radius-md);width:40px;height:40px;color:var(--forest);background:var(--mist);padding:9px}.export-sharing .primary-button,.export-sharing .text-button{justify-content:center;width:100%;margin:0}.vehicle-workspace{gap:var(--space-8);grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);align-items:start;display:grid}.app-shell .vehicle-page .workflow-form{gap:var(--space-6);grid-template-columns:1fr;display:grid}.vehicle-page .workflow-form>details{grid-column:auto}.vehicle-page .workflow-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-page .workflow-form>fieldset:first-child .form-grid>label:first-child{grid-column:1/-1}.vehicle-inspector{gap:var(--space-6);min-width:0;display:grid;position:sticky;top:140px}.dimension-guide h2{font-size:24px}.dimension-guide>svg{width:100%;height:auto;color:var(--forest)}.dimension-guide dl{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.dimension-guide dt{font-size:var(--text-xs)}.dimension-guide dd{font-size:24px;font-weight:650}.app-shell .vehicle-inspector .classification-row{gap:var(--space-3);background:0 0;border:0;grid-template-columns:1fr;display:grid}.vehicle-inspector .classification-row>div{padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:#fafcfb;gap:4px;display:grid}.workflow-save-bar{z-index:5;align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;flex-wrap:wrap;display:flex;position:sticky;bottom:0;box-shadow:0 -8px 24px #172c230a}.workflow-save-bar .primary-button.inline{margin:0}.account-page .workspace-tabs{max-width:none}.account-page .workflow-form{gap:var(--space-6);display:grid}.account-page .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-consent .check-label{padding:var(--space-4);margin:var(--space-3) 0;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fafcfb}.account-tools{gap:var(--space-6);display:grid}.account-tools .subscription-band{gap:var(--space-4);margin:var(--space-6) 0;padding:var(--space-6);border-radius:var(--radius-md);background:var(--mist);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.account-data{align-items:start;gap:var(--space-3);flex-direction:column;display:flex}.danger-zone{border-color:#dfc6c1!important}.danger-zone>summary{color:#89392e;cursor:pointer;align-content:center;min-height:44px;font-weight:600}.invoice-list{padding:0;list-style:none}.invoice-list li{gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--line);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.booking-overview{align-items:center;gap:var(--space-4);padding:var(--space-6);margin-bottom:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;grid-template-columns:minmax(0,1fr) minmax(160px,320px);display:grid}.booking-overview progress{width:100%;accent-color:var(--forest)}.booking-filters{gap:var(--space-2);flex-wrap:wrap;grid-column:1/-1;display:flex}.booking-filters button{padding:var(--space-2) var(--space-4);border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;font-weight:600}.booking-filters button[aria-pressed=true]{border-color:var(--forest);background:var(--mist);color:var(--forest)}.booking-list{gap:var(--space-6);display:grid}.booking-list .booking-row{gap:var(--space-6);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;grid-template-columns:minmax(200px,.8fr) minmax(0,1.2fr);display:grid}.booking-row .booking-stop,.booking-row .vehicle-length-warning{grid-column:1/-1}.booking-stop strong{font-size:20px}.booking-row .booking-notes{gap:var(--space-3);grid-template-columns:1fr;display:grid}.stop-booking-status,.booking-row .booking-action{min-width:0}.booking-row .booking-action{align-self:start;margin:0}.booking-row .booking-segments button{padding-inline:var(--space-3)}.catalogue-page .filter-bar{margin-bottom:var(--space-6);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.catalogue-page .filter-bar label{margin:0}.catalogue-page .suggestion-panel{margin-bottom:var(--space-6)}.catalogue-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}.catalogue-item{border-radius:var(--radius-lg);border-color:var(--line);min-width:0;box-shadow:var(--shadow-sm)}.catalogue-item .catalogue-title h3{font-size:21px}.admin-page .section-panel{gap:var(--space-6);display:grid}.admin-page .section-panel[hidden]{display:none}.admin-page .metric-row{gap:var(--space-4);background:0 0;border:0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.admin-page .metric-row>div{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}.admin-page .metric-row strong{font-size:32px}.admin-page .metric-row span{font-size:var(--text-sm)}.admin-page .analytics-dashboard .metric-row{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-import,.traffic-report,.analytics-breakdowns>section,.booking-admin-grid>section{min-width:0;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.traffic-table{max-width:100%;overflow-x:auto}.traffic-report .section-tabs{position:static}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:var(--text-sm)}.data-table th,.data-table td{min-height:44px;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line)}.data-table thead th{color:var(--muted);background:var(--mist);font-weight:600}.data-table tbody th{font-weight:600}.data-table td{font-variant-numeric:tabular-nums}.admin-controls{border:0;min-width:0;margin:0;padding:0}.data-row{border-color:var(--line);border-radius:var(--radius-sm)}.welcome-screen{width:min(1100px,100%);min-height:100dvh;padding:var(--space-8);gap:var(--space-8);background:var(--canvas);grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);align-content:center;margin:0 auto;display:grid}.welcome-brand{align-items:center;gap:var(--space-3);color:var(--ink);grid-column:1/-1;font-size:18px;font-weight:700;text-decoration:none;display:inline-flex}.welcome-brand svg{color:#fff;background:var(--forest);border-radius:var(--radius-md);width:36px;height:36px;padding:7px}.welcome-screen>section{width:auto;max-width:none;padding:var(--space-8);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;margin:0}.welcome-screen h1{letter-spacing:-.04em;font-size:32px;line-height:1.2}.welcome-screen p{color:var(--muted);line-height:1.7}.welcome-vehicles{gap:var(--space-3);margin:var(--space-6) 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;display:grid}.welcome-vehicles legend{padding:0 0 var(--space-3);font-size:var(--text-sm);font-weight:600}.welcome-vehicles .vehicle-choice{align-items:center;gap:var(--space-2);min-width:0;min-height:94px;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;flex-wrap:wrap;margin:0;display:flex}.vehicle-choice.selected{border-color:var(--forest);background:var(--mist)}.vehicle-choice input{width:18px;height:18px;accent-color:var(--forest);margin:0}.vehicle-choice>svg{width:22px;color:var(--forest)}.vehicle-choice span{width:100%;font-size:var(--text-sm)}.welcome-guide{padding:var(--space-8);border-radius:var(--radius-lg);background:var(--forest);color:#fff;flex-direction:column;justify-content:center;display:flex}.welcome-guide h2{color:#fff;font-size:30px;line-height:1.3}.welcome-guide .eyebrow,.welcome-guide p{color:#dfede6}.welcome-guide ol{gap:var(--space-6);margin:var(--space-8) 0;padding:0;list-style:none;display:grid}.welcome-guide li{align-items:center;gap:var(--space-3);font-size:var(--text-sm);display:flex}.welcome-guide li span{width:32px;height:32px;font-size:var(--text-xs);border:1px solid #94b6a5;border-radius:50%;place-items:center;display:grid}.public-shell{background:var(--canvas)}.public-header{z-index:20;border-color:var(--line);background:#fffffff5;min-height:76px;position:sticky;top:0}.public-brand{font:700 18px var(--sans);letter-spacing:-.025em}.public-brand>span{border-radius:var(--radius-md)}.public-header nav a,.sign-in-link{border-radius:var(--radius-sm);font-weight:600}.public-header nav a[aria-current=page]{background:var(--mist);color:var(--forest)}.marketing-hero{background:radial-gradient(ellipse at top, #eaf4ee 0, var(--canvas) 65%);box-shadow:none;padding:64px 32px;display:block}.hero-copy{text-align:center;max-width:860px;margin:0 auto}.hero-copy h1{letter-spacing:-.05em;max-width:none;font-size:clamp(36px,4.8vw,64px);line-height:1.08}.hero-copy>p{max-width:680px;margin:var(--space-6) auto 0;font-size:18px}.hero-actions{justify-content:center;gap:var(--space-3)}.marketing-eyebrow{color:var(--forest);font-size:var(--text-xs);letter-spacing:.08em}.marketing-primary,.marketing-secondary,.demo-book{border-radius:var(--radius-sm);min-height:48px;font-size:var(--text-sm);font-weight:650}.product-preview{border:1px solid var(--line-dark);border-radius:20px;max-width:1120px;margin:48px auto 0;overflow:hidden;box-shadow:0 24px 80px #172c231f}.preview-toolbar{padding:var(--space-4) var(--space-6);background:#fcfdfc}.preview-content{grid-template-columns:minmax(0,1fr) 280px}.preview-itinerary{padding:var(--space-6)}.preview-itinerary>span{font-size:var(--text-xs)}.preview-itinerary strong{font-size:var(--text-sm)}.preview-itinerary>div{min-height:80px}.proof-band{max-width:1240px;padding:var(--space-8);gap:var(--space-6);background:0 0;margin:0 auto}.proof-band article,.proof-band article:first-child,.proof-band article:last-child{padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;flex-direction:column;display:flex}.proof-band svg{color:var(--forest)}.proof-band h2{font-size:23px}.proof-band .text-link{color:var(--forest);font-size:var(--text-sm);align-items:center;margin-top:auto;display:flex}.public-page{width:min(1240px,100% - 64px);padding:56px 0}.public-page>h1{letter-spacing:-.04em;font-size:clamp(32px,4vw,48px);line-height:1.15}.public-intro{font-size:var(--text-base);max-width:760px;line-height:1.8}.pricing-controls{margin:var(--space-6) 0;justify-content:flex-end;display:flex}.pricing-page{width:calc(100% - 64px);padding-top:var(--space-8)}.pricing-page .pricing-controls{margin-block:var(--space-4)}.pricing-page .pricing-grid{margin-top:var(--space-4)}.pricing-controls label{align-items:center;gap:var(--space-3);font-size:var(--text-sm);margin:0;display:flex}.pricing-controls select{width:auto;min-width:120px;margin:0}.pricing-grid{gap:var(--space-4);margin-top:var(--space-6);background:0 0;border:0}.pricing-grid article{padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff}.pricing-grid article.popular{border:2px solid var(--forest);box-shadow:none}.pricing-badge{min-height:24px}.pricing-grid .tier-price{font-size:40px}.popular-label{color:var(--forest)}.pricing-faq{max-width:840px;margin:48px auto 0}.public-feedback,.public-loading{margin:var(--space-6) 0;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--muted);background:#fff}.public-route-workspace{gap:var(--space-6);margin-top:var(--space-8);grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);align-items:start;display:grid}.reader-map{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;min-width:0;position:sticky;top:100px;overflow:hidden}.reader-map .demo-route-map,.reader-map .public-route-map{border:0;height:480px;margin:0}.reader-map .demo-metrics{padding:var(--space-6);gap:var(--space-3);font-size:var(--text-sm);border:0;margin:0}.public-route-workspace>.demo-route{padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.public-route-workspace .demo-route li{gap:var(--space-3);padding:var(--space-4) 0;grid-template-columns:32px minmax(0,1fr)}.public-route-workspace .demo-route .booking-action{grid-column:2}.route-copy{padding:var(--space-6);margin-block:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.help-search{max-width:680px;margin:var(--space-8) 0;font-size:var(--text-sm);font-weight:600;display:block}.help-search input{width:100%;min-height:52px;margin-top:var(--space-2);padding:0 var(--space-4);border:1px solid var(--line-dark);background:#fff;display:block}.help-list{gap:var(--space-6);margin-top:var(--space-8);display:grid}.help-list article{padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff}.help-list h2{font-size:23px}.help-list p{max-width:78ch;font-size:var(--text-base);line-height:1.85}.public-footer{border-top:1px solid var(--line);background:#fff}.public-footer a{font-weight:500}.legal-reader{gap:var(--space-8);margin-top:var(--space-8);grid-template-columns:220px minmax(0,1fr);align-items:start;display:grid}.legal-reader>nav{gap:var(--space-1);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;display:grid;position:sticky;top:100px}.legal-reader>nav a{min-height:44px;color:var(--forest);font-size:var(--text-sm);align-items:center;text-decoration:none;display:flex}.legal-reader .help-list{margin:0}.legal-reader article{scroll-margin-top:110px}@media (width>=1180px){.marketing-hero{align-items:center;gap:var(--space-8);grid-template-columns:minmax(300px,.85fr) minmax(500px,1.15fr);padding:48px 32px;display:grid}.hero-copy{text-align:left;margin:0}.hero-copy h1{font-size:clamp(36px,3.5vw,56px)}.hero-actions{justify-content:flex-start}.product-preview{max-width:none;margin:0}.preview-content{grid-template-columns:minmax(0,1fr) 220px}.app-shell .screen-shortcuts{display:none}.app-shell .vehicle-page .workflow-form{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-page .workflow-form>fieldset:first-child,.vehicle-page .workflow-form>details,.vehicle-page .workflow-save-bar{grid-column:1/-1}.vehicle-page .workflow-form>fieldset:first-child .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vehicle-page .workflow-form>fieldset:first-child .form-grid>label:first-child{grid-column:auto}.dimension-guide>svg{max-height:160px}.account-page .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.account-consent{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.account-consent .check-label{margin:0}.welcome-vehicles{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1600px){.workspace-shell .trip-workspace{gap:var(--space-6);grid-template-columns:minmax(0,1fr) 360px}.workspace-shell .trip-form-panel{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start}}@media (width<=1179px){.today-workspace,.vehicle-workspace,.export-workspace{grid-template-columns:minmax(0,1fr)}.vehicle-inspector,.export-sharing{position:static}.today-support{grid-template-columns:repeat(2,minmax(0,1fr))}.public-header{gap:var(--space-3);padding-inline:var(--space-6)}.public-header nav a{padding-inline:var(--space-3)}}@media (width>=981px){.workspace-tools{border-left:1px solid var(--line);align-items:stretch;gap:4px;padding:0 24px 0 12px;display:flex}.workspace-tools button{min-height:48px;color:var(--muted);font-size:var(--text-sm);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:8px;padding:0 14px;font-weight:600;display:inline-flex}.workspace-tools button svg{width:16px}.workspace-tools button:hover,.workspace-tools button[aria-current]{color:var(--forest);background:var(--mist);border-bottom-color:var(--forest)}.workspace-shell .planner-layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:clamp(370px,27vw,380px) minmax(0,1fr);align-items:start;gap:12px;max-width:none;margin:0;padding:16px;display:grid}.planning-command{grid-area:1/1/auto/-1}.workspace-shell .route-refinement{grid-area:2/1;width:auto;margin:0;padding:12px;position:sticky;top:134px}.planner-layout .workspace{grid-area:2/2;min-width:0}.planner-layout:not(:has(.route-refinement)){grid-template-columns:minmax(0,1fr)}.planner-layout:not(:has(.route-refinement)) .workspace{grid-column:1}.workspace-shell .route-refinement .controls-content{display:block}.route-refinement .section-heading h2{margin:0 0 4px;font-size:18px;line-height:1.25}.route-refinement .workspace-section{border-color:var(--line);border-radius:8px}.route-refinement .workspace-section>summary{min-height:36px;padding:6px 10px;font-size:13px;font-weight:600}.route-refinement .campsite-preference-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px}.route-refinement .campsite-preference-fields>label:first-child{grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:8px;display:grid}.route-refinement .campsite-preference-fields>.field-help{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.app-shell.planner-shell .route-refinement .controls-content label{margin-top:0;font-size:12px;line-height:1.5}.app-shell.planner-shell .route-refinement .controls-content select{height:38px;min-height:38px;margin-top:4px;padding:0 8px;font-size:13px}.app-shell.planner-shell .route-refinement .campsite-preference-fields>label:first-child select{margin-top:0}.route-refinement .workspace-section+.workspace-section{margin-top:4px}.route-refinement .campsite-preferences .preference-options{flex-wrap:wrap;gap:4px 12px;margin:0 8px 8px;padding:6px;display:flex}.route-refinement .preference-options legend{padding:0 4px;font-size:12px}.app-shell.planner-shell .route-refinement .preference-options label{flex:none;max-width:100%;min-height:28px}.route-refinement .nights-selectors{gap:8px;margin:8px}.route-refinement .range-row{margin-top:8px}.route-refinement .route-assistant{gap:8px;padding:8px}.route-refinement .route-assistant>div:first-child strong{display:none}.route-refinement .route-assistant>div:first-child span{font-size:12px;line-height:1.5}.route-refinement .assistant-messages{max-height:64px}.app-shell.planner-shell .route-refinement textarea{height:88px;min-height:64px;margin-top:0;padding:8px;font-size:13px}.route-refinement .route-assistant .primary-button{width:100%;min-height:40px;margin:0;padding:6px 8px;font-size:12px}.route-refinement .refinement-apply{width:100%;min-height:44px;margin:8px 0 0}}@media (width<=800px){.screen-summary,.screen-summary.today-readiness{padding:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.screen-summary>button{grid-column:1/-1;justify-content:center}.today-support,.booking-list .booking-row{grid-template-columns:minmax(0,1fr)}.booking-overview,.account-tools .subscription-band{grid-template-columns:1fr}.welcome-screen{padding:var(--space-6);grid-template-columns:1fr}.welcome-guide{min-height:280px}.public-route-workspace,.legal-reader{grid-template-columns:minmax(0,1fr)}.legal-reader>nav,.reader-map{position:static}.public-route-workspace>.demo-route{max-height:none;overflow:visible}.reader-map .demo-route-map,.reader-map .public-route-map{height:340px;min-height:300px}.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-content{grid-template-columns:1fr}.preview-itinerary{display:none}.proof-band{grid-template-columns:1fr}}@media (width<=720px){.consent-options{grid-template-columns:1fr}.consent-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.consent-actions button{min-width:0}.app-navigation{top:60px}.app-shell .page{width:calc(100% - 32px);padding-top:var(--space-6)}.app-shell .workflow-card{padding:var(--space-4)}.app-shell .workflow-card .form-grid{grid-template-columns:1fr}.app-shell :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}.app-shell .section-tabs{top:122px}.export-choices .export-list{grid-template-columns:1fr}.export-choices .export-row{min-height:140px}.app-shell .metric-row,.app-shell .analytics-dashboard .metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-screen>section,.welcome-guide{padding:var(--space-6)}.welcome-screen h1{font-size:28px}.public-page{width:calc(100% - 32px);padding:var(--space-8) 0}.public-header{padding:var(--space-3) var(--space-4)}.marketing-hero{padding:var(--space-8) var(--space-4)}.product-preview{margin-top:var(--space-8);border-radius:var(--radius-md)}.preview-toolbar{padding:var(--space-3)}.preview-toolbar>span:last-child{display:none}.preview-route-map,.preview-map-loading{height:300px;min-height:300px}.proof-band{padding:var(--space-4)}}@media (width<=440px){.pricing-grid,.app-shell .account-page .form-grid{grid-template-columns:minmax(0,1fr)}.public-header nav{gap:0}.public-header nav a,.public-actions .sign-in-link{padding-inline:var(--space-2);font-size:12px}.welcome-vehicles{grid-template-columns:1fr}}@media (width>=981px) and (height>=700px){#root:has(.planner-shell){height:100dvh;overflow:hidden}.planner-shell{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.planner-shell>.topbar,.planner-shell>.app-navigation{flex-shrink:0}.planner-shell .app-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.planner-shell .app-content>.notice,.planner-shell .app-content>.upgrade-card{flex-shrink:0}.planner-shell .app-content>.planner-layout{align-items:stretch;gap:var(--space-2);flex:1;grid-template-rows:auto minmax(0,1fr);grid-template-columns:clamp(370px,27vw,380px) minmax(0,1fr);min-width:0;max-width:none;min-height:0;margin:0;padding:12px;display:grid;overflow:hidden}.planner-shell .planning-command{grid-area:1/1/auto/-1;grid-template-columns:minmax(100px,.7fr) minmax(0,2fr) auto;align-items:center;gap:8px 16px;padding:0;display:grid}.planner-shell .planning-intro{flex:220px}.planner-shell .planning-intro .eyebrow,.planner-shell .planning-intro>p{display:none}.planner-shell .planning-intro h1{white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;font-size:20px;overflow:hidden}.planner-shell .planning-intro{min-width:0}.planner-shell .planning-actions{grid-area:1/3;padding:0}.planner-shell .planning-actions>button{min-height:44px;padding:var(--space-2) var(--space-3)}.planner-shell .planning-context{background:0 0;border:0;grid-area:1/2;gap:4px 12px;width:auto;min-width:0;padding:0}.planner-shell .planning-context>span{font-size:var(--text-xs)}.planner-shell .planning-context>.planning-endpoints{flex-wrap:nowrap;max-width:100%}.planner-shell .planning-endpoints .endpoint-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:160px;overflow:hidden}.planner-shell .route-refinement{flex-direction:column;grid-area:2/1;width:auto;height:100%;min-height:0;margin:0;padding:12px;display:flex;position:static;overflow:hidden}.planner-shell .route-refinement[hidden]{display:none}.planner-shell .route-refinement .controls-content{scrollbar-gutter:auto;flex:1;min-height:0;display:block;overflow-y:auto}.planner-shell .route-refinement .workspace-section+.workspace-section{margin-top:4px}.planner-shell .refinement-apply{flex-shrink:0;width:100%;min-width:0;margin-top:8px}.planner-shell .workspace{gap:var(--space-2);flex-direction:column;grid-area:2/2;min-width:0;min-height:0;display:flex;overflow:hidden}.planner-shell .planner-layout:not(:has(.route-refinement)){grid-template-columns:minmax(0,1fr)}.planner-shell .planner-layout:not(:has(.route-refinement)) .workspace{grid-column:1}.planner-shell .workspace-header{flex-shrink:0;margin:0}.planner-shell .workspace-header .eyebrow{display:none}.planner-shell .workspace-header h2{font-size:18px;line-height:1.2}.planner-shell .workspace-results:not([hidden]){flex-direction:column;flex:1;min-height:0;display:flex}.planner-shell .workspace-results>.conflict-panel,.planner-shell .workspace-results>.sponsored-placement{flex-shrink:0}.planner-shell .workspace-results:has(.conflict-panel){overflow-y:auto}.planner-shell .plan-grid{align-items:stretch;gap:var(--space-2);flex-direction:column;flex:1;min-height:0;display:flex}.planner-shell .alternatives{gap:var(--space-3);padding-bottom:var(--space-2);flex:none;grid-auto-columns:minmax(240px,1fr)}.planner-shell .plan-card,.planner-shell .plan-card.selected{min-height:0;padding:var(--space-3)}.planner-shell .plan-card dl{display:none}.planner-shell .plan-card-title strong{font-size:13px}.planner-shell .plan-card-title strong,.planner-shell .plan-card-title>div>span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.planner-shell .delete-alternative{justify-content:center;gap:0;width:44px;min-width:44px;min-height:44px;padding:0;font-size:0}.planner-shell .alternative-item{align-items:center;gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.planner-shell .single-route .alternatives{grid-auto-columns:minmax(0,1fr);align-self:stretch;max-width:100%}.planner-shell .plan-detail{flex:1;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(280px,1fr);min-height:0;margin:0}.planner-shell .planner-next-action{padding:6px var(--space-3)}.planner-shell .planner-next-action .primary-button.inline{min-height:44px;margin:0}.planner-shell .route-map-pane{min-height:0}.planner-shell .route-map-pane .route-map{flex:1 1 0;height:auto;min-height:0}.planner-shell .route-map-caption{padding:var(--space-1) var(--space-3);flex-shrink:0}.planner-shell .itinerary-content{scrollbar-gutter:stable;min-height:0;max-height:none;padding:12px;overflow-y:auto}.planner-shell .itinerary-header{padding-bottom:8px}.planner-shell .itinerary-header h3{font-size:16px}.planner-shell .planner-progress{flex:1;min-height:0}.planner-shell .alternatives:has(.planner-empty){flex:1;min-height:0;overflow:auto}.planner-shell .planner-empty{min-height:0}}@media (prefers-reduced-motion:no-preference){.section-panel:not([hidden]){animation:.15s ease-out section-reveal}@keyframes section-reveal{0%{transform:translateY(4px)}to{transform:translateY(0)}}}.preferred-places-editor{min-width:0}#root:has(.workspace-skeleton){height:100dvh}.workspace-skeleton{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.skeleton-header{background:var(--paper);border-bottom:1px solid var(--line);border-radius:0;flex:0 0 68px;height:68px;margin:0}.skeleton-navigation{border-bottom:1px solid var(--line);background:var(--paper);flex:0 0 50px}.skeleton-workspace{flex:1;min-height:0;padding:16px}.skeleton-workspace>div{height:100%}.workspace-skeleton[data-workspace=trips] .skeleton-workspace{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.workspace-skeleton[data-workspace=planner] .skeleton-workspace{grid-template-columns:340px minmax(0,1fr) minmax(0,1fr);gap:12px}.page-title{justify-content:space-between;align-items:center}.page-description{color:var(--muted);margin:8px 0 0;font-size:15px;line-height:1.5}.page-actions,.dialog-actions{flex-wrap:wrap;justify-content:end;align-items:center;gap:12px;display:flex}.mobile-trip-switcher{display:none}.workspace-trip-picker{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;width:min(360px,100%);min-width:0;margin:0;display:grid}.workspace-trip-picker>span{color:var(--muted);white-space:nowrap;font-size:12px}.app-shell .workspace-trip-picker select{background:var(--canvas);min-width:0;height:44px;min-height:44px;margin:0;font-size:14px;font-weight:600}.trip-context{width:100%}.trip-context .status{max-width:130px;font-size:11px}.product-dialog{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);width:min(560px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);box-shadow:var(--shadow-md);padding:24px;overflow-y:auto}.product-dialog:has(table){width:min(960px,100vw - 32px)}.product-dialog::backdrop{background:#18232b73}.product-dialog>header{justify-content:space-between;align-items:start;gap:16px;display:flex}.product-dialog h2{margin:0;font-size:24px;line-height:1.3}.product-dialog p{line-height:1.6}.product-dialog label{margin-top:16px}.product-dialog input{border:1px solid var(--line-dark);width:100%;min-height:44px;margin-top:8px;padding:10px 12px}.product-dialog .dialog-actions{margin-top:24px}.dialog-close{border:1px solid var(--line);background:var(--paper);width:44px;height:44px;color:var(--muted);border-radius:var(--radius-sm);flex:0 0 44px;place-items:center;padding:0;display:grid}.dialog-close svg{width:20px}.product-dialog [data-confirm].danger-button{background:var(--danger);color:#fff}.table-scroll{max-height:60dvh;margin-top:20px;padding:4px;overflow:auto}.table-scroll table{border-collapse:collapse;width:100%}.table-scroll :is(th,td){text-align:left;vertical-align:middle;border-bottom:1px solid var(--line);padding:12px;font-size:14px}.table-scroll th small{color:var(--muted);margin-top:4px;font-weight:400;display:block}.table-scroll td{white-space:nowrap}.context-note,.route-context{color:var(--muted);font-size:13px;line-height:1.6}.context-note{border-left:3px solid var(--line-dark);background:var(--canvas);margin:12px 0;padding:10px 12px}.route-context{margin:8px 0 12px}.route-context summary{min-height:32px;font-size:13px;font-weight:600}.route-context dl{flex-wrap:wrap;gap:12px 24px;margin:12px 0;display:flex}.route-context dt{color:var(--muted);font-size:12px}.route-context dd{color:var(--ink);margin:2px 0 0}.itinerary-stay .stop-details{min-width:140px}.itinerary-stay .stop-details strong{overflow-wrap:break-word;word-break:normal;font-size:14px}.itinerary-stay .stay-actions{max-width:100%}.itinerary-stay .booking-options>summary{align-items:center;min-height:44px;display:flex}.background-progress{z-index:8;width:min(380px,100% - 24px);box-shadow:var(--shadow-md);pointer-events:none;position:absolute;bottom:12px;right:12px}.workspace{position:relative}.planner-shell>.app-content>.workspace-feedback{flex-shrink:0;margin:0;padding:2px 12px;font-size:12px;line-height:18px}.planner-shell .planning-intro>p,.planner-shell .planning-intro>.eyebrow{display:none}.planner-layout .stop-edit-actions .stay-nights-editor{border-top:1px solid var(--line);width:100%;margin:0;padding:12px 0}.stay-nights-editor>label{color:var(--ink);margin:0 0 8px;font-size:13px;font-weight:600;display:block}.planner-layout .stay-nights-editor>div{flex-flow:wrap;align-items:center;gap:8px;display:flex}.planner-layout .stay-nights-editor input{width:90px;min-height:44px;margin:0}.planner-layout .stay-nights-editor button{width:auto;min-width:110px;height:auto;min-height:44px;margin:0;padding:8px 12px}.stay-nights-editor>p,.stay-nights-editor>small{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.5;display:block}.stay-structure-tools{width:100%}.stay-structure-tools>summary{cursor:pointer;min-height:44px;color:var(--forest);font-size:13px}.stay-structure-tools>div{flex-wrap:wrap;gap:8px;padding-top:8px;display:flex}.planner-layout .stay-structure-tools button{align-items:center;gap:6px;width:auto;min-width:44px;min-height:44px;padding:8px;font-size:12px;display:inline-flex}.app-shell .today>.page-title{justify-content:space-between;gap:12px 24px;margin-bottom:8px}.today>.page-title>div:first-child{flex-wrap:wrap;align-items:baseline;gap:8px 12px;min-width:0;display:flex}.today>.page-title .eyebrow{white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-shell .today>.page-title h1{margin:0;font-size:26px}.today>.page-title .page-description{margin:0}.today>.page-title .page-actions{gap:12px 24px}.today>.page-title .text-button{min-height:44px;margin:0}.go-departure{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.go-departure strong{color:var(--forest);font-size:16px}.go-departure time{color:var(--muted);font-size:13px}.today>.route-context,.today>.context-note{margin:0 0 12px}.app-shell .today-workspace{grid-template-columns:minmax(0,1fr) minmax(260px,300px);gap:16px}.today-workspace .today-primary,.today-workspace .today-support{align-content:start;gap:12px}.app-shell .today-workspace .documents-checklist{padding:16px 20px}.today-workspace .documents-checklist>div>label{min-height:44px;margin:0}.app-shell .today-workspace .go-advisories{padding:8px 16px}.go-advisories>summary{cursor:pointer;align-content:center;min-height:44px;font-size:14px;font-weight:600}.go-advisories>summary svg{vertical-align:middle;width:16px;height:16px;color:var(--amber);margin-right:8px}.go-advisories ul{color:var(--muted);margin:8px 0;padding-left:18px;font-size:13px}.booking-page .booking-list{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);grid-template-columns:1fr;gap:0;display:grid;overflow:hidden}.booking-page .booking-list .booking-row{border:0;border-bottom:1px solid var(--line);background:var(--paper);border-radius:0;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;margin:0;padding:16px 24px;display:grid}.booking-page .booking-row:last-child{border-bottom:0}.booking-page .booking-row .booking-stop{grid-column:1}.booking-page .booking-row .stop-booking-status{grid-area:1/2/span 2;align-self:start;width:320px;max-width:100%}.booking-page .booking-row .booking-action,.booking-page .booking-row .booking-fallback{grid-column:1;max-width:none}.booking-page .booking-segments{border-radius:var(--radius-sm);background:var(--canvas);border:0;padding:3px}.booking-link-correction>summary{min-height:44px;color:var(--forest);cursor:pointer;align-items:center;font-size:13px;display:flex}.booking-page .booking-segments button[aria-pressed=true]{color:var(--ink);border-color:var(--line-dark);background:#e9eef2}.booking-page .booking-segments[data-status=booked] button[aria-pressed=true]{background:var(--mist);color:var(--forest);border-color:var(--forest)}.booking-page .booking-segments[data-status=waitlist] button[aria-pressed=true]{background:var(--warning-soft);color:var(--amber);border-color:var(--amber)}.booking-page .booking-overview{margin:0 0 16px;padding:16px 20px}.today .embedded-checklist{width:100%;min-width:0;max-width:none}.today .embedded-checklist>h2{margin:0 0 8px;font-size:20px;line-height:1.4}.today .embedded-checklist .booking-overview{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:8px;padding:8px 12px;display:flex}.today .booking-overview>strong{font-size:14px}.today .booking-overview>progress{width:100px;max-width:100%}.today .booking-overview .booking-filters{gap:6px;margin-left:auto}.today .booking-filters button{min-height:44px;padding:6px 12px;font-size:13px}.today .embedded-checklist .booking-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:8px 16px;padding:12px 16px}.today .booking-row .booking-stop{grid-area:1/1}.today .booking-stop strong{overflow-wrap:break-word;font-size:16px;line-height:1.4}.today .booking-row .booking-action{grid-area:1/2}.today .booking-row .book-button{width:auto;min-height:44px;padding:8px 12px;font-size:13px}.today .booking-row .booking-fallback{grid-area:2/1/auto/3}.today .booking-row .booking-fallback>strong{color:var(--muted);font-size:13px;font-weight:400}.today .booking-fallback>a{align-items:center;gap:8px;min-height:44px;display:inline-flex}.today .booking-row .stop-booking-status{display:contents}.today .booking-row .booking-segments{flex-flow:row;grid-area:1/3;width:290px;max-width:100%;display:flex}.today .booking-row .booking-segments button{white-space:nowrap;padding:6px 10px;font-size:12px}.today .booking-row .booking-notes{grid-column:1/-1;grid-template-columns:minmax(160px,.7fr) minmax(0,1.5fr) auto;align-items:end;gap:12px;display:grid}.today .booking-notes label{margin:0}.today .booking-notes .text-button{min-height:44px;margin:0}.today .booking-row .booking-save-status,.today .booking-row .stop-booking-status>.field-error,.today .booking-row .vehicle-length-warning{grid-column:1/-1;margin:0}.today .embedded-checklist>.booking-disclosure{margin-top:8px}.export-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.export-group .export-list{grid-template-columns:1fr;gap:8px;display:grid}.app-shell .export-group .export-row{text-align:left;grid-template-columns:20px minmax(0,1fr) 20px;align-items:center;gap:12px;min-height:64px;padding:12px;display:grid}.export-group .export-row>span{gap:4px;display:grid}.export-group .export-row strong{font-size:14px}.export-group .export-row small{font-size:12px;line-height:1.5}.export-group h2{font-size:18px}.export-workspace{grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:24px}.app-shell .screen-summary{padding:12px 20px}.workspace-skeleton.content-only{width:100%;min-height:280px;padding:16px}.planner-layout>.workspace-skeleton.content-only{grid-area:1/1/-1/-1}.app-shell .workflow-save-bar{border:0;border-top:1px solid var(--line);background:var(--paper);width:100%;min-height:0;box-shadow:none;border-radius:0;flex-wrap:wrap;align-items:center;gap:12px;padding:12px;display:flex;position:static}.app-shell .workflow-save-bar>span{width:auto;margin:0}.account-page .workflow-form{max-width:1040px}.account-page .account-tools{max-width:1100px}.account-page .purchase-intent{border-color:var(--forest)}.planner-shell .workspace-header{flex-wrap:wrap;row-gap:4px}.purchase-intent strong{margin:12px 0;font-size:20px;display:block}.vehicle-workspace{grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:24px}.app-shell .vehicle-page{grid-template-columns:minmax(0,1fr) minmax(320px,600px);gap:16px 24px;display:grid}.vehicle-page>.page-title{grid-column:1;margin:0}.app-shell .vehicle-page>.workflow-toolbar{background:0 0;border:0;flex-wrap:nowrap;grid-column:2;align-items:end;margin:0;padding:0;display:flex}.app-shell .vehicle-page>.workflow-toolbar>label{flex:1;min-width:0;max-width:none}.vehicle-page>.workflow-toolbar>button{white-space:nowrap;flex-shrink:0}.vehicle-page>.workflow-intro,.vehicle-page>.vehicle-workspace{grid-column:1/-1}.dimension-guide>svg{max-height:140px}.vehicle-inspector .dimension-guide{padding:20px}.vehicle-inspector .dimension-guide h2{font-size:20px}.vehicle-inspector .dimension-guide p{font-size:13px}.app-shell .vehicle-inspector .classification-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.vehicle-inspector .classification-row>p{grid-column:1/-1}.vehicle-inspector .classification-row>div{border:1px solid var(--line);padding:8px}.inline-feedback{border:1px solid var(--line-dark);border-radius:var(--radius-sm);background:var(--paper);margin-bottom:16px;padding:12px 16px}.inline-feedback p{margin:0 0 8px}.booking-admin .booking-admin-grid{align-items:start}.booking-admin button:not(.primary-button),.decision-buttons button{border:1px solid var(--line-dark);border-radius:var(--radius-sm);min-height:44px;color:var(--forest);background:var(--paper);font:inherit;padding:8px 12px;font-size:14px}input[type=file]::file-selector-button{border:1px solid var(--line-dark);border-radius:var(--radius-sm);min-height:40px;color:var(--forest);background:var(--paper);font:inherit;margin-right:12px;padding:8px 12px}.welcome-copy{border-top:1px solid var(--line);padding-top:16px}.vehicle-choice small{color:var(--muted);font-size:12px;font-weight:400;display:block}.vehicle-choice{min-height:100px}@media (width<=1179px){.app-shell .today-workspace,.export-workspace,.vehicle-workspace{grid-template-columns:minmax(0,1fr)}.vehicle-inspector{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}}@media (width<=980px){.trip-section-nav{flex-wrap:wrap}.trip-section-nav a{white-space:nowrap;flex:none}.trip-section-nav a>span{white-space:nowrap;flex-shrink:0}.planner-shell .planning-command{gap:8px;padding-bottom:0}.planner-shell .planning-intro h1{margin:0;font-size:24px}.planner-shell .planning-context{gap:4px 12px;padding:8px 12px}.planner-shell .planning-context>span{font-size:12px}.planner-shell .workspace-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.planner-shell .workspace-header .comparison-toolbar{display:contents}.planner-shell .comparison-toolbar>button{white-space:nowrap;grid-area:1/2}.planner-shell .comparison-toolbar>label{grid-column:1/-1;grid-template-columns:minmax(100px,.8fr) minmax(150px,1.2fr);align-items:center;gap:12px;display:grid}.skeleton-header{flex-basis:60px}.skeleton-navigation{flex-basis:110px}.workspace-skeleton[data-workspace] .skeleton-workspace{grid-template-columns:minmax(0,1fr)}.topbar{grid-template-columns:minmax(0,1fr) auto auto}.topbar .trip-context{display:none}.app-navigation{flex-wrap:wrap}.app-navigation .view-tabs{flex:100%}.mobile-trip-switcher{border-top:1px solid var(--line);flex:100%;padding:8px 16px;display:block}.mobile-trip-switcher .workspace-trip-picker{width:100%}html:has(.workspace-shell){scroll-padding-top:184px}.workspace-shell :is(input,select,textarea,summary,button,a){scroll-margin-block:184px 160px}}@media (width<=720px){.today>.page-title .page-actions{justify-content:space-between;gap:8px;width:100%}.go-departure{gap:0;display:grid}.today .booking-overview>progress{flex:1}.today .booking-overview .booking-filters{width:100%;margin-left:0}.today .embedded-checklist .booking-row{grid-template-columns:minmax(0,1fr);align-items:start;padding:12px}.today .booking-row .booking-stop,.today .booking-row .booking-action,.today .booking-row .booking-fallback,.today .booking-row .booking-segments,.today .booking-row .booking-notes{grid-area:auto/1}.today .booking-row .booking-segments{width:100%}.today .booking-row .booking-segments button{white-space:normal;flex:1 1 0;gap:4px;min-width:0;padding-inline:6px}.today .booking-row .booking-notes,.app-shell .vehicle-page{grid-template-columns:minmax(0,1fr)}.app-shell .vehicle-page>.workflow-toolbar{grid-column:1}.booking-page .booking-row .stop-booking-status{grid-area:auto/1;width:100%}.export-groups,.vehicle-inspector{grid-template-columns:1fr}.booking-page .booking-list .booking-row{grid-template-columns:1fr;padding:16px}.booking-page .booking-row .booking-action,.booking-page .booking-row .booking-fallback{grid-column:1}.page-title{flex-wrap:wrap}.page-actions{justify-content:start}.product-dialog{padding:20px}.product-dialog h2{font-size:21px}.table-scroll :is(th,td){padding:10px}}@media (prefers-reduced-motion:no-preference){.product-dialog[open]{animation:.14s ease-out dialog-reveal}@keyframes dialog-reveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}}.trip-save-bar .save-summary>.trip-duration{display:block}.workspace-shell .trip-workspace>.trip-place-panel{grid-column:1/-1}@media (width>=721px) and (width<=1179px){.workspace-shell .trip-workspace{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start}.workspace-shell .trip-workspace>.trip-place-panel{grid-area:1/2}.trip-workspace>.trip-options{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.area-flags{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:10px 12px;display:grid}.area-flags .check-label{border:0;align-items:start;gap:5px;min-width:0;margin:0;padding:0;font-size:12px;line-height:1.5}.area-flags input{flex:0 0 18px;width:18px;height:18px;margin:0}.preferred-places-editor>.preview-map{margin:12px}.place-count{background:var(--mist);color:var(--forest);border-radius:4px;margin-left:auto;padding:0 6px}.route-refinement .preferred-places-editor .area-heading,.route-refinement .preferred-places-editor .area-list{margin:8px}.route-refinement .preferred-places-editor .places-empty{margin:8px;padding:8px}.route-refinement .preferred-places-editor .places-empty p{margin-bottom:0}.route-refinement .preferred-places-editor .area-item>summary{gap:8px;min-height:48px;padding:8px}.route-refinement .preferred-places-editor .area-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px;display:grid}.route-refinement .preferred-places-editor .area-stay-rules,.route-refinement .preferred-places-editor .mandatory-campsite{grid-column:1/-1}.route-refinement .preferred-places-editor .area-actions{flex-direction:row;gap:8px;padding:8px;display:flex}.route-refinement .preferred-places-editor .area-actions button{min-width:44px;min-height:44px}.route-refinement .preferred-places-editor .trip-map{height:240px;min-height:240px}.route-refinement .preferred-places-editor .map-picker-heading{grid-template-columns:1fr;gap:8px;display:grid}.route-refinement .preferred-places-editor .map-picker-heading h3{font-size:14px}.route-refinement .preferred-places-editor .map-picker-heading span{font-size:12px}@media (width>=1180px) and (height>=700px){:is(#root:has(.landing-shell),#root:has(.trip-shell)){height:100dvh;min-height:0}:is(#root:has(.landing-shell)>.consent-banner,#root:has(.trip-shell)>.consent-banner){flex-shrink:0}#root:has(.consent-banner.expanded){height:auto;min-height:100dvh}.landing-shell{flex-direction:column;flex:1;min-height:0;display:flex}.landing-shell>.public-header,.landing-shell>.beta-notice,.landing-shell>.public-footer{flex-shrink:0}.landing-shell>main{flex:1;grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid}.landing-shell .marketing-hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;gap:24px;min-height:0;padding:20px 24px}.landing-shell .hero-copy{align-self:center}.landing-shell .hero-copy h1{margin-top:12px;font-size:clamp(32px,2.8vw,46px);line-height:1.12}.landing-shell .hero-copy>p{margin:16px 0 0;font-size:16px;line-height:1.55}.landing-shell .hero-actions{justify-content:start;margin-top:20px}.landing-shell .product-preview{border-radius:var(--radius-lg);flex-direction:column;height:100%;min-height:0;max-height:430px;margin:0;display:flex}.landing-shell .preview-toolbar{flex-shrink:0;padding:10px 16px}.landing-shell .preview-content{flex:1;grid-template-columns:minmax(0,1fr) 180px;min-height:0}.landing-shell .preview-route-map,.landing-shell .preview-map-loading{height:100%;min-height:0}.landing-shell .preview-itinerary{flex-direction:column;gap:8px;min-height:0;padding:12px;display:flex}.landing-shell .preview-itinerary>div{flex:1;min-height:0;padding:8px 0}.landing-shell .preview-itinerary p{margin:0;padding:8px;font-size:12px}.landing-shell .proof-band{gap:16px;width:100%;max-width:none;padding:8px 24px 16px}.landing-shell .proof-band article{grid-template-columns:24px minmax(0,1fr);gap:4px 12px;padding:14px 16px;display:grid}.landing-shell .proof-band h2{margin:0;font-size:18px}.landing-shell .proof-band p,.landing-shell .proof-band .text-link{grid-column:2;margin:0;font-size:14px;line-height:1.5}.landing-shell .proof-band .text-link{align-items:center;min-height:44px}.landing-shell>.public-footer{min-height:44px;padding:8px 24px}.trip-shell{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.trip-shell>.topbar,.trip-shell>.app-navigation{flex-shrink:0}.trip-shell .app-content,.app-shell.trip-shell .page-layout{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.trip-shell .workspace-feedback,.trip-shell .upgrade-card{flex-shrink:0}.app-shell.trip-shell .trip-editor{flex:1;grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;width:100%;min-height:0;margin:0;padding:12px 16px;display:grid;overflow:hidden}.trip-shell .trip-editor>.trip-manager{border:0;flex-direction:row;grid-area:1/2;justify-content:end;align-items:center;gap:12px;min-width:0;min-height:44px;margin:0;padding:0;display:flex}.trip-shell .trip-editor>.trip-manager label{width:min(340px,30vw);font-size:13px}.trip-shell .trip-editor>.trip-manager>div{gap:8px;display:flex}.trip-shell .trip-editor>.page-title{grid-area:1/1;margin:0}.trip-shell .trip-editor>.page-title h1{font-size:26px}.trip-shell .trip-editor>.page-title .eyebrow,.trip-shell .trip-editor>.workspace-lead{display:none}.trip-shell .trip-section-nav{grid-area:2/1/auto/-1;margin:0}.trip-shell .trip-workspace{grid-area:3/1/auto/-1;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,.9fr);align-items:stretch;gap:16px;min-height:0;display:grid}.trip-shell .trip-workspace>.trip-form-panel,.trip-shell .trip-workspace>.trip-options{min-height:0;display:block;overflow-y:auto}.trip-shell .trip-options>.setup-card+.setup-card{margin-top:12px}.trip-shell .trip-basics-fields{gap:16px;padding:16px 24px}.trip-shell .trip-basics-fields input,.trip-shell .trip-basics-fields select{height:44px;min-height:44px}.trip-shell .trip-date-endpoint{gap:12px}.trip-shell .trip-travellers{gap:12px;padding-top:12px}.trip-shell .ferry-editor,.trip-shell .rules-editor{border:0;padding:16px 24px}.trip-shell .ferry-editor .form-grid{gap:16px;padding:0}.trip-shell .trip-workspace>.trip-place-panel{flex-direction:column;grid-column:auto;min-height:0;display:flex;overflow:hidden}.trip-shell .setup-card>header,.trip-shell .setup-card>summary{flex-shrink:0;gap:12px;padding:16px}.trip-shell .setup-card h2{font-size:18px}.trip-shell .trip-place-panel>.preferred-places-editor{flex:1;min-height:0;overflow-y:auto}.trip-shell .preferred-places-editor .area-heading,.trip-shell .preferred-places-editor .area-list{margin:12px 24px}.trip-shell .area-item>summary{min-height:60px;padding:12px}.trip-shell .trip-save-bar{width:100%;box-shadow:none;grid-area:4/1/auto/-1;margin:0;padding:8px 16px;position:static}}@media (width>=981px){.planner-next-action .primary-button.inline{width:auto;min-width:100px}}
