/* EY Ultimate 3.0 — visual and interaction design layer.
   Presentation-only: data bindings, cloud permissions, forms, calculations and actions unchanged. */
:root {
  --ey3-ink:#203e34; --ey3-forest:#174b3b; --ey3-emerald:#28775a;
  --ey3-sage:#e8f1e6; --ey3-cream:#fbfaf6; --ey3-paper:#fffefb;
  --ey3-border:#dfe9dd; --ey3-soft:#688275; --ey3-peach:#f6ede5;
  --ey3-shadow:0 12px 36px rgba(25,67,44,.07),0 2px 6px rgba(25,67,44,.035);
}
html {color-scheme:light;scroll-padding-top:92px;-webkit-text-size-adjust:100%;}
body {color:var(--ey3-ink)!important;background:radial-gradient(ellipse 370px 280px at 94% 5%,#e7f2e7 0%,transparent 100%),radial-gradient(ellipse 320px 290px at 0% 34%,#f9ede4 0%,transparent 100%),#fafaf6!important;line-height:1.62;}
button,input,select,textarea {font-family:inherit;}
button {touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
button:disabled {opacity:.55;cursor:not-allowed;}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible {outline:3px solid #8aba9a!important;outline-offset:3px!important;}
::selection {background:#c9e5d0;color:#173f30;}
/* Nutrition */
body>header {background:linear-gradient(122deg,#153e32 0%,#205c46 67%,#36765d 100%)!important;border-radius:0 0 28px 28px!important;padding:31px max(19px,calc((100vw - 1080px)/2)) 34px!important;box-shadow:0 10px 35px rgba(26,68,43,.14)!important;}
body>header h1 {font-weight:850!important;font-size:clamp(1.9rem,5.5vw,2.8rem)!important;line-height:1.25;letter-spacing:-.04em;}
body>header p {font-size:.88rem!important;max-width:660px;line-height:1.7;opacity:.95;}
.wrap {max-width:1040px!important;padding-top:20px!important;}
.wrap>.card:first-child {border-color:#d3e4d5!important;background:linear-gradient(110deg,#fffefa,#f5f9f3)!important;}
.wrap>.card:first-child>.row {align-items:end;}
.wrap>.card:first-child .progress {margin-bottom:11px;}
.wrap>.card:first-child label {font-weight:700;color:#466b56;}
.top {grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;}
.stat {background:#fffefa!important;border:1px solid var(--ey3-border)!important;border-radius:19px!important;box-shadow:var(--ey3-shadow)!important;padding:17px 15px!important;min-height:109px!important;}
.stat:nth-child(1){background:linear-gradient(135deg,#e8f4e9,#fffefa)!important;border-color:#cfe4d3!important;}
.stat:nth-child(4){background:linear-gradient(135deg,#fff7ec,#fffefa)!important;}
.stat strong {font-size:clamp(1.5rem,3vw,2.1rem);font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--ey3-forest);}
.stat small {color:#557567;font-weight:600;}
.card,.wellness,.ey-streak-home,.ey-library,.ey-food-lookup {box-shadow:var(--ey3-shadow)!important;border-color:var(--ey3-border)!important;background:var(--ey3-paper);}
.card,.wellness,.ey-library {border-radius:23px!important;}
.sectiontitle {font-size:clamp(1.14rem,3vw,1.48rem)!important;color:#1c4938!important;line-height:1.4;letter-spacing:-.02em;}
.hero {border:1px solid #d3e6d4!important;background:linear-gradient(115deg,#e5f1e4,#fff4ed)!important;border-radius:25px!important;box-shadow:var(--ey3-shadow)!important;}
.hero:after {font-size:4rem!important;opacity:.16!important;transform:rotate(-18deg);}
.hero h2 {font-size:clamp(1.55rem,4.5vw,2.15rem)!important;color:#1b4e3b;}
.eyebrow {color:#527c63!important;font-weight:800;letter-spacing:.08em;}
.tabs {display:flex;position:sticky!important;top:0!important;z-index:16!important;background:#fafaf4f2!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:10px 2px 11px!important;border-bottom:1px solid #e0e9dc;margin-top:9px!important;overflow-x:auto;scrollbar-width:none;gap:7px!important;}
.tabs::-webkit-scrollbar{display:none}
.tabs button {padding:10px 14px!important;border-radius:14px!important;min-height:45px;font-size:.9rem;white-space:nowrap;background:#fff!important;border:1px solid #dce8dc!important;color:#315a46!important;font-weight:730;box-shadow:0 1px 2px #173a3010;}
.tabs button.active {background:#1e5943!important;color:#fff!important;border-color:#1e5943!important;box-shadow:0 6px 16px #1c57352c!important;}
.ey-tool-bar {position:static!important;background:transparent!important;margin-top:4px;padding:0!important;}
.ey-tool-bar button {background:#e8f1e7!important;color:#214c39!important;border:1px solid #d0e0d2!important;min-height:44px;border-radius:14px!important;box-shadow:none;}
.ey-quick-links {gap:12px;margin:14px 0 17px;}
.ey-shortcut {background:#fffefa!important;border:1px solid #dce9dd!important;border-radius:21px!important;min-height:89px;box-shadow:var(--ey3-shadow)!important;padding:14px!important;}
.ey-shortcut:hover{border-color:#a8ccb2!important;}
.ey-shortcut-icon {background:#edf5ea!important;border-radius:15px!important;}
.ey-shortcut small {color:#678172!important;line-height:1.5;}
.ey-streak-home {background:linear-gradient(120deg,#f0f8ee,#fffdfa)!important;border:1px solid #d8e8d7!important;}
.notice,.recommend-box,.daybox {border-radius:17px!important;line-height:1.65;}
.diary-card {border-radius:19px!important;box-shadow:0 4px 18px rgba(26,67,44,.045)!important;}
.diary-card.is-done {border-color:#b9d9c2!important;background:#f1f8f0!important;}
.btn,.mini-btn,.mini,button.secondary {min-height:44px;}
.btn:not(.secondary):not(.danger) {background:#206848!important;color:white!important;box-shadow:0 5px 15px #24684720;}
.btn.secondary {background:#eaf3e8!important;color:#275740!important;}
button:hover {filter:brightness(.985);}
input,select,textarea {background:#fffefa!important;border-color:#cedfcf!important;min-height:45px;}
input:focus,select:focus,textarea:focus {border-color:#6aab83!important;}
label {font-size:.83rem;font-weight:650;}
.muted,.sub,.note {color:#647d70!important;line-height:1.7;}
.ey-food-result,.ey-library-entry {border:1px solid #dfebe0!important;background:#fffefa!important;box-shadow:0 2px 10px #244e3309;}
.ey-fold-toggle {border-radius:100px!important;font-weight:750!important;min-height:34px!important;}
.ey-fold-closed {background:#fbfdfa!important;}
.footer {color:#698072!important;max-width:900px;margin-inline:auto;font-size:.8rem;}
#eyToolDrawer {background:#fcfdf9!important;box-shadow:-14px 0 45px #173a3036!important;}
#eyToolDrawer button {min-height:48px;margin:8px 0;border-radius:15px;}
/* Training shares the same visual language */
.shell {max-width:1040px!important;}
.shell>.top {display:flex!important;background:linear-gradient(110deg,#e8f2e7,#fff6ed)!important;border:1px solid #d4e6d5!important;border-radius:25px!important;padding:20px!important;box-shadow:var(--ey3-shadow)!important;align-items:center;}
.shell>.top .brand {font-size:clamp(1.35rem,3.5vw,1.8rem)!important;color:#194a37!important;}
.shell>.top .avatar {background:#fffefa!important;border:1px solid #d6e7d6!important;box-shadow:0 3px 14px #153b2b0e;}
.shell .card {background:#fffefa!important;border-color:var(--ey3-border)!important;box-shadow:var(--ey3-shadow)!important;}
.shell .ey-hero {background:linear-gradient(120deg,#e8f4e7,#fff5ed)!important;border:1px solid #cee2d0!important;}
.shell .tabs {padding:10px 2px!important;border-radius:0!important;}
.shell .tabs button {width:auto!important;}
.shell button:not(.secondary):not(.ey-fold-toggle) {border-radius:14px;}
.shell .ey-primary-cta {font-weight:820!important;font-size:1.06rem!important;min-height:56px!important;box-shadow:0 8px 23px #246b4630;}
.shell .ey-week-day {border:1px solid #dae7db!important;background:#fbfdf9!important;}
.shell .ey-week-today {background:#e8f4e8!important;border-color:#93bea1!important;}
.shell .item {background:#fbfdf9!important;border:1px solid #e0eae1!important;}
/* Mobile and touch */
@media(max-width:760px){
 .top {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 .stat:last-child:nth-child(odd){grid-column:1/-1;min-height:85px!important;}
 .stat {min-height:100px!important;}
 .ey-quick-links {grid-template-columns:repeat(2,minmax(0,1fr));}
 .shell>.top {padding:14px!important;}
}
@media(max-width:430px){
 body>header {padding:26px 19px 30px!important;}
 .wrap,.shell {padding-inline:12px!important;}
 .stat {padding:15px 13px!important;}
 .stat strong {font-size:1.7rem!important;}
 .card,.wellness {padding:16px!important;}
 .ey-quick-links {gap:9px;}
 .ey-shortcut {padding:11px!important;min-height:89px;gap:8px!important;}
 .ey-shortcut small {font-size:.73rem;}
 .tabs button {padding:10px 12px!important;}
 .ey-fold-card {padding-top:3.1rem!important;}
 .shell>.top .row {gap:9px;}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}
