@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=DM+Mono&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+JP:wght@400;500;700;800&display=swap');

/* FIT LAB presentation layer — no application state or behavior lives here. */
:root{--fl-ink:#f7f3e8;--fl-muted:#b8c7bd;--fl-forest:#002f24;--fl-deep:#001d17;--fl-surface:#073d30;--fl-surface-2:#0a4738;--fl-gold:#d4af37;--fl-gold-light:#e3c15d;--fl-tropical:#6baf45;--fl-ivory:#f7f3e8;--fl-line:rgba(227,193,93,.26);--fl-shadow:0 22px 56px rgba(0,11,8,.38);--fl-radius:20px}

body{background-image:linear-gradient(110deg,rgba(0,19,14,.88),rgba(0,36,26,.68) 48%,rgba(0,15,11,.82)),radial-gradient(ellipse at 5% -10%,rgba(53,146,87,.68) 0,transparent 34%),radial-gradient(ellipse at 100% 15%,rgba(124,166,48,.32) 0,transparent 27%),url('fit-lab-tropical-wellness-hero.png');background-size:cover,auto,auto,cover;background-position:center,center,center,center;background-attachment:fixed;color:var(--fl-ink);font-family:Manrope,'Noto Sans JP',sans-serif}
body:before,body:after{content:'';position:fixed;z-index:-1;pointer-events:none;width:34vw;height:34vw;opacity:.22;filter:blur(1px);background:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 18px,#6baf45 19px 20px,transparent 21px 37px);transform:rotate(-30deg)}body:before{left:-15vw;bottom:-20vw}body:after{right:-17vw;top:12vh;transform:rotate(36deg)}

/* Unified app shell */
.appbar{background:linear-gradient(90deg,#001d17,#073d30)!important;border-color:var(--fl-line)!important;box-shadow:0 8px 24px rgba(0,10,7,.32)}.appbar .brand{font-family:'Cormorant Garamond','Noto Serif JP',serif!important;color:var(--fl-gold-light)!important;font-size:28px!important;letter-spacing:.04em!important}.appbar .brand i{background:var(--fl-gold)!important}.appbar .tab{background:transparent!important;border-color:rgba(227,193,93,.35)!important;color:#dde7dc!important;border-radius:999px!important}.appbar .tab.active{background:linear-gradient(105deg,#bd8e2c,var(--fl-gold-light))!important;border-color:transparent!important;color:#092b20!important}.appbar .language{background:rgba(247,243,232,.94)!important;border-color:var(--fl-gold)!important;color:#133527!important;border-radius:999px!important}.appbar .dot{color:var(--fl-gold-light)!important}

/* Order experience */
.shell{max-width:1320px!important}.shell nav{border-color:var(--fl-line)!important;padding:10px 0!important}.shell .brand,.wrap .brand{font-family:'Cormorant Garamond','Noto Serif JP',serif!important;letter-spacing:.04em!important;color:var(--fl-gold-light)!important;font-size:31px!important}.shell .brand i,.wrap .brand i{background:var(--fl-gold)!important;box-shadow:0 0 18px rgba(212,175,55,.6)}
.shell .hero{position:relative;isolation:isolate;min-height:370px;padding:80px 48px 48px!important;border:1px solid rgba(227,193,93,.24);border-radius:30px;overflow:hidden;box-shadow:var(--fl-shadow);background:#002b21}.shell .hero:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(0,24,18,.94) 0%,rgba(0,29,23,.76) 47%,rgba(0,29,23,.32) 100%),url('fit-lab-tropical-wellness-hero.png') center/cover no-repeat}.shell .hero:before{content:'HEALTH IS WEALTH';position:absolute;right:3%;top:21px;color:rgba(227,193,93,.6);font:700 11px/1 'DM Mono',monospace;letter-spacing:.28em}.shell h1{font-family:'Cormorant Garamond','Noto Serif JP',serif!important;color:var(--fl-ivory);letter-spacing:-.035em!important;font-weight:700!important;text-shadow:0 4px 24px rgba(0,0,0,.4)}.shell .lime{color:var(--fl-gold-light)!important}.shell .intro,.shell .sub{color:var(--fl-muted)!important}.shell .hero-aside{background:linear-gradient(145deg,rgba(7,61,48,.82),rgba(0,29,23,.9))!important;backdrop-filter:blur(5px);border:1px solid var(--fl-line);box-shadow:var(--fl-shadow);overflow:hidden;position:relative}.shell .hero-aside:after{content:'✦';position:absolute;right:20px;bottom:10px;font-size:92px;color:rgba(212,175,55,.14);font-family:serif}.shell .hero-aside small{color:#d9d2ad!important}

.shell .hero:after{z-index:0}.shell .hero>*{position:relative;z-index:1}.shell .hero:before{z-index:2}
.mode-grid{gap:18px!important;margin-top:22px!important}.mode{background:linear-gradient(155deg,rgba(10,71,56,.98),rgba(2,43,33,.98))!important;border:1px solid rgba(225,236,224,.12)!important;outline:1px solid rgba(212,175,55,.12);outline-offset:-7px;border-radius:var(--fl-radius)!important;color:var(--fl-ink)!important;box-shadow:0 12px 30px rgba(0,14,10,.18)!important;overflow:hidden;position:relative}.mode:before{content:'';position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,transparent,var(--fl-gold),transparent);opacity:.55}.mode .num,.mode p{color:var(--fl-muted)!important}.mode h3{font-family:'Cormorant Garamond','Noto Serif JP',serif!important;font-size:27px!important;color:var(--fl-gold-light)!important}.mode:hover,.mode.active{border-color:var(--fl-gold)!important;box-shadow:0 18px 40px rgba(0,8,6,.36)!important;transform:translateY(-5px)!important}

.flow{margin-top:34px!important}.panel{background:linear-gradient(145deg,rgba(7,61,48,.98),rgba(2,37,29,.98))!important;border:1px solid var(--fl-line)!important;border-radius:24px!important;box-shadow:var(--fl-shadow)!important;color:var(--fl-ink)}.flow-head{border-color:var(--fl-line)!important}.flow-head h2,.question{font-family:'Cormorant Garamond','Noto Serif JP',serif!important;color:var(--fl-ivory)!important;font-size:clamp(28px,3vw,38px)!important}.tag,.shell .cat{color:var(--fl-gold-light)!important;letter-spacing:.14em!important}.progress{background:rgba(247,243,232,.14)!important;height:6px!important}.progress i{background:linear-gradient(90deg,#a7791f,var(--fl-gold-light))!important}

.choice,.goal,.body{background:rgba(247,243,232,.06)!important;border:1px solid rgba(247,243,232,.15)!important;color:var(--fl-ivory)!important;border-radius:14px!important;transition:transform .2s ease,border-color .2s ease,background .2s ease}.choice:hover,.goal:hover,.body:hover{border-color:rgba(227,193,93,.75)!important;transform:translateY(-2px)}.choice.selected,.goal.selected,.body.selected{background:linear-gradient(145deg,rgba(212,175,55,.25),rgba(107,175,69,.19))!important;border-color:var(--fl-gold)!important;box-shadow:inset 0 0 0 1px rgba(227,193,93,.2)}.body span{color:var(--fl-muted)!important}.fields label{color:#d7ddcf!important}.fields input,.fields select,select{background:rgba(247,243,232,.96)!important;border-color:rgba(227,193,93,.35)!important;color:#123126!important;border-radius:12px!important}

.primary,.select-plan,.print{background:linear-gradient(105deg,#bc8c29,var(--fl-gold-light),#c49636)!important;color:#092b20!important;border:0!important;border-radius:999px!important;box-shadow:0 10px 24px rgba(0,0,0,.22)!important;font-weight:800!important;letter-spacing:.02em}.secondary,.restart{background:transparent!important;color:var(--fl-gold-light)!important;border:1px solid rgba(227,193,93,.62)!important;border-radius:999px!important}.primary:hover,.select-plan:hover,.print:hover{filter:brightness(1.06);transform:translateY(-1px)}button:disabled{opacity:.38!important;filter:saturate(.3)}

.suggestions{gap:18px!important}.suggestion{background:linear-gradient(160deg,#0a4738,#042f25)!important;border:1px solid rgba(247,243,232,.13)!important;border-radius:22px!important;color:var(--fl-ivory)!important;box-shadow:0 12px 32px rgba(0,12,9,.19)}.suggestion.recommended{background:linear-gradient(160deg,#0c5441,#06392d)!important;border-color:var(--fl-gold)!important;box-shadow:0 18px 42px rgba(0,8,6,.34),inset 0 1px 0 rgba(227,193,93,.33)!important}.suggestion.recommended:before{content:'✦ PREMIUM MATCH';position:absolute;top:15px;right:16px;color:var(--fl-gold-light);font:700 9px 'DM Mono',monospace;letter-spacing:.1em}.suggestion h3{font-family:'Cormorant Garamond','Noto Serif JP',serif!important;color:var(--fl-gold-light)!important;font-size:29px!important}.suggestion .kicker,.food-list,.stats{color:#dce7db!important}.suggestion .stats{border-color:rgba(227,193,93,.32)!important;background:rgba(0,20,14,.22);padding:12px;border-radius:12px}

.menu-top{background:rgba(0,24,18,.36);border:1px solid rgba(227,193,93,.18);padding:14px 17px;border-radius:15px}.counter{background:rgba(212,175,55,.15)!important;border:1px solid rgba(227,193,93,.3);color:var(--fl-gold-light)!important;border-radius:999px!important}.menu-grid{gap:15px!important}.food{background:linear-gradient(155deg,rgba(13,78,61,.96),rgba(4,46,36,.96))!important;border:1px solid rgba(247,243,232,.13)!important;border-radius:17px!important;color:var(--fl-ivory)!important;box-shadow:0 9px 24px rgba(0,11,8,.16)}.food:has(img){min-height:130px}.food img{width:94px!important;height:94px!important;border-radius:14px!important;object-fit:cover!important;box-shadow:0 7px 18px rgba(0,0,0,.28)}.food.selected{background:linear-gradient(155deg,rgba(212,175,55,.25),rgba(7,61,48,.98))!important;border-color:var(--fl-gold)!important}.food .id,.food small{color:#c5d4c9!important}.food b{font-family:'Cormorant Garamond','Noto Serif JP',serif!important;font-size:21px!important;color:var(--fl-ivory)!important}

.receipt{background:var(--fl-ivory)!important;border:0!important;border-radius:20px!important;box-shadow:var(--fl-shadow);color:#16372b!important;font-family:'DM Mono','Noto Sans JP',monospace!important}.receipt .rbrand{font-family:'Cormorant Garamond','Noto Serif JP',serif!important;color:#123b2c!important}.receipt .tag{color:#967224!important}.receipt hr{border-color:rgba(18,59,44,.25)!important}.finish{background:linear-gradient(145deg,#073d30,#001f18)!important;border:1px solid var(--fl-line);box-shadow:var(--fl-shadow)}.finish h2{font-family:'Cormorant Garamond','Noto Serif JP',serif!important;color:var(--fl-gold-light)!important}.finish p{color:#d8e3d9!important}.price{color:var(--fl-gold-light)!important;font-size:18px!important}

/* Fine-grain premium details inspired by the reference: food-led cards, restrained gold, and crisp tactile controls. */
.shell nav{position:relative}.shell nav:after{content:'';position:absolute;right:0;bottom:-2px;width:94px;height:1px;background:linear-gradient(90deg,transparent,var(--fl-gold-light))}.shell nav button{background:transparent!important;border:1px solid rgba(227,193,93,.45)!important;color:var(--fl-gold-light)!important;border-radius:999px!important;padding:8px 14px!important}.shell nav select{border-radius:999px!important;border-color:rgba(227,193,93,.65)!important}.shell button:focus-visible,.shell input:focus-visible,.shell select:focus-visible{outline:2px solid var(--fl-gold-light)!important;outline-offset:3px}
.suggestion.recommended{min-height:435px;background:#06392d!important}.suggestion.recommended .kicker{display:inline-flex;padding:7px 10px;border:1px solid rgba(227,193,93,.5);border-radius:999px;background:rgba(0,27,20,.7);color:var(--fl-gold-light)!important}.suggestion.recommended h3{margin-top:12px!important;text-shadow:0 2px 12px rgba(0,0,0,.75)}.suggestion.recommended .food-list{padding:12px 13px;border-radius:13px;background:rgba(0,24,18,.7);backdrop-filter:blur(7px);border:1px solid rgba(247,243,232,.12)}.suggestion .select-plan{min-height:45px;position:relative;overflow:hidden}.suggestion .select-plan:after{content:'›';position:absolute;right:17px;font-size:24px;top:6px}
.food{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.food:hover{transform:translateY(-3px);border-color:rgba(227,193,93,.7)!important;box-shadow:0 16px 28px rgba(0,7,5,.33)!important}.food.selected:after,.body.selected:after,.choice.selected:after,.goal.selected:after{content:'✓';position:absolute;right:10px;top:8px;width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:var(--fl-gold-light);color:#092b20;font:800 12px/1 Manrope}.body{position:relative;overflow:hidden}.body img{width:100%;height:148px;display:block;object-fit:cover;object-position:top;border-radius:10px;margin:-2px 0 10px;filter:contrast(1.04) saturate(.9)}.body.selected img{box-shadow:0 0 0 1px rgba(227,193,93,.65)}
.menu-grid .food small{line-height:1.85!important;letter-spacing:.015em}.menu-grid .food .id{color:var(--fl-gold-light)!important}.step-actions{padding-top:18px;border-top:1px solid rgba(227,193,93,.18)}.step-actions .primary,.step-actions .secondary{min-width:132px}.counter{font-variant-numeric:tabular-nums}.receipt-wrap{align-items:stretch}.receipt,.finish{position:relative;overflow:hidden}.finish:after{content:'FIT LAB';position:absolute;right:-14px;bottom:8px;color:rgba(227,193,93,.08);font:700 58px 'Cormorant Garamond',serif;letter-spacing:.03em;pointer-events:none}

.meal-visual{height:172px;display:grid;grid-template-columns:1.2fr .82fr .82fr;grid-template-rows:1fr 1fr;gap:3px;position:relative;overflow:hidden;border-radius:15px;border:1px solid rgba(227,193,93,.45);background:#062f25;box-shadow:0 10px 24px rgba(0,7,5,.32);margin:0 0 15px}.meal-visual__tile{display:block;background-size:cover;background-position:center;filter:saturate(1.08) contrast(1.04)}.meal-visual__tile--0{grid-row:span 2}.meal-visual__tile--3{grid-column:span 1}.meal-visual__tile--4{grid-column:span 1}.meal-visual__glow{position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgba(0,20,15,.03),rgba(0,20,15,.35) 75%,rgba(0,20,15,.85));pointer-events:none}.meal-visual__caption{position:absolute;z-index:3;left:11px;right:11px;bottom:9px;color:#fff;text-shadow:0 2px 7px #001d17;font-size:9px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meal-visual__caption span{display:block;color:var(--fl-gold-light);font:700 8px 'DM Mono',monospace;letter-spacing:.11em}.meal-visual__caption b{font:600 11px Manrope,'Noto Sans JP',sans-serif}.meal-visual--receipt{height:135px;margin:0 0 18px}.meal-visual--receipt .meal-visual__caption{font-size:8px}.meal-visual--receipt .meal-visual__caption b{font-size:10px}
.meal-visual--recommendation{display:block;height:240px;grid-template-columns:none;grid-template-rows:none;margin:-1px -1px 17px;border:0;border-radius:21px 21px 0 0;box-shadow:none;background:#06392d}.meal-visual--recommendation .meal-visual__glow{display:none}.meal-visual__hero{position:absolute;inset:0;display:block;background-size:cover;background-position:center 43%;filter:saturate(1.12) contrast(1.06)}

/* The AI plate is one uninterrupted restaurant photograph — never a framed tile inside a card. */
.suggestion:has(.meal-visual--recommendation-a),.suggestion:has(.meal-visual--recommendation-b),.suggestion:has(.meal-visual--recommendation-c){padding:0!important;overflow:hidden;border-radius:24px!important;background:#06392d!important}.suggestion:has(.meal-visual--recommendation-a)>:not(.meal-visual),.suggestion:has(.meal-visual--recommendation-b)>:not(.meal-visual),.suggestion:has(.meal-visual--recommendation-c)>:not(.meal-visual){margin-left:20px;margin-right:20px}.suggestion:has(.meal-visual--recommendation-a) .kicker,.suggestion:has(.meal-visual--recommendation-b) .kicker,.suggestion:has(.meal-visual--recommendation-c) .kicker{margin-top:18px}.suggestion:has(.meal-visual--recommendation-a) .select-plan,.suggestion:has(.meal-visual--recommendation-b) .select-plan,.suggestion:has(.meal-visual--recommendation-c) .select-plan{margin-bottom:20px;width:calc(100% - 40px)}.suggestion:has(.meal-visual--recommendation-a) .food-list,.suggestion:has(.meal-visual--recommendation-b) .food-list,.suggestion:has(.meal-visual--recommendation-c) .food-list{margin-top:0}.meal-visual--recommendation-a,.meal-visual--recommendation-b,.meal-visual--recommendation-c{height:276px!important;margin:0 0 16px!important;border-radius:0!important}.meal-visual--recommendation-a .meal-visual__hero,.meal-visual--recommendation-b .meal-visual__hero,.meal-visual--recommendation-c .meal-visual__hero{background-position:center 40%!important}.hero-aside:after{content:'From Colombia,\A to your wellbeing';white-space:pre;display:block;margin-top:22px;color:var(--fl-gold-light);font-family:'Snell Roundhand','Apple Chancery','URW Chancery L',cursive;font-size:31px;font-weight:400;line-height:.9;letter-spacing:.015em;text-shadow:0 2px 16px rgba(0,0,0,.48)}.suggestion.recommended:after{content:'crafted for you';display:block;margin:0 20px 16px;text-align:right;color:var(--fl-gold-light);font-family:'Snell Roundhand','Apple Chancery','URW Chancery L',cursive;font-size:25px;line-height:1;opacity:.92}.meal-visual__menu{position:absolute;z-index:4;left:20px;right:20px;bottom:17px;color:#fff;text-shadow:0 2px 12px rgba(0,14,10,.9)}.meal-visual__menu span{display:block;margin-bottom:3px;color:var(--fl-gold-light);font-family:'Snell Roundhand','Apple Chancery','URW Chancery L',cursive;font-size:26px;line-height:.85;letter-spacing:.02em}.meal-visual__menu b{display:block;font-family:'Cormorant Garamond','Noto Serif JP',serif;font-size:16px;font-weight:600;letter-spacing:.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Admin studio */
.wrap{max-width:1360px!important}.wrap header{border-color:var(--fl-line)!important}.wrap h1{font-family:'Cormorant Garamond','Noto Serif JP',serif!important;color:var(--fl-gold-light)!important;font-size:52px!important}.wrap>p{color:var(--fl-muted)!important}.wrap .card,.wrap section:not(.gate){background:linear-gradient(155deg,rgba(10,71,56,.97),rgba(3,45,35,.97))!important;border-color:rgba(227,193,93,.23)!important;box-shadow:0 12px 30px rgba(0,10,7,.16)}.wrap .card{border-radius:18px!important;color:var(--fl-ivory)!important}.wrap .card h3{font-family:'Cormorant Garamond','Noto Serif JP',serif!important;color:var(--fl-gold-light)!important;font-size:24px!important}.wrap .cat,.wrap .id,.wrap p,.wrap label,.wrap small{color:var(--fl-muted)!important}.wrap input,.wrap select{background:rgba(247,243,232,.95)!important;color:#14382b!important;border-color:rgba(227,193,93,.32)!important}.wrap .pic{border-radius:13px!important;border:1px solid rgba(227,193,93,.32)}.wrap .btn{background:transparent!important;border-color:rgba(227,193,93,.62)!important;color:var(--fl-gold-light)!important;border-radius:999px!important}.wrap .btn.save{background:linear-gradient(105deg,#bd8e2c,var(--fl-gold-light))!important;color:#092b20!important;border:0!important}.wrap .gate{background:rgba(0,29,23,.94)!important}.wrap .gate-card{background:linear-gradient(150deg,#0a4738,#002b21)!important;border-color:var(--fl-line)!important;color:var(--fl-ivory)!important;box-shadow:var(--fl-shadow)!important}.wrap .gate h2{font-family:'Cormorant Garamond','Noto Serif JP',serif!important;color:var(--fl-gold-light)!important}.wrap .gate .btn{background:linear-gradient(105deg,#bd8e2c,var(--fl-gold-light))!important;color:#092b20!important}.wrap .toast{background:#123f30!important;border:1px solid var(--fl-gold);color:var(--fl-ivory)!important}

.gate{background:rgba(0,29,23,.94)!important}.gate-card{background:linear-gradient(150deg,#0a4738,#002b21)!important;border-color:var(--fl-line)!important;color:var(--fl-ivory)!important;box-shadow:var(--fl-shadow)!important}.gate h2{font-family:'Cormorant Garamond','Noto Serif JP',serif!important;color:var(--fl-gold-light)!important}.gate .btn{background:linear-gradient(105deg,#bd8e2c,var(--fl-gold-light))!important;color:#092b20!important}

/* Shared tropical FIT LAB mark, applied without touching navigation behaviour. */
.brand{display:flex!important;align-items:center;gap:10px;font-size:0!important;color:var(--fl-gold-light)!important}.brand i{display:none!important}.brand:before{content:'';display:block;width:46px;height:46px;flex:0 0 46px;border-radius:50%;background:#003426 url('fit-lab-logo-tropical.png') center/cover no-repeat;border:1px solid rgba(227,193,93,.68);box-shadow:0 4px 14px rgba(0,0,0,.34)}.brand:after{content:'FIT LAB';font:700 26px/1 'Cormorant Garamond','Noto Serif JP',serif;letter-spacing:.04em;color:var(--fl-gold-light);white-space:nowrap}.appbar .brand:before{width:38px;height:38px;flex-basis:38px}.wrap .brand:before{width:52px;height:52px;flex-basis:52px}.wrap .brand:after{font-size:31px}
/* One natural wordmark only: no circular icon and no repeated FIT LAB lettering. */
.shell nav,.appbar,.wrap header{background:linear-gradient(90deg,rgba(0,25,18,.96),rgba(0,47,35,.82),rgba(0,25,18,.96)),url('fit-lab-logo-tropical.png') center 43%/cover!important;border-radius:0 0 18px 18px;padding-left:18px!important;padding-right:18px!important;box-shadow:0 10px 26px rgba(0,10,7,.18)}.shell nav{border-bottom:1px solid rgba(227,193,93,.27)!important}.appbar,.wrap header{border-color:rgba(227,193,93,.27)!important}.brand:before,.appbar .brand:before,.wrap .brand:before{width:154px!important;height:54px!important;flex-basis:154px!important;border:0!important;border-radius:10px!important;background:#003426 url('fit-lab-logo-tropical.png') center 50%/cover no-repeat!important;box-shadow:0 5px 16px rgba(0,0,0,.24)!important}.brand:after,.wrap .brand:after{display:none!important}.brand{gap:0!important}
/* Home header: the supplied landscape logo is the one and only FIT LAB mark. */
.shell nav{height:264px!important;align-items:flex-start!important;padding-top:18px!important;background:linear-gradient(90deg,rgba(0,24,17,.20),transparent 43%,rgba(0,24,17,.48)),url('fit-lab-header-tropical.png') center 53%/cover no-repeat!important;border-radius:0 0 22px 22px!important;overflow:hidden}.shell nav .brand{display:none!important}.shell nav .nav-actions{position:relative;z-index:2;margin-left:auto}.shell nav .nav-actions select,.shell nav .nav-actions button{background:rgba(0,36,27,.78)!important;border-color:rgba(227,193,93,.75)!important;color:var(--fl-ivory)!important;box-shadow:0 5px 16px rgba(0,0,0,.25)}
.shell nav .nav-actions{display:flex!important;visibility:visible!important;opacity:1!important;position:absolute!important;top:18px!important;right:18px!important;z-index:20!important}
/* Welcome layer only — it dismisses into the unchanged home screen. */
.welcome-screen{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;padding:20px;background:#001d17;color:var(--fl-ivory);transition:opacity .45s ease,visibility .45s ease}.welcome-screen:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,17,12,.12),rgba(0,17,12,.03) 44%,rgba(0,17,12,.48)),url('fit-lab-welcome-tropical.png') center/cover no-repeat}.welcome-screen__content{position:relative;z-index:1;display:flex;min-height:min(94vh,820px);width:min(100%,500px);padding:13vh 36px 7vh;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center}.welcome-screen__wordmark{margin:auto 0 88px;color:#f6d976;font:700 clamp(53px,11vw,75px)/.83 'Cormorant Garamond','Noto Serif JP',serif;letter-spacing:.035em;text-shadow:0 3px 18px rgba(0,0,0,.7)}.welcome-screen__wordmark span{display:block;margin-top:21px;color:#f2cf64;font:600 clamp(22px,4.7vw,31px)/1.1 'Cormorant Garamond','Noto Serif JP',serif;letter-spacing:.02em}.welcome-screen__actions{width:100%;display:grid;gap:14px}.welcome-screen__start,.welcome-screen__login{min-height:58px;border-radius:999px;font:800 20px Manrope,'Noto Sans JP',sans-serif;letter-spacing:.08em}.welcome-screen__start{background:linear-gradient(105deg,#c9982e,#ffe593,#c9982e);color:#08291f;box-shadow:0 10px 24px rgba(0,0,0,.28)}.welcome-screen__login{border:2px solid rgba(244,210,104,.9);background:rgba(0,42,31,.5);color:#fae393}.welcome-screen__tagline{margin:70px 0 0;color:#f3d97f;font:600 12px/2.05 Manrope,'Noto Sans JP',sans-serif;letter-spacing:.22em}.welcome-screen--hidden{opacity:0;visibility:hidden;pointer-events:none}@media(min-width:760px){.welcome-screen__content{border-radius:28px;box-shadow:0 28px 70px rgba(0,0,0,.46);overflow:hidden}.welcome-screen__content:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(0,19,14,.04),rgba(0,19,14,.55)),url('fit-lab-welcome-tropical.png') center/cover}.welcome-screen:before{background:radial-gradient(circle at center,rgba(0,60,43,.35),rgba(0,13,10,.95))}}
.welcome-screen__wordmark{display:none}.welcome-screen__actions{margin-top:auto}
.welcome-screen:before{background:linear-gradient(180deg,rgba(0,17,12,.12),rgba(0,17,12,.03) 44%,rgba(0,17,12,.48)),url('fit-lab-welcome-tropical-clean.png') center/cover no-repeat}.welcome-screen__content:before{background:linear-gradient(180deg,rgba(0,19,14,.04),rgba(0,19,14,.55)),url('fit-lab-welcome-tropical-clean.png') center/cover!important}.welcome-return{position:fixed!important;z-index:30;bottom:20px;left:20px;min-width:150px;padding:11px 17px!important;background:rgba(0,42,31,.9)!important;box-shadow:0 8px 20px rgba(0,0,0,.24)}.shell:has(#flow.show) .welcome-return{display:none!important}
.shell #modes{padding-bottom:104px}
.shell #modes{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.shell #modes .mode{min-height:194px!important;padding:24px!important}.shell #modes .mode h3{margin-top:30px!important}
/* Only the four home-mode cards receive visual backgrounds; their text, order and interactions remain untouched. */
.shell #modes .mode{isolation:isolate;overflow:hidden;background-position:center!important;background-size:cover!important}.shell #modes .mode:nth-child(1){background-image:linear-gradient(90deg,rgba(0,45,34,.98) 0%,rgba(0,49,37,.91) 42%,rgba(0,39,29,.20) 100%),url('fit-lab-mode-direct.png')!important}.shell #modes .mode:nth-child(2){background-image:linear-gradient(90deg,rgba(0,45,34,.98) 0%,rgba(0,49,37,.91) 42%,rgba(0,39,29,.20) 100%),url('fit-lab-mode-ai.png')!important}.shell #modes .mode:nth-child(3){background-image:linear-gradient(90deg,rgba(0,45,34,.98) 0%,rgba(0,49,37,.91) 42%,rgba(0,39,29,.20) 100%),url('fit-lab-mode-advisor.png')!important}.shell #modes .mode:nth-child(4){background-image:linear-gradient(90deg,rgba(0,45,34,.98) 0%,rgba(0,49,37,.91) 42%,rgba(0,39,29,.20) 100%),url('fit-lab-mode-single.png')!important}.shell #modes .mode .num{color:#f4d879!important}.shell #modes .mode h3{color:#f1cf67!important;text-shadow:0 2px 11px rgba(0,12,8,.5)}.shell #modes .mode p{max-width:54%;color:#f4f4e9!important;text-shadow:0 2px 9px rgba(0,12,8,.6)}
/* Unified app frame: never leave the outer admin bar on top of the standalone order home. */
body.order-mode .appbar,body.admin-mode .appbar{display:flex!important}body.order-mode .view,body.admin-mode .view{height:calc(100vh - 64px)!important}body.welcome-mode .appbar{display:none!important}body.welcome-mode .view{height:100vh!important}.fitlab-embedded .shell nav .nav-actions{display:none!important}
/* Integrated order/admin header only: keep the three controls untouched, change just its backdrop. */
body.order-mode .appbar,body.admin-mode .appbar{height:154px!important;background:linear-gradient(90deg,rgba(0,24,17,.18),transparent 45%,rgba(0,24,17,.38)),url('fit-lab-header-tropical.png') center 52%/cover no-repeat!important;border-color:rgba(227,193,93,.35)!important}body.order-mode .view,body.admin-mode .view{height:calc(100vh - 154px)!important}body.order-mode .appbar .brand,body.admin-mode .appbar .brand{visibility:hidden!important}.fitlab-embedded .shell nav{display:none!important}
body.order-mode .appbar,body.admin-mode .appbar{position:relative!important}.appbar .tabs{position:absolute!important;right:94px!important;bottom:12px!important;gap:5px!important}.appbar .right{position:absolute!important;right:14px!important;bottom:12px!important;gap:0!important}.appbar .tab{padding:6px 9px!important;font-size:10px!important;border-radius:7px!important}.appbar .language{padding:6px 8px!important;font-size:10px!important;border-radius:7px!important}.appbar .dot{display:none!important}
/* Header utility navigation: compact, quiet and separate from the central brand image. */
body.order-mode .appbar .tabs,body.admin-mode .appbar .tabs{top:13px!important;bottom:auto!important;right:61px!important;gap:0!important;padding:3px;background:rgba(0,42,31,.68);border:1px solid rgba(201,166,76,.45);border-right:0;border-radius:8px 0 0 8px;backdrop-filter:blur(9px);box-shadow:0 5px 16px rgba(0,0,0,.18)}body.order-mode .appbar .right,body.admin-mode .appbar .right{top:13px!important;bottom:auto!important;right:14px!important;height:30px;background:rgba(0,42,31,.68);border:1px solid rgba(201,166,76,.45);border-left:1px solid rgba(201,166,76,.28);border-radius:0 8px 8px 0;backdrop-filter:blur(9px);box-shadow:0 5px 16px rgba(0,0,0,.18)}body.order-mode .appbar .tab,body.admin-mode .appbar .tab{padding:5px 8px!important;border:0!important;border-radius:5px!important;background:transparent!important;color:#f5f0df!important;font-size:10px!important;line-height:18px!important;white-space:nowrap}body.order-mode .appbar .tab.active,body.admin-mode .appbar .tab.active{background:rgba(226,190,88,.18)!important;color:#f5d776!important;box-shadow:inset 0 0 0 1px rgba(226,190,88,.23)}body.order-mode .appbar .tab:hover,body.admin-mode .appbar .tab:hover{color:#f8d977!important;background:rgba(226,190,88,.12)!important}body.order-mode .appbar .language,body.admin-mode .appbar .language{height:28px!important;padding:4px 18px 4px 8px!important;border:0!important;border-radius:0 7px 7px 0!important;background:transparent!important;color:#f5f0df!important;font-size:10px!important;line-height:18px!important;appearance:auto}
body.order-mode .appbar .tabs,body.admin-mode .appbar .tabs{top:6px!important;right:52px!important;padding:2px!important;background:rgba(0,38,28,.22)!important;border-color:rgba(226,190,88,.22)!important;border-radius:6px 0 0 6px!important;backdrop-filter:blur(3px)!important;box-shadow:none!important}body.order-mode .appbar .right,body.admin-mode .appbar .right{top:6px!important;right:6px!important;height:24px!important;background:rgba(0,38,28,.22)!important;border-color:rgba(226,190,88,.22)!important;border-left-color:rgba(226,190,88,.14)!important;border-radius:0 6px 6px 0!important;backdrop-filter:blur(3px)!important;box-shadow:none!important}body.order-mode .appbar .tab,body.admin-mode .appbar .tab{padding:3px 6px!important;font-size:9px!important;line-height:14px!important;opacity:.88}body.order-mode .appbar .tab.active,body.admin-mode .appbar .tab.active{background:rgba(226,190,88,.11)!important;box-shadow:inset 0 0 0 1px rgba(226,190,88,.16)!important}body.order-mode .appbar .language,body.admin-mode .appbar .language{height:22px!important;padding:2px 14px 2px 6px!important;font-size:9px!important;line-height:14px!important;background:transparent!important;opacity:.88}
/* Header utility navigation: intentionally unobtrusive over the tropical artwork. */
body.order-mode .appbar .tabs,body.admin-mode .appbar .tabs{top:4px!important;right:44px!important;padding:0!important;background:transparent!important;border-color:rgba(240,212,126,.06)!important;backdrop-filter:none!important;box-shadow:none!important}
body.order-mode .appbar .right,body.admin-mode .appbar .right{top:4px!important;right:4px!important;height:18px!important;background:transparent!important;border-color:rgba(240,212,126,.06)!important;border-left-color:rgba(240,212,126,.04)!important;backdrop-filter:none!important;box-shadow:none!important}
body.order-mode .appbar .tab,body.admin-mode .appbar .tab{padding:2px 5px!important;color:rgba(250,246,226,.82)!important;font-family:'Snell Roundhand','Apple Chancery','URW Chancery L','Noto Serif JP',serif!important;font-size:8px!important;font-weight:600!important;line-height:12px!important;letter-spacing:.045em!important;text-shadow:0 1px 6px rgba(0,15,10,.62)}
body.order-mode .appbar .tab.active,body.admin-mode .appbar .tab.active{background:transparent!important;color:#f2d277!important;box-shadow:none!important}
body.order-mode .appbar .tab:hover,body.admin-mode .appbar .tab:hover{background:rgba(234,202,106,.06)!important;color:#f7da83!important}
body.order-mode .appbar .language,body.admin-mode .appbar .language{height:16px!important;padding:1px 10px 1px 4px!important;background:transparent!important;color:rgba(250,246,226,.82)!important;font-family:'Snell Roundhand','Apple Chancery','URW Chancery L','Noto Serif JP',serif!important;font-style:normal!important;font-size:8px!important;font-weight:600!important;line-height:12px!important;letter-spacing:.055em!important;text-shadow:0 1px 6px rgba(0,15,10,.62)}
@media(max-width:760px){body:before,body:after{width:75vw;height:75vw}.shell nav{height:156px!important;padding-top:12px!important;background-position:center 51%!important}.shell nav .nav-actions{gap:5px}.shell nav .nav-actions select,.shell nav .nav-actions button{padding:7px 9px!important}.shell #modes{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.shell #modes .mode{min-height:166px!important;padding:16px!important}.shell #modes .mode h3{margin-top:24px!important;font-size:20px!important}.shell #modes .mode p{max-width:62%;font-size:12px!important}.shell .hero{padding-top:56px!important}.shell .hero:before{left:0;right:auto}.shell .hero-aside{min-height:150px}.shell h1{font-size:52px!important}.mode h3{font-size:25px!important}.suggestion h3{font-size:27px!important}.food img{width:72px!important;height:72px!important}.wrap h1{font-size:42px!important}.wrap .tools .buttons{flex-wrap:wrap}}
