.app-container{font-family:Inter,sans-serif;background:#fafbfc;min-height:100vh}.header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem 1rem;background:#fff;border-radius:0 0 1rem 1rem;box-shadow:0 2px 8px #00000008}.header .logo{font-weight:700;font-size:1.4rem;letter-spacing:.5px}.header .nav{display:flex;gap:2rem}.header .nav a{color:#222;text-decoration:none;font-size:1rem}.header .nav a:hover{color:#17b8a7}.header .user-info{display:flex;align-items:center;gap:1rem}.header .user-info span{color:#666;font-size:.9rem}.header .user-info .logout-btn{background:#f44336;color:#fff;border:none;border-radius:.4rem;padding:.5rem 1rem;font-size:.9rem;cursor:pointer;transition:background .2s}.header .user-info .logout-btn:hover{background:#d32f2f}.main-content{display:flex;gap:2rem;padding:2rem;max-width:1200px;margin:0 auto}@media (max-width: 900px){.main-content{flex-direction:column;padding:1rem;gap:1.2rem}}.left-panel,.right-panel{background:#fff;border-radius:1rem;box-shadow:0 2px 8px #0000000a;padding:2rem 1.5rem;flex:1 1 0;min-width:320px;display:flex;flex-direction:column;align-items:stretch}.left-panel{max-width:400px;display:flex;flex-direction:column;align-items:stretch;flex:1 1 0;min-width:320px;justify-content:center;height:100%}.left-panel .dropzone{border:2px dashed #e0e0e0;border-radius:1rem;padding:2rem 1rem;text-align:center;color:#888;margin-bottom:1.5rem;background:#f7f7f7;cursor:pointer}.left-panel .dropzone .upload-icon{color:#17b8a7;margin-bottom:.5rem}.left-panel .dropzone .upload-btn{background:#17b8a7;color:#fff;border:none;border-radius:.5rem;padding:.7rem 1.5rem;font-size:1rem;margin-top:.7rem;cursor:pointer;transition:background .2s}.left-panel .dropzone .upload-btn:hover{background:#11998e}.left-panel .image-preview-container{display:flex;justify-content:center;align-items:center;min-height:180px;margin-bottom:1.5rem;flex-grow:1}.left-panel .image-preview-container .image-preview{width:100%;max-width:320px;max-height:180px;border-radius:1rem;object-fit:cover;box-shadow:0 2px 8px #00000012;overflow:hidden;display:block}.left-panel .generate-btn{background:#17b8a7;color:#fff;border:none;border-radius:.5rem;padding:1rem 0;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .2s;margin-top:.5rem}.left-panel .generate-btn:hover{background:#11998e}.right-panel .recipe-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.right-panel .recipe-header h2{font-size:1.4rem;font-weight:600}.right-panel .recipe-header .recipe-actions{display:flex;gap:.7rem}.right-panel .recipe-header .recipe-actions .icon-btn{display:flex;align-items:center;gap:.4rem;background:#17b8a7;color:#fff;border:none;border-radius:.4rem;padding:.5rem 1rem;font-size:1rem;cursor:pointer;transition:background .2s}.right-panel .recipe-header .recipe-actions .icon-btn svg{font-size:1.1em}.right-panel .recipe-header .recipe-actions .icon-btn:hover{background:#11998e}.right-panel .recipe-meta{display:flex;align-items:center;color:#888;font-size:1rem;margin-bottom:1.5rem}.right-panel .recipe-meta .clock-icon{margin-right:.5rem}.right-panel .recipe-section h3{font-size:1.1rem;font-weight:600;margin-top:1.2rem;margin-bottom:.5rem}.right-panel .recipe-section .ingredients-list{list-style:none;padding-left:0;margin-bottom:1.2rem;color:#333;border-radius:.8rem;padding:1.1rem 1.3rem 1.1rem 1.7rem;font-size:1.04rem}.right-panel .recipe-section .ingredients-list li{position:relative;margin-bottom:.6rem;padding-left:1.1rem;line-height:1.6}.right-panel .recipe-section .ingredients-list li:before{content:"";position:absolute;left:0;top:.7em;width:.55em;height:.55em;background:#17b8a7;border-radius:50%;display:inline-block;box-shadow:0 1px 2px #17b8a714}.right-panel .recipe-section .ingredients-list li:last-child{margin-bottom:0}.right-panel .recipe-section .instructions-list{list-style:none;counter-reset:step;padding-left:0}.right-panel .recipe-section .instructions-list li{display:flex;align-items:flex-start;margin-bottom:1.1rem;position:relative;font-size:1.07rem;line-height:1.7;counter-increment:step}.right-panel .recipe-section .instructions-list li:before{content:counter(step);display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin-right:1rem;background:#eaf7f6;color:#17b8a7;font-weight:600;border-radius:50%;font-size:1.1rem;box-shadow:0 1px 4px #0000000a;flex-shrink:0}.right-panel .recipe-section .instructions-list li:last-child{margin-bottom:0}@media (max-width: 900px){.main-content{flex-direction:column;padding:1rem;gap:1.2rem}.left-panel,.right-panel{padding:1.2rem .7rem;min-width:0;max-width:100%;box-sizing:border-box}.left-panel{margin-bottom:1rem}.generate-btn{width:100%;font-size:1rem;padding:.9rem 0}.dropzone{padding:1.2rem .5rem;font-size:.98rem}.image-preview-container{min-height:120px}.image-preview-container .image-preview{max-width:100%;max-height:120px}.image-preview-container .image-placeholder{height:80px;font-size:.95rem}.empty-recipe-state{min-height:180px}.empty-recipe-state .empty-illustration svg{width:48px;height:48px}.empty-recipe-state .empty-message{font-size:1rem}.recipe-header{flex-direction:column;align-items:flex-start;gap:.7rem}.recipe-header h2{font-size:1.1rem}.recipe-header .recipe-actions{width:100%;display:flex;justify-content:flex-end}}@media (max-width: 600px){.main-content{padding:.5rem;gap:.7rem}.left-panel,.right-panel{padding:.7rem .2rem}.generate-btn{font-size:.98rem;padding:.7rem 0}.empty-recipe-state .empty-message{font-size:.95rem}}@media (min-width: 901px){.main-content{align-items:stretch;height:100%}.left-panel,.right-panel{height:100%;display:flex;flex-direction:column}}.saved-recipes-container{background:#fff;border-radius:1rem;box-shadow:0 2px 8px #0000000a;padding:2rem;text-align:center;max-width:600px;margin:0 auto}.saved-recipes-container h1{color:#333;margin-bottom:1rem}.saved-recipes-container p{color:#666;font-size:1.1rem;line-height:1.6}.empty-recipe-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:320px;color:#aaa}.empty-recipe-state .empty-illustration{margin-bottom:1.2rem}.empty-recipe-state .empty-message{font-size:1.1rem;text-align:center;color:#888}.empty-recipe-state .empty-message b{color:#17b8a7;font-weight:600}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f5f6fa}.login-container{background:#fff;border-radius:16px;box-shadow:0 2px 16px #0000000f;padding:2.5rem 2rem 2rem;width:350px;max-width:95vw;display:flex;flex-direction:column;align-items:stretch}h2{text-align:center;font-size:1.6rem;font-weight:700;margin-bottom:.5rem}.tab-switch{display:flex;justify-content:center;margin-bottom:2rem;background:#f5f6fa;border-radius:999px;padding:4px}.tab-switch button{flex:1;padding:.6rem 0;border:none;background:transparent;font-size:1rem;font-weight:600;color:#888;border-radius:999px;transition:background .2s,color .2s;cursor:pointer}.tab-switch button.active{background:#19b46a;color:#fff;box-shadow:0 2px 8px #19b46a14}.login-form,.signup-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}input[type=email],input[type=password],input[type=text]{padding:.9rem 1rem;border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;background:#fafbfc;transition:border .2s}input:focus{border-color:#19b46a;outline:none}button[type=submit],.login-form button[type=submit],.signup-form button[type=submit]{background:#19b46a;color:#fff;font-weight:600;font-size:1.1rem;border:none;border-radius:8px;padding:.9rem 0;margin-top:.5rem;cursor:pointer;transition:background .2s}button[type=submit]:disabled{background:#e0e0e0;color:#aaa;cursor:not-allowed}.divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0 1rem}.divider span{flex:1;color:#bbb;font-size:.95rem;position:relative}.divider:before,.divider:after{content:"";flex:2;border-bottom:1px solid #eee;margin:0 8px}.google-signin-btn{background:#fff;color:#222;border:1px solid #e0e0e0;border-radius:8px;padding:.9rem 0;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .2s,border .2s}.google-signin-btn:hover{background:#f5f6fa;border-color:#19b46a}.error-message{color:#e74c3c;background:#fff0f0;border-radius:6px;padding:.5rem 1rem;margin-bottom:.5rem;font-size:.98rem;text-align:center}.success-message{color:#19b46a;background:#eafaf3;border-radius:6px;padding:.5rem 1rem;margin-bottom:.5rem;font-size:.98rem;text-align:center}
