body.tim-brand-massage .tim-platform-app{
  --tim-brand-primary:#078a52;
  --tim-brand-accent:#e84b63;
}

/* Balanced 21:9 action buttons: visible photography, real HTML labels. */
body.tim-brand-massage .tim-makeup-app.mm-reference .mm-modes{gap:8px;padding-top:10px}
body.tim-brand-massage .tim-makeup-app.mm-reference .mm-mode{padding:0 18px;border-radius:10px;color:#fff!important;box-shadow:0 3px 10px rgba(7,50,40,.13)}
body.tim-brand-massage .tim-makeup-app.mm-reference .mm-mode::before{background:linear-gradient(90deg,rgba(3,27,23,.62) 0%,rgba(3,27,23,.35) 48%,rgba(3,27,23,.04) 80%)}
body.tim-brand-massage .tim-makeup-app.mm-reference .mm-mode-copy{gap:4px}
body.tim-brand-massage .tim-makeup-app.mm-reference .mm-mode-copy strong{color:#fff!important;font-size:18px;line-height:1.1;letter-spacing:-.2px}
body.tim-brand-massage .tim-makeup-app.mm-reference .mm-mode-copy small{color:rgba(255,255,255,.94)!important;font-size:11px;line-height:1.25}
body.tim-brand-massage .tim-makeup-app.mm-reference .mm-mode-arrow{width:36px;height:36px;flex-basis:36px;color:#087e62!important;font-size:20px}

/* 2.0.10: header, search and hero mirror the current Tìm Makeup home layout. */
body.tim-brand-massage .tim-makeup-app.mm-reference .mm-header{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:16px;height:auto!important;min-height:0!important;padding:14px 16px!important;background:#fbfdfc!important;border:0!important;box-shadow:none!important;position:relative!important}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-brand{display:flex;align-items:center;gap:8px;flex:0 1 auto;max-width:calc(100% - 60px);min-width:0;line-height:1.2;text-decoration:none}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-brand-symbol{display:block;position:relative;width:32px;flex:0 0 32px;aspect-ratio:350/430;overflow:hidden}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-brand-image{position:absolute;left:-67%;top:-17%;width:237%;height:auto;max-width:none;display:block;filter:none!important;mix-blend-mode:multiply}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-brand-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-brand-copy strong{display:block;font-size:22px;line-height:1.15;letter-spacing:-.6px;font-weight:750;white-space:nowrap;color:#078a52!important}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-brand-copy strong b{font-weight:inherit;color:#e84b63!important}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-brand-copy small{display:block;margin:0;font-size:10px;line-height:1.3;color:#667085!important;white-space:nowrap}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-bell{display:grid;place-items:center;position:relative;width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:#fff;color:#078a52;text-decoration:none}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-bell svg{width:23px;height:23px}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-bell i{position:absolute;width:8px;height:8px;border:2px solid #fff;border-radius:50%;background:#e84b63;right:10px;top:8px}
body.tim-brand-massage .tim-makeup-app.mm-reference .mm-top{padding:0 16px;background:#fbfdfc}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-search{display:flex;align-items:center;gap:10px;height:48px;padding:0 4px 0 14px;margin:0 0 16px;background:#fff;border:1px solid #e7eee9;border-radius:16px;color:#667085;box-shadow:0 2px 8px #0f362303}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-search>svg{width:21px;height:21px;flex:none}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-search input{width:100%;min-width:0;height:44px!important;min-height:0!important;padding:0!important;border:0!important;outline:0;background:transparent!important;box-shadow:none!important;color:#071b20;font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-search input::placeholder{color:#667085;opacity:1}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-search>a{display:grid;place-items:center;width:44px;height:44px;flex:none;color:#078a52;text-decoration:none}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-search>a svg{width:22px;height:22px}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-hero{position:relative;isolation:isolate;aspect-ratio:1.88;height:auto;margin:0 0 24px;border-radius:20px;overflow:hidden;background:#e6f5ee}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% center;z-index:-1}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-hero-copy{padding:20px 16px;color:#07573f}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-hero h1{margin:0 0 10px;font-size:5.8cqw;line-height:1.1;letter-spacing:-.8px;font-weight:750;color:#07573f}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-hero p{margin:0 0 14px;font-size:2.85cqw;line-height:1.45;color:#07573f}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-hero-copy>a{display:inline-flex;align-items:center;gap:8px;min-height:40px!important;padding:10px 14px;border-radius:12px;background:#078a52;color:#fff;font-size:13px;line-height:1.25;font-weight:650;text-decoration:none}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-hero-copy>a svg{width:17px;height:17px}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-dots{position:absolute;bottom:9px;left:18px;display:flex;align-items:center;gap:7px;height:auto}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-dots button{position:relative;width:5px;height:5px;min-height:0!important;padding:0;border:0;border-radius:50%;background:#ffffffc9}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-dots button[aria-pressed=true]{background:#07573f}
body.tim-brand-massage .tim-makeup-app.mm-reference .hr-search:focus-within{border-color:#078a52;box-shadow:0 0 0 3px #e6f5ee}
@media(max-width:360px){body.tim-brand-massage .tim-makeup-app.mm-reference .mm-header{padding-inline:12px!important;gap:6px}body.tim-brand-massage .tim-makeup-app.mm-reference .mm-top{padding-inline:12px}body.tim-brand-massage .tim-makeup-app.mm-reference .hr-hero-copy{padding:16px 13px}body.tim-brand-massage .tim-makeup-app.mm-reference .hr-hero p{margin-bottom:10px}body.tim-brand-massage .tim-makeup-app.mm-reference .hr-hero-copy>a{min-height:36px!important;padding:8px 12px;font-size:12px}}
body.tim-brand-massage .tm-seven-logo{
  background-image:none!important;
  background-position:center!important;
  background-size:contain!important;
}
body.tim-brand-massage .tm-seven-logo>img{
  display:block;width:100%;height:100%;object-fit:contain;
}
body.tim-brand-massage .hr-brand-image{object-fit:contain}
body.tim-brand-massage .tm-home-reference .hr-brand-symbol{width:32px!important;flex:0 0 32px!important;aspect-ratio:350/430!important;overflow:hidden!important}
body.tim-brand-massage .tm-home-reference .hr-brand-symbol .hr-brand-image{position:absolute!important;left:-67%!important;top:-17%!important;width:237%!important;height:auto!important;max-width:none!important;object-fit:initial!important;mix-blend-mode:multiply}
body.tim-brand-massage .tm-home-reference .hr-hero h1{font-size:5.8cqw!important}
body.tim-brand-massage .tm-home-reference .hr-category-photo{background-color:#eef7f2;background-repeat:no-repeat!important}
body.tim-brand-massage .hr-categories a[hidden]{display:none!important}
/* Screenshot reference 941 x 1672, owner supplied. Scope: Massage home only. */
body.tim-brand-massage .tim-makeup-app.mm-reference{container-type:inline-size;max-width:430px!important;margin:auto!important;background:#fbfdfc!important;min-height:100dvh;color:#071b20;font-family:Arial,sans-serif}
body.tim-brand-massage .mm-reference .tm-shell{padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important}
.mm-reference .mm-header{height:15cqw;padding:2.8cqw 6.4cqw 1.6cqw;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;background:url('home-reference.webp') 0 -5cqw / 100cqw auto}
.mm-identity{display:flex;align-items:center;gap:2.2cqw}.mm-pin{width:7.2cqw;height:7.2cqw;display:block}.mm-pin svg{width:100%;height:100%}.mm-name{font-size:3.3cqw;font-weight:700;line-height:1.3;color:#052e2a;text-decoration:none;white-space:nowrap}.mm-name span{font-size:3.4cqw;font-weight:400;margin-left:.5cqw;color:#32675c}.mm-location{display:flex;gap:.7cqw;align-items:center;color:#666876;text-decoration:none;font-size:2.4cqw;line-height:1.4}.mm-location>span:first-child{color:#202a49}.mm-bell{width:5cqw;height:5cqw;display:block;color:#141b30}.mm-bell svg{width:100%;height:100%}
.mm-reference .mm-main{padding:0!important;margin:0!important;outline:none}.mm-search{height:7.2cqw;margin:1.4cqw 5cqw 0;display:flex;align-items:center;gap:2.5cqw;padding:0 2.8cqw;border-radius:9cqw;background:#fff;box-shadow:0 2px 10px #14251e0a;border:1px solid #f0f2f0}.mm-search>svg{width:3.5cqw;height:3.5cqw;flex:none}.mm-search input{min-width:0;width:100%;border:0!important;padding:0!important;box-shadow:none!important;background:transparent!important;font:2.5cqw Arial,sans-serif!important;height:auto!important;color:#17242a}.mm-search input::placeholder{color:#9699a1}.mm-search button{padding:0;border:0;background:none;color:#007c62;width:3.8cqw;height:3.8cqw;flex:none;min-height:0!important}.mm-search button svg{width:100%;height:100%}
.mm-hero{position:relative;height:35.4cqw;background:url('home-reference.webp') 0 -24.4cqw / 100cqw auto no-repeat}.mm-hero-cta{position:absolute;left:6.7%;top:72%;width:25%;height:19%;border-radius:8cqw}.mm-modes{display:grid;grid-template-columns:1fr;gap:2cqw;padding:2.2cqw 3.6cqw 0;background:white;border-radius:2.5cqw 2.5cqw 0 0}.mm-mode{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;aspect-ratio:21/9;min-height:88px;padding:0 4.2cqw;overflow:hidden;border:1px solid rgba(255,255,255,.42);border-radius:2.6cqw;background-position:center;background-size:cover;background-repeat:no-repeat;box-shadow:0 1.4cqw 3.8cqw rgba(7,50,40,.14);color:#fff;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}.mm-mode::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,34,28,.82) 0%,rgba(3,34,28,.6) 44%,rgba(3,34,28,.06) 78%)}.mm-mode:hover{transform:translateY(-1px);box-shadow:0 1.8cqw 4.4cqw rgba(7,50,40,.19)}.mm-mode:active{transform:scale(.99)}.mm-home{background-image:url('massage-at-home-21x9.webp')}.mm-store{background-image:url('massage-at-store-21x9.webp')}.mm-mode-copy{display:flex;min-width:0;flex-direction:column;gap:1cqw}.mm-mode-copy strong{font-size:4.1cqw;line-height:1.08;font-weight:750;letter-spacing:-.08cqw;text-shadow:0 1px 3px rgba(0,0,0,.18)}.mm-mode-copy small{font-size:2.45cqw;line-height:1.25;font-weight:500;color:rgba(255,255,255,.9)}.mm-mode-arrow{display:grid;width:8.3cqw;height:8.3cqw;flex:0 0 8.3cqw;place-items:center;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:#fff;color:#087e62;font-size:4.7cqw;line-height:1;box-shadow:0 1px 5px rgba(0,0,0,.12)}
.mm-services{padding:2.5cqw 4.2cqw 0}.mm-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5cqw}.mm-heading h2{font-size:3cqw;line-height:1.25;font-weight:700;letter-spacing:-.08cqw;margin:0;color:#131a30}.mm-heading>a{font-size:2.2cqw;color:#37816a;text-decoration:none}.mm-heading>a span{font-size:3.2cqw;margin-left:.5cqw}.mm-categories{display:grid;grid-template-columns:repeat(4,1fr);gap:1.8cqw 2.5cqw}.mm-categories>a{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.7cqw;text-decoration:none;color:#141726;font-size:2.25cqw;line-height:1.17;min-width:0}.mm-category-image{display:block;width:14.3cqw;height:14.3cqw;border-radius:50%;background:url('home-reference.webp') calc(var(--sprite-x) / -9.41 * 1cqw) calc(var(--sprite-y) / -9.41 * 1cqw) / 100cqw auto no-repeat;flex:none}.mm-categories>a>span:last-child{min-height:5.3cqw}
.mm-offer{position:relative;height:24.8cqw;margin:3.8cqw 3.6cqw 0;border-radius:2.4cqw;overflow:hidden;background:url('home-reference.webp') -3.6cqw -134.54cqw / 100cqw auto no-repeat}.mm-offer>a{position:absolute;left:3.5%;bottom:8%;width:25%;height:25%;border-radius:8cqw}.mm-dots{height:4.2cqw;display:flex;gap:1.3cqw;align-items:center;justify-content:center}.mm-dots i{width:1.7cqw;height:.9cqw;background:#e0e4e4;border-radius:2cqw}.mm-dots i:first-child{background:#00866b}
.mm-reference{padding-bottom:0!important}.mm-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mm-reference a:focus-visible,.mm-reference button:focus-visible{outline:2px solid #078a52;outline-offset:3px}
body.tim-brand-massage .tim-makeup-app.mm-reference .mm-header{background:#fbfdfc;height:12.5cqw}
body.tim-brand-massage .tim-makeup-app.mm-reference .mm-heading>a{min-height:0!important;padding:0!important;line-height:1.4}
body.tim-brand-massage .tim-makeup-app.mm-reference .mm-categories>a{min-height:0!important;font-size:2.5cqw}
body.tim-brand-massage .tim-makeup-app.mm-reference .mm-search input{min-height:0!important;line-height:1.2!important}
body.tim-brand-massage .tim-makeup-app.mm-reference .mm-name{min-height:0!important;display:block}
body.tim-brand-massage .tim-makeup-app.mm-reference .mm-location{min-height:0!important;max-width:60cqw;overflow:hidden;white-space:nowrap}
body.tim-brand-massage .tim-makeup-app.mm-reference #tm-main.mm-main .mm-search input[type="search"]{font-size:2.5cqw!important;font-family:Arial,sans-serif!important;line-height:1.3!important;height:auto!important;min-height:0!important}
body.tim-brand-massage .tim-makeup-app.mm-reference #tm-main.mm-main .mm-search input[type="search"]::placeholder{font-size:inherit!important}
/* Mobile home uses category data and card artwork from the shared core. */
body.tim-brand-massage .tim-makeup-app.mm-reference .tm-shell{display:flex;flex-direction:column;min-height:100dvh!important;padding:0 0 82px!important}
body.tim-brand-massage .tim-makeup-app.mm-reference .mm-main{flex:0 0 auto}
body.tim-brand-massage .tim-makeup-app.mm-reference .mm-core-categories{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:8px;row-gap:9px;margin:0 0 17px}
body.tim-brand-massage .tim-makeup-app.mm-reference .mm-core-categories .tm-category{width:100%;height:84px!important;min-height:84px!important;aspect-ratio:auto!important;justify-content:flex-start;padding:0!important;gap:6px;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
body.tim-brand-massage .tim-makeup-app.mm-reference .mm-core-categories .tm-category-photo{display:block;width:58px;height:58px;flex:0 0 58px;border:0;border-radius:50%;box-shadow:none}
body.tim-brand-massage .tim-makeup-app.mm-reference .mm-core-categories .tm-category strong{width:100%;min-height:20px;flex:0;margin:0;font-size:9px;line-height:1.18;font-weight:550}
body.tim-brand-massage .tim-makeup-app.mm-reference .mm-category-loading,body.tim-brand-massage .tim-makeup-app.mm-reference .mm-category-retry{grid-column:1/-1;min-height:18cqw;display:grid;place-items:center;color:#527067;font-size:3cqw;text-decoration:none}
@media(max-width:400px){
 body.tim-brand-massage .tim-makeup-app.mm-reference .mm-core-categories{column-gap:5px}
 body.tim-brand-massage .tim-makeup-app.mm-reference .mm-core-categories .tm-category{height:82px!important;min-height:82px!important}
 body.tim-brand-massage .tim-makeup-app.mm-reference .mm-core-categories .tm-category-photo{width:54px;height:54px;flex-basis:54px}
 body.tim-brand-massage .tim-makeup-app.mm-reference .mm-core-categories .tm-category strong{font-size:8.5px}
}

/* 2.0.22 — mirror the approved Tìm Makeup 1.0.4 logo placement exactly. */
body.tim-brand-massage .tim-makeup-app.tm-home-mode.tm-home-reference .tm-header .hr-brand,
body.tim-brand-massage .tim-makeup-app.mm-reference .tm-header .hr-brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;width:190px;flex:0 0 190px;max-width:calc(100% - 60px);text-decoration:none;}
body.tim-brand-massage .tim-makeup-app.tm-home-mode.tm-home-reference .tm-header .hr-brand-symbol,
body.tim-brand-massage .tim-makeup-app.mm-reference .tm-header .hr-brand-symbol{display:block;position:relative;width:190px!important;height:42px;flex:none!important;margin:0;padding:0;overflow:hidden;border:0;border-radius:0;box-shadow:none;aspect-ratio:auto!important;background:transparent url("tim-massage-logo-horizontal.png") center / 210px auto no-repeat;mix-blend-mode:multiply;}
body.tim-brand-massage .tim-makeup-app.tm-home-mode.tm-home-reference .tm-header .hr-brand-image,
body.tim-brand-massage .tim-makeup-app.mm-reference .tm-header .hr-brand-image,
body.tim-brand-massage .tim-makeup-app.tm-home-mode.tm-home-reference .tm-header .hr-brand-copy strong,
body.tim-brand-massage .tim-makeup-app.mm-reference .tm-header .hr-brand-copy strong{display:none!important;}
body.tim-brand-massage .tim-makeup-app.tm-home-mode.tm-home-reference .tm-header .hr-brand-copy,
body.tim-brand-massage .tim-makeup-app.mm-reference .tm-header .hr-brand-copy{display:block;padding:0;margin:0 0 0 4px;}
body.tim-brand-massage .tim-makeup-app.tm-home-mode.tm-home-reference .tm-header .hr-brand-copy small,
body.tim-brand-massage .tim-makeup-app.mm-reference .tm-header .hr-brand-copy small{display:block;margin:0;font-size:10px;line-height:12px;color:#667085!important;font-weight:400;white-space:nowrap;}
body.tim-brand-massage .tm-seven-logo>img,
body.tim-brand-massage .tm-auth-brand img,
body.tim-brand-massage .tm-auth-otp-brand img,
body.tim-brand-massage .tm-auth-logo img{content:url("logo-auth.png")!important;object-fit:contain!important;}

/* Keep the guest store inbox tappable inside persistent Flutter WebViews. */
.tim-platform-app[data-tim-brand="massage"].tm-massage-guest-inbox [data-chat-mode="store"]{pointer-events:auto!important;cursor:pointer!important;opacity:1!important}

/* Use one first-paint owner while the shared screen is still loading. */
body.tim-brand-massage .tim-platform-app:has(> .tm-shell > .tm-main > .tm-loading:not([hidden])) > .tm-shell > .tm-header,
body.tim-brand-massage .tim-platform-app:has(> .tm-shell > .tm-main > .tm-loading:not([hidden])) > .tm-shell > .tm-nav{visibility:hidden!important}
body.tim-brand-massage .tim-platform-app > .tm-shell > .tm-main > .tm-loading:not([hidden]){position:fixed!important;inset:0!important;z-index:1000!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:100dvh!important;margin:0!important;padding:0!important;background:#fbfdfc!important}
body.tim-brand-massage .tim-platform-app > .tm-shell > .tm-main > .tm-loading:not([hidden]) > span:not(.screen-reader-text){width:8px!important;height:8px!important;border:0!important;border-radius:999px!important;background:#078a52!important;animation:tm-massage-boot-pulse .9s ease-in-out infinite alternate!important}
body.tim-brand-massage .tim-platform-app > .tm-shell > .tm-main > .tm-loading:not([hidden]) > span:nth-child(2){animation-delay:.15s!important}
body.tim-brand-massage .tim-platform-app > .tm-shell > .tm-main > .tm-loading:not([hidden]) > span:nth-child(3){animation-delay:.3s!important}
@keyframes tm-massage-boot-pulse{from{opacity:.28;transform:scale(.78)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){body.tim-brand-massage .tim-platform-app > .tm-shell > .tm-main > .tm-loading:not([hidden]) > span:not(.screen-reader-text){animation:none!important;opacity:.7}}
