@import"https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600;9..40,700&family=Sora:wght@300;400;600;700&family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap";.ibadge,.cat-badge{display:inline-block;font-size:10px;padding:1px 7px;border-radius:100px;font-weight:600}.store-badge{display:inline-block;font-size:10px;padding:1px 7px;border-radius:100px;font-weight:600;border:1px solid}.store-auchan{background:#fb923c1f;color:#fb923c;border-color:#fb923c4d}.store-picard{background:#7dd3fc26;color:#7dd3fc;border-color:#7dd3fc4d}.food-tag{display:inline-flex;align-items:center;background:#f5c8421a;border:1px solid rgba(245,200,66,.28);color:var(--accent);font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px}.zone-tag{display:inline-flex;align-items:center;gap:4px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:var(--text2);font-size:11px;font-weight:500;padding:3px 9px;border-radius:20px}.card{background:var(--s1);border:1px solid var(--border);border-radius:var(--r-sm);padding:11px 12px;display:flex;align-items:center;gap:10px;transition:border-color .15s,background .15s}.card:hover{border-color:var(--border2);background:var(--s2)}.card.zero{opacity:.45}.card.zero .iname{text-decoration:line-through;color:var(--text2)}.iinfo{flex:1;min-width:0}.iname{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:baseline;gap:5px}.iprice{font-size:11px;font-weight:600;color:#4ade80;opacity:.85;flex-shrink:0}.ibadges{display:flex;align-items:center;gap:4px;margin-top:3px}.actions{display:flex;gap:3px}.ibtn{width:28px;height:28px;border-radius:6px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;transition:background .15s;color:var(--text2)}.ibtn:hover{background:var(--s3);color:var(--text)}.ibtn.del:hover{background:#f871711f;color:var(--red)}.meal-panel{background:var(--s1);border:1px solid var(--border);border-radius:var(--r);padding:18px;margin-bottom:20px}.meal-panel-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:14px}.meal-panel-title{font-size:13px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:7px}.meal-panel-persons{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text2)}.meal-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;align-items:center}.meal-chip-wrap{display:inline-flex;align-items:center;gap:4px}.meal-chip-selectors{display:inline-flex;flex-direction:column;gap:3px}.meal-chip-persons,.meal-chip-times{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;color:var(--accent);background:#f5c8421a;border:1px solid rgba(245,200,66,.3);border-radius:100px;padding:2px 6px}.qbtn-xs{width:16px;height:16px;border-radius:50%;border:1px solid rgba(245,200,66,.4);background:transparent;color:var(--accent);font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:background .12s}.qbtn-xs:hover{background:#f5c84233}.meal-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:100px;font-size:12px;font-weight:500;border:1px solid var(--border);background:var(--s2);color:var(--text2);cursor:pointer;transition:all .15s;font-family:var(--font-body)}.meal-chip:hover{border-color:var(--border2);color:var(--text)}.meal-chip.on{border-color:var(--accent);color:var(--accent);background:#f5c84214}.meal-chip-badge{background:#f5c84233;color:var(--accent);font-size:9px;font-weight:700;padding:1px 5px;border-radius:100px}.meal-section-label{font-size:9px;color:var(--text3);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:6px 0 4px;display:block}.ingredients-preview{background:var(--s2);border:1px solid var(--border);border-radius:var(--r-sm);padding:14px;margin-top:12px}.ingredient-preview-name{flex:1}.ingredient-preview-row{display:flex;align-items:center;gap:10px;padding:5px 0;border-bottom:1px solid var(--border);font-size:12px}.ingredient-preview-row:last-child{border-bottom:none}.ingredient-preview-row-name{flex:1;color:var(--text);font-weight:500}.ingredient-preview-row-amount{font-size:11px;font-weight:600;color:var(--accent);background:#f5c8421a;padding:2px 8px;border-radius:100px}.ingredient-preview-row-pp{font-size:10px;color:var(--text3);background:var(--s3);padding:1px 5px;border-radius:100px}.preview-type-group{margin-bottom:14px}.preview-type-group:last-child{margin-bottom:0}.preview-type-label{font-size:9px;font-weight:700;color:var(--text3);letter-spacing:1.5px;text-transform:uppercase;padding:4px 0 6px;border-bottom:1px solid var(--border);margin-bottom:2px}.recipe-preview-block{padding:8px 0 8px 8px;border-bottom:1px solid var(--border)}.recipe-preview-block:last-of-type{border-bottom:none}.recipe-preview-title{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:12px}.recipe-preview-title strong{flex:1;color:var(--text);font-weight:600}.recipe-preview-persons{font-size:10px;color:var(--text3);background:var(--s3);padding:2px 7px;border-radius:100px}.recipe-preview-times{font-size:10px;font-weight:700;color:var(--accent);background:#f5c8421f;padding:2px 7px;border-radius:100px}.recipe-preview-link{background:none;border:none;cursor:pointer;padding:0;font-size:11px;text-decoration:underline;color:var(--accent)}.recipe-preview-link:is(a){text-decoration:none;color:var(--text3);font-size:12px;opacity:.6;transition:opacity .15s}.recipe-preview-link:is(a):hover{opacity:1;color:var(--accent)}.recipe-preview-link-page-btn{text-decoration:none;font-size:13px;opacity:.7;transition:opacity .15s}.recipe-preview-link-page-btn:hover{opacity:1}.recipe-preview-empty{font-size:11px;color:var(--text3)}.recipe-preview-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.ing-row{display:flex;align-items:center;gap:7px;font-size:11px;padding:3px 6px;border-radius:6px;cursor:pointer;transition:background .1s;-webkit-user-select:none;user-select:none}.ing-row:hover{background:var(--s3)}.ing-row--off{opacity:.4}.ing-row--off .ingredient-preview-amount{opacity:.5}.ing-check{font-size:13px;color:var(--accent);flex-shrink:0;line-height:1}.ing-row--off .ing-check{color:var(--text3)}.add-btn{background:var(--accent);border:none;border-radius:var(--r-sm);padding:10px 18px;font-family:var(--font-body);font-weight:700;font-size:13px;cursor:pointer;color:#000;transition:background .15s,transform .1s;white-space:nowrap}.add-btn:hover{background:var(--accent2)}.add-btn:active{transform:scale(.97)}.course-layout{max-width:1800px;margin:0 auto;padding:24px 24px 100px}.reminders{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:16px;padding:10px 14px;background:var(--s1);border:1px solid var(--border);border-radius:var(--r-sm)}.reminders-label{font-size:11px;font-weight:600;color:var(--text3);white-space:nowrap;margin-right:4px}.reminder-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 8px 4px 10px;border-radius:100px;white-space:nowrap;color:var(--reminder-color);background:color-mix(in srgb,var(--reminder-color) 12%,transparent);border:1px solid color-mix(in srgb,var(--reminder-color) 30%,transparent)}.reminder-dismiss{background:none;border:none;cursor:pointer;font-size:9px;color:var(--reminder-color);opacity:.6;padding:0 2px;line-height:1}.reminder-dismiss:hover{opacity:1}.course-warning{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;background:#fbbf2414;border:1px solid rgba(251,191,36,.35);border-radius:var(--r-sm);font-size:12px;font-weight:500;color:#d97706;line-height:1.4}.course-warning-ico{font-size:14px;flex-shrink:0}.course-agent-tip{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:12px 16px;background:linear-gradient(135deg,#6366f11f,#a855f71f);border:1px solid rgba(129,140,248,.4);border-radius:var(--r-sm);font-size:13px;color:var(--text1);line-height:1.4}.course-agent-tip-ico{font-size:22px;flex-shrink:0}.course-agent-tip-text strong{color:#818cf8;font-weight:700}.tabs{display:grid;gap:3px;background:var(--s1);border:1px solid var(--border);border-radius:var(--r);padding:3px;margin-bottom:22px}.tabs-2{grid-template-columns:1fr 1fr}.tabs-3{grid-template-columns:1fr 1fr 1fr}.tab{border:none;border-radius:9px;padding:10px;font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;background:transparent;color:var(--text2);display:flex;align-items:center;justify-content:center;gap:7px}.tab.on{background:var(--accent);color:#000}.tab.on .tab-count{background:#0003}.tab:not(.on):hover{background:var(--s2);color:var(--text)}.tab-count{background:#0000002e;border-radius:100px;padding:1px 7px;font-size:11px}.chips{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:20px}.chip{border:1px solid var(--border);border-radius:100px;padding:4px 11px;font-size:11px;font-family:var(--font-body);font-weight:500;cursor:pointer;background:transparent;color:var(--text2);transition:all .15s;white-space:nowrap}.chip.on{border-color:var(--accent);color:var(--accent);background:#f5c84214}.chip:not(.on):hover{border-color:var(--border2);color:var(--text)}.store-filters{display:flex;gap:5px;margin-bottom:10px}.store-chip{border:1px solid var(--border);border-radius:100px;padding:5px 14px;font-size:12px;font-family:var(--font-body);font-weight:600;cursor:pointer;background:transparent;color:var(--text2);transition:all .15s;white-space:nowrap}.store-chip:not(.on):hover{border-color:var(--border2);color:var(--text)}.store-chip.on{border-color:var(--accent);color:var(--accent);background:#f5c84214}.store-chip.auchan.on{border-color:#fb923c;color:#fb923c;background:#fb923c14}.store-chip.picard.on{border-color:#7dd3fc;color:#7dd3fc;background:#7dd3fc14}.search-wrap{position:relative;display:flex;align-items:center;margin-bottom:8px}.search-ico{position:absolute;left:12px;font-size:13px;pointer-events:none}.search-input{width:100%;background:var(--s1);border:1px solid var(--border);border-radius:var(--r-sm);padding:9px 36px 9px 34px;font-family:var(--font-body);font-size:13px;color:var(--text);outline:none;transition:border-color .2s}.search-input:focus{border-color:var(--accent)}.search-input::placeholder{color:var(--text3)}.search-clear{position:absolute;right:10px;background:none;border:none;color:var(--text3);font-size:12px;cursor:pointer;padding:2px 4px;border-radius:4px}.search-clear:hover{color:var(--text);background:var(--s3)}.search-results{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px;padding:10px 12px;background:var(--s1);border:1px solid var(--border);border-radius:var(--r-sm)}.search-none{font-size:12px;color:var(--text3)}.search-tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;background:var(--s2);border:1px solid var(--border2);border-radius:100px;padding:3px 10px;color:var(--text)}.search-tag-list{font-size:10px;font-weight:600;padding:1px 6px;border-radius:100px}.meal-row{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid rgba(255,255,255,.05);transition:background .15s;cursor:default}.meal-row:last-child{border-bottom:none}.meal-row.draggable{cursor:grab}.meal-row:hover:not(.done){background:var(--s2);border-radius:var(--r-sm)}.meal-row.done{opacity:.45}.meal-row.done .meal-row-name{text-decoration:line-through;color:var(--text2)}.meal-row.reorder-target{background:#f5c8420d;border-radius:var(--r-sm)}.meal-row-drag-handle{color:var(--text3);font-size:14px;line-height:1;flex-shrink:0}.meal-row-emoji{font-size:22px;line-height:1;flex-shrink:0;-webkit-user-select:none;user-select:none}.meal-row-name{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:5px;font-size:13px;font-weight:500;color:var(--text);letter-spacing:-.01em;line-height:1.3}.meal-row-name-text{min-width:0}.meal-row-chips{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.meal-row-name-chip{font-size:10px;font-weight:700;padding:2px 7px;border-radius:99px;white-space:nowrap;flex-shrink:0;background:#f5c84226;color:var(--accent)}.meal-row-actions{display:flex;align-items:center;gap:5px;flex-shrink:0}.meal-row-qty{min-width:30px;text-align:center;font-size:16px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}.meal-row-edit{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--s2);border-radius:16px;border:1.5px solid var(--border);box-shadow:0 0 0 3px #f5c8421a}.meal-row-edit-input{flex:1;border:none;background:transparent;font-size:15px;color:var(--text);font-family:var(--font-body);outline:none;font-weight:500;min-width:0}.meal-row-confirm-delete{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#e11d4814;border-radius:16px;border:1.5px solid rgba(225,29,72,.25)}.qbtn-light{width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--text2);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.qbtn-light:hover{background:var(--s3);color:var(--text)}.done-badge{font-size:11px;padding:3px 10px;border-radius:99px;background:#4ade801f;color:#4ade80;font-weight:700;letter-spacing:.05em}.btn-sm-light{width:28px;height:28px;border-radius:8px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;transition:background .15s;color:var(--text3)}.btn-sm-light:hover{background:var(--s3);color:var(--text)}.btn-sm-light.delete:hover{background:#e11d481f;color:#e11d48}.btn-sm-light.confirm{color:#4ade80}.btn-sm-light.confirm:hover{background:#4ade801f}.repas-layout{max-width:1800px;margin:0 auto;padding:24px 24px 100px}@media (max-width: 600px){.repas-layout{padding:14px 14px 60px}}.bento{display:grid;grid-template-columns:1fr;gap:18px}@media (min-width: 768px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.bento>:last-child:nth-child(odd){grid-column:1/-1}}.bento-3{display:grid;grid-template-columns:1fr;gap:18px}@media (min-width: 768px){.bento-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1200px){.bento-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.section-card{background:var(--s1);border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 8px #0000004d,0 12px 40px #00000059;transition:box-shadow .2s ease}.section-card.drop-over{box-shadow:0 2px 8px #0000004d,0 12px 40px #00000059,0 0 0 2px var(--accent)}.section-bar{height:4px;flex-shrink:0;transition:height .2s}.section-bar.drop-over{height:6px}.section-head{padding:18px 22px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.section-icon{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.section-title{font-size:16px;font-weight:700;color:var(--text);margin:0;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.section-badge{border-radius:99px;padding:4px 12px;font-size:12px;font-weight:700;flex-shrink:0;white-space:nowrap}.section-body{padding:14px 18px 0;flex:1;display:flex;flex-direction:column}.section-active{flex:1}.section-bottom{margin-top:auto}.section-footer{padding:14px 0 18px;display:flex;gap:8px}.section-add-input{flex:1;padding:11px 16px;border-radius:14px;border:1.5px solid var(--border);font-size:14px;background:var(--s2);color:var(--text);font-family:var(--font-body);outline:none;transition:border-color .15s,box-shadow .15s}.section-add-input::placeholder{color:var(--text3)}.section-drop-zone{margin:10px 0;border:2px dashed var(--border2);border-radius:14px;padding:14px;text-align:center;color:var(--text3);font-size:13px;font-weight:600;transition:all .15s ease}.section-drop-zone.active{color:var(--accent);background:#f5c8420d;border-color:var(--accent)}.section-divider{display:flex;align-items:center;gap:10px;margin:36px 0 4px}.section-divider-line{flex:1;height:1px;background:#fff}.section-divider-label{font-size:10px;color:var(--text3);font-weight:700;letter-spacing:.1em}.section-add-btn{padding:11px 16px;border-radius:14px;border:none;font-size:14px;cursor:pointer;font-weight:700;font-family:var(--font-body);flex-shrink:0;color:#000;transition:opacity .15s}.section-add-btn:hover{opacity:.88}.section-add-label{font-size:12px;color:var(--text3);font-weight:500}.cg-root{display:flex;flex-direction:column;gap:28px;padding-bottom:24px}.cg-section{background:var(--s1);border:1px solid var(--border);border-radius:var(--r-xl);padding:20px 24px}.cg-section-title{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--text);margin-bottom:16px;display:flex;align-items:center;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--border)}.cg-cards-row{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.cg-method-card{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:14px}.cg-method-icon{font-size:22px;margin-bottom:6px}.cg-method-label{font-size:13px;font-weight:700;color:var(--text);margin-bottom:6px}.cg-method-tips{margin:0 0 6px;padding-left:16px}.cg-method-tips li{font-size:12px;color:var(--text2);line-height:1.6}.cg-method-note{font-size:11px;color:var(--text3);font-style:italic}.cg-table{width:100%;border-collapse:collapse;table-layout:fixed}.cg-table th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border2);color:var(--text3);font-size:11px;text-transform:uppercase;letter-spacing:1px}.cg-table td{padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px;color:var(--text2)}.cg-table tr:last-child td{border-bottom:none}.cg-table tr:hover td{background:var(--s2)}.cg-tag{display:inline-block;background:#f5c8421f;color:var(--accent);padding:2px 8px;border-radius:6px;font-weight:700;font-size:12px;white-space:nowrap}.cg-list{display:flex;flex-direction:column;gap:0}.cg-list-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.cg-list-row:last-child{border-bottom:none}.cg-list-icon{font-size:16px;width:24px;flex-shrink:0}.cg-list-label{font-size:13px;font-weight:500;color:var(--text);flex:1;min-width:90px}.cg-list-note{font-size:11px;color:var(--text3)}.recipe-page{display:flex;flex-direction:column}.recipe-page-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#000000e0;display:flex;align-items:center;justify-content:center;padding:24px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:zoom-out}.recipe-page-lightbox img{max-width:100%;max-height:100%;border-radius:16px;object-fit:contain}.recipe-page-header{display:flex;flex-direction:column;gap:14px;padding-bottom:20px;border-bottom:1px solid var(--border);margin-bottom:20px}.recipe-page-back{align-self:flex-start;background:var(--s2);border:1px solid var(--border);border-radius:10px;padding:6px 14px;font-size:13px;font-weight:600;color:var(--text2);cursor:pointer;font-family:var(--font-body);transition:color .15s,border-color .15s}.recipe-page-back:hover{color:var(--text);border-color:var(--border2)}.recipe-page-title-row{display:flex;align-items:center;gap:12px}.recipe-page-title-input{flex:1;font-size:22px;font-weight:700;color:var(--text);background:transparent;border:none;border-bottom:2px solid var(--border);outline:none;font-family:var(--font-body);padding:4px 0;transition:border-color .15s}.recipe-page-title-input:focus{border-color:var(--accent)}.recipe-page-url-preview{display:inline-block;margin-bottom:4px;font-size:12px;color:var(--accent);text-decoration:underline;opacity:.8;transition:opacity .15s}.recipe-page-url-preview:hover{opacity:1}.repas-tabs{display:flex;gap:8px;margin:20px 0 28px;overflow-x:auto;padding-bottom:2px}.repas-tab{padding:9px 18px;border-radius:99px;background:var(--s1);color:var(--text2);font-family:var(--font-body);font-weight:700;font-size:13px;cursor:pointer;transition:all .2s;white-space:nowrap;border:1px solid var(--border);display:flex;align-items:center;gap:7px}.repas-tab.on{background:var(--s2);color:var(--text);border-color:var(--accent)}.repas-tab:not(.on):hover{background:var(--s2);color:var(--text);border-color:var(--border2)}.stars{display:flex;gap:3px;align-items:center;margin:8px 0}.star{font-size:20px;transition:color .1s}.star.filled{color:var(--gold)}.star.empty{color:#ffffff1f}.star-score{color:var(--gold);font-weight:700;font-size:14px;margin-left:5px}.star-input{width:52px;margin-left:5px;background:var(--s2);border:1px solid var(--accent);border-radius:6px;padding:2px 6px;color:var(--gold);font-weight:700;font-size:13px;font-family:var(--font-body);outline:none;text-align:center}.star-input::-webkit-inner-spin-button{opacity:0}.resto-card{background:var(--s1);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;position:relative;overflow:hidden;transition:border-color .2s,transform .15s;display:flex;flex-direction:column}.resto-card:hover{border-color:#f5c84259;transform:translateY(-2px)}.resto-card-glow{position:absolute;top:0;right:0;width:100px;height:100px;background:radial-gradient(circle at 80% 10%,rgba(245,200,66,.07),transparent 65%);pointer-events:none}.resto-card-name{font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--text);line-height:1.3;margin-bottom:6px;display:flex;align-items:center;gap:8px}.resto-card-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}.resto-card-meta{display:flex;gap:14px;flex-wrap:wrap;margin:8px 0}.resto-card-meta-item{font-size:13px;color:var(--text2);display:flex;gap:5px;align-items:center}.resto-card-meta-item strong{color:var(--text);font-weight:600}.resto-card-foot{display:flex;justify-content:flex-end;margin-top:6px}.comment-btn{background:#ffd4521f;border:1px solid rgba(255,212,82,.28);color:var(--gold);font-size:12px;font-weight:700;padding:5px 13px;border-radius:20px;display:flex;align-items:center;gap:5px;cursor:pointer;font-family:var(--font-body);transition:background .15s}.comment-btn:hover{background:#ffd45233}.comment-btn-empty{background:transparent;border:1px dashed var(--text3);color:var(--text3);font-size:11px;padding:4px 11px;border-radius:20px;cursor:pointer;font-family:var(--font-body);transition:all .15s}.comment-btn-empty:hover{color:var(--text2);border-color:var(--text2)}.resto-layout{max-width:1800px;margin:0 auto;padding:24px 24px 80px}.resto-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:16px;margin-top:20px}.resto-filter-row{display:flex;gap:7px;margin:8px 0;flex-wrap:wrap}.resto-filter-row:first-of-type{margin-top:0}.filter-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:100px;font-size:12px;font-weight:500;border:1.5px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;white-space:nowrap;transition:all .2s;font-family:var(--font-body)}.filter-pill.on{background:#f5c84214;border-color:var(--accent);color:var(--accent)}.filter-pill:not(.on):hover{background:var(--s2);color:var(--text)}.filter-pill.small{font-size:11px;padding:4px 11px}.filter-pill.clear{border-style:dashed;color:var(--text3)}.filter-pill.clear:hover{color:var(--text)}.resto-search-wrap{position:relative;margin-bottom:16px}.resto-search-ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--text3);pointer-events:none}.resto-search-input{width:100%;background:var(--s1);border:1px solid var(--border);border-radius:var(--r-sm);padding:9px 12px 9px 34px;font-family:var(--font-body);font-size:13px;color:var(--text);outline:none;transition:border-color .2s}.resto-search-input:focus{border-color:var(--accent)}.resto-search-input::placeholder{color:var(--text3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0b0d12;--s1: #111318;--s2: #171b24;--s3: #1e2330;--border: #232838;--border2: #2d3447;--accent: #f5c842;--accent2: #e8a820;--text: #edf0f7;--text2: #818aa0;--text3: #454d62;--green: #4ade80;--red: #f87171;--gold: #ffd452;--font-body: "DM Sans", sans-serif;--font-display: "Sora", sans-serif;--font-serif: "Playfair Display", serif;--r: 12px;--r-sm: 8px;--r-lg: 20px;--r-xl: 24px}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:14px;min-height:100vh;overflow-x:hidden}.app-root{min-height:100vh}.app-nav{position:sticky;top:0;z-index:100;background:var(--s1);border-bottom:1px solid var(--border);padding:0 20px}.app-nav-inner{max-width:1800px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;flex-wrap:wrap}.app-nav-title{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--accent);white-space:nowrap;letter-spacing:-.3px}.app-tabs-bar{display:flex;gap:3px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r);padding:3px}.app-tab{border:none;border-radius:9px;padding:8px 14px;font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;background:transparent;color:var(--text2);display:flex;align-items:center;gap:6px;white-space:nowrap;transition:all .2s}.app-tab.on{background:var(--accent);color:#000}.app-tab:not(.on):hover{background:var(--s2);color:var(--text)}.app-nav-actions{display:flex;gap:6px;align-items:center}@media (max-width: 600px){.app-nav-title{display:none}.app-tab{padding:8px 10px;font-size:12px}}.btn-primary{background:var(--accent);border:none;border-radius:var(--r-sm);padding:10px 18px;font-family:var(--font-body);font-weight:700;font-size:13px;cursor:pointer;color:#000;transition:background .15s,transform .1s;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.btn-primary:hover{background:var(--accent2)}.btn-primary:active{transform:scale(.97)}.btn-ghost{background:transparent;border:1px solid var(--border);border-radius:var(--r-sm);padding:9px 16px;font-family:var(--font-body);font-size:13px;color:var(--text2);cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:5px}.btn-ghost:hover{border-color:var(--border2);color:var(--text)}.btn-danger{background:#f871711a;border:1px solid rgba(248,113,113,.25);border-radius:var(--r-sm);padding:8px 14px;font-family:var(--font-body);font-size:13px;color:var(--red);cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:5px}.btn-danger:hover{background:#f871712e}.btn-icon{background:var(--s2);border:1px solid var(--border);border-radius:var(--r-sm);width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;color:var(--text2);transition:all .15s}.btn-icon:hover{border-color:var(--border2);color:var(--text);background:var(--s3)}.btn-icon.danger:hover{background:#f871711a;color:var(--red);border-color:#f871714d}.btn-close{width:30px;height:30px;border-radius:50%;border:1px solid var(--border2);background:var(--s2);color:var(--text2);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.btn-close:hover{color:var(--text);background:var(--s3)}.btn-sm{width:26px;height:26px;border-radius:7px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:background .15s;color:var(--text2)}.btn-sm:hover{background:var(--s3);color:var(--text)}.btn-sm.confirm{color:var(--green)}.btn-sm.confirm:hover{background:#4ade801f}.btn-sm.delete{color:var(--red)}.btn-sm.delete:hover{background:#f871711f}.btn-sm.restore{color:var(--text2)}.btn-sm.restore:hover{background:var(--s3);color:var(--text)}.btn-sm.recipe{color:var(--text3)}.btn-sm.recipe:hover{background:var(--s3);color:var(--accent)}.btn-sm.edit{color:var(--text3)}.btn-sm.edit:hover{background:var(--s3);color:var(--text)}.qty{display:flex;align-items:center;gap:6px}.qbtn{width:24px;height:24px;border-radius:50%;border:1px solid var(--border2);background:var(--s2);color:var(--text);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .15s}.qbtn:hover{border-color:var(--accent);color:var(--accent)}.qval{font-size:13px;font-weight:700;min-width:20px;text-align:center}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000c7;display:flex;align-items:center;justify-content:center;z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:16px}.mbox{background:var(--s1);border:1px solid var(--border2);border-radius:var(--r-xl);padding:26px;width:90%;max-width:380px}.mbox-lg{max-width:560px}.mbox-xl{max-width:640px}.mtitle{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text);margin-bottom:4px}.msub{font-size:12px;color:var(--text2);margin-bottom:20px}.msub strong{color:var(--accent);font-weight:600}.mopts{display:flex;flex-direction:column;gap:8px}.mopt{padding:13px 16px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--s2);cursor:pointer;font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--text);text-align:left;transition:all .15s;display:flex;align-items:center;gap:10px}.mopt:hover{border-color:var(--accent);background:#f5c8420f}.mopt-ico{font-size:16px}.mcancel{margin-top:10px;width:100%;padding:9px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--text3);font-family:var(--font-body);font-size:12px;cursor:pointer;transition:color .15s}.mcancel:hover{color:var(--text)}.modal-scrollbody{flex:1;overflow-y:auto;padding:20px 24px}.modal-scrollbody::-webkit-scrollbar{width:4px}.modal-scrollbody::-webkit-scrollbar-thumb{background:var(--border2);border-radius:4px}.form-group{display:flex;flex-direction:column;margin-bottom:14px}.form-label{font-size:11px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-input,.form-select{background:var(--s2);border:1px solid var(--border2);border-radius:var(--r-sm);color:var(--text);font-family:var(--font-body);font-size:14px;padding:10px 13px;outline:none;width:100%;transition:border-color .2s}.form-input:focus,.form-select:focus{border-color:var(--accent)}.form-input::placeholder{color:var(--text3)}.form-select option{background:var(--s2)}textarea.form-input{resize:vertical;min-height:80px}.stale-header{display:flex;align-items:center;gap:10px;margin-bottom:4px}.stale-ico{font-size:20px;flex-shrink:0}.stale-info{margin-bottom:14px}.stale-days{color:var(--text3)}.stale-warning{background:#fbbf2414;border:1px solid rgba(251,191,36,.22);border-radius:var(--r-sm);padding:10px 13px;font-size:12px;color:#fbbf24;margin-bottom:16px;line-height:1.5}.pill{background:var(--s2);border:1px solid var(--border);border-radius:100px;padding:5px 12px;font-size:11px;color:var(--text2);display:flex;align-items:center;gap:5px;font-weight:500}.pill-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.hdr{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px}.hdr-left h1{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.5px;color:var(--text);line-height:1}.hdr-left h1 span{color:var(--accent)}.hdr-left p{font-size:11px;color:var(--text3);letter-spacing:1.5px;text-transform:uppercase;margin-top:5px;font-weight:500}.hdr-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.hdr-pills{display:flex;gap:8px}.hdr-btns{display:flex;gap:6px}.div{height:1px;background:var(--border);margin:16px 0 10px}.empty{text-align:center;color:var(--text3)}.empty-ico{font-size:38px;margin-bottom:12px}.empty p{font-size:13px}.sec-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text3);font-weight:700;margin-bottom:10px;margin-top:2px}.sync-btn{background:none;border:1px solid var(--border);color:var(--text3);border-radius:var(--r-sm);padding:4px 9px;font-size:15px;cursor:pointer;line-height:1;transition:all .15s}.sync-btn:hover{color:var(--text);border-color:var(--border2)}.sync-btn.stale{border-color:#fbbf2480;color:#fbbf24;background:#fbbf2412}.sync-btn.stale:hover{background:#fbbf2424;border-color:#fbbf24}.reset-btn{background:none;border:1px solid var(--border);color:var(--text3);border-radius:var(--r-sm);padding:4px 9px;font-size:16px;cursor:pointer;line-height:1;transition:all .15s}.reset-btn:hover{color:var(--text);border-color:var(--border2)}.emoji-picker-wrap{position:relative}.emoji-btn{width:42px;height:42px;border-radius:var(--r-sm);background:var(--s2);border:1px solid var(--border2);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s}.emoji-btn:hover{border-color:var(--accent)}.emoji-grid{position:absolute;bottom:calc(100% + 6px);left:0;background:var(--s1);border:1px solid var(--border2);border-radius:var(--r);padding:10px;display:grid;grid-template-columns:repeat(10,34px);gap:3px;z-index:50;width:max-content;max-height:300px;overflow-y:auto;box-shadow:0 8px 32px #00000080}.emoji-opt{padding:5px;border-radius:6px;cursor:pointer;font-size:18px;text-align:center;transition:background .1s;background:transparent;border:none}.emoji-opt:hover{background:var(--s3)}.warnings{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.warning{background:#f5c84214;border:1px solid rgba(245,200,66,.25);border-radius:var(--r-sm);padding:9px 14px;font-size:12px;color:var(--text2);display:flex;align-items:center;gap:8px}.warning strong{color:var(--accent);font-weight:600}.warn-ico{font-size:14px;flex-shrink:0}.add-wrap{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.add-input{flex:1;min-width:0;background:var(--s1);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 14px;font-family:var(--font-body);font-size:13px;color:var(--text);outline:none;transition:border-color .2s}.add-input:focus{border-color:var(--accent)}.add-input::placeholder{color:var(--text3)}.cat-select,.store-select{background:var(--s1);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px;font-family:var(--font-body);font-size:12px;color:var(--text2);outline:none;cursor:pointer;transition:border-color .2s}.cat-select{max-width:140px}.cat-select:focus,.store-select:focus{border-color:var(--accent)}.tag-current{background:#4ade8026;color:#4ade80}.tag-recurr{background:#f5c84226;color:var(--accent)}.items{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}@media (max-width: 480px){.items{grid-template-columns:1fr}}.ingredient-list{margin-bottom:20px}.ingredient-row{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:var(--s2);border:1px solid var(--border);font-size:13px;margin-bottom:5px}.ingredient-row-name{flex:1;color:var(--text);font-weight:500}.ingredient-row-amount{font-size:11px;font-weight:600;color:var(--accent);background:#f5c8421f;padding:2px 8px;border-radius:100px}.ingredient-row-pp{font-size:10px;color:var(--text3);background:var(--s3);padding:1px 6px;border-radius:100px}.recipe-modal-box{background:var(--s1);border:1px solid var(--border);border-radius:var(--r-xl);width:100%;max-width:580px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 80px #0009;overflow:hidden}.recipe-modal-head{padding:20px 24px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;flex-shrink:0}.recipe-modal-emoji{font-size:28px}.recipe-modal-label{font-size:10px;color:var(--text3);font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}.recipe-modal-title{font-size:17px;font-weight:700;color:var(--text);letter-spacing:-.03em}.recipe-section-title{font-size:10px;color:var(--text3);font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}.recipe-divider{height:1px;background:var(--border);margin:16px 0}.recipe-add-row{padding:16px 24px 0;border-top:1px solid var(--border);flex-shrink:0}.recipe-add-input{flex:1;padding:11px 16px;border-radius:12px;border:1.5px solid var(--border);font-size:14px;background:var(--s2);color:var(--text);font-family:var(--font-body);outline:none}.recipe-footer{padding:14px 24px 20px;display:flex;gap:10px;justify-content:flex-end;flex-shrink:0}.recipe-footer-save{padding:10px 24px;border-radius:12px;border:none;background:var(--accent);color:#000;font-size:14px;cursor:pointer;font-weight:700;font-family:var(--font-body)}.recipe-footer-cancel{padding:10px 20px;border-radius:12px;border:1px solid var(--border);background:var(--s2);color:var(--text2);font-size:14px;cursor:pointer;font-weight:600;font-family:var(--font-body)}.step-row{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--s2);border-radius:14px;border:1.5px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;transition:background .15s,border-color .15s;margin-bottom:6px}.step-row.drag-over{background:#f5c84214;border-color:var(--accent)}.step-drag-handle{color:var(--text3);font-size:16px;flex-shrink:0;line-height:1}.step-num{width:22px;height:22px;border-radius:50%;background:var(--s3);color:var(--text2);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.step-input{flex:1;border:none;background:transparent;font-size:14px;color:var(--text);font-family:var(--font-body);outline:none;min-width:0;cursor:text;-webkit-user-select:text;user-select:text}.step-del{width:26px;height:26px;border-radius:50%;border:1px solid var(--border);background:var(--s3);color:var(--text3);font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.step-del:hover{border-color:#e11d4866;background:#e11d481a;color:#e11d48}.photo-thumb{width:76px;height:76px;border-radius:12px;object-fit:cover;cursor:zoom-in;border:1.5px solid var(--border);display:block}.photo-add-label{width:76px;height:76px;border-radius:12px;border:2px dashed var(--border2);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:var(--text3);font-size:10px;font-weight:700;gap:3px;transition:border-color .15s}.photo-add-label:hover{border-color:#a8a09a}.resto-modal-title{font-family:var(--font-serif);font-size:22px;font-weight:700;color:var(--gold);margin-bottom:22px}.resto-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}.saved-msg{color:var(--green);font-size:11px}.tag-toggle{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer;font-family:var(--font-body);border:1px solid var(--border);background:var(--s2);color:var(--text2);transition:all .15s}.tag-toggle.on{background:#ffd45229;border-color:var(--gold);color:var(--gold)}.tag-toggle:not(.on):hover{border-color:var(--border2);color:var(--text)}.comment-item{padding:12px 14px;background:var(--s2);border:1px solid var(--border);border-radius:var(--r-sm);margin-bottom:8px}.comment-text{font-size:13px;color:var(--text);line-height:1.5;margin-bottom:4px}.comment-date{font-size:11px;color:var(--text3)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:4px}
