/* TODAY'S 30 only — header and the four home-mode cards are intentionally untouched. */
/* Compact Hero: same composition, half-height without vertically stretching the typography. */
@media(min-width:761px){.shell .hero.hero.hero{display:block!important;aspect-ratio:auto!important;height:315px!important;min-height:315px!important;padding:42px 6% 20px!important;overflow:hidden!important;border:1px solid rgba(231,198,104,.62)!important;border-radius:22px!important;box-shadow:inset 0 1px 0 rgba(255,235,171,.2),0 13px 28px rgba(0,13,9,.24)!important;background:#00291f!important}.shell .hero.hero.hero:after{display:block!important;inset:0!important;background:linear-gradient(90deg,rgba(0,26,19,.95) 0%,rgba(0,31,23,.83) 44%,rgba(0,31,23,.2) 68%,rgba(0,18,13,.15) 100%),url('fit-lab-hero-wellness-v2.png') center/cover no-repeat!important}.shell .hero.hero.hero:before{display:block!important;left:6%!important;right:auto!important;top:15px!important;color:rgba(244,214,130,.9)!important;font-size:8px!important;letter-spacing:.28em!important}.shell .hero.hero.hero>div:first-child{position:relative!important;z-index:2!important;width:52%!important;max-width:52%!important;height:auto!important;padding:0!important;opacity:1!important}.shell .hero.hero.hero .hero-aside{display:none!important}.shell .hero.hero.hero .tag{margin-top:8px!important;color:#e8c96e!important;font-size:9px!important;letter-spacing:.13em!important}.shell .hero.hero.hero h1{margin:7px 0 7px!important;color:#f9f1df!important;font-size:clamp(35px,3.55vw,51px)!important;line-height:.95!important}.shell .hero.hero.hero .intro{max-width:500px!important;margin:0!important;color:#e5eee6!important;font-size:12px!important;line-height:1.48!important}.shell .hero.hero.hero>div:first-child:after{content:'Good Food\A Brighter Tomorrows';display:block;white-space:pre;position:absolute;left:calc(100% + 78px);bottom:7px;color:rgba(245,213,130,.84);font:400 18px/.92 'Snell Roundhand','Apple Chancery','URW Chancery L',cursive;letter-spacing:.02em;text-shadow:0 2px 12px rgba(0,0,0,.52)}.shell .hero.hero.hero>div:first-child .today30-cta{width:min(100%,420px)!important;justify-content:space-between!important;margin-top:12px!important;padding:10px 15px!important;border:1px solid rgba(239,204,110,.74)!important;border-radius:999px!important;background:rgba(0,48,36,.49)!important;box-shadow:inset 0 1px 0 rgba(255,235,167,.16),0 0 13px rgba(225,182,70,.14)!important}.shell .hero.hero.hero>div:first-child .today30-cta span{color:#e3ede4!important;font-size:8px!important;letter-spacing:.15em!important}.shell .hero.hero.hero>div:first-child .today30-cta b{color:#f3d57f!important;font-size:16px!important;letter-spacing:.04em!important}}
/* Exact supplied Hero reference on desktop. Text and CTA remain existing invisible hit targets. */
@media(min-width:761px){.shell .hero.hero{display:block!important;aspect-ratio:2.247/1!important;height:auto!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:url('fit-lab-home-hero-reference.png') center/100% 100% no-repeat!important;overflow:visible!important}.shell .hero.hero:before,.shell .hero.hero:after{display:none!important}.shell .hero.hero>div:first-child{position:relative!important;z-index:2!important;width:100%!important;max-width:none!important;height:100%!important;padding:83px 6.5% 45px!important;opacity:0!important}.shell .hero.hero .hero-aside{display:none!important}}
/* Reference home composition: image is visual only; original interactive elements remain as transparent hit targets. */
@media(min-width:761px){.shell.fitlab-home-reference{width:100%;max-width:1305px!important;min-height:1206px;padding:15px!important;background:url('fit-lab-home-reference-layout.png') top center/100% auto no-repeat!important}.shell.fitlab-home-reference .hero{height:540px!important;min-height:540px!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;opacity:0}.shell.fitlab-home-reference .hero:before,.shell.fitlab-home-reference .hero:after{display:none!important}.shell.fitlab-home-reference #modes{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;margin-top:16px!important}.shell.fitlab-home-reference #modes .mode{min-height:280px!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;opacity:0}.shell.fitlab-home-reference #modes .mode:hover,.shell.fitlab-home-reference #modes .mode.active{transform:none!important}.shell.fitlab-home-reference .today30-view{background:#001d17}}
/* Home hero redesign only. */
/* Reference proportion: wide 2.35:1 hero, approximately 535px high at desktop content width. */
.shell .hero.hero{aspect-ratio:2.35/1!important;min-height:535px!important}
@media(max-width:760px){.shell .hero.hero{aspect-ratio:auto!important;min-height:560px!important}}
.shell .hero{display:block!important;min-height:455px!important;padding:83px 6.5% 45px!important;border:1px solid rgba(231,198,104,.62)!important;border-radius:30px!important;background:#00291f!important;box-shadow:inset 0 1px 0 rgba(255,235,171,.22),0 18px 42px rgba(0,13,9,.26)!important}.shell .hero:after{background:linear-gradient(90deg,rgba(0,26,19,.96) 0%,rgba(0,31,23,.88) 37%,rgba(0,31,23,.29) 66%,rgba(0,18,13,.25) 100%),url('fit-lab-hero-wellness-v2.png') center/cover no-repeat!important}.shell .hero:before{left:6.5%!important;right:auto!important;top:30px!important;color:rgba(244,214,130,.9)!important;font-size:10px!important;letter-spacing:.32em!important}.shell .hero>div:first-child{position:relative;z-index:1;max-width:53%}.shell .hero .tag{margin-top:5px;color:#e8c96e!important;font-size:11px!important;letter-spacing:.15em!important}.shell .hero h1{max-width:620px;margin:15px 0 19px!important;color:#f9f1df!important;font-size:clamp(48px,5.8vw,77px)!important;line-height:.96!important}.shell .hero .intro{max-width:520px;margin:0;color:#e5eee6!important;font-size:16px!important;line-height:1.65!important}.shell .hero-aside{display:none!important}.shell .hero>div:first-child:after{content:'Good Food\A Brighter Tomorrows';white-space:pre;position:absolute;left:calc(100% + 86px);bottom:8px;color:rgba(245,213,130,.85);font:400 24px/.95 'Snell Roundhand','Apple Chancery','URW Chancery L',cursive;letter-spacing:.02em;text-shadow:0 2px 12px rgba(0,0,0,.52)}.shell .hero>div:first-child .today30-cta{width:min(100%,525px);justify-content:space-between;margin-top:31px;padding:15px 19px;border:1px solid rgba(239,204,110,.74);border-radius:999px;background:rgba(0,48,36,.49);box-shadow:inset 0 1px 0 rgba(255,235,167,.16),0 0 18px rgba(225,182,70,.16);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.shell .hero>div:first-child .today30-cta:hover{transform:translateY(-3px);border-color:#f8dc83;box-shadow:inset 0 1px 0 rgba(255,235,167,.27),0 11px 24px rgba(0,12,8,.3),0 0 24px rgba(225,182,70,.23)}.shell .hero>div:first-child .today30-cta span{color:#e3ede4;font:600 10px/1 Outfit,'Noto Sans JP',sans-serif;letter-spacing:.18em}.shell .hero>div:first-child .today30-cta b{color:#f3d57f;font:600 20px/1.1 'Cormorant Garamond','Noto Serif JP',serif;letter-spacing:.04em}@media(max-width:760px){.shell .hero{min-height:560px!important;padding:75px 27px 31px!important;background-position:center!important}.shell .hero:before{left:27px!important;top:22px!important}.shell .hero>div:first-child{max-width:100%}.shell .hero h1{font-size:52px!important}.shell .hero .intro{max-width:100%;font-size:14px!important}.shell .hero>div:first-child:after{display:none}.shell .hero>div:first-child .today30-cta{width:100%;margin-top:25px}.shell .hero>div:first-child .today30-cta b{font-size:16px}}
.today30-aside-wrap{display:flex;flex-direction:column;gap:10px}.today30-manifesto{order:0;margin:0 0 2px;color:#fff8e9;font:600 19px/1.27 'Cormorant Garamond','Noto Serif JP',serif;letter-spacing:.01em;text-shadow:0 2px 12px rgba(0,0,0,.34)}.today30-aside-wrap .hero-aside{order:1}.hero-aside .today30-cta{width:100%;justify-content:space-between;align-self:stretch;margin:0;padding:13px 14px;border:1px solid rgba(231,198,104,.45);border-radius:13px;background:rgba(1,43,32,.36);box-shadow:0 7px 16px rgba(0,10,7,.15);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.hero-aside .today30-cta:hover{transform:translateY(-3px);border-color:#f0d27d;box-shadow:0 13px 22px rgba(0,10,7,.24)}.hero-aside .today30-cta span{color:#dfecd9;font:600 9px/1.2 Outfit,'Noto Sans JP',sans-serif;letter-spacing:.15em}.hero-aside .today30-cta b{font-size:15px}
.today30-cta{display:inline-flex;align-items:center;gap:13px;margin-top:25px;padding:10px 0;background:transparent;color:#f5da83;border:0;border-bottom:1px solid rgba(231,198,104,.58);font:600 12px/1.2 'Cormorant Garamond','Noto Serif JP',serif;letter-spacing:.13em;text-align:left;cursor:pointer}.today30-cta small{display:block;color:#d5e2d7;font:600 9px/1.2 Outfit,'Noto Sans JP',sans-serif;letter-spacing:.16em}.today30-cta b{font-size:16px;font-weight:600}.today30-cta:hover{color:#fff0b0;border-color:#f5da83}.today30-view{display:none;margin:24px 0 54px}.today30-view.is-open{display:block}.today30-home-hidden{display:none!important}.today30-head{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:18px 0 22px;border-bottom:1px solid rgba(214,181,92,.35)}.today30-eyebrow{color:#ebca73;font:600 10px/1.1 Outfit,sans-serif;letter-spacing:.2em}.today30-title{margin:7px 0 0;color:#fff8e8;font:600 clamp(30px,4vw,48px)/.95 'Cormorant Garamond','Noto Serif JP',serif;letter-spacing:.01em}.today30-subtitle{margin:8px 0 0;color:#c7d8cd;font-size:14px}.today30-back{border:0;background:transparent;color:#f5d983;font:600 13px/1 Outfit,'Noto Sans JP',sans-serif;cursor:pointer;white-space:nowrap}.today30-back:hover{color:#fff1b9}.today30-toolbar{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}.today30-search,.today30-select{min-height:38px;border:1px solid rgba(220,198,123,.35);border-radius:10px;background:rgba(1,39,30,.72);color:#f6f0dd;padding:0 12px;font:500 12px Outfit,'Noto Sans JP',sans-serif;outline:none}.today30-search{min-width:min(100%,260px);flex:1}.today30-select{min-width:150px}.today30-catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.today30-card{overflow:hidden;padding:0;border:1px solid rgba(221,190,101,.3);border-radius:16px;background:rgba(3,55,43,.86);color:#fff;text-align:left;cursor:pointer;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.today30-card:hover{transform:translateY(-3px);border-color:#e6c56f;box-shadow:0 16px 30px rgba(0,0,0,.22)}.today30-image{position:relative;display:block;width:100%;height:142px;background:#0b4135 center/cover no-repeat}.today30-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(1,31,23,.7))}.today30-image span{position:absolute;z-index:1;left:13px;bottom:11px;color:#f7d978;font:600 10px Outfit,sans-serif;letter-spacing:.13em}.today30-card-copy{padding:13px}.today30-card-category{display:block;color:#d7bd71;font:600 10px/1 Outfit,sans-serif;letter-spacing:.1em}.today30-card h3{margin:8px 0 6px;color:#fff8e9;font:600 21px/1 'Cormorant Garamond','Noto Serif JP',serif}.today30-card p{min-height:32px;margin:0;color:#d1ded5;font-size:11px;line-height:1.45}.today30-tags{display:flex;flex-wrap:wrap;gap:5px;margin:11px 0}.today30-tags span{border:1px solid rgba(184,225,171,.3);border-radius:999px;padding:4px 6px;color:#dbecd4;font-size:9px;line-height:1}.today30-macros{display:flex;gap:8px;padding-top:10px;border-top:1px solid rgba(225,212,174,.15);color:#f3e8c8;font:500 10px Outfit,sans-serif}.today30-empty{grid-column:1/-1;padding:38px;border:1px dashed rgba(219,190,105,.35);border-radius:16px;color:#d8e4db;text-align:center}.today30-detail{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:24px;padding-top:22px}.today30-detail-image{position:relative;min-height:410px;overflow:hidden;border:1px solid rgba(221,190,101,.34);border-radius:20px;background:#083d31 center/cover no-repeat}.today30-detail-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(1,26,19,.88))}.today30-detail-image .today30-placeholder{position:absolute;z-index:1;left:26px;bottom:25px;color:#ffe6a0;font:600 13px Outfit,sans-serif;letter-spacing:.18em}.today30-detail-copy{padding:9px 0}.today30-detail-copy h2{margin:7px 0 10px;color:#fff8e9;font:600 clamp(34px,5vw,56px)/.94 'Cormorant Garamond','Noto Serif JP',serif}.today30-detail-copy .today30-description{color:#dce9e0;font-size:15px;line-height:1.7}.today30-section{margin-top:23px;padding-top:20px;border-top:1px solid rgba(221,190,101,.25)}.today30-section h3{margin:0 0 13px;color:#ebcc78;font:600 11px/1 Outfit,sans-serif;letter-spacing:.18em}.today30-nutrition{display:grid;grid-template-columns:116px 1fr;gap:18px;align-items:center}.today30-kcal{color:#fff8e9;font:600 34px/1 'Cormorant Garamond','Noto Serif JP',serif}.today30-kcal small{display:block;margin-top:4px;color:#c8ddd0;font:500 10px Outfit,sans-serif;letter-spacing:.08em}.today30-donut{width:112px;height:112px;border-radius:50%;background:conic-gradient(#e0bf6a 0 var(--p),#77c8ae var(--p) calc(var(--p) + var(--f)),#365f50 calc(var(--p) + var(--f)) 100%);display:grid;place-items:center}.today30-donut:after{content:'PFC';display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:#06392d;color:#f6e7c1;font:600 12px Outfit,sans-serif;letter-spacing:.12em}.today30-pfc{display:grid;gap:7px}.today30-pfc div{display:flex;justify-content:space-between;color:#eaf2ea;font-size:12px}.today30-pfc div span:first-child{color:#c7ddcf}.today30-bars{display:grid;gap:10px}.today30-bar-row{display:grid;grid-template-columns:minmax(74px,1fr) minmax(70px,2fr) auto;align-items:center;gap:8px;color:#e6eee9;font-size:11px}.today30-bar{height:7px;overflow:hidden;border-radius:999px;background:rgba(210,229,217,.14)}.today30-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#57b99a,#e3c15d)}.today30-benefits{display:flex;flex-wrap:wrap;gap:8px}.today30-benefits span{border:1px solid rgba(230,200,113,.35);border-radius:999px;padding:7px 10px;color:#f4e8c5;font-size:11px}.today30-allergen{color:#ffe4a2;font-size:13px}.today30-detail .today30-back{padding:0}.today30-admin-panel{margin-top:12px;padding:12px;border:1px solid #dce5df;border-radius:10px;background:#f7fbf8}.today30-admin-panel h4{margin:0 0 10px;color:#163e32;font-size:12px}.today30-admin-panel textarea{display:block;width:100%;min-height:64px;margin:4px 0 9px;padding:8px;border:1px solid #dce5df;border-radius:8px;color:#10221d;font:12px Outfit,'Noto Sans JP',sans-serif;resize:vertical}.today30-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.today30-admin-grid label{font-size:10px}.today30-admin-grid input{display:block;width:100%;margin-top:4px}.today30-admin-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.today30-admin-tags input{width:calc(50% - 3px)!important;margin:0!important}.today30-admin-panel details summary{cursor:pointer;color:#163e32;font-weight:700;font-size:11px}@media(max-width:980px){.today30-catalog{grid-template-columns:repeat(3,minmax(0,1fr))}.today30-detail{grid-template-columns:1fr}.today30-detail-image{min-height:320px}}@media(max-width:700px){.today30-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.today30-toolbar{display:grid;grid-template-columns:1fr 1fr}.today30-search{grid-column:1/-1}.today30-card h3{font-size:18px}.today30-image{height:115px}.today30-detail-image{min-height:265px}.today30-nutrition{grid-template-columns:1fr}.today30-head{align-items:start;flex-direction:column;gap:10px}.today30-admin-grid{grid-template-columns:1fr}}
/* Compact home Hero — intentionally scoped so the fixed app header and mode cards
   remain untouched.  This is outside any viewport query because the customer
   page is rendered inside an iframe. */
.shell .hero.hero {
  display: block !important;
  position: relative !important;
  isolation: isolate !important;
  aspect-ratio: auto !important;
  height: 315px !important;
  min-height: 315px !important;
  padding: 42px 6% 20px !important;
  overflow: hidden !important;
  border: 1px solid rgba(231, 198, 104, .62) !important;
  border-radius: 22px !important;
  box-shadow: inset 0 1px 0 rgba(255, 235, 171, .2), 0 13px 28px rgba(0, 13, 9, .24) !important;
  background: #00291f !important;
}
.shell .hero.hero::after {
  display: block !important;
  inset: 0 !important;
  background: linear-gradient(90deg, rgba(0, 26, 19, .95) 0%, rgba(0, 31, 23, .83) 44%, rgba(0, 31, 23, .2) 68%, rgba(0, 18, 13, .15) 100%), url('fit-lab-hero-wellness-v2.png') center / cover no-repeat !important;
}
.shell .hero.hero::before { left: 6% !important; right: auto !important; top: 15px !important; font-size: 8px !important; letter-spacing: .28em !important; }
.shell .hero.hero > div:first-child { position: relative !important; z-index: 2 !important; width: 52% !important; max-width: 52% !important; padding: 0 !important; }
.shell .hero.hero .hero-aside { display: none !important; }
.shell .hero.hero .tag { margin-top: 8px !important; font-size: 9px !important; letter-spacing: .13em !important; }
.shell .hero.hero h1 { margin: 7px 0 !important; font-size: clamp(35px, 3.55vw, 51px) !important; line-height: .95 !important; }
.shell .hero.hero .intro { max-width: 500px !important; margin: 0 !important; font-size: 12px !important; line-height: 1.48 !important; }
.shell .hero.hero > div:first-child .today30-cta { width: min(100%, 420px) !important; margin-top: 12px !important; padding: 10px 15px !important; }
@media (max-width: 760px) {
  .shell .hero.hero { height: 300px !important; min-height: 300px !important; padding: 36px 22px 18px !important; }
  .shell .hero.hero > div:first-child { width: 70% !important; max-width: 70% !important; }
  .shell .hero.hero h1 { font-size: 35px !important; }
  .shell .hero.hero .intro { font-size: 11px !important; line-height: 1.42 !important; }
  .shell .hero.hero > div:first-child .today30-cta { width: 100% !important; margin-top: 10px !important; padding: 9px 12px !important; }
}

/* Hero CTA refinement only: a shorter, lower, fully transparent outline. */
.shell .hero.hero > div:first-child .today30-cta {
  margin-top: 20px !important;
  min-height: 34px !important;
  padding: 7px 15px !important;
  background: transparent !important;
  box-shadow: none !important;
}
.shell .hero.hero > div:first-child .today30-cta span {
  color: #fffdf5 !important;
}
@media (max-width: 760px) {
  .shell .hero.hero > div:first-child .today30-cta {
    margin-top: 16px !important;
    min-height: 32px !important;
    padding: 6px 12px !important;
  }
}
