.swipe-page{display:flex;flex-direction:column;align-items:center;width:100%;min-height:100vh;min-height:100dvh;padding:28px 20px calc(var(--nav-h) + 32px);gap:24px;box-sizing:border-box;overflow-y:auto}.swipe-layout{display:flex;flex-direction:column;align-items:center;gap:24px;width:100%;max-width:420px;margin-inline:auto}.swipe-main{display:flex;flex-direction:column;align-items:center;width:100%;min-width:0}.swipe-side-column{min-width:0}.swipe-mode-switch{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%;max-width:850px;margin-inline:auto}.swipe-mode-switch button{padding:12px 20px;border:1px solid var(--border);border-radius:999px;background:var(--glass-bg);color:var(--text);font:inherit;font-weight:700;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.swipe-mode-switch button:hover{transform:translateY(-1px)}.swipe-mode-switch button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.swipe-container{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:400px;height:400px;margin-inline:auto}.tinder-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%;margin-bottom:20px;padding:30px 20px 85px;overflow:hidden;background:var(--gradient-card);border:1px solid var(--border);border-radius:var(--radius, 16px);box-shadow:var(--shadow-md);backdrop-filter:blur(var(--glass-blur, 20px));-webkit-backdrop-filter:blur(var(--glass-blur, 20px));transition:box-shadow var(--transition-normal),border-color var(--transition-normal)}.tinder-card-slot{position:absolute;top:16px;left:50%;width:max-content;max-width:calc(100% - 32px);transform:translate(-50%);color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.14em;text-align:center;text-transform:uppercase}.tinder-card-title{max-width:100%;margin:0;padding:0 10px;color:var(--text);font-size:clamp(24px,5vw,34px);font-weight:800;line-height:1.2;text-align:center;overflow-wrap:anywhere}.tinder-card-actions{position:absolute;right:0;bottom:22px;left:0;display:flex;align-items:center;justify-content:center;gap:22px}.btn-swipe{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:54px;height:54px;border:0;border-radius:50%;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .15s ease}.btn-swipe:hover:not(:disabled){transform:scale(1.08)}.btn-swipe:active:not(:disabled){transform:scale(.95)}.btn-nope{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-skip{background:linear-gradient(135deg,#4b5563,#374151);color:#fff}.btn-like{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.under-card-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;box-sizing:border-box;width:100%;max-width:400px;margin-inline:auto;padding:18px;background:var(--glass-bg);border:1px solid var(--border);border-radius:var(--radius, 12px);box-shadow:var(--shadow-sm);backdrop-filter:blur(var(--glass-blur, 20px));-webkit-backdrop-filter:blur(var(--glass-blur, 20px))}.toggle-controls-compact{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 20px;width:100%}.toggle-label{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:13px;font-weight:600;cursor:pointer}.empty-deck{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;max-width:400px;height:400px;margin-inline:auto;background:var(--glass-bg);border:1px dashed var(--border-strong);border-radius:var(--radius, 16px);box-shadow:var(--shadow-sm)}.empty-deck-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;color:var(--muted);text-align:center}.portions-selector{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0;padding:8px 12px;background:var(--glass-bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.portion-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin:0 4px;padding:0;background:transparent;color:inherit;font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer}.suggested-recipes-sidebar,.suggested-recipes-panel{display:flex;flex-direction:column;gap:16px;box-sizing:border-box;width:100%;min-width:0;padding:20px;background:var(--glass-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.suggested-recipes-sidebar h3,.suggested-recipes-panel h3{display:flex;align-items:center;gap:8px;margin:0;padding-bottom:10px;color:var(--text);font-size:1.1rem;font-weight:700;border-bottom:1px solid var(--border)}.liked-recipes-section{margin-top:24px;padding:20px;border:1px solid var(--border);border-radius:var(--radius, 12px)}.liked-recipes-panel{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.liked-recipes-empty{color:var(--muted);margin:12px 0}@media(min-width:721px){.swipe-layout{display:grid;grid-template-columns:minmax(360px,440px) minmax(400px,1fr);align-items:start;justify-content:center;gap:36px;max-width:1100px}.swipe-main{align-items:center}.suggested-recipes-panel{position:sticky;top:20px;max-height:calc(100dvh - 150px);overflow-y:auto}}@media(max-width:720px){.swipe-page{padding:20px 14px calc(var(--nav-h) + 28px);gap:20px}.swipe-layout{display:flex;flex-direction:column;align-items:center;gap:20px;max-width:420px}.swipe-main{width:100%}.swipe-container,.empty-deck{width:100%;max-width:400px;height:min(400px,calc(100vw - 28px));min-height:300px}.under-card-actions{padding:16px 12px}.suggested-recipes-sidebar,.suggested-recipes-panel{width:100%;max-width:400px;margin-inline:auto}.swipe-mode-switch{gap:8px}.swipe-mode-switch button{flex:1;padding:10px 12px;font-size:13px}}.decks-page{padding:20px 16px calc(var(--nav-h) + 20px);max-width:1200px;margin-inline:auto}.decks-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.add-item-section{padding:12px;margin-block-end:24px}.add-form{display:grid;grid-template-columns:2fr repeat(4,1fr) auto;gap:12px;align-items:end}.item-card-modern{padding:var(--pad-h, 10px 12px)}.items-list{display:flex;flex-direction:column;gap:4px}.decks-tabs-modern{display:flex;flex-wrap:wrap;gap:12px;flex:1;padding:10px 14px}.item-header{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15px}.item-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}@media(max-width:720px){.deck-tab-modern{display:flex;justify-content:center;font-size:x-small;font-weight:500;width:20%}}@media(min-width:721px){.deck-tab-modern{font-size:24px;height:34px;display:inline-flex;align-items:center}.add-toggle-btn{height:34px;width:34px}}.import-page{display:flex;flex-direction:column;width:100%;max-width:900px;margin-inline:auto;padding:24px 16px calc(var(--nav-h) + 24px);gap:20px;animation:importFadeIn .35s ease both}@keyframes importFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.import-header{text-align:center;margin-block-end:8px}.import-header h2{margin:0;color:var(--text);font-size:clamp(24px,4vw,30px);font-weight:750;letter-spacing:-.035em}.import-header p{max-width:560px;margin:10px auto 0;color:var(--muted);font-size:14px;line-height:1.65}.upload-area{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:min(46vh,460px);padding:28px 20px;gap:18px;overflow:hidden;background:radial-gradient(ellipse at 50% 0%,rgba(167,139,250,.12),transparent 65%),var(--glass-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));transition:border-color var(--transition-normal),box-shadow var(--transition-normal),background var(--transition-normal)}.upload-area:hover{border-color:#a78bfa4d;box-shadow:var(--shadow-md),var(--shadow-glow)}.upload-area>*{max-width:100%}.upload-area h3{margin:0;color:var(--text);font-size:19px;font-weight:700;text-align:center}.upload-area p{max-width:440px;margin:0;color:var(--muted);font-size:14px;line-height:1.65;text-align:center}.upload-icon{display:flex;justify-content:center;align-items:center;width:76px;height:76px;color:var(--accent);background:#a78bfa1f;border:1px solid rgba(167,139,250,.22);border-radius:24px;box-shadow:0 0 32px #a78bfa1a}.upload-icon svg{width:34px;height:34px}.upload-buttons{display:grid;grid-template-columns:1fr;width:100%;max-width:560px;margin-block-start:8px;gap:12px;padding-block-end:6px}.upload-buttons button{width:100%;min-height:48px;padding:12px 18px;border-radius:var(--btn-radius);font-size:14px;font-weight:650;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.upload-buttons button:active{transform:scale(.98)}.upload-buttons button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(min-width:520px){.upload-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}.loading-card{width:100%;padding:32px 20px;background:var(--gradient-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.loading-state{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:260px;gap:16px;text-align:center}.loading-state h3{margin:0;color:var(--text);font-size:18px;font-weight:700}.loading-state p{max-width:420px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}.loading-spinner{width:42px;height:42px;border:3px solid rgba(167,139,250,.18);border-top-color:var(--accent);border-radius:50%;animation:importSpin .8s linear infinite}@keyframes importSpin{to{transform:rotate(360deg)}}.ocr-results-card{width:100%;padding:24px;background:linear-gradient(145deg,rgba(167,139,250,.055),transparent 45%),var(--gradient-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));animation:importFadeIn .3s ease both}.preview-header{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-block-end:22px;padding-block-end:16px;border-bottom:1px solid var(--border)}.preview-header h3{margin:0;color:var(--text);font-size:19px;font-weight:700;letter-spacing:-.02em}.preview-header p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.ocr-results-card h3{margin:20px 0 10px;color:var(--text);font-size:13px;font-weight:750;text-transform:uppercase;letter-spacing:.07em}.ocr-results-card h3:first-child{margin-block-start:0}.ocr-textarea{display:block;width:100%;min-height:160px;padding:14px 15px;color:var(--text);background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius);outline:none;font-family:inherit;font-size:14px;line-height:1.65;resize:vertical;margin-block-end:16px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.ocr-textarea::placeholder{color:var(--muted);opacity:.7}.ocr-textarea:hover{border-color:var(--border-strong)}.ocr-textarea:focus{background:#0f0f23f5;border-color:var(--accent);box-shadow:0 0 0 3px #a78bfa1f}.ocr-actions{display:flex;flex-direction:column;gap:12px;margin-block-start:22px;padding-block-start:18px;border-top:1px solid var(--border)}.ocr-actions button{width:100%;min-height:44px;padding:11px 16px;border-radius:var(--btn-radius);font-size:14px;font-weight:650;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.ocr-actions button:active{transform:scale(.98)}.ocr-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.import-page .error-message,.import-page .import-error{padding:12px 15px;color:#fecaca;background:#f8717117;border:1px solid rgba(248,113,113,.24);border-radius:var(--radius);font-size:13px;line-height:1.55}.import-page .success-message,.import-page .import-success{padding:12px 15px;color:#a7f3d0;background:#34d39914;border:1px solid rgba(52,211,153,.22);border-radius:var(--radius);font-size:13px;line-height:1.55}@media(min-width:720px){.import-page{padding:32px 24px calc(var(--nav-h) + 32px);gap:24px}.upload-area{padding:40px 32px}.upload-buttons{gap:14px}.ocr-results-card{padding:30px}.ocr-actions{flex-direction:row;justify-content:flex-end;align-items:center}.ocr-actions button{width:auto;min-width:150px}}@media(max-width:480px){.import-page{padding:18px 12px calc(var(--nav-h) + 20px);gap:16px}.import-header h2{font-size:24px}.upload-area{min-height:320px;padding:24px 16px;gap:14px}.upload-icon{width:64px;height:64px;border-radius:20px}.upload-icon svg{width:29px;height:29px}.upload-area h3{font-size:17px}.upload-buttons{gap:10px}.ocr-results-card{padding:18px 15px}.preview-header{align-items:flex-start;gap:10px}.preview-header h3{font-size:17px}.ocr-textarea{min-height:140px;padding:12px}.ocr-actions{gap:10px}}@media(prefers-reduced-motion:reduce){.import-page,.ocr-results-card,.loading-spinner{animation:none}.upload-area,.upload-buttons button,.ocr-textarea,.ocr-actions button{transition:none}}.ideas-page{max-width:var(--page-max);margin-inline:auto;padding:20px 16px calc(var(--nav-h) + 20px)}.ideas-header{display:grid;grid-auto-flow:column;justify-content:space-between;align-items:center;margin-bottom:16px}.ideas-header h2{margin:0;font:700 24px sans-serif;color:#fff}.ideas-header-actions{display:grid;grid-auto-flow:column;align-items:center;gap:5px;flex-shrink:0}.ideas-header>div:first-child{display:flex;align-items:center;gap:10px}.refresh-btn,.ideas-add-btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;flex:0 0 auto}.recipe-count{background:var(--gradient-accent);color:#fff;font:700 14px sans-serif;padding:4px 12px;border-radius:8px}.recipe-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.recipe-modal{max-width:640px;width:100%;height:90vh;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(180deg,#1e1e32fa,#141426fa);border-radius:8px;border:1px solid var(--border);padding:0}.recipe-modal-header{position:sticky;top:0;z-index:2;display:flex;flex-direction:column;gap:10px;padding:12px 18px;background:linear-gradient(180deg,#19192dfa,#19192de0);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06)}.recipe-modal-header h2{margin:0;font-size:1.5rem;color:var(--text)}.modal-close-btn{background:none;border:none;cursor:pointer;color:var(--muted);padding:4px;display:flex;align-items:center;justify-content:center;border-radius:8px}.recipe-modal-content{overflow-y:auto;padding:1.5rem}.recipe-modal-section{margin-bottom:1.5rem}.recipe-modal-section:last-child{margin-bottom:0}.recipe-modal-section h3{font-size:1.2rem;color:var(--text);margin-bottom:.75rem}.recipe-modal-section ul{list-style:none;padding:0}.recipe-modal-section li{padding:.5rem 0;border-bottom:1px solid var(--border);color:var(--muted)}.recipe-modal-section pre{background:#0f0f2380;padding:1rem;border-radius:8px;line-height:1.6;color:var(--muted)}.modal-header-top{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding-top:0}.modal-header-top h2{margin:0;font-size:1.4rem;color:var(--text);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-header-tabs{display:flex;gap:6px;flex-wrap:wrap}.modal-header-tabs .tab{background:#ffffff0d;border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:14px;color:var(--text);cursor:pointer}.modal-header-tabs .tab.active{background:var(--accent);color:#fff;border-color:transparent}.refresh-btn{width:38px;height:38px;aspect-ratio:1;border-radius:8px;background:#ffffff0d;border:1px solid var(--border);color:var(--text);display:flex;place-content:center;place-items:center;cursor:pointer}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.recipe-search{margin-block-end:20px}.recipes-container{display:grid;gap:var(--gap, 4px)}.recipe-header{display:flex;justify-content:space-between;align-items:var(--align, center);border-radius:8px;padding:var(--pad-h, 10px 12px);cursor:pointer}.recipe-nutrition-collapsed{display:flex;gap:var(--gap-nut, 6px);margin-block-start:4px;font-size:var(--fs-nut, 11px);color:var(--muted)}.recipe-expanded{padding:var(--pad-exp, 0 12px 10px);animation:slideDown .3s ease}.recipe-tabs{display:flex;gap:var(--gap-tab, 4px);margin-block-end:var(--mb-tab, 10px)}.recipe-toggle-icon{color:#fff;flex-shrink:0}.recipe-tabs .tab.active{color:var(--accent);border-bottom-color:var(--accent)}.recipe-edit{display:flex;flex-wrap:wrap;gap:8px;margin-block:10px}.recipe-planner{background:#ffffff0d;border-radius:8px;padding:12px;margin-block:12px;width:100%}.planner-label{display:flex;align-items:center;gap:8px;font:600 14px sans-serif;color:var(--text);margin-block-end:8px}.weekday-select{flex:1;max-width:200px;padding:10px 14px;background:var(--input-bg);border-radius:var(--radius);color:var(--text);font:14px inherit;cursor:pointer}.weekday-select:focus{outline:0;border-color:var(--accent)}.weekday-select option{background:var(--bg2);color:var(--text)}.tab-content{margin-block-start:16px}.recipe-ingredients ul{margin:0;padding-inline-start:20px}.recipe-ingredients li{margin-block-end:8px;line-height:1.5}:is(.recipe-ingredients,.recipe-steps) pre{margin:0;font:inherit;color:var(--text);line-height:1.6;white-space:pre-wrap}.empty-ideas-state{display:flex;flex-direction:column;place-content:center;align-items:center;height:100%;gap:12px;padding:40px 20px;color:var(--muted)}.empty-ideas-state h3{margin:0;font:600 20px sans-serif;color:var(--text)}.empty-ideas-state p{margin:0;font-size:14px}.ideas-add-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:none;cursor:pointer}.recipe-planner{background:linear-gradient(180deg,#ffffff0f,#ffffff09);border:1px solid var(--border);border-radius:8px;padding:16px;width:100%}.recipe-planner input[type=date],.recipe-planner .weekday-select{min-height:46px;padding:0 14px;background:#0a0a198c;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text);font:500 15px sans-serif}.recipe-planner input[type=date]:focus,.recipe-planner .weekday-select:focus{outline:none;border-color:var(--accent);background:#0a0a19b8}.plan-btn:disabled{opacity:.45;cursor:not-allowed}.recipe-modal-content{overflow-y:auto;padding:18px}.recipe-edit{display:grid;gap:12px;margin-top:18px}.recipe-planner{background:linear-gradient(180deg,#ffffff0d,#ffffff08);border:1px solid var(--border);border-radius:8px;padding:12px}.planner-label{font:600 14px sans-serif;color:var(--text);margin-bottom:8px}.recipe-planner input[type=date]{height:48px;padding:0 14px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#0a0a1999;color:var(--text);font:500 14px sans-serif}.plan-btn{height:48px;padding:0 16px;border-radius:8px;border:none;background:var(--gradient-accent);color:#fff;font:600 14px sans-serif;cursor:pointer}.recipe-action-group{display:grid;gap:10px}.shoppinglist-btn,.edit-recipe-btn{width:100%;height:52px;border-radius:8px;font:600 15px sans-serif;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.shoppinglist-btn{background:var(--gradient-accent);color:#fff;border:none}.edit-recipe-btn{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:var(--text)}.ideas-checkbox{height:25px;font-size:14px;align-items:var(--align, center)}.modal-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%}.modal-header-top h2{flex:1;margin:0;font-size:1.3rem;color:var(--text);line-height:1.3;white-space:normal;word-break:break-word;overflow-wrap:break-word}.modal-header-tabs{display:flex;gap:6px;flex-wrap:wrap;width:100%;padding-top:4px;border-top:1px solid rgba(255,255,255,.04)}.auto-plan-container{margin-bottom:12px;width:100%}.auto-plan-btn{width:100%}.recipe-list-controls{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.recipe-view-tabs{display:flex;gap:8px}.recipe-view-tab{flex:1;min-height:42px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:#ffffff0d;color:var(--text);font:600 14px sans-serif;cursor:pointer;transition:background .2s ease,border-color .2s ease}.recipe-view-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.recipe-sort-row{display:flex;align-items:center;gap:10px}.recipe-sort-row label{flex-shrink:0;color:var(--muted);font:500 13px sans-serif}.recipe-sort-select{flex:1;min-width:0;min-height:42px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:#0a0a1999;color:var(--text);font:14px sans-serif}.recipe-sort-select:focus{outline:none;border-color:var(--accent)}.recipe-sort-select option{background:var(--bg2);color:var(--text)}.recipe-card-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;flex:1}.recipe-card-title{min-width:0;overflow-wrap:anywhere}.recipe-favorite-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;padding:0;border:1px solid var(--border);border-radius:8px;background:#ffffff0d;color:var(--muted);cursor:pointer;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .15s ease}.recipe-favorite-btn:hover{border-color:#f87171;color:#f87171}.recipe-favorite-btn.active{color:#fb7185;border-color:#fb7185;background:#fb71851f}.recipe-favorite-btn:active{transform:scale(.94)}.recipe-favorite-btn:focus-visible,.recipe-view-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.empty-favorites-state{padding:36px 20px;text-align:center;color:var(--muted)}.empty-favorites-state h3{margin:0 0 8px;color:var(--text);font:600 18px sans-serif}.empty-favorites-state p{margin:0;font-size:14px;line-height:1.5}.swipe-recipe-filter{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 16px;background:var(--glass-bg);border:1px solid var(--border);border-radius:var(--radius, 12px)}.swipe-recipe-filter p{margin:5px 0 0;color:var(--muted);font-size:.9rem}.swipe-recipe-filter-clear{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:999px;font:inherit;cursor:pointer}@media(max-width:720px){.recipe-modal{height:100dvh;max-width:100%;border-radius:0}.recipe-modal-content{padding:16px}.recipe-planner{padding:14px;border-radius:8px}.recipe-planner input[type=date],.plan-btn,.shoppinglist-btn,.edit-recipe-btn{width:100%}.shoppinglist-btn,.edit-recipe-btn{min-height:54px;font-size:15px}.recipe-count{max-width:90px;align-items:center}}@media(min-width:721px){.recipe-count{font:700 20px sans-serif;display:inline-flex;align-items:center}.ideas-header h2{margin:0;font:700 20px sans-serif;color:#fff}.recipe-list-controls{flex-direction:row;align-items:center;justify-content:space-between}.recipe-view-tabs{flex:0 0 auto}.recipe-sort-row{min-width:230px}}.shopping-list-page{display:flex;flex-direction:column;width:100%;min-height:100%;padding:20px 16px calc(var(--nav-h) + 24px);gap:20px;color:var(--text);text-align:left}.shopping-header{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%}.shopping-header-content{display:flex;align-items:center;gap:12px;min-width:0}.shopping-header-content>svg{flex-shrink:0;color:var(--accent)}.shopping-header-content h1{margin:0;color:var(--text);font-size:22px;font-weight:750;line-height:1.25;letter-spacing:-.025em}.shopping-header-actions{display:flex;flex:1;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:10px;min-width:0}.item-count-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;min-width:34px;height:34px;padding:0 8px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:var(--gradient-accent);color:#fff;font-size:13px;font-weight:750;font-variant-numeric:tabular-nums;box-shadow:0 4px 14px #818cf826}.add-shopping-item{gap:16px;padding:18px;background:var(--gradient-card);border-color:var(--border);box-shadow:var(--shadow-md)}.add-shopping-item h2,.add-shopping-item h3{color:var(--text);font-size:16px;font-weight:700;line-height:1.4}.shopping-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%}.shopping-input-row input,.shopping-input-row select{min-width:0;min-height:42px}.shopping-input-row select{max-width:180px}.item-amount-input{width:120px;max-width:100%}.add-toggle-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:var(--gradient-accent);color:#fff;cursor:pointer;box-shadow:0 4px 14px #818cf826;transition:transform var(--transition-fast),filter var(--transition-fast),box-shadow var(--transition-normal)}.add-toggle-btn:hover{filter:brightness(1.1);box-shadow:var(--shadow-glow)}.add-toggle-btn:active{transform:scale(.96)}.add-toggle-btn svg{width:18px;height:18px;flex-shrink:0}.add-toggle-btn svg.rotate-45{transform:rotate(45deg)}.add-item-btn{display:inline-flex;align-items:center;justify-content:center;width:46px;min-width:46px;min-height:42px;padding:0;border:1px solid transparent;border-radius:12px;background:var(--gradient-accent);color:#fff;transition:transform var(--transition-fast),filter var(--transition-fast)}.add-item-btn:hover{filter:brightness(1.1)}.add-item-btn:active{transform:scale(.96)}.shopping-list-content{display:flex;flex:1 1 auto;flex-direction:column;gap:24px;min-height:0;padding-inline-end:2px}.shopping-section,.shopping-items{display:flex;flex-direction:column;gap:12px;min-width:0}.shopping-items{gap:8px}.shopping-category-group{margin-top:18px}.shopping-category-title{margin:0 0 10px;padding-left:4px;color:var(--muted);font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.section-title{margin:0;color:var(--muted);font-size:12px;font-weight:750;line-height:1.4;text-transform:uppercase;letter-spacing:.08em}.shopping-item{display:flex;align-items:center;gap:12px;min-width:0;min-height:58px;height:auto;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:#1e1e32a6;box-shadow:var(--shadow-sm);transition:background var(--transition-normal),border-color var(--transition-normal),transform var(--transition-fast)}.shopping-item:hover{background:#282841c7;border-color:var(--border-strong)}.shopping-item>*{min-width:0}.shopping-item .item-info{flex:1;min-width:0}.shopping-item .item-name{overflow-wrap:anywhere;color:var(--text);font-size:14px;font-weight:600;line-height:1.4}.shopping-item .item-amount{color:var(--muted);font-size:12px;line-height:1.4}.check-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;min-width:34px;padding:0;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.check-btn:hover{background:#a78bfa1a;border-color:#a78bfa38;color:var(--accent)}.checkbox{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;border:2px solid rgba(226,232,240,.65);border-radius:50%;color:var(--accent);transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.checkbox.checked{border-color:var(--accent);background:#a78bfa1f}.delete-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;margin-left:auto;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.delete-btn:hover{background:#f871711a;border-color:#f8717133;color:var(--danger)}.clear-btn{min-height:34px;height:34px;border-radius:10px}.shopping-filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;width:100%}.shopping-filter-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:32px;max-width:100%;padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:#ffffff0a;color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.shopping-filter-btn:hover{border-color:#a78bfa66;background:#a78bfa14;color:var(--text)}.shopping-filter-btn.active,.shopping-filter-btn[aria-pressed=true]{border-color:#a78bfa80;background:#a78bfa26;color:var(--accent-hover)}.empty-state-shopping{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:36px 20px;text-align:center;color:var(--muted)}.empty-state-shopping svg,.empty-state-shopping img{margin-bottom:8px;color:var(--accent)}.empty-state-shopping h3,.empty-state-shopping .empty-title{margin-bottom:4px;color:var(--text);font-size:16px;font-weight:700}.empty-state-shopping p{max-width:360px;color:var(--muted);font-size:13px;line-height:1.6}@media(min-width:721px){.shopping-list-page{width:100%;max-width:960px;margin-inline:auto;padding:28px 24px calc(var(--nav-h) + 28px);gap:24px}.shopping-header-content h1{font-size:26px}.shopping-item{padding:14px 16px}}@media(max-width:720px){.shopping-list-page{padding:16px 12px calc(var(--nav-h) + 20px);gap:16px}.shopping-header{gap:10px}.shopping-header-content{gap:9px}.shopping-header-content h1{font-size:20px}.shopping-header-actions{gap:8px}.add-shopping-item{padding:14px;gap:14px}.shopping-input-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.shopping-input-row input:first-child{grid-column:1 / -1}.shopping-input-row select{max-width:none}.item-amount-input{width:100%}.shopping-item{gap:8px;padding:11px 10px}.shopping-filter-bar{gap:6px}.shopping-filter-btn{padding-inline:10px}}@media(max-width:380px){.shopping-header-content h1{font-size:18px}.item-count-badge{width:30px;min-width:30px;height:30px;padding-inline:4px}.shopping-input-row{grid-template-columns:minmax(0,1fr)}.shopping-input-row input:first-child{grid-column:auto}.shopping-input-row select,.shopping-input-row .btn,.shopping-input-row .add-item-btn{width:100%;max-width:none}.shopping-item{gap:6px;padding-inline:8px}}.planner-page{width:100%;max-width:1200px;min-width:0;margin-inline:auto;padding:24px 20px calc(var(--nav-h) + 28px);color:var(--text)}.planner-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-block-end:24px}.planner-header h1,.planner-header h2{margin:0;color:var(--text);font-size:clamp(24px,3vw,32px);font-weight:750;line-height:1.2;letter-spacing:-.03em}.planner-controls,.calendar-nav,.view-toggle{display:flex;align-items:center;gap:8px}.planner-controls{min-height:38px;flex-wrap:wrap}.calendar-nav .btn,.planner-controls>.btn{min-height:38px;border-radius:12px}.calendar-nav .btn{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0}.calendar-nav svg{display:block;flex-shrink:0}.view-toggle{padding:4px;border:1px solid var(--border);border-radius:14px;background:#0f0f23b3}.view-toggle button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:34px;padding:0;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.view-toggle button:hover{color:var(--text);background:#ffffff0d}.view-toggle button.active{background:var(--gradient-accent);color:#fff;box-shadow:0 3px 12px #818cf82e}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(72px,auto);align-items:stretch;gap:8px;width:100%;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#14142694;box-shadow:var(--shadow-md);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.weekday-label{display:flex;align-items:center;justify-content:center;min-width:0;min-height:28px;margin:0;color:var(--muted);font-size:11px;font-weight:700;text-align:center;text-transform:uppercase;letter-spacing:.08em}.calendar-grid:not(.week-grid) .weekday-label{min-height:24px}.calendar-day,.calendar-day.clickable-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-width:0;min-height:72px;aspect-ratio:auto;gap:6px;padding:8px 4px;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:#ffffff09;color:var(--text);transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.calendar-day.clickable-day{cursor:pointer}.calendar-day.clickable-day:hover{background:#a78bfa17;border-color:#a78bfa61}.calendar-day.is-today{border-color:var(--accent);box-shadow:inset 0 0 0 1px #a78bfa1f}.calendar-day.is-today .day-number{color:var(--accent-hover)}.calendar-day:after{content:"";flex-shrink:0;width:6px;height:6px;border-radius:50%;background:transparent}.day-number{color:var(--text);font-size:13px;font-weight:700;line-height:1.3;font-variant-numeric:tabular-nums}.day-recipe-title{display:none;min-width:0;margin:0;overflow:hidden;color:var(--text);font-size:13px;font-weight:600;line-height:1.4;text-overflow:ellipsis}.day-actions{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0}.day-actions button,.calendar-grid:not(.week-grid) .add-plan-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:9px;background:#ffffff0e;color:var(--muted);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.day-actions button:hover,.calendar-grid:not(.week-grid) .add-plan-btn:hover{background:#a78bfa26;border-color:#a78bfa59;color:var(--accent-hover)}.calendar-grid:not(.week-grid) .day-actions{display:flex;align-items:center;justify-content:center;gap:4px;width:100%}.calendar-grid:not(.week-grid) .add-plan-btn{align-self:center;margin:auto}.calendar-grid.week-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;row-gap:8px;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.calendar-grid.week-grid .weekday-label{justify-content:flex-start;padding-inline:12px}.calendar-grid.week-grid .calendar-day,.calendar-grid.week-grid .calendar-day.clickable-day{display:grid;grid-template-columns:56px 70px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:66px;padding:10px 14px;aspect-ratio:auto;border:1px solid var(--border);border-radius:14px;background:#1e1e32a6}.calendar-grid.week-grid .calendar-day.clickable-day:hover{background:#282841d9}.calendar-grid.week-grid .day-content,.calendar-grid.week-grid .day-main,.calendar-grid.week-grid .day-center{display:flex;align-items:center;justify-content:flex-start;min-width:0}.calendar-grid.week-grid .day-number{grid-column:1;justify-self:start;align-self:center;color:var(--text);font-size:14px;font-weight:750;text-align:left}.calendar-grid.week-grid .day-name,.calendar-grid.week-grid .weekday-name,.calendar-grid.week-grid .day-weekday,.calendar-grid.week-grid .weekday-label{color:var(--muted);font-size:12px;font-weight:600;text-align:left}.calendar-grid.week-grid .day-recipe-title{display:block;grid-column:3;align-self:center;justify-self:stretch;width:100%;white-space:nowrap}.calendar-grid.week-grid .day-actions{grid-column:4;justify-self:end;align-self:center;display:flex;align-items:center;justify-content:flex-end;gap:6px}.calendar-grid.week-grid .day-actions button{width:30px;height:30px;border-radius:10px}.recipe-modal{display:flex;flex-direction:column;width:min(100%,600px);max-height:90vh;max-height:90dvh;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--gradient-card);color:var(--text);box-shadow:var(--shadow-md);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.recipe-modal-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:16px;padding:20px 24px;border-bottom:1px solid var(--border)}.recipe-modal-header h1,.recipe-modal-header h2,.recipe-modal-header h3{color:var(--text)}.recipe-modal-section{min-height:0;overflow-y:auto;padding:20px 24px}.recipe-modal-section ul{padding:0;list-style:none}.recipe-modal-section li{padding-block:8px;border-bottom:1px solid rgba(255,255,255,.06);color:var(--text)}.recipe-modal-section li:last-child{border-bottom:none}.planner-stock-status{display:inline-flex;align-items:center;width:fit-content;max-width:100%;margin-top:5px;padding:3px 7px;border:1px solid var(--border);border-radius:7px;color:var(--muted);font-size:10px;line-height:1.4;overflow-wrap:anywhere}.planner-stock-status.is-available{color:#6ee7b7;border-color:#34d39933;background:#10b98114}.planner-stock-status.is-missing{color:#fcd34d;border-color:#fbbf2433;background:#fbbf2412}.planner-stock-status.is-unknown{color:#c4b5fd;border-color:#a78bfa33;background:#a78bfa12}.calendar-grid.week-grid .day-content{flex-direction:column;align-items:flex-start;gap:3px}@media(max-width:420px){.planner-stock-status{font-size:9px;padding:2px 5px}}@media(min-width:721px){.planner-page{padding:28px 24px calc(var(--nav-h) + 32px)}.calendar-grid:not(.week-grid){grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(76px,auto);gap:8px;width:100%;padding:16px}.calendar-grid:not(.week-grid) .calendar-day,.calendar-grid:not(.week-grid) .calendar-day.clickable-day{width:100%;min-width:0;min-height:76px;height:auto;padding:8px;aspect-ratio:auto;border-radius:14px}.calendar-grid.week-grid .calendar-day,.calendar-grid.week-grid .calendar-day.clickable-day{grid-template-columns:72px 88px minmax(0,1fr) auto;min-height:68px;padding:12px 16px;gap:20px}.calendar-grid.week-grid .day-recipe-title{font-size:14px}.calendar-grid.week-grid .day-actions{gap:8px}}@media(max-width:720px){.planner-page{padding:16px 12px calc(var(--nav-h) + 24px)}.planner-header{align-items:flex-start;margin-block-end:18px}.planner-header h1,.planner-header h2{font-size:25px}.planner-controls{gap:6px}.calendar-grid{gap:5px;padding:10px;border-radius:16px}.calendar-grid:not(.week-grid){grid-auto-rows:minmax(54px,auto)}.calendar-grid:not(.week-grid) .calendar-day,.calendar-grid:not(.week-grid) .calendar-day.clickable-day{min-height:54px;padding:6px 2px;gap:4px;border-radius:10px}.weekday-label{font-size:9px;letter-spacing:.04em}.day-number{font-size:12px}.calendar-grid:not(.week-grid) .day-actions button,.calendar-grid:not(.week-grid) .add-plan-btn{width:24px;height:24px}.calendar-grid.week-grid .calendar-day,.calendar-grid.week-grid .calendar-day.clickable-day{grid-template-columns:48px 58px minmax(0,1fr) auto;gap:8px;min-height:62px;padding:10px}.calendar-grid.week-grid .day-number{font-size:12px}.calendar-grid.week-grid .day-name,.calendar-grid.week-grid .weekday-name,.calendar-grid.week-grid .day-weekday{font-size:11px}.calendar-grid.week-grid .day-actions{gap:4px}.calendar-grid.week-grid .day-actions button{width:28px;height:28px}.recipe-modal-header,.recipe-modal-section{padding:16px}}@media(max-width:420px){.planner-header{flex-direction:column;align-items:stretch}.planner-controls{justify-content:space-between}.calendar-grid{gap:3px;padding:7px}.calendar-grid:not(.week-grid) .calendar-day,.calendar-grid:not(.week-grid) .calendar-day.clickable-day{min-height:46px;padding:4px 1px;border-radius:8px}.calendar-grid:not(.week-grid) .day-actions button,.calendar-grid:not(.week-grid) .add-plan-btn{width:21px;height:21px}.calendar-grid.week-grid .calendar-day,.calendar-grid.week-grid .calendar-day.clickable-day{grid-template-columns:38px 48px minmax(0,1fr) auto;gap:5px;padding:8px 6px}.calendar-grid.week-grid .day-recipe-title{font-size:11px}.calendar-grid.week-grid .day-actions{gap:2px}.calendar-grid.week-grid .day-actions button{width:25px;height:25px}}.account-page-modern{min-height:100%;padding:24px 20px calc(var(--nav-h) + 32px);background:radial-gradient(circle at 50% 0%,rgba(139,92,246,.12),transparent 38%),var(--bg);color:var(--text)}.account-topbar{display:flex;align-items:center;margin-bottom:28px}.icon-btn{width:42px;height:42px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#ffffff0b;color:var(--text);display:inline-flex;align-items:center;justify-content:center;padding:6px;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.icon-btn:hover{background:#8b5cf624;border-color:#a78bfa4d}.icon-btn:active{transform:scale(.96)}.account-hero{display:flex;flex-direction:column;align-items:center;gap:20px;margin-bottom:34px;text-align:center}.account-hero h1{margin:0;font-size:2rem;font-weight:750;letter-spacing:-.045em;background:linear-gradient(135deg,var(--text) 20%,#c4b5fd 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.profile-avatar{width:144px;height:144px;border-radius:50%;object-fit:cover;border:3px solid rgba(167,139,250,.65);box-shadow:0 0 0 6px #8b5cf614,0 12px 36px #00000040,0 0 28px #8b5cf629}.account-section-list{overflow:hidden;border:1px solid rgba(255,255,255,.075);border-radius:20px;background:#ffffff09;box-shadow:0 12px 30px #0000001f;margin-bottom:24px;padding:0 16px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.profile-row{position:relative;width:100%;border:none;border-bottom:1px solid rgba(255,255,255,.07);background:transparent;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:19px 4px;text-align:left;cursor:pointer;transition:background .2s ease,padding .2s ease}.profile-row:last-child{border-bottom:none}.profile-row:hover{background:#8b5cf612}.profile-row:active{background:#8b5cf61f}.profile-row-text{display:flex;flex-direction:column;gap:6px;min-width:0}.profile-label{font-size:.84rem;font-weight:500;letter-spacing:.015em;color:var(--muted)}.profile-value{font-size:1rem;font-weight:550;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.profile-value.single{font-size:1rem}.profile-row svg{flex-shrink:0;color:var(--muted);transition:color .2s ease,transform .2s ease}.profile-row:hover svg{color:#c4b5fd;transform:translate(2px)}.profile-row.danger .profile-value.single{color:var(--danger)}.profile-row.danger:hover{background:#f8717112}.account-logout-wrap{display:flex;justify-content:center;padding-top:8px}.logout-btn-modern{width:100%;max-width:320px;min-height:50px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:linear-gradient(135deg,#8b5cf629,#8b5cf612);color:var(--text);font-size:.96rem;font-weight:650;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}.logout-btn-modern:hover{background:#8b5cf638;border-color:#a78bfa4d;box-shadow:0 8px 24px #00000029}.logout-btn-modern:active{transform:scale(.98)}.icon-btn:focus-visible,.profile-row:focus-visible,.logout-btn-modern:focus-visible{outline:2px solid #a78bfa;outline-offset:3px}@media(max-width:720px){.account-page-modern{padding:18px 16px calc(var(--nav-h) + 28px)}.account-topbar{margin-bottom:24px}.account-hero{gap:18px;margin-bottom:28px}.account-hero h1{font-size:1.8rem}.profile-avatar{width:132px;height:132px}.account-section-list{padding-inline:12px;border-radius:18px}.profile-row{padding:17px 4px;gap:10px}.profile-value{font-size:.96rem}.logout-btn-modern{max-width:none}}@media(prefers-reduced-motion:reduce){.icon-btn,.profile-row,.profile-row svg,.logout-btn-modern{transition:none}}.pantry-page{--pantry-surface: rgba(30, 30, 50, .6);--pantry-surface-strong: rgba(40, 40, 65, .9);--pantry-border: rgba(255, 255, 255, .09);--pantry-muted: #9ca3af;--pantry-text: #f1f5f9;--pantry-green: #10b981;--pantry-green-dark: #059669;--pantry-accent: var(--accent, #a78bfa);display:flex;flex-direction:column;align-items:center;gap:22px;width:100%;min-height:100vh;padding:16px 12px calc(var(--nav-h, 70px) + 24px);color:var(--pantry-text);box-sizing:border-box;overflow-y:auto}.pantry-page *,.pantry-page *:before,.pantry-page *:after{box-sizing:border-box}.pantry-page button,.pantry-page input,.pantry-page select{font-family:inherit}.pantry-page button{-webkit-tap-highlight-color:transparent}.pantry-hero{position:relative;width:100%;max-width:850px;overflow:hidden;padding:24px;border:1px solid var(--pantry-border);border-radius:var(--radius, 16px);background:radial-gradient(circle at 100% 0%,rgba(167,139,250,.12),transparent 38%),linear-gradient(135deg,#282841e6,#141426f2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.pantry-hero-top{display:flex;align-items:center;gap:12px}.pantry-hero-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;flex-shrink:0;color:var(--pantry-accent);border:1px solid rgba(167,139,250,.18);border-radius:14px;background:#a78bfa1a}.pantry-hero-label{display:flex;flex-direction:column;gap:5px}.pantry-hero-label>span:first-child{color:var(--pantry-accent);font-size:10px;font-weight:800;letter-spacing:.18em}.pantry-status{display:flex;align-items:center;gap:7px;color:var(--pantry-muted);font-size:12px}.pantry-status-dot{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 8px #10b98173}.pantry-hero-content{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:25px}.pantry-hero-content>div:first-child{max-width:560px}.pantry-hero-content h1{margin:0;color:#fff;font-size:clamp(25px,5vw,34px);font-weight:800;line-height:1.2;letter-spacing:-.6px}.pantry-hero-content p{max-width:440px;margin:10px 0 0;color:#aab2c2;font-size:13px;line-height:1.7}.pantry-hero-decoration{display:flex;align-items:center;justify-content:center;width:90px;height:90px;flex-shrink:0;color:#a78bfa8c;border:1px solid rgba(167,139,250,.14);border-radius:24px;background:#a78bfa0f;transform:rotate(4deg)}.pantry-stats{display:flex;align-items:center;gap:22px;width:fit-content;margin-top:24px;padding:13px 17px;border:1px solid var(--pantry-border);border-radius:var(--radius, 12px);background:#0f0f1e59}.pantry-stat{display:flex;flex-direction:column;gap:4px}.pantry-stat-number{color:#fff;font-size:22px;font-weight:800}.pantry-stat-label{color:var(--pantry-muted);font-size:11px}.pantry-stat-divider{width:1px;height:34px;background:#ffffff1f}.pantry-toolbar,.pantry-inventory,.pantry-tip{width:100%;max-width:850px}.pantry-section-heading,.pantry-inventory-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.pantry-eyebrow{color:var(--pantry-accent);font-size:10px;font-weight:700;letter-spacing:.14em}.pantry-section-heading h2,.pantry-inventory-heading h2{margin:6px 0 0;color:#f8fafc;font-size:22px;font-weight:800;letter-spacing:-.4px}.pantry-add-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 15px;color:#fff;border:0;border-radius:var(--radius, 12px);background:linear-gradient(135deg,#10b981,#059669);cursor:pointer;font-size:13px;font-weight:700;transition:transform .15s ease,filter .15s ease}.pantry-add-toggle:hover{filter:brightness(1.08);transform:translateY(-1px)}.pantry-add-toggle:active{transform:scale(.97)}.pantry-add-toggle.is-open{color:#e2e8f0;border:1px solid var(--pantry-border);background:#4b55638c}.pantry-add-form{margin-top:16px;padding:20px;border:1px solid var(--pantry-border);border-radius:var(--radius, 16px);background:var(--pantry-surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:pantry-appear .18s ease-out}.pantry-form-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}.pantry-form-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;color:var(--pantry-accent);border:1px solid rgba(167,139,250,.14);border-radius:12px;background:#a78bfa1a}.pantry-form-heading h3{margin:0;color:#f8fafc;font-size:16px;font-weight:700}.pantry-form-heading p{margin:5px 0 0;color:var(--pantry-muted);font-size:12px}.pantry-form-fields{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.pantry-field{display:flex;flex-direction:column;gap:8px;min-width:0}.pantry-field>span:first-child{color:#cbd5e1;font-size:12px;font-weight:600}.pantry-field-full{grid-column:1 / -1}.pantry-page .pantry-field input,.pantry-page .pantry-field select{width:100%;min-width:0;min-height:43px;padding:10px 12px;color:#f1f5f9;border:1px solid rgba(255,255,255,.12);border-radius:10px;outline:none;background:#0f0f1ea6;font-size:13px;transition:border-color .15s ease,box-shadow .15s ease}.pantry-page .pantry-field select{color-scheme:dark}.pantry-page .pantry-field select option{color:#f1f5f9;background:#202033}.pantry-page .pantry-field input:focus,.pantry-page .pantry-field select:focus{border-color:var(--pantry-accent);box-shadow:0 0 0 3px #a78bfa1f}.pantry-page .pantry-field input::placeholder{color:#788397}.pantry-select-wrap{position:relative;display:block}.pantry-select-wrap select{appearance:none;padding-right:34px!important;cursor:pointer}.pantry-select-wrap>svg{position:absolute;top:50%;right:11px;color:#9ca3af;pointer-events:none;transform:translateY(-50%)}.pantry-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;color:#fff;border:0;border-radius:var(--radius, 12px);background:linear-gradient(135deg,#10b981,#059669);cursor:pointer;font-size:13px;font-weight:700;transition:transform .15s ease,filter .15s ease,opacity .15s ease}.pantry-submit:hover:not(:disabled){filter:brightness(1.08)}.pantry-submit:active:not(:disabled){transform:scale(.98)}.pantry-submit:disabled{opacity:.45;cursor:not-allowed}.pantry-add-form>.pantry-submit{width:100%;margin-top:18px}.pantry-search{display:flex;align-items:center;gap:11px;min-height:47px;margin-top:18px;padding:0 14px;color:#9ca3af;border:1px solid var(--pantry-border);border-radius:var(--radius, 12px);background:var(--pantry-surface);transition:border-color .15s ease,box-shadow .15s ease}.pantry-search:focus-within{border-color:#a78bfa8c;box-shadow:0 0 0 3px #a78bfa14}.pantry-search input{width:100%;min-width:0;padding:12px 0;color:#f1f5f9;border:0;outline:0;background:transparent;font-size:13px}.pantry-search input::placeholder{color:#8992a4}.pantry-search>button{display:flex;align-items:center;justify-content:center;width:29px;height:29px;flex-shrink:0;color:#cbd5e1;border:0;border-radius:8px;background:#ffffff14;cursor:pointer}.pantry-category-list{display:flex;gap:8px;margin-top:14px;padding:1px 0 5px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.pantry-category-chip{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:37px;padding:0 11px;flex-shrink:0;color:#cbd5e1;border:1px solid var(--pantry-border);border-radius:var(--radius, 12px);background:#1e1e3273;cursor:pointer;font-size:11px;font-weight:600;transition:background .15s ease,border-color .15s ease,color .15s ease}.pantry-category-chip:hover{border-color:#a78bfa59}.pantry-category-chip.active{color:#e9e2ff;border-color:#a78bfa66;background:#8b5cf629}.pantry-chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;color:#cbd5e1;border-radius:7px;background:#ffffff14;font-size:10px}.pantry-category-chip.active .pantry-chip-count{color:#e9e2ff;background:#a78bfa33}.pantry-inventory{margin-top:2px}.pantry-inventory-heading{margin-bottom:15px}.pantry-inventory-heading h2{font-size:20px}.pantry-inventory-heading p{margin:6px 0 0;color:var(--pantry-muted);font-size:12px}.pantry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pantry-item-card{min-width:0;padding:16px;border:1px solid var(--pantry-border);border-radius:var(--radius, 16px);background:linear-gradient(145deg,#282841bf,#141426d9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:transform .15s ease,border-color .15s ease,background .15s ease}.pantry-item-card:hover{border-color:#a78bfa40;background:linear-gradient(145deg,#2d2d48e6,#19192bf2);transform:translateY(-2px)}.pantry-item-card.is-editing{border-color:#a78bfa66}.pantry-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.pantry-item-icon{display:flex;align-items:center;justify-content:center;width:43px;height:43px;flex-shrink:0;color:#a78bfa;border:1px solid rgba(167,139,250,.14);border-radius:13px;background:#a78bfa1a}.pantry-cat-beilage{color:#fbbf24;border-color:#fbbf2426;background:#fbbf2417}.pantry-cat-fleisch{color:#fb7185;border-color:#fb718526;background:#fb718517}.pantry-cat-gemüse{color:#4ade80;border-color:#4ade8026;background:#4ade8017}.pantry-cat-molke{color:#93c5fd;border-color:#93c5fd26;background:#93c5fd17}.pantry-cat-konserven{color:#fbbf24;border-color:#fbbf2426;background:#fbbf2417}.pantry-cat-weiteres{color:#cbd5e1;border-color:#cbd5e11f;background:#cbd5e112}.pantry-item-actions{display:flex;align-items:center;gap:4px}.pantry-icon-button{display:flex;align-items:center;justify-content:center;width:31px;height:31px;color:#9ca3af;border:0;border-radius:9px;background:transparent;cursor:pointer;transition:color .15s ease,background .15s ease}.pantry-icon-button:hover{color:#c4b5fd;background:#a78bfa1f}.pantry-icon-button.pantry-delete-action:hover{color:#fca5a5;background:#ef44441f}.pantry-item-content{margin-top:17px}.pantry-item-content h3,.pantry-edit-form h3{margin:0;overflow-wrap:anywhere;color:#f8fafc;font-size:15px;font-weight:750;line-height:1.4}.pantry-item-quantity{margin-top:7px;color:#34d399;font-size:14px;font-weight:700;overflow-wrap:anywhere}.pantry-item-footer{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:15px;padding-top:12px;border-top:1px solid rgba(255,255,255,.07)}.pantry-item-category{color:#c4b5fd;font-size:10px;font-weight:650}.pantry-item-dot{width:3px;height:3px;border-radius:50%;background:#64748b}.pantry-item-stock-label{color:#9ca3af;font-size:10px}.pantry-edit-form{display:flex;flex-direction:column;gap:13px;margin-top:16px}.pantry-edit-form h3{margin-bottom:2px}.pantry-edit-form .pantry-field{gap:6px}.pantry-edit-form .pantry-field input,.pantry-edit-form .pantry-field select{min-height:39px;padding:8px 10px;font-size:12px}.pantry-edit-actions{display:flex;flex-direction:column;gap:8px;margin-top:3px}.pantry-edit-actions .pantry-submit{width:100%;padding:0 10px;font-size:12px}.pantry-cancel{min-height:36px;color:#cbd5e1;border:1px solid var(--pantry-border);border-radius:var(--radius, 12px);background:#ffffff0a;cursor:pointer;font-size:12px}.pantry-cancel:hover{background:#ffffff14}.pantry-empty{display:flex;flex-direction:column;align-items:center;padding:36px 20px;text-align:center;border:1px dashed rgba(255,255,255,.15);border-radius:var(--radius, 16px);background:#1e1e3266}.pantry-empty-icon{display:flex;align-items:center;justify-content:center;width:66px;height:66px;color:var(--pantry-accent);border:1px solid rgba(167,139,250,.15);border-radius:21px;background:#a78bfa17}.pantry-empty h3{margin:17px 0 0;color:#f1f5f9;font-size:18px;font-weight:750}.pantry-empty p{max-width:370px;margin:9px 0 0;color:var(--pantry-muted);font-size:13px;line-height:1.7}.pantry-empty-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;margin-top:18px;padding:0 15px;color:#fff;border:0;border-radius:var(--radius, 12px);background:linear-gradient(135deg,#10b981,#059669);cursor:pointer;font-size:12px;font-weight:700}.pantry-tip{display:flex;align-items:flex-start;gap:13px;padding:17px;border:1px solid rgba(167,139,250,.14);border-radius:var(--radius, 16px);background:#1e1e328c}.pantry-tip-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;color:var(--pantry-accent);border:1px solid rgba(167,139,250,.13);border-radius:12px;background:#a78bfa17}.pantry-tip strong{display:block;color:#e2e8f0;font-size:12px;font-weight:750}.pantry-tip p{margin:6px 0 0;color:#9ca3af;font-size:12px;line-height:1.7}@keyframes pantry-appear{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media(min-width:721px){.pantry-page{padding:20px 20px calc(var(--nav-h, 70px) + 30px);gap:24px}.pantry-hero{padding:28px}.pantry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-suggestions{width:100%;max-width:850px}.recipe-suggestions-heading h2{margin:6px 0 0;color:#f8fafc;font-size:22px;font-weight:800}.recipe-suggestions-heading p{color:#9ca3af;font-size:12px;line-height:1.6}.recipe-suggestions-list{display:grid;gap:12px;margin-top:16px}.recipe-suggestion-card{padding:16px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:linear-gradient(145deg,#282841bf,#141426d9)}.recipe-suggestion-main{display:flex;align-items:flex-start;gap:12px}.recipe-suggestion-icon{display:flex;flex-shrink:0;margin-top:2px;color:#fbbf24}.recipe-suggestion-card.is-available .recipe-suggestion-icon{color:#34d399}.recipe-suggestion-info{min-width:0}.recipe-suggestion-info h3{margin:0;color:#f8fafc;font-size:15px;overflow-wrap:anywhere}.recipe-suggestion-info p{margin:6px 0 0;color:#9ca3af;font-size:12px;line-height:1.5}.recipe-suggestion-missing{margin:10px 0 0;padding-left:18px;color:#fcd34d;font-size:12px;line-height:1.8}.recipe-suggestion-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;margin-top:14px;padding:0 12px;color:#e9e2ff;border:1px solid rgba(167,139,250,.25);border-radius:10px;background:#8b5cf621;cursor:pointer;font-size:12px;font-weight:650}.recipe-suggestion-action:hover{background:#8b5cf638}.recipe-suggestions-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.recipe-suggestions-toggle h2{margin:0}.recipe-suggestions-toggle p{margin:6px 0 0}.recipe-suggestions-chevron{flex-shrink:0;color:#a78bfa;font-size:14px}}@media(max-width:720px){.pantry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pantry-hero{padding:20px}.pantry-hero-decoration{width:70px;height:70px;border-radius:20px}.pantry-hero-decoration svg{width:44px;height:44px}.pantry-item-card{padding:12px}.pantry-item-icon{width:37px;height:37px;border-radius:11px}.pantry-item-actions{gap:0}.pantry-icon-button{width:28px;height:28px}.pantry-item-content{margin-top:14px}.pantry-item-content h3{font-size:13px}.pantry-item-quantity{font-size:12px}.pantry-item-footer{gap:5px;margin-top:12px;padding-top:10px}.pantry-item-category,.pantry-item-stock-label{font-size:9px}}@media(max-width:420px){.pantry-page{padding-right:10px;padding-left:10px;gap:18px}.pantry-hero-content h1{font-size:26px}.pantry-hero-content p{font-size:12px}.pantry-hero-decoration{position:absolute;right:-7px;bottom:-4px;opacity:.6}.pantry-stats{gap:14px;padding:11px 13px}.pantry-stat-label{font-size:10px}.pantry-section-heading h2{font-size:20px}.pantry-add-toggle{gap:5px;padding:0 10px;font-size:12px}.pantry-form-fields{grid-template-columns:1fr 1fr;gap:12px 9px}.pantry-field-full{grid-column:1 / -1}.pantry-category-list{margin-right:-10px;padding-right:10px}.pantry-item-card{padding:10px}.pantry-item-actions{flex-direction:column}.pantry-tip{padding:13px}.pantry-tip p{font-size:11px}}@media(max-width:340px){.pantry-grid,.pantry-form-fields{grid-template-columns:1fr}.pantry-field-full{grid-column:auto}}@media(prefers-reduced-motion:reduce){.pantry-page *,.pantry-page *:before,.pantry-page *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.auth-card{width:100%;max-width:600px;background:var(--bg2);padding:2rem;border-radius:12px;color:--text}.auth-btn{font-size:16px;padding:10px 20px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.auth-submit-btn{font-size:16px;padding:12px 20px;font-weight:700}.auth-button-stack{display:flex;flex-direction:column;gap:10px;margin-top:12px}.auth-submit-btn,.auth-link-btn{display:block;width:100%;margin-top:10px;text-align:center}.auth-link-btn{font-size:small;background:none;border:none;text-align:center;cursor:pointer}.auth-form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;margin-top:30px}.auth-card h1{text-align:center}.auth-theme-toggle{position:fixed;top:20px;right:20px;z-index:1000;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:1px solid var(--border-strong);border-radius:999px;background:var(--card-solid);color:var(--text);font-size:14px;font-weight:600;box-shadow:var(--shadow-sm);transition:background var(--transition-normal),border-color var(--transition-normal),transform var(--transition-fast)}.auth-theme-toggle:hover{border-color:var(--accent);transform:translateY(-1px)}.auth-theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.auth-page{position:relative;isolation:isolate;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:radial-gradient(circle at 15% 20%,rgba(167,139,250,.13),transparent 32%),radial-gradient(circle at 85% 80%,rgba(99,102,241,.12),transparent 35%),var(--bg)}.auth-page:before,.auth-page:after{content:"";position:absolute;z-index:-1;width:220px;height:220px;border:1px solid rgba(167,139,250,.12);border-radius:50%;pointer-events:none}.auth-page:before{top:8%;left:8%;box-shadow:0 0 0 24px #a78bfa06,0 0 0 48px #a78bfa05}.auth-page:after{right:6%;bottom:7%;width:150px;height:150px;box-shadow:0 0 0 22px #818cf806,0 0 0 44px #818cf805}.auth-card{position:relative;z-index:1;width:100%;max-width:440px;margin:auto;box-shadow:0 24px 70px #00000029,0 0 40px #a78bfa0f}@media(max-width:480px){.auth-page{padding:72px 16px 28px}.auth-page:before{top:5%;left:-100px}.auth-page:after{right:-60px;bottom:3%}}@media(max-width:480px){.auth-theme-toggle{top:12px;right:12px;padding:9px 12px;font-size:13px}}:root{color-scheme:dark;--bg: #0b0b18;--bg-secondary: #111124;--card: rgba(30, 30, 50, .72);--card-solid: #1e1e32;--text: #f3f4f6;--muted: #9ca3af;--input-bg: rgba(15, 15, 35, .85);--accent: #a78bfa;--accent-hover: #c4b5fd;--danger: #f87171;--success: #34d399;--warning: #fbbf24;--border: rgba(255, 255, 255, .12);--border-strong: rgba(255, 255, 255, .2);--glass-bg: rgba(30, 30, 50, .6);--glass-blur: 20px;--shadow-sm: 0 4px 12px rgba(0, 0, 0, .16);--shadow-md: 0 12px 32px rgba(0, 0, 0, .25);--shadow-glow: 0 0 24px rgba(167, 139, 250, .12);--gradient-accent: linear-gradient(135deg, #a78bfa, #818cf8);--gradient-card: linear-gradient( 145deg, rgba(40, 40, 65, .9), rgba(20, 20, 38, .95) );--nav-h: 70px;--btn-h: 42px;--btn-radius: 12px;--btn-padding: 14px;--radius: 16px;--radius-sm: 10px;--radius-lg: 22px;--content-max: 900px;--page-max: 1400px;--gutter: 16px;--transition-fast: .16s ease;--transition-normal: .22s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{min-height:100%;background:var(--bg);-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100vh;min-height:100dvh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(ellipse at top left,rgba(124,58,237,.09),transparent 42%),var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;border:none;background:none;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.5}img,svg{max-width:100%}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}::selection{background:#a78bfa4d;color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible{outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:rgba(167,139,250,.4) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#a78bfa59;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#a78bfa99}#root{min-height:100vh;min-height:100dvh}.app-container{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;height:100%;overflow:hidden}.main-content{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.loading-container{display:grid;place-content:center;justify-items:center;min-height:200px;height:100%;gap:16px;color:var(--muted)}.page{display:none;min-height:100%}.page.active{display:block}.page-center{width:100%;min-height:calc(100dvh - var(--nav-h));display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center}.card{display:flex;flex-direction:column;min-width:0;min-height:40px;background:var(--glass-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.card-header{margin-block-end:16px}.card-title{margin:0;color:var(--text);font-size:18px;font-weight:700;line-height:1.35}.btn{min-height:var(--btn-h);padding:0 var(--btn-padding);display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--btn-radius);font-size:14px;font-weight:600;line-height:1.2;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal),transform var(--transition-fast),box-shadow var(--transition-normal)}.btn:not(:disabled):active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-primary{background:var(--gradient-accent);color:#fff;box-shadow:0 4px 14px #818cf826}.btn-primary:not(:disabled):hover{box-shadow:0 6px 20px #a78bfa47;filter:brightness(1.08)}.btn-outline{background:transparent;border-color:var(--border-strong);color:var(--text)}.btn-outline:not(:disabled):hover{background:#ffffff0f;border-color:var(--accent)}.btn-soft{background:#ffffff0d;border-color:var(--border);color:var(--text)}.btn-soft:not(:disabled):hover{background:#a78bfa1a;border-color:#a78bfa66}.under-btn{flex:1;min-width:150px;height:30px}.clear-btn{min-width:120px;margin-inline-start:auto}.view-btn{border-radius:var(--radius-sm)}.input-field,input,textarea,select{width:100%;min-width:0;padding:11px 14px;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:14px;line-height:1.4;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.input-field::placeholder,input::placeholder,textarea::placeholder{color:#85859a;opacity:1}.input-field:focus,input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #a78bfa1f}select{color-scheme:dark;cursor:pointer}select option{background:var(--card-solid);color:var(--text)}textarea{min-height:100px;resize:vertical}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--accent)}input[type=range]{padding-inline:0;accent-color:var(--accent)}input[type=number]{appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:fit-content;max-width:100%;padding:4px 10px;border:1px solid transparent;border-radius:999px;background:var(--gradient-accent);color:#fff;font-size:12px;font-weight:600;line-height:1.4}.badge-secondary{background:#ffffff12;border-color:var(--border);color:var(--text)}.bottom-nav{position:fixed;z-index:100;inset-inline:0;bottom:0;display:flex;justify-content:space-around;align-items:stretch;width:100%;height:var(--nav-h);padding-bottom:env(safe-area-inset-bottom);background:#0f0f23eb;border-top:1px solid var(--border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.nav-item{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;padding:8px 12px;background:transparent;color:var(--muted);transition:color var(--transition-fast),background var(--transition-fast)}.nav-item:hover{color:var(--text);background:#ffffff08}.nav-item.active{color:var(--accent)}.nav-item.active:before{position:absolute;content:"";top:0;left:25%;right:25%;height:3px;border-radius:0 0 4px 4px;background:var(--accent);box-shadow:0 0 12px #a78bfa4d}.nav-label{font-size:11px;font-weight:600;line-height:1.2}.nav-icon{display:flex;align-items:center;justify-content:center}:root[data-theme=light]{color-scheme:light;--bg: #f5f6fc;--bg-secondary: #ffffff;--card: rgba(255, 255, 255, .88);--card-solid: #ffffff;--text: #252744;--muted: #70738d;--input-bg: #ffffff;--accent: #6558d9;--accent-hover: #5143c4;--danger: #dc4545;--success: #16865d;--warning: #a66b08;--border: rgba(45, 48, 90, .12);--border-strong: rgba(45, 48, 90, .22);--glass-bg: rgba(255, 255, 255, .82);--shadow-sm: 0 4px 12px rgba(40, 40, 80, .06);--shadow-md: 0 12px 32px rgba(40, 40, 80, .1);--shadow-glow: 0 0 24px rgba(101, 88, 217, .1);--gradient-accent: linear-gradient(135deg, #7969e8, #6158d8);--gradient-card: linear-gradient(145deg, #ffffff, #f0f1fb)}:root[data-theme=light] body{background:radial-gradient(ellipse at top left,rgba(124,58,237,.08),transparent 42%),var(--bg)}:root[data-theme=light] .bottom-nav{background:#fffffff0;border-top-color:var(--border)}:root[data-theme=light] .btn-outline:not(:disabled):hover{background:#6558d90f;border-color:var(--accent)}:root[data-theme=light] .btn-soft{background:#6558d90d;border-color:var(--border)}:root[data-theme=light] .btn-soft:not(:disabled):hover{background:#6558d91a;border-color:var(--accent)}:root[data-theme=light] input::placeholder,:root[data-theme=light] textarea::placeholder,:root[data-theme=light] .input-field::placeholder{color:#85869d}:root[data-theme=light] select{color-scheme:light}:root[data-theme=light] select option{background:#fff;color:var(--text)}:root[data-theme=light] .badge-secondary{background:#6558d912;border-color:var(--border);color:var(--text)}:root[data-theme=light] ::selection{background:#6558d933;color:#252744}:root[data-theme=light] *{scrollbar-color:rgba(101,88,217,.35) transparent}@media(min-width:721px){:root{--nav-h: 80px;--gutter: 24px}.nav-icon{font-size:24px}.nav-item.desktop-only{display:flex}.nav-item.mobile-only{display:none}}@media(max-width:720px){:root{--nav-h: 70px;--gutter: 12px}.under-btn{min-width:100%}.clear-btn{margin-inline-start:0}.card{border-radius:var(--radius)}.bottom-nav{padding-bottom:env(safe-area-inset-bottom)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
