@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700;800&display=swap";:root{--bg-color:#030305;--card-bg:#ffffff0a;--card-border:#ffffff1f;--accent-blue:#00f2ff;--accent-purple:#bc13fe;--text-primary:#fff;--text-secondary:#ffffffb3;--glass-blur:blur(40px);--neon-shadow:0 0 20px #00f2ff66;--base-font:clamp(14px, 1vh + 1vw, 22px);--title-font:clamp(1.4rem, 3.5vh, 2.5rem);--icon-size:clamp(1.8rem, 4.5vh, 3rem);--safe-bottom:clamp(90px, 11vh, 130px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);background-image:radial-gradient(circle at 10% 10%,#bc13fe26 0%,#0000 45%),radial-gradient(circle at 90% 90%,#00f2ff26 0%,#0000 45%),radial-gradient(circle,#0f0f19 0%,#0000 100%);width:100%;height:100dvh;font-family:Outfit,sans-serif;position:relative;overflow:hidden}#app{z-index:10;flex-direction:column;width:100%;height:100dvh;display:flex;position:relative;overflow:hidden}.app-version{color:var(--accent-blue);z-index:1000;pointer-events:none;text-transform:uppercase;letter-spacing:1px;background:#00f2ff26;border:1px solid #00f2ff66;border-radius:10px;padding:4px 12px;font-size:.8rem;font-weight:800;position:absolute;top:15px;left:15px;box-shadow:0 0 10px #00f2ff33}.glass-header{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--card-border);z-index:100;background:#ffffff08;border-radius:0 0 35px 35px;flex-direction:column;align-items:center;gap:1rem;padding:clamp(1rem,2.5vh,2.5rem) 1.2rem 1.2rem;display:flex;box-shadow:0 15px 40px #0006}h1{font-size:var(--title-font);background:linear-gradient(135deg, var(--accent-blue), var(--accent-purple));-webkit-text-fill-color:transparent;letter-spacing:-1.5px;text-align:center;-webkit-background-clip:text;font-weight:800;line-height:1}.month-selector{border:1px solid var(--card-border);background:#ffffff0f;border-radius:25px;align-items:center;gap:1.5rem;padding:10px 20px;display:flex}.month-selector button{color:var(--accent-blue);cursor:pointer;background:0 0;border:none;font-size:1.5rem;font-weight:800}.month-selector h2{text-align:center;min-width:150px;font-size:clamp(1rem,2vh,1.4rem);font-weight:700}.view-selector{border:1px solid var(--card-border);background:#ffffff0d;border-radius:20px;gap:4px;margin-top:.5rem;padding:4px;display:flex!important}.btn-toggle{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:16px;padding:6px 16px;font-size:.85rem;font-weight:700;transition:all .3s cubic-bezier(.16,1,.3,1)}.btn-toggle.active{background:var(--accent-blue);color:#000;box-shadow:0 0 15px #00f2ff66}.btn{text-transform:uppercase;letter-spacing:1px;cursor:pointer;background:0 0;border:none;border-radius:40px;justify-content:center;align-items:center;width:100%;padding:16px 24px;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:800;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-premium{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--card-border);color:#fff;background:#ffffff08}.btn-premium:active{transform:scale(.96)}.btn-blue{border-color:var(--accent-blue);color:var(--accent-blue);box-shadow:0 0 15px #00f2ff26}.btn-purple{border-color:var(--accent-purple);color:var(--accent-purple);box-shadow:0 0 15px #bc13fe26}.btn-red{color:#ff4d4d;border-color:#ff4d4d;box-shadow:0 0 15px #ff4d4d26}.btn-primary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--accent-blue);border:2px solid var(--accent-blue);background:#ffffff08;box-shadow:0 0 20px #00f2ff33}.btn-primary:active{background:#00f2ff1a;transform:scale(.96);box-shadow:0 0 10px #00f2ff26}.btn-close-premium{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1.5px solid var(--card-border);color:#fff;background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;transition:all .2s;display:flex}.btn-close-premium:active{background:#fff3;transform:scale(.9)}.header-actions,.weekday-labels{display:none!important}.main-container{padding:8px;padding-bottom:var(--safe-bottom);scrollbar-width:thin;scrollbar-color:var(--accent-blue) transparent;flex-direction:column;flex:1;display:flex;overflow-y:auto}.shopping-action-bar{-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);border-top:1px solid var(--card-border);z-index:100;background:#08080ce6;align-items:center;gap:1.5rem;width:100%;padding:1.5rem 2rem 2.5rem;display:flex;position:absolute;bottom:0;left:0;box-shadow:0 -20px 40px #0009}.total-price-premium{color:var(--accent-blue);text-shadow:0 0 10px #00f2ff4d;white-space:nowrap;font-size:1.4rem;font-weight:800}.sidebar-content{padding-bottom:120px!important}.drawer-content{padding-bottom:150px!important}.main-container::-webkit-scrollbar{width:4px}.main-container::-webkit-scrollbar-thumb{background:var(--accent-blue);opacity:.3;border-radius:10px}.week-grid{flex:1;width:100%;min-height:100%;grid-template-columns:repeat(7,1fr)!important;grid-auto-rows:1fr!important;gap:clamp(4px,.8vh,10px)!important;display:grid!important}.week-grid.week-mode{flex:0;min-height:auto;grid-auto-rows:clamp(140px,20vh,220px)!important}.day-card{background:var(--card-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1.5px solid var(--card-border);border-radius:20px;flex-direction:column;justify-content:space-between;min-width:0;padding:clamp(4px,.8vh,12px);transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.day-card.today{border:2px solid var(--accent-blue);background:#00f2ff14;box-shadow:0 0 30px #00f2ff4d}.day-card.planned{background:#ffffff0f;border-color:#00f2ff99}.day-number{color:var(--text-secondary);opacity:.6;font-size:clamp(.9rem,1.8vh,1.3rem);font-weight:800}.day-card.planned .day-number{color:var(--accent-blue);opacity:1;text-shadow:0 0 10px #00f2ff99}.day-name{text-transform:uppercase;color:var(--accent-blue);opacity:.8;margin-bottom:2px;font-size:.7rem;font-weight:800}@media (width<=340px){.day-name{display:none}}.meal-slot{max-height:80px;margin-top:.2rem;padding-right:4px;position:relative;overflow-y:auto}.meal-slot::-webkit-scrollbar{width:3px}.meal-slot::-webkit-scrollbar-thumb{background:#00f2ff33;border-radius:10px}.meal-content{color:var(--text-primary);text-align:left;flex-direction:column;align-items:flex-start;gap:2px;font-size:clamp(.7rem,1.5vh,.9rem);font-weight:800;line-height:1.1;display:flex}.loose-ingredients{color:#ffffffa6;width:100%;font-size:.65rem;font-weight:500}.ing-item{white-space:nowrap;text-overflow:ellipsis;line-height:1.3;overflow:hidden}.mobile-nav{-webkit-backdrop-filter:blur(45px);backdrop-filter:blur(45px);z-index:1000;background:#0c0c14d9;border:1.5px solid #ffffff2e;border-radius:45px;justify-content:space-around;align-items:center;height:clamp(65px,9vh,90px);display:flex;position:fixed;bottom:clamp(15px,2.5vh,35px);left:clamp(12px,3.5vw,25px);right:clamp(12px,3.5vw,25px);box-shadow:0 20px 50px #000000b3,0 0 20px #00f2ff26}.nav-item{color:var(--text-secondary);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:4px;font-size:clamp(.7rem,1.5vh,.9rem);font-weight:800;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.nav-item.active{color:var(--accent-blue);transform:translateY(-5px)}.nav-icon{font-size:var(--icon-size);filter:drop-shadow(0 0 10px #00f2ff33)}.nav-item.active .nav-icon{filter:drop-shadow(0 0 15px #00f2ff99)}.modal{z-index:10000;-webkit-backdrop-filter:blur(55px);backdrop-filter:blur(55px);opacity:0;pointer-events:none;width:92%;max-width:400px;max-height:85dvh;box-shadow:0 40px 80px #000000e6, var(--neon-shadow);background:#08080cfa;border:2px solid #fff3;border-radius:40px;flex-direction:column;padding:2.5rem;transition:all .5s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)scale(.9)}.modal.open{opacity:1;pointer-events:all;transform:translate(-50%,-50%)scale(1)}.modal-header{border-bottom:1px solid var(--card-border);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1.5rem;display:flex}.modal-header h2{color:#fff;margin:0;font-size:1.8rem;font-weight:800}.modal-content{flex:1;padding-right:5px;overflow-y:auto}.modal-content::-webkit-scrollbar{width:4px}.modal-content::-webkit-scrollbar-thumb{background:#00f2ff33;border-radius:10px}.btn-close-premium{color:#fff;cursor:pointer;background:#ffffff0d;border:1.5px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:2rem;line-height:1;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.btn-close-premium:active{border-color:var(--accent-blue);background:#ffffff1a;transform:scale(.9)rotate(90deg)}.drawer{-webkit-backdrop-filter:blur(60px);backdrop-filter:blur(60px);z-index:5000;background:#08080cfa;border-top:1.5px solid #fff3;border-radius:40px 40px 0 0;flex-direction:column;width:100vw;height:90dvh;transition:transform .6s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;bottom:0;left:0;transform:translateY(100%);box-shadow:0 -20px 60px #000c}.drawer,.sidebar{-webkit-backdrop-filter:blur(60px);backdrop-filter:blur(60px);z-index:5000;background:#08080cfa;border:1.5px solid #fff3;border-radius:35px;flex-direction:column;width:min(92vw,480px);height:clamp(400px,75dvh,850px);transition:transform .7s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;bottom:clamp(10px,2.5dvh,40px);left:50%;overflow:hidden;transform:translate(-50%)translateY(calc(100% + 50px));box-shadow:0 30px 80px #000000e6,0 0 30px #00f2ff1a}.drawer.open,.sidebar.open{transform:translate(-50%)translateY(0)}.drawer-header,.sidebar-header{border-bottom:1px solid var(--card-border);justify-content:space-between;align-items:center;padding:2.5rem 2rem 1.5rem;display:flex}.drawer-header h2,.sidebar h3{font-size:var(--title-font);background:linear-gradient(135deg, white, var(--accent-blue));-webkit-text-fill-color:transparent;letter-spacing:-1px;-webkit-background-clip:text;font-weight:800;line-height:1.1}.drawer-content,.sidebar-content{flex:1;padding:clamp(1rem,3vh,2rem) clamp(1rem,3vh,2rem) 150px;overflow-y:auto}.recipe-item{border:1.5px solid var(--card-border);cursor:pointer;background:#ffffff0d;border-radius:20px;justify-content:space-between;align-items:center;margin-bottom:.8rem;padding:clamp(.5rem,1.2vh,.8rem);transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.recipe-item-content{flex:1;align-items:center;gap:12px;display:flex}.recipe-img-small{background:#ffffff0d;border-radius:12px;width:48px;height:48px;overflow:hidden}.recipe-img-small img{object-fit:cover;width:100%;height:100%}.recipe-info h4{font-size:calc(var(--base-font) * .95);color:#fff;margin-bottom:2px;font-weight:700}.recipe-info p{font-size:calc(var(--base-font) * .75);color:var(--text-secondary)}.recipe-arrow{color:var(--accent-blue);opacity:.5;margin-left:10px;font-size:1.2rem}.search-box{margin-bottom:clamp(1.5rem,4vh,3rem)}.glass-input{border:1.5px solid var(--card-border);color:#fff;width:100%;font-family:Outfit,sans-serif;font-size:var(--base-font);background:#ffffff14;border-radius:28px;padding:clamp(1rem,2.5vh,1.5rem);transition:all .3s}.glass-input:focus{border-color:var(--accent-blue);background:#ffffff1f;outline:none;box-shadow:0 0 25px #00f2ff40}.toast{-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border:1.5px solid var(--accent-blue);z-index:20000;background:#00f2ff33;border-radius:25px;padding:1.2rem 2.5rem;font-size:1.1rem;font-weight:800;position:fixed;bottom:clamp(120px,18vh,180px);left:50%;transform:translate(-50%);box-shadow:0 10px 40px #00000080}.ingredients-card{background:#ffffff0a;border:1.2px solid #ffffff1f;border-radius:24px;margin-top:1.5rem;padding:1.5rem;box-shadow:inset 0 0 20px #ffffff05}.ingredients-card h4{text-transform:uppercase;letter-spacing:1.2px;color:var(--accent-blue);align-items:center;gap:8px;margin-bottom:1rem;font-size:.9rem;display:flex}.ingredients-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ingredients-list li{color:#ffffffd9;background:#ffffff08;border-left:3px solid #00f2ff4d;border-radius:12px;padding:8px 12px;font-size:.95rem;transition:all .2s}.ingredients-list li:hover{border-left-color:var(--accent-blue);background:#ffffff0f}.planned-meal-container{padding:1rem 0}.planned-meal-name{text-align:center;background:linear-gradient(90deg,#fff,#ffffffb3);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:1.5rem 0;font-size:clamp(1.4rem,4vh,2rem);font-weight:800;line-height:1.1}.shopping-category{margin-bottom:2rem}.category-header{color:var(--text-primary);text-transform:uppercase;letter-spacing:1.5px;align-items:center;gap:10px;margin-bottom:1rem;font-size:1.1rem;font-weight:800;display:flex}.category-items-grid{flex-direction:column;gap:.8rem;display:flex}.shopping-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;align-items:center;gap:1rem;padding:1rem;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.shopping-card:active{background:#ffffff14;transform:scale(.98)}.shopping-card-img{background:#0003;border-radius:12px;flex-shrink:0;width:50px;height:50px;overflow:hidden}.shopping-card-img img{object-fit:cover;width:100%;height:100%}.shopping-card-info{flex:1;min-width:0}.shopping-card-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:700;overflow:hidden}.shopping-card-sub{align-items:center;gap:8px;margin-top:4px;display:flex}.price-tag{color:var(--accent-blue);font-size:.8rem;font-weight:600}.ah-badge{background:var(--accent-blue);color:#000;border-radius:6px;padding:2px 6px;font-size:.65rem;font-weight:900}.shopping-card-actions{align-items:center;gap:.8rem;display:flex}.quantity-pill{background:#ffffff1a;border:1px solid #ffffff0d;border-radius:15px;align-items:center;gap:10px;padding:4px;display:flex}.quantity-pill button{border:1px solid var(--accent-blue);width:24px;height:24px;color:var(--accent-blue);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-weight:800;transition:all .2s;display:flex}.quantity-pill button:active{background:var(--accent-blue);color:#000}.quantity-pill span{text-align:center;min-width:20px;font-size:.9rem;font-weight:800}.btn-delete-circle{color:#ff4d4d;cursor:pointer;background:#ff4d4d26;border:1px solid #ff4d4d4d;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.btn-delete-circle:active{color:#fff;background:#ff4d4d}.manage-recipe-card{border-radius:20px;align-items:center;gap:15px;width:100%;margin-bottom:12px;padding:12px;display:flex}.manage-recipe-card img,.manage-recipe-img-placeholder{object-fit:cover;background:#ffffff0d;border-radius:12px;flex-shrink:0;width:65px;height:65px}.manage-recipe-img-placeholder{color:var(--text-secondary);border:1px dashed var(--card-border);justify-content:center;align-items:center;font-size:.7rem;display:flex}.manage-recipe-info{flex:1;overflow:hidden}.manage-recipe-info h3{white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:1rem;font-weight:700;overflow:hidden}.manage-recipe-info p{color:var(--text-secondary);font-size:.8rem}.manage-recipe-actions{align-items:center;gap:10px;display:flex}.btn-edit-small{border:1.5px solid var(--accent-blue);cursor:pointer;background:#00f2ff0d;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;transition:all .2s;display:flex}.btn-edit-small:active{background:var(--accent-blue);transform:scale(.9)}
