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

/* The desktop inbox already has a conversation list; only mobile needs back. */
.tim-makeup-app.tm-chat-desktop-pane.tm-chat-detail-page .tm-conversation-head>a[aria-label="Quay lại"]{display:none!important}
.tim-makeup-app.tm-chat-desktop-pane.tm-chat-detail-page.tm-inbox-reference:not(.tm-group-detail) .tm-conversation-head{grid-template-columns:43px minmax(0,1fr) 40px 40px!important}
.tim-makeup-app.tm-chat-desktop-pane.tm-chat-detail-page:not(.tm-group-detail) .tm-conversation-head>img{grid-column:1!important}
.tim-makeup-app.tm-chat-desktop-pane.tm-chat-detail-page:not(.tm-group-detail) .tm-conversation-head>div{grid-column:2!important}
.tim-makeup-app.tm-chat-desktop-pane.tm-chat-detail-page:not(.tm-group-detail) .tm-conversation-head .tm-phone-call{grid-column:3!important}
.tim-makeup-app.tm-chat-desktop-pane.tm-chat-detail-page:not(.tm-group-detail) .tm-conversation-head [data-chat-options]{grid-column:4!important}
.tim-makeup-app.tm-chat-desktop-pane.tm-chat-detail-page.tm-inbox-reference.tm-group-detail .tm-conversation-head{grid-template-columns:40px minmax(0,1fr) 42px 42px!important}
.tim-makeup-app.tm-chat-desktop-pane.tm-chat-detail-page.tm-group-detail .tm-conversation-head>img{grid-column:1!important}
.tim-makeup-app.tm-chat-desktop-pane.tm-chat-detail-page.tm-group-detail .tm-conversation-head>div{grid-column:2!important}
.tim-makeup-app.tm-chat-desktop-pane.tm-chat-detail-page.tm-group-detail .tm-conversation-head .tm-group-members-button{grid-column:3!important}
.tim-makeup-app.tm-chat-desktop-pane.tm-chat-detail-page.tm-group-detail .tm-conversation-head [data-chat-options]{grid-column:4!important}

