:root{--ink:#111;--muted:#68635f;--paper:#f6f3ee;--card:#fffdf9;--line:#ded8d0;--accent:#f05a24;--accent-deep:#c63d0d;--accent-soft:#fff0e8;--danger:#a72d24;--zone-1:#5b7f9c;--zone-2:#3f8f7a;--zone-3:#b08a2e;--zone-4:#c2662f;--zone-5:#a4302f;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--paper);min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}.shell{max-width:1240px;margin:0 auto;padding:0 28px 56px}.topbar{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:center;gap:24px;min-height:82px;display:flex}.brand-lockup{align-items:center;gap:12px;display:inline-flex}.brand-mark{border-radius:9px;width:42px;height:42px;display:block}.brand{letter-spacing:.08em;font-size:20px;font-weight:900;line-height:1;display:block}.brand-byline{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:5px;font-size:10px;font-weight:750;display:block}.eyebrow{color:var(--accent);letter-spacing:.09em;text-transform:uppercase;font-size:12px;font-weight:750}h1{letter-spacing:-.055em;margin:14px 0;font-size:clamp(38px,6vw,68px);line-height:.98}h2{letter-spacing:-.03em;font-size:22px}p{color:var(--muted);line-height:1.6}.hero{max-width:820px;padding:72px 0 42px}.grid{grid-template-columns:repeat(12,1fr);gap:16px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;grid-column:span 4;padding:24px;box-shadow:0 12px 30px #1111110b}.card.wide{grid-column:span 8}.feature-card{padding:0;overflow:hidden}.feature-card>img{object-fit:cover;width:100%;height:210px;display:block}.feature-copy{padding:22px 24px 24px}.feature-copy h2{margin:9px 0 6px}.feature-copy p{margin:0}.metric{letter-spacing:-.04em;margin:12px 0 4px;font-size:34px;font-weight:760}.muted{color:var(--muted);font-size:14px}.button{border:1px solid var(--accent);background:var(--accent);color:#111;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;min-height:46px;padding:0 19px;font-weight:800;transition:transform .15s,background .15s;display:inline-flex}.button:hover{background:#ff6a32;transform:translateY(-1px)}.button.secondary{border-color:var(--line);background:var(--card);color:var(--ink)}.mini-button{border:1px solid var(--line);background:var(--card);min-height:36px;color:var(--ink);cursor:pointer;border-radius:9px;padding:0 13px;font-weight:750}.tabs{z-index:5;background:color-mix(in srgb, var(--paper) 92%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);gap:5px;margin-inline:-9px;padding:9px;display:flex;position:sticky;top:0;overflow-x:auto}.tabs a{white-space:nowrap;color:var(--muted);border-radius:8px;padding:9px 13px}.tabs a:hover,.tabs a[aria-current=page]{color:var(--ink);background:var(--accent-soft);font-weight:750}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:18px;padding:16px 0;display:flex}.status{background:var(--accent-soft);color:var(--accent-deep);border-radius:99px;align-items:center;padding:4px 8px;font-size:12px;font-weight:750;display:inline-flex}.toggle{align-items:center;gap:12px;display:flex}.toggle input{width:44px;height:24px;accent-color:var(--accent)}.client-actions{gap:8px;margin-top:18px;display:flex}.client-actions a{border:1px solid var(--line);background:var(--card);border-radius:11px;place-items:center;width:42px;height:42px;transition:border-color .15s,background .15s,transform .15s;display:grid}.client-actions a:first-child{background:var(--accent);border-color:var(--accent)}.client-actions a:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.client-actions svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.bubble{grid-column:span 3}.bubble .metric{margin-bottom:2px}.bubble .unit{color:var(--muted);letter-spacing:0;font-size:15px;font-weight:600}.delta-good{color:var(--accent);font-size:14px;font-weight:650}.delta-bad{color:#a4442f;font-size:14px;font-weight:650}.chart-card{margin-top:16px}.chart{width:100%;height:auto;margin-top:14px;display:block;overflow:visible}.chart-grid{stroke:var(--line);stroke-width:1px}.chart-axis{fill:var(--muted);font-size:11px}.chart-area{fill:var(--accent-soft);opacity:.65}.chart-line{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--accent);opacity:.55}.chart-dot-last{fill:var(--accent);stroke:var(--card);stroke-width:2.5px}.upload{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.upload label{flex-basis:100%}.upload input[type=file]{border:1px dashed var(--line);background:var(--bg);min-height:44px;color:var(--muted);border-radius:9px;flex:260px;padding:9px}.upload p{flex-basis:100%;margin:0;font-size:14px}.upload-ok{color:var(--accent);font-weight:650}.upload-error{color:#a4442f;font-weight:650}.code-block{background:var(--accent-soft);color:var(--ink);word-break:break-all;white-space:pre-wrap;border-radius:9px;margin:8px 0;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;line-height:1.7}.totp-qr{border:1px solid var(--line);background:#fff;border-radius:12px;margin:8px 0;padding:12px;line-height:0;display:inline-block}.macro-rings{grid-template-columns:repeat(2,1fr);justify-items:center;gap:12px;display:grid}.macro-ring{width:100px;height:100px;position:relative}.macro-ring .ring-track{fill:none;stroke:var(--line);stroke-width:7px}.macro-ring .ring-center{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.macro-ring .ring-value{color:var(--ink);font-size:18px;font-weight:760}.macro-ring .ring-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:650}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1000px){.bubble{grid-column:span 4}}@media (max-width:760px){.bubble{grid-column:span 6}.shell{padding-inline:16px}.topbar{min-height:72px}.brand-mark{width:36px;height:36px}.topbar>.muted{display:none}.hero{padding-top:40px}.card,.card.wide{grid-column:1/-1}.feature-card>img{height:230px}}.macro-bubble{width:190px;height:190px;margin:10px auto 2px;position:relative}.macro-bubble svg{display:block}.bubble-center{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.bubble-center .metric{margin:0;font-size:30px}.ring-track{fill:none;stroke:var(--line);stroke-width:15px}.ring-fill{fill:none;stroke:var(--accent);stroke-width:15px;stroke-linecap:round;transform-origin:50%;transform:rotate(-90deg)}.ring-fill.over{stroke:#a4442f}.macro-bars{gap:10px;margin-top:16px;display:grid}.macro-bar{grid-template-columns:70px 1fr 110px;align-items:center;gap:10px;font-size:14px;display:grid}.macro-bar .track{background:var(--accent-soft);border-radius:99px;height:10px;overflow:hidden}.macro-bar .fill{background:var(--accent);border-radius:99px;height:100%}.macro-bar .fill.over{background:#a4442f}.macro-bar .value{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.slot-title{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:18px 0 4px;font-size:13px;font-weight:750}.food-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding:10px 0;font-size:15px;display:flex}.food-row:last-child{border-bottom:0}.food-row .food-meta{color:var(--muted);font-size:13px}.food-row .food-macros{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px}.food-row form{margin:0}.mini-button{border-radius:8px;min-height:32px;padding:0 12px;font-size:13px}.status.warn{color:#a4442f;background:#f6e7dc}.status.flagged{color:var(--danger);background:#f3dede}.field-grid{gap:10px;margin-top:12px;display:grid}.field-grid label{gap:4px;font-size:14px;font-weight:650;display:grid}.field-grid input,.field-grid select,.field-grid textarea{border:1px solid var(--line);background:var(--card);min-height:42px;font:inherit;border-radius:9px;padding:8px 10px}.inline-fields{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.inline-fields label{gap:4px;font-size:13px;font-weight:650;display:grid}.inline-fields input,.inline-fields select{border:1px solid var(--line);background:var(--card);min-height:42px;font:inherit;border-radius:9px;padding:8px 10px}.result-note{margin-top:10px;font-size:14px;font-weight:650}.result-note.ok{color:var(--accent)}.result-note.bad{color:#a4442f}.plan-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:14px}.plan-table th,.plan-table td{text-align:left;border-bottom:1px solid var(--line);padding:7px 8px}.plan-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.plan-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.evidence-thumb{border:1px solid var(--line);border-radius:10px;max-width:220px;margin-top:8px;display:block}.meal-history-list{gap:12px;margin-top:16px;display:grid}.meal-history-row{border:1px solid var(--line);background:var(--card);border-radius:14px;grid-template-columns:132px 1fr;align-items:center;gap:18px;padding:12px;display:grid}.meal-history-photo{aspect-ratio:4/3;background:var(--paper);width:132px;color:var(--muted);border-radius:11px;place-items:center;font-size:12px;display:grid;overflow:hidden}.meal-history-photo a,.meal-history-photo img{width:100%;height:100%;display:block}.meal-history-photo img{object-fit:cover}.meal-history-copy h2{margin:5px 0}@media (max-width:560px){.meal-history-row{grid-template-columns:92px 1fr;gap:12px}.meal-history-photo{width:92px}}.live-now{text-align:left}.live-bpm{letter-spacing:-.05em;font-variant-numeric:tabular-nums;margin:10px 0 6px;font-size:clamp(56px,11vw,104px);font-weight:780;line-height:1}.live-unit{color:var(--muted);letter-spacing:0;margin-left:8px;font-size:18px;font-weight:650}.zone-bar .track{background:var(--line)}.zone-fields{grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px;display:grid}.zone-fields label{gap:4px;font-size:13px;font-weight:650;display:grid}.zone-fields input{border:1px solid var(--line);background:var(--card);min-height:42px;font:inherit;border-radius:9px;padding:8px 10px}.zone-fields .muted{font-size:12px;font-weight:500}.card.today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.card.session-ended{border-color:color-mix(in srgb, var(--ink) 38%, var(--line));background:color-mix(in srgb, var(--card) 88%, var(--line))}.status.ended{background:var(--ink);color:#fff;margin-top:-4px}.adhoc-session{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;display:flex}.adhoc-session h2{margin-bottom:4px}.adhoc-session p{margin-bottom:0}@media (max-width:760px){.macro-bar{grid-template-columns:60px 1fr 92px}.zone-fields{grid-template-columns:repeat(2,1fr)}}
