@charset "UTF-8";.pack__trips{width:100%;max-width:720px;margin-inline:auto;padding-inline:16px;display:flex;gap:8px;overflow-x:auto;padding-bottom:12px;margin-bottom:8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.pack__trips::-webkit-scrollbar{display:none}.pack__progress{width:100%;max-width:720px;margin-inline:auto;padding-inline:16px;margin-bottom:16px}.pack__progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.pack__progress-head h1{font-size:1.5rem;letter-spacing:-.02em}.pack__progress-count{font-size:.85rem;font-weight:700;color:#0f766e;white-space:nowrap}.pack__controls{width:100%;max-width:720px;margin-inline:auto;padding-inline:16px;display:flex;align-items:center;gap:8px;margin-bottom:20px;flex-wrap:wrap}.pack__groups{width:100%;max-width:720px;margin-inline:auto;padding-inline:16px;display:flex;flex-direction:column;gap:20px}.trip-pill{flex-shrink:0;padding:8px 16px;border-radius:999px;background:#fff;border:1px solid #e2e8f0;color:#334155;font-weight:650;font-size:.9rem;transition:all .18s cubic-bezier(.22,1,.36,1);min-width:40px;min-height:40px}.trip-pill.is-active{background:#134e4a;border-color:#134e4a;color:#fff;box-shadow:0 1px 2px #0f172a0f,0 1px 3px #0f172a14}.progress-bar{height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden}.progress-bar__fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#14b8a6,#0d9488);transition:width .32s cubic-bezier(.22,1,.36,1)}.segmented{display:inline-flex;background:#f1f5f9;border-radius:999px;padding:3px}.segmented button{padding:8px 16px;border-radius:999px;font-size:.85rem;font-weight:650;color:#64748b;transition:all .18s cubic-bezier(.22,1,.36,1)}.segmented button.is-active{background:#fff;color:#0f766e;box-shadow:0 1px 2px #0f172a0f,0 1px 3px #0f172a14}.room-select{flex:1;min-width:120px}.room-select select{width:100%;padding:8px 32px 8px 16px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;font-size:.85rem;font-weight:600;-webkit-appearance:none;-moz-appearance:none;appearance:none;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='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.group__head{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#334155}.group__head h2{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.group__head svg{color:#0d9488}.group__count{margin-left:auto;font-size:.78rem;font-weight:700;color:#94a3b8;background:#f1f5f9;padding:2px 8px;border-radius:999px}.group__items{display:flex;flex-direction:column;gap:8px}.check-row{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0f172a0f,0 1px 3px #0f172a14;text-align:left;transition:all .18s cubic-bezier(.22,1,.36,1);min-width:52px;min-height:52px}.check-row__box{flex-shrink:0;width:26px;height:26px;border-radius:8px;border:2px solid #cbd5e1;display:grid;place-items:center;color:#fff;transition:all .18s cubic-bezier(.22,1,.36,1)}.check-row__name{font-size:1rem;font-weight:550;transition:color .18s cubic-bezier(.22,1,.36,1)}.check-row:hover{border-color:#14b8a6}.check-row.is-packed{background:#f0fdfa;border-color:#ccfbf1}.check-row.is-packed .check-row__box{background:#0f766e;border-color:#0f766e}.check-row.is-packed .check-row__name{color:#94a3b8;text-decoration:line-through}.items__search{width:100%;max-width:720px;margin-inline:auto;padding-inline:16px;margin-bottom:16px}.items__search input{width:100%;padding:12px 16px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.items__search input:focus-visible{border-color:#14b8a6;outline:none;box-shadow:0 0 0 3px #14b8a673}.items__list{width:100%;max-width:720px;margin-inline:auto;padding-inline:16px;display:flex;flex-direction:column;gap:8px}.item-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #0f172a0f,0 1px 3px #0f172a14;overflow:hidden;transition:box-shadow .18s cubic-bezier(.22,1,.36,1)}.item-card.is-open{box-shadow:0 4px 12px #0f172a14,0 2px 4px #0f172a0d}.item-card__row{display:flex;align-items:stretch}.item-card__main{flex:1;display:flex;align-items:center;gap:8px;padding:12px 12px 12px 8px;text-align:left;min-height:56px}.item-card__chev{display:grid;place-items:center;color:#94a3b8;transition:transform .18s cubic-bezier(.22,1,.36,1);flex-shrink:0}.item-card.is-open .item-card__chev{transform:rotate(90deg)}.item-card__name{font-weight:600;flex:1}.item-card__meta{display:flex;gap:4px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.item-card__edit{display:flex;flex-direction:column;gap:16px;padding:8px 16px 20px;border-top:1px dashed #e2e8f0;animation:fade-in .18s cubic-bezier(.22,1,.36,1)}.managed__list{width:100%;max-width:720px;margin-inline:auto;padding-inline:16px;display:flex;flex-direction:column;gap:8px}.managed__row{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #0f172a0f,0 1px 3px #0f172a14;display:flex;align-items:center;padding-right:8px;min-height:56px}.managed__name{flex:1;display:flex;flex-direction:column;gap:2px;padding:12px 16px;text-align:left}.managed__name span{font-weight:600}.managed__meta{font-size:.78rem;color:#64748b;font-weight:600}.managed__edit{flex:1;margin:8px;padding:12px 16px;border:1px solid #14b8a6;border-radius:12px;background:#fff}.managed__edit:focus-visible{outline:none;box-shadow:0 0 0 3px #14b8a673}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:20;background:#ffffffeb;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-top:1px solid #e2e8f0;padding-bottom:env(safe-area-inset-bottom)}.tabbar__brand{display:none}.tabbar__list{display:flex;height:64px}.tabbar__list>li{flex:1}@media (min-width: 720px){.tabbar{position:sticky;top:0;height:100vh;width:220px;flex-shrink:0;border-top:none;border-right:1px solid #e2e8f0;padding:20px 12px;display:flex;flex-direction:column;gap:16px}.tabbar__brand{display:flex;align-items:center;gap:8px;padding-inline:12px;font-size:1.35rem;font-weight:800;letter-spacing:-.02em;color:#134e4a}.tabbar__logo{display:inline-flex;align-items:center}.tabbar__list{flex-direction:column;height:auto;gap:4px}}.tab{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#64748b;font-size:.7rem;font-weight:600;transition:color .18s cubic-bezier(.22,1,.36,1),background .18s cubic-bezier(.22,1,.36,1);min-width:44px;min-height:44px}.tab__icon{display:grid;place-items:center}.tab.is-active{color:#0f766e}@media (min-width: 720px){.tab{flex-direction:row;justify-content:flex-start;gap:12px;padding:12px;border-radius:12px;font-size:.95rem}.tab.is-active{background:#f0fdfa}.tab:hover:not(.is-active){background:#f1f5f9}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:999px;font-weight:650;font-size:.95rem;transition:transform .18s cubic-bezier(.22,1,.36,1),background .18s cubic-bezier(.22,1,.36,1),box-shadow .18s cubic-bezier(.22,1,.36,1),opacity .18s cubic-bezier(.22,1,.36,1);min-width:44px;min-height:44px}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:#0f766e;color:#fff;box-shadow:0 1px 2px #0f172a0f,0 1px 3px #0f172a14}.btn--primary:hover:not(:disabled){background:#134e4a}.btn--ghost{background:#f1f5f9;color:#334155}.btn--ghost:hover:not(:disabled){background:#e2e8f0}.btn--danger{background:#e11d48;color:#fff}.btn--sm{padding:8px 16px;font-size:.85rem}.btn--icon{padding:12px;border-radius:12px;aspect-ratio:1}.mt{margin-top:20px}.icon-btn{display:grid;place-items:center;border-radius:12px;color:#94a3b8;padding:8px;min-width:44px;min-height:44px;transition:color .18s cubic-bezier(.22,1,.36,1),background .18s cubic-bezier(.22,1,.36,1)}.icon-btn:hover{background:#f1f5f9;color:#334155}.icon-btn--danger:hover{background:#ffe4e6;color:#e11d48}.quick-add{width:100%;max-width:720px;margin-inline:auto;padding-inline:16px;display:flex;gap:8px;margin-bottom:16px}.quick-add input{flex:1;padding:12px 16px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;box-shadow:0 1px 2px #0f172a0f,0 1px 3px #0f172a14;transition:border-color .18s cubic-bezier(.22,1,.36,1),box-shadow .18s cubic-bezier(.22,1,.36,1)}.quick-add input::placeholder{color:#94a3b8}.quick-add input:focus-visible{border-color:#14b8a6;outline:none;box-shadow:0 0 0 3px #14b8a673}.field{display:flex;flex-direction:column;gap:8px}.field__label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.field__hint{font-size:.9rem;color:#64748b}.field select{padding:12px 32px 12px 16px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;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='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:.72rem;font-weight:650;white-space:nowrap}.tag svg{flex-shrink:0}.tag--room{background:#f0fdfa;color:#0f766e}.tag--trip{background:#fef3c7;color:#92600a}.tag--muted{background:#f1f5f9;color:#64748b}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:8px 12px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;color:#334155;font-size:.85rem;font-weight:600;transition:all .18s cubic-bezier(.22,1,.36,1);min-width:38px;min-height:38px}.chip.is-on{background:#0f766e;border-color:#0f766e;color:#fff}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0f172a73;display:grid;place-items:end center;padding:16px;animation:fade-in .18s cubic-bezier(.22,1,.36,1)}@media (min-width: 720px){.dialog-backdrop{place-items:center}}.dialog{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #0f172a0f,0 1px 3px #0f172a14;width:100%;max-width:420px;padding:24px;box-shadow:0 12px 32px #0f172a24;animation:slide-up .18s cubic-bezier(.22,1,.36,1)}.dialog__title{font-size:1.2rem;margin-bottom:8px}.dialog__message{color:#64748b;margin-bottom:20px}.dialog__actions{display:flex;justify-content:flex-end;gap:12px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;color:#0f172a;background:#f8fafc;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}ul,ol{list-style:none;padding:0}h1,h2,h3{line-height:1.2;font-weight:700}:focus-visible{outline:none;box-shadow:0 0 0 3px #14b8a673}.app{min-height:100%;display:flex;flex-direction:column;padding-bottom:calc(64px + env(safe-area-inset-bottom))}@media (min-width: 720px){.app{flex-direction:row;padding-bottom:0}}.app__main{flex:1;padding-block:16px 32px;animation:fade-in .18s cubic-bezier(.22,1,.36,1)}.section-title{width:100%;max-width:720px;margin-inline:auto;padding-inline:16px;display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}.section-title h1{font-size:1.5rem;letter-spacing:-.02em}.section-title .count{font-size:.85rem;color:#64748b;font-weight:600}.empty-state{width:100%;max-width:720px;margin-inline:auto;padding-inline:16px;text-align:center;padding-block:40px;color:#64748b}.empty-state .empty-state__emoji{font-size:2.5rem;margin-bottom:12px}.empty-state h3{color:#0f172a;margin-bottom:8px}.empty-state p{max-width:32ch;margin-inline:auto}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
