body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#667eea;--primary-hover:#5568d3}:root[data-instance=dev]{--primary:#d93025;--primary-hover:#b3261e}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--primary) 0,#764ba2 100%);display:flex;justify-content:center;min-height:100vh}.login-box{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;min-width:320px;padding:3rem;text-align:center}.login-box h1{color:#333;margin-bottom:2rem}.login-box input{border:2px solid #e1e8ed;border-radius:6px;font-size:1rem;margin-bottom:1rem;padding:.75rem;width:100%}.login-box form>button[type=submit]{background:#667eea;background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem;transition:background .2s;width:100%}.login-box form>button[type=submit]:hover{background:#5568d3;background:var(--primary-hover)}.auth-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.auth-switch{color:#666;font-size:.9rem;margin-top:1.5rem}.auth-switch button{background:none;border:none;color:#667eea;color:var(--primary);cursor:pointer;font-size:.9rem;text-decoration:underline}.auth-switch button:hover{color:#5568d3;color:var(--primary-hover)}.app{margin:0 auto;max-width:1200px}.app,header{padding:2rem}header{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:2rem}.header-content{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}header h1{color:#333;margin:0}.header-right{align-items:center;display:flex;gap:1rem}.username-display{color:#666;font-size:.95rem}.logout-btn{background:#f5f7fa;border:none;border-radius:6px;color:#333;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background .2s}.logout-btn:hover{background:#e1e8ed}.admin-btn{background:#f5f7fa;border:none;border-radius:6px;color:#333;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background .2s}.admin-btn:hover{background:#e1e8ed}.tabs{display:flex;gap:1rem}.tabs button{background:#f5f7fa;border:none;border-radius:6px;cursor:pointer;font-size:1rem;padding:.5rem 1.5rem;transition:all .2s}.tabs button.active{background:#667eea;background:var(--primary);color:#fff}.notes-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.note-editor{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;height:-webkit-fit-content;height:fit-content;padding:2rem}.note-editor input,.note-editor textarea{border:2px solid #e1e8ed;border-radius:6px;font-family:inherit;font-size:1rem;margin-bottom:1rem;padding:.75rem;width:100%}.note-editor textarea{resize:vertical}.editor-actions{display:flex;gap:.5rem;position:relative;z-index:1}.save-btn{background:#667eea;background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;padding:.75rem;transition:background .2s}.save-btn:hover{background:#5568d3;background:var(--primary-hover)}.cancel-btn{background:#e1e8ed;border:none;border-radius:6px;color:#333;cursor:pointer;padding:.75rem 1.5rem;transition:background .2s}.cancel-btn:hover{background:#cbd5e0}.notes-list{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:2rem}.notes-list h2{color:#333;margin-bottom:1.5rem}.note-item{align-items:flex-start;background:#f5f7fa;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem;transition:background .2s}.note-item:hover{background:#e1e8ed}.note-content{flex:1 1}.note-content h3{color:#333;font-size:1.1rem;margin-bottom:.5rem}.note-content p{color:#666;font-size:.9rem;line-height:1.4}.todos-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin:0 auto;max-width:700px;padding:2rem}.todo-category-tabs{border-bottom:2px solid #e1e8ed;display:flex;gap:.5rem;margin-bottom:1.5rem;padding-bottom:.75rem}.todo-category-tabs button{background:#f5f7fa;border:none;border-radius:6px 6px 0 0;color:#666;cursor:pointer;font-size:.95rem;font-weight:500;padding:.5rem 1.25rem;transition:all .2s}.todo-category-tabs button:hover{background:#e1e8ed;color:#333}.todo-category-tabs button.active{background:#667eea;background:var(--primary);color:#fff}.todo-category-select{background:#fff;border:2px solid #e1e8ed;border-radius:6px;color:#333;cursor:pointer;font-size:.9rem;min-width:130px;padding:.75rem}.todo-category-select:focus{border-color:#667eea;border-color:var(--primary);outline:none}.todo-form{display:flex;gap:.5rem;margin-bottom:2rem}.todo-form input{border:2px solid #e1e8ed;border-radius:6px;flex:1 1;font-size:1rem;padding:.75rem}.todo-form button{background:#667eea;background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;padding:.75rem 1.5rem;transition:background .2s}.todo-form button:hover{background:#5568d3;background:var(--primary-hover)}.todos-list{flex-direction:column}.todo-item,.todos-list{display:flex;gap:.75rem}.todo-item{align-items:center;background:#f5f7fa;border-radius:6px;padding:.75rem}.todo-item input[type=checkbox]{cursor:pointer;height:20px;width:20px}.todo-item span{color:#333;flex:1 1;font-size:1rem}.todo-item span.completed{color:#999;text-decoration:line-through}.account-section{display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:600px}.account-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:2rem}.account-card h2{color:#333;font-size:1.2rem;margin-bottom:1.5rem}.account-card input{border:2px solid #e1e8ed;font-size:1rem;width:100%}.account-card input,.reset-message{border-radius:6px;margin-bottom:.75rem;padding:.75rem}.reset-message{font-size:.9rem}.reset-message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.reset-message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.api-key-form{display:flex;gap:.5rem}.api-key-form input{flex:1 1;margin-bottom:0}.api-key-form .save-btn{flex:0 0 auto;white-space:nowrap}.new-key-display{background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;margin-top:1rem;padding:1rem}.new-key-display p{color:#155724;font-size:.9rem;margin-bottom:.5rem}.key-copy-row{align-items:stretch;display:flex;gap:.5rem}.key-copy-row code{background:#fff;border-radius:4px;color:#333;display:block;flex:1 1;font-size:.8rem;padding:.75rem;word-break:break-all}.copy-btn{background:#667eea;background:var(--primary);border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.85rem;padding:.5rem 1rem;transition:background .2s;white-space:nowrap}.copy-btn:hover{background:#5568d3;background:var(--primary-hover)}.api-key-list{display:flex;flex-direction:column;gap:1rem}.api-key-item{align-items:flex-start;background:#f5f7fa;border-radius:6px;display:flex;gap:.5rem;justify-content:space-between;padding:1rem}.api-key-info{display:flex;flex:1 1;flex-direction:column;gap:.5rem;min-width:0}.api-key-header{align-items:center;display:flex;justify-content:space-between}.api-key-name{color:#333;font-size:.95rem;font-weight:600}.api-key-full{color:#666;font-family:monospace;font-size:.8rem}.api-key-date{color:#999;font-size:.8rem}.recipes-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.recipe-editor,form.recipe-editor{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;height:-webkit-fit-content;height:fit-content;margin:0;padding:2rem}.recipe-editor h2{color:#333;margin-bottom:1.5rem}.recipe-editor input[type=text],.recipe-editor textarea{border:2px solid #e1e8ed;border-radius:6px;font-family:inherit;font-size:1rem;margin-bottom:1rem;padding:.75rem;width:100%}.recipe-editor textarea{resize:vertical}.recipe-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.pdf-upload-section{margin-bottom:1rem;overflow:hidden;position:relative}.pdf-upload-label{color:#555;display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.pdf-upload-section input[type=file]{color:#555;display:block;font-size:.9rem;max-width:100%;width:100%}.existing-pdf-info{margin-top:.5rem}.pdf-attached-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.pdf-attached-badge{background:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724;font-size:.85rem;padding:.35rem .75rem}.no-pdf-badge{color:#666;font-size:.85rem;font-style:italic}.remove-pdf-btn{background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;cursor:pointer;font-size:.8rem;padding:.3rem .75rem;transition:background .2s}.remove-pdf-btn:hover{background:#f1b0b7}.pdf-removed-notice{background:#fff3cd;border:1px solid #ffeeba;border-radius:4px;color:#856404;font-size:.85rem;margin-top:.5rem;padding:.5rem .75rem}.undo-remove-btn{background:none;border:none;color:#667eea;color:var(--primary);cursor:pointer;font-size:.85rem;text-decoration:underline}.recipe-detail-area{min-height:300px}.recipe-viewer{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:2rem}.recipe-viewer-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.recipe-viewer-header h2{color:#333;margin:0}.close-viewer-btn{background:#e1e8ed;border:none;border-radius:6px;color:#333;cursor:pointer;font-size:.9rem;padding:.4rem 1rem;transition:background .2s}.close-viewer-btn:hover{background:#cbd5e0}.recipe-viewer-notes{background:#f5f7fa;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.recipe-viewer-notes p{color:#555;line-height:1.6;margin:0;white-space:pre-wrap}.recipe-pdf-viewer{border:2px solid #e1e8ed;border-radius:8px;overflow:hidden}.pdf-iframe{border:none;height:600px;width:100%}.recipes-list{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:2rem}.recipes-list h2{color:#333;margin-bottom:1.5rem}.recipe-item{align-items:flex-start;background:#f5f7fa;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem;transition:background .2s}.recipe-item:hover{background:#e1e8ed}.recipe-content{flex:1 1}.recipe-content h3{color:#333;font-size:1.1rem;margin-bottom:.25rem}.recipe-content p{color:#666;font-size:.9rem;line-height:1.4;margin-bottom:.5rem}.recipe-meta{align-items:center;display:flex;gap:.75rem}.recipe-has-pdf{background:#667eea;background:var(--primary);border-radius:4px;color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.02em;padding:.15rem .5rem}.recipe-date{color:#999;font-size:.8rem}.recipe-actions{align-items:center;display:flex;flex-shrink:0;gap:.25rem}.edit-btn{background:#0000;border:1px solid #e1e8ed;border-radius:4px;color:#667eea;color:var(--primary);cursor:pointer;font-size:.85rem;padding:.25rem .75rem;transition:all .2s}.edit-btn:hover{background:#667eea;background:var(--primary);border-color:#667eea;border-color:var(--primary);color:#fff}.delete-btn{background:#0000;border:none;color:#999;cursor:pointer;font-size:1.5rem;padding:0 .5rem;transition:color .2s}.delete-btn:hover{color:#e53e3e}.empty-state{color:#999;font-style:italic;padding:2rem;text-align:center}.admin-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.admin-panel{background:#f5f7fa;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;gap:1.5rem;max-height:85vh;max-width:550px;overflow-y:auto;padding:2rem;width:100%}.admin-panel-header{align-items:center;display:flex;justify-content:space-between}.admin-panel-header h2{color:#333;font-size:1.4rem;margin:0}.admin-panel .account-card{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000d;padding:1.5rem}.admin-panel .account-card h3{color:#333;font-size:1.1rem;margin-bottom:1rem}.admin-panel .account-card input{border:2px solid #e1e8ed;border-radius:6px;font-size:1rem;margin-bottom:.75rem;padding:.75rem;width:100%}.admin-panel .account-card .save-btn{margin-top:.25rem;width:100%}.admin-panel .api-key-form{display:flex;gap:.5rem}.admin-panel .api-key-form input{flex:1 1;margin-bottom:0}.admin-panel .api-key-form .save-btn{flex:0 0 auto;white-space:nowrap;width:auto}@media (max-width:768px){.notes-section,.recipes-section{grid-template-columns:1fr}.app{padding:1rem}.header-content{align-items:flex-start;flex-direction:column;gap:1rem}.tabs{flex-wrap:wrap}.api-key-form{flex-direction:column}.pdf-iframe{height:400px}.todo-category-tabs,.todo-form{flex-wrap:wrap}.todo-category-select{min-width:0;min-width:auto;width:100%}.admin-overlay{padding:1rem}.admin-panel{max-height:90vh;padding:1.5rem}.admin-panel .api-key-form{flex-direction:column}}
/*# sourceMappingURL=main.d7ab6fbf.css.map*/