@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Vazirmatn:wght@300;400;500;600;700;800&display=swap";:root{--font-fa: "Vazirmatn", -apple-system, BlinkMacSystemFont, Tahoma, sans-serif;--font-en: "Outfit", "Vazirmatn", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--primary: #10b981;--primary-hover: #059669;--primary-light: rgba(16, 185, 129, .12);--primary-glow: rgba(16, 185, 129, .25);--primary-strong: #047857;--accent: #f59e0b;--accent-light: rgba(245, 158, 11, .12);--bg-main: #0f172a;--bg-header: rgba(15, 23, 42, .85);--bg-card: rgba(30, 41, 59, .75);--bg-card-hover: rgba(51, 65, 85, .85);--bg-card-checked: rgba(30, 41, 59, .4);--bg-input: #1e293b;--bg-modal: #1e293b;--bg-bottom-bar: linear-gradient(to top, rgba(15, 23, 42, .95) 70%, transparent);--bg-tab-bar: rgba(15, 23, 42, .6);--border-color: rgba(255, 255, 255, .08);--border-active: rgba(16, 185, 129, .4);--text-main: #f8fafc;--text-muted: #94a3b8;--text-dim: #64748b;--text-farsi: #38bdf8;--brand-gradient: linear-gradient(135deg, #ffffff 0%, #a7f3d0 100%);--danger: #ef4444;--danger-light: rgba(239, 68, 68, .15);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--shadow-card: 0 4px 20px -2px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 30px -4px rgba(0, 0, 0, .5);--backdrop-blur: blur(16px);--space-1: 4px;--space-2: 6px;--space-3: 8px;--space-4: 10px;--space-5: 12px;--space-6: 14px;--space-7: 16px;--space-8: 20px;--control-sm: 36px;--control-md: 42px;--control-lg: 48px;--control-xl: 52px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--btn-height: 46px;--checkbox-size: 28px;--checkbox-border: #475569;--emoji-size: 2.2rem;--title-size: 1.15rem;--subtitle-size: .9rem}.farsi-text,.item-title-fa,.catalog-item-fa,.brand-sub,.empty-sub,[lang=fa],[dir=rtl],html[lang=fa] body,html[lang=fa] button,html[lang=fa] input,html[lang=fa] select,html[lang=fa] textarea{font-family:var(--font-fa)!important}[data-theme=light]{--bg-main: #f8fafc;--bg-header: rgba(248, 250, 252, .9);--bg-card: rgba(255, 255, 255, .92);--bg-card-hover: #ffffff;--bg-card-checked: rgba(241, 245, 249, .65);--bg-input: #ffffff;--bg-modal: #ffffff;--bg-bottom-bar: linear-gradient(to top, rgba(248, 250, 252, .98) 70%, transparent);--bg-tab-bar: rgba(226, 232, 240, .7);--border-color: rgba(0, 0, 0, .09);--border-active: rgba(16, 185, 129, .5);--text-main: #0f172a;--text-muted: #64748b;--text-dim: #94a3b8;--text-farsi: #0284c7;--brand-gradient: linear-gradient(135deg, #0f172a 0%, #059669 100%);--shadow-card: 0 4px 16px -2px rgba(0, 0, 0, .06), 0 2px 4px -2px rgba(0, 0, 0, .03);--shadow-lg: 0 16px 36px -4px rgba(0, 0, 0, .12);--checkbox-border: #94a3b8}body.senior-mode{--btn-height: 58px;--checkbox-size: 38px;--emoji-size: 3rem;--title-size: 1.45rem;--subtitle-size: 1.15rem;--border-color: rgba(255, 255, 255, .18);font-size:18px}[data-theme=light] body.senior-mode{--border-color: rgba(0, 0, 0, .2)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-en);background-color:var(--bg-main);background-image:radial-gradient(at 0% 0%,rgba(16,185,129,.1) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(56,189,248,.08) 0px,transparent 50%);background-attachment:fixed;color:var(--text-main);min-height:100vh;display:flex;justify-content:center;overflow-x:hidden;user-select:none;transition:background-color .3s ease,color .3s ease}.farsi-text{font-family:var(--font-fa)!important;direction:rtl}#app{width:100%;max-width:680px;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding-bottom:calc(120px + var(--safe-bottom));position:relative}.app-header{position:sticky;top:0;z-index:40;backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);background:var(--bg-header);border-bottom:1px solid var(--border-color);padding:calc(14px + var(--safe-top)) calc(18px + var(--safe-right)) 14px calc(18px + var(--safe-left));transition:background .3s ease,border-color .3s ease}.header-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand-section{display:flex;align-items:center;gap:10px}.brand-icon{font-size:2rem;line-height:1;filter:drop-shadow(0 2px 8px rgba(16,185,129,.4))}.brand-title{font-size:1.3rem;font-weight:800;letter-spacing:-.5px;background:var(--brand-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.brand-sub{font-size:.8rem;color:var(--text-muted);font-family:var(--font-fa)}.header-actions{display:flex;align-items:center;gap:8px}.badge-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-full);font-size:.85rem;font-weight:600;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-main);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.badge-btn:hover,.badge-btn:active{background:var(--bg-card-hover);border-color:var(--primary);transform:translateY(-1px)}.room-badge{background:linear-gradient(135deg,#10b98126,#06b6d426);border:1px solid var(--primary-glow);color:var(--primary)}.status-dot{width:8px;height:8px;border-radius:50%;background-color:var(--primary);box-shadow:0 0 8px var(--primary);animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.icon-btn{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-main);cursor:pointer;font-size:1.1rem;transition:all .2s}.icon-btn:hover{background:var(--bg-card-hover);border-color:var(--primary)}body.senior-mode .icon-btn{width:48px;height:48px;font-size:1.3rem}.controls-bar{padding:12px 18px 6px;display:flex;flex-direction:column;gap:12px}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:14px;font-size:1.1rem;color:var(--text-dim);pointer-events:none}.search-input{width:100%;height:46px;padding:0 44px 0 42px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-main);font-size:.95rem;font-family:inherit;outline:none;transition:all .2s}.search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background:var(--bg-input)}.search-clear-btn{position:absolute;right:12px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:4px}.category-scroll{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.category-scroll::-webkit-scrollbar{display:none}.chip-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-full);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-muted);font-size:.85rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:all .2s}.chip-btn:hover{background:var(--bg-card-hover);color:var(--text-main)}.chip-btn.active{background:var(--primary-strong);border-color:var(--primary-strong);color:#fff;font-weight:700;box-shadow:0 4px 12px var(--primary-glow)}.filter-tabs{display:flex;background:var(--bg-tab-bar);padding:4px;border-radius:var(--radius-md);border:1px solid var(--border-color);margin-top:4px}.tab-btn{flex:1;padding:8px 10px;border-radius:var(--radius-sm);background:none;border:none;color:var(--text-muted);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.tab-btn.active{background:var(--bg-card-hover);color:var(--text-main);box-shadow:0 2px 8px #0000001a}.tab-badge{background:#7d7d7d26;padding:2px 7px;border-radius:var(--radius-full);font-size:.75rem}.items-container{padding:12px 18px;display:flex;flex-direction:column;gap:12px}.item-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);box-shadow:var(--shadow-card);transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.item-card:hover{background:var(--bg-card-hover);transform:translateY(-2px);border-color:var(--border-active)}.item-card.checked{background:var(--bg-card-checked);border-color:var(--border-color);opacity:.65}.item-card.checked:hover{opacity:.9}.item-checkbox-btn{width:var(--checkbox-size);height:var(--checkbox-size);min-width:var(--checkbox-size);border-radius:50%;border:2.5px solid var(--checkbox-border);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease-in-out;padding:0}.item-card.checked .item-checkbox-btn{background:var(--primary);border-color:var(--primary);color:#064e3b}.item-checkbox-btn:hover{border-color:var(--primary);transform:scale(1.08)}.item-emoji{font-size:var(--emoji-size);line-height:1;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.item-content{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.item-title-en{font-size:var(--title-size);font-weight:600;color:var(--text-main);line-height:1.3;word-break:normal;overflow-wrap:break-word;white-space:normal}.item-title-fa{font-family:var(--font-fa);font-size:var(--subtitle-size);font-weight:500;color:var(--text-farsi);line-height:1.35;direction:rtl;text-align:right;word-break:normal;overflow-wrap:break-word;white-space:normal}.item-card.checked .item-title-en,.item-card.checked .item-title-fa{text-decoration:line-through;color:var(--text-dim)}.item-note{font-size:.8rem;color:var(--text-muted);font-style:italic;margin-top:2px;word-break:normal;overflow-wrap:break-word}.item-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:auto}.quantity-stepper{display:inline-flex;align-items:center;background:var(--bg-tab-bar);border:1px solid var(--border-color);border-radius:var(--radius-full);padding:3px;gap:3px;flex-shrink:0}.stepper-btn{width:28px;height:28px;border-radius:50%;background:var(--bg-card);border:none;color:var(--text-main);font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;flex-shrink:0}body.senior-mode .stepper-btn{width:38px;height:38px;font-size:1.3rem}.stepper-btn:hover{background:var(--primary);color:#064e3b}.quantity-label{font-weight:700;font-size:.95rem;min-width:20px;text-align:center}body.senior-mode .quantity-label{font-size:1.25rem;min-width:28px}.unit-label{font-size:.75rem;color:var(--text-muted);margin-right:2px}.delete-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:6px;border-radius:var(--radius-sm);transition:all .2s;font-size:1.05rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.delete-btn:hover{color:var(--danger);background:var(--danger-light)}body.senior-mode .delete-btn{padding:10px;font-size:1.3rem}.empty-state{text-align:center;padding:48px 24px;background:var(--bg-card);border-radius:var(--radius-xl);border:1px dashed var(--border-color);margin-top:12px}.empty-icon{font-size:3.5rem;margin-bottom:12px}.empty-title{font-size:1.25rem;font-weight:700;margin-bottom:6px}.empty-sub{font-size:.9rem;color:var(--text-muted);font-family:var(--font-fa);margin-bottom:18px}.catalog-section{margin-top:24px;padding:0 18px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-title{font-size:1rem;font-weight:700;display:flex;align-items:center;gap:8px}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:10px}body.senior-mode .catalog-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:14px}.catalog-item-btn{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 8px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-main);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);gap:4px}.catalog-item-btn:hover{background:var(--bg-card-hover);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 14px var(--primary-glow)}.catalog-item-emoji{font-size:1.8rem}body.senior-mode .catalog-item-emoji{font-size:2.4rem}.catalog-item-en{font-size:.85rem;font-weight:600}.catalog-item-fa{font-family:var(--font-fa);font-size:.8rem;color:var(--text-farsi)}.bottom-bar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;padding:14px calc(20px + var(--safe-right)) calc(24px + var(--safe-bottom)) calc(20px + var(--safe-left));background:var(--bg-bottom-bar);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);z-index:50;pointer-events:none;transition:background .3s ease}.bottom-bar-inner{width:100%;max-width:680px;display:flex;align-items:center;gap:12px;pointer-events:auto}.btn-primary{flex:1;height:var(--btn-height);background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:var(--radius-full);color:#fff;font-size:1.05rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 6px 20px #10b98166;transition:all .2s cubic-bezier(.4,0,.2,1)}body.senior-mode .btn-primary{font-size:1.3rem}.btn-primary:hover,.btn-primary:active{transform:translateY(-2px);box-shadow:0 8px 24px #10b98180}.btn-secondary{height:var(--btn-height);padding:0 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-main);font-size:.95rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--primary)}.modal-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:100;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-sheet{width:100%;max-width:680px;max-height:90vh;background:var(--bg-modal);border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-top:1px solid rgba(255,255,255,.15);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s cubic-bezier(.16,1,.3,1);overflow:hidden;padding-bottom:var(--safe-bottom)}.modal-overlay.active .modal-sheet{transform:translateY(0)}.modal-header{padding:18px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color)}.modal-title{font-size:1.2rem;font-weight:700}.modal-close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.3rem;padding:4px}.modal-body{padding:20px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:.9rem;font-weight:600;color:var(--text-muted);display:flex;justify-content:space-between}.form-input,.form-select,.form-textarea{width:100%;height:48px;padding:0 14px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-main);font-size:1rem;font-family:inherit;outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.form-textarea{height:80px;padding:10px 14px;resize:vertical}.emoji-selector-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}.emoji-pill-btn{font-size:1.6rem;padding:8px 12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .15s}.emoji-pill-btn.active,.emoji-pill-btn:hover{background:var(--primary-light);border-color:var(--primary);transform:scale(1.1)}.settings-card{background:var(--bg-card);border:1px solid var(--border-color);padding:14px 16px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:space-between;gap:14px;transition:background .2s ease,border-color .2s ease}.toast-container{position:fixed;top:calc(20px + var(--safe-top));left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{background:var(--bg-card);color:var(--text-main);padding:10px 20px;border-radius:var(--radius-full);border:1px solid var(--primary);box-shadow:var(--shadow-lg);font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:8px;animation:toast-in .3s ease forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.install-banner{background:linear-gradient(135deg,#10b98133,#06b6d433);border:1px solid var(--primary-glow);padding:12px 18px;margin:12px 18px 0;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:space-between;gap:12px}.install-banner-text{font-size:.9rem;font-weight:600}.install-banner-sub{font-size:.78rem;color:var(--text-muted)}@media(max-width:480px){:root{--btn-height: 44px;--checkbox-size: 26px;--emoji-size: 1.85rem;--title-size: 1.05rem;--subtitle-size: .85rem}body.senior-mode{--btn-height: 52px;--checkbox-size: 32px;--emoji-size: 2.3rem;--title-size: 1.25rem;--subtitle-size: 1.05rem}.app-header{padding:calc(10px + var(--safe-top)) calc(14px + var(--safe-right)) 10px calc(14px + var(--safe-left))}.brand-title{font-size:1.15rem}.controls-bar{padding:10px 14px 4px;gap:8px}.items-container{padding:8px 12px;gap:8px}.item-card{gap:10px;padding:10px 12px;border-radius:var(--radius-md)}.item-actions{gap:4px}.quantity-stepper{padding:2px;gap:2px}.stepper-btn{width:26px;height:26px;font-size:.95rem}body.senior-mode .stepper-btn{width:34px;height:34px;font-size:1.2rem}.quantity-label{min-width:18px;font-size:.88rem}.delete-btn{padding:4px;font-size:1rem}.catalog-section{padding:0 12px;margin-top:16px}.install-banner{margin:8px 12px 0;padding:10px 14px}.bottom-bar{padding:10px calc(14px + var(--safe-right)) calc(18px + var(--safe-bottom)) calc(14px + var(--safe-left))}}@media(max-width:360px){:root{--emoji-size: 1.6rem;--title-size: .95rem;--subtitle-size: .8rem}.item-card{gap:8px;padding:8px 10px}}:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:6px}.icon-btn:focus-visible,.chip-btn:focus-visible,.tab-btn:focus-visible,.stepper-btn:focus-visible,.delete-btn:focus-visible,.edit-btn:focus-visible,.item-checkbox-btn:focus-visible,.catalog-item-btn:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.skip-link{position:absolute;inset-inline-start:0;top:0;z-index:200;padding:12px 18px;background:var(--primary);color:#fff;font-weight:700;border-radius:0 0 8px;transform:translateY(-200%);transition:transform .15s ease}.skip-link:focus{transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.search-row{display:flex;gap:8px;align-items:stretch}.search-row .search-input-wrapper{flex:1;min-width:0}.voice-btn{flex:0 0 auto;align-self:stretch}.voice-btn.listening{border-color:var(--danger);color:var(--danger);animation:pulse-mic 1.1s ease-in-out infinite}@keyframes pulse-mic{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.75}}.item-group{margin-bottom:18px}.item-group-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 4px 8px;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.item-group-count{background:var(--card-bg, rgba(148, 163, 184, .15));border-radius:999px;padding:2px 9px;font-size:.78rem}.item-group-bought .item-group-title{opacity:.7}.item-group-list{list-style:none;margin:0;padding:0}.item-group-list .item-card{list-style:none}body.senior-mode .item-group-title{font-size:1rem}.edit-btn{width:34px;height:34px;border-radius:10px;border:1px solid var(--border-color);background:transparent;color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1;transition:all .15s ease}.edit-btn:hover{border-color:var(--primary);color:var(--primary)}body.senior-mode .edit-btn{width:44px;height:44px;font-size:1.2rem}.toast-action{margin-inline-start:10px;background:transparent;border:1px solid var(--primary);color:var(--primary);font-weight:700;padding:4px 12px;border-radius:8px;cursor:pointer;font-size:.85rem;white-space:nowrap}.toast-action:hover{background:var(--primary);color:#fff}.status-dot.status-cloud{background:var(--primary);box-shadow:0 0 8px var(--primary)}.status-dot.status-pending{background:#f59e0b;box-shadow:0 0 8px #f59e0b}.status-dot.status-local{background:#94a3b8;box-shadow:none}.share-code-card{background:var(--primary-light);border:1px solid var(--primary-glow);padding:14px;border-radius:var(--radius-md);text-align:center}.share-code-label{font-size:.85rem;color:var(--text-muted);margin-bottom:4px}.share-code-value{font-size:1.6rem;font-weight:800;letter-spacing:3px;color:var(--primary);font-family:monospace;word-break:break-all}.share-code-help{font-size:.8rem;color:var(--text-dim, var(--text-muted));margin-top:4px}.warning-card{margin-top:12px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid rgba(245,158,11,.5);background:#f59e0b1f}.warning-title{font-weight:700;margin-bottom:4px}.warning-body{font-size:.85rem;color:var(--text-muted);line-height:1.5}.settings-card-title{font-weight:700;font-size:1.02rem;display:flex;align-items:center;gap:6px}.settings-card-desc{font-size:.82rem;color:var(--text-muted);margin-top:2px;line-height:1.45}.form-error{color:var(--danger);font-size:.85rem;margin:6px 0 0;font-weight:600}.item-title-secondary{color:var(--text-muted);font-size:.85rem}.item-title-primary{font-size:1.15rem;color:var(--text-main);font-weight:700}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.avatar{border-radius:50%;object-fit:cover;flex:0 0 auto;display:inline-block;vertical-align:middle;background:var(--primary-light)}.avatar-initial{display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--primary);border:1px solid var(--primary-glow);line-height:1}.account-btn.signed-in{border-color:var(--primary);padding:0;overflow:hidden}.account-btn .avatar{pointer-events:none}.account-card{display:flex;align-items:center;gap:14px;padding:16px;border-radius:var(--radius-md);background:var(--primary-light);border:1px solid var(--primary-glow)}.account-identity{min-width:0}.account-name{font-weight:700;font-size:1.1rem;overflow-wrap:anywhere}.account-sub{font-size:.82rem;color:var(--text-muted);margin-top:2px}.account-why{font-size:.88rem;color:var(--text-muted);line-height:1.5;margin:14px 0}.item-attribution{margin-top:4px;font-size:.75rem;color:var(--text-muted);opacity:.9}body.senior-mode .item-attribution{font-size:.92rem}.activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.activity-row{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--border-color)}.activity-row:last-child{border-bottom:none}.activity-icon{flex:0 0 auto;font-size:1rem;width:20px;text-align:center}.activity-text{flex:1;min-width:0;font-size:.9rem;line-height:1.4;overflow-wrap:anywhere}.activity-time{flex:0 0 auto;font-size:.75rem;color:var(--text-muted);white-space:nowrap}body.senior-mode .activity-text{font-size:1.05rem}.status-dot.status-error{background:var(--danger);box-shadow:0 0 8px var(--danger)}.sync-error-banner{display:flex;align-items:flex-start;gap:10px;margin:0 18px 4px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid rgba(239,68,68,.45);background:var(--danger-light)}.sync-error-banner[hidden]{display:none}.sync-error-icon{font-size:1.1rem;line-height:1.3}.sync-error-title{font-weight:700;font-size:.95rem;color:var(--danger)}.sync-error-detail{font-size:.82rem;color:var(--text-muted);line-height:1.45;margin-top:2px}body.senior-mode .sync-error-title{font-size:1.1rem}body.senior-mode .sync-error-detail{font-size:.98rem}.read-only-banner{display:flex;align-items:center;gap:12px;margin:0 18px 4px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--primary-glow);background:var(--primary-light)}.read-only-banner[hidden]{display:none}.read-only-icon{font-size:1.2rem;flex:0 0 auto}.read-only-text{flex:1;min-width:0}.read-only-title{font-weight:700;font-size:.95rem}.read-only-body{font-size:.82rem;color:var(--text-muted);line-height:1.45;margin-top:2px}.read-only-cta{flex:0 0 auto;width:auto;height:40px;padding:0 18px;font-size:.9rem}body.read-only .item-checkbox-btn,body.read-only .item-actions,body.read-only .catalog-item-btn,body.read-only .bottom-bar-inner .btn-primary,body.read-only .bottom-bar-inner .btn-secondary{opacity:.5}@media(max-width:480px){.read-only-banner{flex-wrap:wrap}.read-only-cta{width:100%}}body.senior-mode .read-only-title{font-size:1.1rem}body.senior-mode .read-only-body{font-size:.98rem}@media(hover:hover)and (pointer:fine){[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(-4px);z-index:90;padding:6px 10px;border-radius:8px;background:var(--tooltip-bg, #0f172a);color:var(--tooltip-text, #f8fafc);border:1px solid var(--border-color);box-shadow:var(--shadow-card);font-family:var(--font-en);font-size:.78rem;font-weight:600;line-height:1.3;letter-spacing:normal;text-align:center;white-space:normal;width:max-content;max-width:190px;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease;transition-delay:0s}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%) translateY(0);transition-delay:.35s}.item-card:hover,.item-card:focus-within{overflow:visible}html[lang=fa] [data-tooltip]:after{font-family:var(--font-fa)}.header-actions [data-tooltip]:after{left:auto;inset-inline-end:0;transform:translateY(-4px)}.header-actions [data-tooltip]:hover:after,.header-actions [data-tooltip]:focus-visible:after{transform:translateY(0)}.bottom-bar [data-tooltip]:after{top:auto;bottom:calc(100% + 8px);left:auto;inset-inline-end:0;transform:translateY(4px)}.bottom-bar [data-tooltip]:hover:after,.bottom-bar [data-tooltip]:focus-visible:after{transform:translateY(0)}}[data-theme=light]{--tooltip-bg: #1e293b;--tooltip-text: #f8fafc}.list-collection{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.list-row{display:flex;align-items:center;gap:8px;padding:4px 6px 4px 4px;border:1.5px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card)}.list-row.current{border-color:var(--primary);background:var(--primary-light)}.list-open{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;background:transparent;border:none;cursor:pointer;color:var(--text-main);text-align:start}.list-name{font-weight:700;font-size:1rem;overflow-wrap:anywhere}.list-code{font-family:monospace;font-size:.78rem;color:var(--text-muted);letter-spacing:1px}.list-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.list-tag{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px}.list-tag-current{background:var(--primary);color:#fff}.list-tag-default{background:var(--accent-light);color:var(--accent)}.list-row-actions{display:flex;gap:4px;flex:0 0 auto}.list-mini{width:34px;height:34px;font-size:.95rem}body.senior-mode .list-mini{width:44px;height:44px}.gate{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 18px;min-height:70vh}.gate-card{width:100%;max-width:380px;text-align:center;padding:32px 24px;border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur)}.gate-logo{display:block;margin:0 auto 18px;border-radius:18px}.gate-title{font-size:1.35rem;font-weight:800;line-height:1.25;margin-bottom:10px}.gate-body{font-size:.92rem;color:var(--text-muted);line-height:1.55}.gate-invite{margin-top:16px;padding:12px;border-radius:var(--radius-md);background:var(--primary-light);border:1px solid var(--primary-glow)}.gate-invite-label{font-size:.78rem;color:var(--text-muted)}.gate-invite-code{font-family:monospace;font-weight:800;font-size:1.1rem;letter-spacing:2px;color:var(--primary);word-break:break-all}.gate-btn{width:100%;height:52px;margin-top:22px}body.senior-mode .gate-title{font-size:1.6rem}body.senior-mode .gate-body{font-size:1.1rem}.ico{width:1.35em;height:1.35em;flex:0 0 auto;display:block;vertical-align:middle}.ico-xs{width:.85em;height:.85em}.ico-sm{width:1.1em;height:1.1em}.ico-lg{width:1.6em;height:1.6em}.ico-check{width:60%;height:60%;stroke-width:3}.ico-empty{width:2.6em;height:2.6em;stroke-width:1.4}.btn-primary,.btn-secondary,.chip-btn,.tab-btn,.badge-btn,.install-banner-text,.warning-title,.section-title{display:inline-flex;align-items:center;gap:8px}.btn-primary,.btn-secondary,.tab-btn,.chip-btn{justify-content:center}.search-icon,.sync-error-icon,.read-only-icon{display:flex;align-items:center}.empty-icon{display:flex;justify-content:center;color:var(--text-dim)}.item-group-dot{width:9px;height:9px;border-radius:50%;background:var(--cat-color, var(--primary));flex:0 0 auto;box-shadow:0 0 0 3px color-mix(in srgb,var(--cat-color, var(--primary)) 22%,transparent)}.item-group-title{gap:10px}.item-group-bought .item-group-dot{background:var(--text-dim);box-shadow:none}@keyframes row-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.item-card.is-new{animation:row-in .22s cubic-bezier(.16,1,.3,1) both}@keyframes check-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.12);opacity:1}to{transform:scale(1);opacity:1}}.item-card.checked .item-checkbox-btn .ico{animation:check-pop .26s cubic-bezier(.16,1,.3,1) both}.btn-primary:active,.btn-secondary:active,.icon-btn:active,.chip-btn:active,.catalog-item-btn:active,.stepper-btn:active{transform:scale(.96)}.item-group-label{display:inline-flex;align-items:center;gap:10px;min-width:0}.row{display:flex;align-items:center;gap:var(--space-5)}.row-tight{gap:var(--space-3)}.row-wide{gap:var(--space-4)}.row-top{align-items:flex-start}.row>.grow{flex:1;min-width:0}.stack-sm{margin-top:var(--space-2)}.stack-md{margin-top:var(--space-4)}.stack-lg{margin-top:var(--space-6)}.stack-xl{margin-top:var(--space-7)}.divider-top{border-top:1px solid var(--border-color);padding-top:var(--space-7)}.btn-sm{height:var(--control-sm)}.btn-md{height:var(--control-md);font-size:.9rem}.btn-lg{height:var(--control-lg)}.btn-xl{height:var(--control-xl)}.btn-block{width:100%}.btn-auto{width:auto;padding-inline:var(--space-8)}.input-code{text-transform:uppercase;font-weight:700;letter-spacing:2px}.field-row{display:flex;gap:var(--space-5)}.field-row>.form-group{margin-bottom:0}.field-grow{flex:1}.field-wide{flex:1.5}.field-narrow{flex:.8}.field-cat{flex:1.2}.qty-row{display:flex;align-items:center;gap:var(--space-2);height:var(--control-lg)}.qty-value{font-weight:700;font-size:1.2rem;min-width:24px;text-align:center}.qty-btn{width:var(--control-sm);height:var(--control-sm)}.empty-state-compact{padding:32px 0}.segmented{display:flex;gap:var(--space-3)}.segmented>.chip-btn{flex:1;justify-content:center}.settings-toggle-btn{padding:var(--space-4) 18px;font-size:1rem}.settings-row-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.settings-row-head .form-label{margin:0}.status-chip{font-size:.75rem;padding:3px var(--space-3)}.config-textarea{font-family:monospace;font-size:.85rem;height:110px}.settings-note{margin:var(--space-3) 0}.brand-icon{cursor:pointer}.brand-icon img{display:block}.btn-install{height:38px;width:auto;padding:0 var(--space-7);font-size:.85rem}.btn-link-sm{font-size:.8rem}.btn-danger{color:var(--danger)}.catalog-toolbar{padding:var(--space-5) var(--space-8) var(--space-2)}.catalog-cats{padding:var(--space-2) var(--space-8)}.catalog-grid-body{padding-top:var(--space-3)}.edit-btn,.search-clear-btn,.modal-close-btn{display:flex;align-items:center;justify-content:center}button:has(>.ico){display:inline-flex;align-items:center;justify-content:center}.header-top{flex-wrap:wrap}.brand-section{min-width:0;flex:1 1 auto}.brand-section>div:last-child{min-width:0}.brand-title,.brand-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions{flex:0 0 auto;flex-wrap:nowrap}#room-code-label{white-space:nowrap}.header-top>.room-badge{order:3;flex:0 0 auto;min-width:max-content}@media(max-width:720px){.header-actions{gap:var(--space-2)}}@media(max-width:560px){.brand-sub{display:none}}@media(max-width:430px){.brand-icon img{width:32px;height:32px}}@media(max-width:360px){.icon-btn{width:36px;height:36px}.header-actions{gap:4px}}.install-dismiss{width:34px;height:34px;flex:0 0 auto;border-color:transparent;background:transparent;color:var(--text-muted)}.install-banner{gap:var(--space-4)}.tab-btn{white-space:nowrap}@media(max-width:430px){.brand-title{display:none}.brand-section{flex:0 0 auto}}@media(max-width:400px){.filter-tabs{gap:2px}.tab-btn{padding-inline:var(--space-3);font-size:.85rem}.tab-badge{padding:1px 5px;font-size:.72rem}}.segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.segmented>.chip-btn{min-width:0;padding-inline:var(--space-3)}@media(max-width:420px){.segmented-stack{grid-template-columns:1fr}.settings-card{flex-direction:column;align-items:stretch;gap:var(--space-4)}.settings-card>.badge-btn{width:100%;justify-content:center}.settings-row-head{flex-wrap:wrap;gap:var(--space-2)}}.member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.member-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card)}.member-row-pending{border-style:dashed;opacity:.8}.member-identity{flex:1;min-width:0;display:flex;flex-direction:column}.member-name{font-weight:700;font-size:.95rem;overflow-wrap:anywhere}.member-you{font-weight:500;color:var(--text-muted)}.member-email{font-size:.78rem;color:var(--text-muted);overflow-wrap:anywhere}.member-tag{flex:0 0 auto;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;background:var(--primary-light);color:var(--primary)}.gate-lock{display:flex;justify-content:center;color:var(--text-dim);margin-bottom:var(--space-6)}
