.trips-shell{--ink:#18232e;--muted:#596572;--blue:#2879a9;--line:#e2e7ec;--surface:#fff;--success:#337c70;--radius-control:8px;--radius-surface:12px;--motion-fast:180ms;--motion-panel:280ms;--motion-progress:360ms;--ease-settle:cubic-bezier(0.22,1,0.36,1);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:#f7f9fb;min-height:100dvh;line-height:1.45;-webkit-font-smoothing:antialiased}.trips-shell *{box-sizing:border-box}.trips-shell button,.trips-shell input,.trips-shell select{font:inherit}.trips-shell button{cursor:pointer;touch-action:manipulation}.trips-shell button:disabled{cursor:default;opacity:.55}.trips-shell a:focus-visible,.trips-shell button:focus-visible,.trips-shell input:focus-visible,.trips-shell select:focus-visible{outline:3px solid #1e75b0;outline-offset:3px}.packing-page{max-width:1000px;margin:0 auto;padding:16px 16px calc(70px + env(safe-area-inset-bottom))}.packing-topline{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin-bottom:10px}.packing-topline a,.trips-back{display:inline-flex;align-items:center;gap:4px;min-height:44px;color:var(--muted);text-decoration:none}.packing-share{min-height:44px;border-radius:var(--radius-control);display:flex;align-items:center;gap:7px;padding:10px 12px;margin-right:-12px;background:none;border:0;font-weight:600!important}.packing-heading h1,.trips-index h1{font-size:clamp(25px,5.5vw,34px);line-height:1.15;letter-spacing:-.035em;font-weight:750;margin:0 0 8px}.packing-date{display:flex;align-items:center;gap:7px;margin:0;font-size:14px;color:var(--muted)}.packing-progress{padding:22px 0 20px}.packing-progress>div:first-child{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;font-size:13px;color:var(--muted)}.packing-progress strong{color:var(--ink);font-size:18px;font-variant-numeric:tabular-nums}.packing-progress strong span{font-weight:400;font-size:14px}.packing-remaining{display:inline-flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums}.packing-progress-track{height:7px;border-radius:10px;overflow:hidden;background:#e5eaf0}.packing-progress-track>span{display:block;height:100%;background:var(--success);border-radius:inherit;transform-origin:left;transition:transform var(--motion-progress) var(--ease-settle)}.packing-toolbar{position:sticky;top:0;z-index:5;background:#f7f9fb;padding:10px 0 8px;box-shadow:0 6px 8px -8px #18232e30;border-bottom:1px solid var(--line)}.packing-controls{display:flex;flex-direction:column;gap:12px}.packing-filters{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#e9edf1;border-radius:10px;padding:3px}.packing-filters:before{content:"";position:absolute;z-index:-1;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / 3);border-radius:var(--radius-control);background:var(--surface);box-shadow:0 1px 4px #14233218;transform:translateX(calc(var(--selected, 0) * 100%));transition:transform var(--motion-panel) var(--ease-settle)}.packing-filters button{border:0;background:transparent;border-radius:var(--radius-control);min-height:44px;font-size:14px;color:#465360;font-weight:600}.packing-filters button[aria-pressed=true]{color:var(--ink)}.packing-filters span{margin-left:5px;font-size:12px;font-variant-numeric:tabular-nums;color:#536170}.packing-search{display:flex;align-items:center;gap:9px;border:1px solid #d7dfe6;border-radius:8px;background:white;padding:0 4px 0 12px;color:#667584}.packing-search input{border:0;background:transparent;min-width:0;flex:1;height:44px;color:var(--ink);font-size:16px;outline-offset:0}.packing-search:focus-within{outline:2px solid #2879a9;outline-offset:1px}.packing-search input:focus-visible{outline:none}.packing-categories{display:flex;gap:7px;overflow-x:auto;padding:10px 2px 5px;scrollbar-width:none;scroll-snap-type:x proximity}.packing-categories::-webkit-scrollbar{display:none}.packing-categories button{flex:none;scroll-snap-align:start;border:1px solid #d9e0e6;background:white;border-radius:var(--radius-control);min-height:44px;padding:7px 12px;font-size:13px;color:var(--category,#33414e)}.packing-categories button[aria-pressed=true]{background:var(--category,#253543);color:#fff;border-color:var(--category,#253543)}.packing-connection{display:flex;align-items:center;gap:5px;min-height:35px;color:#62717c;font-size:12px}.packing-sections{display:flex;flex-direction:column;gap:18px}.packing-category{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-surface);background:var(--surface)}.packing-category-heading{background:var(--category);color:white;padding:0 10px 0 5px;gap:6px}.packing-category-heading,.packing-collapse{display:flex;align-items:center;min-height:60px}.packing-collapse{flex:1;min-width:0;gap:7px;padding:10px 6px;border:0;background:transparent;text-align:left}.packing-collapse h2{font-size:17px;font-weight:650;line-height:1.2;flex:1;margin:0}.packing-collapse>svg{flex:none;transition:transform var(--motion-panel) var(--ease-settle)}.packing-collapse>svg.collapsed{transform:rotate(-90deg)}.packing-collapse>span{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.category-add{display:flex;align-items:center;gap:4px;justify-content:center;background:#0000000a;border:1px solid #ffffff55;border-radius:6px;min-height:44px;min-width:44px;padding:7px;font-size:13px!important}.packing-items{margin:0;padding:0;list-style:none}.packing-item{display:flex;align-items:center;min-height:76px;padding:5px 6px;border-bottom:1px solid #edf0f3;gap:2px}.packing-check{display:grid;place-items:center;width:46px;min-width:46px;min-height:54px;background:none;border:0;align-self:stretch}.packing-check>span{width:25px;height:25px;border:1.5px solid #7a8b99;border-radius:var(--radius-control);display:grid;place-items:center;color:white}.packing-check[aria-checked=true]>span{background:var(--category);border-color:var(--category)}.packing-item-label{flex:1;min-width:0;padding:11px 5px;border:0;background:transparent;text-align:left;min-height:58px}.packing-item-name{display:block;color:var(--ink);font-size:16px;line-height:1.4;overflow-wrap:anywhere}.packing-item-quantity{display:block;color:var(--muted);font-size:13px;line-height:1.35;padding-top:4px;overflow-wrap:anywhere}.is-packed .packing-item-name{text-decoration:line-through;color:#5e6f7b;text-decoration-color:#8997a2}.is-packed{background:#f9fbfc}.trips-shell .icon-button{display:inline-grid;place-items:center;background:transparent;border:0;min-height:44px;min-width:44px;border-radius:6px}.item-menu{color:#6b7985}.packing-category-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 12px}.packing-category-footer button{display:flex;align-items:center;gap:6px;min-height:44px;font-size:13px;color:#4a6477;background:none;border:0}.packing-notice{margin:0;padding:13px 15px;background:#fff9eb;border-bottom:1px solid #eadfc6;color:#6e5224;font-size:13px;line-height:1.55}.packing-notice strong{display:block;margin-bottom:3px}.packing-category-empty{padding:15px;color:var(--muted);font-size:14px}.packing-empty{display:flex;flex-direction:column;align-items:center;gap:14px;padding:55px 10px;text-align:center}.packing-access h2,.packing-empty h2{font-size:21px;font-weight:650;margin:0}.packing-access{max-width:460px;margin:35px auto;padding:25px;border:1px solid var(--line);border-radius:var(--radius-surface);background:white}.packing-access p{color:var(--muted);font-size:15px;margin:12px 0 22px}.packing-access form{display:flex;flex-direction:column;gap:10px}.packing-access input,.packing-editor input,.packing-editor select,.share-link{width:100%;min-height:48px;border:1px solid #c4cdd6;border-radius:var(--radius-control);padding:10px 12px;font-size:16px;background:white;color:var(--ink)}.packing-access label,.packing-editor label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}.primary-button,.trips-shell .secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:11px 18px;border-radius:8px;font-weight:600!important;font-size:15px!important;border:1px solid #284f69;background:#284f69;color:white}.trips-shell .secondary-button{background:white;color:#284f69;border-color:#ccd6df}.packing-dialog{border:0;padding:22px 20px calc(22px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;background:white;color:#18232e;width:100%;max-width:none;max-height:90dvh;overscroll-behavior:contain;margin:auto 0 0;box-shadow:0 -6px 40px #10273920;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;animation:packing-sheet-in var(--motion-panel) var(--ease-settle)}.packing-dialog::backdrop{background:#18232e66;animation:packing-fade-in var(--motion-fast) ease-out}.packing-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.packing-dialog-heading h2{font-size:23px;font-weight:700;margin:0;letter-spacing:-.025em}.packing-editor>input,.packing-editor>select{margin-bottom:20px}.packing-edit-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);gap:14px;margin-bottom:20px}.packing-editor .primary-button{width:100%;margin-top:4px}.delete-button{display:flex;align-items:center;justify-content:center;gap:7px;color:#a22f3f;border:0;background:none;width:100%;min-height:48px;margin-top:12px}.packing-error{color:#a22f3f!important;font-size:14px;line-height:1.5;margin:0 0 16px}.packing-error-banner{display:flex;align-items:center;gap:15px;justify-content:space-between;background:#fff0f1;border:1px solid #e8b8bd;border-radius:8px;padding:10px 14px;margin:0 0 18px;color:#8c2637;font-size:14px}.packing-error-banner button{min-height:44px;font-weight:600}.packing-confirm-copy{font-size:16px;line-height:1.6;margin:0 0 24px}.packing-confirm-actions{display:flex;justify-content:flex-end;gap:10px}.packing-dialog .share-link{margin:0 0 20px}.packing-toast{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:18px;white-space:nowrap;max-width:calc(100% - 32px);border-radius:10px;background:#243541;color:#fff;padding:6px 10px 6px 18px;box-shadow:0 6px 24px #17222e26;font-size:14px;animation:packing-toast-in var(--motion-panel) var(--ease-settle)}.packing-toast>button:not(.icon-button){min-height:44px;font-weight:700;color:#b4e1fa;background:none;border:0}.trips-index{max-width:760px}.trips-index h1{margin:26px 0 30px}.trip-link{display:flex;align-items:center;justify-content:space-between;text-decoration:none;border:1px solid var(--line);background:white;border-radius:var(--radius-surface);padding:24px}.trip-link>span{display:flex;flex-direction:column;gap:5px}.trip-link strong{font-size:24px;font-weight:650}.trip-link span span{color:var(--muted);font-size:14px}@media (min-width:700px){.packing-page{padding:25px 32px 80px}.packing-heading{padding-top:8px}.packing-heading h1{margin-top:12px}.packing-controls{flex-direction:row;align-items:center}.packing-filters{flex:1;max-width:370px}.packing-search{flex:1}.packing-item{padding:5px 14px;min-height:72px}.packing-item-label{display:flex;align-items:center;gap:20px}.packing-item-name{flex:1}.packing-item-quantity{width:190px;padding:0;font-size:14px}.packing-category-heading{padding:0 16px 0 10px}.packing-category-footer{padding:5px 23px}.packing-collapse h2{flex:none;margin-right:10px}.packing-dialog{margin:auto;max-width:460px;border-radius:16px;padding:24px;animation-name:packing-dialog-in}}.trips-shell ::selection{background:#dceaf3;color:var(--ink)}.trips-skip{position:fixed;top:12px;left:16px;z-index:20;padding:12px 16px;border-radius:var(--radius-control);background:var(--ink);color:white;transform:translateY(-160%)}.trips-skip:focus{transform:translateY(0)}.packing-page:focus{outline:none}.packing-search-clear{display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted)}.packing-search input::-webkit-search-cancel-button{-webkit-appearance:none}.packing-connection-dot{width:6px;height:6px;flex:none;border-radius:50%;background:#8e7438}.packing-connection[data-state=live] .packing-connection-dot{background:var(--success)}.packing-connection[data-state=saving] .packing-connection-dot{background:var(--blue)}.packing-category-heading :focus-visible{outline-color:white;outline-offset:-4px}.packing-category-content{animation:packing-content-in var(--motion-fast) var(--ease-settle)}.packing-check>span{transition:transform var(--motion-fast) var(--ease-settle)}.packing-check[aria-busy=true]{opacity:1}.packing-checkmark{opacity:0;transition:opacity var(--motion-fast) ease-out}.packing-checkmark path{stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset var(--motion-fast) var(--ease-settle)}.packing-check[aria-checked=true] .packing-checkmark{opacity:1}.packing-check[aria-checked=true] .packing-checkmark path{stroke-dashoffset:0}.packing-check:not(:disabled):active>span{transform:scale(.88)}.trips-shell :is(.packing-share,.category-add,.icon-button,.primary-button,.secondary-button,.packing-search-clear,.trip-link){transition:transform var(--motion-fast) var(--ease-settle)}.trips-shell :is(.packing-share,.category-add,.icon-button,.primary-button,.secondary-button,.packing-search-clear):not(:disabled):active{transform:scale(.96)}@media (hover:hover) and (pointer:fine){.packing-item:hover{background:#f0f5f8}.packing-search-clear:hover,.packing-share:hover,.trips-shell .icon-button:hover{background:#e9eff4}.category-add:hover{background:#00000018}.packing-category-footer button:hover,.packing-filters button:hover{color:#18232e}.packing-categories button:hover{border-color:var(--category,#253543)}.primary-button:not(:disabled):hover{background:#203e53}.trip-link:hover,.trips-shell .secondary-button:hover{background:#f0f5f8}.trip-link:hover>svg{transform:translateX(3px)}}.trip-link>svg{transition:transform var(--motion-fast) var(--ease-settle)}.packing-loading{padding-top:24px}.packing-skeleton{animation:packing-fade-in var(--motion-fast) ease-out}.skeleton-summary{width:120px;height:22px;border-radius:4px;background:#e5eaf0;margin-bottom:12px}.skeleton-track{height:7px;border-radius:8px;background:#e5eaf0}.skeleton-controls{height:150px;margin:30px 0 36px;border-radius:var(--radius-control);background:#e9edf1}.skeleton-category{height:60px;background:#d8e3ec;border-radius:12px 12px 0 0}.skeleton-row{height:76px;background:#fff;border:1px solid var(--line);border-top:0}.skeleton-row:last-child{border-radius:0 0 12px 12px}@media (min-width:700px){.skeleton-controls{height:98px}}@media (max-height:500px){.packing-toolbar{position:static}.packing-dialog{max-height:96dvh}}@keyframes packing-fade-in{0%{opacity:0}}@keyframes packing-sheet-in{0%{opacity:0;transform:translateY(24px)}}@keyframes packing-dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes packing-content-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes packing-toast-in{0%{opacity:0;transform:translate(-50%,8px)}}@media (prefers-reduced-motion:reduce){.packing-dialog::backdrop,.trips-shell *,.trips-shell :after,.trips-shell :before{animation:none!important;transition:none!important;scroll-behavior:auto!important}.packing-check:not(:disabled):active>span,.trip-link:hover>svg,.trips-shell button:not(:disabled):active{transform:none}}@media (forced-colors:active){.packing-categories button[aria-pressed=true],.packing-filters button[aria-pressed=true]{outline:2px solid Highlight;outline-offset:-3px}.packing-check[aria-checked=true]>span{color:Highlight;border-color:Highlight}.packing-progress-track{border:1px solid CanvasText}.packing-progress-track>span{background:Highlight;forced-color-adjust:none}}