/* Reference design refinements and new functional views. */
.v4-app{background:linear-gradient(180deg,transparent 80px,#fff4f8e8 420px,#fff7fa 900px),url('assets/header-bg.jpg') center top/100% auto no-repeat;min-height:100dvh;padding-top:14px}.top-header .brand{font-size:30px;font-weight:900}.top-header .subbrand{letter-spacing:4px}.city-pill{box-shadow:0 6px 24px #ed8fb81c}.city-pill:first-letter{color:#ff1677}.v4-app .top-header{margin-bottom:18px}.v4-app .carousel{height:auto;aspect-ratio:2.22;border-radius:18px}.carousel-track,.carousel-track img{height:100%;width:100%}.carousel-track img{object-fit:cover}.lux-banner{min-height:58px;margin:9px 0;padding:9px 12px;gap:8px;background:linear-gradient(120deg,#ffbed8ba,#fff0f5ad,#ffc0dabb)}.lux-banner .gem{width:76px;height:55px;flex-shrink:0;font-size:0;background:url('assets/crown-heart.png') center/contain no-repeat}.lux-banner[href] .gem{background-image:url('assets/heart-planet.png')}.lux-banner b{font-size:18px}.lux-banner small{font-size:10px;margin-top:3px}.lux-banner em{font-size:11px;padding:11px 13px}.people-section h2 small{max-width:none;font-size:10px}.people-section .section{margin:8px 0}.home-people{gap:7px}.mini-photo{height:auto;aspect-ratio:1}.mini-person{border-radius:10px}.mini-person>b{font-size:13px}.mini-person>strong{font-size:15px}.blue .mini-person>strong{color:#3264ff}.people-section .link{font-size:11px}.v4-app .growth{background:url('assets/crown-crystal.png') right center/27% auto no-repeat,linear-gradient(115deg,#ff4b90,#ffb6d4);padding-right:26%;min-height:72px}.growth .row{gap:4px;flex-wrap:wrap}.growth .row small{font-size:10px}.balance-card{background:url('assets/heart-pendant.png') right center/48% auto no-repeat,linear-gradient(120deg,#ffbad5,#ffedf4)!important}.member-tile{background:url('assets/crown-heart.png') right bottom/45% auto no-repeat,linear-gradient(120deg,#fffafc,#ffdeeb)}.profile-hero{margin:20px 0 12px}.profile-hero .avatar{object-fit:cover}.v4-app .order-card{padding:9px;border-radius:18px}.order-photo{width:27%;height:auto;aspect-ratio:1/1.05}.order-title{display:flex;justify-content:space-between;gap:4px}.order-title span{font-size:10px;color:#ef7191;background:#fff0f5;border-radius:12px;padding:4px 6px}.order-actions{margin-top:6px}.order-actions .compact{min-height:30px;padding:7px 12px;font-size:11px}.v4-app .order-tabs{gap:8px}.order-tabs button{flex:1;font-size:12px;padding:10px 8px}.order-note{padding:6px}.discovery-main .avatar-wrap{height:auto;aspect-ratio:1.55;width:41%}.discovery-card{border-radius:18px;margin-bottom:8px}.discovery-main .price{margin-top:8px}.discovery-main .avatar{border-radius:13px}.discovery-main h2{font-size:17px}.discovery-main p{font-size:12px;margin:5px 0}.discovery-main .tag{font-size:11px;padding:4px 8px}.heart-button{width:34px;height:34px;flex-shrink:0}.account-summary .balance-card,.member-tile{min-height:118px}.account-shortcuts{border:1px solid white;background:#ffffffe6}.account-menu{background:#ffffffe8;padding:0 8px}.account-menu .list-row{background:transparent}.availability{min-height:58px}.dashboard-stats .stat{padding:16px 12px}.dashboard-stats .stat strong{font-size:29px;margin-top:14px}.work-tools button{min-height:90px;position:relative}.work-tools i{width:40px;height:40px;margin:0 auto 6px;background-image:url('assets/work-icons.png');background-size:300% 200%;font-size:0}.work-tools button:nth-child(1) i{background-position:0 0}.work-tools button:nth-child(2) i{background-position:50% 0}.work-tools button:nth-child(3) i{background-position:100% 0}.work-tools button:nth-child(4) i{background-position:0 100%}.work-tools button:nth-child(5) i{background-position:50% 100%}.work-tools button:nth-child(6) i{background-position:100% 100%}.message-heading:after{content:'';width:155px;height:110px;right:0;background:url('assets/heart-planet.png') center/contain no-repeat}.message-heading h1{margin-bottom:5px}.message-heading p{font-size:15px}.message-categories button{padding:14px 5px}.conversation-row .avatar{width:51px;height:51px;border-radius:11px;object-fit:cover}.conversation-row{padding:12px!important;border-radius:16px!important}.conversation-row h3{font-size:16px}.conversation-row small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:230px}.unread-badge:not(:empty),.nav-unread{min-width:19px;height:19px;background:#ff1677;color:white;border-radius:20px;display:inline-grid;place-items:center;font-size:11px;font-style:normal}.nav button{position:relative;flex:1;min-width:0}.nav-unread{position:absolute;top:2px;right:17%}.nav{padding-bottom:max(10px,env(safe-area-inset-bottom));border-radius:22px 22px 0 0}
.chat-header{position:sticky;top:0;z-index:5;background:#f5f5f5;margin:-14px -18px 0;padding:12px 18px;border-bottom:1px solid #e5e5e5}.chat-header h2{font-size:17px;text-align:center}.chat-header small{font-size:10px;color:#999}.v4-app:has(.chat-list){background:#ededed;padding-bottom:100px}.chat-list{padding:8px 0;min-height:calc(100dvh - 170px)}.chat-time{text-align:center;font-size:10px;color:#999;margin:13px 0 8px}.chat-line,.chat-line.mine{display:flex;flex-direction:row;align-items:flex-start;gap:9px;margin:0}.chat-line.mine{flex-direction:row-reverse}.chat-avatar{width:38px;height:38px;border-radius:6px;object-fit:cover;flex-shrink:0}.chat-line p{max-width:75%;margin:0;background:white;border-radius:5px;padding:10px 12px;line-height:1.5;font-size:15px;position:relative}.chat-line.mine p{background:#95ec69;color:#111}.chat-compose{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;padding:10px 12px max(10px,env(safe-area-inset-bottom));background:#f7f7f7;border-top:1px solid #ddd;z-index:8}.chat-compose textarea{min-height:40px;height:42px;max-height:110px;border:0;background:white;border-radius:5px;padding:10px}.chat-compose .cta{background:#07c160;border-radius:5px;font-size:14px;width:63px;margin:0;padding:11px 5px}
.secure-modal{position:fixed;inset:0;background:#24142677;display:grid;place-items:center;padding:20px;z-index:1000}.secure-panel{background:white;width:100%;max-width:400px;border-radius:22px;padding:24px;max-height:90dvh;overflow:auto;box-shadow:0 20px 70px #28162c33}.secure-panel h2{margin-bottom:16px}.secure-panel .row>*{flex:1}.secure-error{color:#c92860}.secure-panel [hidden]{display:none}.emoji-rating{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin:20px 0}.emoji-rating button{padding:10px 0;border:1px solid transparent;border-radius:14px;opacity:.6;font-size:27px}.emoji-rating button small{display:block;font-size:11px;white-space:nowrap;color:#76697d;margin-top:7px}.emoji-rating button.lit{opacity:1;background:#fff0f6;border-color:#ff7aab}.emoji-rating button.lit small{color:#ff1677}.extension-progress{background:#fff0f7;border:1px solid #ffd1e4;border-radius:16px;padding:13px;margin:12px 0}.extension-progress h3{font-size:14px}.extension-progress h3 small{font-size:10px;color:#99758a}.extension-item{padding:10px 0;border-bottom:1px solid #f2dce7}.extension-item:last-child{border:0}.extension-item .row{font-size:12px}.extension-item button{margin:5px 5px 0 0}.extension-steps{display:flex;justify-content:space-between;font-size:10px;color:#aaa;padding:12px 0}.extension-steps .done{color:#fb277e}.extension-steps span:before{content:'●';margin-right:4px}.map-canvas{height:260px;border-radius:12px;overflow:hidden;background:#eee}.live-card small{font-size:11px;color:#999}.live-card h3{font-size:15px}.admin-order-alert{position:fixed;inset:0;z-index:1001;display:grid;place-items:center;background:#23122688;padding:20px}.admin-order-alert section{background:white;border-radius:20px;width:100%;max-width:450px;padding:26px;max-height:80vh;overflow:auto}.admin-order-alert h2{color:#ff1677;margin-bottom:18px}
@media(max-width:360px){.home-people{grid-template-columns:repeat(4,minmax(0,1fr))}.mini-photo{height:auto}.mini-person>b,.mini-person>strong{font-size:11px;padding-left:4px}.lux-banner b{font-size:15px}.lux-banner .gem{width:55px}.lux-banner small{font-size:9px}.people-section h2{font-size:18px}.top-header .brand{font-size:25px}.emoji-rating button small{font-size:10px}.discovery-main .tag{padding:3px;font-size:9px}}

.v4-app{background-size:100% 100%,100% 440px}.v4-app .growth{background-size:27% auto,auto}.v4-app .growth.card{padding:15px 26% 15px 15px}.v4-app .account-summary .balance-card{background-image:linear-gradient(120deg,#ffb9d5,#fff0f7)!important}.v4-app .lux-banner{overflow:hidden}.v4-app .page-heading h1{font-size:25px}.nav button.active{color:#ff1677}.nav button.active svg{background:#ffe4f0;box-shadow:0 0 0 6px #ffe4f0;border-radius:9px}.v4-app .work-tools i{width:43px;height:43px}.v4-app .message-heading{padding-bottom:30px}

.lux-banner .gem,.lux-banner[href] .gem{background-image:url('assets/ornaments.png');background-size:300% 100%;background-position:0 50%;height:62px}.lux-banner[href] .gem{background-position:100% 50%}.v4-app .growth{background:linear-gradient(115deg,#ff4b90,#ffb6d4);position:relative}.v4-app .growth:after{content:'';position:absolute;right:0;top:0;bottom:0;width:27%;background:url('assets/ornaments.png') 50% 50%/300% 100% no-repeat;pointer-events:none}.member-tile{position:relative;overflow:hidden;background:linear-gradient(120deg,#fffafc,#ffdeeb)}.member-tile:after{content:'';position:absolute;width:65px;height:65px;right:-4px;bottom:-4px;background:url('assets/ornaments.png') 50% 50%/300% 100% no-repeat;pointer-events:none}.message-heading:after{background:url('assets/ornaments.png') 100% 50%/300% 100% no-repeat;width:120px;height:100px}.account-summary .balance-card{position:relative;overflow:hidden}.account-summary .balance-card:after{content:'';position:absolute;right:-12px;top:20px;width:78px;height:78px;background:url('assets/ornaments.png') 100% 50%/300% 100% no-repeat;opacity:.65;pointer-events:none}.balance-card .row,.balance-card button{position:relative;z-index:1}

@media(max-width:360px){.v4-app .demo{margin-left:-14px;margin-right:-14px}.chat-header{margin-left:-14px;margin-right:-14px}}.chat-header{margin-left:-20px;margin-right:-20px}.secure-modal{overscroll-behavior:contain}.emoji-rating button{min-width:0}.v4-app .extension-progress .cta{color:white}.v4-app .extension-progress{animation:none}

body[data-portal=user] .account-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}.account-shortcuts b{font-size:11px}.account-shortcuts i{width:36px;height:36px;border-radius:50%;background:#ffe8f1;margin:0 auto 8px;padding:4px}.chat-header{margin-left:-20px;margin-right:-20px}@media(max-width:360px){.chat-header{margin-left:-14px;margin-right:-14px}}
body[data-portal=partner] .availability{min-height:44px;padding:12px 18px}body[data-portal=partner] .section{margin:16px 0 10px}body[data-portal=partner] .section h1{font-size:25px}body[data-portal=partner] .dashboard-stats .stat{padding:12px;min-height:76px}body[data-portal=partner] .dashboard-stats .stat strong{font-size:25px;margin-top:8px}body[data-portal=partner] .work-tools{gap:8px;margin:12px 0}body[data-portal=partner] .work-tools button{display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;align-content:center;column-gap:5px;padding:10px 6px;min-height:66px;text-align:left;border-radius:16px}body[data-portal=partner] .work-tools i{grid-row:1/3;width:32px;height:32px;margin:auto}body[data-portal=partner] .work-tools b{font-size:11px}body[data-portal=partner] .work-tools small{font-size:8px;margin-top:4px}body[data-portal=partner] .lux-banner{min-height:62px;padding:8px 12px}body[data-portal=partner] .lux-banner .gem{height:48px;width:64px}.account-menu .list-row{padding:13px 10px}.account-shortcuts{padding:13px 6px}.account-summary .balance-card:after{top:28px}.balance-card{background-repeat:no-repeat!important;background-size:100% 100%!important}.v4-app .account-summary .balance-card{background-size:100% 100%!important}
