@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";
:root{--primary:#f5b78e;--primary-hover:#efa678;--primary-border:#a86842;--on-primary:#172033;--secondary:#0369a1;--secondary-hover:#075985;--on-secondary:#fff;--canvas:#fffaf5;--surface:#fff;--soft:#f1f5f9;--surface-hover:#f0f9ff;--line:#cbd5e1;--control-line:#64748b;--ink:#172033;--muted:#526174;--focus:var(--secondary);--weight-surface:#dbeafe;--weight-ink:#1d4ed8;--weight-line:#93c5fd;--trip-surface:#e0f2fe;--trip-ink:#075985;--extra-ink:#665477;--extra-surface:#f5f2f8;--extra-soft:#eae3f1;--extra-hover:#eee8f4;--extra-line:#8b789d;--packed-ink:#166534;--packed-hover:#14532d;--packed-surface:#f0fdf4;--on-packed:#fff;--drag-line:#0369a1;--drag-surface:#fff;--success-ink:#166534;--success-surface:#f0fdf4;--warning-ink:#92400e;--warning-surface:#fffbeb;--danger:#b91c1c;--danger-surface:#fef2f2;--shadow:0 14px 38px #17203311;--badge-radius:8px}*{box-sizing:border-box}html,body{background:var(--canvas);min-height:100%;color:var(--ink);margin:0}body{font-family:DM Sans,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}button:disabled{cursor:not-allowed;opacity:.48}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em;font-family:Manrope,Arial,sans-serif}h1{font-size:clamp(29px,3vw,42px);line-height:1.16}h2{font-size:22px;line-height:1.25}h3{font-size:15px;line-height:1.35}p{color:var(--muted);line-height:1.55}a{color:inherit}.eyebrow{letter-spacing:.17em;color:var(--muted);font-size:10px;font-weight:800}.summary-badge,.heading-count,.pill,.quantity-badge,.gear-weight,.gear-extra-badge{border:1px solid var(--line);border-radius:var(--badge-radius);background:var(--soft);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.pack-summary{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;font-size:12px;line-height:18px;display:flex}.pack-summary-activity{overflow-wrap:anywhere;min-width:0;max-width:100%;color:var(--muted);margin-right:2px;font-weight:600}.summary-badge{white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:5px;min-height:28px;padding:4px 8px;display:inline-flex}.summary-badge svg{flex:none}.gear-weight,.summary-weight{background:var(--weight-surface);color:var(--weight-ink);border-color:var(--weight-line)}
.brand{letter-spacing:-.07em;color:var(--ink);align-items:center;gap:10px;font-family:Manrope,sans-serif;font-size:23px;font-weight:800;display:flex}.brand-mark{background:var(--primary);width:33px;height:33px;color:var(--ink);border-radius:10px;place-items:center;display:grid;transform:rotate(-8deg)}.brand-mark svg{transform:rotate(8deg)}.btn{white-space:nowrap;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 17px;font-size:12px;font-weight:800;transition:transform .15s,background .15s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn-primary{background:var(--primary);border-color:var(--primary-border);color:var(--on-primary)}.btn-primary:hover:not(:disabled),.btn-primary:active:not(:disabled){background:var(--primary-hover)}.btn-outline{background:var(--surface);border-color:var(--control-line);color:var(--secondary)}.btn-outline:hover:not(:disabled){background:var(--surface-hover)}.full{width:100%}.icon-btn{width:36px;height:36px;color:var(--muted);background:0 0;border:0;border-radius:10px;place-items:center;display:grid}.icon-btn:hover:not(:disabled){background:var(--surface-hover)}.topbar{background:var(--surface);border-bottom:1px solid var(--line);height:72px}.topbar-inner{justify-content:space-between;align-items:center;max-width:1500px;height:100%;margin:auto;padding:0 4.5%;display:flex}.desktop-nav{align-items:center;gap:24px;height:100%;margin-left:8%;display:flex}.nav-active{border-bottom:2px solid var(--secondary);align-self:stretch;place-items:center;font-size:12px;font-weight:800;display:grid}.nav-caption{color:var(--muted);font-size:11px}.top-actions{align-items:center;gap:18px;display:flex}.save-status{color:var(--muted);align-items:center;gap:8px;font-size:11px;display:flex}.save-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.save-status[data-state=saved]{color:var(--success-ink)}.save-status[data-state=saving]{color:var(--secondary)}.save-status[data-state=failed]{color:var(--danger)}.save-status[data-state=saving] .save-dot{animation:1s infinite pulse}@keyframes pulse{50%{opacity:.3}}.avatar{background:var(--surface-hover);width:30px;height:30px;color:var(--secondary);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}
.workspace{max-width:1500px;margin:auto;padding:42px 4.5% 70px}.workspace-heading{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.workspace-heading h1{margin:6px 0 7px}.workspace-heading p{margin:0;font-size:13px}.library-panel,.bag-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:17px}.library-panel{min-height:750px;padding:26px}.section-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.section-heading h2{margin:6px 0 4px}.section-heading p{margin:0;font-size:12px}.heading-count{vertical-align:middle;letter-spacing:0;place-items:center;min-width:25px;height:23px;margin-left:4px;padding:0 5px;font-family:DM Sans;font-size:11px;display:inline-grid}.search-box{border:1px solid var(--control-line);background:var(--surface);height:42px;color:var(--muted);border-radius:10px;align-items:center;gap:9px;padding:0 13px;display:flex}.search-box:focus-within{border-color:var(--focus);outline:2px solid var(--focus);outline-offset:2px}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.search-box input:focus-visible{outline:none}.search-box input::placeholder{color:var(--muted)}.gear-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-width:0;transition:box-shadow .2s,transform .2s;position:relative;overflow:hidden;box-shadow:0 5px 10px #17203305}.gear-card:hover{box-shadow:0 9px 22px #17203317}.gear-card.dragging{opacity:.78}.gear-actions{align-items:center;gap:4px;display:flex}.add-circle{background:var(--primary);width:25px;height:25px;color:var(--on-primary);box-shadow:inset 0 0 0 1px var(--primary-border);border:0;border-radius:7px;place-items:center;display:grid}.add-circle:hover:not(:disabled),.add-circle:active:not(:disabled){background:var(--primary-hover)}
.bag-panel{padding:24px}.share-icon{background:var(--soft)}.stepper button:hover:not(:disabled){color:var(--secondary);background:var(--soft)}.bag-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:225px;padding:16px;display:flex}.bag-empty h3{margin-bottom:5px}.bag-empty p{max-width:220px;margin-bottom:13px;font-size:11px}.no-trip{min-height:445px}.no-trip .btn{margin-top:7px}.bag-items{flex-direction:column;display:flex}.stepper{border:1px solid var(--control-line);border-radius:7px;flex:none;align-items:center;height:26px;display:flex}.stepper button{background:var(--surface);color:var(--muted);border:0;border-radius:7px;place-items:center;width:22px;height:23px;display:grid}.stepper span{text-align:center;min-width:27px;font-size:10px;font-weight:800}.check-control{border:1.5px solid var(--control-line);background:var(--surface);width:19px;height:19px;color:var(--muted);border-radius:5px;flex:none;place-items:center;display:grid}.check-control.checked:hover:not(:disabled){background:var(--packed-hover);border-color:var(--packed-hover)}.check-control.checked{background:var(--packed-ink);border-color:var(--packed-ink);color:var(--on-packed)}.progress-area{padding:7px 0 13px}.progress-top{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin-bottom:7px;font-size:11px;display:flex}.progress-top strong{color:var(--packed-ink)}.progress-track{background:var(--soft);border-radius:20px;height:6px;overflow:hidden}.progress-track span{background:var(--packed-ink);border-radius:20px;height:100%;display:block}
.error-banner,.notice-banner{border-radius:10px;align-items:center;gap:9px;margin-bottom:15px;padding:11px 14px;font-size:12px;display:flex}.error-banner{color:var(--danger);background:var(--danger-surface)}.notice-banner{color:var(--success-ink);background:var(--success-surface)}.error-banner span,.notice-banner span{flex:1}.error-banner button,.notice-banner button{color:inherit;background:0 0;border:0}.modal-layer{z-index:50;place-items:center;display:grid;position:fixed;inset:0}.modal-scrim{background:#172033b5;position:absolute;inset:0}.modal-card{background:var(--surface);border-radius:19px;width:min(480px,100vw - 28px);max-height:calc(100vh - 32px);padding:28px;position:relative;overflow:auto;box-shadow:0 25px 90px #17203355}.modal-close{background:var(--soft);color:var(--muted);border:0;border-radius:8px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:19px;right:19px}.modal-card h2{margin:7px 0 3px;font-size:24px}.modal-intro{margin:0 25px 22px 0;font-size:12px}.stack-form{flex-direction:column;gap:13px;display:flex}.stack-form label,.invite-field,.link-box{color:var(--muted);flex-direction:column;gap:6px;font-size:10px;font-weight:800;display:flex}.stack-form input,.stack-form select,.stack-form textarea,.invite-field input,.link-box input{border:1px solid var(--control-line);background:var(--surface);width:100%;min-height:40px;color:var(--ink);border-radius:9px;outline:none;padding:9px 11px;font-size:12px;font-weight:500}.stack-form textarea{resize:vertical}.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus{border-color:var(--focus);outline:2px solid var(--focus);outline-offset:2px}.form-row{gap:10px;display:flex}.form-row label{flex:1;min-width:0}.stack-form .btn{margin-top:4px}.gear-modal-extras{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;display:flex}.photo-upload,.text-danger,.text-link{color:var(--secondary);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:5px;font-size:11px;font-weight:800;display:inline-flex}.photo-upload:hover,.text-link:hover{color:var(--secondary-hover);text-decoration:underline}.text-danger{color:var(--danger)}.form-error{color:var(--danger);margin:0;font-size:11px}.share-modal{max-height:calc(100dvh - 32px);padding:24px}.share-dialog{gap:16px;min-width:0;display:grid}.share-dialog h2{margin:0;padding-right:32px;font-size:22px}.share-dialog .share-preview{border:1px solid var(--line);background:var(--soft);border-radius:11px;min-width:0;padding:12px}.share-section-label,.share-link-field{color:var(--muted);font-size:12px;font-weight:700}.share-dialog h3{color:var(--ink);overflow-wrap:anywhere;margin:4px 0 8px;font-size:17px}.share-preview-summary{margin:0}.share-preview-summary .pack-summary-activity{overflow-wrap:anywhere;min-width:0}.share-privacy,.share-management p,.share-feedback{margin:0;font-size:12px;line-height:1.5}.share-privacy,.share-management p{color:var(--muted)}.share-feedback{color:var(--success-ink)}.share-link-actions,.share-management{gap:8px;min-width:0;display:grid}.share-link-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.share-link-field{gap:6px;min-width:0;display:grid}.share-link-field input{border:1px solid var(--control-line);background:var(--surface);width:100%;min-width:0;min-height:40px;color:var(--ink);border-radius:9px;padding:9px 10px;font-size:12px}.share-link-field input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.share-dialog .btn{min-height:40px}.share-dialog .btn svg{flex-shrink:0}.share-management{border-top:1px solid var(--line);padding-top:16px}.share-dialog .share-stop{color:var(--danger);border-color:var(--danger)}.share-dialog .share-stop:hover:not(:disabled){background:var(--danger-surface);border-color:var(--danger)}.link-box{margin:13px 0}.link-box input{color:var(--muted)}.dialog-actions{flex-wrap:wrap;gap:8px;display:flex}.dialog-actions .btn{flex:1}.settings-row{border:0;border-top:1px solid var(--line);background:var(--surface);width:100%;color:var(--muted);text-align:left;align-items:center;gap:12px;padding:17px 4px;display:flex}.settings-row span{color:var(--ink);flex:1;font-size:12px;font-weight:700}.password-form{padding:12px 0}
.auth-screen{background:var(--surface);grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-art{background:var(--canvas);color:var(--ink);justify-content:center;align-items:center;padding:60px;display:flex}.auth-art-content{max-width:480px}.auth-art .eyebrow{color:var(--muted)}.auth-art h1{color:var(--secondary);margin:20px 0;font-size:clamp(48px,6vw,84px);line-height:1.05}.auth-art p{color:var(--muted);max-width:390px;font-size:17px}.auth-art-mark{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:17px;margin-top:65px;padding-top:23px;font-size:13px;display:flex}.auth-side{place-items:center;padding:30px;display:grid}.auth-card{width:min(390px,100%)}.auth-heading{margin:55px 0 27px}.auth-heading h2{margin:12px 0 8px;font-size:35px}.auth-heading p{font-size:13px}.auth-footer{text-align:center;margin-top:22px;font-size:12px}.invite-field{margin:18px 0}.loading-screen{flex-direction:column;justify-content:center;align-items:center;gap:17px;min-height:100vh;display:flex}.loading-screen p{font-size:12px}
.shared-page{background:var(--canvas);min-height:100vh;padding:35px 18px}.shared-shell{max-width:680px;margin:auto}.shared-page .brand{margin-bottom:34px}.share-hero{background:var(--trip-surface);color:var(--trip-ink);border-radius:18px;margin-bottom:17px;padding:31px}.share-hero .eyebrow{color:var(--muted)}.share-hero h1{overflow-wrap:anywhere;margin:10px 0 5px;font-size:34px}.share-hero p{color:var(--muted);font-size:12px}.share-stats{margin-top:16px}.share-hero .pack-summary-activity{color:var(--muted)}.shared-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:25px}.shared-card .section-heading{margin-bottom:14px}.shared-card h2{margin-bottom:0;font-size:20px}.pill,.quantity-badge{padding:6px 9px;font-size:10px}.shared-foot{justify-content:center;align-items:center;gap:6px;margin-top:20px;font-size:11px;display:flex}.shared-empty{text-align:center;background:var(--surface);color:var(--muted);border-radius:15px;padding:90px 20px}.shared-empty h1{color:var(--ink);margin:14px 0 7px;font-size:25px}.shared-empty p{font-size:12px}
@media (max-width:1050px){.desktop-nav{margin-left:2%}.nav-caption{display:none}}@media (max-width:760px){.topbar{height:60px}.topbar-inner{padding:0 17px}.topbar .brand{font-size:21px}.desktop-nav,.save-status{display:none}.workspace{padding:29px 15px 120px}.workspace-heading{margin-bottom:23px}.workspace-heading h1{margin:5px 0;font-size:29px}.workspace-heading p{font-size:11px}.library-panel{min-height:600px;padding:19px 15px 30px}.section-heading h2{font-size:20px}.section-heading p{font-size:11px}.search-box{flex:1}.bag-empty{min-height:185px}.auth-screen{display:block}.auth-art{background:var(--surface);color:var(--ink);display:none}.auth-side{min-height:100vh;padding:25px}.auth-heading{margin-top:70px}.modal-card{padding:25px 20px}.dialog-actions{flex-direction:column}.modal-card.share-modal{padding:20px 16px}}@media (max-width:374px){.share-link-row{grid-template-columns:minmax(0,1fr)}}
.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-shell{flex-direction:column;height:100dvh;min-height:600px;display:flex;overflow:hidden}.app-shell .topbar{flex-shrink:0;height:60px}.app-shell .workspace{flex-direction:column;flex:1;width:100%;min-height:0;padding:22px 4.5% 20px;display:flex}.app-shell .workspace-heading{flex-shrink:0;margin-bottom:18px}.app-shell .workspace-heading h1{margin:0 0 5px;font-size:30px}.bag-header{--bag-control-size:36px;--bag-action-size:32px;border-bottom:1px solid var(--line);flex-shrink:0;min-width:0;padding-bottom:12px}.bag-header-row{min-width:0;color:var(--ink);align-items:flex-end;gap:12px;display:flex}.bag-trip-identity{flex:1;min-width:0}.bag-trip-label{color:var(--muted);margin:0 0 4px;font-size:11px;font-weight:600;line-height:14px;display:block}.bag-trip-select,.bag-trip-name{height:var(--bag-control-size);width:100%;min-width:0;max-width:100%;color:var(--ink);letter-spacing:-.035em;white-space:nowrap;text-overflow:ellipsis;font-family:Manrope,Arial,sans-serif;font-size:20px;font-weight:800;display:block;overflow:hidden}.bag-trip-name{line-height:var(--bag-control-size)}.bag-trip-select{min-height:var(--bag-control-size);appearance:none;color:var(--ink);background-color:var(--surface);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230369a1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border:1px solid #0000;border-radius:8px;padding:0 32px 0 0}.bag-trip-select option{background:var(--surface);color:var(--ink)}.bag-trip-select:hover:not(:disabled){background-color:var(--soft)}.bag-trip-select:disabled{opacity:.6;cursor:default}.bag-trip-select:focus-visible,.app-shell .bag-header-row .icon-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.bag-header-actions{flex:none;align-items:center;gap:8px;margin-bottom:2px;display:flex}.bag-header-actions .icon-btn{width:var(--bag-action-size);height:var(--bag-action-size);color:var(--muted);background:var(--surface);border-radius:7px;flex:none;padding:0}.bag-header-actions .share-icon{width:auto;box-shadow:inset 0 0 0 1px var(--control-line);justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.bag-header-actions .icon-btn:hover:not(:disabled),.bag-header-actions .icon-btn[aria-expanded=true]{background:var(--surface-hover)}.bag-header-actions .new-trip-icon{color:var(--trip-ink);background:var(--trip-surface);box-shadow:inset 0 0 0 1px var(--secondary)}.bag-header-actions .new-trip-icon:hover:not(:disabled),.bag-header-actions .new-trip-icon:active:not(:disabled){background:#bae6fd}.bag-metadata{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;margin:12px 0 0;display:grid}.bag-metadata .pack-summary-activity{grid-area:1/1}.bag-metadata .summary-badge{grid-area:1/2}.bag-metadata .summary-weight{grid-column:3}.bag-trip-menu{position:relative}.bag-trip-menu-items{z-index:20;border:1px solid var(--line);background:var(--surface);border-radius:10px;width:164px;padding:5px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 25px #17203324}.bag-trip-menu-items button{background:var(--surface);width:100%;min-height:42px;color:var(--ink);text-align:left;border:0;border-radius:6px;align-items:center;gap:8px;padding:8px;font-size:12px;display:flex}.bag-trip-menu-items button:hover:not(:disabled){background:var(--soft)}.app-shell .content-grid{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(320px,1.5fr) minmax(320px,1fr);align-items:stretch;gap:16px;min-height:0;display:grid}.app-shell .library-panel,.app-shell .bag-panel{border-radius:14px;flex-direction:column;min-width:0;min-height:0;padding:16px;display:flex}.library-heading{background:var(--surface);color:var(--ink);border-radius:8px;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;padding:8px;display:flex}.library-heading h2{margin:0;font-size:19px}.library-heading .btn{background:var(--primary);border-color:var(--primary-border);min-height:34px;color:var(--on-primary);padding:0 10px;font-size:11px}.library-heading .btn:hover:not(:disabled),.library-heading .btn:active:not(:disabled){background:var(--primary-hover);border-color:var(--primary-border)}.app-shell .library-heading .btn:focus-visible{outline:2px solid var(--focus)}.library-filters{flex-shrink:0;align-items:stretch;gap:8px;margin-bottom:12px;display:flex}.library-filters .search-box{background:var(--soft);border-color:var(--control-line);min-width:0;height:36px;color:var(--secondary);flex:1}.category-filter select{border:1px solid var(--control-line);background:var(--soft);color:var(--secondary);border-radius:9px;width:112px;height:36px;padding:0 8px;font-size:11px}.gear-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--control-line) transparent;flex:1;min-height:0;padding:2px 3px 4px;overflow:hidden auto;container-type:inline-size}.app-shell .gear-grid{grid-template-columns:repeat(auto-fill, minmax(min(100%, var(--gear-card-width)), 1fr));gap:var(--gear-card-gap);align-items:start;display:grid}.gear-edit{background:var(--surface);width:26px;height:32px;color:var(--muted);border:0;border-radius:8px;place-items:center;padding:0;display:grid}.gear-edit:hover{background:var(--soft)}.app-shell .add-circle{border-radius:8px;width:100%;height:32px}.gear-load-more{flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:5px;padding:14px;display:flex}.gear-load-more small{color:var(--muted);font-size:11px}.library-empty{color:var(--muted);text-align:center;padding:25px 10px}.library-empty p{margin:8px 0 2px;font-size:12px}.library-empty small{color:var(--muted);font-size:11px}.app-shell .bag-panel{transition:background .15s,border-color .15s}.app-shell .bag-panel.over,.app-shell .library-panel.over{border-color:var(--drag-line);background:var(--drag-surface);box-shadow:inset 0 0 0 2px var(--drag-line)}.app-shell .bag-tabs{border:1px solid var(--line);background:var(--soft);border-radius:8px;flex-shrink:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;width:fit-content;max-width:100%;margin-top:12px;padding:2px;display:grid}.app-shell .bag-tabs button{white-space:nowrap;min-width:0;min-height:28px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:11px;font-weight:600;display:flex}.app-shell .bag-tabs button svg{flex:none;width:14px;height:14px}.app-shell .bag-tabs button:hover:not(:disabled){color:var(--secondary-hover);background:var(--surface-hover)}.app-shell .bag-tabs button[aria-pressed=true]{color:var(--secondary);background:var(--surface);border-color:var(--line);box-shadow:0 1px 3px #1720330d}.bag-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--control-line) transparent;flex:1;min-height:0;padding:12px 3px 3px;overflow:hidden auto;container-type:inline-size}.app-shell .bag-items{grid-template-columns:repeat(auto-fill, minmax(min(100%, var(--gear-card-width)), 1fr));gap:var(--gear-card-gap);display:grid}.bag-card-controls{gap:2.3cqw;min-width:0;display:grid}.bag-card-quantity{justify-content:space-between;align-items:center;gap:4.5cqw;min-width:0;min-height:31.8cqw;display:flex}.bag-card-quantity>span{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0;font-size:11.4cqw;font-weight:800}.bag-card-controls .stepper{border-width:1.1cqw;border-radius:8cqw;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;height:36.4cqw;display:grid;overflow:hidden}.bag-card-controls .stepper button{border-radius:0;width:100%;height:34.1cqw}.bag-card-controls .stepper button+button{border-left:1px solid var(--control-line);border-left-width:1.1cqw}.remove-item{color:var(--muted);background:0 0;border:0;border-radius:6.8cqw;flex:none;place-items:center;width:31.8cqw;height:31.8cqw;padding:0;display:grid}.remove-item:hover:not(:disabled){background:var(--danger-surface);color:var(--danger)}.bag-card-controls .check-control{border-width:1.7cqw;border-radius:5.7cqw;width:31.8cqw;height:31.8cqw}.bag-card-controls .check-control svg{width:18.2cqw;height:18.2cqw}.bag-card-controls .stepper svg{width:15.9cqw;height:15.9cqw}.remove-item svg{width:17cqw;height:17cqw}.bag-card.complete{border-color:var(--packed-ink);background:var(--packed-surface)}.app-shell .bag-empty{min-height:160px;color:var(--muted);padding:22px 8px}.app-shell .bag-empty h3{color:var(--ink);margin:10px 0 5px}.app-shell .bag-empty.no-trip{flex:1;min-height:0}.bag-empty-hint{margin:0 0 12px;font-size:11px;line-height:1.5}.modal-notice{color:var(--success-ink);padding-right:30px;font-size:12px}.app-shell .error-banner,.app-shell .notice-banner{flex-shrink:0;margin-bottom:8px}.app-shell button:focus-visible,.app-shell summary:focus-visible,.app-shell [tabindex="0"]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (max-width:1050px) and (min-width:761px){.app-shell .workspace{padding-inline:20px}.app-shell .content-grid{gap:12px}.app-shell .library-panel,.app-shell .bag-panel{padding:12px}}@media (max-width:1050px){.bag-share-label{display:none}.bag-header-actions .share-icon{width:var(--bag-action-size);padding:0}}@media (max-width:760px){.app-shell{height:auto;min-height:100dvh;overflow:visible}.app-shell .topbar{height:48px}.app-shell .topbar-inner{padding:0 12px}.app-shell .topbar .brand{font-size:20px}.app-shell .brand-mark{width:29px;height:29px}.app-shell .workspace{padding:8px 0 max(8px, env(safe-area-inset-bottom));flex:none}.app-shell .workspace-heading{display:none}.app-shell .error-banner,.app-shell .notice-banner{z-index:40;position:fixed;top:54px;left:10px;right:10px;box-shadow:0 5px 20px #17203326}.app-shell .content-grid{flex:none;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.app-shell .library-panel,.app-shell .bag-panel{padding:10px max(8px, env(safe-area-inset-right)) 10px max(8px, env(safe-area-inset-left));border-inline:0;border-radius:0;min-height:0;display:flex}.bag-trip-select,.bag-trip-name{font-size:16px}.bag-metadata .summary-badge{min-height:24px;padding-block:2px}.library-heading{margin-bottom:6px;padding-inline:0}.library-heading h2{font-size:16px}.library-heading .btn{min-height:30px;font-size:10px}.library-filters{gap:6px;margin-bottom:6px}.library-filters .search-box{height:31px;padding-inline:8px}.library-filters .search-box input{font-size:11px}.category-filter select{width:106px;height:31px;font-size:10px}.gear-scroll{overscroll-behavior:auto;flex:none;padding:1px 0 6px;overflow:visible}.app-shell .gear-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.gear-load-more{padding:8px}.gear-load-more .btn{padding-inline:12px}.library-empty{padding:14px 8px}.app-shell .bag-tabs{width:100%}.app-shell .bag-tabs button{min-height:32px;padding:0 8px}.bag-scroll{overscroll-behavior:auto;flex:none;padding-inline:0;overflow:visible}.app-shell .bag-items{overscroll-behavior:contain auto;scrollbar-width:thin;scrollbar-color:var(--control-line) transparent;grid-template-rows:repeat(2,auto);grid-template-columns:none;grid-auto-columns:calc(25cqw - 4.5px);grid-auto-flow:column;justify-content:start;padding:2px 0 6px;overflow:auto hidden}.app-shell .bag-items:has(>:only-child){grid-template-rows:auto}.app-shell .bag-empty{min-height:120px;padding:12px 6px}}
:root{--gear-card-width:90px;--gear-card-gap:6px}.gear-tile{aspect-ratio:90/166;border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;color:var(--ink);border-radius:11.111%/6.024%;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 3px 8px #17203305;container-type:inline-size}.gear-tile .gear-picture{background:var(--soft);width:100%;height:109.1cqw;color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:relative;overflow:hidden}.gear-tile .gear-picture img{object-fit:cover;width:100%;height:100%;display:block}.gear-tile .gear-picture>svg{width:31.8cqw;height:31.8cqw;position:absolute;top:34.1cqw;left:calc(50% - 15.9cqw)}.gear-name-overlay{inset:auto 2px 4px;color:var(--ink);position:absolute;inset:auto 2.3cqw 4.5cqw}.gear-tile .gear-card-name{-webkit-line-clamp:2;overflow-wrap:anywhere;text-align:center;-webkit-box-orient:vertical;max-height:36.4cqw;margin:0;padding-inline:3.4cqw;font-size:13.6cqw;font-weight:700;line-height:18.2cqw;display:-webkit-box;overflow:hidden}.gear-name-text{padding:1px 3px;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3.4cqw;padding:1.1cqw 3.4cqw}.gear-picture:has(>img) .gear-name-text{background:#ffffffd9}.gear-tile-footer{padding:3px 4px;flex-shrink:0;min-height:77.3cqw;margin-top:auto;padding:3.4cqw 4.5cqw}.gear-weight,.gear-warning{padding:1px 2px;overflow-wrap:anywhere;max-width:calc(100% - 45.5cqw);padding:1.1cqw 2.3cqw;font-size:11.4cqw;line-height:13.6cqw;position:absolute;top:4.5cqw;left:4.5cqw}.gear-warning{background:var(--warning-surface);color:var(--warning-ink);border:1px solid var(--line);border-radius:var(--badge-radius);border-width:1.1cqw;border-radius:9.1cqw;font-weight:800;top:38.6cqw}.gear-weight{border-width:1.1cqw;border-radius:9.1cqw}.gear-image-action{position:absolute;top:3.4cqw;right:3.4cqw}.gear-image-action .gear-edit{background:var(--surface);border-radius:9.1cqw;width:31.8cqw;height:31.8cqw;padding:0}.gear-image-action .gear-edit svg{width:17cqw;height:17cqw}.app-shell .gear-tile:focus-visible,.app-shell .gear-tile button:focus-visible{outline-offset:-2px}.gear-tile.extra-item,.gear-tile.extra-item.complete{border-color:var(--extra-line);background:var(--surface);border-style:dashed}.gear-tile.extra-item .gear-picture{background:var(--extra-soft);color:var(--extra-ink)}.gear-tile.extra-item .gear-weight{max-width:calc(100% - 50cqw)}.gear-extra-badge{padding:2px 4px;background:var(--extra-surface);color:var(--extra-ink);border-width:1.1cqw;border-color:var(--extra-line);border-radius:9.1cqw;padding:2.3cqw 4.5cqw;font-size:11.4cqw;line-height:15.9cqw;position:absolute;top:4.5cqw;right:4.5cqw}.gear-tile.add-other-card{border-style:dashed;border-color:var(--extra-line);background:var(--surface);color:var(--extra-ink);font:inherit;cursor:pointer;border-radius:11.111%/6.024%;justify-content:center;align-items:center;padding:0;font-weight:700}.add-other-icon{background:var(--extra-soft);width:47.7cqw;height:47.7cqw;color:var(--extra-ink);border-radius:50%;place-items:center;margin-bottom:11.4cqw;display:grid}.gear-tile.add-other-card>span:not(.add-other-icon){font-size:13.6cqw;line-height:1.25}.add-other-icon svg{width:27.3cqw;height:27.3cqw}.gear-tile.add-other-card:hover:not(:disabled),.gear-tile.add-other-card:active:not(:disabled){background:var(--extra-hover);border-color:var(--extra-line)}.gear-tile.add-other-card:disabled{opacity:.5;cursor:wait}.gear-card-footer{grid-template-rows:minmax(31.8cqw,auto) 36.4cqw;align-items:center;gap:2.3cqw;min-width:0;display:grid}.gear-availability{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;flex:1;font-size:12.5cqw;line-height:15.9cqw;overflow:hidden}.gear-availability.status-review{color:var(--warning-ink)}.gear-availability svg{vertical-align:middle;width:13.6cqw;height:13.6cqw}.gear-card-footer .gear-actions{width:100%}.app-shell .gear-card-footer .add-circle{height:36.4cqw;box-shadow:inset 0 0 0 1.1cqw var(--primary-border);border-radius:9.1cqw}.gear-card-footer .add-circle svg{width:19.3cqw;height:19.3cqw}.gear-tile.draggable{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:auto}.gear-tile.dragging{opacity:.35;cursor:grabbing}.gear-tile.complete .gear-card-name{color:var(--muted);text-decoration:line-through}.gear-drag-preview{border-color:var(--drag-line);pointer-events:none;box-shadow:0 10px 30px #17203333}.shared-gear-grid{grid-template-columns:repeat(auto-fill, minmax(min(100%, var(--gear-card-width)), 1fr));gap:var(--gear-card-gap);display:grid}.shared-gear-card .gear-tile-footer{justify-content:flex-end;align-items:center;display:flex}.shared-gear-card .quantity-badge{border-width:1.1cqw;border-radius:9.1cqw;justify-content:center;align-items:baseline;gap:3.4cqw;min-width:34.1cqw;padding:4.5cqw 9.1cqw;font-size:12.5cqw;line-height:18.2cqw;display:inline-flex}.shared-gear-card .quantity-symbol{color:var(--muted);font-weight:400}@media (max-width:760px){.shared-page{padding-inline:0}.shared-page>.shared-shell>.brand,.shared-foot{margin-inline:8px}.shared-card{padding:14px max(8px, env(safe-area-inset-right)) 14px max(8px, env(safe-area-inset-left));border-inline:0;border-radius:0}.shared-gear-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