/* Compact, steady message metadata for both direct and group conversations. */
.tim-makeup-app.tm-chat-page.tm-chat-detail-page.tm-inbox-reference .tm-message[data-chat-bubble]{transition:padding-bottom .22s cubic-bezier(.2,.75,.25,1)!important}
.tim-makeup-app.tm-chat-page.tm-chat-detail-page.tm-inbox-reference .tm-message[data-chat-bubble].tm-message-time-open{padding-bottom:22px!important}
.tim-makeup-app.tm-chat-page.tm-chat-detail-page.tm-inbox-reference .tm-message[data-chat-bubble]>small,
.tim-makeup-app.tm-chat-page.tm-chat-detail-page.tm-inbox-reference .tm-message[data-chat-bubble]:not(.tm-message-time-open)>small{position:absolute!important;left:0!important;right:auto!important;bottom:0!important;display:flex!important;width:max-content!important;max-width:none!important;min-height:18px!important;margin:0!important;padding:0 2px!important;overflow:visible!important;white-space:nowrap!important;opacity:0;visibility:hidden;transform:translateY(-5px);pointer-events:none;transition:opacity .16s ease,transform .22s cubic-bezier(.2,.75,.25,1),visibility 0s linear .22s}
.tim-makeup-app.tm-chat-page.tm-chat-detail-page.tm-inbox-reference .tm-message[data-chat-bubble].is-mine>small{left:auto!important;right:0!important}
.tim-makeup-app.tm-chat-page.tm-chat-detail-page.tm-inbox-reference .tm-message[data-chat-bubble].tm-message-time-open>small{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s;pointer-events:auto}
.tim-makeup-app.tm-chat-page.tm-chat-detail-page.tm-inbox-reference .tm-message[data-chat-bubble]>.tm-message-content{transition:box-shadow .22s ease,transform .22s ease!important}
.tim-makeup-app.tm-chat-page.tm-chat-detail-page.tm-inbox-reference .tm-message[data-chat-bubble].tm-message-time-open>.tm-message-content{box-shadow:0 3px 12px rgba(20,62,48,.1)!important;transform:translateY(-1px)}
.tim-makeup-app.tm-chat-page.tm-chat-detail-page.tm-inbox-reference .tm-message[data-chat-bubble]>.tm-message-actions{position:absolute!important;top:8px!important;left:calc(100% + 6px)!important;right:auto!important;z-index:8;display:block!important;width:26px!important;margin:0!important;opacity:0;visibility:hidden;transform:translateX(-4px) scale(.94);pointer-events:none;transition:opacity .16s ease,transform .22s cubic-bezier(.2,.75,.25,1),visibility 0s linear .22s}
.tim-makeup-app.tm-chat-page.tm-chat-detail-page.tm-inbox-reference .tm-message[data-chat-bubble].is-mine>.tm-message-actions{left:auto!important;right:calc(100% + 6px)!important;transform:translateX(4px) scale(.94)}
.tim-makeup-app.tm-chat-page.tm-chat-detail-page.tm-inbox-reference .tm-message[data-chat-bubble].tm-message-time-open>.tm-message-actions{opacity:1;visibility:visible;transform:translateX(0) scale(1);transition-delay:0s;pointer-events:auto}
.tim-makeup-app.tm-chat-page.tm-chat-detail-page.tm-inbox-reference .tm-message[data-chat-bubble]>.tm-message-actions>summary{display:grid;place-items:center;width:26px;height:26px;border:1px solid #e2ebe7;border-radius:9px;background:#fff;color:#637b72;font-size:16px;line-height:1;box-shadow:0 2px 7px rgba(16,58,43,.07);list-style:none}
.tim-makeup-app.tm-chat-page.tm-chat-detail-page.tm-inbox-reference .tm-message[data-chat-bubble]>.tm-message-actions>summary::-webkit-details-marker{display:none}
.tim-makeup-app.tm-chat-page.tm-chat-detail-page.tm-inbox-reference .tm-message[data-chat-bubble]>.tm-message-actions>summary:hover{background:#f2f8f5;color:var(--tm-color-primary)}
.tim-makeup-app.tm-chat-page.tm-chat-detail-page.tm-inbox-reference .tm-message[data-chat-bubble]>.tm-message-actions[open]>button{position:absolute;top:31px;left:0;min-width:130px;padding:9px 12px;border:1px solid #e1eae5;border-radius:10px;background:#fff;color:#263f37;white-space:nowrap;box-shadow:0 8px 22px rgba(15,55,40,.14)}
.tim-makeup-app.tm-chat-page.tm-chat-detail-page.tm-inbox-reference .tm-message[data-chat-bubble].is-mine>.tm-message-actions[open]>button{left:auto;right:0}
@media(prefers-reduced-motion:reduce){.tim-makeup-app.tm-chat-page.tm-chat-detail-page.tm-inbox-reference .tm-message[data-chat-bubble],.tim-makeup-app.tm-chat-page.tm-chat-detail-page.tm-inbox-reference .tm-message[data-chat-bubble]>.tm-message-content,.tim-makeup-app.tm-chat-page.tm-chat-detail-page.tm-inbox-reference .tm-message[data-chat-bubble]>small,.tim-makeup-app.tm-chat-page.tm-chat-detail-page.tm-inbox-reference .tm-message[data-chat-bubble]>.tm-message-actions{transition:none!important;transform:none!important}}

/* Keep group message actions inside the mobile viewport and prevent side-drag. */
.tim-makeup-app.tm-group-detail .tm-message[data-chat-bubble]>.tm-message-actions:not([open])>button{display:none!important}
.tim-makeup-app.tm-group-detail .tm-message[data-chat-bubble]:not(.is-mine)>.tm-message-actions{top:auto!important;bottom:0!important;left:40px!important;right:auto!important}
.tim-makeup-app.tm-group-detail .tm-message[data-chat-bubble]>.tm-message-actions[open]>button{top:auto!important;bottom:31px!important;left:auto!important;right:0!important;min-width:150px!important}
.tim-makeup-app.tm-group-detail .tm-message[data-chat-bubble].is-mine>.tm-message-actions[open]>button{left:auto!important;right:0!important}
.tim-makeup-app.tm-group-detail .tm-message[data-chat-bubble]>.tm-message-actions[open]>button+button{bottom:75px!important}
@media(max-width:767px){.tim-makeup-app.tm-group-detail.tm-mobile-chat .tm-messages{overflow-x:hidden!important;overscroll-behavior-x:none!important}}

/* 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}
body.tim-brand-massage .hr-categories [data-home-category][hidden]{display:none!important}
body.tim-brand-massage .tm-account-art,
body.tim-brand-massage .reward-wallet:before,
body.tim-brand-massage .gift,
body.tim-brand-massage .share-art,
body.tim-brand-massage .balance-art,
body.tim-brand-massage .history-overview:before{background-image: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.png")!important;object-fit:contain!important;}
/* Match the visible Makeup artwork, accounting for this PNG's wider transparent padding. */
body.tim-brand-massage .tim-makeup-app.tm-auth-mode .tm-phone-otp-logo{width:236px!important;height:116px!important;object-fit:contain!important;transform:scale(1.036,1.091)!important;transform-origin:center center!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}}

/* Match Makeup's polished provider buttons while retaining the Massage brand scope. */
body.tim-brand-massage .tm-auth-socials .tm-auth-social-brand{padding:13px!important;border:1px solid #e5ece9!important;background:linear-gradient(145deg,#fff,#f5f8f7)!important;box-shadow:0 3px 10px rgba(11,49,37,.07)!important;transition:transform .16s ease,box-shadow .16s ease,background .16s ease!important}
body.tim-brand-massage .tm-auth-socials .tm-auth-social-brand:hover{background:#fff!important;box-shadow:0 5px 14px rgba(11,49,37,.11)!important;transform:translateY(-1px)}
body.tim-brand-massage .tm-auth-socials .tm-auth-social-brand:active{transform:scale(.96)}
body.tim-brand-massage .tm-auth-socials .tm-auth-social-brand>svg,
body.tim-brand-massage .tm-auth-socials .tm-auth-social-brand>span:first-child{width:30px!important;height:30px!important;flex:0 0 30px!important}
body.tim-brand-massage .tm-auth-socials .tm-auth-social-brand.is-google>svg{width:28px!important;height:28px!important}
body.tim-brand-massage .tm-auth-socials .tm-auth-social-brand.is-apple svg{width:27px!important;height:27px!important}
body.tim-brand-massage .tm-auth-zalo-login-logo .tm-brand-zalo-mark{display:block;width:30px!important;height:30px!important;overflow:visible}
@media(prefers-reduced-motion:reduce){body.tim-brand-massage .tm-auth-socials .tm-auth-social-brand{transition:none!important}}

/* Same simple profile facts used on Makeup; Massage keeps its own brand colors. */
body.tim-brand-massage .tm-profile-intro-reference .tm-profile-quick-info{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
body.tim-brand-massage .tm-profile-intro-reference .tm-profile-quick-info>div{min-height:52px!important;padding:10px 12px!important;gap:10px!important;border:0!important;border-radius:12px!important;background:#f5f8f7!important}
body.tim-brand-massage .tm-profile-intro-reference .tm-profile-quick-info i{flex-basis:32px!important;width:32px!important;height:32px!important;background:#e7f5ee!important}
body.tim-brand-massage .tm-profile-intro-reference .tm-profile-quick-info small{font-size:11px!important;color:#6b7873!important}
body.tim-brand-massage .tm-profile-intro-reference .tm-profile-quick-info strong{margin-top:2px!important;font-size:13px!important;line-height:1.35!important;color:#233b34!important}
body.tim-brand-massage .tm-profile-intro-reference .tm-profile-location-reference{display:block!important;min-height:0!important;border:0!important;border-radius:12px!important;background:#f5f8f7!important;overflow:hidden!important}
body.tim-brand-massage .tm-profile-intro-reference .tm-profile-map-placeholder{display:block!important;height:150px!important;min-height:150px!important;border-radius:12px 12px 0 0!important;background:#edf5f1!important}
body.tim-brand-massage .tm-profile-intro-reference .tm-profile-location-reference.is-address-only .tm-profile-map-placeholder{display:none!important}
body.tim-brand-massage .tm-profile-intro-reference .tm-profile-location-reference.is-address-only>button{border-radius:12px!important}
body.tim-brand-massage .tm-profile-intro-reference .tm-profile-location-reference>button{width:100%!important;min-height:58px!important;padding:11px 12px!important;gap:10px!important;background:#f5f8f7!important;opacity:1!important;cursor:default!important}
body.tim-brand-massage .tm-profile-intro-reference .tm-profile-location-reference>button>i{display:grid!important;place-items:center!important;flex-basis:32px!important;width:32px!important;height:32px!important;border-radius:50%!important;background:#e7f5ee!important}
body.tim-brand-massage .tm-profile-intro-reference .tm-profile-location-reference strong{display:block!important;margin:2px 0 0!important;font-size:13px!important;line-height:1.35!important;color:#233b34!important;-webkit-line-clamp:unset!important;overflow:visible!important}
body.tim-brand-massage .tm-profile-intro-reference .tm-profile-location-reference b{display:none!important}
body.tim-brand-massage .tm-profile-intro-reference .tm-profile-directions-map,body.tim-brand-massage .tm-profile-intro-reference .tm-profile-directions-link{cursor:pointer!important}
body.tim-brand-massage .tm-profile-intro-reference .tm-profile-directions-link{opacity:1!important}
body.tim-brand-massage .tm-profile-intro-reference .tm-profile-directions-map:focus-visible,body.tim-brand-massage .tm-profile-intro-reference .tm-profile-directions-link:focus-visible{outline:2px solid #078a52!important;outline-offset:-2px!important}
body.tim-brand-massage .tm-service-tools-green>label{display:none!important}

body.tim-brand-massage .tm-service-options{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
body.tim-brand-massage .tm-service-options .tm-config-check{position:relative!important;display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;align-items:center!important;gap:11px!important;min-height:58px!important;padding:10px 13px!important;border:1px solid #dfe8e3!important;border-radius:14px!important;background:#fff!important;color:#294139!important;font-size:15px!important;font-weight:750!important;text-align:left!important;cursor:pointer!important}
body.tim-brand-massage .tm-service-options .tm-config-check input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important}
body.tim-brand-massage .tm-service-choice-mark{display:grid!important;width:26px!important;height:26px!important;place-items:center!important;border:2px solid #aab8b1!important;border-radius:8px!important;background:#fff!important;color:transparent!important;font-style:normal!important;font-size:16px!important}
body.tim-brand-massage .tm-service-options .tm-config-check.is-selected{border-color:#078a52!important;background:#f0faf5!important;box-shadow:0 0 0 1px #078a5220!important}
body.tim-brand-massage .tm-service-options .tm-config-check.is-selected .tm-service-choice-mark{border-color:#078a52!important;background:#078a52!important;color:#fff!important}
body.tim-brand-massage .tm-service-options .tm-config-check:has(input:focus-visible){outline:2px solid #078a52!important;outline-offset:2px!important}
body.tim-brand-massage .tm-store-type-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
body.tim-brand-massage .tm-store-type-choices{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:8px!important}
body.tim-brand-massage .tm-store-type-choice{position:relative!important;display:grid!important;grid-template-columns:26px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;min-height:58px!important;padding:10px 13px!important;border:1px solid #dfe8e3!important;border-radius:14px!important;background:#fff!important;color:#294139!important;font-size:15px!important;font-weight:750!important;cursor:pointer!important}
body.tim-brand-massage .tm-store-type-choice input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important}
body.tim-brand-massage .tm-store-type-mark{display:grid!important;width:24px!important;height:24px!important;place-items:center!important;border:2px solid #aab8b1!important;border-radius:50%!important;background:#fff!important;color:transparent!important;font-style:normal!important;font-size:14px!important}
body.tim-brand-massage .tm-store-type-choice.is-selected{border-color:#078a52!important;background:#f0faf5!important;box-shadow:0 0 0 1px #078a5220!important}
body.tim-brand-massage .tm-store-type-choice.is-selected .tm-store-type-mark{border-color:#078a52!important;background:#078a52!important;color:#fff!important}
body.tim-brand-massage .tm-store-type-choice:has(input:focus-visible){outline:2px solid #078a52!important;outline-offset:2px!important}
body.tim-brand-massage .tm-config-map.is-collapsed{display:none!important}
body.tim-brand-massage .tm-config-map-toggle{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:48px!important;margin:10px 0!important;padding:10px 16px!important;border:1px solid #cfe3d9!important;border-radius:13px!important;background:#f2faf6!important;color:#087e4d!important;font:inherit!important;font-size:14px!important;font-weight:750!important;cursor:pointer!important}
body.tim-brand-massage .tm-config-map-toggle:before{content:'⌖';margin-right:8px;font-size:20px;line-height:1}
body.tim-brand-massage .tm-config-map-toggle[aria-expanded="true"]{background:#fff!important}
body.tim-brand-massage .tm-config-map[data-store-preview]{display:block!important;width:100%;min-height:240px;margin:18px 0 0;border:1px solid #d8e8e1;border-radius:16px;overflow:hidden}
body.tim-brand-massage .tm-config-map[data-store-preview]+[data-map-address]{margin:8px 2px 0}
body.tim-brand-massage .tm-store-location-dialog{position:fixed;inset:0;width:min(100vw,680px);height:100dvh;max-width:none;max-height:none;padding:0;border:0;border-radius:0;background:#fff;overflow:hidden}
body.tim-brand-massage .tm-store-location-dialog::backdrop{background:#122d2880}
body.tim-brand-massage .tm-store-location-dialog iframe{display:block;width:100%;height:100%;border:0}
body.tim-brand-massage .tm-store-location-close{position:absolute;z-index:10;top:10px;right:12px;width:40px;height:40px;border:1px solid #d9e8e1;border-radius:50%;background:#fff;color:#075e50;font-size:27px;line-height:1;cursor:pointer}

body.tim-brand-massage .tm-review-stars-green{justify-content:flex-start!important;gap:8px!important;padding:2px 0!important}
body.tim-brand-massage .tm-review-stars-green label{display:grid!important;place-items:center!important;flex:0 0 36px!important;width:36px!important;height:36px!important;border:0!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important}
body.tim-brand-massage .tm-review-stars-green span{font-size:29px!important;line-height:1!important;color:#d5dad7!important}
body.tim-brand-massage .tm-review-stars-green label:has(input:checked),body.tim-brand-massage .tm-review-stars-green label:has(~ label input:checked){background:transparent!important;box-shadow:none!important;transform:none!important}
body.tim-brand-massage .tm-review-stars-green label:has(input:checked) span,body.tim-brand-massage .tm-review-stars-green label:has(~ label input:checked) span{color:#f5a51c!important}

body.tim-brand-massage .tm-owner-menu>aside{padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))!important;background:#f7faf8!important;color:#17372d!important}
body.tim-brand-massage .tm-owner-menu header{height:44px;margin:0 0 10px!important}body.tim-brand-massage .tm-owner-menu header>span{display:none!important}
body.tim-brand-massage .tm-owner-menu header button{width:42px!important;height:42px!important;border:1px solid #e2ebe6!important;background:#fff!important;color:#24483c!important}
body.tim-brand-massage .tm-owner-menu-account{grid-template-columns:64px minmax(0,1fr)!important;gap:13px!important;margin-bottom:12px!important;padding:14px!important;border:1px solid #e2ebe6!important;border-radius:18px!important;background:#fff!important}
body.tim-brand-massage .tm-owner-menu-account>img{width:64px!important;height:64px!important}body.tim-brand-massage .tm-owner-menu-account strong{font-size:18px!important;color:#17372d!important}body.tim-brand-massage .tm-owner-menu-account a{font-size:13px!important}
body.tim-brand-massage .tm-owner-menu nav{padding:6px 10px!important;border:1px solid #e2ebe6!important;border-radius:18px!important;background:#fff!important}
body.tim-brand-massage .tm-owner-menu-item,body.tim-brand-massage .tm-owner-menu-item.is-featured{grid-template-columns:42px minmax(0,1fr) 18px!important;min-height:58px!important;margin:0!important;padding:0 4px!important;gap:9px!important;border:0!important;border-bottom:1px solid #edf2ef!important;border-radius:0!important;background:transparent!important}
body.tim-brand-massage .tm-owner-menu-item:last-child{border-bottom:0!important}body.tim-brand-massage .tm-owner-menu-icon{width:36px!important;height:36px!important;border-radius:11px!important;background:#eaf7f0!important;color:#078a52!important}body.tim-brand-massage .tm-owner-menu-icon svg{width:22px!important;height:22px!important}body.tim-brand-massage .tm-owner-menu-item>span:nth-child(2){font-size:15px!important;font-weight:700!important;color:#17372d!important}
body.tim-brand-massage .tm-owner-menu-logout{min-height:56px!important;margin-top:12px!important;border:1px solid #f4dde3!important;border-radius:16px!important;background:#fff4f6!important;color:#c83252!important;font-size:15px!important}

/* 2.0.88 — one seamless milk-white canvas matching Tìm Makeup. */
html:has(body.tim-brand-massage .tim-makeup-app.tm-home-mode.tm-home-reference),
body.tim-brand-massage:has(.tim-makeup-app.tm-home-mode.tm-home-reference),
body.tim-brand-massage .tim-makeup-app.tm-home-mode.tm-home-reference,
body.tim-brand-massage .tim-makeup-app.tm-home-mode.tm-home-reference>.tm-shell,
body.tim-brand-massage .tim-makeup-app.tm-home-mode.tm-home-reference .tm-main,
body.tim-brand-massage .tim-makeup-app.tm-home-mode.tm-home-reference .tm-main>.tm-screen{
  background-color:#fafcfa!important;
  background-image:none!important;
}
body.tim-brand-massage .tim-makeup-app.tm-home-mode.tm-home-reference{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  filter:none!important;
}
body.tim-brand-massage .tim-makeup-app.tm-home-mode.tm-home-reference>.tm-shell,
body.tim-brand-massage .tim-makeup-app.tm-home-mode.tm-home-reference .tm-header,
body.tim-brand-massage .tim-makeup-app.tm-home-mode.tm-home-reference .mm-top,
body.tim-brand-massage .tim-makeup-app.tm-home-mode.tm-home-reference .mm-modes{
  background-color:#fafcfa!important;
}
body.tim-brand-massage .tim-makeup-app.tm-home-mode.tm-home-reference .tm-header{
  background-image:none!important;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
body.tim-brand-massage .tim-makeup-app.tm-home-mode.tm-home-reference .mm-top{
  background-image:none!important;
}
/* 2.0.88 — milk-white partner banner art blends into the single home canvas. */
body.tim-brand-massage .tim-makeup-app.tm-home-mode.tm-home-reference .hr-register-banner{
  background-color:#fafcfa!important;
}
body.tim-brand-massage .tim-makeup-app.tm-home-mode.tm-home-reference .hr-register-banner::before{
  background-color:#fafcfa!important;
  background-image:url("partner-register-background-massage-white-v2.png")!important;
}

/* 2.0.56 — Massage botanical backdrop stays on Chat and Account only. */
body.tim-brand-massage .tim-platform-app:is(
  [data-tm-screen="chat"],
  [data-tm-screen="account"]
){
  background-color:#fbfdfc!important;
  background-image:url("home-botanical-bg-v1.webp")!important;
  background-position:center top!important;
  background-size:100% auto!important;
  background-repeat:no-repeat!important;
}
body.tim-brand-massage .tim-platform-app:is(
  [data-tm-screen="chat"],
  [data-tm-screen="account"]
)> .tm-shell,
body.tim-brand-massage .tim-platform-app:is(
  [data-tm-screen="chat"],
  [data-tm-screen="account"]
) .tm-main,
body.tim-brand-massage .tim-platform-app:is(
  [data-tm-screen="chat"],
  [data-tm-screen="account"]
) .tm-main> .tm-screen{
  background-color:transparent!important;
}
body.tim-brand-massage .tim-platform-app[data-tm-screen="chat"] .tm-mobile-chat-screen{
  background-color:rgba(251,253,252,.9)!important;
}

/* 2.0.57: partner gallery is one mobile row of three 3:4 thumbnails. */
body.tim-brand-massage .tim-platform-app.tm-profile-route .tm-gallery-section .tm-gallery,
body.tim-brand-massage .tim-platform-app.tm-profile-route .tm-profile-media-green .tm-gallery{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  width:100%!important;
  overflow:visible!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .tm-gallery-section .tm-gallery>button,
body.tim-brand-massage .tim-platform-app.tm-profile-route .tm-profile-media-green .tm-gallery>button{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  aspect-ratio:3/4!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:11px!important;
  background:#edf4f1!important;
  box-shadow:none!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .tm-gallery-section .tm-gallery>button:nth-child(n+4),
body.tim-brand-massage .tim-platform-app.tm-profile-route .tm-profile-media-green .tm-gallery>button:nth-child(n+4){display:none!important}
body.tim-brand-massage .tim-platform-app.tm-profile-route .tm-gallery-section .tm-gallery>button img,
body.tim-brand-massage .tim-platform-app.tm-profile-route .tm-profile-media-green .tm-gallery>button img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .tm-gallery-modal figure img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}

/* 2.0.58: service detail videos use a consistent 16:9 frame. */
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-service .pl-videos .pl-media{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-service .pl-videos .pl-media>img,
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-service .pl-videos .pl-media>video,
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-service .pl-videos .pl-media .pl-media-poster{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

/* 2.0.59: compact reference-led service cards with one unified media row. */
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-list{
  gap:10px!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route[data-green-profile-ready="1"] .tm-pricing-list .pl-service{
  overflow:hidden!important;
  border:0!important;/* no service card outline */
  border-width:0!important;
  border-style:none!important;
  border-color:transparent!important;
  outline:0!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 3px 12px rgba(7,80,55,.045)!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route[data-green-profile-ready="1"] .tm-pricing-list .pl-service::before{
  display:none!important;/* no left accent rail */
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-trigger{
  display:grid!important;
  grid-template-columns:68px minmax(0,1fr) 36px!important;
  grid-template-rows:auto auto!important;
  column-gap:12px!important;
  row-gap:2px!important;
  align-items:center!important;
  min-height:92px!important;
  padding:12px!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-trigger .pl-avatar{
  grid-column:1!important;
  grid-row:1/3!important;
  width:68px!important;
  height:68px!important;
  border-radius:12px!important;
  object-fit:cover!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-trigger .pl-copy{
  display:block!important;
  grid-column:2!important;
  grid-row:1!important;
  align-self:end!important;
  min-width:0!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-trigger .pl-copy strong{
  display:block!important;
  overflow:hidden!important;
  color:#15251f!important;
  font-size:16px!important;
  line-height:1.25!important;
  font-weight:750!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-trigger .pl-copy small{
  display:none!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-trigger .pl-cost{
  grid-column:2!important;
  grid-row:2!important;
  align-self:start!important;
  justify-self:start!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#078a52!important;
  font-size:16px!important;
  line-height:1.25!important;
  font-weight:800!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-trigger .pl-chevron{
  display:grid!important;
  grid-column:3!important;
  grid-row:1/3!important;
  width:36px!important;
  height:36px!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#eef8f3!important;
  color:#078a52!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-service.is-open>.pl-body{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0 12px 14px!important;
  padding:14px 0 0!important;
  border-top:1px solid #e3ece8!important;
  background:transparent!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-service:not(.is-open)>.pl-body{
  display:none!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-body>.pl-description,
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-body>.pl-includes,
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-body>.pl-note{
  grid-column:1/-1!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-body>h3{
  display:none!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-body>.pl-description{
  display:-webkit-box!important;
  margin:0!important;
  overflow:hidden!important;
  color:#667387!important;
  font-size:13px!important;
  line-height:1.5!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-body>.pl-includes{
  display:grid!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-body>.pl-includes li{
  gap:9px!important;
  color:#667387!important;
  font-size:13px!important;
  line-height:1.4!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-body>.pl-includes .pl-check{
  display:grid!important;
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#078a52!important;
  color:#fff!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-body>.pl-gallery,
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-body>.pl-videos{
  display:contents!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-body .pl-media,
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-service .pl-videos .pl-media{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1/1!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:11px!important;
  background:#e8eeeb!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-body .pl-media img,
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-body .pl-media video{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-body>.pl-note{
  display:flex!important;
  gap:4px!important;
  margin:2px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#667387!important;
  font-size:12px!important;
  line-height:1.45!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-body>.pl-note::before{
  content:"Lưu ý:"!important;
  flex:0 0 auto!important;
  color:#078a52!important;
  font-weight:750!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-body>.pl-note h3{
  display:none!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-body>.pl-note p{
  margin:0!important;
}

/* 2.0.64: custom centered service accordion chevron. */
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-trigger .pl-chevron{
  width:38px!important;
  height:38px!important;
  border:1px solid rgba(7,138,82,.08)!important;
  background:#eff9f4!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 2px 7px rgba(7,80,55,.045)!important;
  transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-trigger .pl-chevron svg{
  display:none!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-trigger .pl-chevron::before{
  content:""!important;
  display:block!important;
  width:8px!important;
  height:8px!important;
  margin-top:-4px!important;
  border-right:2px solid #078a52!important;
  border-bottom:2px solid #078a52!important;
  border-radius:1px!important;
  transform:rotate(45deg)!important;
  transition:transform .2s ease,margin .2s ease!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-service.is-open .pl-trigger .pl-chevron{
  background:#e5f5ed!important;
  box-shadow:inset 0 0 0 1px rgba(7,138,82,.05)!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-service.is-open .pl-trigger .pl-chevron::before{
  margin-top:4px!important;
  transform:rotate(-135deg)!important;
}
body.tim-brand-massage .tim-platform-app.tm-profile-route .pl-trigger:active .pl-chevron{
  transform:scale(.94)!important;
}

/* 2.0.65: exact cross-brand service-card parity. */
body.tim-brand-massage .tim-platform-app.tm-profile-route[data-green-profile-ready="1"] .tm-pricing-list .pl-service .tm-service-facts-green{display:none!important}
body.tim-brand-massage .tim-platform-app.tm-profile-route[data-green-profile-ready="1"] .tm-pricing-list .pl-service.is-open>.pl-body .pl-media{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:1/1!important;border-radius:11px!important}
body.tim-brand-massage .tim-platform-app.tm-profile-route[data-green-profile-ready="1"] .tm-pricing-list .pl-service.is-open .pl-trigger .pl-chevron{background:#e5f5ed!important;box-shadow:inset 0 0 0 1px rgba(7,138,82,.05)!important}

/* 2.0.66: partner cover uses an exact 16:9 frame. */
body.tim-brand-massage .tim-platform-app.tm-profile-route .tm-profile-hero .tm-cover{width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:16/9!important;overflow:hidden!important}
body.tim-brand-massage .tim-platform-app.tm-profile-route .tm-profile-hero .tm-cover>img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}

/* 2.0.67: subtle green service-card surface. */
body.tim-brand-massage .tim-platform-app.tm-profile-route[data-green-profile-ready="1"] .tm-pricing-list .pl-service,
body.tim-brand-massage .tim-platform-app.tm-profile-route[data-green-profile-ready="1"] .tm-pricing-list .pl-service>.pl-trigger{background:#f7fcf9!important}

/* 2.0.68: service chevron right breathing room. */
body.tim-brand-massage .tim-platform-app.tm-profile-route[data-green-profile-ready="1"] .tm-pricing-list .pl-service>.pl-trigger{grid-template-columns:68px minmax(0,1fr) 38px!important;column-gap:12px!important;padding:12px 16px 12px 12px!important}
body.tim-brand-massage .tim-platform-app.tm-profile-route[data-green-profile-ready="1"] .tm-pricing-list .pl-service>.pl-trigger .pl-chevron{justify-self:end!important;margin:0!important}

/* 2.0.69: unified dark-green service-card accents across both brands. */
body.tim-brand-massage .tim-platform-app.tm-profile-route[data-green-profile-ready="1"] .tm-pricing-list .pl-service .pl-cost,
body.tim-brand-massage .tim-platform-app.tm-profile-route[data-green-profile-ready="1"] .tm-pricing-list .pl-service .pl-note::before{color:#015f42!important}
body.tim-brand-massage .tim-platform-app.tm-profile-route[data-green-profile-ready="1"] .tm-pricing-list .pl-service .pl-chevron::before{border-right-color:#015f42!important;border-bottom-color:#015f42!important}
body.tim-brand-massage .tim-platform-app.tm-profile-route[data-green-profile-ready="1"] .tm-pricing-list .pl-service .pl-includes .pl-check{background:#015f42!important}

/* 2.0.70: white borderless service chevron. */
body.tim-brand-massage .tim-platform-app.tm-profile-route[data-green-profile-ready="1"] .tm-pricing-list .pl-service .pl-trigger .pl-chevron,
body.tim-brand-massage .tim-platform-app.tm-profile-route[data-green-profile-ready="1"] .tm-pricing-list .pl-service.is-open .pl-trigger .pl-chevron{border:0!important;background:#fff!important;box-shadow:0 2px 8px rgba(1,95,66,.07)!important}

/* Match Makeup's balanced Google and Apple controls on the shared login screen. */
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-auth-socials>.tm-auth-social-brand{box-sizing:border-box!important;display:grid!important;place-items:center!important;flex:0 0 56px!important;width:56px!important;min-width:56px!important;height:56px!important;min-height:56px!important;padding:0!important;border-radius:50%!important}
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-auth-socials>.tm-auth-social-brand>svg,
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-auth-socials>.tm-auth-social-brand>span:first-child{display:grid!important;place-items:center!important;box-sizing:border-box!important;flex:0 0 26px!important;width:26px!important;height:26px!important;margin:0!important;padding:0!important}
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-auth-socials>.tm-auth-social-brand.is-apple svg{display:block!important;width:25px!important;height:25px!important;margin:auto!important}

/* Phone login uses equal borderless controls and the input's soft-gray surface. */
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-phone-socials{grid-template-columns:repeat(2,minmax(0,1fr))!important}
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-phone-socials>a,
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-phone-socials>button{box-sizing:border-box!important;min-width:0!important;max-width:100%!important;width:100%!important;height:56px!important;min-height:56px!important;padding:0 14px!important;gap:9px!important;border:0!important;border-radius:13px!important;background:#f3f6f5!important;color:#283653!important;box-shadow:none!important;font-size:14px!important;font-weight:600!important}
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-phone-socials>a>span:first-child,
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-phone-socials>button>svg{flex:0 0 28px!important;width:28px!important;height:28px!important}
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-phone-socials>a>span:first-child svg{display:block!important;width:26px!important;height:26px!important;margin:auto!important}

/* Same clean OTP action on Massage: no badge and a consistently drawn arrow. */
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-phone-send{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;height:48px!important;min-height:48px!important;padding:0 42px!important;border-radius:12px!important}
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-phone-send .tm-zalo-mark{display:none!important}
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-phone-send>b{font-size:15px!important;font-weight:700!important;line-height:1.2!important;letter-spacing:0!important}
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-phone-send>span:last-child{position:absolute!important;right:18px!important;top:50%!important;width:18px!important;height:18px!important;transform:translateY(-50%)!important;font-size:0!important;line-height:0!important}
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-phone-send>span:last-child::before{content:"";position:absolute;left:1px;top:8px;width:15px;height:2px;border-radius:2px;background:currentColor}
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-phone-send>span:last-child::after{content:"";position:absolute;right:1px;top:4px;width:9px;height:9px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}

/* Match Makeup's custom flag and neatly spaced country code and number. */
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-phone-input{grid-template-columns:24px 35px 1px minmax(0,1fr)!important;column-gap:9px!important;padding:0 16px!important}
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-phone-input>span:first-child{position:relative;display:block;width:24px;height:16px;border-radius:2px;background:#da251d;font-size:0;line-height:0}
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-phone-input>span:first-child::after{content:"";position:absolute;left:7px;top:3px;width:10px;height:10px;background:#ffde00;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-phone-input>strong{font-size:15px;font-weight:700;color:#26374c;letter-spacing:0}
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-phone-input>i{background:#d4ddda}
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-phone-input>input{min-width:0!important;padding-left:4px!important;color:#23364b!important;font-size:16px!important;font-weight:600!important;letter-spacing:.02em!important;font-variant-numeric:tabular-nums}
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-phone-input>input::placeholder{color:#a0aaa8!important;font-weight:400!important;letter-spacing:0!important}
body.tim-brand-massage .tim-platform-app[data-tm-screen="auth"] .tm-phone-input:focus-within{background:#f3f6f5!important;box-shadow:0 0 0 1.5px rgba(0,135,94,.24)!important}

/* Store address polish: keep the picker behavior and map placement unchanged. */
body.tim-brand-massage .tim-platform-app.tm-config-mode .tm-config .tm-address-group{border-color:#dceae4!important;border-radius:18px!important;box-shadow:0 7px 22px rgba(15,54,35,.055)!important}
body.tim-brand-massage .tim-platform-app.tm-config-mode .tm-config .tm-address-group .tm-config-address{min-height:54px!important;padding-left:12px!important;border-color:#d6e6de!important;border-radius:14px!important;background:#fff!important;box-shadow:0 2px 7px rgba(15,54,35,.035)!important;transition:border-color .18s,box-shadow .18s!important}
body.tim-brand-massage .tim-platform-app.tm-config-mode .tm-config .tm-address-group .tm-config-address>svg{box-sizing:content-box;flex:none;width:20px;height:20px;padding:8px;border-radius:10px;background:#eaf7f0;color:#075e58}
body.tim-brand-massage .tim-platform-app.tm-config-mode .tm-config .tm-address-group .tm-config-address input{min-height:52px!important;padding:10px 14px!important;font-size:14px!important;font-weight:550!important;letter-spacing:-.1px}
body.tim-brand-massage .tim-platform-app.tm-config-mode .tm-address-group .tm-config-map-toggle{min-height:50px!important;gap:9px!important;margin-top:12px!important;border-color:#cce4d7!important;border-radius:14px!important;background:#eef8f2!important;color:#07634f!important;font-weight:700!important;box-shadow:0 2px 5px rgba(15,54,35,.03)!important;transition:background .18s,box-shadow .18s,transform .18s!important}
body.tim-brand-massage .tim-platform-app.tm-config-mode .tm-address-group .tm-config-map-toggle:before{box-sizing:border-box;content:''!important;display:block;flex:none;width:18px;height:18px;margin:0!important;border:1.7px solid currentColor;border-radius:50%;background:radial-gradient(circle at center,currentColor 0 2px,transparent 2.5px)}
body.tim-brand-massage .tim-platform-app.tm-config-mode .tm-address-group .tm-config-map-toggle:hover{background:#e4f4eb!important;box-shadow:0 4px 10px rgba(15,54,35,.07)!important}
body.tim-brand-massage .tim-platform-app.tm-config-mode .tm-address-group .tm-config-map-toggle:focus-visible{outline:2px solid #087e4d!important;outline-offset:3px!important}
@media(min-width:1024px){body.tim-brand-massage .tim-platform-app.tm-config-mode .tm-address-group>.tm-config-map-toggle{margin:0!important}}
@media(prefers-reduced-motion:reduce){body.tim-brand-massage .tim-platform-app.tm-config-mode .tm-address-group .tm-config-map-toggle,body.tim-brand-massage .tim-platform-app.tm-config-mode .tm-config .tm-address-group .tm-config-address{transition:none!important}}
/* Keep the address icon and editable text inside one continuous field. */
body.tim-brand-massage .tim-platform-app.tm-config-mode .tm-config .tm-address-group .tm-config-address>svg{box-sizing:border-box!important;width:20px!important;height:20px!important;padding:0!important;border-radius:0!important;background:none!important;margin-left:2px!important}
body.tim-brand-massage .tim-platform-app.tm-config-mode .tm-config .tm-address-group .tm-config-address input:not([type=checkbox]):not([type=radio]):not([type=file]){min-width:0!important;flex:1!important;height:52px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:10px 13px!important}
body.tim-brand-massage .tim-platform-app.tm-config-mode .tm-config .tm-address-group .tm-config-address input:not([type=checkbox]):not([type=radio]):not([type=file]):focus{border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important}
/* Draw a proper map pin for the location picker and fit the longer label. */
body.tim-brand-massage .tim-platform-app.tm-config-mode .tm-address-group .tm-config-map-toggle:before{content:none!important;display:none!important}
body.tim-brand-massage .tim-platform-app.tm-config-mode .tm-address-group .tm-config-map-toggle svg{display:block;flex:none;width:19px;height:19px;color:currentColor}
body.tim-brand-massage .tim-platform-app.tm-config-mode .tm-address-group .tm-config-map-toggle span{white-space:nowrap}
@media(min-width:1024px){body.tim-brand-massage .tim-platform-app.tm-config-mode .tm-config .tm-address-group{grid-template-columns:minmax(0,1fr) 230px!important}}
/* Desktop store location picker: use the map canvas instead of a phone-width column. */
@media(min-width:900px){
 body.tim-brand-massage .tm-store-location-dialog{box-sizing:border-box;width:min(94vw,1120px)!important;height:min(92dvh,900px)!important;margin:auto!important;border:1px solid #d6e5df!important;border-radius:22px!important;box-shadow:0 24px 70px rgba(11,43,38,.22)!important}
 body.tim-brand-massage .tm-store-location-close{top:14px!important;right:16px!important;width:38px!important;height:38px!important;font-size:24px!important}
}
@media(min-width:700px){
 body.tm-store-picker-frame{overflow:hidden!important}
 body.tm-store-picker-frame .tim-makeup-app.tm-map-mode{box-sizing:border-box;max-width:none!important;width:100%!important;min-height:100dvh!important;margin:0!important}
 body.tm-store-picker-frame .tim-makeup-app.tm-map-mode .tm-main,body.tm-store-picker-frame .tim-makeup-app.tm-map-mode .tm-map-screen{box-sizing:border-box;width:100%!important;height:100dvh!important;min-height:100dvh!important;max-width:none!important}
 body.tm-store-picker-frame .tim-makeup-app.tm-map-mode .tm-map-screen{margin:0!important}
 body.tm-store-picker-frame .tim-makeup-app.tm-map-mode .tm-live-map{inset:0!important;width:100%!important;height:100%!important;min-height:0!important}
 body.tm-store-picker-frame .tim-makeup-app.tm-map-mode .tm-map-search{top:74px!important;left:24px!important;right:auto!important;box-sizing:border-box;width:min(420px,calc(100% - 48px))!important}
 body.tm-store-picker-frame .tim-makeup-app.tm-map-mode .tm-map-sheet{left:auto!important;right:24px!important;bottom:24px!important;box-sizing:border-box;width:min(370px,calc(100% - 48px))!important;max-width:none!important;border:1px solid #dce9e3!important;box-shadow:0 12px 36px rgba(11,43,38,.18)!important}
 body.tm-store-picker-frame .tim-makeup-app.tm-map-mode .tm-map-locate{right:414px!important;bottom:28px!important}
 body.tm-store-picker-frame #tm-global-footer{display:none!important}
}
@media(min-width:700px) and (max-width:820px){body.tm-store-picker-frame .tim-makeup-app.tm-map-mode .tm-map-locate{right:24px!important;bottom:220px!important}}
/* The embedded picker owns its title bar; hide the site's desktop header inside it. */
@media(min-width:700px){
 body.tm-store-picker-frame .tm-desktop-header{display:none!important}
 body.tm-store-picker-frame .tim-makeup-app.tm-map-mode .tm-main{margin:0!important;padding:0!important}
 body.tm-store-picker-frame .tim-makeup-app.tm-map-mode .tm-map-screen{inset:0!important}
}
/* Override desktop-shell's stronger fixed header and outer gutters inside the modal only. */
@media(min-width:700px){
 html body.tm-store-picker-frame .tim-platform-app .tm-desktop-header{display:none!important;height:0!important;min-height:0!important}
 html body.tm-store-picker-frame .tim-platform-app.tm-map-mode>.tm-shell{box-sizing:border-box;width:100%!important;height:100dvh!important;min-height:100dvh!important;margin:0!important;padding:0!important}
}
/* Compact, balanced store picker on phones; do not change the standalone map. */
@media(max-width:699px){
 body.tim-brand-massage .tm-store-location-dialog{box-sizing:border-box;width:100vw!important;max-width:100vw!important;height:100dvh!important;margin:0!important;border:0!important;border-radius:0!important}
 body.tim-brand-massage .tm-store-location-close{top:12px!important;right:14px!important;width:38px!important;height:38px!important;font-size:24px!important}
 body.tm-store-picker-frame #tm-global-footer{display:none!important}
 body.tm-store-picker-frame .tim-makeup-app.tm-map-mode .tm-map-sheet{box-sizing:border-box;left:12px!important;right:12px!important;bottom:max(12px,env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;margin:0!important;padding:12px 14px 14px!important;border-radius:20px!important;box-shadow:0 8px 26px rgba(11,43,38,.16)!important}
 body.tm-store-picker-frame .tim-makeup-app.tm-map-mode .tm-map-locate{right:18px!important;bottom:220px!important}
 body.tm-store-picker-frame .tim-makeup-app.tm-map-mode .tm-map-search{left:14px!important;right:14px!important;top:72px!important;margin:0!important}
}
/* Native-feeling mobile gestures: UI chrome must not become a blue text selection. */
@media(max-width:699px){
 body.tim-brand-massage .tim-platform-app,
 body.tim-brand-massage .tim-platform-app *,
 body.tim-brand-massage #tm-global-footer,
 body.tim-brand-massage #tm-global-footer *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}
 body.tim-brand-massage .tim-platform-app input,
 body.tim-brand-massage .tim-platform-app textarea,
 body.tim-brand-massage .tim-platform-app [contenteditable=true],
 body.tim-brand-massage .tim-platform-app [contenteditable=true] *{-webkit-user-select:text!important;user-select:text!important;-webkit-touch-callout:default!important}
 body.tim-brand-massage .tim-platform-app a,
 body.tim-brand-massage .tim-platform-app img,
 body.tim-brand-massage .tim-platform-app svg,
 body.tim-brand-massage #tm-global-footer a,
 body.tim-brand-massage #tm-global-footer img,
 body.tim-brand-massage #tm-global-footer svg{-webkit-user-drag:none!important}
 body.tim-brand-massage .tim-platform-app button,
 body.tim-brand-massage .tim-platform-app a,
 body.tim-brand-massage .tim-platform-app [role=button],
 body.tim-brand-massage .tim-platform-app [role=tab],
 body.tim-brand-massage #tm-global-footer a{-webkit-tap-highlight-color:transparent!important}
 body.tim-brand-massage .tim-platform-app .tm-tap-pressed,
 body.tim-brand-massage #tm-global-footer .tm-tap-pressed{transform:scale(.985)!important;filter:brightness(.975)!important;opacity:.94!important;transition:transform 90ms ease-out,filter 90ms ease-out,opacity 90ms ease-out!important}
 body.tim-brand-massage .tim-platform-app .tm-tap-confirmed,
 body.tim-brand-massage #tm-global-footer .tm-tap-confirmed{filter:brightness(.96) saturate(.98)!important;transition:filter 160ms ease-out!important}
 body.tim-brand-massage .tim-platform-app .tm-tap-loading,
 body.tim-brand-massage #tm-global-footer .tm-tap-loading{animation:tm-massage-tap-wait .72s ease-in-out infinite alternate!important}
 body.tim-brand-massage.tm-nav-pending:after{content:"";position:fixed;z-index:2147483647;top:0;left:0;width:34%;height:2px;border-radius:0 999px 999px 0;background:#087e68;box-shadow:0 1px 5px rgba(8,126,104,.24);pointer-events:none;animation:tm-massage-nav-progress 1.05s ease-in-out infinite}
}
@keyframes tm-massage-tap-wait{from{filter:brightness(.97)}to{filter:brightness(.9)}}
@keyframes tm-massage-nav-progress{0%{transform:translateX(-105%)}70%,100%{transform:translateX(295%)}}
@media(prefers-reduced-motion:reduce){body.tim-brand-massage .tm-tap-pressed{transform:none!important}body.tim-brand-massage .tm-tap-loading,body.tim-brand-massage.tm-nav-pending:after{animation:none!important}}
