:root{--green:#344b3c;--sage:#dfe8dc;--cream:#f6f3eb;--paper:#fffefa;--terracotta:#bd795e;--ink:#28352d;--muted:#7c857d;--line:#e9e6dd;--shadow:0 8px 30px #263a2b0d}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial, sans-serif;font-size:15px}.topbar{max-width:1120px;margin:auto;padding:20px 24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center}.brandmark{width:43px;height:43px;border-radius:15px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:25px}.brand h1{font:600 19px Georgia, serif;margin:0;color:var(--green)}.brand p{font-size:11px;color:var(--muted);margin:3px 0 0}.icon-btn{border:0;background:#e9eee6;border-radius:50%;width:40px;height:40px;color:var(--green);font-size:17px;cursor:pointer}.hero{max-width:1072px;margin:0 auto 22px;background:var(--green);border-radius:26px;padding:36px 42px;color:white;display:flex;justify-content:space-between;align-items:center;overflow:hidden;position:relative}.hero h2{font:600 clamp(30px,5vw,48px)/1.12 Georgia, serif;margin:8px 0}.hero h2 em{color:#e2c9a6}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;color:var(--terracotta);margin:0 0 8px}.hero .eyebrow{color:#d9c6a9}.hero-sub{color:#dce5dc;margin:12px 0 0}.hero-art{font-size:112px;transform:rotate(-12deg);opacity:.9;margin-right:35px;filter:drop-shadow(0 10px 8px #0002)}.tabs{max-width:1072px;margin:0 auto 26px;padding:0 2px;display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{border:1px solid var(--line);background:#fffdf8;color:#667168;border-radius:30px;padding:11px 16px;white-space:nowrap;font:600 12px Arial;cursor:pointer}.tab.active{background:var(--green);color:white;border-color:var(--green)}.badge{background:#e8cdbd;color:#684534;border-radius:20px;padding:2px 6px;margin-left:4px}.view{display:none;max-width:1072px;margin:0 auto;padding:0 2px 40px}.view.active{display:block}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:28px 0 18px;gap:15px}.section-heading h2,.dialog-head h2{font:600 27px Georgia, serif;color:var(--green);margin:0}.section-heading .eyebrow{margin-bottom:5px}.primary,.secondary{border:0;border-radius:12px;padding:12px 17px;font:600 13px Arial;cursor:pointer}.primary{background:var(--green);color:white}.primary:hover{background:#263b2e}.primary.small{padding:10px 14px}.secondary{background:#e7ece4;color:var(--green)}.text-btn{border:0;background:transparent;color:var(--green);font-weight:700;cursor:pointer;padding:8px}.danger{color:#a45242}.full{width:100%;display:block;text-align:center}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:35px}.stat{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:17px 19px;display:grid;grid-template-columns:32px 1fr;align-items:center;box-shadow:var(--shadow)}.stat span{grid-row:span 2;font-size:23px}.stat strong{font:600 23px 'Playfair Display';color:var(--green)}.stat small{font-size:11px;color:var(--muted)}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.recipe-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:transform .2s}.recipe-card:hover{transform:translateY(-3px)}.recipe-photo{height:185px;background:#e8e8dc;display:grid;place-items:center;font-size:42px;overflow:hidden}.recipe-photo img{width:100%;height:100%;object-fit:cover}.recipe-info{padding:14px 16px 16px}.recipe-info h3{font:600 19px 'Playfair Display';margin:0 0 7px;color:var(--green)}.recipe-meta{font-size:11px;color:var(--muted)}.tag{display:inline-block;background:#edf1e9;color:#526b54;padding:5px 8px;border-radius:20px;font-size:10px;font-weight:700;margin-top:9px}.tip-card,.note-card{background:#e9eee5;border-radius:17px;padding:19px;display:flex;gap:14px;align-items:center;margin-top:28px}.tip-icon{font-size:30px}.tip-card strong{color:var(--green)}.tip-card p{font-size:12px;color:#68756b;margin:5px 0 0;line-height:1.5}.privacy-note,.muted{color:var(--muted);font-size:12px;line-height:1.6}.privacy-note{text-align:center;margin:22px 0}.toolbar{display:flex;gap:10px;margin-bottom:20px}.toolbar input{flex:1}.empty{text-align:center;padding:45px 15px;background:#fffdf8;border:1px dashed #d8ddd3;border-radius:20px;display:none}.empty.show{display:block}.empty>span{font-size:38px}.empty h3{font:600 23px 'Playfair Display';color:var(--green);margin:12px 0 5px}.empty p{font-size:13px;color:var(--muted);margin:0 0 18px}.planner-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin:20px 0}.planner-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:9px}.day-column{background:#fffdf8;border:1px solid var(--line);border-radius:14px;padding:10px;min-height:170px}.day-column h3{font-size:12px;color:var(--green);margin:0 0 10px}.meal-slot{border-top:1px solid var(--line);padding:9px 0}.meal-slot small{display:block;color:var(--muted);font-size:9px;margin-bottom:5px}.meal-slot button{font-size:10px;border:0;background:#edf1e9;color:var(--green);padding:6px;border-radius:7px;width:100%;cursor:pointer}.meal-slot .chosen{background:#e7d6c9}.inline-form{display:flex;gap:9px;margin:15px 0 20px}.inline-form input{flex:1}.progress-wrap{margin:16px 0}.progress{height:7px;background:#e5e8e0;border-radius:20px;overflow:hidden}.progress span{display:block;height:100%;width:0;background:#668267;border-radius:20px}.progress-wrap small{display:block;text-align:right;color:var(--muted);font-size:10px;margin-top:5px}.shopping-list,.pantry-list{background:#fffdf8;border:1px solid var(--line);border-radius:17px;padding:10px 17px}.shopping-item,.pantry-item{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.shopping-item:last-child,.pantry-item:last-child{border:0}.shopping-item label{flex:1}.shopping-item.done label{text-decoration:line-through;color:#a2aaa1}.shopping-item button,.pantry-item button{border:0;background:transparent;color:#a66b59;cursor:pointer}.shopping-item input{accent-color:var(--green);width:18px;height:18px}.cycle-card{background:var(--green);color:white;border-radius:20px;padding:23px;margin-bottom:20px}.cycle-card .eyebrow{color:#e5c9a9}.cycle-day{display:flex;align-items:baseline;gap:14px}.cycle-day strong{font:600 42px 'Playfair Display'}.cycle-day span{font-size:18px;color:#e5d4bc}.cycle-card .muted{color:#d7e0d6}.cycle-track{height:8px;background:#ffffff35;border-radius:20px;position:relative;margin:24px 0 9px}.cycle-track span{position:absolute;top:-4px;width:16px;height:16px;border:3px solid #fff;background:#d9b38e;border-radius:50%;left:0}.cycle-phases{display:flex;justify-content:space-between;font-size:9px;color:#dce5dc}.cycle-card small{display:block;margin-top:16px;color:#dce5dc}.cycle-settings{background:#fffdf8;border:1px solid var(--line);border-radius:17px;padding:20px;margin-bottom:28px}.cycle-settings h3{font:600 19px 'Playfair Display';color:var(--green);margin:0 0 15px}.form-row{display:flex;gap:12px}.form-row label{flex:1}.cycle-settings .primary{margin-top:14px}.note-card{font-size:11px;color:#647266;line-height:1.6;display:block;margin:20px 0}.form-row.two{gap:12px}label{display:block;font-size:12px;font-weight:600;color:#4b5c4e;margin:13px 0}label small{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;margin-top:7px;padding:12px 13px;border:1px solid #dfe3da;border-radius:10px;background:#fffefa;color:var(--ink);font:13px Arial;outline:none}input:focus,select:focus,textarea:focus{border-color:#7d987d;box-shadow:0 0 0 3px #dfe8dc}textarea{resize:vertical}.photo-preview{height:145px;background:#f0f1e9;border:1px dashed #ccd5c9;border-radius:13px;display:grid;place-items:center;color:#849084;font-size:12px;overflow:hidden}.photo-preview img{width:100%;height:100%;object-fit:cover}.dialog-content{padding:24px;max-height:85vh;overflow:auto}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.dialog-head h2{font-size:24px}dialog{border:0;border-radius:22px;padding:0;width:min(560px,calc(100% - 24px));max-height:90vh;box-shadow:0 20px 70px #1e302755}dialog::backdrop{background:#1b2c2280;backdrop-filter:blur(3px)}.detail-photo{width:100%;max-height:240px;object-fit:cover;border-radius:14px}.detail-content h3{font:600 19px 'Playfair Display';color:var(--green);margin:20px 0 8px}.detail-content li{font-size:13px;margin:7px 0;line-height:1.5}.detail-content p{font-size:13px;line-height:1.7;white-space:pre-wrap}.import-label{margin-top:10px;cursor:pointer}.import-label input{font-size:11px}footer{text-align:center;color:#a1a99f;font-size:10px;letter-spacing:1.5px;padding:25px}footer span{color:var(--terracotta)}.tiny{font-size:10px}
@media(max-width:700px){.topbar{padding:15px 16px}.hero{margin:0 12px 18px;padding:25px 23px;border-radius:20px}.hero-art{font-size:70px;margin-right:0}.tabs{padding:0 12px}.view{padding:0 14px 30px}.recipe-grid{grid-template-columns:repeat(2,1fr);gap:11px}.recipe-photo{height:140px}.recipe-info{padding:11px}.recipe-info h3{font-size:16px}.section-heading h2{font-size:23px}.section-heading{align-items:center}.stats{gap:8px}.stat{padding:12px 9px;grid-template-columns:25px 1fr}.stat strong{font-size:20px}.stat span{font-size:18px}.stat small{font-size:9px}.planner-grid{grid-template-columns:repeat(2,1fr)}.toolbar{flex-direction:column}.form-row{flex-direction:column;gap:0}.cycle-phases{font-size:8px}.dialog-content{padding:19px}.hero h2{font-size:31px}}
@media(min-width:701px){main{padding:0 24px}}
