@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{--bg:#f5f7f7;--nav:#0d2234;--ink:#193044;--muted:#738395;--line:#dfe7e8;--green:#187a68;--mint:#d8eee7;--orange:#d99d58;--white:#fff;--shadow:0 10px 38px #1633440a}*{box-sizing:border-box}html{font-size:15px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans','Noto Sans KR',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--green)}h1,h2,h3,p{margin-top:0}h1{font-size:2rem;line-height:1.25;letter-spacing:-.035em}h2{font-size:1.15rem;letter-spacing:-.02em}h3{font-size:1rem}.muted{color:var(--muted)}small{font-size:.78rem}.shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{background:var(--nav);color:#d4e1e5;padding:30px 18px;display:flex;flex-direction:column;gap:30px}.brand{font-size:1.45rem;font-weight:800;letter-spacing:-.04em;color:#fff}.brand span,.brandmark span{color:#77d1b4}.tagline{color:#9badb8;font-size:.74rem;letter-spacing:.13em}.nav{display:grid;gap:8px}.nav button{background:transparent;color:#b7cbd5;text-align:left;border:0;padding:13px 15px;border-radius:11px;font-weight:600;display:flex;align-items:center;gap:12px}.nav button.active,.nav button:hover{background:#24465a;color:white}.nav-ico{width:24px;font-size:1.15rem}.sidebar-foot{margin-top:auto;line-height:1.9;font-size:.77rem;color:#a2b7c1}.main{padding:34px min(4vw,52px) 80px;max-width:1530px;width:100%;margin:0 auto}.header{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:27px}.eyebrow{color:var(--green);font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;font-weight:800;margin-bottom:8px}.header h1{margin:0}.header-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pill{display:inline-flex;border:1px solid #cfe1dd;background:#edf7f3;color:var(--green);border-radius:100px;padding:7px 12px;font-size:.76rem;font-weight:700;align-items:center;gap:5px}.btn{border-radius:10px;background:var(--green);color:#fff;border:1px solid var(--green);padding:11px 17px;font-weight:700;transition:filter .15s}.btn:hover{filter:brightness(.93)}.btn.secondary{background:white;color:var(--ink);border-color:var(--line)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.danger{background:#a43e3e;border-color:#a43e3e}.btn.small{padding:8px 12px;font-size:.78rem}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.panel{background:white;border:1px solid #e6edee;border-radius:17px;padding:23px;box-shadow:var(--shadow)}.metric-label{font-size:.76rem;color:var(--muted);font-weight:700}.metric{font-size:1.85rem;font-weight:800;letter-spacing:-.05em;margin:10px 0 5px}.metric-caption{font-size:.75rem;color:var(--muted)}.grid2{display:grid;grid-template-columns:1.15fr 1fr;gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.section{margin-top:22px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:10px}.panel-head h2{margin:0}.profile-row{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.profile-row:last-child{border-bottom:0}.avatar{background:#d8eee9;color:#176959;font-size:.85rem;font-weight:800;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;flex-shrink:0}.avatar.gold{background:#faead4;color:#a3672d}.grow{flex:1;min-width:0}.profile-name{font-weight:800}.profile-desc{font-size:.75rem;color:var(--muted);margin-top:3px}.progress-track{height:8px;border-radius:50px;background:#eaf0ef;overflow:hidden;margin-top:12px}.progress-fill{height:100%;background:#3a9c81;border-radius:50px}.progress-fill.gold{background:#dfab69}.day-navigator{display:flex;gap:10px;align-items:center}.day-navigator button{border:1px solid var(--line);background:white;border-radius:9px;padding:7px 11px}.tabs{display:flex;gap:7px;margin:0 0 20px;flex-wrap:wrap}.tabs button{padding:9px 14px;border:1px solid var(--line);background:#fff;border-radius:9px;color:var(--muted);font-weight:700}.tabs button.active{background:var(--nav);color:white;border-color:var(--nav)}.meal{padding:14px 0;border-bottom:1px solid var(--line)}.meal:last-child{border:0}.meal-name{font-weight:800}.meal-time{font-size:.7rem;color:var(--muted)}.meal p{font-size:.85rem;color:#435569;margin:6px 0}.meal-meta{font-size:.73rem;color:var(--green);font-weight:700}.workout-item{display:flex;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.workout-item:last-child{border:0}.workout-num{width:29px;height:29px;background:#edf5f2;display:grid;place-items:center;color:var(--green);border-radius:8px;font-weight:800;font-size:.8rem}.workout-title{font-size:.87rem;font-weight:700}.workout-detail{font-size:.76rem;color:var(--muted);margin-top:3px}.note{background:#f1f7f5;border-left:3px solid var(--green);padding:13px 15px;border-radius:7px;font-size:.81rem;color:#3e5b57;line-height:1.75}.note.warn{background:#fff8ed;border-color:#dfaf70;color:#785c39}.record-list{display:grid;gap:9px}.record-item{padding:13px;border:1px solid var(--line);border-radius:11px;display:flex;gap:12px;align-items:flex-start}.record-item .grow{overflow-wrap:anywhere}.record-item .meta{font-size:.72rem;color:var(--muted);margin-top:5px}.record-item strong{font-size:.86rem}.share-label{font-size:.68rem;font-weight:800;border-radius:99px;padding:3px 8px;background:#e5f3ed;color:var(--green)}.share-label.private{background:#f2f2f2;color:#737b82}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.77rem;font-weight:800;color:#486071}.field input,.field select,.field textarea{width:100%;border:1px solid #d8e2e3;border-radius:9px;padding:11px 12px;background:white;color:var(--ink);outline:none}.field textarea{min-height:86px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:#319a83;box-shadow:0 0 0 3px #319a8320}.field.inline-check{display:flex;align-items:center;gap:9px}.field.inline-check input{width:auto;accent-color:var(--green)}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.empty{padding:27px 10px;text-align:center;color:var(--muted);font-size:.82rem;line-height:1.8}.subhead{font-size:.8rem;letter-spacing:.07em;color:#647988;font-weight:800;text-transform:uppercase;margin:17px 0 9px}.divider{height:1px;background:var(--line);margin:17px 0}.bar-row{display:flex;align-items:center;gap:12px;margin:14px 0}.bar-label{width:80px;font-size:.76rem;color:#54687a}.bar-rail{flex:1;background:#edf1f2;height:11px;border-radius:15px;overflow:hidden}.bar{height:100%;border-radius:15px;background:#4b9b86}.bar.gold{background:#d8a769}.bar-num{width:43px;text-align:right;font-size:.76rem;font-weight:800}.auth-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-hero{background:linear-gradient(145deg,#0b2435,#155849);color:white;padding:max(9vh,50px) 8vw;display:flex;flex-direction:column;justify-content:space-between}.auth-hero h1{font-size:clamp(2.4rem,5vw,5rem);max-width:600px}.auth-hero p{max-width:430px;color:#bfd8d6;line-height:1.9}.auth-main{display:grid;place-items:center;padding:36px}.auth-box{width:min(100%,450px)}.auth-box h2{font-size:1.6rem;margin-bottom:7px}.auth-box form{display:grid;gap:16px;margin-top:25px}.auth-box .btn{width:100%}.auth-foot{font-size:.79rem;margin-top:22px;color:var(--muted)}.boot{height:100vh;display:grid;place-content:center;text-align:center}.brandmark{font-size:2.7rem;font-weight:900}.boot p{font-weight:900;letter-spacing:.18em}.boot small{color:var(--muted)}#toast{position:fixed;right:20px;bottom:20px;background:#17384c;color:white;border-radius:12px;padding:14px 18px;max-width:420px;z-index:1000;box-shadow:0 15px 40px #0a273550;display:none;font-size:.86rem;line-height:1.5}#toast.error{background:#983d3d}.mobilebar{display:none}.badge-row{display:flex;gap:6px;flex-wrap:wrap}.statmini{font-size:.77rem;color:var(--muted);margin-top:6px}.setup-code{font-family:ui-monospace,monospace;font-size:1rem;background:#f1f5f6;padding:13px;border-radius:9px;word-break:break-all}.help-list{line-height:2.1;font-size:.86rem}.share-toggle{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.8rem}.share-toggle input{accent-color:var(--green)}.logfilters{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.minicards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.minicard{border:1px solid var(--line);padding:12px;border-radius:10px;background:#fbfcfc}.minicard strong{display:block;margin-top:5px}.footer{font-size:.73rem;color:#8999a4;margin-top:30px;line-height:1.8}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.grid3{grid-template-columns:repeat(2,1fr)}}@media(max-width:770px){.shell{display:block}.sidebar{display:none}.mobilebar{display:flex;background:var(--nav);padding:14px 18px;gap:8px;align-items:center;justify-content:space-between;color:white}.mobilebar select{background:#24465a;color:white;border:1px solid #55707f;border-radius:7px;padding:8px}.main{padding:23px 16px 75px}.header{align-items:flex-start;flex-direction:column}.header h1{font-size:1.65rem}.auth-wrap{grid-template-columns:1fr}.auth-hero{min-height:220px;padding:28px}.auth-hero h1{font-size:2.1rem}.auth-main{padding:40px 24px}.grid3{grid-template-columns:1fr}.panel{padding:17px}.form-grid{grid-template-columns:1fr}.cards{gap:9px}.metric{font-size:1.55rem}.tabs{gap:5px}.tabs button{padding:8px 9px;font-size:.78rem}}@media(max-width:390px){.cards{grid-template-columns:1fr 1fr}.metric{font-size:1.35rem}}
