:root{--bg:#0a0f0d;--surface:#111a15;--surface2:#172010;--border:#1e2e20;--accent:#4ade80;--accent2:#86efac;--accent-dim:rgba(74,222,128,0.12);--accent-glow:rgba(74,222,128,0.25);--text:#e8f5ec;--text2:#7a9e82;--text3:#3d5c42;--danger:#f87171;--warn:#fbbf24;--info:#60a5fa;--mono:var(--font-mono),"DM Mono",ui-monospace,monospace;--sans:var(--font-sans),"DM Sans",system-ui,sans-serif;--radius:12px;--radius-sm:8px}*{box-sizing:border-box;margin:0;padding:0}body,html{min-height:100%}body{font-family:var(--sans);background:var(--bg);color:var(--text);overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:40px 40px;opacity:.4;pointer-events:none;z-index:0}.container{position:relative;z-index:1;max-width:960px;margin:0 auto;padding:20px 16px 60px}.header{justify-content:space-between;margin-bottom:16px;gap:12px;flex-wrap:wrap}.header,.logo{display:flex;align-items:center}.logo{gap:10px}.logo-icon{width:36px;height:36px;background:var(--accent);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#0a0f0d}.logo-icon,.logo-text{font-size:18px;font-weight:600}.logo-text{letter-spacing:-.02em}.logo-text span{color:var(--accent)}.drive-section{gap:8px;flex-wrap:wrap}.drive-section,.drive-status{display:flex;align-items:center}.drive-status{font-family:var(--mono);font-size:11px;color:var(--text2);background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:4px 10px;gap:6px}.drive-status .dot{width:6px;height:6px;border-radius:50%;background:var(--text3);flex-shrink:0}.drive-status.synced .dot{background:var(--accent);box-shadow:0 0 6px var(--accent)}.drive-status.syncing .dot{background:var(--warn);animation:blink .8s infinite}.drive-status.error .dot{background:var(--danger)}.drive-status.connected .dot{background:#60a5fa;box-shadow:0 0 6px #60a5fa}.drive-status.stale .dot{background:var(--warn)}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.profile-bar{gap:8px;margin-bottom:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:6px}.profile-bar,.profile-btn{display:flex;align-items:center}.profile-btn{flex:1 1;gap:10px;padding:10px 14px;border:1px solid transparent;background:transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;color:var(--text2)}.profile-btn:hover{background:var(--surface2);color:var(--text)}.profile-btn.active{background:var(--accent-dim);border-color:rgba(74,222,128,.3);color:var(--text)}.profile-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.profile-btn.active .profile-avatar{box-shadow:0 0 10px var(--accent-glow)}.profile-info{display:flex;flex-direction:column;gap:1px;text-align:left}.profile-name{font-size:13px;font-weight:600}.profile-meta{font-family:var(--mono);font-size:10px;color:var(--text3)}.profile-btn.active .profile-meta{color:var(--text2)}.date-nav{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;margin-bottom:20px}.date-nav input[type=date]{background:transparent;border:none;color:var(--text);font-family:var(--mono);font-size:14px;flex:1 1;outline:none;cursor:pointer}.date-nav input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(.5);cursor:pointer}.btn-icon{width:28px;height:28px;border:1px solid var(--border);background:var(--surface2);color:var(--text2);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .15s;flex-shrink:0}.btn-icon:hover{border-color:var(--accent);color:var(--accent)}.tabs{display:flex;gap:4px;margin-bottom:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:4px;overflow-x:auto}.tab{flex:1 1;padding:8px 10px;background:transparent;border:none;color:var(--text2);font-family:var(--sans);font-size:13px;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;white-space:nowrap}.tab:hover{color:var(--text);background:var(--surface2)}.tab.active{background:var(--accent);color:#0a0f0d;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:14px;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-glow),transparent)}.card-title{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text2);margin-bottom:14px;display:flex;align-items:center;gap:8px}.card-title .accent-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;box-shadow:0 0 8px var(--accent);flex-shrink:0}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px;margin-bottom:14px}.stat-box{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.stat-label{font-family:var(--mono);font-size:10px;color:var(--text3);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}.stat-value{font-family:var(--mono);font-size:22px;font-weight:500;color:var(--text);line-height:1}.stat-value .unit{font-size:12px;color:var(--text2);margin-left:2px}.stat-sub{font-size:11px;color:var(--text2);margin-top:3px}.prog-row{margin-bottom:10px}.prog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.prog-label{color:var(--text2)}.prog-label,.prog-val{font-family:var(--mono);font-size:11px}.prog-val{color:var(--accent)}.prog-track{height:5px;background:var(--surface2);border-radius:3px;overflow:hidden}.prog-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:3px;transition:width .5s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px var(--accent-glow)}.prog-fill.over{background:linear-gradient(90deg,var(--warn),var(--danger))}.form-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.form-group{display:flex;flex-direction:column;gap:4px;flex:1 1;min-width:100px}.form-group.narrow{flex:0 0 80px;min-width:80px}.form-group.wide{flex:2 1}label.lbl{font-family:var(--mono);font-size:10px;color:var(--text3);letter-spacing:.08em;text-transform:uppercase}input,select,textarea{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--sans);font-size:13px;padding:8px 10px;outline:none;transition:border-color .15s;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}select option{background:var(--surface2)}textarea{resize:vertical;min-height:60px}.btn,textarea{font-family:var(--sans)}.btn{padding:9px 16px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.btn-primary{background:var(--accent);color:#0a0f0d}.btn-primary:hover{background:var(--accent2);transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-glow)}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text2)}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.btn-sm{padding:5px 10px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-info{background:rgba(96,165,250,.15);color:var(--info);border:1px solid rgba(96,165,250,.3)}.btn-info:hover{background:rgba(96,165,250,.25)}.log-list{list-style:none;display:flex;flex-direction:column;gap:6px}.log-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .15s}.log-item:hover{border-color:var(--text3)}.meal-badge{font-family:var(--mono);font-size:10px;padding:2px 7px;border-radius:20px;background:var(--accent-dim);color:var(--accent);border:1px solid rgba(74,222,128,.2);flex-shrink:0}.food-name{flex:1 1;font-size:13px;color:var(--text)}.food-kcal{font-family:var(--mono);font-size:12px;color:var(--accent)}.actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.log-item:hover .actions{opacity:1}.action-btn{width:24px;height:24px;border:1px solid var(--border);background:var(--surface);color:var(--text2);border-radius:5px;cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:center;transition:all .12s}.action-btn:hover{border-color:var(--accent);color:var(--accent)}.action-btn.del:hover{border-color:var(--danger);color:var(--danger)}.workout-table{width:100%;border-collapse:collapse;font-size:13px}.workout-table th{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);padding:8px 10px;text-align:left}.workout-table td,.workout-table th{border-bottom:1px solid var(--border)}.workout-table td{padding:9px 10px;color:var(--text2)}.workout-table tr:last-child td{border-bottom:none}.focus-badge{font-family:var(--mono);font-size:10px;padding:2px 8px;border-radius:20px;display:inline-block}.focus-badge.strength{background:rgba(251,191,36,.12);color:var(--warn);border:1px solid rgba(251,191,36,.2)}.focus-badge.cardio{background:rgba(74,222,128,.12);color:var(--accent);border:1px solid rgba(74,222,128,.2)}.focus-badge.rest{background:rgba(96,165,250,.12);color:#93c5fd;border:1px solid rgba(96,165,250,.2)}.weight-display{display:flex;align-items:baseline;gap:6px;margin-bottom:4px}.weight-big{font-family:var(--mono);font-size:48px;font-weight:500;color:var(--text);line-height:1}.weight-unit{font-family:var(--mono);font-size:18px;color:var(--text2)}.weight-change{font-family:var(--mono);font-size:12px;padding:2px 8px;border-radius:20px}.weight-change.down{background:rgba(74,222,128,.12);color:var(--accent)}.weight-change.up{background:rgba(248,113,113,.12);color:var(--danger)}.weight-change.same{background:var(--surface2);color:var(--text2)}.chart-wrap{position:relative;height:180px}.health-table{width:100%;border-collapse:collapse;font-size:13px}.health-table th{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);padding:8px 10px;text-align:left;position:-webkit-sticky;position:sticky;top:0;background:var(--surface)}.health-table td,.health-table th{font-family:var(--mono);border-bottom:1px solid var(--border)}.health-table td{padding:9px 10px;color:var(--text2);font-size:12px}.health-table tr:last-child td{border-bottom:none}.health-table tr:hover td{background:var(--surface2)}.health-badge{font-family:var(--mono);font-size:10px;padding:2px 7px;border-radius:20px}.health-badge.normal{background:rgba(74,222,128,.12);color:var(--accent);border:1px solid rgba(74,222,128,.2)}.health-badge.warning{background:rgba(251,191,36,.12);color:var(--warn);border:1px solid rgba(251,191,36,.2)}.health-badge.danger{background:rgba(248,113,113,.12);color:var(--danger);border:1px solid rgba(248,113,113,.2)}.health-note-preview{font-family:var(--sans);font-size:12px;color:var(--text3);max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.target-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:8px;gap:8px;margin-bottom:14px}.target-item{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;text-align:center}.target-item .t-label{font-family:var(--mono);font-size:9px;color:var(--text3);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}.target-item .t-val{font-family:var(--mono);font-size:16px;color:var(--accent);font-weight:500}.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:100;align-items:center;justify-content:center;padding:20px}.modal-overlay.show{display:flex}.modal-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;width:100%;max-width:700px;max-height:80vh;overflow-y:auto;position:relative}.modal-close{position:absolute;top:12px;right:12px;width:28px;height:28px;border:1px solid var(--border);background:var(--surface2);color:var(--text2);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .15s}.modal-close:hover{border-color:var(--danger);color:var(--danger)}.toast{position:fixed;bottom:24px;right:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;font-size:13px;color:var(--text);z-index:200;transform:translateY(0);opacity:1;transition:all .3s cubic-bezier(.34,1.56,.64,1);max-width:300px}.toast.success{border-color:rgba(74,222,128,.4)}.toast.error{border-color:rgba(248,113,113,.4)}.empty-state{text-align:center;padding:24px;color:var(--text3);font-size:13px}@media (max-width:480px){.stats-grid{grid-template-columns:1fr 1fr}.form-row{flex-direction:column}.form-group.narrow{flex:1 1;min-width:100%}.profile-btn{padding:8px 10px}.profile-avatar{width:28px;height:28px;font-size:12px}.profile-name{font-size:12px}}@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Sans Fallback;src:local("Arial");ascent-override:94.90%;descent-override:29.66%;line-gap-override:0.00%;size-adjust:104.53%}.__className_be8b38{font-family:DM Sans,DM Sans Fallback;font-style:normal}.__variable_be8b38{--font-sans:"DM Sans","DM Sans Fallback"}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64418ffc17e50301-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0e96d314a90a6138-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba43ea3467e29870-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7ea2ab4a8ad1f81-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Mono Fallback;src:local("Arial");ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9ef920{font-family:DM Mono,DM Mono Fallback;font-style:normal}.__variable_9ef920{--font-mono:"DM Mono","DM Mono Fallback"}