:root{--ink:#16252b;--muted:#65757a;--muted-2:#87969a;--line:#d9e2e3;--paper:#fff;--canvas:#f3f7f6;--nav:#102a2b;--nav-2:#173839;--primary:#0b7377;--primary-2:#0a5e62;--cyan:#0aa8bd;--coral:#df6758;--green:#1f9d70;--amber:#d99a2b;--lavender:#7667ae;--shadow:0 10px 28px #11303117;--max:90rem}.platform-switcher{border-bottom:1px solid #ffffff14;gap:.38rem;padding:.75rem .8rem;display:grid}.platform-switcher-label{color:#78928f;text-transform:uppercase;padding:0 .45rem;font-size:.63rem;font-weight:800}.platform-switcher>div{grid-template-columns:repeat(5,minmax(0,1fr));gap:.22rem;display:grid}.platform-switcher a{color:#78928f;background:#ffffff06;border:1px solid #0000;border-radius:.5rem;place-items:center;gap:.18rem;min-width:0;min-height:3.05rem;padding:.34rem .12rem;display:grid}.platform-switcher a:hover,.platform-switcher a.is-active{color:#fff;background:#43d0c11a;border-color:#43d0c147}.platform-switcher a svg{color:#71c5bb;width:1.08rem;height:1.08rem}.platform-switcher a strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.52rem;overflow:hidden}.section-head>div>p:not(.eyebrow){max-width:42rem;color:var(--muted);margin:.3rem 0 0;font-size:.72rem;line-height:1.55}.section-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.readiness-card,.activity-card{border:1px solid var(--line);background:#fff;border-radius:.5rem;margin-top:1rem}.readiness-card{padding:1rem}.readiness-card>header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.readiness-card h3{color:#42575b;margin:.2rem 0 0;font-size:.76rem;font-weight:600}.readiness-card>header>strong{color:var(--primary);font-size:1.6rem}.readiness-track,.packing-track{background:#dfe9e7;border-radius:.22rem;height:.42rem;overflow:hidden}.readiness-track{margin:.8rem 0}.readiness-track i,.packing-track i{background:var(--green);height:100%;transition:width .22s;display:block}.readiness-items{grid-template-columns:repeat(5,1fr);gap:.4rem;display:grid}.readiness-items a{border:1px solid var(--line);min-height:2.5rem;color:var(--muted);border-radius:.35rem;align-items:center;gap:.35rem;padding:.45rem;font-size:.61rem;font-weight:750;display:flex}.readiness-items a svg{width:.9rem}.readiness-items a.is-ready{color:var(--green);background:#ecf8f3;border-color:#b9ddcf}.activity-card{overflow:hidden}.activity-card>header{border-bottom:1px solid var(--line);padding:.8rem}.activity-card .eyebrow{margin:0}.activity-card>div article{border-bottom:1px solid var(--line);grid-template-columns:2rem minmax(0,1fr);align-items:start;gap:.65rem;padding:.65rem .8rem;display:grid}.activity-card>div article:last-child{border:0}.activity-card article>span{background:var(--nav);color:#fff;border-radius:50%;place-items:center;width:2rem;height:2rem;font-size:.65rem;font-weight:850;display:grid}.activity-card article>div{gap:.08rem;display:grid}.activity-card article p{color:#42575b;margin:0;font-size:.68rem}.activity-card article b{text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;overflow:hidden}.activity-card article small,.muted-copy{color:var(--muted);font-size:.58rem}.muted-copy{margin:0;padding:1rem}.place-card>footer{flex-wrap:wrap}.place-card footer .place-plan-button{background:#eaf6f3;border:1px solid #c1ddda}.packing-progress{border:1px solid var(--line);background:#fff;border-radius:.5rem;margin-bottom:.75rem;padding:.85rem}.packing-progress>div:first-child{grid-template-columns:2.6rem minmax(0,1fr) auto;align-items:center;gap:.65rem;margin-bottom:.7rem;display:grid}.packing-progress>div>span{width:2.6rem;height:2.6rem;color:var(--primary);background:#e5f4f1;border-radius:.4rem;place-items:center;display:grid}.packing-progress>div>div{display:grid}.packing-progress small{color:var(--muted);font-size:.6rem}.packing-progress strong{font-size:1.05rem}.packing-progress b{color:var(--green);font-size:.7rem}.packing-filters{scrollbar-width:none;gap:.35rem;margin-bottom:.8rem;display:flex;overflow-x:auto}.packing-filters button{border:1px solid var(--line);min-height:2.35rem;color:var(--muted);white-space:nowrap;background:#fff;border-radius:.35rem;padding:0 .75rem;font-size:.65rem;font-weight:750}.packing-filters button.is-active{border-color:var(--primary);background:var(--primary);color:#fff}.packing-groups{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.75rem;display:grid}.packing-groups>section{border:1px solid var(--line);background:#fff;border-radius:.5rem;overflow:hidden}.packing-groups>section>header{border-bottom:1px solid var(--line);background:#f5f9f8;justify-content:space-between;align-items:center;min-height:2.8rem;padding:.6rem .75rem;display:flex}.packing-groups>section>header span{font-size:.72rem;font-weight:850}.packing-groups>section>header small{color:var(--primary);font-size:.62rem;font-weight:850}.packing-groups article{border-bottom:1px solid var(--line);grid-template-columns:2rem minmax(0,1fr) 2.3rem 2.3rem;align-items:center;gap:.55rem;min-height:4rem;padding:.55rem .65rem;display:grid}.packing-groups article:last-child{border:0}.packing-groups article{grid-template-columns:auto minmax(0,1fr) 2.3rem 2.3rem}.packing-checks{gap:.25rem;display:flex}.packing-check{color:#64777a;touch-action:manipulation;background:#fff;border:2px solid #9db7b4;border-radius:.35rem;place-items:center;width:1.8rem;height:1.8rem;font-size:.58rem;font-weight:850;display:grid;position:relative;overflow:hidden}.packing-check svg{color:#fff;pointer-events:none;width:.8rem;height:.8rem;position:absolute}.packing-check.is-checked{border-color:var(--green);background:var(--green);color:#ffffffc7}.packing-check:disabled{cursor:default;opacity:.78}.packing-groups article>div{min-width:0}.packing-groups h3{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.35rem;margin:0;font-size:.76rem;display:flex;overflow:hidden}.packing-groups h3 b{color:var(--muted);background:#edf3f2;border-radius:.25rem;padding:.12rem .3rem;font-size:.55rem}.packing-groups p{color:var(--muted);margin:.12rem 0 0;font-size:.59rem}.packing-groups article.is-packed h3{color:var(--muted);text-decoration:line-through}.trip-access{border:1px solid var(--line);background:#f7faf9;border-radius:.55rem;min-width:0;margin:.1rem 0;padding:.7rem}.trip-access>p{color:var(--muted);margin:0 0 .55rem;font-size:.62rem;font-weight:800}.trip-access>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.form-grid .trip-access label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:.45rem;align-items:center;gap:.55rem;min-height:4.15rem;padding:.65rem .7rem;display:flex}.trip-access label.is-selected{border-color:var(--primary);background:#eef8f7}.form-grid .trip-access input[type=radio]{box-sizing:border-box;width:1.1rem;min-width:1.1rem;height:1.1rem;min-height:1.1rem;accent-color:var(--primary);appearance:auto;background:0 0;border:0;border-radius:50%;flex:0 0 1.1rem;margin:0;padding:0}.form-grid .trip-access label>span{min-width:0;color:var(--ink);font-size:initial;text-transform:none;gap:.18rem;font-weight:400;display:grid}.form-grid .trip-access label>span strong{text-transform:none;font-size:.72rem;line-height:1.15;display:block}.form-grid .trip-access label>span small{color:var(--muted);text-transform:none;font-size:.59rem;font-weight:400;line-height:1.2;display:block}@media (max-width:900px){.packing-groups{grid-template-columns:1fr}}@media (max-width:620px){.section-actions{width:100%}.section-actions .button{flex:100%}.readiness-items{grid-template-columns:repeat(2,1fr)}.readiness-items a:last-child{grid-column:1/-1}.place-card footer .place-plan-button{justify-content:center;width:100%}.packing-progress>div:first-child{grid-template-columns:2.4rem minmax(0,1fr)}.packing-progress b{grid-column:2}.trip-access>div{grid-template-columns:1fr}}.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.photo-grid article{border:1px solid var(--line);background:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 8px 20px #1130310d}.photo-preview{aspect-ratio:1;cursor:zoom-in;background:#e5efee;border:0;width:100%;display:block;overflow:hidden}.photo-preview img{object-fit:cover;width:100%;height:100%;transition:transform .18s}.photo-preview:hover img{transform:scale(1.025)}.photo-grid article>div{grid-template-columns:minmax(0,1fr) 2.25rem 2.25rem;align-items:center;gap:.35rem;min-height:3.9rem;padding:.55rem;display:grid}.photo-grid article>div>span{min-width:0;display:grid}.photo-grid strong,.photo-grid small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.photo-grid strong{font-size:.72rem}.photo-grid small{color:var(--muted);font-size:.57rem}.photo-lightbox{background:#071d1e;padding:.8rem}.photo-lightbox img{object-fit:contain;width:100%;max-height:calc(100vh - 10rem);display:block}.photo-lightbox footer{color:#bed0d1;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem .2rem 0;font-size:.65rem;display:flex}.photo-lightbox footer .button{margin-left:auto}.document-viewer{background:#eef3f2;gap:.7rem;padding:.7rem;display:grid}.document-viewer-image{object-fit:contain;background:#071d1e;border-radius:.35rem;width:100%;max-height:calc(100dvh - 10.5rem);display:block}.document-viewer footer{justify-content:flex-end;display:flex}.pdf-viewer{gap:.6rem;min-width:0;display:grid}.pdf-viewer-canvas{background:#dfe8e7;border:1px solid #c5d4d4;border-radius:.35rem;place-items:center;min-height:24rem;max-height:calc(100dvh - 11rem);display:grid;position:relative;overflow:auto}.pdf-viewer-canvas canvas{background:#fff;max-width:none;display:block;box-shadow:0 4px 15px #11303129}.pdf-viewer-loading,.pdf-viewer-error{min-height:9rem;color:var(--muted);text-align:center;place-items:center;gap:.55rem;padding:1rem;font-size:.7rem;display:grid}.pdf-viewer-loading{background:#dfe8e7db;align-content:center;position:absolute;inset:0}.pdf-viewer-loading>svg{width:1.4rem;color:var(--primary)}.pdf-viewer-error{align-content:center}.pdf-viewer-error p{margin:0}.pdf-viewer-controls{grid-template-columns:2.5rem minmax(0,1fr) 2.5rem;align-items:center;gap:.5rem;display:grid}.pdf-viewer-controls>span{color:var(--muted);text-align:center;font-size:.65rem;font-weight:750}.photo-edit-preview{background:#e7efee;border-radius:.5rem;overflow:hidden}.photo-edit-preview img{object-fit:contain;width:100%;max-height:22rem;display:block}.existing-file{border:1px solid var(--line);background:#f5f9f8;border-radius:.45rem;grid-template-columns:2.7rem minmax(0,1fr);align-items:center;gap:.65rem;padding:.7rem;display:grid}.existing-file>svg{width:2.7rem;height:2.7rem;color:var(--primary);background:#e0f1ee;border-radius:.4rem;padding:.7rem}.existing-file span{min-width:0;display:grid}.existing-file strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.existing-file small,.file-field small{color:var(--muted);font-size:.62rem}@media (max-width:1050px){.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:700px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.photo-grid article>div{grid-template-columns:minmax(0,1fr) 2.15rem 2.15rem;padding:.45rem}.photo-lightbox{padding:.35rem}.photo-lightbox footer{flex-direction:column;align-items:stretch;gap:.45rem}.photo-lightbox footer .button{justify-content:center;width:100%;margin-left:0}.document-viewer{padding:.45rem}.pdf-viewer-canvas{min-height:20rem;max-height:calc(100dvh - 9.75rem)}.document-viewer-image{max-height:calc(100dvh - 9.25rem)}.document-viewer footer .button{justify-content:center;width:100%}}.document-list .row-actions{display:flex}@media (max-width:620px){.document-list .row-actions{flex-direction:column;grid-area:1/3}.document-list .row-actions .icon-button{width:2.3rem;height:2.3rem}.expense-export-actions .button-primary{grid-column:1/-1}}@container (max-width:36rem){.document-list article{grid-template-columns:2.6rem minmax(0,1fr) 2.4rem;gap:.55rem}.document-list .document-icon{width:2.6rem;height:2.6rem}.document-list article>.button{grid-column:1/-1;width:100%}.document-list .document-actions{flex-direction:column;grid-area:1/3;align-self:start}.document-list .document-actions .icon-button{width:2.4rem;height:2.4rem}.document-list small{white-space:normal}}.settings-page{padding-block:2.2rem 7rem}.settings-heading{border-bottom:1px solid var(--line);margin-bottom:1.2rem;padding-bottom:1.2rem}.settings-heading h1{margin:.25rem 0;font-size:clamp(2rem,4vw,3.3rem)}.settings-heading>p:last-child{color:var(--muted);margin:0}.notification-settings{border:1px solid var(--line);background:#fff;border-radius:.5rem;width:min(100%,54rem);overflow:hidden;box-shadow:0 10px 28px #1130310f}.notification-settings>header{border-bottom:1px solid var(--line);grid-template-columns:3.2rem minmax(0,1fr);align-items:center;gap:.8rem;padding:1rem;display:grid}.notification-settings>header>span{width:3.2rem;height:3.2rem;color:var(--primary);background:#e1f3f0;border-radius:.45rem;place-items:center;display:grid}.notification-settings h2{margin:.1rem 0}.notification-settings header p:last-child{color:var(--muted);margin:0;font-size:.72rem}.push-state{color:#765817;background:#fff9e9;border:1px solid #dec98f;border-radius:.45rem;grid-template-columns:2.7rem minmax(0,1fr);align-items:center;gap:.65rem;margin:1rem;padding:.75rem;display:grid}.push-state.is-active{color:#176d55;background:#eaf8f3;border-color:#86cbb7}.push-state>span{background:#fff;border-radius:.4rem;place-items:center;width:2.7rem;height:2.7rem;display:grid}.push-state p{margin:0;font-size:.72rem;font-weight:700}.setting-field{gap:.3rem;padding:0 1rem .8rem;display:grid}.setting-field>span{color:var(--muted);text-transform:uppercase;font-size:.62rem;font-weight:800}.setting-field input{border:1px solid var(--line);border-radius:.4rem;outline:0;min-height:2.75rem;padding:0 .7rem}.setting-field input:focus{border-color:var(--primary)}.push-actions{gap:.5rem;padding:0 1rem 1rem;display:flex}.notification-preferences{border-block:1px solid var(--line);gap:0;display:grid}.notification-preferences label{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-height:3.2rem;padding:.7rem 1rem;font-size:.75rem;font-weight:700;display:flex}.notification-preferences input{width:1.1rem;height:1.1rem;accent-color:var(--primary)}.notification-preferences>.button{width:fit-content;margin:.8rem 1rem}.push-devices{padding:1rem}.push-devices>header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.push-devices>header span{min-width:1.7rem;height:1.7rem;color:var(--primary);background:#e2f2ef;border-radius:.3rem;place-items:center;font-size:.62rem;font-weight:850;display:grid}.push-devices>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:.7rem;padding:.65rem 0;display:flex}.push-devices>div>span{align-items:center;gap:.6rem;display:flex}.push-devices>div>span>span{display:grid}.push-devices small{color:var(--muted);font-size:.62rem}.push-devices button{color:#a83f36;background:#fff0ed;border:0;border-radius:.35rem;place-items:center;width:2.3rem;height:2.3rem;display:grid}.notification-settings>.notice{border-radius:.4rem;margin:0 1rem 1rem;padding:.65rem;font-size:.7rem}.notice-success{color:#176d55;background:#eaf8f3}.notice-error{color:#a83f36;background:#fff0ed}@media (max-width:620px){.settings-page{padding-top:1.2rem}.push-actions{display:grid}.push-actions .button,.notification-preferences>.button{width:100%;margin-inline:0}.notification-preferences>.button{width:calc(100% - 2rem);margin-inline:1rem}}.connectivity-status{z-index:650;color:#176d55;background:#eaf8f3;border:1px solid #82c7b4;border-radius:.45rem;align-items:center;gap:.5rem;max-width:calc(100vw - 2rem);padding:.7rem .85rem;font-size:.7rem;font-weight:750;display:flex;position:fixed;bottom:1rem;right:1rem;box-shadow:0 10px 28px #0c222333}.connectivity-status.is-offline{color:#785815;background:#fff8e6;border-color:#e1c26c}.connectivity-status svg{width:1rem;height:1rem}@media (max-width:900px){.connectivity-status{right:.65rem;bottom:calc(5.35rem + env(safe-area-inset-bottom));justify-content:center;left:.65rem}}.hero-travel-block{grid-template-columns:minmax(0,1.2fr) minmax(19rem,.8fr);align-items:stretch;gap:.75rem;width:min(100%,66rem);margin-top:1rem;display:grid}.hero-travel-block .next-trip-callout{min-width:0}.travel-countdown{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#091c1dc2;border:1px solid #ffffff52;border-radius:.5rem;align-content:center;gap:.75rem;min-height:10.5rem;padding:1rem;display:grid}.travel-countdown>header{color:#b6d8d4;text-transform:uppercase;align-items:center;gap:.55rem;font-size:.62rem;font-weight:850;display:flex}.travel-countdown>header i{background:#fff3;flex:1;height:1px}.travel-countdown>div{grid-template-columns:repeat(4,1fr);display:grid}.travel-countdown>div>span{border-right:1px solid #ffffff2e;justify-items:center;gap:.2rem;padding:0 .55rem;display:grid}.travel-countdown>div>span:last-child{border:0}.travel-countdown strong{color:#fff;text-align:center;min-width:3ch;font-size:clamp(1.7rem,4vw,3rem);line-height:1}.travel-countdown small{color:#acd0cc;text-transform:uppercase;font-size:.56rem;font-weight:750}.travel-countdown.is-active{background:#104937cc;border-color:#57dda8a6}.atlas-page{padding-block:clamp(2rem,4vw,4rem)}.atlas-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;margin-bottom:1.3rem;display:grid}.atlas-heading h1{max-width:54rem;margin:.25rem 0 .55rem;font-size:clamp(2.1rem,4vw,3.6rem);line-height:1.02}.atlas-heading>div:first-child>p:last-child{max-width:46rem;color:var(--muted);margin:0;line-height:1.6}.atlas-stats{border:1px solid var(--line);background:var(--paper);border-radius:.5rem;grid-template-columns:repeat(3,minmax(6.6rem,1fr));display:grid;overflow:hidden}.atlas-stats>span{border-right:1px solid var(--line);padding:.65rem .8rem;display:grid}.atlas-stats>span:last-child{border:0}.atlas-stats strong{font-size:1.1rem}.atlas-stats small{color:var(--muted);font-size:.58rem}.atlas-layout{grid-template-columns:minmax(0,1fr) minmax(18rem,23rem);gap:1rem;min-height:42rem;display:grid}.atlas-map-tool{isolation:isolate;background:#082f31;border:1px solid #0c5b5e6b;border-radius:.5rem;min-width:0;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 34px #0d35361c}.atlas-map-tool>header{z-index:500;color:#fff;-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);background:#052a2ce0;border:1px solid #b4eae433;border-radius:.5rem;justify-content:space-between;align-items:center;gap:1rem;min-height:4.15rem;padding:.65rem .75rem;display:flex;position:absolute;top:.85rem;left:.85rem;right:.85rem;box-shadow:0 10px 28px #00181938}.atlas-map-tool>header>div:first-child{grid-template-columns:2.45rem minmax(0,1fr);align-items:center;gap:.6rem;display:grid}.atlas-map-tool>header>div:first-child>svg{color:#7ce4d7;background:#32b9ab24;border:1px solid #73e0d338;border-radius:.42rem;width:2.45rem;height:2.45rem;padding:.62rem}.atlas-map-tool>header span{display:grid}.atlas-map-tool>header strong{font-size:.8rem}.atlas-map-tool>header small{color:#a7c6c4;font-size:.6rem}.atlas-legend{grid-template-columns:none!important;gap:.8rem!important;display:flex!important}.atlas-legend>span{color:#c3d9d7;align-items:center;gap:.34rem;font-size:.58rem;font-weight:750;display:flex!important}.atlas-legend i,.atlas-trip-status i{background:#45d5df;border:2px solid #ffffffe6;border-radius:50%;width:.55rem;height:.55rem;box-shadow:0 0 0 1px #45d5dfa6}.atlas-legend .legend-memory i{background:var(--coral);box-shadow:0 0 0 1px var(--coral)}.atlas-legend .legend-active i{background:var(--green);box-shadow:0 0 0 1px var(--green)}.travel-map{z-index:1;background:#0a3335;width:100%;height:100%;min-height:36rem;position:relative;overflow:hidden}.travel-map:after{z-index:350;pointer-events:none;content:"";mix-blend-mode:multiply;background:linear-gradient(#02222442,#0000 30%,#0427292e),#07424129;position:absolute;inset:0}.travel-map .atlas-tiles{filter:grayscale(.78)sepia(.3)saturate(1.25)hue-rotate(118deg)brightness(.62)contrast(1.08)}.travel-map .leaflet-control-attribution{color:#a9c9c6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#042325bf;border:1px solid #b8e5e01f;border-radius:.3rem;margin:0 .4rem .35rem 0;padding:.22rem .38rem;font-size:8px}.travel-map .leaflet-control-attribution a{color:#75d7cd}.travel-map .leaflet-bar{border:1px solid #b8e5e033;border-radius:.45rem;margin:0 .65rem 2.05rem 0;overflow:hidden;box-shadow:0 8px 24px #0017184d}.travel-map .leaflet-bar a{color:#8ce2d8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#042729e6;border-color:#b8e5e024;place-items:center;width:2.35rem;height:2.35rem;font-size:1.05rem;display:grid}.travel-map .leaflet-bar a:hover{color:#fff;background:#0d4a4cf5}.atlas-marker{background:0 0;border:0}.atlas-marker>span{background:#168f95;border:2px solid #fffffff2;border-radius:50%;place-items:center;width:2.25rem;height:2.25rem;transition:transform .15s;display:grid;position:relative;box-shadow:0 0 0 4px #42d5df29,0 8px 20px #001d1e61}.atlas-marker:hover>span{transform:translateY(-2px)scale(1.06)}.atlas-marker i{border:2px solid #ffffffeb;border-radius:50%;width:.56rem;height:.56rem}.atlas-marker b{background:var(--nav);color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:1.15rem;height:1.15rem;font-size:.5rem;display:grid;position:absolute;top:-.42rem;right:-.42rem}.atlas-marker-past>span{background:#dc6d61;box-shadow:0 0 0 4px #ff807229,0 8px 20px #30131159}.atlas-marker-active>span{background:#1ba970;box-shadow:0 0 0 4px #42dda029,0 8px 20px #0a2c2159}.travel-map .leaflet-popup-content-wrapper{color:#fff;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#042325f0;border:1px solid #9ae1da38;border-radius:.5rem;box-shadow:0 16px 38px #00171861}.travel-map .leaflet-popup-content{margin:.75rem .85rem}.travel-map .leaflet-popup-tip{background:#042325f0}.travel-map-popup{color:#fff;gap:.18rem;min-width:11rem;display:grid}.travel-map-popup small{color:#75ddd1;text-transform:uppercase;font-size:.55rem;font-weight:850}.travel-map-popup strong{font-size:.85rem}.travel-map-popup span{color:#abc7c5;font-size:.64rem}.travel-map-popup a{color:#82e0d5;border-top:1px solid #b4e2de29;margin-top:.4rem;padding-top:.4rem;font-size:.64rem;font-weight:850}.atlas-empty{min-height:36rem;color:var(--muted);text-align:center;background:#edf4f2;align-content:center;place-items:center;gap:.7rem;display:grid}.atlas-empty svg{width:2.3rem;height:2.3rem;color:var(--primary)}.atlas-empty p{max-width:24rem;margin:0}.atlas-index{min-width:0}.atlas-index>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-height:4.4rem;padding:0 .25rem .65rem;display:flex}.atlas-index>header .eyebrow{margin:0}.atlas-index>header h2{margin:.18rem 0 0;font-size:1.05rem}.atlas-index>header>strong{background:var(--nav);color:#fff;border-radius:50%;place-items:center;min-width:2rem;height:2rem;font-size:.7rem;display:grid}.atlas-index>div{gap:.55rem;padding-top:.65rem;display:grid}.atlas-trip{border:1px solid var(--line);background:var(--paper);border-radius:.5rem;gap:.32rem;min-height:8.5rem;padding:.8rem 3rem .8rem .85rem;transition:border-color .15s,box-shadow .15s;display:grid;position:relative}.atlas-trip:hover{border-color:#8fb7b3;box-shadow:0 8px 20px #1130310f}.atlas-trip-status{color:var(--primary);text-transform:uppercase;align-items:center;gap:.4rem;font-size:.56rem;font-weight:850;display:flex}.atlas-trip-memory .atlas-trip-status{color:var(--coral)}.atlas-trip-active .atlas-trip-status{color:var(--green)}.atlas-trip-memory .atlas-trip-status i{background:var(--coral);box-shadow:0 0 0 1px var(--coral)}.atlas-trip-active .atlas-trip-status i{background:var(--green);box-shadow:0 0 0 1px var(--green)}.atlas-trip h3{margin:0;font-size:.9rem}.atlas-trip>p{color:var(--muted);align-items:center;gap:.3rem;margin:0;font-size:.62rem;display:flex}.atlas-trip-route{min-width:0;color:var(--primary);flex-wrap:wrap;align-items:center;gap:.25rem;margin-top:.25rem;display:flex}.atlas-trip-route>span{font-size:.6rem;font-weight:750}.atlas-trip-route>span:not(:last-child):after{color:#9eb5b3;content:"·";margin-left:.25rem}.atlas-trip-open{color:var(--primary);position:absolute;top:.75rem;right:.75rem}.atlas-trip-memory .atlas-trip-open{color:var(--coral)}.atlas-trip-active .atlas-trip-open{color:var(--green)}.destination-route{border:1px solid var(--line);background:#fff;border-radius:.5rem;margin-top:1rem;overflow:hidden}.destination-route>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem;display:flex}.destination-route>header .eyebrow{margin:0}.destination-route>header h3{margin:.18rem 0 0;font-size:.9rem}.destination-route>div{padding:.2rem .8rem}.destination-route article{grid-template-columns:2.15rem 1rem minmax(0,1fr) 2.4rem 2.4rem;align-items:center;gap:.45rem;min-height:4rem;display:grid}.destination-route article>span{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:2rem;height:2rem;font-size:.68rem;font-weight:900;display:grid}.destination-route article>i{background:#b9d4d1;width:1rem;height:2px;position:relative}.destination-route article>i:after{content:"";border-top:2px solid #8bb7b2;border-right:2px solid #8bb7b2;width:.4rem;height:.4rem;position:absolute;top:-.18rem;right:0;transform:rotate(45deg)}.destination-route article:last-child>i{background:0 0}.destination-route article:last-child>i:after{display:none}.destination-route article>div{min-width:0;display:grid}.destination-route article small{color:var(--primary);text-transform:uppercase;font-size:.55rem;font-weight:850}.destination-route article strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.destination-route article em{color:var(--muted);align-items:center;gap:.28rem;margin-top:.16rem;font-size:.61rem;font-style:normal;font-weight:650;display:flex}.destination-route article em svg{width:.78rem;height:.78rem;color:var(--primary)}.destination-route article.needs-location>span{background:var(--amber)}.destination-empty{min-height:5rem;color:var(--muted);justify-content:center;align-items:center;gap:.55rem;font-size:.7rem;display:flex}.destination-dialog{gap:.8rem;padding:1rem;display:grid}.destination-search label{gap:.35rem;display:grid}.destination-search label>span{color:var(--muted);text-transform:uppercase;font-size:.62rem;font-weight:800}.destination-search label>div{grid-template-columns:minmax(0,1fr) auto;gap:.45rem;display:grid}.destination-search input{border:1px solid var(--line);background:#fbfdfc;border-radius:.4rem;outline:0;min-width:0;min-height:2.75rem;padding:0 .7rem}.destination-search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0b737714}.destination-search label>small{color:var(--muted);font-size:.6rem;line-height:1.45}.destination-results{gap:.35rem;margin-top:.65rem;display:grid}.destination-results>button{border:1px solid var(--line);width:100%;min-height:3.5rem;color:var(--ink);text-align:left;background:#fff;border-radius:.4rem;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.55rem .65rem;display:grid}.destination-results>button:hover,.destination-results>button.is-selected{border-color:var(--primary);background:#eaf6f3}.destination-results>button>svg{color:var(--primary)}.destination-results>button>span{min-width:0;display:grid}.destination-results strong{font-size:.72rem}.destination-results small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.59rem;overflow:hidden}.destination-results b{color:var(--primary);background:#e7efee;border-radius:.25rem;padding:.25rem .35rem;font-size:.55rem}.destination-form{padding:0}.selected-destination{background:#ecf8f3;border:1px solid #b9ddcf;border-radius:.4rem;grid-template-columns:2.4rem minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.65rem;display:grid}.selected-destination>svg{color:var(--green)}.selected-destination>span{min-width:0;display:grid}.selected-destination small{color:var(--green);text-transform:uppercase;font-size:.55rem;font-weight:850}.selected-destination strong{text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.selected-destination b{color:var(--green);font-size:.62rem}.destination-notice{margin:0}.form-grid input[readonly]{color:var(--muted);cursor:default;background:#edf2f1}@media (max-width:900px){.hero-travel-block,.atlas-heading{grid-template-columns:1fr}.atlas-stats{width:100%}.atlas-layout{grid-template-columns:1fr}.atlas-index>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.travel-countdown{min-height:8.6rem;padding:.8rem .55rem}.travel-countdown>div>span{padding:0 .25rem}.travel-countdown strong{font-size:1.65rem}.atlas-page{padding-top:1.3rem}.atlas-heading{gap:1rem}.atlas-heading h1{font-size:2.15rem}.atlas-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.atlas-stats>span{min-width:0;padding:.55rem}.atlas-stats small{font-size:.52rem}.atlas-layout{min-height:0}.atlas-map-tool>header{flex-direction:column;align-items:stretch;gap:.6rem;min-height:0;padding:.58rem;top:.65rem;left:.65rem;right:.65rem}.atlas-map-tool>header>div:first-child{grid-template-columns:2rem minmax(0,1fr)}.atlas-map-tool>header>div:first-child>svg{width:2rem;height:2rem;padding:.48rem}.atlas-legend{border-top:1px solid #b4e2de24;justify-content:space-between;width:100%;padding-top:.5rem}.travel-map{min-height:32rem}.travel-map .leaflet-bottom{bottom:4.8rem}.travel-map .leaflet-bar{margin-bottom:.45rem;margin-right:.5rem}.atlas-index>div{grid-template-columns:1fr}.destination-route>header{flex-direction:column;align-items:flex-start}.destination-route>header .button{width:100%}.destination-route article{grid-template-columns:2rem .75rem minmax(0,1fr) 2.3rem}.destination-route article>.danger{grid-area:2/4}.destination-search label>div{grid-template-columns:1fr}.destination-search .button{width:100%}}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px;color:var(--ink);letter-spacing:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:var(--canvas);min-height:100vh;margin:0}body.modal-open{overflow:hidden}button,input,textarea{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}svg{stroke-width:1.8px;width:1.05rem;height:1.05rem}h1,h2,h3,p{overflow-wrap:break-word}.app-frame{min-height:100vh}.app-main{min-height:100vh;margin-left:15.5rem;padding-bottom:3rem}.page-width{width:min(calc(100% - 3rem),var(--max));margin-inline:auto}.public-main{min-height:100vh}.side-nav{z-index:80;background:var(--nav);color:#e9f4f2;border-right:1px solid #ffffff14;flex-direction:column;width:15.5rem;display:flex;position:fixed;inset:0 auto 0 0}.side-head{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;min-height:5.25rem;padding:.9rem 1rem;display:flex}.brand{align-items:center;gap:.65rem;min-width:0;display:flex}.brand>img{object-fit:contain;flex:none;width:2.35rem;height:2.35rem}.brand>span{gap:.12rem;min-width:0;display:grid}.brand>span img{object-fit:contain;object-position:left center;width:5rem;height:1.2rem}.brand strong{color:#9ed8d1;text-transform:uppercase;font-size:.62rem;font-weight:800}.nav-close{color:#fff;background:0 0;border:0;display:none}.couple-card{background:#ffffff0b;border:1px solid #92d7cf33;border-radius:.5rem;grid-template-columns:2rem 2rem minmax(0,1fr);align-items:center;gap:0;margin:1rem .8rem .5rem;padding:.75rem;display:grid}.couple-card>span{border:2px solid var(--nav);background:var(--cyan);color:#fff;border-radius:50%;place-items:center;width:2rem;height:2rem;font-size:.67rem;font-weight:850;display:grid}.couple-card>span:nth-child(2){background:var(--coral);margin-left:-.45rem}.couple-card>div{min-width:0;margin-left:.45rem;display:grid}.couple-card strong,.couple-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.couple-card strong{font-size:.72rem}.couple-card small{color:#8eaaa7;font-size:.58rem}.side-nav nav{gap:.28rem;padding:.8rem;display:grid}.side-nav nav a{color:#99b3b0;border:1px solid #0000;border-radius:.45rem;align-items:center;gap:.75rem;min-height:2.8rem;padding:0 .75rem;font-size:.76rem;font-weight:700;display:flex}.side-nav nav a:hover{color:#fff;background:#ffffff0d}.side-nav nav a.is-active{color:#fff;background:#1b4443;border-color:#43d0c147;box-shadow:inset 3px 0 #43d0c1}.side-nav nav a svg{color:#71c5bb}.side-nav>footer{border-top:1px solid #ffffff14;gap:.65rem;margin-top:auto;padding:.8rem;display:grid}.side-nav>footer .utility-nav{border-bottom:1px solid #ffffff14;gap:.28rem;padding:0 0 .65rem}.side-nav>footer .utility-nav a{min-height:2.65rem}.locale-switch{color:#8eaaa7;grid-template-columns:1fr 2.4rem 2.4rem;align-items:center;gap:.25rem;display:grid}.locale-switch button{color:#8eaaa7;background:0 0;border:1px solid #ffffff1a;border-radius:.35rem;min-height:2rem;font-size:.62rem;font-weight:800}.locale-switch button.is-active{color:#7de3d7;background:#43d0c11f;border-color:#43d0c159}.signed-in{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:.45rem;grid-template-columns:2.15rem minmax(0,1fr) 2.2rem;align-items:center;gap:.55rem;padding:.55rem;display:grid}.signed-in>span{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:2.15rem;height:2.15rem;font-weight:800;display:grid}.signed-in>div{min-width:0;display:grid}.signed-in strong,.signed-in small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.signed-in strong{font-size:.72rem}.signed-in small{color:#8eaaa7;font-size:.6rem}.signed-in button{color:#8eaaa7;background:0 0;border:0;place-items:center;width:2.2rem;height:2.2rem;display:grid}.mobile-topbar,.bottom-nav,.nav-backdrop{display:none}.button{border:1px solid #0000;border-radius:.45rem;justify-content:center;align-items:center;gap:.5rem;min-height:2.75rem;padding:0 1rem;font-size:.75rem;font-weight:800;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.62;transform:none}.button-primary{border-color:var(--primary);background:var(--primary);color:#fff}.button-primary:hover{background:var(--primary-2)}.button-secondary{border-color:var(--line);color:var(--ink);background:#fff}.button-secondary:hover{background:#f8fbfa;border-color:#a8babc}.button-light{color:var(--primary-2);background:#fff;border-color:#ffffff8c}.button-danger{color:#af3f35;background:#fff3f1;border-color:#edb1aa}.icon-button{border:1px solid var(--line);width:2.65rem;height:2.65rem;color:var(--ink);background:#fff;border-radius:.45rem;flex:none;place-items:center;display:inline-grid}.icon-button.danger{color:#b74c43}.arrow-forward{transform:rotate(180deg)}.eyebrow{color:var(--primary);text-transform:uppercase;align-items:center;gap:.38rem;margin:0 0 .35rem;font-size:.66rem;font-weight:850;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.home-hero,.trip-hero{color:#fff;background:#244546;position:relative;overflow:hidden}.home-hero{min-height:clamp(28rem,62vh,42rem)}.home-hero>img,.trip-hero>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-shade{background:#0a1f2070;position:absolute;inset:0}.hero-content{z-index:1;flex-direction:column;justify-content:center;align-items:flex-start;min-height:clamp(28rem,62vh,42rem);padding:3.5rem 0;display:flex;position:relative}.hero-kicker{text-transform:uppercase;align-items:center;gap:.45rem;margin:0 0 .65rem;font-size:.72rem;font-weight:850;display:flex}.hero-content>h1{margin:0;font-size:clamp(3.3rem,6vw,6rem);line-height:.95}.hero-content>p:not(.hero-kicker){max-width:36rem;margin:.8rem 0 1.5rem;font-size:1.12rem;line-height:1.55}.next-trip-callout{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#091c1db8;border:1px solid #ffffff52;border-radius:.5rem;gap:.2rem;min-width:min(100%,31rem);padding:1.05rem;display:grid}.next-trip-callout>span{color:#a9d7d1;text-transform:uppercase;font-size:.62rem;font-weight:800}.next-trip-callout>strong{font-size:1.35rem}.next-trip-callout>small{color:#d2e4e1;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.15rem 0 .75rem;display:flex}.next-trip-callout i{background:#ffffff47;width:1px;height:1rem}.dashboard{padding-top:1.5rem;padding-bottom:3rem}.stat-band{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:.5rem;grid-template-columns:repeat(5,1fr);display:grid;overflow:hidden}.stat-band>div{border-right:1px solid var(--line);grid-template-columns:2.3rem minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:5rem;padding:.75rem;display:grid}.stat-band>div:last-child{border:0}.stat-band>div>span{width:2.3rem;height:2.3rem;color:var(--primary);background:#e5f4f1;border-radius:.45rem;place-items:center;display:grid}.stat-band small{color:var(--muted);font-size:.64rem}.stat-band strong{font-size:1.35rem}.section-head{justify-content:space-between;align-items:flex-end;gap:1rem;margin:2rem 0 1rem;display:flex}.section-head h2{margin:0;font-size:1.55rem}.trip-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.trip-card{border:1px solid var(--line);background:#fff;border-radius:.5rem;transition:transform .16s,border-color .16s;overflow:hidden;box-shadow:0 8px 20px #1130310f}.trip-card:hover{border-color:#98b7b6;transform:translateY(-2px)}.trip-card-image{aspect-ratio:16/9;background:#d5e2e1;position:relative;overflow:hidden}.trip-card-image img{object-fit:cover;width:100%;height:100%}.trip-card-image>span{color:#fff;text-transform:uppercase;background:#0c2324c7;border:1px solid #ffffff8c;border-radius:.32rem;padding:.35rem .5rem;font-size:.6rem;font-weight:800;position:absolute;top:.65rem;right:.65rem}.trip-card>div:last-child{padding:.9rem}.trip-card p{color:var(--primary);text-transform:uppercase;align-items:center;gap:.3rem;margin:0;font-size:.66rem;font-weight:800;display:flex}.trip-card h3{margin:.3rem 0;font-size:1.15rem}.trip-card>div>small{color:var(--muted);align-items:center;gap:.35rem;font-size:.68rem;display:flex}.trip-next{border-top:1px solid var(--line);grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.55rem;margin-top:.85rem;padding-top:.75rem;display:grid}.trip-next>svg{color:var(--coral)}.trip-next span{min-width:0;display:grid}.trip-next small{color:var(--muted-2);text-transform:uppercase;font-size:.58rem}.trip-next strong{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.empty-trips,.tab-empty,.not-found{text-align:center;align-content:center;justify-items:center;min-height:20rem;display:grid}.empty-trips>svg,.tab-empty>svg,.not-found>svg{width:3rem;height:3rem;color:var(--primary)}.empty-trips h2,.tab-empty h2,.not-found h1{margin:.85rem 0 .4rem}.empty-trips p{max-width:30rem;color:var(--muted);margin:0 0 1rem}.trip-hero{min-height:20rem}.trip-hero-content{z-index:1;flex-direction:column;justify-content:flex-end;align-items:flex-start;min-height:20rem;padding:2rem 0;display:flex;position:relative}.back-link{align-items:center;gap:.4rem;margin-bottom:auto;font-size:.72rem;font-weight:750;display:flex}.trip-status{text-transform:uppercase;background:#0a1f20b3;border:1px solid #ffffff7a;border-radius:.3rem;padding:.3rem .5rem;font-size:.58rem;font-weight:850}.trip-hero h1{max-width:56rem;margin:.45rem 0;font-size:clamp(2.4rem,5vw,4.5rem);line-height:1}.trip-hero p{flex-wrap:wrap;align-items:center;gap:.45rem;margin:0;display:flex}.trip-hero p i{background:#fff6;width:1px;height:1rem}.trip-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:.3rem;padding-top:.8rem;display:flex;overflow-x:auto}.trip-tabs::-webkit-scrollbar{display:none}.trip-tabs a{min-height:3rem;color:var(--muted);white-space:nowrap;border-bottom:3px solid #0000;align-items:center;gap:.45rem;padding:0 .8rem;font-size:.72rem;font-weight:800;display:inline-flex}.trip-tabs a.is-active{border-color:var(--primary);color:var(--primary)}.trip-tabs{position:relative;overflow:visible}.trip-tabs .is-secondary{display:none}.trip-more{align-items:stretch;display:flex;position:relative}.trip-more-trigger{min-height:3rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:.4rem;padding:0 .8rem;font-size:.72rem;font-weight:800;transition:background-color .15s,color .15s;display:inline-flex}.trip-more-trigger svg{width:1rem}.trip-more-trigger.is-active{border-color:var(--primary);color:var(--primary)}.trip-more-menu{z-index:60;border:1px solid var(--line);background:#fff;border-radius:.45rem;min-width:15rem;display:grid;position:absolute;top:calc(100% + .35rem);left:0;overflow:hidden;box-shadow:0 14px 34px #11303133}.trip-more-menu a{border:0;border-bottom:1px solid var(--line);grid-template-columns:1.4rem minmax(0,1fr);justify-content:start;min-height:3rem;transition:background-color .15s,color .15s;display:grid}.trip-more-menu a:last-child{border:0}.trip-more-menu a.is-active{background:#eaf6f3}@media (hover:hover) and (pointer:fine){.trip-tabs>a:hover,.trip-more-trigger:hover,.trip-more-menu a:hover{color:var(--primary);background:#f0f8f6}.trip-more-menu a.is-active:hover{background:#dff1ed}}.offline-trip-control{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#071f20b8;border:1px solid #ffffff61;border-radius:.4rem;align-items:center;gap:.45rem;min-height:2.5rem;margin-top:.8rem;padding:0 .7rem;font-size:.65rem;font-weight:800;display:flex}.offline-trip-control>svg{width:1rem}.offline-trip-control>svg:last-child{opacity:.65;margin-left:.25rem}.offline-trip-control.state-saved,.offline-trip-control.is-complete{color:#b7f5df;border-color:#6be0bb8c}.offline-trip-control.state-error{color:#ffd2ca;border-color:#ffa091a6}.offline-setup{gap:1rem;padding:1rem;display:grid}.offline-setup-step{border:1px solid var(--line);background:#fbfdfc;border-radius:.45rem;gap:.8rem;padding:1rem;display:grid}.offline-setup-step.is-complete{background:#f0fbf6;border-color:#79cdb7}.offline-setup-heading{grid-template-columns:2.5rem minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.offline-setup-heading>span{width:2.5rem;height:2.5rem;color:var(--primary);background:#e6f5f4;border-radius:.4rem;place-items:center;display:grid}.offline-setup-heading svg{width:1.2rem}.offline-setup h3{margin:0;font-size:.85rem}.offline-setup p{color:var(--muted);margin:.2rem 0 0;font-size:.72rem;line-height:1.45}.offline-setup-actions{flex-wrap:wrap;gap:.55rem;display:flex}.offline-setup-actions .button{flex:13rem;justify-content:center}.offline-setup .button{align-items:center;gap:.4rem;min-height:2.6rem;display:inline-flex}.offline-setup .button svg{width:1rem}.offline-setup-instructions{border-left:3px solid var(--primary);background:#f2f8f8;padding:.65rem .75rem}.offline-setup-warning,.offline-setup-ready{align-items:center;gap:.45rem;padding:.7rem .8rem;font-size:.72rem;font-weight:750;display:flex}.offline-setup-warning{color:#795a17;background:#fff8e6;border:1px solid #e1bd64}.offline-setup-ready{color:#176d55;background:#eaf8f3;border:1px solid #82c7b4}.offline-setup-warning svg,.offline-setup-ready svg{width:1rem}.offline-setup-note{font-size:.63rem!important}.offline-setup>footer{border-top:1px solid var(--line);justify-content:flex-end;padding-top:.25rem;display:flex}.trip-content{min-height:32rem;padding-bottom:4rem}.overview-layout{grid-template-columns:minmax(0,1fr) 18rem;align-items:start;gap:1.25rem;display:grid}.overview-stats{border:1px solid var(--line);background:#fff;border-radius:.5rem;grid-template-columns:repeat(4,1fr);display:grid}.overview-stats>div{border-right:1px solid var(--line);align-items:center;gap:.65rem;min-height:5rem;padding:.8rem;display:flex}.overview-stats>div:last-child{border:0}.overview-stats>div>svg{color:var(--primary)}.overview-stats span{display:grid}.overview-stats strong{font-size:1.3rem}.overview-stats small{color:var(--muted);font-size:.61rem}.next-event{background:#eaf6f3;border:1px solid #c5ded9;border-radius:.5rem;grid-template-columns:3rem minmax(0,1fr) 2.65rem;align-items:center;gap:.8rem;margin-top:1rem;padding:.85rem;display:grid}.event-icon{background:var(--primary);color:#fff;border-radius:.5rem;place-items:center;width:3rem;height:3rem;display:grid}.next-event p{color:var(--primary);text-transform:uppercase;margin:0;font-size:.6rem;font-weight:850}.next-event h3{margin:.2rem 0}.next-event span{color:var(--muted);font-size:.7rem}.trip-notes{border-top:1px solid var(--line);margin-top:1rem;padding:1rem 0}.trip-notes>p:last-child{color:#42575b;white-space:pre-wrap;max-width:55rem;margin:0;line-height:1.65}.quick-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:.5rem;margin-top:2rem;overflow:hidden}.quick-panel>h3{border-bottom:1px solid var(--line);margin:0;padding:.8rem;font-size:.82rem}.quick-panel>button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:4.3rem;color:var(--ink);text-align:left;background:0 0;grid-template-columns:2rem minmax(0,1fr) 1rem;align-items:center;gap:.6rem;padding:.7rem .8rem;display:grid}.quick-panel>button:last-child{border:0}.quick-panel>button:hover{background:#f2f8f6}.quick-panel>button>svg:first-child{color:var(--primary)}.quick-panel span{display:grid}.quick-panel strong{font-size:.72rem}.quick-panel small{color:var(--muted);font-size:.6rem}.timeline{gap:1.4rem;display:grid}.timeline-day{grid-template-columns:8rem minmax(0,1fr);gap:1rem;display:grid}.timeline-day>header{align-items:flex-start;gap:.65rem;padding-top:.35rem;display:flex}.timeline-day>header>span{background:var(--nav);color:#fff;text-transform:uppercase;border-radius:.4rem;place-items:center;min-width:2.5rem;min-height:2.5rem;font-size:.62rem;font-weight:850;display:grid}.timeline-day>header>div{display:grid}.timeline-day>header strong{font-size:.72rem}.timeline-day>header small{color:var(--muted);font-size:.62rem}.timeline-day>div{border-left:2px solid #cddcda;gap:.55rem;padding-left:1rem;display:grid}.timeline-item{border:1px solid var(--line);background:#fff;border-radius:.5rem;grid-template-columns:3.4rem 3rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.75rem;display:grid}.timeline-item time{color:var(--primary);font-size:.8rem;font-weight:850}.timeline-item .event-icon{width:2.7rem;height:2.7rem}.type-food{background:var(--coral)}.type-transport{background:var(--cyan)}.type-stay{background:var(--lavender)}.timeline-item>div:nth-child(3){min-width:0;display:grid}.timeline-item p{color:var(--primary);text-transform:uppercase;margin:0;font-size:.58rem;font-weight:850}.timeline-item h3{margin:.1rem 0;font-size:.88rem}.timeline-item div>span{color:var(--muted);align-items:center;gap:.25rem;font-size:.65rem;display:flex}.timeline-item div>small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.3rem;font-size:.67rem;display:-webkit-box;overflow:hidden}.timeline-item.is-done{opacity:.62}.row-actions{gap:.35rem;display:flex}.row-actions .icon-button{width:2.3rem;height:2.3rem}.itinerary-sequence,.itinerary-segment{gap:.55rem;display:grid}.itinerary-connection{min-height:3.1rem;color:var(--muted);border-left:2px solid #9fc6c0;grid-template-columns:2rem minmax(0,1fr) 2.2rem;align-items:center;gap:.6rem;margin-left:2.45rem;padding:.4rem .55rem;display:grid}.itinerary-connection>span{width:1.8rem;height:1.8rem;color:var(--primary);background:#e5f4f1;border-radius:50%;place-items:center;display:grid}.itinerary-connection>span svg{width:.9rem}.itinerary-connection>div{display:grid}.itinerary-connection strong{color:#385356;font-size:.65rem}.itinerary-connection small{font-size:.57rem}.itinerary-connection em{color:#a4453c;align-items:center;gap:.25rem;margin-top:.15rem;font-size:.58rem;font-style:normal;font-weight:800;display:flex}.itinerary-connection em svg{width:.8rem}.itinerary-connection.has-conflict{background:#fff5f3;border-color:#dc776c}.today-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:1rem;margin:2rem 0 1rem;padding-bottom:1rem;display:flex}.today-header h2{margin:.1rem 0;font-size:2.2rem}.today-header>div>span{color:var(--muted);font-size:.75rem}.today-header>aside{border-left:3px solid var(--coral);background:#fff6f3;gap:.1rem;min-width:min(100%,20rem);padding:.7rem .8rem;display:grid}.today-header aside small{color:var(--coral);text-transform:uppercase;font-size:.55rem;font-weight:850}.today-header aside strong{font-size:.8rem}.today-header aside span{color:var(--muted);font-size:.62rem}.today-grid{grid-template-columns:minmax(0,1fr) 18rem;align-items:start;gap:1rem;display:grid}.today-plan>header{justify-content:space-between;align-items:center;gap:1rem;min-height:3rem;margin-bottom:.6rem;display:flex}.today-plan h3{margin:0}.today-empty{min-height:16rem;color:var(--muted);text-align:center;border:1px dashed #afc6c3;align-content:center;justify-items:center;gap:.35rem;display:grid}.today-empty>svg{width:2.2rem;height:2.2rem;color:var(--primary);margin-bottom:.4rem}.today-empty strong{color:var(--ink)}.today-empty span{font-size:.7rem}.today-tasks{border:1px solid var(--line);background:#fff;border-radius:.5rem;overflow:hidden}.today-tasks>header{border-bottom:1px solid var(--line);grid-template-columns:2.4rem minmax(0,1fr);align-items:center;gap:.55rem;min-height:4rem;padding:.65rem .75rem;display:grid}.today-tasks>header>svg{color:var(--primary)}.today-tasks header div{justify-content:space-between;align-items:center;display:flex}.today-tasks header small{color:var(--muted);font-size:.6rem}.today-tasks>button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:3.6rem;color:var(--ink);text-align:left;background:0 0;grid-template-columns:1.8rem minmax(0,1fr);align-items:center;gap:.55rem;padding:.55rem .7rem;display:grid}.today-tasks>button>span{border:2px solid #9fb7b5;border-radius:.35rem;place-items:center;width:1.55rem;height:1.55rem;display:grid}.today-tasks button div{display:grid}.today-tasks button strong{font-size:.7rem}.today-tasks button small{color:var(--muted);font-size:.56rem}.today-tasks>p{color:var(--muted);margin:0;padding:1rem;font-size:.68rem}.today-tasks>a{min-height:2.8rem;color:var(--primary);justify-content:space-between;align-items:center;padding:.55rem .75rem;font-size:.65rem;font-weight:800;display:flex}.today-tasks>a svg{width:.9rem}.place-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.place-card{border:1px solid var(--line);background:#fff;border-radius:.5rem;grid-template-rows:auto auto 1fr auto;min-height:13rem;display:grid;overflow:hidden}.place-card>header{border-bottom:1px solid var(--line);grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.8rem;display:grid}.place-card>header>span{width:2.5rem;height:2.5rem;color:var(--primary);background:#e5f4f1;border-radius:.4rem;place-items:center;display:grid}.place-card header p{color:var(--primary);text-transform:uppercase;margin:0;font-size:.56rem;font-weight:850}.place-card h3{margin:.15rem 0 0;font-size:.86rem}.place-card header>strong{color:var(--green);background:#e8f6ef;border-radius:.3rem;padding:.27rem .42rem;font-size:.55rem}.decision-optional header>strong{color:#9b6918;background:#fff4dd}.decision-skipped{opacity:.65}.decision-skipped header>strong{color:#856d6a;background:#f2eeee}.place-card>p{color:var(--muted);align-items:flex-start;gap:.3rem;margin:0;padding:.7rem .8rem 0;font-size:.66rem;display:flex}.place-note{color:#42575b;padding:.65rem .8rem;font-size:.7rem;line-height:1.5}.place-card>footer{border-top:1px solid var(--line);align-items:center;gap:.35rem;min-height:2.8rem;padding:.45rem .65rem;display:flex}.place-card footer a,.place-card footer button{min-height:2rem;color:var(--primary);background:0 0;border:0;border-radius:.3rem;align-items:center;gap:.25rem;padding:0 .45rem;font-size:.62rem;font-weight:750;display:inline-flex}.place-card footer span{flex:1}.place-card footer button:last-child{color:#b74c43}.document-list,.task-list{border:1px solid var(--line);background:#fff;border-radius:.5rem;overflow:hidden}.document-list{container-type:inline-size}.document-list article{border-bottom:1px solid var(--line);grid-template-columns:3rem minmax(0,1fr) max-content max-content;align-items:center;gap:.8rem;min-height:5.6rem;padding:.7rem .8rem;display:grid}.document-list article:last-child,.task-list article:last-child{border:0}.document-icon{width:3rem;height:3rem;color:var(--primary);background:#e6f2f1;border-radius:.45rem;place-items:center;display:grid}.document-list article>div{min-width:0;display:grid}.document-list p{color:var(--coral);text-transform:uppercase;margin:0;font-size:.56rem;font-weight:850}.document-list h3{margin:.12rem 0;font-size:.84rem}.document-list small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.63rem;overflow:hidden}.document-actions{white-space:nowrap;justify-self:end}.task-list article{border-bottom:1px solid var(--line);grid-template-columns:2.2rem minmax(0,1fr) auto 2.65rem;align-items:center;gap:.7rem;min-height:4.5rem;padding:.6rem .75rem;display:grid}.task-check{color:#fff;touch-action:manipulation;background:#fff;border:2px solid #9db7b4;border-radius:.4rem;place-items:center;width:2rem;height:2rem;display:grid}.task-check svg{pointer-events:none}.task-list article.is-complete .task-check{border-color:var(--green);background:var(--green)}.task-list article.is-complete h3{color:var(--muted);text-decoration:line-through}.task-list h3{margin:0;font-size:.8rem}.task-list p{color:var(--muted);margin:.15rem 0 0;font-size:.63rem}.person-tag{min-width:2rem;color:var(--primary);text-align:center;background:#dff3ef;border-radius:.3rem;padding:.35rem .45rem;font-size:.62rem;font-weight:850}.person-paulina{color:#a94f45;background:#fae7e4}.person-both{color:#65549f;background:#eee9f8}.expense-balances{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.expense-balance-card{border:1px solid var(--line);background:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 8px 20px #1130310d}.expense-balance-card>header{border-bottom:1px solid var(--line);grid-template-columns:2.7rem minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.8rem;display:grid}.expense-balance-card>header>span{width:2.7rem;height:2.7rem;color:var(--primary);background:#e5f4f1;border-radius:.45rem;place-items:center;display:grid}.expense-balance-card header div,.expense-paid-grid>span,.expense-settlement>span{min-width:0;display:grid}.expense-balance-card small{color:var(--muted);font-size:.6rem}.expense-balance-card header strong{font-size:1.25rem}.expense-balance-card header b{color:var(--muted);background:#eef3f3;border-radius:.3rem;padding:.28rem .42rem;font-size:.58rem}.expense-paid-grid{grid-template-columns:1fr 1fr;display:grid}.expense-paid-grid>span{gap:.12rem;padding:.7rem .8rem}.expense-paid-grid>span+span{border-left:1px solid var(--line)}.expense-paid-grid strong{font-size:.78rem}.expense-settlement{color:#795111;background:#fff8e9;border-top:1px solid #edcf99;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.55rem;min-height:3.6rem;padding:.65rem .8rem;display:grid}.expense-settlement>svg{color:var(--amber)}.expense-settlement strong{font-size:.72rem}.expense-settlement>b{white-space:nowrap;font-size:.82rem}.expense-settlement.is-balanced{color:#237657;background:#ecf8f3;border-color:#b9ddcf}.expense-settlement.is-balanced>svg{color:var(--green)}.expense-settlement.is-balanced>b{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:1.8rem;height:1.8rem;display:grid}.expense-section{margin-top:1.4rem}.expense-section>header{justify-content:space-between;align-items:center;margin-bottom:.55rem;display:flex}.expense-section>header .eyebrow{margin:0}.expense-section>header>span{min-width:1.6rem;height:1.6rem;color:var(--primary);background:#e5f4f1;border-radius:.3rem;place-items:center;font-size:.62rem;font-weight:850;display:grid}.expense-list{border:1px solid var(--line);background:#fff;border-radius:.5rem;overflow:hidden}.expense-list article{border-bottom:1px solid var(--line);grid-template-columns:2.8rem minmax(0,1fr) auto auto;align-items:center;gap:.75rem;min-height:5rem;padding:.7rem .8rem;display:grid}.expense-list article:last-child{border:0}.expense-icon{width:2.8rem;height:2.8rem;color:var(--primary);background:#e5f4f1;border-radius:.45rem;place-items:center;display:grid}.expense-food{color:#a94f45;background:#fae7e4}.expense-transport{color:#0a7e91;background:#e1f4f7}.expense-stay{color:#65549f;background:#eee9f8}.expense-shopping{color:#956414;background:#fff1d8}.expense-copy{min-width:0;display:grid}.expense-copy p{color:var(--primary);text-transform:uppercase;margin:0;font-size:.56rem;font-weight:850}.expense-copy h3{margin:.12rem 0;font-size:.84rem}.expense-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.63rem;overflow:hidden}.expense-copy>span{color:#4e6064;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.28rem;font-size:.66rem;display:-webkit-box;overflow:hidden}.expense-amount{color:var(--ink);white-space:nowrap;font-size:.9rem}.expense-settlement:not(.is-balanced){grid-template-columns:2rem minmax(0,1fr) auto auto}.expense-settlement .button{min-height:2.3rem}.expense-amount em{color:var(--muted);font-size:.52rem;font-style:normal}.settlement-history{margin-top:1.4rem}.settlement-history>header{justify-content:space-between;align-items:center;margin-bottom:.55rem;display:flex}.settlement-history>header p{margin:0}.settlement-history>div{border:1px solid var(--line);background:#fff;border-radius:.5rem;overflow:hidden}.settlement-history article{border-bottom:1px solid var(--line);grid-template-columns:2.4rem minmax(0,1fr) auto 2.3rem;align-items:center;gap:.65rem;min-height:4.3rem;padding:.6rem .75rem;display:grid}.settlement-history article:last-child{border:0}.settlement-history article>span{width:2.3rem;height:2.3rem;color:var(--green);background:#e9f7f1;border-radius:.4rem;place-items:center;display:grid}.settlement-history article>div{display:grid}.settlement-history strong{font-size:.72rem}.settlement-history small{color:var(--muted);font-size:.58rem}.settlement-history p{color:var(--muted);margin:.15rem 0 0;font-size:.62rem}.settlement-history article>b{font-size:.78rem}.receipt-scanner{cursor:pointer;position:relative}.receipt-scanner>input{opacity:0;width:1px;height:1px;position:absolute}.form-grid label.receipt-scanner>span{min-height:4.6rem;color:var(--primary);text-transform:none;background:#f0f8f6;border:1px dashed #8bb8b3;border-radius:.45rem;grid-template-columns:2.5rem minmax(0,1fr);align-items:center;gap:.65rem;padding:.7rem;display:grid}.receipt-scanner span>svg{grid-row:1/3;place-self:center;width:1.4rem}.receipt-scanner b{font-size:.72rem}.receipt-scanner small{color:var(--muted);font-size:.6rem;font-weight:500}.custom-split>div{grid-template-columns:minmax(10rem,.45fr) minmax(0,1fr);align-items:center;gap:.7rem;display:grid}.custom-split input[type=range]{accent-color:var(--primary);padding:0}.custom-split output{color:var(--muted);font-size:.62rem}.settlement-preview{background:#ecf8f3;border:1px solid #b9ddcf;border-radius:.45rem;grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.75rem;display:grid}.settlement-preview>svg{color:var(--green)}.settlement-preview>span{display:grid}.settlement-preview small{color:var(--muted);font-size:.58rem}.settlement-preview strong{font-size:.78rem}.settlement-preview>b{color:var(--green)}.modal-layer{z-index:200;background:#0c1f2094;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:#fff;border:1px solid #c5d4d4;border-radius:.5rem;width:min(100%,44rem);max-height:calc(100vh - 2rem);overflow-y:auto;box-shadow:0 24px 70px #091c1d4d}.modal>header{z-index:2;border-bottom:1px solid var(--line);background:#fffffff7;justify-content:space-between;align-items:center;gap:1rem;min-height:4rem;padding:.7rem 1rem;display:flex;position:sticky;top:0}.modal h2{margin:0;font-size:1.15rem}.confirm-dialog{gap:1.15rem;padding:1.15rem;display:grid}.confirm-dialog>p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.55}.confirm-dialog>footer{justify-content:flex-end;gap:.55rem;display:flex}.confirm-dialog .button{min-height:2.75rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;padding:1rem;display:grid}.form-grid label{gap:.32rem;min-width:0;display:grid}.form-grid label>span{color:var(--muted);text-transform:uppercase;font-size:.62rem;font-weight:800}.form-grid input,.form-grid textarea{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:#fbfdfc;border-radius:.4rem;outline:0}.form-grid input{min-height:2.75rem;padding:0 .7rem}.form-grid textarea{resize:vertical;padding:.7rem;line-height:1.5}.form-grid input:focus,.form-grid textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0b737714}.span-2{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:.5rem;padding-top:.35rem;display:flex}.photo-form-actions>span{flex:1}.form-error{color:#a43e35;background:#fff3f1;border:1px solid #edb1aa;border-radius:.4rem;margin:0;padding:.65rem .75rem;font-size:.7rem}.file-field input{border-style:dashed;padding:.65rem}.cover-upload-field{gap:.4rem;display:grid;position:relative}.field-label{color:var(--muted);text-transform:uppercase;font-size:.62rem;font-weight:800}.cover-upload-input{opacity:0;pointer-events:none;height:1px;position:absolute;overflow:hidden;width:1px!important}.cover-upload-box{cursor:pointer;background:#f5faf8;border:1px dashed #9ebbb8;border-radius:.5rem;grid-template-columns:minmax(9rem,.44fr) minmax(0,1fr);align-items:stretch;min-height:8.5rem;overflow:hidden;gap:0!important;display:grid!important}.cover-upload-box>img{object-fit:cover;width:100%;height:100%;min-height:8.5rem}.form-grid label>.cover-upload-copy{color:var(--primary);font-size:initial;font-weight:initial;text-transform:none;grid-template-columns:2.8rem minmax(0,1fr);align-items:center;gap:.7rem;padding:1rem;display:grid}.cover-upload-copy>svg{background:#dff1ed;border-radius:.45rem;width:2.8rem;height:2.8rem;padding:.68rem}.cover-upload-copy>span{gap:.18rem;min-width:0;display:grid}.cover-upload-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.cover-upload-copy small{color:var(--muted);font-size:.62rem;line-height:1.4}.cover-upload-input:focus-visible+.cover-upload-box{border-color:var(--primary);box-shadow:0 0 0 3px #0b73771a}.cover-remove{color:#a64c43;cursor:pointer;align-items:center;width:fit-content;font-size:.65rem;font-weight:750;grid-template-columns:none!important;gap:.4rem!important;display:flex!important}.cover-remove input{accent-color:#b74c43;width:1rem;min-height:1rem;margin:0}.cover-remove svg{width:.85rem;height:.85rem}.app-select{min-width:0;position:relative}.app-select-trigger{border:1px solid var(--line);width:100%;min-height:2.75rem;color:var(--ink);text-align:left;background:#fbfdfc;border-radius:.4rem;outline:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:0 .7rem;display:grid}.app-select-trigger:focus-visible,.app-select.is-open .app-select-trigger{border-color:var(--primary);box-shadow:0 0 0 3px #0b737714}.app-select-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-select-chevron{color:var(--muted);transition:transform .15s}.app-select.is-open .app-select-chevron{transform:rotate(180deg)}.app-select-menu{z-index:500;background:#fff;border:1px solid #b8c9c8;border-radius:.45rem;gap:.2rem;max-height:min(19rem,100vh - 1rem);padding:.35rem;display:grid;position:fixed;overflow-y:auto;box-shadow:0 12px 30px #1130312e}.app-select-option{width:100%;min-height:2.45rem;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;border-radius:.35rem;grid-template-columns:minmax(0,1fr) 1rem;align-items:center;gap:.5rem;padding:.45rem .6rem;display:grid}.app-select-option:hover,.app-select-option.is-active,.app-select-option[aria-selected=true]{color:var(--primary);background:#eaf6f3;border-color:#c1ddda}.login-page{background:#fff;grid-template-columns:minmax(0,1.35fr) minmax(22rem,.65fr);min-height:100vh;display:grid}.login-visual{min-height:100vh;position:relative;overflow:hidden}.login-visual>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.login-visual:after{content:"";background:#0b222366;position:absolute;inset:0}.login-visual>div{z-index:1;color:#fff;max-width:42rem;position:absolute;bottom:4rem;left:4rem}.login-visual p{text-transform:uppercase;align-items:center;gap:.45rem;margin:0;font-size:.75rem;font-weight:850;display:flex}.login-visual h1{margin:.6rem 0;font-size:clamp(3.5rem,6vw,6rem);line-height:.95}.login-visual span{font-size:1.05rem}.login-panel{flex-direction:column;justify-content:center;gap:2rem;padding:clamp(2rem,5vw,5rem);display:flex}.login-brand{align-items:center;gap:.7rem;display:flex}.login-brand>img{width:2.8rem}.login-brand span{display:grid}.login-brand span img{width:6rem}.login-brand strong{color:var(--primary);text-transform:uppercase;font-size:.65rem}.login-panel h2{margin:0;font-size:2rem}.login-panel>div>p:last-child{color:var(--muted);line-height:1.6}.login-form{gap:.9rem;display:grid}.login-form label{gap:.3rem;display:grid}.login-form label>span{color:var(--muted);text-transform:uppercase;font-size:.64rem;font-weight:800}.input-shell{border:1px solid var(--line);background:#f8fbfa;border-radius:.45rem;grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:center;min-height:3rem;display:grid}.input-shell>svg{color:var(--primary);margin:auto}.input-shell input{background:0 0;border:0;outline:0;min-width:0;height:100%}.input-shell button{width:2.7rem;height:2.7rem;color:var(--muted);background:0 0;border:0;place-items:center;display:grid}@media (max-width:1180px){.stat-band{grid-template-columns:repeat(3,1fr)}.stat-band>div:nth-child(3){border-right:0}.stat-band>div:nth-child(-n+3){border-bottom:1px solid var(--line)}.trip-grid,.place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-layout{grid-template-columns:1fr}.quick-panel{grid-template-columns:repeat(2,1fr);margin-top:0;display:grid}.quick-panel>h3{grid-column:1/-1}.quick-panel>button:nth-child(2n){border-right:1px solid var(--line)}}@media (max-width:900px){input,textarea{font-size:16px}.app-main{margin-left:0;padding-top:4.2rem;padding-bottom:5.6rem}.page-width{width:min(calc(100% - 1.4rem),var(--max))}.mobile-topbar{z-index:70;background:var(--nav);border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;height:4.2rem;padding:.55rem .75rem;display:flex;position:fixed;inset:0 0 auto}.mobile-topbar .brand>img{width:2.35rem;height:2.35rem}.mobile-topbar .icon-button{background:var(--nav-2);color:#fff;border-color:#ffffff1f}.side-nav{width:min(88vw,20rem);transition:transform .18s;transform:translate(-105%)}.side-nav.is-open{transform:translate(0)}.nav-close{place-items:center;width:2.4rem;height:2.4rem;display:grid}.nav-backdrop{z-index:75;visibility:hidden;opacity:0;background:#0818198c;border:0;transition:opacity .18s;display:block;position:fixed;inset:0}.nav-backdrop.is-open{visibility:visible;opacity:1}.bottom-nav{z-index:65;right:.65rem;bottom:calc(.65rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;border:1px solid #b9ccca;border-radius:.5rem;grid-template-columns:repeat(4,1fr);height:4.25rem;padding:.35rem;display:grid;position:fixed;left:.65rem;box-shadow:0 10px 30px #0f2a2b2e}.bottom-nav a{min-width:0;color:var(--muted);border-radius:.4rem;align-content:center;place-items:center;gap:.22rem;font-size:.56rem;font-weight:750;display:grid}.bottom-nav a svg{width:1.15rem;height:1.15rem}.bottom-nav a.is-active{color:var(--primary);background:#e2f3f0}.home-hero{min-height:29rem}.hero-content{min-height:29rem;padding:2rem 0}.hero-content>h1{font-size:3.5rem}.hero-content>p:not(.hero-kicker){font-size:.93rem}.trip-hero,.trip-hero-content{min-height:17rem}.trip-tabs{grid-template-columns:repeat(5,1fr);gap:0;display:grid;position:relative;overflow:visible}.trip-tabs a{justify-content:center;padding:0 .35rem}.trip-tabs .is-secondary{display:none}.trip-more{min-width:0}.trip-more-trigger{justify-content:center;gap:.35rem;width:100%;min-width:0;min-height:3rem;font-size:.68rem}.trip-more-menu{min-width:14rem;left:auto;right:0}.timeline-day{grid-template-columns:1fr;gap:.45rem}.timeline-day>header{padding:0}.timeline-day>div{margin-left:1.2rem}.overview-stats{grid-template-columns:repeat(2,1fr)}.overview-stats>div:nth-child(2){border-right:0}.overview-stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.expense-balances,.today-grid{grid-template-columns:1fr}.today-tasks{margin-top:.5rem}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh;padding:2rem max(1.2rem,8vw)}}@media (max-width:620px){.hero-content>h1{font-size:3rem}.next-trip-callout{min-width:100%}.stat-band{grid-template-columns:repeat(2,1fr)}.stat-band>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.stat-band>div:nth-child(2n){border-right:0}.stat-band>div:last-child{border-bottom:0;grid-column:1/-1}.section-head{flex-direction:column;align-items:flex-start}.section-head .button{width:100%}.trip-grid,.place-grid{grid-template-columns:1fr}.trip-tabs{width:100%;padding-inline:.7rem}.trip-tabs a{flex:none}.trip-tabs{padding-inline:.25rem}.trip-tabs a,.trip-more-trigger{flex-direction:column;gap:.15rem;min-height:3.35rem;font-size:.52rem}.trip-tabs a svg,.trip-more-trigger svg{width:1rem}.today-header{flex-direction:column;align-items:stretch}.today-header h2{font-size:1.8rem}.today-header>aside{width:100%}.today-plan>header{flex-direction:column;align-items:stretch}.today-plan>header .button{width:100%}.timeline-item{grid-template-columns:2.8rem minmax(0,1fr) auto;align-items:start}.timeline-item time{grid-column:1}.timeline-item .event-icon{grid-area:2/1;width:2.4rem;height:2.4rem}.timeline-item>div:nth-child(3){grid-area:1/2/3}.row-actions{flex-direction:column;grid-area:1/3/3}.itinerary-connection{margin-left:.65rem}.expense-settlement:not(.is-balanced){grid-template-columns:1.8rem minmax(0,1fr) auto}.expense-settlement .button{grid-column:1/-1;width:100%}.settlement-history article{grid-template-columns:2.3rem minmax(0,1fr) 2.3rem}.settlement-history article>b{grid-column:2}.settlement-history article>.icon-button{grid-area:1/3/3}.custom-split>div,.quick-panel{grid-template-columns:1fr}.quick-panel>button{border-right:0!important}.document-list article{grid-template-columns:2.6rem minmax(0,1fr) 2.4rem;gap:.55rem}.document-icon{width:2.6rem;height:2.6rem}.document-list article>.button{grid-column:1/-1;width:100%}.document-list article>.icon-button{grid-area:1/3;width:2.4rem;height:2.4rem}.document-list small{white-space:normal}.task-list article{grid-template-columns:2.2rem minmax(0,1fr) 2.4rem}.person-tag{grid-column:2;justify-self:start}.task-list article>.icon-button{grid-area:1/3}.expense-list article{grid-template-columns:2.6rem minmax(0,1fr) auto;align-items:start;gap:.55rem}.expense-icon{width:2.6rem;height:2.6rem}.expense-amount{grid-column:2}.expense-list .row-actions{grid-area:1/3/3}.expense-copy small{white-space:normal}.modal-layer{align-items:end;padding:0}.modal{border-radius:.5rem .5rem 0 0;width:100%;max-height:calc(100vh - 1rem)}.confirm-dialog{padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.confirm-dialog>footer{flex-direction:column-reverse}.confirm-dialog .button{width:100%}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.form-actions{flex-direction:column-reverse}.form-actions .button{width:100%}.photo-form-actions>span{display:none}.cover-upload-box{grid-template-rows:7rem auto;grid-template-columns:1fr;min-height:11rem}.cover-upload-box>img{min-height:7rem}.cover-upload-copy{padding:.75rem}}.wallet-toolbar{grid-template-columns:minmax(15rem,.45fr) minmax(0,1fr);align-items:center;gap:.8rem;margin-bottom:.8rem;display:grid}.wallet-toolbar .packing-filters{justify-content:flex-end;margin:0}.wallet-search{border:1px solid var(--line);background:#fff;border-radius:.4rem;grid-template-columns:2.5rem minmax(0,1fr);align-items:center;min-height:2.75rem;display:grid}.wallet-search>svg{width:1rem;color:var(--primary);margin:auto}.wallet-search input{min-width:0;height:100%;color:var(--ink);background:0 0;border:0;outline:0}.wallet-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #0b737714}.filtered-empty{border:1px dashed var(--line);min-height:13rem;color:var(--muted);text-align:center;border-radius:.5rem;align-content:center;justify-items:center;gap:.5rem;display:grid}.filtered-empty>svg{color:var(--primary)}.task-list article{border-left:3px solid #0000;grid-template-columns:2.2rem minmax(0,1fr) auto auto}.task-list article.priority-high:not(.is-complete){border-left-color:var(--coral)}.task-list article>div:nth-child(2){min-width:0;display:grid}.task-list article>div:nth-child(2)>small{color:#42575b;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.2rem;font-size:.66rem;line-height:1.45;display:-webkit-box;overflow:hidden}.task-meta{align-items:center;gap:.35rem;margin-bottom:.25rem;display:flex!important}.task-meta span,.task-meta b{text-transform:uppercase;border-radius:.28rem;padding:.2rem .35rem;font-size:.52rem;font-weight:850}.task-meta span{color:var(--primary);background:#e6f2f1}.task-meta b{color:var(--muted);background:#f0f3f3}.priority-high .task-meta b{color:#aa4036;background:#fff0ed}.expense-currency-bar{border:1px solid var(--line);background:#f7faf9;border-radius:.5rem;grid-template-columns:minmax(0,1fr) minmax(14rem,21rem);align-items:center;gap:1rem;margin-bottom:.75rem;padding:.75rem .8rem;display:grid}.expense-currency-bar>div{display:grid}.expense-currency-bar small{color:var(--muted);text-transform:uppercase;font-size:.58rem}.expense-currency-bar strong{font-size:.78rem}.expense-balances{grid-template-columns:1fr}.exchange-rate-note{color:var(--muted);align-items:center;gap:.35rem;margin:.55rem 0 0;font-size:.6rem;display:flex}.exchange-rate-note svg{width:.9rem;height:.9rem;color:var(--primary)}.expense-amount{justify-items:end;gap:.08rem;display:grid}.expense-amount strong{color:var(--ink);font-size:.9rem}.expense-amount small{color:var(--muted);font-size:.58rem}@media (max-width:760px){.wallet-toolbar{grid-template-columns:1fr}.wallet-toolbar .packing-filters{justify-content:flex-start}.expense-currency-bar{grid-template-columns:1fr}}@media (max-width:620px){.section-head .section-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.section-head .section-actions .button{width:100%}.task-list article{grid-template-columns:2.2rem minmax(0,1fr) auto;align-items:start}.task-list .person-tag{grid-column:2}.task-list article>.row-actions{grid-area:1/3/3}.expense-currency-bar .app-select{width:100%}}.recipe-page{padding-block:clamp(2rem,4vw,4rem) 7rem}.recipe-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.2rem;display:flex}.recipe-heading h1{margin:.25rem 0 .45rem;font-size:clamp(2.2rem,5vw,4rem);line-height:1}.recipe-heading>div>p:last-child{max-width:48rem;color:var(--muted);margin:0;line-height:1.6}.recipe-tabs{border:1px solid var(--line);background:#fff;border-radius:.5rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem;display:grid;overflow:hidden}.recipe-tabs button{border:0;border-right:1px solid var(--line);min-height:4.2rem;color:var(--muted);text-align:left;background:#fff;grid-template-columns:1.4rem minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.65rem .8rem;font-size:.7rem;font-weight:800;display:grid}.recipe-tabs button:last-child{border-right:0}.recipe-tabs button svg{width:1.2rem;color:var(--primary)}.recipe-tabs button b{background:#edf3f2;border-radius:.35rem;place-items:center;min-width:1.5rem;height:1.5rem;font-size:.58rem;display:grid}.recipe-tabs button.is-active{color:var(--primary);box-shadow:inset 0 -3px var(--primary);background:#e4f3f0}.recipe-notice,.recipe-error{color:#176d55;background:#eaf8f3;border:1px solid #a8d8ca;border-radius:.45rem;align-items:center;gap:.5rem;margin:0 0 .8rem;padding:.7rem .8rem;font-size:.7rem;font-weight:750;display:flex}.recipe-error{color:#a83f36;background:#fff0ed;border-color:#efbbb4}.recipe-notice svg,.recipe-error svg{width:1rem}.recipe-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.recipe-toolbar label{border:1px solid var(--line);background:#fff;border-radius:.45rem;grid-template-columns:2.5rem minmax(0,1fr);align-items:center;width:min(100%,30rem);min-height:2.8rem;display:grid}.recipe-toolbar label:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #0b737714}.recipe-toolbar label svg{width:1rem;color:var(--primary);margin:auto}.recipe-toolbar input{background:0 0;border:0;outline:0;min-width:0;height:100%}.recipe-toolbar>span{color:var(--muted);font-size:.64rem;font-weight:750}.recipe-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.recipe-card{border:1px solid var(--line);background:#fff;border-radius:.5rem;min-width:0;position:relative;overflow:hidden;box-shadow:0 8px 20px #1130310d}.recipe-card-open{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;padding:0;display:grid}.recipe-card-image{aspect-ratio:4/3;width:100%;color:var(--primary);background:#dfecea;place-items:center;display:grid;position:relative;overflow:hidden}.recipe-card-image>img{object-fit:cover;width:100%;height:100%;transition:transform .18s}.recipe-card:hover .recipe-card-image>img{transform:scale(1.025)}.recipe-card-image>svg{width:2.6rem;height:2.6rem}.recipe-card-image>i{color:#fff;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#072324d1;border:1px solid #ffffff59;border-radius:.3rem;max-width:calc(100% - 1.1rem);padding:.28rem .45rem;font-size:.52rem;font-style:normal;font-weight:850;position:absolute;bottom:.55rem;right:.55rem;overflow:hidden}.recipe-card-copy{align-content:start;gap:.3rem;min-height:7.2rem;padding:.75rem;display:grid}.recipe-card-copy>small{color:var(--primary);text-overflow:ellipsis;white-space:nowrap;padding-right:2.2rem;font-size:.56rem;font-weight:850;overflow:hidden}.recipe-card-copy>strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.2rem;font-size:.9rem;line-height:1.25;display:-webkit-box;overflow:hidden}.recipe-card-copy>span{flex-wrap:wrap;gap:.35rem;margin-top:auto;display:flex}.recipe-card-copy i{color:var(--muted);align-items:center;gap:.25rem;font-size:.6rem;font-style:normal;display:flex}.recipe-card-copy i svg{width:.85rem}.recipe-favorite{border:1px solid var(--line);color:#91a09f;background:#fff;border-radius:.4rem;place-items:center;width:2.25rem;height:2.25rem;display:grid;position:absolute;top:calc(75% + .45rem);right:.5rem}.recipe-favorite svg{width:1rem}.recipe-favorite.is-active{color:var(--coral);background:#fff0ed;border-color:#edb5ae}.recipe-favorite.is-active svg{fill:currentColor}.recipe-empty{min-height:17rem;color:var(--muted);text-align:center;background:#ffffff8c;border:1px dashed #b8c9c8;border-radius:.5rem;align-content:center;justify-items:center;gap:.7rem;display:grid}.recipe-empty>svg{width:2.5rem;height:2.5rem;color:var(--primary)}.recipe-empty h2{margin:0;font-size:1rem}.recipe-import-layout{grid-template-columns:minmax(0,1.05fr) minmax(20rem,.95fr);align-items:start;gap:.9rem;display:grid}.recipe-importer,.recipe-import-jobs{border:1px solid var(--line);background:#fff;border-radius:.5rem;overflow:hidden}.recipe-importer{min-height:23rem;padding:clamp(1.2rem,4vw,2.5rem)}.recipe-import-icon{color:#b84677;background:#f4e4eb;border-radius:.5rem;place-items:center;width:3.6rem;height:3.6rem;margin-bottom:1rem;display:grid}.recipe-importer h2{margin:.2rem 0 .5rem;font-size:clamp(1.5rem,3vw,2.2rem)}.recipe-importer>p:not(.eyebrow){max-width:40rem;color:var(--muted);line-height:1.6}.recipe-importer>label{gap:.35rem;margin-top:1.5rem;display:grid}.recipe-importer>label>span{color:var(--muted);text-transform:uppercase;font-size:.62rem;font-weight:800}.recipe-importer label>div{border:1px solid #afc4c2;border-radius:.45rem;grid-template-columns:minmax(0,1fr) auto;display:grid;overflow:hidden}.recipe-importer input{border:0;outline:0;min-width:0;min-height:3.2rem;padding:0 .8rem}.recipe-importer label>div:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #0b737714}.recipe-importer label .button{margin:.3rem}.recipe-import-jobs>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:.9rem;display:flex}.recipe-import-jobs h2{margin:.15rem 0 0;font-size:1rem}.recipe-import-jobs>header>span{width:2rem;height:2rem;color:var(--primary);background:#e4f3f0;border-radius:.4rem;place-items:center;font-size:.65rem;font-weight:850;display:grid}.recipe-job{border-bottom:1px solid var(--line);grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:5rem;padding:.7rem .8rem;display:grid}.recipe-job:last-child{border-bottom:0}.recipe-job>span{width:2.5rem;height:2.5rem;color:var(--primary);background:#e6f2f1;border-radius:.4rem;place-items:center;display:grid}.recipe-job>span svg{width:1.1rem}.recipe-job>div{gap:.15rem;min-width:0;display:grid}.recipe-job strong,.recipe-job small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recipe-job strong{font-size:.72rem}.recipe-job small{color:var(--muted);font-size:.58rem}.recipe-job i{background:#e4eceb;border-radius:.15rem;width:100%;height:.25rem;margin-top:.25rem;overflow:hidden}.recipe-job i b{background:var(--primary);height:100%;display:block}.recipe-job>em{color:var(--primary);font-size:.62rem;font-style:normal;font-weight:850}.job-ready>span{color:var(--green);background:#eaf8f3}.job-failed>span{color:var(--coral);background:#fff0ed}.recipe-shopping{border:1px solid var(--line);background:#fff;border-radius:.5rem;overflow:hidden}.recipe-shopping>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-height:5rem;padding:.8rem 1rem;display:flex}.recipe-shopping h2{margin:.15rem 0 0;font-size:1rem}.recipe-shopping>form{border:1px solid var(--line);background:#f8fbfa;border-radius:.45rem;grid-template-columns:2.5rem minmax(0,1fr) 2.8rem;align-items:center;min-height:3.5rem;margin:.8rem;display:grid}.recipe-shopping>form>svg{width:1rem;color:var(--primary);margin:auto}.recipe-shopping>form input{background:0 0;border:0;outline:0;min-width:0;height:100%}.recipe-shopping>form button{background:var(--primary);color:#fff;border:0;border-radius:.4rem;place-items:center;width:2.3rem;height:2.3rem;display:grid}.recipe-shopping>div>article{border-top:1px solid var(--line);grid-template-columns:2rem minmax(0,1fr) auto 2.3rem;align-items:center;gap:.65rem;min-height:4.1rem;padding:.55rem .9rem;display:grid}.shopping-check{color:#fff;background:#fff;border:2px solid #9ab5b2;border-radius:.35rem;place-items:center;width:1.8rem;height:1.8rem;display:grid}.shopping-check svg{width:.9rem}.recipe-shopping article.is-checked .shopping-check{border-color:var(--green);background:var(--green)}.recipe-shopping article>span{display:grid}.recipe-shopping article small{color:var(--muted);font-size:.58rem}.recipe-shopping article>em{color:var(--muted);font-size:.58rem;font-style:normal}.recipe-shopping article.is-checked strong{color:var(--muted);text-decoration:line-through}.recipe-detail{display:grid}.recipe-detail-hero{background:var(--nav);color:#fff;grid-template-columns:minmax(9rem,.38fr) minmax(0,.62fr);min-height:14rem;display:grid;overflow:hidden}.recipe-detail-hero>img{object-fit:cover;width:100%;height:100%}.recipe-detail-hero>svg{color:#6ed3c7;place-self:center;width:3rem;height:3rem}.recipe-detail-hero>div{align-content:center;gap:.35rem;padding:1.2rem;display:grid}.recipe-detail-hero h2{margin:0;font-size:clamp(1.35rem,4vw,2.2rem)}.recipe-detail-hero>div>span{flex-wrap:wrap;gap:.4rem;display:flex}.recipe-detail-hero i{color:#bad1ce;align-items:center;gap:.3rem;font-size:.62rem;font-style:normal;display:flex}.recipe-detail-hero i svg{width:.9rem}.recipe-summary{border-bottom:1px solid var(--line);color:#42575b;margin:0;padding:1rem;font-size:.75rem;line-height:1.65}.recipe-detail>section{border-bottom:1px solid var(--line);padding:1rem}.recipe-detail>section>header{justify-content:space-between;align-items:center;gap:1rem;min-height:2.5rem;display:flex}.recipe-detail h3{margin:0;font-size:.9rem}.portion-stepper{border:1px solid var(--line);border-radius:.4rem;grid-template-columns:2rem 2.4rem 2rem;align-items:center;display:grid;overflow:hidden}.portion-stepper button{height:2rem;color:var(--primary);background:#edf4f2;border:0;place-items:center;display:grid}.portion-stepper button svg{width:.8rem}.portion-stepper strong{text-align:center;font-size:.7rem}.recipe-detail ul,.recipe-detail ol{gap:0;margin:.55rem 0 0;padding:0;list-style:none;display:grid}.recipe-detail li{border-top:1px solid var(--line);align-items:center;gap:.55rem;min-height:3.1rem;display:grid}.recipe-detail ul li{grid-template-columns:minmax(4.5rem,.25fr) minmax(0,1fr)}.recipe-detail ul li>span{color:var(--primary);font-size:.68rem;font-weight:850}.recipe-detail ul li>strong{font-size:.7rem}.recipe-detail ul li>small{color:var(--muted);grid-column:2;margin-top:-.5rem;font-size:.58rem}.recipe-detail ol li{grid-template-columns:2rem minmax(0,1fr);align-items:start;padding:.65rem 0}.recipe-detail ol li>b{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:1.8rem;height:1.8rem;font-size:.62rem;display:grid}.recipe-detail ol li>span{color:#34494d;font-size:.72rem;line-height:1.55}.recipe-detail ol small{color:var(--primary);align-items:center;gap:.3rem;margin-top:.3rem;font-size:.58rem;font-weight:800;display:flex}.recipe-detail ol small svg{width:.8rem}.recipe-detail-actions{flex-wrap:wrap;gap:.45rem;padding:1rem;display:flex}.recipe-source{border-top:1px solid var(--line);color:#a83d70;align-items:center;gap:.5rem;padding:.8rem 1rem;font-size:.68rem;font-weight:800;display:flex}.recipe-source svg{width:1rem}.recipe-source svg:last-child{margin-left:auto}.recipe-editor{display:grid}.recipe-editor-basics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:1rem;display:grid}.recipe-editor label{gap:.3rem;display:grid}.recipe-editor label>span{color:var(--muted);text-transform:uppercase;font-size:.58rem;font-weight:850}.recipe-editor input,.recipe-editor textarea{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:#fbfdfc;border-radius:.4rem;outline:0}.recipe-editor input{min-height:2.65rem;padding:0 .65rem}.recipe-editor textarea{resize:vertical;padding:.65rem;line-height:1.5}.recipe-editor input:focus,.recipe-editor textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0b737714}.recipe-warnings{color:#775814;background:#fff8e8;border:1px solid #e6c77a;border-radius:.45rem;grid-template-columns:2.2rem minmax(0,1fr) auto;align-items:start;gap:.6rem;margin:0 1rem 1rem;padding:.7rem;display:grid}.recipe-warnings>span{display:grid}.recipe-warnings small{margin-top:.18rem;font-size:.58rem}.recipe-warnings>b{font-size:.68rem}.recipe-editor-list{border-top:1px solid var(--line)}.recipe-editor-list>header{background:#f5f9f8;justify-content:space-between;align-items:center;min-height:3.5rem;padding:.6rem 1rem;display:flex}.recipe-editor-list h3{margin:0;font-size:.82rem}.recipe-editor-list header button{color:var(--primary);background:0 0;border:0;align-items:center;gap:.3rem;font-size:.62rem;font-weight:850;display:flex}.recipe-editor-list header button svg{width:.9rem}.ingredient-row{border-top:1px solid var(--line);grid-template-columns:5rem 5rem minmax(9rem,1fr) minmax(8rem,.7fr) 2.4rem;gap:.45rem;padding:.55rem 1rem;display:grid}.ingredient-row>button,.step-row>button{color:#aa4036;background:#fff0ed;border:0;border-radius:.4rem;place-items:center;width:2.4rem;height:2.65rem;display:grid}.ingredient-row button:disabled,.step-row button:disabled{opacity:.35}.ingredient-row button svg,.step-row button svg{width:1rem}.step-row{border-top:1px solid var(--line);grid-template-columns:2rem minmax(0,1fr) 7rem 2.4rem;align-items:start;gap:.5rem;padding:.6rem 1rem;display:grid}.step-row>b{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:1.8rem;height:1.8rem;margin-top:.35rem;font-size:.6rem;display:grid}.step-row>label{border:1px solid var(--line);border-radius:.4rem;grid-template-columns:1.8rem minmax(0,1fr);align-items:center;display:grid}.step-row>label svg{width:.9rem;color:var(--primary);margin:auto}.step-row>label input{border:0}.recipe-editor>.form-error{margin:1rem 1rem 0}.recipe-editor-actions{border-top:1px solid var(--line);justify-content:flex-end;padding:1rem;display:flex}.cook-mode{z-index:900;color:#fff;background:#071d1e;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.cook-mode>header{border-bottom:1px solid #ffffff1f;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:5rem;padding:.7rem max(1rem,4vw);display:grid}.cook-mode>header>button{color:#fff;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:.45rem;place-items:center;width:2.8rem;height:2.8rem;display:grid}.cook-mode>header>span{display:grid}.cook-mode>header small{color:#79d7cc;text-transform:uppercase;font-size:.58rem;font-weight:850}.cook-mode>header strong{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.cook-mode>header>b{color:#a8c4c1;font-size:.7rem}.cook-mode>main{text-align:center;align-content:center;place-self:center;justify-items:center;gap:1.5rem;width:calc(100% - 2rem);max-width:70rem;display:grid}.cook-step-number{color:#72e0d3;border:2px solid #5bd3c5;border-radius:50%;place-items:center;width:4rem;height:4rem;font-size:1.4rem;font-weight:900;display:grid}.cook-mode main p{max-width:58rem;margin:0;font-size:clamp(1.5rem,4vw,3.5rem);line-height:1.25}.cook-mode main>span{color:#8ee5db;background:#41beaf1f;border:1px solid #6ce1d340;border-radius:.4rem;align-items:center;gap:.45rem;padding:.55rem .8rem;font-size:.75rem;font-weight:800;display:flex}.cook-mode>footer{min-height:6rem;padding:.8rem max(1rem,4vw) calc(.8rem + env(safe-area-inset-bottom));border-top:1px solid #ffffff1f;grid-template-columns:auto minmax(7rem,1fr) auto;align-items:center;gap:1rem;display:grid}.cook-mode footer button{color:#fff;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:.45rem;align-items:center;gap:.45rem;min-height:3rem;padding:0 1rem;font-weight:800;display:flex}.cook-mode footer button:last-child{background:#168f86;border-color:#5ed6c8}.cook-mode footer button:disabled{opacity:.35}.cook-mode footer i{background:#ffffff1f;border-radius:.2rem;height:.35rem;overflow:hidden}.cook-mode footer i b{background:#66dfd2;height:100%;transition:width .18s;display:block}.spin{animation:.9s linear infinite recipe-spin}@keyframes recipe-spin{to{transform:rotate(360deg)}}@media (max-width:1180px){.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.recipe-page{padding-top:1.2rem}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-import-layout{grid-template-columns:1fr}.recipe-tabs button{min-height:3.8rem}.recipe-tabs button span{font-size:.62rem}.ingredient-row{grid-template-columns:4.5rem 4.5rem minmax(0,1fr) 2.4rem}.ingredient-row input:nth-of-type(4){grid-column:3}.ingredient-row>button{grid-area:1/4}}@media (max-width:620px){.recipe-heading{flex-direction:column;align-items:flex-start;gap:1rem}.recipe-heading .button{width:100%}.recipe-tabs{scrollbar-width:none;grid-template-columns:repeat(4,7.2rem);overflow-x:auto}.recipe-tabs button{border-right:1px solid var(--line);grid-template-columns:1.1rem minmax(0,1fr);padding:.5rem}.recipe-tabs button b{display:none}.recipe-toolbar{flex-direction:column;align-items:stretch}.recipe-toolbar label{width:100%}.recipe-toolbar>span{align-self:flex-end}.recipe-grid{grid-template-columns:1fr 1fr;gap:.55rem}.recipe-card-copy{min-height:6.6rem;padding:.6rem}.recipe-card-copy>strong{font-size:.76rem}.recipe-card-copy>small{font-size:.5rem}.recipe-favorite{width:2rem;height:2rem;top:calc(75% + .3rem);right:.35rem}.recipe-importer{min-height:auto;padding:1rem}.recipe-importer label>div{border:0;grid-template-columns:1fr;overflow:visible}.recipe-importer input{border:1px solid var(--line);border-radius:.4rem}.recipe-importer label .button{width:100%;margin:.45rem 0 0}.recipe-job{grid-template-columns:2.3rem minmax(0,1fr) auto;padding:.6rem}.recipe-job .button{min-height:2.4rem;padding:0 .6rem;font-size:.58rem}.recipe-shopping>header{flex-direction:column;align-items:flex-start}.recipe-shopping>header .button{width:100%}.recipe-shopping>div>article{grid-template-columns:2rem minmax(0,1fr) 2.3rem}.recipe-shopping article>em{grid-column:2}.recipe-shopping article>.icon-button{grid-area:1/3/3}.recipe-detail-hero{grid-template-rows:10rem auto;grid-template-columns:1fr;min-height:18rem}.recipe-detail-hero>div{padding:.85rem}.recipe-detail-actions .button{width:100%}.recipe-editor-basics{grid-template-columns:1fr}.recipe-editor-basics .span-2{grid-column:auto}.ingredient-row{grid-template-columns:4.2rem 4.2rem minmax(0,1fr) 2.4rem;padding:.5rem}.ingredient-row input:nth-of-type(4){grid-column:1/4}.step-row{grid-template-columns:1.8rem minmax(0,1fr) 2.4rem;padding:.5rem}.step-row>label{grid-column:2}.step-row>button{grid-area:1/3}.recipe-editor-actions .button{width:100%}.cook-mode>footer{grid-template-columns:1fr 1fr;gap:.55rem}.cook-mode footer i{grid-area:1/1/auto/-1}.cook-mode footer button{grid-row:2;justify-content:center;padding:0 .55rem;font-size:.65rem}.cook-mode main p{font-size:clamp(1.4rem,7vw,2.4rem)}}.trip-places-workspace{gap:16px;padding-top:1.35rem;display:grid}.places-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding-bottom:.15rem;display:grid}.places-actions,.places-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.places-actions button,.places-actions a,.places-filters button{border:1px solid var(--line,#cfdcdd);min-height:42px;color:var(--ink,#102326);font:inherit;background:#fff;border-radius:.45rem;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:700;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.places-actions button:hover,.places-actions a:hover,.places-filters button:hover{background:#f5faf9;border-color:#9db8b8;transform:translateY(-1px)}.places-actions svg{width:18px}.places-actions .primary-button{color:#fff;background:#087d81;border-color:#087d81}.places-actions .primary-button:hover{background:#096c70;border-color:#096c70}.places-mapbar{border:1px solid var(--line);background:#f7fbfa;border-radius:.45rem;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.places-mapbar label{min-width:0;color:var(--primary);align-items:center;gap:8px;font-size:.72rem;font-weight:850;display:flex}.places-mapbar label svg,.places-map-manage svg{width:17px}.places-mapbar select{min-width:190px;min-height:38px;color:var(--ink);font:inherit;background:#fff;border:1px solid #bfd0d1;border-radius:.4rem;padding:0 10px;font-weight:700}.places-map-manage{border:1px solid var(--line);min-height:38px;color:var(--ink);font:inherit;background:#fff;border-radius:.4rem;align-items:center;gap:7px;padding:0 12px;font-size:.72rem;font-weight:800;display:inline-flex}.places-map-manage:hover{background:#f0f8f6;border-color:#9db8b8}.places-map-manager{background:#fff;border:1px solid #bcd5d3;border-radius:.45rem;gap:10px;padding:14px;display:grid;box-shadow:0 6px 16px #1130310f}.places-map-manager>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.places-map-manager>header div{gap:3px;display:grid}.places-map-manager>header strong{font-size:.82rem}.places-map-manager>header small{color:var(--muted);font-size:.65rem}.places-map-manager>header button,.places-map-manager-list>div>button{border:1px solid var(--line);width:32px;height:32px;color:var(--ink);background:#fff;border-radius:.35rem;place-items:center;display:grid}.places-map-manager button svg{width:16px}.places-map-manager>form,.places-map-manager-list>div>form{align-items:center;gap:7px;display:flex}.places-map-manager input{border:1px solid #bfd0d1;border-radius:.4rem;flex:1;min-width:0;min-height:38px;padding:0 10px}.places-map-manager .primary-button{color:#fff;background:#087d81;border:1px solid #087d81;border-radius:.4rem;min-height:38px;padding:0 12px;font-weight:800}.places-map-manager-list{gap:6px;display:grid}.places-map-manager-list>div{border-top:1px solid #e3eceb;align-items:center;gap:6px;padding-top:6px;display:flex}.places-map-manager-list>div>span{flex:1;align-items:center;gap:7px;min-width:0;font-size:.75rem;font-weight:750;display:flex}.places-map-manager-list>div>span svg{width:15px;color:var(--primary)}.places-map-manager-list>div>button:last-child{color:#a8433b}.places-filters button{min-height:36px;padding:0 11px;font-size:.82rem}.places-filters button.is-active{color:#075e62;background:#e2f4f2;border-color:#087d81}.places-state{color:#6e4d00;background:#fff5dd;border:1px solid #e4bf64;align-items:center;gap:9px;padding:12px 14px;display:flex}.places-state svg{width:19px}.places-split{grid-template-columns:minmax(0,1.4fr) minmax(330px,.6fr);gap:16px;min-height:0;display:grid}.trip-places-map{z-index:0;background:#dce9e9;border:1px solid #bdd0d2;border-radius:8px;height:min(68vh,680px);min-height:480px;position:relative;overflow:hidden;box-shadow:0 5px 18px #10363914}.places-map-error{z-index:1000;background:#fff9ef;border:1px solid #e1b680;border-radius:6px;margin:0;padding:12px;font-size:.85rem;position:absolute;top:12px;left:12px;right:12px}.places-list{flex-direction:column;gap:9px;height:min(68vh,680px);padding-right:4px;display:flex;overflow:auto}.places-list article{cursor:pointer;background:#fff;border:1px solid #d0dddd;padding:14px;transition:border-color .15s,background .15s}.places-list article:hover,.places-list article:focus-visible,.places-list article.is-selected{background:#f0fbfa;border-color:#07868a;outline:none}.places-list article header,.places-list article footer{align-items:center;gap:8px;display:flex}.places-list article header{color:#64787a;text-transform:uppercase;justify-content:space-between;font-size:.74rem;font-weight:800}.places-list article header strong{color:#087d81}.places-list article header strong.is-visited{color:#23734e}.places-list h3{margin:7px 0 4px;font-size:1rem}.places-list p{color:#607275;margin:0;font-size:.86rem}.place-unconfirmed{color:#a05718;align-items:center;gap:5px;margin-top:8px;display:flex}.place-unconfirmed svg{width:15px}.places-list footer{margin-top:12px}.places-list footer>a{color:#087d81;align-items:center;gap:5px;font-size:.78rem;font-weight:700;text-decoration:none;display:flex}.places-list footer>a svg{width:16px}.places-list footer>span{flex:1}.places-list footer button{background:#fff;border:1px solid #d3dfe0;place-items:center;width:38px;height:38px;display:grid}.places-list footer button svg{width:17px}.places-empty{text-align:center;color:#607275;border:1px dashed #bfd0d1;place-content:center;justify-items:center;min-height:240px;padding:24px;display:grid}.places-empty>svg{width:34px}.places-empty button{min-height:40px;padding:0 14px}.place-map-marker{background:0 0;border:0}.place-map-marker span{background:#087d81;border:3px solid #fff;border-radius:50% 50% 50% 8px;width:28px;height:36px;display:block;transform:rotate(-45deg);box-shadow:0 3px 10px #002c2c55}.place-map-marker span:after{content:"";background:#fff;border-radius:50%;width:8px;height:8px;position:absolute;top:9px;left:10px}.place-map-marker.is-selected span{background:#ef6f62;transform:rotate(-45deg)scale(1.18)}.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:#98d9d4aa}.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{color:#fff;background:#087d81}.place-editor{gap:16px;max-width:880px;padding:18px;display:grid}.place-search{grid-template-columns:1fr auto;align-items:end;gap:8px;display:grid}.place-search label>span,.coordinate-fields label>span{text-transform:uppercase;color:#5f7476;margin-bottom:6px;font-size:.73rem;font-weight:800;display:block}.place-search label>div{background:#fff;border:1px solid #bfcecf;grid-template-columns:38px 1fr auto;display:grid}.place-search label svg{color:#087d81;place-self:center;width:18px}.place-search input{border:0;min-width:0}.place-search button,.world-search{background:#edf8f7;border:0;border-left:1px solid #bfcecf;padding:0 15px;font-weight:800}.world-search{border:1px solid #bfcecf;min-height:44px}.geocode-choices{gap:7px;display:grid}.geocode-choices>strong{text-transform:uppercase;color:#5f7476;font-size:.78rem}.geocode-choices button{text-align:left;background:#fff;border:1px solid #cfdddd;grid-template-columns:26px 1fr 24px;gap:10px;padding:11px;display:grid}.geocode-choices button:hover,.geocode-choices button.is-selected{background:#effaf9;border-color:#087d81}.geocode-choices button>svg{color:#087d81;width:18px}.geocode-choices span{gap:2px;display:grid}.geocode-choices small{color:#697b7d}.place-picker-map{z-index:0;background:#e8efef;border:1px solid #bdd0d2;border-radius:.45rem;height:300px}.coordinate-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.coordinate-fields input{width:100%}.place-editor{box-sizing:border-box;gap:1rem;width:100%;min-width:0;padding:1rem}.place-editor .form-grid{padding:0}.place-editor input:not([type=hidden]),.place-editor select{box-sizing:border-box;border:1px solid var(--line);width:100%;min-width:0;min-height:2.75rem;color:var(--ink);font:inherit;background:#fbfdfc;border-radius:.4rem;padding:0 .75rem}.place-editor input:focus-visible,.place-editor select:focus-visible,.place-editor textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.place-editor .place-search label>div{border-radius:.4rem;overflow:hidden}.place-editor .place-search input{border:0}.place-editor .world-search{border-radius:.4rem}.place-editor .position-confirmed,.place-editor .position-warning{border-radius:.4rem;align-items:flex-start;font-size:.75rem;line-height:1.5}.place-editor .position-confirmed svg,.place-editor .position-warning svg{flex-shrink:0;margin-top:2px}.place-editor .modal-actions{border-top:1px solid var(--line);z-index:1;background:#fff;justify-content:flex-end;padding:1rem 0;display:flex;position:sticky;bottom:-1rem}.place-editor .primary-button{border:1px solid var(--primary);background:var(--primary);color:#fff;min-height:2.75rem;font:inherit;border-radius:.45rem;justify-content:center;align-items:center;gap:.5rem;padding:0 1rem;font-size:.75rem;font-weight:800;display:inline-flex}.place-editor .primary-button:disabled{opacity:.6;cursor:wait}.place-editor .primary-button svg{width:1rem}@media (max-width:520px){.place-editor input:not([type=hidden]),.place-editor select,.place-editor textarea{font-size:16px}.place-editor .modal-actions .primary-button{width:100%}}.position-confirmed,.position-warning{align-items:center;gap:8px;margin:0;padding:10px 12px;display:flex}.position-confirmed{color:#216a49;background:#e8f7f0}.position-warning{color:#76520a;background:#fff5dd}.position-confirmed svg,.position-warning svg{width:18px}.form-notice{background:#edf7f7;border:1px solid #b9d7d8;padding:11px 13px}.form-notice.error{color:#8a3129;background:#fff0ee;border-color:#e6b3ac}.conflict-actions{background:#fff7e5;border:1px solid #dfb45c;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;display:flex}.conflict-actions p{flex:100%;margin:0}.conflict-actions button{min-height:40px;padding:0 12px}.place-import-modal{max-width:920px}.place-import-content{gap:16px;padding:18px;display:grid}.file-drop{background:#f5fbfa;border:1px dashed #8eb4b6;align-items:center;gap:10px;padding:18px;display:flex}.file-drop input{max-width:100%}.import-mapping{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.import-mapping label{gap:5px;display:grid}.import-mapping span{text-transform:uppercase;font-size:.75rem;font-weight:800}.import-preview{gap:7px;max-height:310px;display:grid;overflow:auto}.import-preview article{border:1px solid #d4dede;grid-template-columns:minmax(140px,1fr) minmax(160px,1.4fr) minmax(150px,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.import-preview article.status-invalid,.import-preview article.status-needs_location{background:#fff9ef;border-color:#e1b680}.import-preview small,.import-preview span{color:#66787a}.import-preview button{align-items:center;gap:5px;display:flex}.import-preview button svg{width:16px}.import-snapshot{color:#607275;margin:0;font-size:.82rem}.import-preview-map{z-index:0;border:1px solid #bdd0d2;height:260px}.import-coordinate-fix{grid-template-columns:1fr 1fr;gap:6px;display:grid}.import-coordinate-fix label{gap:3px;display:grid}.import-coordinate-fix input{width:100%;min-width:0}.import-coordinate-fix small{grid-column:1/-1}.place-export-check{cursor:pointer;align-items:center;gap:7px;display:flex}.place-export-check input{accent-color:#087d81}@media (max-width:1100px){.places-toolbar{grid-template-columns:1fr}.places-filters{flex-wrap:nowrap;padding-bottom:3px;overflow-x:auto}.places-filters button{white-space:nowrap}}@media (max-width:800px){.places-split{grid-template-columns:1fr;min-height:0}.trip-places-map{height:54vh;min-height:380px}.places-list{height:auto;max-height:none}.place-search{grid-template-columns:1fr}.world-search{width:100%}.import-mapping{grid-template-columns:1fr 1fr}.import-preview article{grid-template-columns:1fr}.place-editor{padding:12px}.place-picker-map{height:260px}}.import-location-fix{gap:7px;display:grid}.import-location-fix>button{justify-self:start}.import-candidates{gap:5px;display:grid}.import-candidates button{text-align:left;background:#fff;border:1px solid #bfd0d1;padding:7px;display:grid}.import-candidates button:hover,.import-candidates button:focus-visible{background:#effaf9;border-color:#087d81}.import-candidates small{text-transform:none;font-weight:400}@media (max-width:520px){.places-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.places-actions .primary-button{grid-column:1/-1}.places-actions a,.places-actions button{width:100%}.places-filters{flex-wrap:nowrap;width:100%;padding-bottom:4px;overflow-x:auto}.places-filters button{white-space:nowrap}.trip-places-map{min-height:330px}.coordinate-fields,.import-mapping{grid-template-columns:1fr}.place-import-modal{width:100%;height:100dvh;max-height:100dvh;margin:0}.place-import-content{overflow:auto}.places-mapbar{flex-direction:column;align-items:stretch}.places-mapbar label{flex-wrap:wrap;width:100%}.places-mapbar select{width:100%}.places-map-manage{justify-content:center}}
