:root{
  --vip-glass:linear-gradient(145deg,rgba(22,24,24,.91),rgba(7,9,9,.88));
  --vip-glass-border:rgba(255,143,50,.48);
  --vip-glow-orange:0 0 18px rgba(255,100,0,.28);
  --vip-shadow:0 18px 46px rgba(0,0,0,.48);
  --vip-radius:18px;
  --vip-text-primary:#fafaf7;
  --vip-text-muted:#b1b4b3;
  --vip-orange:#ff7800;
  --vip-green:#50cb66;
}

.login-view[hidden],.portal-view[hidden]{display:none!important}
body:has(#portalView:not([hidden]) #homeScreen.active){background:#030505;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
body:has(#portalView:not([hidden]) #homeScreen.active) .portal-view{background:#030505}
body:has(#portalView:not([hidden]) #homeScreen.active) .portal-header{height:104px;position:absolute;left:50%;right:auto;top:0;width:min(100%,560px);transform:translateX(-50%);padding:20px 22px 12px;padding-top:max(20px,env(safe-area-inset-top));border:0;background:linear-gradient(180deg,rgba(1,4,7,.8),transparent);backdrop-filter:none}
body:has(#portalView:not([hidden]) #homeScreen.active) .portal-header .home-brand{display:flex;align-items:flex-start;gap:8px;color:var(--vip-text-primary)}
body:has(#portalView:not([hidden]) #homeScreen.active) .portal-header .home-brand>span{font-size:38px;font-weight:800;letter-spacing:-.06em;line-height:.94;text-shadow:0 0 20px rgba(255,255,255,.12)}
body:has(#portalView:not([hidden]) #homeScreen.active) .portal-header .home-brand>span::before{content:"";display:block;width:36px;height:3px;margin-bottom:5px;border-radius:999px;background:linear-gradient(90deg,var(--vip-orange),transparent);box-shadow:var(--vip-glow-orange)}
body:has(#portalView:not([hidden]) #homeScreen.active) .portal-header .home-brand small{display:grid;gap:1px;margin:3px 0 0;color:var(--vip-orange);font-size:0;letter-spacing:0}
body:has(#portalView:not([hidden]) #homeScreen.active) .portal-header .home-brand i{font-size:17px;font-style:normal;font-weight:500;letter-spacing:.03em}
body:has(#portalView:not([hidden]) #homeScreen.active) .portal-header .home-brand b{font-size:25px;font-weight:650;letter-spacing:.25em;line-height:1.1;text-shadow:0 0 13px rgba(255,111,0,.65)}
body:has(#portalView:not([hidden]) #homeScreen.active) .portal-header .plan-pill{width:49px;height:49px;display:grid;place-items:center;padding:0;border-color:rgba(255,117,0,.75);background:rgba(7,9,10,.62);color:var(--vip-orange);font-size:8px;letter-spacing:.03em;box-shadow:inset 0 1px rgba(255,255,255,.08),var(--vip-glow-orange)}
body:has(#portalView:not([hidden]) #homeScreen.active) .portal-content{max-width:560px;padding:0 0 calc(112px + env(safe-area-inset-bottom))}
body:has(#portalView:not([hidden]) #homeScreen.active) #homeScreen{overflow:hidden;background:#030505;color:var(--vip-text-primary)}
.home-master-hero{min-height:540px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;padding:124px 22px 42px;isolation:isolate;background:linear-gradient(180deg,rgba(0,3,6,.08),rgba(0,3,5,.03) 42%,#030505 98%),url('assets/vip-home-hero-master-v1.png') center 58%/cover no-repeat}
.home-master-hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(1,4,7,.82) 0,rgba(1,4,7,.48) 50%,rgba(1,4,7,.05) 82%),linear-gradient(0deg,#030505 0,transparent 34%)}
#homeScreen .welcome{padding:0;position:relative;z-index:1}
#homeScreen .welcome>p:first-child{margin:0;color:#f1f2ef;font-size:18px;font-weight:480;letter-spacing:0;text-transform:none}
#homeScreen .welcome h1{margin:6px 0 5px;font-size:42px;line-height:1;color:var(--vip-orange);letter-spacing:-.035em;text-transform:capitalize}
#homeScreen .welcome .muted{margin:0;color:#f0f1ee;font-size:18px;line-height:1.35}
#homeScreen .welcome .muted em{color:var(--vip-orange);font-style:normal}
#homeScreen .plan-summary{width:max-content;min-height:0;display:flex;align-items:center;gap:10px;margin:24px 0 0;padding:11px 17px;border:1px solid rgba(255,135,29,.68);border-radius:999px;background:rgba(8,10,10,.66);box-shadow:inset 0 1px rgba(255,255,255,.09),var(--vip-glow-orange);backdrop-filter:blur(12px)}
#homeScreen .plan-summary>span{color:var(--vip-orange);font-size:21px}
#homeScreen .plan-summary>div{display:flex;align-items:baseline;gap:5px}
#homeScreen .plan-summary small{color:#e9eae7;font-size:10px;font-weight:500;letter-spacing:.04em}
#homeScreen .plan-summary strong{color:var(--vip-orange);font-size:12px;line-height:1}
#homeScreen #subscriptionLabel{display:none}
.home-master-body{padding:0 14px}
.home-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:-18px;position:relative;z-index:2;border:1px solid var(--vip-glass-border);border-radius:var(--vip-radius);background:var(--vip-glass);box-shadow:inset 0 1px rgba(255,255,255,.1),var(--vip-shadow),var(--vip-glow-orange);backdrop-filter:blur(18px)}
.home-metrics article{min-width:0;display:grid;grid-template-columns:31px 1fr;grid-template-rows:auto auto auto;align-items:center;gap:5px 7px;padding:16px 10px 14px;position:relative}
.home-metrics article+article{border-left:1px solid rgba(255,123,19,.22)}
.home-metrics article>span{grid-row:1;grid-column:1;color:var(--vip-orange);font-size:25px;text-shadow:var(--vip-glow-orange)}
.home-metrics small{grid-row:1;grid-column:2;color:#e5e6e3;font-size:9px;line-height:1.35}
.home-metrics strong{grid-column:1/-1;margin-top:3px;color:#fff;font-size:20px;font-weight:480;line-height:1.08;overflow-wrap:anywhere}
.home-metrics button{grid-column:1/-1;padding:4px 0 0;border:0;background:transparent;color:var(--vip-orange);font-size:8px;text-align:left;cursor:pointer}
.home-section-title{display:flex;align-items:center;justify-content:space-between;margin:28px 3px 13px}
.home-section-title h2{margin:0;font-size:17px;font-weight:560;letter-spacing:-.02em}
.home-section-title button{min-height:38px;padding:0 3px;border:0;background:transparent;color:var(--vip-orange);font-size:10px;cursor:pointer}
.home-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.home-quick-actions button{min-height:103px;display:grid;place-content:center;justify-items:center;gap:10px;padding:12px 8px;border:1px solid rgba(255,140,46,.42);border-radius:16px;background:var(--vip-glass);box-shadow:inset 0 1px rgba(255,255,255,.08),0 12px 25px rgba(0,0,0,.3);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.home-quick-actions span{color:var(--vip-orange);font-size:31px;line-height:1;text-shadow:var(--vip-glow-orange)}
.home-quick-actions strong{font-size:11px;font-weight:520}
.home-property-carousel{display:flex;gap:11px;overflow-x:auto;margin:0 -14px;padding:0 14px 12px;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-inline:contain}
.home-property-carousel::-webkit-scrollbar{display:none}
#homeProperties,.home-new-slots{display:contents}
#homeProperties .empty-row{width:100%;flex:0 0 100%}
#homeProperties .property-card,.home-new-property{width:222px;height:284px;flex:0 0 222px;display:block;position:relative;overflow:hidden;padding:170px 14px 14px;border:1px solid rgba(255,139,43,.48);border-radius:17px;background:linear-gradient(180deg,#111414,#070909);box-shadow:inset 0 1px rgba(255,255,255,.08),0 14px 32px rgba(0,0,0,.4);scroll-snap-align:start;text-align:left}
#homeProperties .property-card::before,.home-new-property::before{content:"";position:absolute;inset:0 0 auto;height:156px;background-position:center;background-size:cover}
#homeProperties .property-card::before{background-image:linear-gradient(0deg,rgba(5,7,7,.35),transparent 55%),url('assets/vip-home-hero-master-v1.png')}
#homeProperties .property-card::after{content:"IMAGEM ILUSTRATIVA";position:absolute;left:10px;top:10px;padding:4px 6px;border-radius:999px;background:rgba(4,6,6,.72);color:#d2d4d2;font-size:6px;font-weight:800;letter-spacing:.08em;backdrop-filter:blur(7px)}
#homeProperties .property-mark{width:auto;height:auto;position:absolute;left:12px;top:140px;z-index:2;padding:5px 8px;border:1px solid rgba(78,215,104,.58);border-radius:999px;background:rgba(5,18,9,.9);color:var(--vip-green);font-size:0;box-shadow:0 0 14px rgba(62,202,87,.2)}
#homeProperties .property-mark::before{content:"✓ PROPRIEDADE ATIVA";font-size:7px;font-weight:900;letter-spacing:.05em}
#homeProperties .property-card>span:nth-child(2){display:grid;gap:6px}
#homeProperties .property-card strong{font-size:15px;font-weight:560;white-space:normal}
#homeProperties .property-card small{color:var(--vip-text-muted);font-size:10px;white-space:nowrap}
#homeProperties .property-card em{font-size:10px}
#homeProperties .property-card>b{position:absolute;right:13px;bottom:14px;color:#fff;font-size:22px;font-weight:300}
.home-new-property{color:var(--vip-text-primary);cursor:default}
.home-new-property::before{background-image:linear-gradient(0deg,rgba(5,7,7,.38),transparent 55%),url('assets/vip-new-property-villa.png')}
.home-new-property.new-residence::before{background-image:linear-gradient(0deg,rgba(5,7,7,.38),transparent 55%),url('assets/vip-new-property-residence.png')}
.home-new-property.new-villa-alt::before{background-position:64% center}
.home-new-property>span{position:absolute;left:10px;top:10px;padding:5px 8px;border-radius:999px;background:linear-gradient(135deg,#ff8c1a,#ff5a00);color:#090909;font-size:8px;font-weight:950;box-shadow:var(--vip-glow-orange)}
.home-new-property strong,.home-new-property small,.home-new-property em{display:block}
.home-new-property strong{font-size:15px;font-weight:560}
.home-new-property small{margin-top:7px;color:var(--vip-text-muted);font-size:10px}
.home-new-property em{margin-top:16px;color:var(--vip-orange);font-size:8px;font-style:normal}
#homeProperties:has(.property-card:nth-child(1))~.home-new-slots .home-new-property:nth-child(3){display:none}
#homeProperties:has(.property-card:nth-child(2))~.home-new-slots .home-new-property:nth-child(n+2){display:none}
#homeProperties:has(.property-card:nth-child(3))~.home-new-slots .home-new-property{display:none}
body:has(#portalView:not([hidden]) #homeScreen.active) .bottom-nav{left:50%;right:auto;width:min(calc(100% - 20px),520px);height:calc(78px + env(safe-area-inset-bottom));transform:translateX(-50%);border:1px solid rgba(255,255,255,.14);border-bottom:0;border-radius:22px 22px 0 0;background:linear-gradient(145deg,rgba(20,22,22,.95),rgba(5,7,7,.96));box-shadow:0 -14px 36px rgba(0,0,0,.54),inset 0 1px rgba(255,255,255,.1);backdrop-filter:blur(20px)}
body:has(#portalView:not([hidden]) #homeScreen.active) .bottom-nav button{position:relative;color:#b4b7b6;transition:color .16s ease,transform .16s ease}
body:has(#portalView:not([hidden]) #homeScreen.active) .bottom-nav button.active{color:var(--vip-orange);text-shadow:var(--vip-glow-orange)}
body:has(#portalView:not([hidden]) #homeScreen.active) .bottom-nav button.active::after{content:"";position:absolute;left:18%;right:18%;bottom:0;height:2px;background:var(--vip-orange);box-shadow:0 0 12px var(--vip-orange)}
body:has(#portalView:not([hidden]) #homeScreen.active) .bottom-nav span{font-size:21px}
body:has(#portalView:not([hidden]) #homeScreen.active) .bottom-nav small{font-size:8px;font-weight:600}

@media(hover:hover){
  .home-quick-actions button:hover,#homeProperties .property-card:hover{border-color:rgba(255,139,43,.8);box-shadow:inset 0 1px rgba(255,255,255,.11),var(--vip-glow-orange),var(--vip-shadow)}
}
@media(prefers-reduced-motion:no-preference){
  .home-quick-actions button:active,#homeProperties .property-card:active{transform:translateY(2px);box-shadow:inset 0 1px rgba(255,255,255,.06),0 6px 16px rgba(0,0,0,.38)}
}
@media(max-width:359px){
  .home-master-hero{min-height:515px;padding-left:17px;padding-right:17px}
  .home-master-body{padding-left:12px;padding-right:12px}
  .home-metrics article{grid-template-columns:25px 1fr;padding-left:7px;padding-right:7px}
  .home-metrics article>span{font-size:21px}
  .home-metrics strong{font-size:17px}
  .home-property-carousel{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}
}
@media(min-width:720px){
  body:has(#portalView:not([hidden]) #homeScreen.active) .portal-header{max-width:560px}
  body:has(#portalView:not([hidden]) #homeScreen.active) .portal-content{max-width:560px;padding-left:0;padding-right:0}
  .home-master-hero{border-left:1px solid rgba(255,255,255,.05);border-right:1px solid rgba(255,255,255,.05)}
}

/* RCO VIP — CENTRADO VIP START EN MOBILE */
@media (max-width:600px){
  body:has(#portalView:not([hidden]) #homeScreen.active) .portal-header .plan-pill{
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:0;
    margin:0;
    line-height:1.05;
    text-indent:0;
  }
}

/* RCO VIP — EVITAR AUTOAMPLIACION DE TEXTO EN IPHONE */
@media (max-width:600px){
  body:has(#portalView:not([hidden]) #homeScreen.active) .portal-header .plan-pill{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
    font-size:8px;
    line-height:1.05;
    text-align:center;
  }
}

/* RCO VIP — OCULTAR PLAN-PILL EN HOME */
body:has(#portalView:not([hidden]) #homeScreen.active) .portal-header .plan-pill{
  display:none !important;
}

/* RCO VIP — AJUSTE OPTICO FINAL TEXTO VIP START MOBILE */
@media (max-width:600px){
  body:has(#portalView:not([hidden]) #homeScreen.active) .portal-header .plan-pill{
    text-indent:3px;
  }
}

/* RCO VIP — OVERLAY VIP START MOBILE */
@media (max-width:600px){
  body:has(#portalView:not([hidden]) #homeScreen.active) .portal-header .plan-pill{
    display:flex !important;
    position:absolute;
    top:24px;
    right:22px;
    width:62px;
    height:62px;
    min-width:62px;
    flex:0 0 62px;
    align-items:center;
    justify-content:center;
    padding:0;
    margin:0;
    border:1.5px solid rgba(255,117,0,.95);
    border-radius:50%;
    background:#07090a;
    color:var(--vip-orange);
    font-size:8px;
    font-weight:900;
    line-height:1.15;
    letter-spacing:.06em;
    text-align:center;
    text-indent:0;
    white-space:normal;
    z-index:50;
    box-shadow:0 0 15px rgba(255,106,0,.22);
    -webkit-text-size-adjust:none;
    text-size-adjust:none;
  }
}

/* RCO VIP — FILA PLAN + SOLICITAR SERVICO VIP */
#homeScreen .vip-plan-service-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:24px 0 0;
  position:relative;
  z-index:1;
}

#homeScreen .vip-plan-service-row .plan-summary{
  margin:0;
  flex:0 0 auto;
}

#homeScreen .vip-service-button{
  min-height:43px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:10px 14px;
  border:1px solid rgba(72,214,109,.55);
  border-radius:999px;
  background:rgba(10,35,18,.38);
  color:#7ee69a;
  box-shadow:inset 0 1px rgba(255,255,255,.06),0 0 14px rgba(72,214,109,.10);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  cursor:pointer;
}

#homeScreen .vip-service-button span{
  color:#7ee69a;
  font-size:16px;
  line-height:1;
}

#homeScreen .vip-service-button strong{
  font-size:10px;
  font-weight:650;
  letter-spacing:.02em;
  white-space:nowrap;
}

@media(max-width:390px){
  #homeScreen .vip-plan-service-row{
    gap:8px;
  }

  #homeScreen .vip-service-button{
    padding:9px 11px;
  }

  #homeScreen .vip-service-button strong{
    font-size:9px;
  }
}

/* RCO VIP — BOTON SERVICIO MISMA PRESENCIA QUE PLAN */
#homeScreen .vip-plan-service-row{
  justify-content:flex-start;
  gap:10px;
}

#homeScreen .vip-service-button{
  min-height:46px;
  padding:11px 17px;
  border-radius:999px;
}

#homeScreen .vip-service-button span{
  font-size:18px;
  line-height:1;
}

#homeScreen .vip-service-button strong{
  font-family:inherit;
  font-size:10px;
  font-weight:500;
  letter-spacing:.04em;
  line-height:1;
}

@media(max-width:390px){
  #homeScreen .vip-plan-service-row{
    gap:8px;
  }

  #homeScreen .vip-service-button{
    min-height:46px;
    padding:11px 14px;
  }

  #homeScreen .vip-service-button strong{
    font-size:10px;
  }
}

/* RCO VIP — MICROAJUSTE FINAL SERVICIO */
#homeScreen .vip-service-button{
  min-height:50px;
  padding:12px 17px;
}

#homeScreen .vip-service-button strong{
  font-weight:650;
}

@media(max-width:390px){
  #homeScreen .vip-service-button{
    min-height:50px;
    padding:12px 14px;
  }

  #homeScreen .vip-service-button strong{
    font-weight:650;
  }
}

/* RCO VIP — SERVICIO COPIA EXACTA GEOMETRIA PLAN VIP START */
#homeScreen .vip-plan-service-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
}

#homeScreen .vip-service-button{
  width:max-content;
  min-height:0;
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 17px;
  border:1px solid rgba(72,214,109,.55);
  border-radius:999px;
  background:rgba(8,10,10,.66);
  color:#7ee69a;
  box-shadow:inset 0 1px rgba(255,255,255,.09),0 0 14px rgba(72,214,109,.12);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

#homeScreen .vip-service-button span{
  color:#7ee69a;
  font-size:21px;
  line-height:1;
}

#homeScreen .vip-service-button strong{
  color:#7ee69a;
  font-family:inherit;
  font-size:12px;
  font-weight:700;
  line-height:1;
  letter-spacing:0;
  white-space:nowrap;
}

/* RCO VIP — PESO VISUAL FINAL BOTON SERVICIO */
#homeScreen .vip-service-button{
  border:1.5px solid rgba(72,214,109,.78);
  box-shadow:
    inset 0 1px rgba(255,255,255,.09),
    0 0 10px rgba(72,214,109,.18),
    0 0 20px rgba(72,214,109,.08);
}

/* RCO VIP — AUMENTAR SOLO CUERPO INTERIOR */
#homeScreen .vip-service-button{
  min-height:56px;
  padding-top:14px;
  padding-bottom:14px;
}

/* RCO VIP — MICROAJUSTE ALTURA DEFINITIVA */
#homeScreen .vip-service-button{
  min-height:53px;
  padding-top:12.5px;
  padding-bottom:12.5px;
}
