*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(160deg,#f6f8f2,#f0efe9);padding-bottom:88px}a,body{color:#1f2a1f}body.has-back-bar{padding-bottom:1rem;padding-top:48px}.page-back-bar{position:fixed;top:0;left:0;right:0;z-index:50;height:48px;display:flex;align-items:center;padding:0 1rem;background:rgba(246,248,242,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #dce8d4}.page-back-btn{background:transparent;border:none;color:#3a6b3a;font:inherit;font-size:.95rem;font-weight:600;cursor:pointer;padding:.3rem .6rem;border-radius:8px;letter-spacing:.01em}.page-back-btn:hover{background:rgba(60,110,60,.09)}.bottom-tab-bar{position:fixed;left:0;right:0;bottom:calc(env(safe-area-inset-bottom, 0px) + .6rem);z-index:50;display:flex;justify-content:center;pointer-events:none;transition:transform .22s ease,opacity .22s ease}.bottom-tab-bar.hidden{transform:translateY(120%);opacity:0}.bottom-tab-inner{pointer-events:auto;display:flex;align-items:stretch;height:58px;width:min(640px,calc(100% - 1rem));margin:0;border-radius:18px;overflow:hidden;background:#1d2e42f0;border:1px solid #2d4060;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 24px rgba(18,33,53,.35)}.tab-link{flex:1 1;display:flex;align-items:center;justify-content:center;color:#7fa8cc;text-decoration:none;border:none;background:transparent;white-space:nowrap;font:inherit;font-size:.88rem;font-weight:500;letter-spacing:.01em;cursor:pointer}.tab-link.active{color:#e8f4ff;background:rgba(255,255,255,.1)}.page{max-width:840px;margin:0 auto;min-height:100vh;display:grid;align-content:center;grid-gap:.75rem;gap:.75rem;padding:2rem}h1{font-size:clamp(2rem,4vw,3rem)}h1,h2{margin:0}.app-page{align-content:start;padding-top:1rem;gap:1rem}.card{background:#ffffffc7;border:1px solid #dae3d5;border-radius:14px;padding:1rem}.nav-links{display:flex;gap:1rem}.form-grid{display:grid;grid-gap:.75rem;gap:.75rem}.form-grid button,.form-grid input,.form-grid select{font:inherit;padding:.65rem .75rem;border-radius:10px;border:1px solid #b8c7b0}.form-grid button{cursor:pointer;background:#2f5f2f;color:#fff;border-color:#2f5f2f}.list,.sublist{margin:0;padding-left:1.1rem}.list{display:grid;grid-gap:.65rem;gap:.65rem}.error{color:#8f1212;font-weight:600}.home-page{max-width:980px}.hero-card{background:#f4f6f1;border:1px solid #d8e1d2;border-radius:26px;padding:1.2rem;display:grid;grid-gap:1rem;gap:1rem}.eyebrow{margin:0;font-weight:600;color:#60765f}.search-box input{width:100%;border:none;border-radius:999px;background:#fff;padding:.8rem 1rem;font:inherit}.category-grid{display:flex;flex-wrap:nowrap;gap:.55rem;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:.15rem}.category-chip{flex:0 0 auto;border:1px solid #d9e0d2;border-radius:14px;background:#fff;padding:.6rem;font:inherit;white-space:nowrap;cursor:pointer}.category-chip.active{background:#cedf8b;border-color:#c4d27f}.spotlight{display:grid;grid-gap:.7rem;gap:.7rem}.spotlight-slide{border-radius:22px;overflow:hidden;text-decoration:none;color:inherit;background:#fff;border:1px solid #d9e0d2}.spotlight-slide img{width:100%;height:280px;object-fit:cover;display:block}.spotlight-content{padding:.9rem 1rem;display:flex;justify-content:space-between;align-items:center}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:.85rem;gap:.85rem}.recipe-card{border-radius:18px;overflow:hidden;border:1px solid #d9e0d2;text-decoration:none;color:inherit;background:#fff}.recipe-card img{width:100%;height:150px;object-fit:cover;display:block}.recipe-card-content{padding:.7rem .8rem;display:grid;grid-gap:.3rem;gap:.3rem}.recipe-detail .recipe-hero{width:100%;border-radius:18px;max-height:360px;object-fit:cover}.tag-list{display:flex;flex-wrap:wrap;gap:.45rem}.tag-pill{background:#eef3d7;border:1px solid #d2dcab;border-radius:999px;padding:.2rem .65rem;font-size:.9rem}.inline-actions{display:flex;gap:1rem}.recipe-form textarea{width:100%;border:1px solid #b8c7b0;border-radius:10px;font:inherit;padding:.65rem .75rem}.inline-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.inline-grid,.sub-card{display:grid;grid-gap:.6rem;gap:.6rem}.sub-card{border:1px solid #d8e1d2;border-radius:12px;padding:.8rem;background:#f7faf5}.ingredient-row,.inline-checkbox{align-items:center}.inline-checkbox{display:flex;gap:.4rem}.markdown-body{line-height:1.45}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin-top:.8rem;margin-bottom:.4rem}.primary-link{display:inline-block;padding:.6rem .9rem;border-radius:10px;border:1px solid #2f5f2f;text-decoration:none;background:#2f5f2f;color:#fff;width:-moz-fit-content;width:fit-content}.bulk-edit-panel{display:grid;grid-gap:.75rem;gap:.75rem}.bulk-edit-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.bulk-edit-grid{display:grid;grid-template-columns:1fr;grid-gap:.7rem;gap:.7rem}.recipe-rows{display:grid;grid-gap:.8rem;gap:.8rem}.recipe-row-card{display:grid;grid-template-columns:auto 130px 1fr auto;grid-gap:.8rem;gap:.8rem;align-items:center;padding:.75rem;border:1px solid #d9e0d2;border-radius:14px;background:#fff}.recipe-row-card img{width:130px;height:90px;object-fit:cover;border-radius:10px}.recipe-row-main{display:grid;grid-gap:.35rem;gap:.35rem}.row-action-link{text-decoration:none;border:1px solid #d0d9c9;padding:.4rem .65rem;border-radius:10px;background:#f3f7ed}.upload-preview{width:min(320px,100%);border-radius:12px;border:1px solid #d8e1d2;display:block}.tag-editor{display:grid;grid-gap:.5rem;gap:.5rem}.tag-input-box{border:1px solid #b8c7b0;border-radius:10px;padding:.45rem;background:#fff}.tag-chip-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.35rem}.tag-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;background:#eef3d7;border:1px solid #d2dcab}.tag-chip button{border:none;background:transparent;cursor:pointer;font:inherit}.tag-input-box input{width:100%;border:none;outline:none;font:inherit}.tag-suggestions{display:flex;flex-wrap:wrap;gap:.4rem}.tag-suggestions button{font:inherit;border:1px solid #d0d9c9;border-radius:999px;background:#f8fbf4;padding:.25rem .6rem;cursor:pointer}.md-editor-wrap{border:1px solid #d8e1d2;border-radius:10px;overflow:hidden}.recipes-admin-page{max-width:1280px}.recipes-admin-shell{display:grid;grid-gap:.9rem;gap:.9rem}.recipes-admin-topbar{display:grid;grid-template-columns:1fr auto;grid-gap:.8rem;gap:.8rem;align-items:center}.recipes-admin-topbar input{width:100%;border:1px solid #d0d8ca;border-radius:8px;background:#fff;padding:.62rem .8rem;font:inherit}.recipes-admin-actions{display:flex;flex-wrap:wrap;gap:.55rem}.ghost-btn{border:1px solid #cfd8c7;border-radius:8px;padding:.52rem .8rem;background:#fff;cursor:pointer;font:inherit}.recipes-admin-card{display:grid;grid-gap:.9rem;gap:.9rem}.recipes-admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap}.recipes-admin-head p{margin:.3rem 0 0;color:#5f6f5c}.recipes-admin-filters{display:flex;flex-wrap:wrap;gap:.45rem}.filter-chip{border:1px solid #cfd8c7;border-radius:999px;background:#fff;padding:.32rem .7rem;cursor:pointer;font:inherit}.filter-chip.active{background:#253f73;border-color:#253f73;color:#fff}.bulk-edit-panel.compact{background:#f8faf6}.bulk-edit-cta{display:flex;gap:.5rem;flex-wrap:wrap}.danger-btn{border:1px solid #c73535;background:#fff5f5;color:#8f1212}.table-wrap{overflow:auto;border:1px solid #dce3d7;border-radius:12px;background:#fff}.recipes-table{width:100%;border-collapse:collapse;min-width:980px}.recipes-table td,.recipes-table th{text-align:left;padding:.65rem;border-bottom:1px solid #edf1ea;vertical-align:middle}.recipes-table th{font-size:.84rem;letter-spacing:.02em;color:#596758;font-weight:600}.table-photo{width:42px;height:42px;border-radius:8px;object-fit:cover;display:block}.table-name-link{font-weight:600;text-decoration:none}.table-tags{gap:.25rem}.table-actions{display:flex;gap:.4rem;align-items:center}.table-actions a,.table-actions button{border:1px solid #d2dacd;border-radius:8px;background:#fff;text-decoration:none;color:inherit;padding:.23rem .42rem;font:inherit;cursor:pointer}.table-empty{text-align:center;color:#5f6f5c;padding:1.3rem}.category-status-cell{display:grid;grid-gap:0;gap:0}.category-status-cell select{border:1px solid #d0d8ca;border-radius:8px;background:#fff;padding:.38rem .45rem;font:inherit}.row-tag-editor{display:grid;grid-gap:.2rem;gap:.2rem;min-width:260px}.row-tag-editor .tag-editor>label{display:none}.tag-datalist-editor{display:grid;grid-gap:.35rem;gap:.35rem}.tag-datalist-editor input{width:100%;border:1px solid #b8c7b0;border-radius:8px;background:#fff;font:inherit;padding:.4rem .55rem}.ingredient-builder{display:grid;grid-gap:.6rem;gap:.6rem}.ingredient-grid-head,.ingredient-grid-row{display:grid;grid-template-columns:130px 130px 1fr 120px 90px;grid-gap:.45rem;gap:.45rem;align-items:center}.ingredient-grid-head{font-size:.83rem;color:#60765f}.ingredient-grid-row input,.ingredient-grid-row select{width:100%;border:1px solid #b8c7b0;border-radius:8px;background:#fff;font:inherit;padding:.45rem .55rem}.ingredient-row-actions{display:flex;justify-content:center}.ingredient-row-actions button{width:34px;height:34px;border-radius:999px}.ingredient-add-btn,.ingredient-row-actions button{border:1px solid #d0d9c9;background:#fff;font:inherit;cursor:pointer}.ingredient-add-btn{width:-moz-fit-content;width:fit-content;border-radius:999px;padding:.35rem .75rem}@media (max-width:760px){.recipes-admin-topbar{grid-template-columns:1fr}.recipes-admin-actions{width:100%}.recipes-admin-actions .ghost-btn,.recipes-admin-actions .primary-link{width:100%;text-align:center}.ingredient-grid-head{display:none}.ingredient-grid-row{grid-template-columns:1fr;border:1px solid #d8e1d2;border-radius:10px;padding:.55rem}.recipe-row-card{grid-template-columns:auto 1fr}.recipe-row-card img{grid-column:1/-1;width:100%;height:170px}.row-action-link{justify-self:start}}.settings-page{max-width:640px;min-height:unset;align-content:start;padding:1.5rem 1.25rem 2rem}.settings-title{font-size:1.6rem;font-weight:700;margin:0 0 1.5rem;color:#1f2a1f}.settings-subtitle{margin:-1rem 0 1.5rem;color:#5a6e5a;font-size:.9rem}.settings-section{display:flex;flex-direction:column;gap:.6rem;margin-bottom:2rem}.settings-action-btn{display:block;width:100%;padding:.75rem 1rem;border-radius:12px;border:1px solid #c8d8c0;background:#fff;color:#1f2a1f;font:inherit;font-size:.95rem;font-weight:500;text-decoration:none;text-align:center;cursor:pointer;transition:background .15s}.settings-action-btn:hover{background:#f0f5ee}.settings-action-btn.danger{color:#b03030;border-color:#f2c4c4;background:#fff8f8}.settings-action-btn.danger:hover{background:#fdeaea}.settings-cards{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.settings-card{display:flex;align-items:center;gap:1rem;padding:1.1rem 1rem;border-radius:16px;border:1px solid #d4e4cc;background:#fff;text-decoration:none;color:inherit;transition:background .15s,box-shadow .15s}.settings-card:hover{background:#f4faf0;box-shadow:0 2px 10px rgba(0,0,0,.07)}.settings-card-icon{font-size:1.8rem;flex-shrink:0}.settings-card-title{font-size:1rem;font-weight:600;margin:0 0 .2rem}.settings-card-desc{font-size:.8rem;color:#62745f;margin:0}.settings-back-row{margin-bottom:1rem}.settings-back-link{color:#4a7a4a;text-decoration:none;font-size:.9rem}.settings-back-link:hover{text-decoration:underline}.account-form-section{background:#fff;border:1px solid #d4e4cc;border-radius:16px;padding:1.25rem;margin-bottom:1.25rem}.account-form-heading{font-size:1rem;font-weight:600;margin:0 0 1rem;color:#2c3e2c}.account-form{gap:.85rem}.account-form,.account-label{display:flex;flex-direction:column}.account-label{gap:.3rem;font-size:.88rem;font-weight:500;color:#3a4e3a}.account-input{padding:.55rem .75rem;border:1px solid #c8d8c0;border-radius:8px;font:inherit;font-size:.95rem;background:#f9fbf7;outline:none;transition:border-color .15s}.account-input:focus{border-color:#5a9a5a}.account-submit-btn{align-self:flex-start;padding:.6rem 1.2rem;border-radius:10px;border:none;background:#3c6e3c;color:#fff;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s}.account-submit-btn:hover:not(:disabled){background:#2e5a2e}.account-submit-btn:disabled{opacity:.6;cursor:not-allowed}.account-msg{font-size:.88rem;margin:0;padding:.5rem .75rem;border-radius:8px}.account-msg.error{background:#fdeaea;color:#9b2020;border:1px solid #f2c4c4}.account-msg.success{background:#eaf4ea;color:#2a6b2a;border:1px solid #b4d8b4}@media (max-width:600px){.settings-cards{grid-template-columns:1fr}}