@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--ink:#193b32;--muted:#6d7d77;--line:#dfe9e4;--paper:#f6f8f5;--card:#fff;--green:#176b53;--lime:#dff36b;--soft:#eaf3ef;--nav:#123b31;--danger:#9f3434}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 'DM Sans',sans-serif}a{color:var(--green);text-decoration:none}h1,h2,h3{font-family:Manrope,sans-serif;margin-top:0;line-height:1.18}h1{font-size:29px;margin-bottom:0}h2{font-size:34px}h3{font-size:18px}.shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:var(--nav);color:#d9e9e3;padding:28px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;color:white;margin-bottom:42px}.brand b,.brand small{display:block}.brand small{opacity:.6;font-size:10px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--lime);color:var(--nav);font:800 18px Manrope}.brand-mark.large{width:56px;height:56px;font-size:28px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{color:#c7d9d3;padding:11px 13px;border-radius:8px;font-weight:600}.sidebar nav a:hover,.sidebar nav a.active{background:#235447;color:white}.sidebar-foot{margin-top:auto;border-top:1px solid #31584e;padding-top:18px}.sidebar-foot small,.sidebar-foot b{display:block}.link-button{border:0;background:none;color:#a8c2ba;padding:7px 0;cursor:pointer}main{padding:28px 38px 60px;max-width:1500px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:700;color:#71847d;display:block;margin-bottom:7px}.status{padding:8px 12px;border:1px solid var(--line);border-radius:20px;background:white;font-size:12px}.status span{display:inline-block;width:7px;height:7px;background:#62bd83;border-radius:50%;margin-right:6px}.security-banner,.alert,.notice{padding:12px 15px;border-radius:9px;margin-bottom:18px}.security-banner{background:#fff5d6;color:#795c09;border:1px solid #eedb96}.alert.success{background:#e2f5e9}.alert.error{background:#fbe6e6;color:var(--danger)}.alert ul{margin:5px 0}.hero{background:linear-gradient(120deg,#153f34,#266753);color:white;border-radius:18px;padding:35px 38px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}.hero:after{content:'';position:absolute;width:280px;height:280px;border:60px solid rgba(223,243,107,.13);border-radius:50%;right:-100px;top:-130px}.hero>div,.hero>a{position:relative;z-index:1}.hero h2{max-width:680px;margin:0 0 10px}.hero p{color:#cce0d9;max-width:650px}.button{border:0;border-radius:8px;padding:10px 16px;font:600 13px 'DM Sans';display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.button.primary{background:var(--green);color:white}.button.secondary{background:var(--soft);color:var(--green)}.button.light{background:var(--lime);color:var(--nav)}.button.full{width:100%}.button-group{display:flex;gap:7px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.stat,.card{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:20px}.stat span,.stat small,.stat strong{display:block}.stat span{color:var(--muted)}.stat strong{font:800 32px Manrope;margin:5px 0}.stat small{color:#87948f}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:1.45fr 1fr}.grid.plan-grid{grid-template-columns:1.35fr .85fr}.card{margin-bottom:18px}.accent-card{background:#edf5e7}.section-head,.actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-head h3{margin:0}.list-row,.plan-item,.measurement,.metric{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.list-row b,.list-row small{display:block}.list-row small,td small{color:var(--muted)}.list-row em,.plan-item em{font-style:normal;color:var(--muted)}.clean{padding-left:18px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th{text-align:left;color:#75857f;font-size:11px;letter-spacing:.06em;text-transform:uppercase}th,td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}td small{display:block}.pill{display:inline-block;padding:4px 8px;border-radius:12px;background:var(--soft);color:var(--green);font-size:11px}code{background:#f1f4f2;padding:3px 5px;border-radius:4px}.search{display:flex;gap:10px}.search input{flex:1}.muted{color:var(--muted)}dl{display:grid;grid-template-columns:90px 1fr;gap:10px}dt{color:var(--muted)}dd{margin:0}.details{grid-template-columns:120px 1fr}.notice{background:#eff6f3;border-left:3px solid var(--green)}.notice p{margin:2px 0}.narrow{max-width:900px}label{display:grid;gap:6px;color:#41564f;font-weight:600;margin-bottom:14px}label small{font-weight:400}input,select,textarea{width:100%;border:1px solid #cad8d2;border-radius:7px;padding:10px 11px;background:white;color:var(--ink);font:inherit}textarea{min-height:90px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 14px}.ingredient{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:8px;margin-bottom:9px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.recipe-card{border:1px solid var(--line);border-radius:10px;padding:18px;color:var(--ink)}.recipe-card:hover{border-color:var(--green);transform:translateY(-1px)}.recipe-card p{color:var(--muted)}.recipe-card>span:last-child{color:var(--green);font-weight:600}.plan-item{gap:10px}.plan-item>span{flex:1}.plan-item small,.plan-item b{display:block}.icon-button{border:0;background:#f7e9e9;color:#9f3434;border-radius:20px;width:26px;height:26px;cursor:pointer}.analysis{align-self:start;position:sticky;top:25px}.analysis-row{padding:10px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 80px 48px;gap:10px;align-items:center}.analysis-row small{display:block;color:var(--muted)}.analysis-row em{text-align:right;font-style:normal;font-size:12px}.progress{height:6px;background:#e9efec;border-radius:4px;overflow:hidden}.progress span{display:block;height:100%;background:var(--lime)}.version-note{font-size:10px;color:var(--muted);padding-top:16px}.workflow{display:flex;align-items:center;gap:25px}.workflow>div{flex:1}.workflow>div>b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--lime)}.workflow h3{margin:8px 0 4px}.workflow p{color:var(--muted)}.login-page{background:var(--nav);min-height:100vh;display:grid;place-items:center}.login-wrap{display:grid;grid-template-columns:1.4fr .8fr;width:min(1080px,92vw);min-height:610px;border-radius:22px;overflow:hidden;background:#f1f5ef}.login-story{padding:70px;background:linear-gradient(145deg,#14493a,#28725a);color:white;display:flex;flex-direction:column;justify-content:center}.login-story h1{font-size:48px;max-width:650px}.login-story p{color:#d1e5de;font-size:17px;max-width:620px}.trust-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}.trust-row span{border:1px solid #5f897d;padding:7px 10px;border-radius:17px;font-size:11px}.login-card{background:white;padding:55px 42px;display:flex;flex-direction:column;justify-content:center}.login-card h2{font-size:26px}.login-card>p,.login-card>small{color:var(--muted)}.check{display:flex;grid-template-columns:auto 1fr;align-items:center}.check input{width:auto}.login-card button{margin:8px 0 14px}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static;padding:18px}.sidebar nav{display:flex;overflow:auto}.sidebar-foot{display:none}.brand{margin-bottom:15px}main{padding:20px}.stat-grid{grid-template-columns:repeat(2,1fr)}.grid.two,.grid.plan-grid,.login-wrap{grid-template-columns:1fr}.login-story{display:none}.card-grid{grid-template-columns:1fr}.workflow{display:block}.analysis{position:static}}@media(max-width:560px){.stat-grid,.form-grid{grid-template-columns:1fr}.topbar,.actions,.hero{align-items:flex-start;gap:14px;flex-direction:column}.ingredient{grid-template-columns:1fr 1fr}.button-group{flex-wrap:wrap}h1{font-size:24px}.login-card{padding:30px}}
