:root{font-family:Inter,Segoe UI,Malgun Gothic,sans-serif;color:#263d33;background:#f7f8f4;font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid #dce3dc;background:#fff;color:#355143;border-radius:8px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px}button:hover{background:#edf3ed}button:disabled{opacity:.4;cursor:default}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1.4px;margin:9px 0 12px;font-weight:700}h2{font-size:18px;letter-spacing:-.6px}h3{font-size:16px;line-height:1.5;margin:10px 0}p{line-height:1.8;color:#718076}small{font-size:11px}.app{display:flex;min-height:100vh}.sidebar{width:242px;background:#fff;position:fixed;inset:0 auto 0 0;border-right:1px solid #e6eae3;padding:35px 23px 0;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:10px;text-decoration:none;align-items:center;font-size:21px;font-weight:700;letter-spacing:-1px;cursor:pointer}.brand-icon{width:42px;height:44px;border-radius:13px;background:#eaf1e8;display:grid;place-items:center;color:#3c7051}.brand small{display:block;letter-spacing:2px;font-size:8px;margin-top:5px;color:#8b978e;font-weight:500}.workspace-label{font-size:10px;letter-spacing:1px;color:#99a39b;margin:48px 12px 17px}nav{display:grid;gap:7px}nav button{border:0;justify-content:flex-start;padding:14px 15px;gap:13px;color:#7a857d;font-weight:500}nav button.active{background:#eaf1e8;color:#2e6249;font-weight:700}.nav-dot{width:5px;height:5px;border-radius:50%;background:#3c7152;margin-left:auto}.side-note{margin-top:auto;background:#f6f8f1;border:1px solid #e9edde;border-radius:12px;padding:17px 13px}.side-note div{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600}.side-note p{font-size:11px;margin:12px 0}.side-note>span{font-size:10px;color:#95a18c}.profile{border-top:1px solid #edf0e9;padding:24px 0;display:flex;gap:10px;align-items:center;margin-top:24px}.profile>div{border-radius:50%;background:#e8ecdf;padding:11px}.profile>span{font-size:12px;flex:1}.profile small{display:block;color:#94a094;margin-top:5px;font-size:9px}main{margin-left:242px;width:calc(100% - 242px)}header{height:77px;border-bottom:1px solid #e8ece5;background:#fff9;display:flex;justify-content:space-between;align-items:center;padding:0 43px;font-size:11px;color:#849085}.breadcrumb span{padding:0 15px;color:#bbc3ba}.local{display:flex;align-items:center;gap:7px;font-size:10px}.local>span{height:5px;width:5px;border-radius:50%;background:#538465}.content{max-width:1480px;margin:auto;padding:37px 43px 15px}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.page-title p{font-size:12px;margin-bottom:0}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.1px;color:#8b968b}.green{color:#78916e}.date-badge{border:1px solid #dde4da;background:#fff;border-radius:8px;padding:11px 14px;font-size:11px;display:flex;gap:8px;align-items:center;white-space:nowrap}.hero{border-radius:17px;background:#eaf0e0;position:relative;overflow:hidden;min-height:290px;padding:30px 36px;display:flex;justify-content:space-between;margin-bottom:29px}.pill{font-size:10px;color:#5f7851;border:1px solid #cbd8bf;background:#f4f7ec;display:inline-block;padding:6px 10px;border-radius:20px}.hero h2{font-size:29px;letter-spacing:-1px;line-height:1.4;margin:14px 0 10px}.hero p{font-size:11px;color:#7d8c71}.primary{background:#31664d;color:#fff;border-color:#31664d}.primary:hover{background:#254e3b}.hero .primary{font-size:11px;margin-top:2px}.plate-scene{width:43%;display:flex;align-items:center;justify-content:center;position:relative}.plate{width:245px;height:245px;background:#fdfcf5;border-radius:50%;border:17px solid #f6f4e9;box-shadow:15px 20px 28px #6b785b25,inset 0 0 0 2px #e5e6d8;position:relative;transform:rotate(-15deg)}.plate span{position:absolute}.greens{font-size:125px;color:#6d9151;left:0;top:-22px;text-shadow:18px 18px #8fa765,-8px 15px #527747}.grain{font-size:90px;right:6px;bottom:-8px;color:#c6ae7e;transform:rotate(25deg)}.tofu{font-size:100px;color:#e8cda0;right:7px;top:2px;text-shadow:0 4px #bca079}.tomato{font-size:37px;color:#bb694b;left:7px;bottom:12px;letter-spacing:-3px}.floating-tag{position:absolute;right:0;bottom:20px;border-radius:9px;box-shadow:0 6px 20px #5a6d5110;background:#ffffffda;display:flex;align-items:center;gap:8px;padding:13px;font-size:10px;color:#6a805b}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:23px 0 8px}.section-heading h2{margin:0}.sub-badge{font-weight:400;font-size:10px;background:#eaf0e7;border-radius:5px;padding:5px 8px;vertical-align:middle;margin-left:8px;color:#7e8c73}.text-button{border:none;background:transparent;font-size:11px;padding:0;color:#87917f}.muted{font-size:11px;color:#91998e}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:17px 0 24px}.metric{background:#fff;border:1px solid #e2e7dc;border-radius:12px;padding:18px 17px 12px;min-width:0}.metric.priority{background:#f1f5ea;border-color:#b8c8a7}.metric-title{display:flex;justify-content:space-between;font-size:11px;font-weight:600;gap:7px;align-items:center}.metric-title>span{font-size:8px;font-weight:400;white-space:nowrap;background:#f2f3ed;padding:4px 5px;border-radius:4px;color:#929784}.priority .metric-title>span{color:#7c8951;background:#e6ecd4}.value{font-size:35px;font-weight:650;letter-spacing:-1px;margin:18px 0 10px}.value small{font-size:10px;font-weight:400;color:#939b8c;letter-spacing:0}.metric p{font-size:9px;margin:0 0 14px}.metric-footer{border-top:1px solid #e5eadf;padding-top:10px;display:flex;justify-content:space-between;font-size:9px;color:#96a08f;gap:8px}.metric-footer b{font-weight:400}.metric details{font-size:10px;line-height:1.8;margin-top:9px;color:#7e8a76}summary{cursor:pointer}.two-columns{display:grid;grid-template-columns:1.15fr 1fr;gap:20px}.panel{background:#fff;border:1px solid #e3e7df;border-radius:13px;padding:23px;margin-bottom:20px}.panel .section-heading{margin-top:0}.action-row{display:flex;gap:14px;margin-top:20px}.action-row>span{height:30px;width:30px;flex-shrink:0;display:grid;place-items:center;background:#eef2e7;border-radius:8px;font-size:10px;color:#8a9b70}.action-row b{font-size:12px;font-weight:600}.action-row p{font-size:10px;margin:6px 0 0}.progress-number{font-size:38px;font-weight:600;color:#496a4a;margin:22px 0 7px}.progress-number small{font-size:14px;color:#a6ad9c}.progress-panel>p{font-size:10px;margin-bottom:10px}.progress-track{height:6px;background:#eef1e8;border-radius:9px;overflow:hidden;margin-bottom:12px}.progress-track i{display:block;background:#88a46c;height:100%}.retest{border-top:1px solid #edf0e8;margin-top:18px;padding-top:18px;display:flex;gap:12px;font-size:10px;color:#99a18e}.retest b{display:block;margin-top:5px;font-size:11px;color:#73816d;font-weight:500}.meal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.meal{border:1px solid #e1e6dc;border-radius:12px;overflow:hidden;background:#fff;min-width:0}.food-art{height:100px;background:#edeede;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.food-art>span{font-size:92px;color:#92a370;text-shadow:7px 6px #e0c9a4,-5px -2px #faf8eb;transform:rotate(-22deg)}.art1{background:#e6eadc}.art1>span{color:#bc9c6b}.art2{background:#eee9de}.art2>span{color:#9d995c}.art3{background:#f0ece2}.art3>span{color:#c8a367}.food-art small{position:absolute;left:12px;top:12px;background:#ffffffe0;border-radius:4px;padding:4px 7px;font-size:8px}.meal-body{padding:14px}.meal .eyebrow{display:flex;justify-content:space-between;font-size:9px;color:#8c9a80;letter-spacing:0}.ingredients{font-size:10px;margin-bottom:10px;min-height:35px}.chips{display:flex;flex-wrap:wrap;gap:5px}.chips span,.chip{font-size:9px;color:#8c967d;background:#f3f5ee;border-radius:4px;padding:4px 5px}.meal-actions{display:flex;flex-wrap:wrap;gap:5px;border-top:1px solid #edf0e7;margin-top:13px;padding-top:11px}.meal-actions button{font-size:9px;padding:6px;gap:3px}.meal-actions .record{margin-left:auto;background:#f1f5eb}.detailed{grid-template-columns:repeat(2,minmax(0,1fr))}.detailed .food-art{height:130px}.detailed .meal-body{padding:20px}.meal-body>p{font-size:12px}.reason{display:flex;gap:7px;background:#f5f8ef;padding:10px;border-radius:7px;color:#789063}.reason svg{flex-shrink:0;margin-top:4px}.meal details{font-size:11px;line-height:1.9;color:#7b8974;margin-top:12px}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:22px}.toolbar span{font-size:11px;color:#829077}.toolbar button{font-size:11px}.phase{padding:18px 22px;display:flex;gap:15px;border-radius:11px;background:#eaf0e1;margin-bottom:24px;color:#68824e}.phase p{font-size:11px;margin:7px 0 0}.phase b{font-size:13px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.calendar-day{display:block;text-align:left;padding:12px 9px;min-height:230px;align-self:stretch}.calendar-day strong{display:block;border-bottom:1px solid #e9ede4;padding-bottom:12px;font-size:12px}.calendar-day strong small{color:#8a9881}.calendar-day>div{margin:15px 0;font-size:10px;line-height:1.7}.calendar-day>div small{color:#92a082;font-size:9px;display:block}.calendar-day span{display:block}.monthly .calendar-day{min-height:230px}.shopping-row{display:flex;justify-content:space-between;border-bottom:1px solid #edf0e8;padding:16px 0;gap:15px}.shopping-row label{display:flex;align-items:center;gap:12px}.shopping-row label:first-child{flex:1}.shopping-row label span{margin-left:auto;font-size:12px;color:#859576}.shopping-row.done b{text-decoration:line-through;color:#a1aa98}input[type=checkbox]{accent-color:#44734f;width:16px;height:16px}.log-row{display:flex;align-items:center;gap:15px;border-bottom:1px solid #ecf0e5;padding:15px 0}.log-row>div{flex:1}.log-row p{font-size:11px;margin:3px 0}.chart{width:100%;height:230px}.chart text{font-size:12px;fill:#798a70}.exam-row{padding:15px 0;border-bottom:1px solid #e8ecdf}.exam-row p{font-size:11px;margin:7px 0}.exam-row button{font-size:10px;padding:6px 10px;margin-right:6px}form label{display:grid;gap:8px;font-size:11px;color:#788871;margin:16px 0}input:not([type=checkbox]):not([type=file]),select,textarea{width:100%;padding:11px;border:1px solid #dce3d6;border-radius:7px;background:#fff;color:#4c6246;min-width:0}input[type=date],input[type=month]{color-scheme:light}.toolbar>input{max-width:180px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.warning{color:#9c744b!important;font-size:11px!important;background:#faf4e8;padding:10px;border-radius:5px}.notice{padding:14px 18px;background:#f1eadb;border:1px solid #e0d1b4;border-radius:8px;font-size:12px;color:#89774e;margin-bottom:20px;display:flex;justify-content:space-between;gap:15px;align-items:center;line-height:1.7}.notice button{font-size:10px;flex-shrink:0}.file-button{cursor:pointer;display:flex;gap:7px;align-items:center;border:1px solid #dce3dc;border-radius:8px;padding:10px 14px;font-size:11px;background:#fff}.file-button input{display:none}.danger{color:#a26750;border-color:#e3cfc1}.source{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid #e8eddf;text-decoration:none;font-size:13px}.source:hover{color:#43855b}footer{margin-top:34px;padding:22px 0 8px;border-top:1px solid #e4e9df;display:flex;align-items:center;gap:8px;color:#9ca58f;font-size:9px}footer>span{margin-left:auto}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1d352b66;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:450px;max-height:95vh;overflow:auto;background:#fff;border-radius:16px;padding:28px}.modal p{font-size:12px}.selected{background:#e3edda;border-color:#a9bc97}textarea{min-height:90px;resize:vertical}@media (min-width:1500px){.hero{min-height:320px}.plate{width:270px;height:270px}.plate-scene{width:45%}.plate .greens{font-size:145px}.plate .grain{font-size:100px}.plate .tofu{font-size:120px}}@media (max-width:1150px){.sidebar{width:205px;padding:30px 15px 0}.brand{font-size:18px}main{margin-left:205px;width:calc(100% - 205px)}header{padding:0 25px}.content{padding:28px 25px}.metric-grid,.meal-grid{grid-template-columns:repeat(2,1fr)}.calendar{grid-template-columns:repeat(3,1fr)}.metric-title{font-size:12px}}@media (max-width:700px){.sidebar{position:static;width:100%;padding:15px 16px 0;border-right:0;border-bottom:1px solid #e2e8db}.app{display:block}.brand{font-size:19px}.brand small{font-size:7px}.brand-icon{width:36px;height:36px}.workspace-label,.side-note,.profile{display:none}nav{display:flex;overflow-x:auto;gap:3px;margin-top:17px;padding-bottom:7px}nav button{white-space:nowrap;padding:10px;font-size:11px;gap:6px}nav svg{width:15px}.nav-dot{display:none}main{margin:0;width:100%}header{height:47px;padding:0 18px}.breadcrumb{display:none}.local{font-size:9px}.content{padding:24px 17px 15px}.page-title{align-items:flex-start;gap:8px;margin-bottom:22px}.page-title .eyebrow{font-size:8px}h1{font-size:24px}.page-title p{font-size:11px}.date-badge{display:none}.hero{padding:24px;min-height:270px}.hero h2{font-size:26px}.hero p{font-size:10px}.plate-scene{position:absolute;right:-40px;top:55px;width:170px;opacity:.65;pointer-events:none}.plate{width:165px;height:165px;border-width:11px}.plate .greens{font-size:88px}.plate .grain{font-size:65px}.plate .tofu{font-size:67px}.plate .tomato{font-size:22px}.floating-tag{display:none}.hero>div:first-child{position:relative;z-index:1}.section-heading h2{font-size:15px}.text-button{font-size:9px}.metric-grid{gap:9px}.metric{padding:14px 12px}.metric-title{font-size:10px}.metric-title>span{font-size:7px}.metric p{font-size:8px}.value{font-size:30px}.metric-footer{font-size:8px}.two-columns{grid-template-columns:1fr;gap:0}.panel{padding:19px}.meal-grid{gap:10px}.meal-body{padding:11px}.meal h3{font-size:13px}.meal-actions .record{margin-left:0}.food-art{height:85px}.detailed{grid-template-columns:1fr}.calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-day{min-height:200px}.form-grid{grid-template-columns:1fr}.shopping-row label{gap:6px}.shopping-row b{font-size:12px}.log-row{flex-wrap:wrap}.log-row>div{min-width:60%}.log-row button{font-size:10px}footer{font-size:8px;line-height:1.7}footer>span{display:none}.toolbar span{font-size:10px}.notice{font-size:11px}.sub-badge{font-size:8px}.modal{padding:21px}}@media (max-width:700px){.metric p,.metric-footer,.metric details{font-size:10px}.metric-title>span{font-size:9px}.ingredients,.chips span,.meal .eyebrow{font-size:11px}.meal-actions button{font-size:11px;min-height:34px}.meal .eyebrow{line-height:1.7}.metric-title{flex-wrap:wrap}.food-art small{font-size:10px}.action-row p,.progress-panel>p{font-size:12px}.page-title p,.hero p{font-size:12px}.text-button{font-size:11px}.calendar-day>div{font-size:12px}.calendar-day>div small{font-size:11px}}
