.language-switcher{display:flex;gap:4px}.language-switcher button{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.4);padding:4px 10px;border-radius:5px;cursor:pointer;font-size:13px;font-weight:600}.language-switcher button.active{background:#ffffffe6;color:#667eea}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.auth-card{background:#fff;border-radius:10px;box-shadow:0 10px 40px #0003;padding:40px;width:100%;max-width:400px;position:relative}.auth-card .language-switcher{position:absolute;top:16px;right:16px}.auth-card .language-switcher button{background:#f0f0f5;color:#667eea;border:1px solid #ddd}.auth-card .language-switcher button.active{background:#667eea;color:#fff}.auth-card h1{text-align:center;color:#333;margin-bottom:30px;font-size:28px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:5px;font-size:14px;transition:border-color .3s}.form-group input:focus{outline:none;border-color:#667eea}.auth-button{width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:5px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s}.auth-button:hover:not(:disabled){transform:translateY(-2px)}.auth-button:disabled{opacity:.7;cursor:not-allowed}.auth-error{background-color:#fee;color:#c33;padding:12px;border-radius:5px;margin-bottom:20px;border-left:4px solid #c33}.auth-success{background-color:#efe;color:#3c3;padding:12px;border-radius:5px;margin-bottom:20px;border-left:4px solid #3c3}.auth-divider{text-align:center;margin:20px 0;color:#999;position:relative}.auth-divider:before,.auth-divider:after{content:"";position:absolute;top:50%;width:45%;height:1px;background:#ddd}.auth-divider:before{left:0}.auth-divider:after{right:0}.google-login{display:flex;justify-content:center;margin:20px 0}.auth-link{text-align:center;margin-top:20px;color:#666}.auth-link a{color:#667eea;text-decoration:none;font-weight:600}.auth-link a:hover{text-decoration:underline}.recipe-demo{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:24px;color:#fff;margin:20px 0;box-shadow:0 8px 16px #0000001a}.recipe-demo h3{margin-top:0;font-size:24px;margin-bottom:16px}.demo-section{background:#ffffff1a;border-radius:8px;padding:16px;margin-bottom:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.demo-section h4{margin-top:0;color:#fff;font-size:18px}.demo-section h5{color:#e0e0e0;font-size:14px;text-transform:uppercase;letter-spacing:1px}.input-group{display:flex;gap:8px;margin:12px 0}textarea{flex:1;padding:10px;border:none;border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;resize:vertical;background:#ffffffe6;color:#333}textarea:focus{outline:none;box-shadow:0 0 0 3px #ffffff4d}.parse-button{padding:10px 20px;background:#fff;color:#667eea;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:100px}.parse-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.parse-button:active{transform:translateY(0)}.result{background:#ffffff26;border-left:4px solid #4ade80;padding:12px;border-radius:4px;margin-top:12px;max-height:300px;overflow-y:auto}.result h5{margin-top:0;margin-bottom:8px;color:#4ade80}.result pre{background:#0003;padding:10px;border-radius:4px;font-size:12px;overflow-x:auto;margin:0;color:#fff}.error{background:#ef444433;border-left:4px solid #ef4444;padding:12px;border-radius:4px;margin-top:12px}.error p{margin:0;color:#fca5a5}.examples{margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.2)}.example-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.example-button{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease}.example-button:hover{background:#ffffff4d;border-color:#ffffff80}.info-box{background:#ffffff1a;border-radius:8px;padding:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.info-box ul{margin:8px 0;padding-left:20px}.info-box li{margin:6px 0;font-size:14px;line-height:1.5}.account-actions{margin-top:24px;padding-top:16px;border-top:1px solid #eee}.account-actions h4{margin:16px 0 6px;color:#333}.account-actions p{color:#666;font-size:14px;margin:0 0 10px}.account-export,.account-delete,.account-cancel{border-radius:6px;padding:8px 14px;font-size:14px;cursor:pointer}.account-export{background:#f0f0ff;color:#667eea;border:1px solid #667eea}.account-danger-title{color:#b3261e}.account-delete{background:#fff;color:#b3261e;border:1px solid #b3261e}.account-delete:hover:not(:disabled){background:#fdecea}.account-export:disabled,.account-delete:disabled{opacity:.5;cursor:not-allowed}.account-cancel{background:none;border:1px solid #ddd;color:#444}.account-delete-form{display:flex;flex-direction:column;gap:8px;max-width:360px}.account-delete-form label{font-size:14px;color:#444}.account-delete-form input{padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:14px}.account-delete-buttons{display:flex;gap:8px}.account-error{color:#b3261e}.home-page{min-height:100vh;background:#f5f5f5}.navbar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 0;box-shadow:0 2px 10px #0000001a}.navbar-content{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.navbar h1{margin:0;font-size:28px}.user-menu{display:flex;align-items:center;gap:20px}.recipes-nav-link{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.5);padding:8px 16px;border-radius:5px;font-size:14px}.recipes-nav-link:hover{background:#fff3}.logout-button{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.5);padding:8px 16px;border-radius:5px;cursor:pointer;font-size:14px;transition:background .3s}.logout-button:hover{background:#ffffff4d}.main-content{max-width:1200px;margin:40px auto;padding:0 20px}.welcome-section{background:#fff;padding:30px;border-radius:10px;box-shadow:0 2px 10px #0000000d;margin-bottom:30px}.welcome-section h2{color:#333;font-size:32px;margin-top:0;margin-bottom:10px}.welcome-section p{color:#666;font-size:16px;margin:0}.main-content h2{color:#333;font-size:32px;margin-bottom:20px}.main-content p{color:#666;font-size:16px}.user-info{background:#fff;padding:30px;border-radius:10px;box-shadow:0 2px 10px #0000000d;margin-top:30px}.user-info h3{color:#333;font-size:20px;margin-top:0;margin-bottom:15px}.user-info p{margin:10px 0;font-size:15px;color:#666}.user-info strong{color:#333;font-weight:600}.paste-recipe-toggle{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;padding:0;margin:-12px 0 24px}.paste-recipe-toggle:hover{text-decoration:underline}.paste-recipe-form{background:#fff;padding:16px 20px;border-radius:10px;box-shadow:0 2px 10px #0000000d;margin:-12px 0 24px;display:flex;flex-direction:column;gap:10px}.paste-recipe-form label{font-size:14px;color:#444}.paste-recipe-form textarea{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;line-height:1.5;resize:vertical}.paste-recipe-buttons{display:flex;gap:10px}.paste-recipe-buttons button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;padding:10px 18px;font-size:14px;cursor:pointer}.paste-recipe-buttons .paste-recipe-cancel{background:none;border:1px solid #ddd;color:#444}.paste-recipe-form .error-text{margin:0}.recipe-filters{display:flex;flex-direction:column;gap:10px}.filter-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px}.filter-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#666}.filter-field input,.filter-field select{padding:6px 10px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fff}.filter-field input{width:150px}.filter-hint{color:#2e7d32;font-size:12px}.filter-hint-miss{color:#a35a00}.recipes-page{min-height:100vh;background:#f5f5f5}.recipes-page .navbar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 0;box-shadow:0 2px 10px #0000001a}.recipes-page .navbar-content{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:20px}.recipes-page .navbar h1{margin:0;font-size:24px;flex:1}.back-link{color:#fff;text-decoration:none;opacity:.85}.back-link:hover{opacity:1}.new-recipe-button{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.5);padding:8px 16px;border-radius:5px;text-decoration:none;font-size:14px}.new-recipe-button:hover{background:#ffffff4d}.main-content{max-width:1200px;margin:40px auto;padding:0 20px 40px}.import-url-form{background:#fff;padding:16px 20px;border-radius:10px;box-shadow:0 2px 10px #0000000d;margin-bottom:24px;display:flex;gap:10px;flex-wrap:wrap}.import-url-form input{flex:1;min-width:240px;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:15px}.import-url-form button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;padding:10px 18px;font-size:14px;cursor:pointer}.import-url-form button:disabled{opacity:.6;cursor:not-allowed}.import-url-form .error-text{flex-basis:100%;margin:0}.search-bar{margin-bottom:20px;display:flex;flex-direction:column;gap:10px}.search-bar input{padding:10px 14px;border:1px solid #ddd;border-radius:6px;font-size:15px;max-width:400px}.tag-filter-list{display:flex;flex-wrap:wrap;gap:8px}.tag-filter{background:#fff;color:#4a5cc7;border:1px solid #eef2ff;border-radius:999px;padding:4px 12px;font-size:13px;cursor:pointer}.tag-filter:hover{background:#eef2ff}.tag-filter-active{background:#4a5cc7;color:#fff;border-color:#4a5cc7}.error-text{color:#c0392b}.empty-state{color:#888}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.recipe-card{background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 10px #0000000d;text-decoration:none;color:#333;display:flex;flex-direction:column;gap:10px;transition:box-shadow .2s}.recipe-card:hover{box-shadow:0 4px 16px #0000001f}.recipe-card h3{margin:0;font-size:18px}.visibility-badge{color:#888;font-size:12px;text-transform:capitalize}.clear-filters{align-self:flex-start;background:none;border:none;color:#667eea;cursor:pointer;font-size:13px;padding:0}.clear-filters:hover{text-decoration:underline}.matched-variant{align-self:flex-start;background:#fff4e5;color:#a35a00;border-radius:999px;padding:2px 10px;font-size:12px}.recipe-card-meta{display:flex;flex-wrap:wrap;gap:10px;color:#666;font-size:13px}.recipe-card-rating{color:#b58100}.shared-badge{align-self:flex-start;background:#e8f5e9;color:#2e7d32;border-radius:999px;padding:2px 10px;font-size:12px}.recipe-form{background:#fff;padding:30px;border-radius:10px;box-shadow:0 2px 10px #0000000d;display:flex;flex-direction:column;gap:20px}.recipe-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#333;font-weight:600;flex:1}.recipe-form input,.recipe-form select,.recipe-form textarea{font-weight:400;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:15px;font-family:inherit}.form-row{display:flex;gap:16px}.locale-field{max-width:160px}fieldset{border:1px solid #eee;border-radius:8px;padding:16px}legend{font-weight:600;color:#333;padding:0 8px}.hint{color:#888;font-size:13px;margin:0 0 12px}.ingredient-row{margin-bottom:12px}.ingredient-input-group,.step-row{display:flex;gap:8px;align-items:flex-start}.ingredient-input-group input,.step-row textarea{flex:1}.step-number{width:24px;height:24px;border-radius:50%;background:#667eea;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;margin-top:8px}.step-row{margin-bottom:12px}.remove-row-button{background:none;border:none;color:#999;cursor:pointer;font-size:16px;padding:8px}.remove-row-button:hover{color:#e74c3c}.add-row-button{background:#f0f0ff;color:#667eea;border:1px dashed #667eea;border-radius:6px;padding:8px 14px;cursor:pointer;font-size:14px}.add-row-button:hover{background:#e5e5ff}.ingredient-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chip{background:#eef2ff;color:#333;border-radius:999px;padding:4px 12px;font-size:13px}.chip-unresolved{background:#fff4e5;color:#a35a00}.chip-issue{background:#fdecea;color:#c0392b}.form-errors{background:#fdecea;border-radius:6px;padding:12px 16px}.form-errors p{margin:4px 0;color:#c0392b;font-size:14px}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;padding:12px 20px;font-size:16px;cursor:pointer;align-self:flex-start}.submit-button:disabled{opacity:.6;cursor:not-allowed}.recipe-form-page{min-height:100vh;background:#f5f5f5}.recipe-form-page .navbar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 0;box-shadow:0 2px 10px #0000001a}.recipe-form-page .navbar-content{max-width:800px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:20px}.recipe-form-page .navbar h1{margin:0;font-size:24px}.recipe-form-page .back-link{color:#fff;text-decoration:none;opacity:.85}.recipe-form-page .back-link:hover{opacity:1}.recipe-form-page .main-content{max-width:800px;margin:40px auto;padding:0 20px 40px}.import-hint{background:#eef2ff;color:#4a5cc7;padding:10px 16px;border-radius:6px;font-size:14px;margin-bottom:16px;word-break:break-all}.version-diff{list-style:none;margin:8px 0 4px;padding:10px 14px;background:#fafafe;border-radius:6px;font-size:14px}.version-diff li{padding:4px 0 4px 18px;position:relative;border:none}.version-diff li:before{position:absolute;left:0;font-weight:700}.diff-added{color:#2e7d32}.diff-added:before{content:"+"}.diff-removed{color:#c0392b}.diff-removed:before{content:"−"}.diff-changed{color:#333}.diff-changed:before{content:"~";color:#4a5cc7}.diff-detail{display:block;color:#777;font-size:13px;margin-top:2px}.version-diff-loading,.version-diff-empty{color:#888;font-size:13px;margin:6px 0}.unit-toggle{display:inline-flex;border:1px solid #ddd;border-radius:999px;overflow:hidden}.unit-toggle button{background:#fff;border:none;padding:4px 12px;font-size:12px;color:#555;cursor:pointer}.unit-toggle button.active{background:#4a5cc7;color:#fff}.merge-panel{background:#fff;border:1px solid #e3e6fb;border-radius:10px;padding:16px 20px;margin-bottom:16px}.merge-header{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.merge-header select{padding:6px 10px;border:1px solid #ddd;border-radius:6px;font-size:14px}.merge-close,.merge-confirm{border:1px solid #ddd;background:#fff;border-radius:6px;padding:6px 12px;font-size:14px;cursor:pointer}.merge-confirm{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;margin-top:12px}.merge-intro,.merge-empty{color:#666;font-size:14px}.merge-conflicts{border:1px solid #f3c98b;background:#fff8ee;border-radius:6px;margin-top:12px;display:flex;gap:16px;font-size:14px}.recipe-detail-page{min-height:100vh;background:#f5f5f5}.recipe-detail-page .navbar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 0;box-shadow:0 2px 10px #0000001a}.recipe-detail-page .navbar-content{max-width:800px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:20px}.recipe-detail-page .navbar h1{margin:0;font-size:24px;flex:1}.back-link,.edit-link{color:#fff;text-decoration:none;opacity:.85}.back-link:hover,.edit-link:hover{opacity:1}.edit-link,.archive-button{border:1px solid rgba(255,255,255,.5);border-radius:5px;padding:6px 14px;font-size:14px}.archive-button{background:#ffffff1a;color:#fff;cursor:pointer;opacity:.85}.archive-button:hover{opacity:1;background:#fff3}.archived-banner{background:#fff4e5;color:#a35a00;padding:10px 16px;border-radius:6px;font-size:14px}.main-content{max-width:800px;margin:40px auto;padding:0 20px 40px}.description{color:#555;font-size:16px}.meta-row{display:flex;justify-content:space-between;align-items:center;color:#666;font-size:14px;margin-bottom:20px}.shopping-row{display:flex;align-items:center;gap:12px;margin-bottom:20px;font-size:14px}.shopping-button{background:#f0f0ff;color:#667eea;border:1px solid #667eea;border-radius:6px;padding:8px 14px;cursor:pointer;font-size:14px}.shopping-button:hover{background:#e5e5ff}.shopping-status{color:#2e7d32}.scale-control{display:flex;align-items:center;gap:6px}.scale-control button{width:26px;height:26px;border-radius:50%;border:1px solid #ddd;background:#fff;color:#333;cursor:pointer;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center}.scale-control button:hover{background:#eef2ff;border-color:#4a5cc7}.scale-control input{width:48px;text-align:center;padding:4px;border:1px solid #ddd;border-radius:4px;font-size:14px}.scale-control button.scale-reset{width:auto;height:auto;border-radius:4px;padding:4px 10px;color:#4a5cc7;font-size:12px;margin-left:6px}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.tag{background:#eef2ff;color:#4a5cc7;border-radius:999px;padding:3px 10px;font-size:12px}.recipe-section{background:#fff;padding:24px 30px;border-radius:10px;box-shadow:0 2px 10px #0000000d;margin-bottom:20px}.recipe-section h2{font-size:18px;color:#333;margin-top:0}.ingredient-list,.step-list,.event-list{padding-left:20px;margin:0}.ingredient-list li,.step-list li{margin-bottom:8px;line-height:1.5}.group-name{list-style:none;margin-left:-20px;font-weight:600;color:#444}.amount{font-weight:600;color:#333}.optional-badge{color:#999;font-size:13px}.inline-ingredient,.inline-timer,.inline-temperature{color:#4a5cc7}.event-list{list-style:none;padding:0}.event-list li{padding:6px 0;border-bottom:1px solid #f0f0f0;font-size:14px}.event-row{display:flex;align-items:center;gap:12px}.event-row .event-time{margin-left:auto}.version-badge{margin-left:8px;background:#eef2ff;color:#4a5cc7;border-radius:999px;padding:2px 8px;font-size:12px}.variant-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.variant-chip{background:#fff;border:1px solid #ddd;border-radius:999px;padding:6px 14px;font-size:14px;color:#444;cursor:pointer}.variant-chip.active{background:#4a5cc7;border-color:#4a5cc7;color:#fff}.variant-default{opacity:.75;font-size:12px}.variant-add,.variant-make-default{background:none;border:1px dashed #aab;border-radius:999px;padding:6px 12px;font-size:13px;color:#667eea;cursor:pointer}.variant-make-default{border-style:solid;margin-left:auto}.variant-form{display:flex;gap:6px}.variant-form input{padding:6px 10px;border:1px solid #ddd;border-radius:6px;font-size:14px}.variant-form button{background:#fff;border:1px solid #ddd;border-radius:6px;padding:6px 10px;font-size:13px;cursor:pointer}.variant-lineage{color:#888;font-size:13px;margin:-4px 0 12px}.cook-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:6px;padding:8px 16px;font-size:14px;text-decoration:none}.cook-button:hover{opacity:.9}.cook-summary{color:#666;font-size:14px;margin:-4px 0 10px}.cook-rating{margin-left:8px;color:#f5b301;letter-spacing:1px}.cook-notes{margin:4px 0 2px;color:#666;font-size:13px;font-style:italic}.diff-toggle{background:none;border:none;color:#667eea;cursor:pointer;font-size:13px;padding:0}.diff-toggle:hover{text-decoration:underline}.event-kind{text-transform:capitalize;color:#333}.event-time{color:#888}.shared-banner{background:#eef2ff;color:#4a5cc7;padding:10px 16px;border-radius:6px;font-size:14px}.share-toggle{background:#fff;border:1px solid #ddd;border-radius:999px;padding:4px 12px;font-size:12px;color:#555;cursor:pointer}.share-toggle.active{background:#e8f5e9;border-color:#2e7d32;color:#2e7d32}.shopping-list-page{min-height:100vh;background:#f5f5f5}.shopping-list-page .navbar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 0;box-shadow:0 2px 10px #0000001a}.shopping-list-page .navbar-content{max-width:800px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:20px}.shopping-list-page .navbar h1{margin:0;font-size:24px;flex:1}.shopping-list-page .back-link{color:#fff;text-decoration:none;opacity:.85}.shopping-list-page .back-link:hover{opacity:1}.clear-button{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:5px;padding:6px 14px;font-size:14px;cursor:pointer}.clear-button:hover{background:#fff3}.shopping-list-page .main-content{max-width:800px;margin:40px auto;padding:0 20px 40px}.shopping-section{background:#fff;padding:20px 24px;border-radius:10px;box-shadow:0 2px 10px #0000000d;margin-bottom:16px}.shopping-section h2{font-size:16px;color:#4a5cc7;margin:0 0 12px;text-transform:capitalize}.entry-list,.line-list{list-style:none;padding:0;margin:0}.entry-list li,.line-list li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #f0f0f0}.entry-list li:last-child,.line-list li:last-child{border-bottom:none}.entry-list a{flex:1;color:#333;text-decoration:none;font-weight:600}.entry-list a:hover{color:#4a5cc7}.unavailable{flex:1;color:#999;font-style:italic}.servings{display:flex;align-items:center;gap:6px;color:#666;font-size:14px}.servings input{width:56px;padding:4px 6px;border:1px solid #ddd;border-radius:4px;text-align:center}.line-list label{flex:1;display:flex;align-items:center;gap:10px;cursor:pointer}.line-list input[type=checkbox]{width:18px;height:18px;flex-shrink:0}.line-name{color:#333}.line-quantity{margin-left:auto;color:#666;font-variant-numeric:tabular-nums}.line-optional{color:#999;font-size:13px}.line-list li.checked .line-name,.line-list li.checked .line-quantity{text-decoration:line-through;color:#aaa}.remove-button{background:none;border:none;color:#999;cursor:pointer;font-size:15px;padding:4px 8px}.remove-button:hover{color:#e74c3c}.manual-form{display:flex;gap:8px;margin-top:12px}.manual-form input{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:15px}.manual-form button{background:#f0f0ff;color:#667eea;border:1px dashed #667eea;border-radius:6px;padding:8px 14px;cursor:pointer;font-size:14px}.shared-list-note{background:#e8f5e9;color:#2e7d32;padding:8px 14px;border-radius:6px;font-size:14px}.meal-plan-page{min-height:100vh;background:#f5f5f5}.meal-plan-page .navbar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 0;box-shadow:0 2px 10px #0000001a}.meal-plan-page .navbar-content{max-width:800px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:20px}.meal-plan-page .navbar h1{margin:0;font-size:24px}.meal-plan-page .back-link{color:#fff;text-decoration:none;opacity:.85}.meal-plan-page .back-link:hover{opacity:1}.meal-plan-page .main-content{max-width:800px;margin:40px auto;padding:0 20px 40px}.week-bar{display:flex;align-items:center;gap:10px;margin-bottom:20px}.week-bar button{background:#fff;border:1px solid #ddd;border-radius:6px;padding:6px 12px;cursor:pointer;font-size:14px}.week-bar button:hover{border-color:#667eea;color:#667eea}.week-label{font-weight:600;color:#333;min-width:190px;text-align:center}.week-bar .this-week{margin-left:auto}.day{background:#fff;padding:16px 20px;border-radius:10px;box-shadow:0 2px 10px #0000000d;margin-bottom:12px}.day h2{font-size:15px;color:#4a5cc7;margin:0 0 10px;text-transform:capitalize}.day-entries{list-style:none;padding:0;margin:0 0 10px}.day-entries li{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid #f0f0f0}.day-entries a{flex:1;color:#333;text-decoration:none;font-weight:600}.day-entries a:hover{color:#4a5cc7}.day-entries .unavailable{flex:1;color:#999;font-style:italic}.day-entries .servings{display:flex;align-items:center;gap:6px;color:#666;font-size:13px}.day-entries .servings input{width:52px;padding:4px 6px;border:1px solid #ddd;border-radius:4px;text-align:center}.day-entries .remove-button{background:none;border:none;color:#999;cursor:pointer;font-size:15px;padding:4px 8px}.day-entries .remove-button:hover{color:#e74c3c}.add-to-day{display:flex;gap:8px}.add-to-day select{flex:1;padding:6px 10px;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#555}.add-to-day button{background:#f0f0ff;color:#667eea;border:1px dashed #667eea;border-radius:6px;padding:6px 12px;cursor:pointer;font-size:14px}.add-to-day button:disabled{opacity:.5;cursor:not-allowed}.meal-plan-page .shopping-row{display:flex;align-items:center;gap:12px;margin-top:20px;font-size:14px}.meal-plan-page .shopping-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;padding:10px 18px;cursor:pointer;font-size:14px}.meal-plan-page .shopping-button:disabled{opacity:.5;cursor:not-allowed}.meal-plan-page .shopping-status{color:#2e7d32}.cook-inline-timer{display:inline-flex;align-items:center;gap:4px;margin:0 2px;padding:2px 10px;border:1px solid #667eea;border-radius:999px;background:#f0f0ff;color:#4a5cc7;font:inherit;cursor:pointer}.cook-inline-timer:hover{background:#e5e5ff}.cook-inline-temperature{color:#a35a00}.cook-timers{list-style:none;margin:0;padding:8px 20px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;border-top:1px solid #eee;background:#fff}.cook-timer{display:flex;align-items:center;gap:10px;padding:6px 8px 6px 14px;border:1px solid #ddd;border-radius:999px;background:#fafafa;font-size:15px}.cook-timer-label{color:#666;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cook-timer-clock{font-variant-numeric:tabular-nums;font-weight:600;min-width:52px}.cook-timer button{border:1px solid #ddd;border-radius:999px;background:#fff;padding:4px 10px;font-size:13px;cursor:pointer}.cook-timer.done{border-color:#b3261e;background:#fdecea;animation:cook-timer-pulse 1s ease-in-out infinite}.cook-timer.done .cook-timer-clock{color:#b3261e}@keyframes cook-timer-pulse{50%{transform:scale(1.04)}}@media (prefers-reduced-motion: reduce){.cook-timer.done{animation:none}}.cook-mode{min-height:100vh;display:flex;flex-direction:column;background:#fffdf8;color:#222}.cook-header{display:flex;align-items:center;gap:16px;padding:14px 20px;border-bottom:1px solid #eee;font-size:15px}.cook-exit{color:#666;text-decoration:none}.cook-title{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cook-wake{color:#a35a00;font-size:13px}.cook-progress{height:4px;background:#f0f0f0}.cook-progress-bar{height:100%;background:linear-gradient(135deg,#667eea,#764ba2);transition:width .2s}.cook-body{flex:1;width:100%;max-width:760px;margin:0 auto;padding:32px 20px;box-sizing:border-box}.cook-body h1{font-size:28px;margin:0 0 8px}.cook-body h2{font-size:16px;color:#666;margin:28px 0 8px}.cook-subtitle,.cook-step-counter{color:#888;font-size:15px;margin:0 0 20px}.cook-step-text{font-size:28px;line-height:1.45;margin:0}.cook-ingredients{list-style:none;padding:0;margin:0;font-size:20px}.cook-ingredients li{border-bottom:1px solid #f0ebe0}.cook-ingredients label{display:flex;align-items:center;gap:14px;padding:12px 0;cursor:pointer}.cook-ingredients input{width:22px;height:22px;flex-shrink:0}.cook-amount{min-width:90px;font-weight:600;font-variant-numeric:tabular-nums}.cook-ingredients li.ticked span{text-decoration:line-through;color:#aaa}.cook-nav{display:flex;justify-content:space-between;gap:12px;padding:16px 20px;border-top:1px solid #eee;background:#fff}.cook-nav button,.cook-secondary{flex:1;max-width:360px;padding:16px;font-size:18px;border-radius:10px;border:1px solid #ddd;background:#fff;cursor:pointer;text-align:center;text-decoration:none;color:#333}.cook-nav button:disabled{opacity:.4;cursor:default}.cook-mode .cook-primary{flex:1;padding:16px;font-size:18px;border-radius:10px;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;cursor:pointer}.cook-mode .cook-primary:disabled{opacity:.6}.cook-finish{display:flex;flex-direction:column;gap:20px}.cook-stars{display:flex;gap:6px}.cook-stars .star{background:none;border:none;font-size:44px;line-height:1;color:#ddd;cursor:pointer;padding:0 4px}.cook-stars .star.on{color:#f5b301}.cook-finish textarea{font-size:17px;padding:12px;border:1px solid #ddd;border-radius:8px;font-family:inherit}.cook-finish-actions{display:flex;gap:12px}.pantry-page{min-height:100vh;background:#f5f5f5}.pantry-page .navbar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 0;box-shadow:0 2px 10px #0000001a}.pantry-page .navbar-content{max-width:800px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:20px}.pantry-page .navbar h1{margin:0;font-size:24px;flex:1}.pantry-page .main-content{max-width:800px}.pantry-input{background:#fff;padding:16px 20px;border-radius:10px;box-shadow:0 2px 10px #0000000d;margin-bottom:20px;display:flex;flex-direction:column;gap:12px}.pantry-input form{display:flex;gap:10px}.pantry-input input[type=text]{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:15px}.pantry-input button[type=submit]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;padding:10px 18px;font-size:14px;cursor:pointer}.pantry-input button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.pantry-unknown{margin:0;color:#a35a00;font-size:14px}.pantry-items{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.pantry-items li{display:flex;align-items:center;gap:6px;background:#eef2ff;color:#4a5cc7;border-radius:999px;padding:4px 6px 4px 12px;font-size:14px}.pantry-items button{background:none;border:none;color:#4a5cc7;cursor:pointer;font-size:12px}.pantry-basics{display:flex;align-items:center;gap:8px;font-size:14px;color:#555}.pantry-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.pantry-result{display:flex;flex-direction:column;gap:4px;background:#fff;padding:14px 18px;border-radius:10px;box-shadow:0 2px 10px #0000000d;text-decoration:none;color:#333}.pantry-result:hover{box-shadow:0 4px 16px #0000001f}.pantry-result-title{font-weight:600;display:flex;align-items:center;gap:8px}.pantry-variant{background:#fff4e5;color:#a35a00;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:400}.pantry-ready{color:#2e7d32;font-size:14px}.pantry-missing{color:#666;font-size:14px}.household-page{min-height:100vh;background:#f5f5f5}.household-page .navbar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 0;box-shadow:0 2px 10px #0000001a}.household-page .navbar-content{max-width:700px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:20px}.household-page .navbar h1{margin:0;font-size:24px;flex:1}.household-page .main-content{max-width:700px}.household-card{background:#fff;padding:20px 24px;border-radius:10px;box-shadow:0 2px 10px #0000000d;margin-bottom:16px}.household-card h2,.household-card h3{margin-top:0;color:#333}.household-hint{color:#666;font-size:14px}.household-create,.household-invite{display:flex;gap:10px}.household-create input,.household-invite input{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px}.household-page button{border:1px solid #ddd;background:#fff;border-radius:6px;padding:8px 14px;font-size:14px;cursor:pointer}.household-page button.household-primary,.household-create button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.household-page button:disabled{opacity:.6;cursor:not-allowed}.household-page button.household-danger{color:#b3261e;border-color:#b3261e}.household-members{list-style:none;margin:0;padding:0}.household-members li{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #f0f0f0}.household-members li span:first-child{flex:1}.household-role{color:#888;font-size:13px}.household-leave{display:flex;align-items:center;gap:10px;flex-wrap:wrap}*{margin:0;padding:0;box-sizing:border-box}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}#root{min-height:100vh}
