[data-v-48cdc66a]{box-sizing:border-box}.login-overlay[data-v-48cdc66a]{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;z-index:1000}.login-container[data-v-48cdc66a]{background:#fff;border-radius:16px;padding:48px;box-shadow:0 20px 60px #0000004d;max-width:420px;width:90%}.login-container h2[data-v-48cdc66a]{margin:0 0 8px;color:#333;font-size:28px;text-align:center}.login-subtitle[data-v-48cdc66a]{margin:0 0 32px;color:#666;font-size:14px;text-align:center;line-height:1.5}.login-form[data-v-48cdc66a]{display:flex;flex-direction:column;gap:20px}.login-form-group[data-v-48cdc66a]{display:flex;flex-direction:column;gap:8px}.login-form-group label[data-v-48cdc66a]{font-weight:600;color:#333;font-size:14px}.login-form-group input[data-v-48cdc66a]{padding:12px;border:2px solid #e8e8f0;border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .3s}.login-form-group input[data-v-48cdc66a]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.login-form-group input[data-v-48cdc66a]:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.login-error[data-v-48cdc66a]{background:#fee;color:#c33;padding:12px;border-radius:8px;font-size:13px;border-left:4px solid #c33}.attempts-remaining[data-v-48cdc66a]{background:#fff3cd;color:#856404;padding:10px 12px;border-radius:8px;font-size:13px;text-align:center}.login-btn[data-v-48cdc66a]{padding:12px 24px!important;font-size:16px!important;margin-top:8px}.login-btn[data-v-48cdc66a]:disabled{background:#ccc;cursor:not-allowed}.btn-secondary[data-v-48cdc66a]{background:#e74c3c;color:#fff}.btn-secondary[data-v-48cdc66a]:hover{background:#c0392b}.app[data-v-48cdc66a]{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#667eea,#764ba2)}.header[data-v-48cdc66a]{background:#fffffff2;padding:20px;box-shadow:0 2px 8px #0000001a}.header h1[data-v-48cdc66a]{margin:0 0 15px;color:#333;font-size:28px}.header-controls[data-v-48cdc66a]{display:flex;justify-content:space-between;align-items:center}.month-nav[data-v-48cdc66a]{display:flex;align-items:center;gap:15px}.month-nav h2[data-v-48cdc66a]{margin:0;color:#667eea;font-size:20px;min-width:200px;text-align:center}.nav-btn[data-v-48cdc66a]{background:#667eea;color:#fff;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:16px;transition:background .3s}.nav-btn[data-v-48cdc66a]:hover{background:#764ba2}.btn[data-v-48cdc66a]{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s}.btn-primary[data-v-48cdc66a]{background:#667eea;color:#fff}.btn-primary[data-v-48cdc66a]:hover{background:#764ba2;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary[data-v-48cdc66a]{background:#e0e0e0;color:#333}.btn-secondary[data-v-48cdc66a]:hover{background:#d0d0d0}.btn-small[data-v-48cdc66a]{padding:4px 8px;font-size:12px;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .3s}.btn-small[data-v-48cdc66a]:hover{background:#764ba2}.btn-danger[data-v-48cdc66a]{background:#ff6b6b}.btn-danger[data-v-48cdc66a]:hover{background:#ee5a52}.main-content[data-v-48cdc66a]{flex:1;display:flex;gap:20px;padding:20px;overflow:hidden;min-height:0;align-items:flex-start}.calendar-container[data-v-48cdc66a]{flex:1;background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;overflow:hidden;height:fit-content;max-height:calc(100vh - 180px)}.weekdays[data-v-48cdc66a]{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:10px}.weekday[data-v-48cdc66a]{background:#667eea;color:#fff;padding:10px;text-align:center;font-weight:600;border-radius:6px 6px 0 0}.days-grid[data-v-48cdc66a]{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#ddd;flex:1;overflow:hidden}.day-cell[data-v-48cdc66a]{background:#fff;padding:8px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:4px;min-height:120px;overflow-y:auto}.day-cell[data-v-48cdc66a]:hover{background:#f0f0f0;transform:translateY(-1px)}.day-cell.other-month[data-v-48cdc66a]{background:#f5f5f5;color:#ccc}.day-cell.today[data-v-48cdc66a]{background:#fff3cd;border:2px solid #667eea}.day-number[data-v-48cdc66a]{font-weight:600;color:#333;font-size:12px}.day-cell.other-month .day-number[data-v-48cdc66a]{color:#ccc}.meals-preview[data-v-48cdc66a]{font-size:10px;display:flex;flex-direction:column;gap:2px}.meal-slot[data-v-48cdc66a]{min-height:12px}.meal-item[data-v-48cdc66a]{display:inline-block;background:#e3f2fd;color:#1565c0;padding:2px 4px;border-radius:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.day-calorie-total[data-v-48cdc66a]{font-size:10px;color:#667eea;font-weight:600;margin-top:4px;text-align:right}.sidebar[data-v-48cdc66a]{width:300px;background:linear-gradient(135deg,#fff,#f8f9ff,#f0f0f8);border-radius:16px;padding:0;box-shadow:0 8px 32px #667eea26,0 0 60px #667eea14;overflow-y:auto;overflow-x:hidden;border:1px solid rgba(102,126,234,.1);transition:all .3s ease;flex-shrink:0;height:calc(100vh - 180px);max-height:calc(100vh - 180px)}.sidebar[data-v-48cdc66a]:hover{box-shadow:0 12px 40px #667eea33,0 0 70px #667eea1f}.sidebar h3[data-v-48cdc66a]{margin:0;color:#333;font-size:18px;border-bottom:3px solid #667eea;padding:24px 24px 16px;background:linear-gradient(135deg,rgba(102,126,234,.08) 0%,transparent 100%);font-weight:700;letter-spacing:-.5px}.calorie-total[data-v-48cdc66a]{margin:16px 24px 20px;padding:16px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;border:none;font-size:16px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 8px 20px #667eea4d;display:flex;align-items:center;justify-content:center;transition:all .3s}.calorie-total[data-v-48cdc66a]:hover{transform:translateY(-2px);box-shadow:0 12px 28px #667eea66}.calorie-total strong[data-v-48cdc66a]{font-weight:700}.protein-total[data-v-48cdc66a]{margin:0 24px 16px;padding:16px 20px;background:linear-gradient(135deg,#764ba2,#667eea);border-radius:12px;border:none;font-size:16px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 8px 20px #667eea4d;display:flex;align-items:center;justify-content:center;transition:all .3s}.protein-total[data-v-48cdc66a]:hover{transform:translateY(-2px);box-shadow:0 12px 28px #667eea66}.protein-total strong[data-v-48cdc66a]{font-weight:700}.meal-section[data-v-48cdc66a]{margin:0 16px 16px;padding:16px;background:linear-gradient(135deg,#fff,#fafbff);border-radius:12px;border-left:5px solid #667eea;box-shadow:0 2px 8px #667eea14;transition:all .3s cubic-bezier(.4,0,.2,1);animation:slideInUp-48cdc66a .4s ease-out}@keyframes slideInUp-48cdc66a{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.meal-section[data-v-48cdc66a]:hover{background:linear-gradient(135deg,#f0f4ff,#f5f7ff);box-shadow:0 8px 20px #667eea26;border-left-color:#764ba2;transform:translate(4px)}.meal-type-header[data-v-48cdc66a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.meal-type[data-v-48cdc66a]{font-weight:700;color:#667eea;font-size:12px;text-transform:uppercase;letter-spacing:1px}.meal-name[data-v-48cdc66a]{font-weight:700;color:#333;font-size:15px;margin-bottom:6px;letter-spacing:-.3px}.meal-calories[data-v-48cdc66a]{color:#667eea;font-size:13px;margin-bottom:6px;font-weight:600;display:flex;align-items:center;gap:6px}.meal-calories[data-v-48cdc66a]:before{content:"🔥";font-size:12px}.meal-protein[data-v-48cdc66a]{color:#764ba2;font-size:13px;margin-bottom:6px;font-weight:600;display:flex;align-items:center;gap:6px}.meal-protein[data-v-48cdc66a]:before{content:"💪";font-size:12px}.meal-description[data-v-48cdc66a]{font-size:12px;color:#777;margin-bottom:10px;font-style:italic;line-height:1.4}.meal-empty[data-v-48cdc66a]{color:#bbb;font-size:13px;font-style:italic;padding:8px;text-align:center}.btn-small[data-v-48cdc66a]{padding:6px 10px;font-size:11px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .3s;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.btn-small[data-v-48cdc66a]:hover{background:#764ba2;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.btn-small[data-v-48cdc66a]:active{transform:translateY(0)}.btn-danger[data-v-48cdc66a]{background:linear-gradient(135deg,#ff6b6b,#ee5a52);box-shadow:0 4px 12px #ff6b6b33}.btn-danger[data-v-48cdc66a]:hover{background:linear-gradient(135deg,#ff5252,#ee3d3d);box-shadow:0 6px 16px #ff6b6b4d}.sidebar[data-v-48cdc66a]::-webkit-scrollbar{width:6px}.sidebar[data-v-48cdc66a]::-webkit-scrollbar-track{background:transparent}.sidebar[data-v-48cdc66a]::-webkit-scrollbar-thumb{background:linear-gradient(to bottom,#667eea,#764ba2);border-radius:3px;transition:background .3s}.sidebar[data-v-48cdc66a]::-webkit-scrollbar-thumb:hover{background:linear-gradient(to bottom,#764ba2,#667eea)}.modal-overlay[data-v-48cdc66a]{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn-48cdc66a .3s ease-out}@keyframes fadeIn-48cdc66a{0%{opacity:0}to{opacity:1}}@keyframes slideUp-48cdc66a{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal[data-v-48cdc66a]{background:linear-gradient(135deg,#fff,#f8f9ff);border-radius:20px;max-width:550px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp-48cdc66a .4s cubic-bezier(.34,1.56,.64,1)}.modal-header[data-v-48cdc66a]{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:2px solid #f0f0f8;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px 20px 0 0}.modal-header h2[data-v-48cdc66a]{margin:0;color:#fff;font-size:24px;font-weight:700;letter-spacing:-.5px}.close-btn[data-v-48cdc66a]{background:#fff3;border:none;font-size:28px;color:#fff;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s}.close-btn[data-v-48cdc66a]:hover{background:#ffffff4d;transform:rotate(90deg)}.modal-content[data-v-48cdc66a]{padding:25px}.form-group[data-v-48cdc66a]{margin-bottom:16px}.form-row[data-v-48cdc66a]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group label[data-v-48cdc66a]{display:block;margin-bottom:8px;color:#333;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:#667eea}.form-group input[type=text][data-v-48cdc66a],.form-group input[type=date][data-v-48cdc66a],.form-group input[type=number][data-v-48cdc66a],.form-group select[data-v-48cdc66a],.form-group textarea[data-v-48cdc66a]{width:100%;padding:14px 16px;border:2px solid #e0e0f0;border-radius:12px;font-size:15px;font-family:inherit;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;color:#333}.form-group input[type=text][data-v-48cdc66a]:focus,.form-group input[type=date][data-v-48cdc66a]:focus,.form-group input[type=number][data-v-48cdc66a]:focus,.form-group select[data-v-48cdc66a]:focus,.form-group textarea[data-v-48cdc66a]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;background:#f8f9ff;transform:translateY(-2px)}.form-group input[data-v-48cdc66a]::placeholder,.form-group textarea[data-v-48cdc66a]::placeholder{color:#aaa}.form-group textarea[data-v-48cdc66a]{resize:vertical;min-height:100px;font-family:inherit}.form-group input[type=number][data-v-48cdc66a]{font-family:Courier New,monospace}.apply-options[data-v-48cdc66a]{display:flex;flex-direction:row;gap:20px;align-items:center;flex-wrap:wrap}.radio-label[data-v-48cdc66a],.checkbox-label[data-v-48cdc66a]{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:14px;color:#555;padding:10px;border-radius:8px;transition:all .2s}.radio-label[data-v-48cdc66a]:hover,.checkbox-label[data-v-48cdc66a]:hover{background:#f0f0f8}.radio-label input[data-v-48cdc66a],.checkbox-label input[data-v-48cdc66a]{cursor:pointer;width:18px;height:18px;accent-color:#667eea}.days-checkboxes[data-v-48cdc66a]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:8px;background:#f9f9ff;padding:12px;border-radius:12px}.weeks-checkboxes[data-v-48cdc66a]{display:flex;flex-direction:column;gap:8px;background:#f9f9ff;padding:12px;border-radius:12px;margin-bottom:8px}.form-group-sub[data-v-48cdc66a]{margin:10px 0 0;padding:12px;background:linear-gradient(135deg,#f9f9ff,#f5f5fb);border-radius:12px;border-left:4px solid #667eea}.form-group-sub label[data-v-48cdc66a]{margin-bottom:10px;font-size:13px}.form-group-sub select[data-v-48cdc66a]{width:100%;padding:12px;border:2px solid #e0e0f0;border-radius:8px;font-size:14px}.form-group-sub .days-checkboxes[data-v-48cdc66a]{margin-top:10px;padding:12px;background:#fff}.form-actions[data-v-48cdc66a]{display:flex;gap:12px;margin-top:20px;padding-top:15px;border-top:2px solid #f0f0f8}.form-actions button[data-v-48cdc66a]{flex:1;padding:14px 20px;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-transform:uppercase;letter-spacing:.5px;position:relative;overflow:hidden}.form-actions button[data-v-48cdc66a]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:#fff3;transition:left .3s}.form-actions button[data-v-48cdc66a]:hover:before{left:100%}.form-actions .btn-primary[data-v-48cdc66a]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 8px 20px #667eea4d}.form-actions .btn-primary[data-v-48cdc66a]:hover{transform:translateY(-3px);box-shadow:0 12px 28px #667eea66}.form-actions .btn-primary[data-v-48cdc66a]:active{transform:translateY(-1px)}.form-actions .btn-secondary[data-v-48cdc66a]{background:#e8e8f0;color:#667eea;font-weight:600}.form-actions .btn-secondary[data-v-48cdc66a]:hover{background:#ddd8e8;transform:translateY(-2px)}@media(max-width:1200px){.main-content[data-v-48cdc66a]{flex-direction:column}.sidebar[data-v-48cdc66a]{width:100%;max-height:300px}.days-checkboxes[data-v-48cdc66a]{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.header-controls[data-v-48cdc66a]{flex-direction:column;gap:15px}.main-content[data-v-48cdc66a]{padding:10px;gap:10px}.calendar-container[data-v-48cdc66a]{padding:10px}.day-cell[data-v-48cdc66a]{min-height:80px;font-size:12px}}.recipe-list[data-v-48cdc66a]{max-height:70vh;overflow-y:auto}.recipes-container[data-v-48cdc66a]{display:flex;flex-direction:column;gap:12px}.recipe-card[data-v-48cdc66a]{background:linear-gradient(135deg,#fff,#f8f9ff);border:2px solid #e8e8f0;border-radius:12px;padding:16px;transition:all .3s ease;cursor:pointer}.recipe-card[data-v-48cdc66a]:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.recipe-header[data-v-48cdc66a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.recipe-header h4[data-v-48cdc66a]{margin:0;color:#333;font-size:16px;font-weight:700}.recipe-actions[data-v-48cdc66a]{display:flex;gap:8px}.recipe-details[data-v-48cdc66a]{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}.recipe-detail[data-v-48cdc66a]{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.recipe-description[data-v-48cdc66a]{margin:8px 0 0;color:#666;font-size:13px;line-height:1.4}.recipe-form[data-v-48cdc66a]{display:flex;flex-direction:column;gap:16px}.recipe-form textarea[data-v-48cdc66a]{font-family:inherit;font-size:14px;border:2px solid #e8e8f0;border-radius:8px;padding:12px;resize:vertical}.recipe-form textarea[data-v-48cdc66a]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.recipe-list[data-v-48cdc66a]::-webkit-scrollbar{width:6px}.recipe-list[data-v-48cdc66a]::-webkit-scrollbar-track{background:transparent}.recipe-list[data-v-48cdc66a]::-webkit-scrollbar-thumb{background:linear-gradient(to bottom,#667eea,#764ba2);border-radius:3px}.recipe-list[data-v-48cdc66a]::-webkit-scrollbar-thumb:hover{background:linear-gradient(to bottom,#764ba2,#667eea)}
