@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap";:root{--ink:#17251d;--muted:#667168;--cream:#f4efe3;--paper:#fffdf7;--line:#d8d0c0;--saffron:#d96628;--leaf:#607c55;--red:#9a3f25;--shadow:0 18px 50px #2d23121f}*{box-sizing:border-box}html{background:var(--cream);color:var(--ink);font-family:DM Sans,sans-serif}body{margin:0}button,input,select,textarea{font:inherit}.eyebrow{color:var(--saffron);letter-spacing:.17em;margin:0 0 12px;font-size:.68rem;font-weight:700}.brand-mark{background:var(--saffron);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font:italic 21px DM Serif Display;display:grid}.login-page{background:var(--cream);min-height:100vh}.login-shell{grid-template-columns:1.25fr .75fr;min-height:100vh;display:grid}.login-story{background:radial-gradient(circle at 15% 85%,#dcd2bc 0 1px,#0000 2px) 0 0/28px 28px;flex-direction:column;justify-content:center;padding:clamp(48px,8vw,120px);display:flex}.login-story .brand-mark{margin-bottom:auto}.login-story h1{letter-spacing:-.04em;margin:0;font:400 clamp(52px,7vw,96px)/.92 DM Serif Display}.login-story h1 em{color:var(--saffron)}.login-story>p:last-child{max-width:500px;color:var(--muted);line-height:1.7}.login-card{background:var(--paper);flex-direction:column;justify-content:center;padding:clamp(34px,6vw,80px);display:flex}.login-card h2{margin:0 0 28px;font:38px DM Serif Display}.login-card label{gap:7px;margin-bottom:18px;font-size:.78rem;font-weight:700;display:grid}.login-card input[type=email],.login-card input[type=password]{border:1px solid var(--line);background:#fff;padding:13px}.login-card .remember{align-items:center;gap:8px;font-weight:500;display:flex}.login-card small{color:var(--muted);margin-top:24px}.form-error{color:var(--red);font-size:.8rem}.primary-button,.secondary-button,.quiet-button{cursor:pointer;border-radius:5px;font-weight:700}.primary-button{background:var(--ink);color:#fff;border:1px solid var(--ink);box-shadow:4px 4px 0 var(--saffron);padding:13px 17px}.primary-button span{margin-left:20px}.secondary-button{border:1px solid var(--ink);color:var(--ink);background:0 0;padding:10px 14px}.quiet-button{color:var(--ink);background:0 0;border:0;padding:7px}.danger{color:var(--red)}#app,.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4efe3f2;grid-template-columns:1fr auto 1fr;align-items:center;min-height:74px;padding:0 clamp(18px,5vw,72px);display:grid;position:sticky;top:0}.brand{align-items:center;gap:10px;font-weight:700;display:flex}.topnav{align-self:stretch;gap:26px;display:flex}.topnav button{cursor:pointer;color:var(--muted);background:0 0;border:0;font-size:.78rem;font-weight:700;position:relative}.topnav button.active{color:var(--ink)}.topnav button.active:after{content:"";background:var(--saffron);height:3px;position:absolute;bottom:0;left:0;right:0}.user-menu{justify-self:end;align-items:center;gap:12px;font-size:.78rem;display:flex}.page{max-width:1240px;margin:auto;padding:58px 30px 90px}.page-heading{justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:30px;display:flex}.page-heading h1{letter-spacing:-.035em;margin:0;font:400 clamp(42px,5vw,68px)/.98 DM Serif Display}.page-heading p{color:var(--muted);max-width:540px}.toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px;display:flex}.search{border:1px solid var(--line);background:var(--paper);min-width:280px;padding:11px 13px}.search input{background:0 0;border:0;outline:none;width:100%}.chips{flex-wrap:wrap;gap:7px;display:flex}.chip{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:8px 12px;font-size:.72rem;font-weight:700}.chip.active{background:var(--ink);color:#fff}.recipe-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.recipe-card{background:var(--paper);border:1px solid var(--line);cursor:pointer;flex-direction:column;min-height:230px;padding:18px;transition:all .2s;display:flex}.recipe-card:hover{transform:translateY(-3px);box-shadow:0 13px 30px #281e0f14}.recipe-card .card-top{color:var(--saffron);letter-spacing:.1em;justify-content:space-between;font-size:.69rem;font-weight:700;display:flex}.recipe-card h3{margin:30px 0 9px;font:27px/1.05 DM Serif Display}.recipe-card p{color:var(--muted);margin:0;font-size:.8rem;line-height:1.55}.recipe-card .meta{color:var(--muted);letter-spacing:.08em;margin-top:auto;padding-top:18px;font-size:.68rem}.empty{border:1px dashed var(--line);text-align:center;color:var(--muted);grid-column:1/-1;padding:48px}.modal-backdrop{z-index:40;background:#0f1912b3;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:var(--paper);width:min(920px,100%);max-height:92vh;box-shadow:var(--shadow);position:relative;overflow:auto}.modal-accent{background:var(--saffron);height:8px}.modal-body{padding:clamp(24px,5vw,55px)}.modal-close{cursor:pointer;background:0 0;border:0;font-size:30px;position:absolute;top:15px;right:18px}.modal h2{margin:0 0 14px;font:45px/1 DM Serif Display}.detail-columns{border-top:1px solid var(--line);grid-template-columns:.85fr 1.2fr;gap:48px;margin-top:25px;padding-top:25px;display:grid}.detail-columns h3,.form-section h3{margin:0 0 15px;font:25px DM Serif Display}.detail-columns li{margin-bottom:10px;font-size:.88rem;line-height:1.5}.modal-actions{justify-content:flex-end;gap:10px;margin-top:28px;display:flex}.recipe-form{gap:20px;display:grid}.form-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;display:grid}.field{gap:6px;display:grid}.field span{letter-spacing:.05em;font-size:.7rem;font-weight:700}.field input,.field select,.field textarea,.row input,.day-card select,.day-card textarea{border:1px solid var(--line);background:#fff;width:100%;padding:10px}.field textarea{resize:vertical;min-height:82px}.form-section{border-top:1px solid var(--line);padding-top:20px}.row{grid-template-columns:1fr 110px 100px auto;align-items:start;gap:8px;margin-bottom:8px;display:grid}.row.step-row{grid-template-columns:auto 1fr auto}.row-number{background:#ede4d3;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.75rem;display:grid}.row textarea{resize:vertical;min-height:65px}.form-errors{color:var(--red);background:#fff0eb;padding:12px;font-size:.8rem}.week-nav{align-items:center;gap:12px;display:flex}.week-nav strong{text-align:center;min-width:190px}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:11px;display:grid}.day-card{background:var(--paper);border:1px solid var(--line);flex-direction:column;min-height:315px;padding:14px;display:flex}.day-card.today{border-top:4px solid var(--saffron)}.day-card .day-name{letter-spacing:.14em;color:var(--saffron);font-size:.65rem;font-weight:700}.day-card .date{margin:5px 0 18px;font:28px DM Serif Display}.day-card select{font-size:.75rem}.day-card textarea{resize:vertical;min-height:62px;margin-top:8px;font-size:.75rem}.planned-recipe{margin-top:14px}.planned-recipe h3{margin:0 0 7px;font:22px/1.1 DM Serif Display}.planned-recipe p{color:var(--muted);font-size:.72rem;line-height:1.45}.day-actions{justify-content:space-between;gap:6px;margin-top:auto;display:flex}.day-actions button{font-size:.7rem}.planner-help{color:#48544b;background:#e8dfcd;margin-bottom:22px;padding:14px 16px;font-size:.8rem}.toast{opacity:0;background:var(--ink);color:#fff;z-index:60;padding:11px 17px;font-size:.8rem;transition:all .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,30px)}.toast.show{opacity:1;transform:translate(-50%)}@media (width<=980px){.recipe-grid,.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{grid-template-columns:1fr auto}.topnav{order:3;grid-column:1/-1;justify-content:center;height:48px}.topbar{height:auto;padding-top:12px}.user-menu .user-name{display:none}.page{padding-top:45px}}@media (width<=640px){.login-shell{grid-template-columns:1fr}.login-story{min-height:42vh;padding:32px}.login-card{min-height:58vh;padding:32px}.page{padding:32px 16px 70px}.page-heading,.toolbar{flex-direction:column;align-items:stretch}.search{min-width:0}.recipe-grid,.week-grid,.form-grid,.detail-columns{grid-template-columns:1fr}.row{grid-template-columns:1fr 80px 80px auto}.modal-backdrop{padding:0}.modal{height:100%;max-height:100%}.topbar{padding-inline:14px}.brand>span:last-child{display:none}.week-nav{justify-content:space-between}.week-nav strong{min-width:0;font-size:.8rem}}
