:root{--ink:#172019;--muted:#687069;--cream:#f4f0e7;--paper:#fffdf8;--green:#275e45;--lime:#c8e46d;--line:#dcd8cd;--danger:#9f2f2f}*{box-sizing:border-box}html{background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif}body{background:radial-gradient(circle at 80% 0%, #e1edc5 0, transparent 34rem), var(--cream);min-height:100vh;margin:0}a{color:inherit}.site-header{border-bottom:1px solid #1720191f;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(20px,5vw,72px);display:flex}.brand{font-family:Georgia,serif;font-size:1.45rem;font-weight:700;text-decoration:none}.tagline,.muted{color:var(--muted)}main{min-height:calc(100vh - 72px)}.page-shell{width:min(1120px,100% - 32px);margin:0 auto;padding:56px 0 80px}.narrow{width:min(520px,100% - 32px)}.hero{padding-top:clamp(80px,14vw,180px)}.hero h1,.page-title{letter-spacing:-.04em;margin:12px 0 24px;font-family:Georgia,serif;font-size:clamp(2.6rem,7vw,5.8rem);line-height:.97}.page-title{font-size:clamp(2.3rem,5vw,4.5rem)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--green);font-size:.76rem;font-weight:800}.lede{color:#4f5851;max-width:640px;font-size:1.14rem;line-height:1.65}.button-row{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.button,button{appearance:none;background:var(--green);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;padding:13px 20px;font-weight:750;text-decoration:none}.button.secondary,button.secondary{color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:0 0}button:disabled{opacity:.55;cursor:wait}.auth-card,.card,.loading-card,.empty{border:1px solid var(--line);background:#fffdf8e0;border-radius:24px;padding:clamp(22px,4vw,38px);box-shadow:0 18px 60px #2e3a2f12}.auth-card h1{margin:0 0 10px;font-family:Georgia,serif;font-size:2.5rem}form{gap:16px;margin-top:28px;display:grid}label{gap:7px;font-size:.88rem;font-weight:700;display:grid}input,textarea,select{width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #bfc4bb;border-radius:12px;padding:13px 14px}input:focus,textarea:focus{border-color:var(--green);outline:3px solid #c8e46d8c}.error{color:var(--danger);background:#fff0ed;border-radius:10px;padding:10px 12px}.success{color:var(--green);background:#edf7d6;border-radius:10px;padding:10px 12px}.topline{justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px;display:flex}.topline h1{margin-bottom:0}.nav{flex-wrap:wrap;gap:8px;margin:0 0 28px;display:flex}.nav a{border:1px solid var(--line);background:#ffffff8c;border-radius:999px;padding:9px 13px;text-decoration:none}.metric-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.metric{flex-direction:column;justify-content:space-between;min-height:170px;display:flex}.metric strong{font-family:Georgia,serif;font-size:clamp(2rem,5vw,3.7rem);font-weight:500}.progress{background:#e8e5db;border-radius:999px;height:9px;overflow:hidden}.progress span{background:var(--lime);border-radius:inherit;height:100%;display:block}.section-title{margin:42px 0 16px;font-family:Georgia,serif;font-size:2rem}.meal-list,.client-list,.invite-list{gap:12px;display:grid}.meal,.client-row,.invite-row{border:1px solid var(--line);background:#fffdf8e6;border-radius:18px;grid-template-columns:92px 1fr auto;align-items:center;gap:18px;padding:14px;text-decoration:none;display:grid}.meal img{object-fit:cover;background:#e3e1d7;border-radius:12px;width:92px;height:76px}.meal-placeholder{background:linear-gradient(135deg,#e3e1d7,#f1eee5);border-radius:12px;width:92px;height:76px}.meal h3,.client-row h3,.invite-row h3{margin:0 0 6px}.meal p,.client-row p,.invite-row p{color:var(--muted);margin:3px 0}.pill{color:var(--green);background:#edf4de;border-radius:999px;justify-self:start;padding:5px 9px;font-size:.75rem;font-weight:800}.split{grid-template-columns:1fr 1fr;gap:20px;display:grid}.coach-home-intro,.client-detail-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;display:flex}.coach-home-intro h2,.client-detail-header h2{margin:5px 0;font-family:Georgia,serif;font-size:2rem}.summary-row{grid-template-columns:150px 1fr minmax(220px,auto)}.relationship-status{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.macro-pair,.goal-copy{text-align:right;gap:7px;display:grid}.macro-pair small{color:var(--muted);font-weight:500}.status-on_track{background:#dff2c0}.status-over_target{color:#8e3527;background:#ffe0d7}.status-no_logs_today{color:#5f625d;background:#e6e5df}.pagination,.range-tabs{justify-content:center;align-items:center;gap:12px;margin-top:22px;display:flex}.range-tabs{justify-content:flex-start;margin:26px 0 18px}.range-tabs button{min-width:100px}.range-tabs button.active{background:var(--ink)}.reminder-card{max-width:680px}.attention-panel{color:#fff;background:#28251f;border-radius:24px;margin-bottom:24px;padding:clamp(20px,4vw,34px)}.attention-panel.clear{background:var(--green);justify-content:space-between;align-items:center;display:flex}.attention-panel h2{margin:5px 0;font-family:Georgia,serif;font-size:2rem}.attention-panel .eyebrow{color:var(--lime)}.attention-heading,.attention-item{justify-content:space-between;align-items:center;gap:18px;display:flex}.attention-list{gap:10px;margin-top:20px;display:grid}.attention-item{background:#ffffff14;border-radius:16px;padding:18px}.attention-item h3{margin:8px 0 3px}.attention-item p{color:#d7d3ca;margin:0}.severity-high{color:#8e3527;background:#ffd2c8}.severity-medium{color:#6b5310;background:#fff0b8}.empty{text-align:center;color:var(--muted);padding:48px 24px}.loading-card{text-align:center;animation:1.2s infinite alternate pulse}@keyframes pulse{to{opacity:.55}}@media (max-width:720px){.tagline{display:none}.page-shell{padding-top:34px}.metric-grid,.split{grid-template-columns:1fr}.meal,.client-row,.invite-row{grid-template-columns:72px 1fr}.meal img,.meal-placeholder{width:72px;height:68px}.meal>:last-child,.client-row>:last-child,.invite-row>:last-child{grid-column:2}.topline,.coach-home-intro,.client-detail-header,.attention-heading,.attention-item,.attention-panel.clear{flex-direction:column;align-items:start}.summary-row{grid-template-columns:1fr}.summary-row>:last-child{grid-column:1}.macro-pair,.goal-copy{text-align:left}.range-tabs{grid-template-columns:repeat(3,1fr);display:grid}.range-tabs button{min-width:0;padding:11px 8px}.hero h1{font-size:3.25rem}}
