/* Reference-aligned icon system and illustration details. */
.icon,.nav-icon,.small-icon,.brand-leaf,.sidebar-note-leaf,.sun,.heading-icon,.goal-icon,.tiny-icon,.footer-leaf{display:inline-block;flex:none;vertical-align:middle;color:inherit}
.brand-leaf{width:31px;height:31px;color:#0aaf75;transform:none;background:none;border-radius:0}
.brand{gap:10px}.brand strong{font-size:18px}
.small-icon{width:17px;height:17px;color:#526d91}.today-date{gap:10px}
.avatar{overflow:hidden;background:#e9f0f7}.avatar svg{width:30px;height:30px}
.nav-item{width:136px}.nav-icon{width:20px;height:20px;font-size:initial}.nav-item.active .nav-icon{color:#07a676}
/* Keep the navigation compact and align the note with the main dashboard's bottom edge. */
.sidebar{align-self:start;min-height:0;height:auto}
.sidebar-note{width:100%;height:118px;margin-top:0;margin-bottom:0;flex:none;background-image:url("sidebar-plant.svg"),linear-gradient(145deg,#f1fbf9,#eaf8f5);background-position:bottom center,center;background-size:100% 72px,cover;background-repeat:no-repeat}
.sidebar-note .sidebar-note-leaf{position:static;width:21px;height:21px;color:#12b27d}
.sidebar-note p{margin-top:0}
.sidebar-note>svg:not(.sidebar-note-leaf){display:none}
.hero{background:#eaf8fa}.hero-landscape{object-fit:cover}.hero-content{gap:19px}.sun{width:35px;height:35px;color:#ffc239;filter:drop-shadow(0 2px 3px #fbc84f66)}
.hero-goal{transform:translateY(6px)}
.stats-grid{grid-template-columns:1.08fr 1fr .96fr 1fr;gap:10px}
.badge .icon{width:20px;height:20px;color:#fff}.stat-card .badge .icon{width:19px;height:19px}
.heading-icon{width:20px;height:20px;font-size:initial;margin-right:5px;vertical-align:-4px}
.heading-icon.green-text{color:#10ad78}.heading-icon.blue-text{color:#5a8bc9}
.goal-icon{width:34px;height:34px;color:#0aab76}.goal-card h2{gap:12px}
.goal-person .icon{width:22px;height:22px;color:#0aac77}
.detail-icon .icon{width:19px;height:19px;color:#168bed}
.tiny-icon{width:13px;height:13px;color:#f5a32b;vertical-align:-2px}
.advice-icon .icon{width:27px;height:27px;color:#0bae79}
.watch-symbol .icon{width:20px;height:20px}
.progress-icon .icon{width:16px;height:16px;color:#fff}
.right-column{gap:8px}.watch-card{margin-top:5px}
.bottom-grid{grid-template-columns:1.17fr 1.12fr 1fr;gap:11px}
.donut{width:110px;height:110px}.donut:before{inset:13px}.donut-center strong{font-size:19px}.nutrition-body{gap:16px}
.footer-affirmation{background:#eaf8f4 url("footer-landscape.svg") center center/cover no-repeat}.footer-leaf{width:27px;height:27px;color:#0db476}
.data-notice{background:#eef9f6;border:1px solid #d9efe8;border-radius:9px;color:#466b71;font-size:12px;line-height:1.7;padding:11px 14px;margin:0 0 16px}
.data-notice strong{color:#117d66}.data-notice ul{margin:5px 0 0;padding-left:18px}
.upload-box .back-button{margin-top:9px}
.upload-box{max-width:620px;border-style:solid}
.import-dropzone{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:210px;padding:27px 20px;border:2px dashed #a5d6ce;border-radius:12px;background:#fff;color:#466b7c;text-align:center;transition:border-color .15s,background-color .15s,box-shadow .15s}
.import-dropzone.is-dragging{border-color:#0eae78;background:#e6f8f0;box-shadow:0 0 0 4px #16b9851f}
.import-drop-icon{width:34px;height:34px;color:#0daf79}
.import-dropzone strong{color:#193b55;font-size:15px}
.import-dropzone span{font-size:12px;color:#748ba0}
.import-dropzone input{display:block;max-width:100%;margin-top:7px;font-size:12px}
.import-dropzone input::file-selector-button{border:0;border-radius:7px;background:#0cab76;color:#fff;padding:8px 12px;margin-right:10px;font:inherit;font-weight:700;cursor:pointer}
.import-dropzone input:focus-visible{outline:3px solid #86c9ee;outline-offset:3px}
.chart-legend .legend-pale{width:24px;height:11px;border-radius:3px;background:#e8f6f3}.legend-unavailable{opacity:.55}
.trend-chart,.activity-chart{position:relative;cursor:crosshair}
.trend-chart:focus-visible,.activity-chart:focus-visible{outline:2px solid #58bba0;outline-offset:3px;border-radius:4px}
.chart-hover-line{position:absolute;top:0;bottom:12px;border-left:1px dashed #75bda7;pointer-events:none;z-index:2}
.chart-tooltip{position:absolute;top:2px;z-index:3;min-width:158px;max-width:190px;padding:9px 11px;border:1px solid #d9ebe7;border-radius:9px;background:#fff;box-shadow:0 8px 22px #235b6c22;transform:translateX(-50%);pointer-events:none;color:#1f3e58;font-size:11px;line-height:1.45}
.chart-tooltip strong{display:block;margin-bottom:5px;font-size:12px}
.chart-tooltip-row{display:flex;align-items:center;gap:6px;margin-top:3px;white-space:nowrap}
.chart-tooltip-row b{margin-left:auto;font-size:11px}
.chart-tooltip-dot{height:7px;width:7px;flex:none;border-radius:50%}
.chart-tooltip-dot.green{background:#0dae77}.chart-tooltip-dot.purple{background:#7969dd}.chart-tooltip-dot.orange{background:#ff9e27}
.chart-tooltip small{display:block;margin-top:5px;color:#7a8fa4}
.chart-tooltip[hidden],.chart-hover-line[hidden]{display:none}
@media(max-width:1280px){.bottom-grid{grid-template-columns:1.17fr 1.12fr 1fr}.nutrition-body{gap:9px}.donut{width:104px;height:104px}}
@media(max-width:1050px){.right-column{gap:12px}.watch-card{margin-top:0}.sidebar-note{grid-column:1/-1;margin-top:0}}
@media(min-width:741px) and (max-width:900px){.bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-card{grid-column:1/-1}.right-column{grid-template-columns:repeat(2,minmax(0,1fr))}.watch-card{grid-column:1/-1}}
@media(max-width:740px){
  .sidebar{height:auto;align-self:auto}
  .right-column .sidebar-note{display:block;margin-top:12px}
  .nav-item{width:auto}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats-grid .stat-card:nth-child(-n+2) .stat-footer{bottom:12px;width:68px;line-height:1.15}
  .stats-grid .stat-card:nth-child(-n+2) .stat-footer em{display:block;margin-top:3px;white-space:nowrap}
  .stats-grid .stat-card:nth-child(-n+2) .spark{right:10px;bottom:13px;width:72px;height:32px}
  .bottom-grid{grid-template-columns:1fr}
  .nutrition-body{gap:20px}
  .hero{height:160px;align-items:flex-start;padding:17px}
  .hero-content{max-width:none;gap:10px}
  .hero-content>div{max-width:280px}
  .hero-goal{position:absolute;right:12px;bottom:11px;width:170px;height:58px;transform:none}
  .hero-goal strong{font-size:15px}
  .stat-change{white-space:normal}
  .trend{height:350px}
  .section-heading{display:block}
  .section-heading p{line-height:1.4;min-height:34px}
  .segmented{margin-top:8px;justify-content:flex-end}
  .chart-legend{gap:12px;margin-top:6px}
  .trend-chart{height:191px}
  .watch-item p{max-width:270px}
  .brand strong{display:inline;font-size:16px}
  .brand{min-width:auto;gap:6px}
}
@media(max-width:390px){.brand strong{display:inline}.hero-content>div{max-width:260px}.stat-change{font-size:11px}}
@media(max-width:340px){.stats-grid .stat-card:nth-child(-n+2) .spark{width:50px}}
.entry-form{max-width:900px}.entry-intro{display:flex;align-items:end;justify-content:space-between;gap:22px;padding:4px 0 16px}.entry-intro strong{font-size:18px;color:#183451}.entry-intro p{margin:6px 0 0;color:#7188a0;font-size:12px;line-height:1.6}.entry-date-field{min-width:180px}.entry-state{border-radius:9px;background:#eef9f5;color:#34745e;font-size:12px;padding:10px 13px;margin:0 0 20px}.entry-form fieldset{border:1px solid #e5eff4;border-radius:12px;padding:18px 18px 20px;margin:0 0 16px;background:#fcfefe}.entry-form legend{font-weight:750;color:#16375b;padding:0 8px}.entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.entry-field{display:flex;flex-direction:column;gap:7px;min-width:0;color:#415d7a;font-size:12px;font-weight:650}.entry-field input,.entry-field select,.entry-field textarea{width:100%;min-height:39px;border:1px solid #dce9f0;background:#fff;border-radius:8px;padding:9px 11px;color:#183754;font:inherit;font-size:13px;outline:none}.entry-field textarea{resize:vertical;min-height:86px}.entry-field input:focus,.entry-field select:focus,.entry-field textarea:focus{border-color:#20bb8b;box-shadow:0 0 0 3px #20bb8b1c}.entry-field input::placeholder,.entry-field textarea::placeholder{color:#a1b1bf}.entry-hint{color:#7890a3;font-size:11px;margin:14px 0 12px}.entry-meal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.entry-meal{background:#f4faf8;border:1px solid #e3f0eb;border-radius:9px;padding:12px;display:grid;gap:12px}.entry-actions{display:flex;align-items:center;gap:15px;padding:3px 0 18px}.entry-save{background:linear-gradient(135deg,#0db079,#19bb8a);color:#fff;border-radius:9px;padding:11px 22px;font-weight:700;box-shadow:0 5px 12px #0fae7730}.entry-save:hover{filter:brightness(.96)}#entry-message{font-size:12px;color:#139d6c}#entry-message.error{color:#cf554a}
.entry-backup{background:#eaf6f2;color:#168563;border-radius:9px;padding:11px 17px;font-weight:650;font-size:12px}
@media(max-width:740px){.entry-intro{align-items:stretch;flex-direction:column;gap:12px}.entry-date-field{min-width:0}.entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-meal-grid{grid-template-columns:1fr}.entry-actions{align-items:stretch;flex-direction:column}.entry-form fieldset{padding:14px}.secondary-card{padding:18px}}
@media(max-width:440px){.entry-grid{grid-template-columns:1fr}.entry-intro strong{font-size:16px}}
.trend{height:301px}.trend-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:7px 0 4px}.trend-metric{display:flex;align-items:baseline;gap:9px;min-width:0;border:1px solid #e8f1f5;background:#f8fcfc;border-radius:7px;padding:6px 10px;white-space:nowrap}.trend-metric span{font-size:11px;color:#6b85a1}.trend-metric strong{font-size:12px;color:#173959}.trend-metric small{font-size:11px;font-weight:700;margin-left:auto}.trend-metric.weight small{color:#0aaa72}.trend-metric.fat small{color:#7969dd}.chart-legend{gap:17px;flex-wrap:wrap}.chart-legend .solid-purple{background:#7969dd}.trend-chart{height:160px;margin-top:3px}
@media(max-width:740px){.trend{height:375px}.trend-summary{gap:6px;margin:8px 0 2px}.trend-metric{display:block;min-height:54px;padding:6px 8px}.trend-metric span,.trend-metric strong,.trend-metric small{display:block;line-height:1.3}.trend-metric strong{font-size:11px;margin:2px 0}.trend-metric small{font-size:10px}.chart-legend{gap:5px 12px;font-size:10px}.trend-chart{height:160px}}
