@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{font-family:'Noto Sans KR',sans-serif;color:#30263b;background:#faf9fc}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.app{max-width:480px;margin:auto;min-height:100vh;padding-bottom:91px}.top{height:65px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:white;border-bottom:1px solid #eee8f3}.brand{font-size:19px;font-weight:800;display:flex;align-items:center;gap:9px}.mark{background:#8238d8;color:white;border-radius:12px;padding:8px}.badge{font-size:11px;background:#f3eaff;color:#8238d8;padding:5px 9px;border-radius:30px}.body{padding:17px 16px}.hero{height:165px;border-radius:21px;background:linear-gradient(90deg,rgba(255,246,246,.96),rgba(255,246,246,.70) 53%,transparent),url('/assets/fitness-hero.png') center/cover;padding:24px 19px;margin-bottom:16px}.hero h2{font-size:22px;color:#4b2471;margin:6px 0}.hero p{font-size:12px;color:#6c6173;margin:7px 0}.card{background:#fff;border:1px solid #eee8f3;border-radius:18px;padding:17px 15px;margin:13px 0;box-shadow:0 3px 12px #30104406}.section{font-weight:800;font-size:16px;margin:0 0 8px}.muted{font-size:12px;color:#82788c}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.progress{width:135px;height:135px;border-radius:50%;display:grid;place-items:center;flex:none}.progress-inner{width:113px;height:113px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center}.progress strong{font-size:30px;color:#6b29b0}.purple{color:#8238d8}.fine{font-size:24px;font-weight:800;color:#6823ac}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:17px 0 11px}.day{text-align:center;font-size:11px;color:#777}.dot{width:35px;height:35px;max-width:100%;margin:6px auto 0;border-radius:12px;background:#f5f1f7;border:1px solid #eee8f3;display:grid;place-items:center;color:#a8a0ad}.dot.checked{background:#8238d8;color:#fff;border-color:#8238d8}.dot.future{opacity:.3}.primary{width:100%;background:#8238d8;color:white;border:0;border-radius:13px;padding:15px;font-weight:800}.primary.secondary{background:#f3eaff;color:#8238d8}.notice{background:#fff8e8;color:#775a21;padding:11px 13px;border-radius:12px;font-size:11px;line-height:1.7;margin-bottom:14px}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);max-width:480px;width:100%;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid #eee6f3;padding:10px 3px max(11px,env(safe-area-inset-bottom));z-index:10}.nav button{border:0;background:transparent;color:#91879b;font-size:10px;display:grid;gap:4px;justify-items:center}.nav button.active{color:#8238d8;font-weight:800}.nav .ico{font-size:23px}.heading{font-size:23px;font-weight:800;margin:5px 0}.scroll{overflow-x:auto}.gridtable{border-collapse:separate;border-spacing:0;font-size:12px;width:100%;white-space:nowrap}.gridtable th,.gridtable td{text-align:center;padding:10px 8px;border-bottom:1px solid #f1ebf5}.gridtable th{background:#f8f3fd;color:#65516f}.gridtable td:first-child,.gridtable th:first-child{position:sticky;left:0;background:#fff;z-index:1;text-align:left;font-weight:700}.gridtable th:first-child{background:#f8f3fd}.gridtable .me td:first-child{color:#8238d8}.gridtable td.ok{color:#8238d8;font-weight:800}.cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini{padding:14px;border-radius:15px;background:#fff;border:1px solid #eee8f3}.mini b{display:block;font-size:21px;margin-top:7px;color:#6823ac}.mini span{font-size:11px;color:#7c7086}.month{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;text-align:center}.month .date{padding:9px 0;border-radius:10px;font-size:12px}.month .date.done{background:#8238d8;color:white}.month .date.future{color:#ccc}.month .date.today{outline:2px solid #b58ce7}.switcher{display:flex;justify-content:space-between;align-items:center;margin:12px 0}.switcher button{border:0;background:#f3eaff;color:#8238d8;border-radius:9px;padding:7px 12px}.member-row{padding:10px 0;border-bottom:1px solid #f2edf5;display:flex;justify-content:space-between;font-size:13px}.member-row:last-child{border:0}.foot{font-size:11px;color:#958b9d;text-align:center;padding:12px}

.field{display:block;font-size:13px;font-weight:700;margin:15px 0;color:#584763}.field input,.field select{display:block;width:100%;border:1px solid #e4dcec;border-radius:11px;padding:12px;margin-top:7px;background:white;color:#30263b;font:inherit}.textbutton{border:0;background:transparent;color:#8238d8;text-decoration:underline;font-size:12px;padding:12px}.small{font-size:10px;border:1px solid #e5d6f6;border-radius:7px;background:#faf6ff;color:#7135aa;padding:5px;margin:2px}.member-row>div:first-child{min-width:0}.member-row>div:last-child{white-space:nowrap}