@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--font-family:"Inter", system-ui, -apple-system, sans-serif;--color-bg:beige;--color-surface:#fff;--color-primary:#7a9482;--color-primary-hover:#637a6a;--color-secondary:#d4a373;--color-text-main:#333;--color-text-muted:#6b705c;--color-border:#e3e3d8;--color-danger:#d9534f;--touch-target-min:44px;--shadow-sm:0 2px 8px #3333330d;--shadow-md:0 8px 24px #33333314;--shadow-modal:0 20px 40px #0003;--border-radius:16px;--border-radius-lg:24px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--color-bg);color:var(--color-text-main);-webkit-font-smoothing:antialiased;padding-bottom:80px;line-height:1.6}.app-container{max-width:800px;margin:0 auto;padding:1.5rem}.top-header{text-align:center;padding:1rem 0 2rem}.top-header h1{color:var(--color-primary);letter-spacing:-.5px;font-size:2rem;font-weight:700}.bottom-nav{background-color:var(--color-surface);z-index:1000;border-top-left-radius:var(--border-radius-lg);border-top-right-radius:var(--border-radius-lg);height:70px;padding:0 max(env(safe-area-inset-right), 1rem) env(safe-area-inset-bottom) max(env(safe-area-inset-left), 1rem);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000000d}.nav-item{color:var(--color-text-muted);min-width:var(--touch-target-min);min-height:var(--touch-target-min);flex-direction:column;justify-content:center;align-items:center;padding:.5rem;font-size:.75rem;font-weight:600;text-decoration:none;transition:color .2s;display:flex}.nav-item.active{color:var(--color-primary)}.nav-icon{margin-bottom:4px;font-size:1.5rem}.card{background:var(--color-surface);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);margin-bottom:1.5rem;padding:1.5rem}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.recipe-card{background:var(--color-surface);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);cursor:pointer;color:inherit;text-decoration:none;transition:transform .2s,box-shadow .2s;display:block;overflow:hidden}.recipe-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.recipe-card-img{object-fit:cover;background-color:var(--color-border);width:100%;height:160px}.recipe-card-content{padding:1rem}.recipe-card-title{margin-bottom:.5rem;font-size:1.2rem;font-weight:700}.recipe-card-meta{color:var(--color-text-muted);font-size:.9rem}.btn{min-height:var(--touch-target-min);border-radius:var(--border-radius);cursor:pointer;background-color:var(--color-surface);color:var(--color-text-main);border:none;border:1px solid var(--color-border);justify-content:center;align-items:center;padding:0 1.5rem;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-danger{background-color:var(--color-danger);color:#fff;border-color:var(--color-danger)}.fab{background-color:var(--color-primary);color:#fff;width:60px;height:60px;box-shadow:var(--shadow-md);cursor:pointer;z-index:900;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:2rem;transition:transform .2s;display:flex;position:fixed;bottom:90px;right:20px}.fab:hover{transform:scale(1.05)}.form-group{margin-bottom:1.2rem}.form-group label{color:var(--color-text-main);margin-bottom:.5rem;font-size:.95rem;font-weight:600;display:block}.form-control{width:100%;min-height:var(--touch-target-min);border:2px solid var(--color-border);font-family:var(--font-family);background-color:var(--color-surface);color:var(--color-text-main);border-radius:12px;padding:.5rem 1rem;font-size:1rem;transition:border-color .2s}.form-control:focus{border-color:var(--color-primary);outline:none}textarea.form-control{min-height:100px;padding-top:1rem}.modal-overlay{z-index:2000;background-color:#00000080;justify-content:center;align-items:flex-end;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-bg);border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;width:100%;max-width:600px;max-height:90vh;box-shadow:var(--shadow-modal);padding:2rem 1.5rem;animation:.3s ease-out slideUp;overflow-y:auto}@media (width>=600px){.modal-overlay{align-items:center}.modal-content{border-radius:var(--border-radius-lg)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.modal-title{color:var(--color-primary);font-size:1.5rem}.close-btn{color:var(--color-text-muted);cursor:pointer;min-width:var(--touch-target-min);min-height:var(--touch-target-min);background:0 0;border:none;justify-content:center;align-items:center;font-size:2rem;display:flex}.combobox-wrapper{position:relative}.combobox-dropdown{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-md);z-index:10;border-radius:12px;max-height:200px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.combobox-item{cursor:pointer;border-bottom:1px solid var(--color-border);min-height:var(--touch-target-min);align-items:center;padding:1rem;display:flex}.combobox-item:last-child{border-bottom:none}.combobox-item:hover{background:var(--color-bg)}.combobox-create{color:var(--color-primary);font-weight:700}.dynamic-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.dynamic-row-content{flex:1;gap:.5rem;display:flex}.remove-btn{color:var(--color-danger);cursor:pointer;min-width:var(--touch-target-min);min-height:var(--touch-target-min);background:0 0;border:none;justify-content:center;align-items:center;font-size:1.5rem;display:flex}
