@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#1d2923;background:#f7f6f1;font-synthesis:none;text-rendering:optimizeLegibility;--green: #1f6b4f;--green-dark: #17533d;--green-soft: #e6f0eb;--ink: #1d2923;--muted: #718078;--line: #e4e5df;--surface: #fff}html{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}html.reordering,body.reordering{overflow:hidden;overscroll-behavior:none;touch-action:none;cursor:grabbing}*{box-sizing:border-box}body{margin:0;min-width:320px;max-width:100%;min-height:100vh;overflow-x:hidden}#root{min-width:0;max-width:100%;overflow-x:clip}button,input,select,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(31,107,79,.22);outline-offset:2px}.onboarding{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 14% 12%,rgba(122,166,143,.18),transparent 30%),radial-gradient(circle at 87% 83%,rgba(223,180,113,.16),transparent 28%),#f7f6f1}.onboarding-card{width:min(100%,560px);min-height:650px;padding:34px 44px 24px;display:flex;flex-direction:column;background:#ffffffe0;border:1px solid rgba(225,226,219,.85);border-radius:28px;box-shadow:0 24px 80px #2d3b321a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-size:20px;font-weight:700}.brand-mark,.small-brand-mark{display:grid;place-items:center;color:#fff;background:var(--green)}.brand-mark{width:48px;height:48px;border-radius:15px;box-shadow:0 8px 22px #1f6b4f38}.welcome-content{margin:auto 0;padding:52px 0 48px}.eyebrow{color:var(--green);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.welcome-content h1,.form-content h1{margin:16px 0 14px;font-family:Manrope,sans-serif;color:#17251e;font-size:clamp(37px,8vw,48px);line-height:1.08;letter-spacing:-.045em}.welcome-content>p,.form-content>p{margin:0;color:var(--muted);font-size:17px;line-height:1.55}.welcome-actions{display:grid;gap:11px;margin-top:38px}.primary-button,.secondary-button{height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:9px;border:0;font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.primary-button{color:#fff;background:var(--green);box-shadow:0 8px 20px #1f6b4f2b}.primary-button:hover:not(:disabled){transform:translateY(-1px);background:var(--green-dark);box-shadow:0 11px 25px #1f6b4f38}.primary-button:disabled{opacity:.62;cursor:default}.secondary-button{color:#34423b;background:#f3f4f0;border:1px solid #e7e8e3}.secondary-button:hover{background:#eceee9}.onboarding-card footer{color:#9aa39e;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;font-size:12px}.install-link{padding:6px 9px;display:flex;align-items:center;gap:5px;color:var(--green);background:transparent;border:0;border-radius:8px;font-size:12px;font-weight:700}.form-content{position:relative;margin:auto 0;padding:40px 0 54px}.form-content h1{font-size:34px;margin-top:18px}.form-icon{width:52px;height:52px;display:grid;place-items:center;color:var(--green);background:var(--green-soft);border-radius:16px}.back-button{position:absolute;right:0;top:40px;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line);color:#5e6a64;background:#fff;cursor:pointer}.form-content form{margin-top:28px}.form-content label{display:block;margin-bottom:8px;font-size:13px;font-weight:700}.form-content input{width:100%;height:54px;padding:0 16px;border:1px solid #dfe2dc;border-radius:13px;color:var(--ink);background:#fff;transition:border-color .18s ease,box-shadow .18s ease}.form-content input:focus{border-color:var(--green);box-shadow:0 0 0 4px #1f6b4f14;outline:0}.form-content form .primary-button{width:100%;margin-top:14px}.form-error{margin-top:9px;color:#a94442;font-size:13px}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;color:var(--muted);font-size:14px}.loading-screen .brand-mark{animation:breathe 1.6s ease-in-out infinite}.app-shell{min-height:100vh;background:#faf9f5}.app-header{height:86px;padding:0 clamp(22px,4vw,56px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:#ffffffeb;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.family-identity{display:flex;align-items:center;gap:12px}.small-brand-mark{width:42px;height:42px;border-radius:13px}.family-identity span{color:#8b958f;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.family-identity h1{margin:2px 0 0;max-width:420px;overflow:hidden;font-family:Manrope,sans-serif;font-size:18px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:18px}.member-avatars{display:flex;align-items:center;padding-left:8px}.member-avatars span{width:34px;height:34px;margin-left:-8px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;color:#fff;font-size:12px;font-weight:700;box-shadow:0 3px 10px #28342e1f}.dashboard{min-height:calc(100vh - 86px);display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{padding:28px 20px 24px;display:flex;flex-direction:column;gap:4px;background:#f4f3ee;border-right:1px solid var(--line)}.nav-item{width:100%;height:48px;padding:0 13px;display:flex;align-items:center;gap:11px;color:#506058;background:transparent;border:0;border-radius:12px;font-size:14px;font-weight:600}.nav-item.active{color:var(--green);background:#e4eee8}.nav-item b{min-width:23px;margin-left:auto;padding:3px 6px;border-radius:8px;color:var(--green);background:#ffffffa6;font-size:11px}.sidebar-bottom{margin-top:auto}.family-code{margin-bottom:12px;padding:14px;border-radius:12px;background:#ffffffa6;border:1px solid rgba(224,225,219,.8)}.family-code span{display:block;color:#8a948e;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.family-code strong{display:block;margin-top:5px;font-size:15px;letter-spacing:.13em}.leave-button{padding:7px 4px;color:#8a948e;background:transparent;border:0;font-size:12px;cursor:pointer}.content{width:min(100%,940px);margin:0 auto;padding:54px clamp(26px,5vw,70px) 80px}.section-hidden{display:none}.content-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.content-heading h2{margin:8px 0 0;font-family:Manrope,sans-serif;font-size:clamp(28px,4vw,36px);letter-spacing:-.035em}.content-heading .title-only h2{margin-top:0}.content-heading>span{padding-bottom:5px;color:var(--muted);font-size:13px}.add-item-form{margin:28px 0 26px;padding:9px;background:var(--surface);border:1px solid #e1e3dd;border-radius:16px;box-shadow:0 6px 24px #2d3b320e}.add-item-fields{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.item-input-wrap{position:relative;min-width:0;display:flex;align-items:center;gap:9px;padding-left:7px;color:#99a29d}.add-item-form input{min-width:0;height:42px;color:var(--ink);background:transparent;border:0;outline:0}.item-input-wrap input{width:100%}.add-button{height:42px;padding:0 17px;display:flex;align-items:center;gap:6px;color:#fff;background:var(--green);border:0;border-radius:11px;font-size:13px;font-weight:700;cursor:pointer;transition:background .16s ease,transform .16s ease}.add-button:hover:not(:disabled){background:var(--green-dark);transform:translateY(-1px)}.add-button:disabled{opacity:.45;cursor:default}.manage-task-locations{width:30px;padding:0!important;justify-content:center}.task-toolbar{justify-content:space-between}.manage-locations-button{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;color:#7e8983;background:#fff;border:1px solid var(--line);border-radius:10px;cursor:pointer}.shopping-list{width:100%;min-width:0;display:grid;gap:8px}.sortable-list{display:grid;gap:8px;min-width:0}.sortable-item{min-width:0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.sortable-item.is-dragging{position:relative;z-index:5;touch-action:none}.sortable-list.is-reordering,.sortable-list.is-reordering .swipe-card-content{touch-action:none}.sortable-list.is-reordering .shopping-row{animation:none}.sortable-item.is-dragging .swipe-card{overflow:visible}.sortable-item.is-dragging .shopping-row{box-shadow:0 12px 28px #1f272329;transform:scale(1.015);border-color:#1f6b4f47}.swipe-card{position:relative;min-width:0}.swipe-actions{display:none}.swipe-card-content{position:relative;z-index:1}.shopping-row{position:relative;width:100%;max-width:100%;min-width:0;min-height:64px;padding:10px 12px 10px 17px;display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid #e6e7e1;border-radius:14px;animation:row-in .28s cubic-bezier(.2,.8,.2,1) both;transition:opacity .18s ease,background .18s ease}.check-button{width:23px;height:23px;padding:0;flex:0 0 auto;display:grid;place-items:center;color:#fff;background:#fff;border:1.5px solid #b8c0bb;border-radius:8px;cursor:pointer;transition:transform .16s ease,background .16s ease,border .16s ease}.check-button:hover{transform:scale(1.08);border-color:var(--green)}.item-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.item-copy-button{width:0;max-width:100%;flex:1 1 0%;padding:0;color:inherit;background:transparent;border:0;text-align:left;cursor:pointer}.item-copy span{display:block;width:100%;overflow:hidden;font-size:15px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.item-copy small{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:4px 7px;color:var(--muted);font-size:12px}.item-copy small em{min-width:0;display:inline-flex;align-items:center;gap:2px;color:var(--green);font-style:normal}.edit-button,.delete-button{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;color:#a3aaa6;background:transparent;border:0;border-radius:10px;opacity:0;cursor:pointer;transition:opacity .16s ease,color .16s ease,background .16s ease}.edit-button{margin-left:auto}.delete-button.direct-row-action{margin-left:0}.drag-handle{width:36px;height:36px;margin-left:auto;flex:0 0 auto;display:grid;place-items:center;color:#a3aaa6;background:transparent;border:0;border-radius:10px;opacity:0;cursor:grab;touch-action:none}.shopping-row:has(.drag-handle) .edit-button{margin-left:0}.shopping-row:hover .edit-button,.shopping-row:hover .delete-button,.shopping-row:hover .drag-handle,.edit-button:focus-visible,.delete-button:focus-visible,.drag-handle:focus-visible,.sortable-item.is-dragging .drag-handle{opacity:1}.edit-button:hover{color:var(--green);background:var(--green-soft)}.delete-button:hover{color:#a84845;background:#faefed}.drag-handle:hover{color:var(--green);background:var(--green-soft)}.drag-handle:active{cursor:grabbing}.shopping-row.completed{background:#ffffff8c}.shopping-row.completed .check-button{background:var(--green);border-color:var(--green)}.shopping-row.completed .item-copy span{color:#89928d;text-decoration:line-through}.shopping-row.completing{z-index:1;border-color:#1f6b4f52;animation:completion-glow .52s cubic-bezier(.2,.8,.2,1) both}.shopping-row.completing .check-button{color:#fff;background:var(--green);border-color:var(--green);animation:check-pop .48s cubic-bezier(.2,1.5,.4,1) both}.shopping-row.completing .check-button svg{animation:check-arrive .36s cubic-bezier(.2,1.5,.4,1) 70ms both}.shopping-row.completing .item-copy span{animation:text-complete .52s ease both}.shopping-row.completing:after{position:absolute;top:29px;left:27px;width:4px;height:4px;border-radius:50%;background:#42ad78;box-shadow:0 -19px #42ad78,17px -12px #e2b45f,20px 6px #6aa68c,7px 19px #e2b45f,-14px 15px #77b99a,-20px -4px #e2b45f,-12px -17px #6aa68c;content:"";pointer-events:none;animation:particle-burst .52s ease-out both}.shopping-row.restoring{z-index:1;animation:restore-glow .46s cubic-bezier(.2,.8,.2,1) both}.shopping-row.completed.restoring .check-button{animation:check-release .43s cubic-bezier(.2,.8,.2,1) both}.shopping-row.restoring .check-button svg{animation:check-leave .3s ease-in both}.shopping-row.completed.restoring .item-copy span{animation:text-restore .46s ease both}.shopping-row.restoring:after{position:absolute;top:21px;left:19px;width:16px;height:16px;border:2px solid var(--green);border-radius:50%;content:"";pointer-events:none;animation:restore-ring .46s ease-out both}.shopping-row.deleting{pointer-events:none;overflow:hidden;animation:row-delete .36s cubic-bezier(.4,0,.8,.2) both}.shopping-row.deleting .delete-button{opacity:1;color:#a84845;background:#faefed;animation:trash-leave .32s ease both}.completed-section{display:grid;gap:8px;margin-top:22px}.completed-section>h3{margin:0 0 2px;color:#8b958f;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.empty-state{padding:70px 20px;text-align:center;border:1px dashed #d9dcd5;border-radius:18px}.empty-state>div:first-child{width:58px;height:58px;margin:0 auto 16px;display:grid;place-items:center;color:var(--green);background:var(--green-soft);border-radius:18px}.empty-state h3{margin:0;font-family:Manrope,sans-serif;font-size:17px}.empty-state p{margin:7px 0 0;color:var(--muted);font-size:13px}.calendar-content{width:min(100%,1080px)}.calendar-heading{align-items:center}.calendar-add-button{height:42px;padding:0 15px;display:flex;align-items:center;gap:7px;color:#fff;background:var(--green);border:0;border-radius:12px;font-size:13px;font-weight:700}.calendar-layout{margin-top:28px;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,.8fr);gap:18px;align-items:start}.calendar-card,.calendar-agenda{background:var(--surface);border:1px solid #e1e3dd;border-radius:18px;box-shadow:0 6px 24px #2d3b320b}.calendar-card{padding:18px}.calendar-month-header{height:44px;display:flex;align-items:center;justify-content:space-between}.calendar-month-header h3{margin:0;font-family:Manrope,sans-serif;font-size:16px;text-transform:capitalize}.calendar-month-header button,.agenda-heading button{width:36px;height:36px;display:grid;place-items:center;color:#5d6a63;background:#f4f5f1;border:0;border-radius:10px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{margin:9px 0 5px}.calendar-weekdays span{padding:5px;color:#98a19c;text-align:center;font-size:10px;font-weight:700}.calendar-day{position:relative;min-width:0;aspect-ratio:1;padding:7px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;color:#435149;background:transparent;border:1px solid transparent;border-radius:12px;font-size:12px}.calendar-day:hover{background:#f5f7f3}.calendar-day.outside{color:#c0c6c2}.calendar-day.today>span{width:25px;height:25px;display:grid;place-items:center;color:#fff;background:var(--green);border-radius:50%;font-weight:700}.calendar-day.selected{background:var(--green-soft);border-color:#c7dbd1}.calendar-dots{height:5px;display:flex;align-items:center;gap:3px}.calendar-dots b{width:5px;height:5px;background:#4f8c75;border-radius:50%}.dot-green{background:#3f8a6c!important}.dot-blue{background:#4f7bb3!important}.dot-amber{background:#c08a2c!important}.dot-rose{background:#c26a52!important}.dot-violet{background:#806ab3!important}.dot-teal{background:#3b9090!important}.dot-neutral{background:#9aa39e!important}.chip-dot{width:8px;height:8px;flex:none;border-radius:50%}.upcoming-source{width:7px;height:7px;flex:none;border-radius:50%}.entry-source{padding:1px 7px;border-radius:999px;font-size:10px;font-style:normal;font-weight:700}.calendar-choice{min-width:0;margin:0 0 14px;padding:0;border:0}.calendar-choice legend{margin-bottom:8px;color:#435149;font-size:12px;font-weight:700}.agenda-legend{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px}.agenda-legend button{height:30px;padding:0 11px;display:inline-flex;align-items:center;gap:7px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:700;cursor:pointer}.agenda-legend button.off{color:var(--muted);background:transparent}.agenda-legend button.off .chip-dot{opacity:.3}.space-eyebrow{display:block;margin-bottom:2px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.calendar-agenda{padding:17px}.agenda-heading{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:10px}.agenda-heading>span{overflow:hidden;font-size:13px;font-weight:700;text-transform:capitalize;text-overflow:ellipsis;white-space:nowrap}.agenda-list,.upcoming-list{display:grid;gap:7px}.agenda-list{margin-top:11px}.calendar-agenda>h4{margin:22px 0 9px;color:#8a948e;font-size:10px;letter-spacing:.09em;text-transform:uppercase}.calendar-entry-row{width:100%;min-height:58px;padding:9px 9px 9px 10px;display:flex;align-items:center;gap:9px;color:var(--ink);text-align:left;background:#f6f8f5;border:1px solid #e7ebe6;border-radius:12px}.calendar-entry-row>svg{flex:0 0 auto;color:#9aa39e}.entry-kind-icon{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;color:var(--green);background:var(--green-soft);border-radius:9px}.entry-copy{min-width:0;flex:1;display:grid;gap:4px}.entry-copy strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.entry-copy small{display:flex;align-items:center;flex-wrap:wrap;gap:4px;color:var(--muted);font-size:10px}.entry-copy small svg:not(:first-child){margin-left:4px}.agenda-empty{padding:16px 8px;color:#98a19c;font-size:12px;line-height:1.45}.upcoming-list>button{min-width:0;min-height:37px;padding:5px 7px;display:grid;grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:6px;color:var(--ink);text-align:left;background:transparent;border:0;border-radius:9px}.upcoming-list>button:hover{background:#f5f6f2}.upcoming-list time{color:var(--green);font-size:10px;font-weight:700;text-transform:uppercase}.upcoming-list span{overflow:hidden;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.upcoming-list small{color:var(--muted);font-size:10px}.modal-backdrop{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;padding:22px;display:grid;place-items:center;background:#16221c5c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.entry-edit-modal{width:min(100%,460px);padding:26px;background:#fff;border-radius:20px;box-shadow:0 24px 80px #14221b3d}.entry-edit-modal header{display:flex;align-items:center;justify-content:space-between}.entry-edit-modal h2{margin:0;font-family:Manrope,sans-serif;font-size:24px}.entry-edit-modal header button{width:38px;height:38px;display:grid;place-items:center;color:#8d9791;background:#f3f4f0;border:0;border-radius:10px}.entry-edit-modal form{margin-top:20px;display:grid;gap:16px}.entry-edit-modal label{display:grid;gap:7px;color:#435149;font-size:12px;font-weight:700}.entry-edit-modal input{width:100%;height:46px;padding:0 13px;color:var(--ink);background:#fff;border:1px solid #dfe2dc;border-radius:11px;outline:0}.entry-edit-modal fieldset{min-width:0;margin:0;padding:0;border:0}.entry-edit-modal legend{margin-bottom:8px;color:#435149;font-size:12px;font-weight:700}.edit-option-chips{display:flex;flex-wrap:wrap;gap:6px}.edit-option-chips button{height:34px;padding:0 10px;display:flex;align-items:center;gap:4px;color:#6f7b74;background:#f5f6f2;border:1px solid transparent;border-radius:9px;font-size:12px;font-weight:600}.edit-option-chips button.selected{color:var(--green);background:var(--green-soft);border-color:#cfe0d7}.entry-edit-modal .primary-button{width:100%;height:48px}.locations-modal{width:min(100%,450px);padding:28px;background:#fff;border-radius:22px;box-shadow:0 24px 80px #14221b3d}.calendar-modal{width:min(100%,500px);max-height:calc(100vh - 32px);padding:27px;overflow-y:auto;background:#fff;border-radius:22px;box-shadow:0 24px 80px #14221b3d}.calendar-modal header{display:flex;align-items:start;justify-content:space-between}.calendar-modal header h2{margin:6px 0 0;font-family:Manrope,sans-serif;font-size:25px}.calendar-modal header>button{width:38px;height:38px;display:grid;place-items:center;color:#8d9791;background:#f3f4f0;border:0;border-radius:10px}.calendar-modal form{margin-top:21px;display:grid;gap:14px}.calendar-modal label{display:grid;gap:7px;color:#435149;font-size:12px;font-weight:700}.calendar-modal label small{color:#9aa39e;font-size:10px;font-weight:500}.calendar-field-label{display:flex;align-items:baseline;gap:5px}.calendar-modal input,.calendar-modal select,.calendar-modal textarea{width:100%;padding:0 12px;color:var(--ink);background:#fff;border:1px solid #dfe2dc;border-radius:11px;outline:0}.calendar-modal input,.calendar-modal select{height:44px}.calendar-modal textarea{padding-top:11px;resize:vertical}.calendar-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.calendar-modal-actions{margin-top:5px;display:flex;justify-content:flex-end;gap:8px}.calendar-modal-actions .primary-button{height:46px;padding:0 18px}.calendar-delete-button{height:46px;padding:0 13px;display:flex;align-items:center;gap:6px;color:#a84845;background:#faefed;border:0;border-radius:12px;font-size:12px;font-weight:700}.install-guide{width:min(100%,430px);padding:28px;background:#fff;border-radius:22px;box-shadow:0 24px 80px #14221b3d}.install-guide header{display:flex;align-items:center;justify-content:space-between}.install-guide header>button{width:38px;height:38px;display:grid;place-items:center;color:#8d9791;background:#f3f4f0;border:0;border-radius:10px}.install-guide-icon{width:48px;height:48px;display:grid;place-items:center;color:var(--green);background:var(--green-soft);border-radius:15px}.install-guide h2{margin:20px 0 7px;font-family:Manrope,sans-serif;font-size:27px;letter-spacing:-.03em}.install-guide>p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.install-guide ol{margin:22px 0;padding:0;display:grid;gap:8px;list-style:none}.install-guide li{min-height:58px;padding:9px 11px;display:flex;align-items:center;gap:11px;background:#f7f8f5;border:1px solid #e9eae5;border-radius:12px}.install-guide li>span{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;color:var(--green);background:var(--green-soft);border-radius:10px}.install-guide li>div{display:flex;flex-direction:column;gap:2px}.install-guide li strong{font-size:13px}.install-guide li small{color:var(--muted);font-size:11px}.install-guide>.primary-button{width:100%}.locations-modal header{display:flex;align-items:start;justify-content:space-between}.locations-modal h2{margin:7px 0 0;font-family:Manrope,sans-serif;font-size:26px}.locations-modal header>button{display:grid;place-items:center;color:#8d9791;background:transparent;border:0;border-radius:9px;cursor:pointer}.locations-modal header>button{width:38px;height:38px;background:#f3f4f0}.locations-modal>p{margin:15px 0 20px;color:var(--muted);font-size:13px;line-height:1.5}.list-settings-sort{margin:18px 0 22px;padding-bottom:20px;border-bottom:1px solid #eef0ea}.list-settings-sort h3,.list-settings-heading{margin:0 0 8px;color:#919b95;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.list-settings-sort p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.animate-in{animation:fade-up .42s cubic-bezier(.2,.8,.2,1) both}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes row-in{0%{opacity:0;transform:translateY(-5px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes completion-glow{0%{transform:scale(1);box-shadow:0 0 #1f6b4f00}45%{transform:scale(1.012);box-shadow:0 9px 28px #1f6b4f24;background:#f2f8f5}to{transform:scale(1);box-shadow:0 0 #1f6b4f00;background:var(--surface)}}@keyframes check-pop{0%{transform:scale(.7) rotate(-12deg)}55%{transform:scale(1.22) rotate(4deg)}to{transform:scale(1) rotate(0)}}@keyframes check-arrive{0%{opacity:0;transform:scale(.4) rotate(-20deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes text-complete{45%{color:var(--green);transform:translate(3px)}to{color:var(--ink);transform:translate(0)}}@keyframes particle-burst{0%{opacity:0;transform:scale(.25) rotate(0)}24%{opacity:1}to{opacity:0;transform:scale(1.35) rotate(18deg)}}@keyframes restore-glow{0%{transform:scale(1);background:#ffffff8c}45%{transform:scale(1.008);background:#f3f7f4;box-shadow:0 8px 24px #1f6b4f17}to{transform:scale(1);background:var(--surface);box-shadow:0 0 #1f6b4f00}}@keyframes check-release{0%{transform:scale(1);color:#fff;background:var(--green);border-color:var(--green)}55%{transform:scale(.78);color:transparent;background:#dcebe3;border-color:#8bb39f}to{transform:scale(1);color:transparent;background:#fff;border-color:#cfd6d1}}@keyframes check-leave{0%{opacity:1;transform:scale(1) rotate(0)}to{opacity:0;transform:scale(.35) rotate(18deg)}}@keyframes text-restore{0%{color:#89928d;text-decoration:line-through;transform:translate(0)}48%{color:#63736a;text-decoration:none;transform:translate(-2px)}to{color:var(--ink);text-decoration:none;transform:translate(0)}}@keyframes restore-ring{0%{opacity:.55;transform:scale(.65)}to{opacity:0;transform:scale(1.8)}}@keyframes row-delete{0%{opacity:1;transform:translate(0) scale(1);background:var(--surface)}38%{opacity:1;transform:translate(-4px) scale(.995);background:#fff5f3;border-color:#efd5d0}to{opacity:0;transform:translate(28px) scale(.96);background:#fff5f3;border-color:#efd5d0}}@keyframes trash-leave{0%{transform:scale(1) rotate(0)}45%{transform:scale(1.16) rotate(-8deg)}to{transform:scale(.75) rotate(12deg)}}@keyframes breathe{50%{transform:scale(1.06);box-shadow:0 10px 28px #1f6b4f47}}@media(max-width:720px){body{min-width:0}input,select,textarea{font-size:16px}.app-header{position:sticky;z-index:5;top:0;height:72px;padding:0 16px}.small-brand-mark{width:38px;height:38px}.family-identity h1{max-width:52vw;font-size:15px}.header-actions{gap:10px}.member-avatars span{width:31px;height:31px;font-size:11px}.dashboard{min-height:calc(100vh - 72px);display:block}.sidebar{display:none}.mobile-nav{position:fixed;z-index:14;right:0;bottom:0;left:0;padding:6px 10px calc(6px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:3px;background:#f4f3ee;border-top:1px solid var(--line);box-shadow:0 -8px 28px #23312914}.mobile-nav .nav-item{position:relative;height:52px;padding:5px 3px;flex-direction:column;justify-content:center;gap:2px;font-size:10px;line-height:1}.mobile-nav .nav-item>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-nav .nav-item b{position:absolute;top:4px;right:8px;min-width:18px;margin:0;padding:2px 4px;font-size:9px}.content{padding:35px 16px calc(190px + env(safe-area-inset-bottom))}.content,.content-heading,.shopping-list,.shopping-row{min-width:0;max-width:100%}.content-heading{align-items:start}.content-heading>span{padding-top:25px}.calendar-content{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.calendar-layout{margin-top:21px;display:block}.calendar-card{padding:10px}.calendar-day{padding:5px 2px;border-radius:10px}.calendar-day.today>span{width:23px;height:23px}.calendar-agenda{margin-top:12px}.calendar-add-button{width:42px;padding:0;justify-content:center;gap:0;font-size:0}.add-item-form{position:fixed;z-index:12;right:12px;bottom:calc(72px + env(safe-area-inset-bottom));left:12px;margin:0;border-color:#d9ddd6;box-shadow:0 12px 38px #1f2d2533}.add-item-fields{grid-template-columns:minmax(0,1fr) 42px}.shopping-list{margin-top:22px}.item-input-wrap{padding-left:10px}.item-input-wrap>svg{display:none}.swipe-card{overflow:hidden;border-radius:14px;background:transparent}.swipe-card .shopping-row{border-radius:14px}.swipe-actions{position:absolute;z-index:0;top:0;right:0;bottom:0;width:140px;padding-left:8px;display:grid;grid-template-columns:1fr 1fr;gap:8px;opacity:0;pointer-events:none}.swipe-card.open .swipe-actions,.swipe-card.dragging .swipe-actions{opacity:1;pointer-events:auto}.swipe-actions button{padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#fff;border:0;border-radius:14px;font-size:10px;font-weight:700}.swipe-edit{background:#548270}.swipe-delete{background:#bb5d55}.swipe-card-content{touch-action:pan-y;transition:transform .22s cubic-bezier(.2,.8,.2,1)}.swipe-card-content.dragging{transition:none}.direct-row-action,.drag-handle{display:none}.shopping-row:has(.drag-handle) .edit-button{margin-left:auto}.add-button{width:42px;padding:0;justify-content:center}.add-button span{display:none}.sheet-handle{width:38px;height:4px;margin:0 auto 17px;background:#d9ddd8;border-radius:3px}}@media(max-width:520px){.onboarding{padding:0;background:#fff}.onboarding-card{min-height:100vh;padding:max(26px,env(safe-area-inset-top)) 23px max(20px,env(safe-area-inset-bottom));border:0;border-radius:0;box-shadow:none}.welcome-content{padding-bottom:20px}.welcome-content h1{font-size:39px}.form-content{padding-bottom:24px}.content-heading>span{display:none}.modal-backdrop{padding:12px;align-items:end}.locations-modal{width:100%;padding:24px 20px calc(24px + env(safe-area-inset-bottom));border-radius:22px 22px 14px 14px}.entry-edit-modal{width:100%;max-height:calc(100dvh - 24px);padding:22px 18px calc(18px + env(safe-area-inset-bottom));overflow-y:auto;border-radius:22px 22px 14px 14px}.calendar-modal-backdrop{padding:0;align-items:stretch}.calendar-modal{width:100%;height:100dvh;max-height:100dvh;padding:calc(20px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom));overscroll-behavior:contain;border-radius:0}.calendar-modal form{margin-top:18px;gap:12px}.calendar-form-row{grid-template-columns:1fr}.calendar-modal textarea{min-height:78px}.calendar-modal-actions{flex-direction:column-reverse}.calendar-modal-actions>button{width:100%;justify-content:center}.install-guide-backdrop{padding:12px;align-items:end}.install-guide{width:100%;padding:24px 20px calc(22px + env(safe-area-inset-bottom));border-radius:22px 22px 14px 14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.login-actions{display:grid;gap:12px;margin-top:38px}.google-button{min-height:44px;display:flex;justify-content:center}.google-button[aria-busy=true]{opacity:.55;pointer-events:none}.dev-login-form{display:grid;gap:8px}.dev-login-form label{color:#6d7872;font-size:12px;font-weight:700}.dev-login-form input{height:46px;padding:0 13px;color:var(--ink);background:#fff;border:1px solid #dfe2dc;border-radius:11px;outline:0}.brand-account{margin-left:auto}.account-button{padding:0;display:grid;place-items:center;background:transparent;border:0;border-radius:50%;cursor:pointer}.account-button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.user-avatar{width:34px;height:34px;display:grid;place-items:center;overflow:hidden;color:#fff;border-radius:50%;font-size:13px;font-weight:800}.user-avatar.large{width:48px;height:48px;font-size:18px}.user-avatar img{width:100%;height:100%;object-fit:cover}.avatar-color-green{background:#477a67}.avatar-color-blue{background:#4d6f9c}.avatar-color-amber{background:#b98530}.avatar-color-rose{background:#bc745e}.avatar-color-violet{background:#7a63a8}.avatar-color-teal{background:#3d8a8a}.account-modal{width:min(100%,400px);padding:24px;background:#fff;border-radius:20px;box-shadow:0 24px 80px #14221b3d}.account-modal header{display:flex;align-items:center;gap:13px}.account-modal header>div{min-width:0;flex:1}.account-modal h2{margin:0;font-family:Manrope,sans-serif;font-size:19px}.account-modal header span{display:block;overflow:hidden;color:#7f8a84;font-size:13px;text-overflow:ellipsis}.account-modal header button{width:38px;height:38px;display:grid;place-items:center;color:#8d9791;background:#f3f4f0;border:0;border-radius:10px}.account-actions{margin-top:20px;display:grid;gap:8px}.account-actions button{min-height:46px;padding:0 14px;display:flex;align-items:center;gap:10px;color:#34423b;background:#f3f4f0;border:1px solid #e7e8e3;border-radius:12px;font-weight:700;text-align:left;cursor:pointer}.account-actions button:hover{background:#eceee9}.account-actions button:disabled{opacity:.55;cursor:default}.account-modal p{margin:16px 0 0;color:#8a948e;font-size:12px;line-height:1.5}@media(max-width:720px){.user-avatar{width:31px;height:31px;font-size:12px}.user-avatar.large{width:44px;height:44px}}.mobile-nav{display:none}a.nav-item{text-decoration:none}button.nav-item{cursor:pointer;font-family:inherit;text-align:left}.nav-item>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-identity{color:inherit;text-decoration:none}.nav-section{display:grid;grid-template-columns:minmax(0,1fr);gap:2px}.nav-section+.nav-section{margin-top:18px}.nav-section-title{min-height:30px;padding:0 6px 0 13px;display:flex;align-items:center;justify-content:space-between;color:#919b95;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.nav-section-title a{color:inherit;text-decoration:none}.nav-section-title a:hover{color:var(--green)}.nav-section-action{width:28px;height:28px;display:grid;place-items:center;color:#7d8882;background:transparent;border:0;border-radius:8px;cursor:pointer}.nav-section-action:hover,.nav-section-action.active{color:var(--green);background:#e4eee8}.nav-section-actions{display:flex;align-items:center;gap:2px}.sidebar .sortable-list,.nav-drawer .sortable-list{gap:2px}.nav-row{position:relative;display:flex;align-items:center}.nav-row .nav-item{padding-right:38px}.nav-row .nav-item b{margin-left:auto}.nav-row .drag-handle{position:absolute;right:4px;width:30px;height:30px}.nav-row:hover .drag-handle,.sortable-item.is-dragging .nav-row .drag-handle{opacity:1}.nav-row:hover .nav-item b{visibility:hidden}.sortable-item.is-dragging .nav-row .nav-item{background:#fff;box-shadow:0 8px 22px #1f272324}.nav-new-list{color:var(--green)}.nav-item.archived{opacity:.7}.nav-archived-toggle{margin-top:4px;padding:6px 13px;display:flex;align-items:center;gap:5px;color:#8a948e;background:transparent;border:0;font-size:12px;cursor:pointer}.nav-archived-toggle svg{transform:rotate(-90deg);transition:transform .15s}.nav-archived-toggle.open svg{transform:none}.sidebar .sidebar-bottom{padding-top:18px}.nav-drawer-backdrop{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;display:flex;align-items:end;background:#16221c5c}.nav-drawer{width:100%;max-height:calc(100vh - 60px);padding:18px 14px calc(20px + env(safe-area-inset-bottom));overflow-y:auto;background:#f4f3ee;border-radius:22px 22px 0 0}.nav-drawer header{margin-bottom:8px;padding:0 6px 0 13px;display:flex;align-items:center;justify-content:space-between}.nav-drawer h2{margin:0;font-family:Manrope,sans-serif;font-size:20px}.nav-drawer header button{width:38px;height:38px;display:grid;place-items:center;color:#8d9791;background:#fff;border:0;border-radius:10px}.nav-drawer .drag-handle{opacity:1}.list-icon{width:28px;height:28px;flex:0 0 auto;display:grid;place-items:center;border-radius:9px}.nav-item .list-icon{width:26px;height:26px;border-radius:8px}.list-color-green{color:#1f6b4f;background:#e2efe8}.list-color-blue{color:#3a5f8f;background:#e3ebf5}.list-color-amber{color:#8d6214;background:#f7ecd6}.list-color-rose{color:#a4533e;background:#f7e5df}.list-color-violet{color:#634d93;background:#ece6f6}.list-color-teal{color:#2c7474;background:#ddefee}.list-color-neutral{color:#7d8882;background:#f1f2ee}.icon-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:6px}.icon-picker button,.color-picker button{padding:0;border:2px solid transparent;cursor:pointer}.icon-picker button{height:40px;display:grid;place-items:center;background:#fff;border-radius:11px;border-color:#eceee9}.icon-picker button.selected{border-color:var(--green)}.icon-picker .list-icon{width:30px;height:30px}.color-picker{display:flex;flex-wrap:wrap;gap:8px}.color-picker button{width:34px;height:34px;display:grid;place-items:center;border-radius:50%}.color-picker button.selected{border-color:currentColor}.kind-picker{display:grid;gap:7px}.kind-picker button{min-height:56px;padding:8px 12px;display:flex;align-items:center;gap:11px;color:var(--ink);background:#fff;border:1px solid #e3e6df;border-radius:13px;text-align:left;cursor:pointer}.kind-picker button.selected{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.kind-picker strong{display:block;font-size:14px}.kind-picker small{display:block;margin-top:2px;color:var(--muted);font-size:12px}.list-modal{max-height:calc(100vh - 32px);overflow-y:auto}.kind-picker.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.kind-picker .list-icon{flex:none;width:32px;height:32px;border-radius:10px}.field-hint{display:block;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.4}.list-title{display:flex;align-items:center;gap:12px;min-width:0}.list-title h2{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-title .list-icon{width:38px;height:38px;border-radius:12px}.archived-banner{margin-top:18px;padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#735b36;background:#fff6e6;border:1px solid #f0dfbe;border-radius:12px;font-size:13px}.archived-banner button{padding:6px 10px;display:flex;align-items:center;gap:6px;color:inherit;background:#fff;border:1px solid #f0dfbe;border-radius:9px;font-weight:700;cursor:pointer}.shopping-row.read-only .check-button,.shopping-row.read-only .item-copy-button{cursor:default}.empty-state .list-icon{width:100%;height:100%;border-radius:18px}.empty-state-action{display:inline-flex;margin-top:18px;padding:0 18px;text-decoration:none}.empty-state-actions{margin:22px auto 0;max-width:320px;display:grid;gap:9px}.empty-state-actions a{text-decoration:none}.list-settings-modal{max-height:calc(100vh - 32px);overflow-y:auto}.list-appearance-form{margin-top:20px;display:grid;gap:16px}.list-appearance-form label{display:grid;gap:7px;color:#435149;font-size:12px;font-weight:700}.list-appearance-form fieldset,.list-modal fieldset{min-width:0;margin:0;padding:0;border:0}.list-appearance-form legend,.list-modal legend{margin-bottom:8px;color:#435149;font-size:12px;font-weight:700}.list-appearance-form input{width:100%;height:46px;padding:0 13px;color:var(--ink);background:#fff;border:1px solid #dfe2dc;border-radius:11px;outline:0}.list-appearance-form .primary-button{height:46px}.list-danger-zone{margin-top:22px;padding-top:18px;display:grid;gap:8px;border-top:1px solid #eef0ea}.list-danger-zone>button,.delete-confirm button{min-height:42px;padding:0 13px;display:flex;align-items:center;gap:9px;color:#34423b;background:#f3f4f0;border:1px solid #e7e8e3;border-radius:11px;font-weight:700;cursor:pointer}.list-danger-zone button.danger,.delete-confirm button.danger{color:#a84845;background:#faefed;border-color:#f1d9d6}.delete-confirm{padding:12px;display:grid;gap:10px;color:#6b3a36;background:#fdf6f5;border:1px solid #f1d9d6;border-radius:12px;font-size:13px;line-height:1.45}.delete-confirm div{display:flex;justify-content:flex-end;gap:8px}.list-cards{margin-top:30px;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.list-card{min-height:118px;padding:16px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:16px;text-align:left;text-decoration:none;cursor:pointer;transition:border-color .15s,box-shadow .15s}.list-card:hover{border-color:#1f6b4f59;box-shadow:0 8px 22px #1f272312}.list-card strong{font-family:Manrope,sans-serif;font-size:16px}.list-card small{margin-top:auto;color:var(--muted);font-size:12px}.list-card .list-icon{width:36px;height:36px;border-radius:11px}.list-card.new{align-items:center;justify-content:center;color:var(--green);background:transparent;border-style:dashed;font:inherit}.text-button{height:40px;color:#6d7872;background:transparent;border:0;font-size:13px;font-weight:700;cursor:pointer}@media(max-width:720px){.mobile-nav{display:grid}.mobile-nav .list-icon{width:24px;height:24px;border-radius:7px}.list-cards{margin-top:22px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.list-card{min-height:104px;padding:13px}.list-title .list-icon{width:32px;height:32px}.list-settings-modal{width:100%}}.member-avatars{text-decoration:none}.member-avatars .more-members{color:#5d6b63;background:#eceee9;font-size:11px;font-weight:800}.nav-family-link{color:#6d7872}.family-settings-link{margin-top:18px;display:inline-flex;align-items:center;gap:7px;text-decoration:none}.family-settings{display:grid;gap:0}.family-settings .content-heading{margin-bottom:8px}.settings-card{margin-top:16px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:16px}.settings-card h3{margin:0 0 12px;color:#919b95;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.settings-card.list-danger-zone{margin-top:16px;border-top:1px solid var(--line)}.settings-value{margin:0;font-weight:700}.settings-error{margin-top:14px}.settings-hint{margin:12px 0 0;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;line-height:1.45}.inline-form{display:flex;flex-wrap:wrap;gap:8px}.inline-form input,.inline-form select,.member-row select{min-width:0;height:44px;padding:0 12px;flex:1 1 200px;color:var(--ink);background:#fff;border:1px solid #dfe2dc;border-radius:11px;font:inherit}.inline-form .primary-button,.inline-form .secondary-button{height:44px;padding:0 16px;flex:0 0 auto}.member-list{display:grid;gap:4px}.member-row{min-height:56px;padding:6px 0;display:flex;align-items:center;gap:12px;border-bottom:1px solid #f1f2ee}.member-row:last-child{border-bottom:0}.member-row select{flex:0 0 150px;height:38px}.member-copy{min-width:0;flex:1}.member-copy strong{display:block;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.member-copy small{display:block;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.role-badge{padding:4px 9px;color:#5d6b63;background:#f1f2ee;border-radius:999px;font-size:12px;font-weight:700}.role-badge.role-owner{color:var(--green);background:var(--green-soft)}.icon-button{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;color:#8d9791;background:transparent;border:0;border-radius:10px;cursor:pointer}.icon-button:hover{color:#a84845;background:#faefed}@media(max-width:720px){.settings-card{padding:16px}.member-row{flex-wrap:wrap}.member-row select{flex:1 1 100%;order:3}}.invitations-button{position:relative;width:38px;height:38px;display:grid;place-items:center;color:var(--green);background:var(--green-soft);border-radius:12px;text-decoration:none}.invitations-button b{position:absolute;top:-5px;right:-5px;min-width:18px;padding:2px 5px;color:#fff;background:#c0583f;border-radius:999px;font-size:10px;text-align:center}.invitation-list{margin-top:26px;display:grid;gap:10px}.invitation-card{padding:16px;display:flex;flex-wrap:wrap;align-items:flex-start;gap:13px;background:#fff;border:1px solid var(--line);border-radius:16px}.invitation-card .list-icon{width:38px;height:38px;border-radius:12px}.invitation-copy{min-width:200px;flex:1}.invitation-copy strong{font-family:Manrope,sans-serif;font-size:16px}.invitation-copy p{margin:4px 0;color:#4d5a53;font-size:14px;line-height:1.45}.invitation-copy small{color:var(--muted);font-size:12px}.invitation-actions{display:flex;gap:8px;align-self:center}.invitation-actions button{height:42px;padding:0 16px}.invitation-note{padding:10px 12px;color:#735b36;background:#fff6e6;border:1px solid #f0dfbe;border-radius:11px;font-size:13px}.invite-link-box{margin-top:14px;padding:14px;background:var(--green-soft);border-radius:12px}.invite-link-box p{margin:0 0 10px;color:#33463c;font-size:13px;line-height:1.45}.invite-link-row{display:flex;flex-wrap:wrap;gap:8px}.invite-link-row input{min-width:0;height:40px;padding:0 11px;flex:1 1 220px;color:var(--ink);background:#fff;border:1px solid #d5e2da;border-radius:10px;font:inherit;font-size:13px}.invite-link-row button{height:40px;padding:0 13px}.pending-invites{margin-top:16px}.pending-invites h4{margin:0 0 6px;color:#919b95;font-size:11px;letter-spacing:.07em;text-transform:uppercase}.pending-invite{min-height:50px;display:flex;align-items:center;gap:6px;border-bottom:1px solid #f1f2ee}.pending-invite:last-child{border-bottom:0}.pending-invite span{min-width:0;flex:1}.pending-invite strong{display:block;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.pending-invite small{color:var(--muted);font-size:12px}.pending-invite .icon-button:hover{color:var(--green);background:var(--green-soft)}@media(max-width:720px){.invitation-actions{width:100%}.invitation-actions button{flex:1}}.list-heading-actions{display:flex;align-items:center;gap:8px}.content-heading:has(.list-heading-actions){align-items:center}.list-heading-actions>span{color:var(--muted);font-size:13px}.share-list-button{height:34px;padding:0 12px;display:flex;align-items:center;gap:7px;color:var(--green);background:var(--green-soft);border:0;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer}.read-only-banner span{display:flex;align-items:center;gap:7px}.invite-manager{margin-top:4px}.shared-heading{margin-top:22px}.list-move{margin-top:22px;padding-top:18px;border-top:1px solid #eef0ea}.list-move p{margin:0 0 10px;color:var(--muted);font-size:12px;line-height:1.45}@media(max-width:720px){.list-heading-actions{padding-top:18px}.content-heading .list-heading-actions>span{display:none}.share-list-button span{display:none}.share-list-button{width:34px;padding:0;justify-content:center}}.sync-notice{margin:12px clamp(16px,4vw,32px) 0;padding:10px 12px 10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#735b36;background:#fff6e6;border:1px solid #f0dfbe;border-radius:12px;font-size:13px;line-height:1.4}.sync-notice button{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;color:inherit;background:transparent;border:0;border-radius:8px;cursor:pointer}.nav-icon{width:26px;height:26px;flex:0 0 auto;display:grid;place-items:center}.nav-row .nav-item{padding-right:13px}.nav-row .drag-handle{background:#e9ebe5}.color-picker button[class*=list-color-]{background:currentColor}.color-picker button[class*=list-color-] svg{color:#fff}.color-picker button.selected{box-shadow:0 0 0 2px #fff,0 0 0 4px currentColor;border-color:transparent}.inline-form select{flex:0 1 180px}@media(max-width:720px){.list-heading-actions{flex-direction:row;align-items:center;padding-top:6px}.content-heading:has(.list-heading-actions){align-items:center}}.list-settings-sort+.list-move{margin-top:0;padding-top:0;border-top:0}.sync-pill{height:30px;padding:0 11px;display:inline-flex;align-items:center;gap:6px;color:#735b36;background:#fff6e6;border:1px solid #f0dfbe;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.sync-pill.offline{color:#5d6b63;background:#eef0eb;border-color:#e0e3dd}.spin{animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spin{animation:none}}.install-prompt{position:relative;margin:12px clamp(16px,4vw,32px) 0;padding:12px 44px 12px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px #1f27230f}.install-prompt-icon{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;color:var(--green);background:var(--green-soft);border-radius:11px}.install-prompt p{min-width:180px;flex:1;margin:0;color:var(--muted);font-size:13px;line-height:1.4}.install-prompt strong{display:block;color:var(--ink);font-size:14px}.install-prompt-actions{display:flex;align-items:center;gap:6px}.install-prompt-actions .primary-button{height:38px;padding:0 16px}.install-prompt-actions .text-button{height:38px;padding:0 10px}.install-prompt-close{position:absolute;top:10px;right:10px;width:28px;height:28px;display:grid;place-items:center;color:#8d9791;background:transparent;border:0;border-radius:8px;cursor:pointer}@media(max-width:720px){.sync-pill{position:fixed;z-index:11;top:80px;right:12px;box-shadow:0 5px 18px #372f221a}.install-prompt-actions{width:100%;justify-content:flex-end}}.space-intro{max-width:560px;margin:14px 0 0;color:var(--muted);font-size:14px;line-height:1.55}.space-links{display:flex;flex-wrap:wrap;gap:4px 18px}.nav-agenda{padding-bottom:4px}.group-upcoming{margin-top:28px;max-width:560px}.group-upcoming h3{margin:0 0 10px;font-family:Manrope,sans-serif;font-size:16px}.group-upcoming .space-intro{margin-top:0}.see-all{margin-top:10px;display:inline-flex;align-items:center;gap:6px;color:var(--green);font-size:13px;font-weight:600;text-decoration:none}.agenda-legend .legend-colors{width:30px;padding:0;justify-content:center;color:var(--muted)}.space-color-row{min-width:0;margin:0 0 14px;padding:0;border:0}.space-color-row legend{margin-bottom:8px;color:#435149;font-size:13px;font-weight:700}@media(min-width:721px){.app-shell{height:100vh;display:flex;flex-direction:column}.app-shell>.dashboard{flex:1;min-height:0;grid-template-rows:minmax(0,1fr)}.dashboard>.sidebar{min-height:0;overflow:hidden}.sidebar>.nav-scroll{flex:1;min-height:0;margin:0 -8px;padding:0 8px;overflow-y:auto}.sidebar>.nav-scroll{scrollbar-width:thin;scrollbar-color:transparent transparent}.sidebar>.nav-scroll:hover{scrollbar-color:#cfd3cc transparent}.dashboard-main{min-height:0;overflow-y:auto}}.dashboard-main{min-width:0}.nav-scroll{display:grid;grid-template-columns:minmax(0,1fr);align-content:start}.nav-scroll>.nav-section+.nav-section{margin-top:18px}.mobile-only{display:none}@media(max-width:720px){.mobile-only{display:revert}button.mobile-only,.card-pin.mobile-only{display:inline-flex}.manage-locations-button.mobile-only{display:grid}}.home-section{margin-top:26px}.home-section-title{display:inline-flex;align-items:center;gap:4px;color:#6d7872;font-size:12px;font-weight:700;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.home-section .list-cards{margin-top:10px}.list-card-wrap{position:relative;display:grid;min-width:0}.card-pin{position:absolute;top:8px;right:8px;width:32px;height:32px;align-items:center;justify-content:center;color:#a3aba6;background:transparent;border:0;border-radius:9px;cursor:pointer}.card-pin.pinned{color:var(--green);background:var(--green-soft)}.pin-button{width:100%;min-height:44px;margin-top:16px;padding:0 14px;align-items:center;gap:10px;color:#34423b;background:#f3f4f0;border:1px solid #e7e8e3;border-radius:12px;font-weight:700;cursor:pointer}.pin-button.pinned,.manage-locations-button.pinned{color:var(--green);background:var(--green-soft);border-color:transparent}.space-intro svg{vertical-align:-2px}.assistant-connections{margin-top:18px}.assistant-connections h3{margin:12px 0 0;font-family:Manrope,sans-serif;font-size:17px}.account-modal .assistant-connections p{margin:8px 0 14px;color:#5f6b65;font-size:13px}.account-modal .assistant-connections p.assistant-warning{margin-top:10px;color:#a3542b}.assistant-back{padding:0;display:inline-flex;align-items:center;gap:6px;color:#6b766f;background:none;border:0;font-weight:700;cursor:pointer}.assistant-url{display:flex;gap:8px}.assistant-url input{min-width:0;flex:1;min-height:44px;padding:0 12px;color:#34423b;background:#f3f4f0;border:1px solid #e7e8e3;border-radius:12px;font:13px ui-monospace,monospace}.assistant-url button,.assistant-list button{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;color:#34423b;background:#f3f4f0;border:1px solid #e7e8e3;border-radius:12px;cursor:pointer}.assistant-list{margin:16px 0 0;padding:0;display:grid;gap:8px;list-style:none}.assistant-list li{display:flex;align-items:center;gap:10px}.assistant-list li>div{min-width:0;flex:1}.assistant-list strong{display:block;font-size:14px}.assistant-list span{display:block;color:#8a948e;font-size:12px}
