body{margin:0;padding:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}.app-header{background-color:var(--white);padding:16px 24px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;width:100%;box-sizing:border-box}.logo{text-decoration:none;color:var(--brown);display:flex;align-items:center;gap:12px}.logo-image{height:50px;width:50px;object-fit:contain}.logo-text{font-size:24px;font-weight:700}.main-nav{display:flex;gap:24px}.nav-link{text-decoration:none;color:var(--brown);font-weight:600;font-size:16px;transition:color .2s}.nav-link:hover{color:var(--green)}@media(max-width:768px){.app-header{padding:12px 16px}.logo-image{height:40px;width:40px}.logo-text{font-size:18px}.main-nav{gap:16px}.nav-link{font-size:14px}}.app-footer{background-color:var(--white);padding:24px;text-align:center;border-top:1px solid var(--light-gray);margin-top:auto}.admin-link{display:inline-block;color:var(--green);text-decoration:none;font-weight:600;font-size:14px;padding:8px 16px;border-radius:6px;transition:background-color .2s;margin-bottom:12px}.admin-link:hover{background-color:var(--light-bg)}.footer-text{margin:8px 0 0;color:var(--gray);font-size:14px}@media(max-width:768px){.app-footer{padding:20px 16px}}.home-main{flex:1;padding:40px 24px;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.hero-section{display:flex;flex-direction:column;align-items:center;margin-bottom:48px}.hero-logo{width:200px;height:200px;object-fit:contain;margin-bottom:24px}.slogan{text-align:center}.slogan h2{font-size:36px;color:var(--green);margin-bottom:8px}.slogan p{font-size:18px;color:var(--gray)}.no-recipes{text-align:center;padding:60px 20px;color:var(--gray);font-size:18px}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;justify-items:center}.recipe-card{background-color:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s;text-decoration:none;color:var(--brown);width:100%;max-width:350px}.recipe-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.recipe-image{width:100%;height:200px;overflow:hidden;background-color:var(--light-gray)}.recipe-image img{width:100%;height:100%;object-fit:cover}.placeholder-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:64px;background:linear-gradient(135deg,var(--green) 0%,var(--dark-green) 100%)}.recipe-info{padding:20px}.recipe-info h3{font-size:20px;margin:0;font-weight:700}@media(max-width:768px){.home-main{padding:24px 16px}.hero-logo{width:150px;height:150px}.slogan h2{font-size:28px}.slogan p{font-size:16px}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}}.recipe-main{flex:1;padding:40px 24px;max-width:800px;margin:0 auto;width:100%}.recipe-hero{width:100%;height:400px;border-radius:16px;overflow:hidden;margin-bottom:32px;background-color:var(--light-gray)}.recipe-hero-image{width:100%;height:100%;object-fit:cover}.recipe-hero-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:120px;background:linear-gradient(135deg,var(--green) 0%,var(--dark-green) 100%)}.recipe-title{font-size:42px;margin-bottom:32px;color:var(--brown)}.recipe-section{margin-bottom:40px;background-color:var(--white);padding:32px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.recipe-section h2{font-size:28px;margin-bottom:20px;color:var(--green)}.ingredients-list,.instructions-list{list-style-position:outside;padding-left:24px}.ingredients-list li,.instructions-list li{margin-bottom:12px;font-size:16px;line-height:1.6}.ingredients-list{list-style-type:disc;margin-bottom:24px}.instructions-list{list-style-type:decimal}.tips-section{background-color:#fff9e6;border-left:4px solid var(--green)}.tips-content{font-size:16px;line-height:1.8;color:var(--brown)}@media(max-width:768px){.recipe-main{padding:24px 16px}.recipe-hero{height:250px;margin-bottom:24px}.recipe-hero-placeholder{font-size:80px}.recipe-title{font-size:32px;margin-bottom:24px}.recipe-section{padding:24px;margin-bottom:24px}.recipe-section h2{font-size:24px}.ingredients-list li,.instructions-list li{font-size:15px}}.grocery-main{flex:1;padding:40px 24px;max-width:700px;margin:0 auto;width:100%}.grocery-main h1{font-size:36px;margin-bottom:32px;color:var(--brown)}.add-item-form{display:flex;gap:12px;margin-bottom:32px}.add-item-input{flex:1}.empty-list{text-align:center;padding:60px 20px;background-color:var(--white);border-radius:12px;box-shadow:0 2px 8px #0000001a}.empty-list p{font-size:16px;color:var(--gray);margin-bottom:8px}.grocery-list{list-style:none;background-color:var(--white);border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:16px;margin-bottom:24px}.grocery-item{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--light-gray);transition:background-color .2s}.grocery-item:last-child{border-bottom:none}.grocery-item:hover{background-color:var(--light-bg)}.grocery-item.checked{opacity:.6}.item-content{display:flex;align-items:center;gap:12px;flex:1}.item-checkbox{width:20px;height:20px;cursor:pointer;accent-color:var(--green);background-color:var(--white);border:2px solid var(--light-gray);border-radius:4px}.item-details{display:flex;flex-direction:column;gap:4px}.item-text{font-size:16px;color:var(--brown)}.grocery-item.checked .item-text{text-decoration:line-through}.item-source{font-size:12px;color:var(--gray);font-style:italic}.remove-btn{background:none;border:none;color:var(--gray);font-size:20px;cursor:pointer;padding:4px 8px;transition:color .2s}.remove-btn:hover{color:var(--error)}.clear-btn{width:100%}@media(max-width:768px){.grocery-main{padding:24px 16px}.grocery-main h1{font-size:28px;margin-bottom:24px}.add-item-form{flex-direction:column;gap:8px}.grocery-item{padding:12px}.item-text{font-size:15px}}.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--green) 0%,var(--dark-green) 100%);padding:24px}.login-container{background-color:var(--white);padding:48px;border-radius:16px;box-shadow:0 8px 24px #0003;width:100%;max-width:400px}.login-logo{text-align:center;margin-bottom:32px}.login-logo h1{font-size:32px;color:var(--brown);margin-bottom:8px}.login-logo p{font-size:16px;color:var(--gray)}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:var(--brown);font-size:14px}.login-form .btn-primary{width:100%;margin-top:8px}.back-to-app-link{display:block;text-align:center;margin-top:24px;color:var(--green);text-decoration:none;font-weight:600;font-size:14px;transition:color .2s}.back-to-app-link:hover{color:var(--dark-green)}@media(max-width:768px){.login-container{padding:32px 24px}.login-logo h1{font-size:28px}}.admin-dashboard{min-height:100vh;background-color:var(--light-bg)}.admin-header{background-color:var(--white);padding:24px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.admin-header h1{font-size:24px;color:var(--brown);margin:0}.admin-actions{display:flex;gap:12px}.admin-main{padding:40px 24px;max-width:1200px;margin:0 auto}.password-form-container{background-color:var(--white);padding:32px;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:32px}.password-form-container h2{font-size:24px;margin-bottom:24px;color:var(--brown)}.password-form{display:flex;flex-direction:column;gap:20px;max-width:500px}.form-actions{display:flex;gap:12px;margin-top:8px}.recipe-management{background-color:var(--white);padding:32px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.section-header h2{font-size:28px;color:var(--brown);margin:0}.recipe-form{background-color:var(--light-bg);padding:32px;border-radius:12px;margin-bottom:32px}.recipe-form h3{font-size:24px;margin-bottom:24px;color:var(--brown)}.form-group{margin-bottom:24px}.form-group label{display:block;font-weight:600;color:var(--brown);margin-bottom:8px;font-size:14px}.list-item{display:flex;gap:12px;margin-bottom:12px;align-items:flex-start}.list-item input,.list-item textarea{flex:1}.list-item .remove-btn{margin-top:8px;background-color:var(--light-gray);color:var(--brown);border:none;border-radius:50%;width:32px;height:32px;font-size:16px;cursor:pointer;transition:all .2s;flex-shrink:0}.list-item .remove-btn:hover{background-color:var(--error);color:var(--white)}.image-preview{margin-top:16px;border-radius:8px;overflow:hidden;max-width:400px}.image-preview img{width:100%;height:auto;display:block}.recipes-list{display:flex;flex-direction:column;gap:16px}.recipe-item{display:flex;align-items:center;gap:20px;padding:20px;background-color:var(--light-bg);border-radius:12px;transition:box-shadow .2s}.recipe-item:hover{box-shadow:0 2px 8px #0000001a}.recipe-item-image{width:100px;height:100px;border-radius:8px;overflow:hidden;background-color:var(--white);flex-shrink:0}.recipe-item-image img{width:100%;height:100%;object-fit:cover}.recipe-item-image .placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;background:linear-gradient(135deg,var(--green) 0%,var(--dark-green) 100%)}.recipe-item-info{flex:1}.recipe-item-info h3{font-size:20px;margin-bottom:4px;color:var(--brown)}.recipe-item-info p{font-size:14px;color:var(--gray)}.recipe-item-actions{display:flex;gap:8px}.no-recipes{text-align:center;padding:40px;color:var(--gray);font-size:16px}@media(max-width:768px){.admin-header{padding:16px}.admin-header h1{font-size:20px}.admin-actions{width:100%;justify-content:stretch}.admin-actions button{flex:1}.admin-main,.password-form-container,.recipe-management,.recipe-form{padding:24px 16px}.section-header{flex-direction:column;align-items:stretch;gap:16px}.section-header button{width:100%}.form-actions{flex-direction:column}.form-actions button{width:100%}.recipe-item{flex-direction:column;align-items:flex-start}.recipe-item-image{width:100%;height:200px}.recipe-item-actions{width:100%}.recipe-item-actions button{flex:1}}*{margin:0;padding:0;box-sizing:border-box}:root{--green: #8BC34A;--dark-green: #689F38;--brown: #3E2723;--light-bg: #F5F5F5;--white: #FFFFFF;--gray: #757575;--light-gray: #E0E0E0;--error: #D32F2F}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--light-bg);color:var(--brown)}.page{min-height:100vh;display:flex;flex-direction:column}.btn-primary,.btn-secondary,.btn-danger{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}.btn-primary{background-color:var(--green);color:var(--white)}.btn-primary:hover{background-color:var(--dark-green)}.btn-secondary{background-color:var(--light-gray);color:var(--brown)}.btn-secondary:hover{background-color:#bdbdbd}.btn-danger{background-color:var(--error);color:var(--white)}.btn-danger:hover{background-color:#b71c1c}.btn-primary.small,.btn-secondary.small,.btn-danger.small{padding:8px 16px;font-size:14px}.back-link{display:inline-block;color:var(--green);text-decoration:none;font-weight:600;margin-bottom:20px;transition:color .2s}.back-link:hover{color:var(--dark-green)}input[type=text],input[type=password],input[type=email],textarea,select{width:100%;padding:12px;border:2px solid var(--light-gray);border-radius:8px;font-size:16px;font-family:inherit;transition:border-color .2s;background-color:var(--white);color:var(--brown)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--green);background-color:var(--white)}input[type=checkbox]{cursor:pointer;width:20px;height:20px;accent-color:var(--green);background-color:var(--white);border:2px solid var(--light-gray)}.error-message{background-color:#ffebee;color:var(--error);padding:12px;border-radius:8px;margin-bottom:16px;font-size:14px}@media(max-width:768px){.btn-primary,.btn-secondary,.btn-danger{padding:10px 20px;font-size:14px}}
