@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800;900&family=Sora:wght@600;700;800&display=swap');
:root{
  --rsv-green:#075429;
  --rsv-green-2:#063f20;
  --rsv-lime:#8dc63f;
  --rsv-bg:#f4faed;
  --rsv-card:#fff;
  --rsv-border:#d7e8d2;
  --rsv-text:#062f1a;
  --rsv-muted:#536c5d;
  --rsv-shadow:0 16px 42px rgba(6,63,32,.12);
  --rsv-sidebar-w:340px;
  --rsv-mobile-bottom:78px;
}

*{box-sizing:border-box}

html,body{
  margin:0;
  min-height:100%;
  background:
    radial-gradient(circle at 14% 0%,rgba(141,198,63,.22),transparent 34%),
    linear-gradient(135deg,#f8fbf2 0%,#eef7e6 50%,#fff 100%);
  color:var(--rsv-text);
  font-family:Arial, Helvetica, sans-serif;
}

body{
  min-height:100vh;
}

.rsv-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:var(--rsv-sidebar-w) minmax(0,1fr);
}

.rsv-sidebar{
  min-height:100vh;
  padding:28px 24px;
  color:white;
  background:
    radial-gradient(circle at 20% 0%,rgba(141,198,63,.30),transparent 34%),
    linear-gradient(180deg,var(--rsv-green),var(--rsv-green-2));
  box-shadow:14px 0 40px rgba(4,38,19,.18);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:sticky;
  top:0;
}

.rsv-logo{
  min-height:128px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:14px;
  text-decoration:none;
}

.rsv-logo img{
  width:295px;
  max-width:100%;
  max-height:118px;
  object-fit:contain;
}

.rsv-logo-fallback{
  display:inline-flex;
  padding:12px 16px;
  border-radius:18px;
  background:var(--rsv-lime);
  color:#07351f;
  font-size:1.35rem;
  font-weight:950;
}

.rsv-nav{
  display:grid;
  gap:9px;
  margin-top:12px;
}

.rsv-nav a{
  min-height:52px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border-radius:17px;
  text-decoration:none;
  color:rgba(255,255,255,.88);
  font-weight:950;
  border:1px solid transparent;
  background:transparent;
}

.rsv-nav a.active,
.rsv-nav a:hover{
  background:rgba(255,255,255,.11);
  color:#fff;
  border-color:rgba(141,198,63,.30);
  box-shadow:inset 4px 0 0 var(--rsv-lime);
}

.rsv-nav a i{
  width:32px;
  height:32px;
  min-width:32px;
  border-radius:13px;
  background:rgba(255,255,255,.11);
  display:grid;
  place-items:center;
  font-style:normal;
  font-size:1.05rem;
}

.rsv-nav a span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.rsv-sidebar-note{
  display:grid;
  gap:8px;
  color:rgba(255,255,255,.70);
  font-size:.86rem;
  font-weight:850;
  line-height:1.35;
}

.rsv-sidebar-note strong{
  color:#fff;
}

.rsv-main{
  min-width:0;
  padding:30px;
}

.rsv-page-hero{
  border-radius:28px;
  padding:26px;
  color:white;
  background:
    radial-gradient(circle at 88% 0%,rgba(141,198,63,.28),transparent 36%),
    linear-gradient(135deg,var(--rsv-green),var(--rsv-green-2));
  box-shadow:var(--rsv-shadow);
  margin-bottom:16px;
}

.rsv-kicker{
  width:max-content;
  display:inline-flex;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.rsv-page-hero h1{
  margin:16px 0 0;
  font-size:3rem;
  line-height:.95;
  letter-spacing:-.07em;
  font-weight:950;
}

.rsv-page-hero p{
  margin:12px 0 0;
  max-width:760px;
  color:rgba(255,255,255,.80);
  font-weight:850;
  line-height:1.45;
}

.rsv-card{
  border-radius:24px;
  border:1px solid var(--rsv-border);
  background:#fff;
  box-shadow:var(--rsv-shadow);
  padding:18px;
}

.rsv-card h2{
  margin:0;
  font-size:1.4rem;
  letter-spacing:-.04em;
  line-height:1.05;
  font-weight:950;
}

.rsv-card p{
  margin:8px 0 0;
  color:var(--rsv-muted);
  line-height:1.4;
  font-weight:850;
}

.rsv-mobile-nav{
  display:none;
}

@media (max-width:860px){
  body{
    padding-bottom:calc(var(--rsv-mobile-bottom) + env(safe-area-inset-bottom,0px));
  }

  .rsv-shell{
    display:block;
  }

  .rsv-sidebar{
    min-height:auto;
    padding:16px;
    position:relative;
  }

  .rsv-logo{
    min-height:56px;
    justify-content:flex-start;
    margin-bottom:8px;
  }

  .rsv-logo img{
    width:180px;
    max-height:54px;
  }

  .rsv-nav{
    display:none;
  }

  .rsv-sidebar-note{
    display:none;
  }

  .rsv-main{
    padding:14px 10px 24px;
  }

  .rsv-page-hero{
    border-radius:22px;
    padding:20px;
  }

  .rsv-page-hero h1{
    font-size:2.05rem;
  }

  .rsv-mobile-nav{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:10000;
    height:calc(var(--rsv-mobile-bottom) + env(safe-area-inset-bottom,0px));
    padding:7px 8px calc(7px + env(safe-area-inset-bottom,0px));
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:7px;
    background:rgba(255,255,255,.97);
    border-top:1px solid rgba(6,63,32,.12);
    box-shadow:0 -12px 26px rgba(4,38,19,.16);
  }

  .rsv-mobile-nav a{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    min-width:0;
    border-radius:17px;
    color:#627568;
    text-decoration:none;
    font-size:.66rem;
    line-height:1;
    font-weight:950;
    border:1px solid transparent;
  }

  .rsv-mobile-nav a.active{
    color:#07351f;
    background:rgba(141,198,63,.28);
    border-color:rgba(141,198,63,.38);
  }

  .rsv-mobile-nav i{
    font-style:normal;
    font-size:1.15rem;
  }
}

/* RSVPRO_SIDEBAR_MONOCOR_LOGOS_START */
:root{
  --rsv-sidebar-w:360px;
}

.rsv-shell{
  grid-template-columns:var(--rsv-sidebar-w) minmax(0,1fr);
}

.rsv-sidebar{
  padding:30px 26px 24px;
}

.rsv-logo{
  min-height:168px;
  justify-content:center;
  margin-bottom:18px;
}

.rsv-logo img{
  width:330px;
  max-width:100%;
  max-height:150px;
  object-fit:contain;
}

.rsv-nav{
  gap:10px;
}

.rsv-nav a{
  min-height:54px;
  color:rgba(255,255,255,.86);
}

.rsv-nav a i{
  background:rgba(255,255,255,.10);
  color:rgba(255,255,255,.86);
}

.rsv-nav a i svg{
  width:21px;
  height:21px;
  display:block;
  fill:currentColor;
}

.rsv-nav a.active i,
.rsv-nav a:hover i{
  background:rgba(141,198,63,.24);
  color:#ffffff;
}

.rsv-sidebar-bottom{
  display:grid;
  gap:18px;
}

.rsv-partners{
  display:grid;
  gap:14px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.14);
}

.rsv-partner{
  display:grid;
  gap:7px;
}

.rsv-partner span{
  display:block;
  color:rgba(255,255,255,.55);
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.rsv-partner img{
  display:block;
  max-width:210px;
  max-height:58px;
  object-fit:contain;
  object-position:left center;
}

.rsv-partner-splnet img{
  max-width:155px;
  max-height:42px;
}

@media (max-width:860px){
  .rsv-sidebar{
    padding:16px;
  }

  .rsv-logo{
    min-height:66px;
    justify-content:flex-start;
    margin-bottom:8px;
  }

  .rsv-logo img{
    width:205px;
    max-height:62px;
  }

  .rsv-partners{
    display:none;
  }
}
/* RSVPRO_SIDEBAR_MONOCOR_LOGOS_END */

/* RSVPRO_SIDEBAR_LOGOS_FINAL_START */
:root{
  --rsv-sidebar-w:380px;
}

.rsv-shell{
  grid-template-columns:var(--rsv-sidebar-w) minmax(0,1fr);
}

.rsv-sidebar{
  padding:28px 28px 26px;
}

.rsv-sidebar-top{
  display:grid;
}

.rsv-logo{
  min-height:210px !important;
  justify-content:center !important;
  align-items:center !important;
  margin-bottom:8px !important;
}

.rsv-logo img{
  width:365px !important;
  max-width:100% !important;
  max-height:190px !important;
  object-fit:contain !important;
}

.rsv-nav{
  margin-top:4px !important;
}

.rsv-sidebar-bottom{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:20px !important;
  width:100% !important;
}

.rsv-sidebar-note{
  display:none !important;
}

.rsv-partners{
  width:100% !important;
  display:grid !important;
  gap:22px !important;
  padding-top:22px !important;
  border-top:1px solid rgba(255,255,255,.16) !important;
  justify-items:center !important;
  text-align:center !important;
}

.rsv-partner{
  width:100% !important;
  display:grid !important;
  justify-items:center !important;
  gap:8px !important;
  text-align:center !important;
}

.rsv-partner span{
  text-align:center !important;
  color:rgba(255,255,255,.58) !important;
  font-size:.72rem !important;
  font-weight:950 !important;
  letter-spacing:.09em !important;
  text-transform:uppercase !important;
}

.rsv-partner img{
  display:block !important;
  margin:0 auto !important;
  object-fit:contain !important;
  object-position:center center !important;
}

.rsv-partner-zona img{
  max-width:260px !important;
  width:260px !important;
  max-height:86px !important;
}

.rsv-partner-splnet img{
  max-width:230px !important;
  width:230px !important;
  max-height:66px !important;
}

@media (max-width:860px){
  .rsv-logo{
    min-height:74px !important;
    justify-content:flex-start !important;
    margin-bottom:8px !important;
  }

  .rsv-logo img{
    width:220px !important;
    max-height:68px !important;
  }

  .rsv-sidebar-bottom,
  .rsv-partners{
    display:none !important;
  }
}
/* RSVPRO_SIDEBAR_LOGOS_FINAL_END */

/* RSVPRO_SPLNET_LINK_SIZE_START */
.rsv-splnet-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  margin:0 auto !important;
}

.rsv-splnet-link img{
  display:block !important;
  margin:0 auto !important;
}

.rsv-partner-splnet img{
  max-width:255px !important;
  width:255px !important;
  max-height:76px !important;
}

.rsv-partner-splnet span{
  margin-bottom:2px !important;
}

@media (max-width:860px){
  .rsv-splnet-link{
    display:none !important;
  }
}
/* RSVPRO_SPLNET_LINK_SIZE_END */

/* RSVPRO_FONT_MANROPE_SORA_START */
html,
body,
button,
input,
select,
textarea,
.rsv-nav a,
.rsv-mobile-nav a,
.rsv-card,
.rsv-page-hero p{
  font-family:"Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
}

.rsv-page-hero h1,
.rsv-card h2,
.rsv-kicker{
  font-family:"Sora", "Manrope", system-ui, sans-serif !important;
}

.rsv-page-hero h1{
  font-weight:800 !important;
  letter-spacing:-0.055em !important;
}

.rsv-card h2{
  font-weight:800 !important;
  letter-spacing:-0.035em !important;
}

.rsv-nav a{
  font-weight:850 !important;
  letter-spacing:-0.015em !important;
}

.rsv-nav a span{
  transform:translateY(-0.5px);
}

.rsv-kicker,
.rsv-partner span{
  font-weight:800 !important;
  letter-spacing:0.075em !important;
}
/* RSVPRO_FONT_MANROPE_SORA_END */

/* RSVPRO_SIDEBAR_COMPACTA_GLOBAL_START */

/*
  Sidebar oficial compacta:
  - largura reduzida de 380px para 268px;
  - menus mais compactos;
  - logos Zona Agro/SPLNET imediatamente abaixo do menu;
  - sem empurrar logos para o fundo da página.
*/

:root{
  --rsv-sidebar-w:268px !important;
}

.rsv-shell{
  grid-template-columns:268px minmax(0,1fr) !important;
}

.rsv-sidebar{
  width:268px !important;
  min-width:268px !important;
  max-width:268px !important;
  padding:18px 18px 16px !important;
  justify-content:flex-start !important;
  gap:0 !important;
  overflow:hidden !important;
}

.rsv-sidebar-top{
  display:grid !important;
  width:100% !important;
}

.rsv-logo{
  min-height:112px !important;
  height:112px !important;
  margin:0 0 8px 0 !important;
  padding:0 !important;
  justify-content:center !important;
  align-items:center !important;
}

.rsv-logo img{
  width:236px !important;
  max-width:100% !important;
  max-height:102px !important;
  object-fit:contain !important;
  margin:0 auto !important;
}

.rsv-nav{
  gap:6px !important;
  margin-top:4px !important;
}

.rsv-nav a{
  min-height:42px !important;
  padding:8px 10px !important;
  border-radius:14px !important;
  gap:9px !important;
  font-size:.88rem !important;
  font-weight:850 !important;
}

.rsv-nav a i{
  width:27px !important;
  height:27px !important;
  min-width:27px !important;
  border-radius:11px !important;
}

.rsv-nav a i svg{
  width:18px !important;
  height:18px !important;
}

.rsv-nav a.active,
.rsv-nav a:hover{
  box-shadow:inset 3px 0 0 #8dc63f !important;
}

.rsv-sidebar-bottom{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:0 !important;
  width:100% !important;
  margin-top:16px !important;
  padding:0 !important;
}

.rsv-sidebar-note{
  display:none !important;
}

.rsv-partners{
  width:100% !important;
  display:grid !important;
  gap:12px !important;
  padding-top:14px !important;
  border-top:1px solid rgba(255,255,255,.16) !important;
  justify-items:center !important;
  text-align:center !important;
}

.rsv-partner{
  width:100% !important;
  display:grid !important;
  justify-items:center !important;
  gap:5px !important;
  text-align:center !important;
}

.rsv-partner span{
  display:block !important;
  text-align:center !important;
  color:rgba(255,255,255,.58) !important;
  font-size:.60rem !important;
  font-weight:800 !important;
  letter-spacing:.07em !important;
  line-height:1.1 !important;
  text-transform:uppercase !important;
}

.rsv-partner img{
  display:block !important;
  margin:0 auto !important;
  object-fit:contain !important;
  object-position:center center !important;
}

.rsv-partner-zona img{
  width:190px !important;
  max-width:190px !important;
  max-height:60px !important;
}

.rsv-splnet-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  margin:0 auto !important;
}

.rsv-partner-splnet img{
  width:188px !important;
  max-width:188px !important;
  max-height:54px !important;
}

/* O conteúdo ganha espaço automaticamente com a sidebar menor */
.rsv-main{
  padding:24px !important;
}

@media(max-width:860px){
  :root{
    --rsv-sidebar-w:100% !important;
  }

  .rsv-shell{
    display:block !important;
    grid-template-columns:1fr !important;
  }

  .rsv-sidebar{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:auto !important;
    padding:14px 14px 12px !important;
    position:relative !important;
  }

  .rsv-logo{
    min-height:64px !important;
    height:64px !important;
    justify-content:flex-start !important;
    margin-bottom:6px !important;
  }

  .rsv-logo img{
    width:205px !important;
    max-height:60px !important;
    margin:0 !important;
  }

  .rsv-nav,
  .rsv-sidebar-bottom,
  .rsv-partners{
    display:none !important;
  }

  .rsv-main{
    padding:14px 10px 24px !important;
  }
}

/* RSVPRO_SIDEBAR_COMPACTA_GLOBAL_END */

/* RSVPRO_MOBILE_APP_GLOBAL_START */

/*
  Base mobile oficial RSVPro:
  - sem sidebar lateral;
  - topbar com logo;
  - navegação inferior tipo app;
  - sem scroll horizontal;
  - conteúdo e mapas adaptados a ecrã pequeno.
*/

@media(max-width:860px){

  html,
  body{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
    -webkit-text-size-adjust:100% !important;
    text-size-adjust:100% !important;
  }

  body{
    padding-bottom:calc(78px + env(safe-area-inset-bottom,0px)) !important;
    background:
      radial-gradient(circle at 14% 0%,rgba(141,198,63,.20),transparent 34%),
      linear-gradient(135deg,#f8fbf2 0%,#eef7e6 50%,#fff 100%) !important;
  }

  .rsv-shell{
    display:block !important;
    grid-template-columns:1fr !important;
    min-height:100vh !important;
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .rsv-sidebar{
    position:sticky !important;
    top:0 !important;
    z-index:9000 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:auto !important;
    height:auto !important;
    padding:10px 14px 9px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:
      radial-gradient(circle at 18% 0%,rgba(141,198,63,.22),transparent 34%),
      linear-gradient(135deg,#075429,#063f20) !important;
    box-shadow:0 10px 24px rgba(4,38,19,.18) !important;
    border-bottom:1px solid rgba(255,255,255,.10) !important;
    overflow:hidden !important;
  }

  .rsv-sidebar-top{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
  }

  .rsv-logo{
    width:auto !important;
    min-height:52px !important;
    height:52px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    text-decoration:none !important;
  }

  .rsv-logo img{
    display:block !important;
    width:178px !important;
    max-width:68vw !important;
    max-height:50px !important;
    object-fit:contain !important;
    margin:0 !important;
  }

  .rsv-logo-fallback{
    font-size:1.2rem !important;
    padding:9px 12px !important;
  }

  .rsv-nav,
  .rsv-sidebar-bottom,
  .rsv-sidebar-note,
  .rsv-partners{
    display:none !important;
  }

  .rsv-main{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:10px 10px 20px !important;
    overflow-x:hidden !important;
  }

  .rsv-main > *{
    max-width:100% !important;
  }

  .rsv-page-hero{
    border-radius:20px !important;
    padding:18px !important;
    margin:0 0 12px !important;
    box-shadow:0 10px 26px rgba(6,63,32,.12) !important;
  }

  .rsv-kicker{
    font-size:.68rem !important;
    padding:6px 10px !important;
    border-radius:999px !important;
  }

  .rsv-page-hero h1{
    font-size:1.85rem !important;
    line-height:.98 !important;
    letter-spacing:-0.055em !important;
    margin-top:12px !important;
  }

  .rsv-page-hero p{
    font-size:.92rem !important;
    line-height:1.42 !important;
  }

  .rsv-card,
  .home-card,
  .home-panel,
  .za-card,
  .za-panel,
  .parcelas-panel,
  .obs-panel,
  .alertas-panel{
    border-radius:20px !important;
    padding:16px !important;
  }

  .home-hero,
  .home-grid,
  .home-section,
  .za-grid,
  .za-section,
  .parcelas-layout,
  .obs-layout,
  .alertas-layout{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    width:100% !important;
    max-width:100% !important;
  }

  .home-hero-main,
  .za-hero{
    border-radius:20px !important;
    padding:18px !important;
    min-height:auto !important;
  }

  .home-hero-main h1,
  .za-hero h1{
    font-size:1.95rem !important;
    line-height:.98 !important;
    letter-spacing:-0.055em !important;
  }

  .home-actions,
  .za-actions,
  .parcelas-btn-row,
  .obs-btn-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  .home-btn,
  .za-btn,
  .parcelas-btn,
  .obs-btn{
    width:100% !important;
    min-height:46px !important;
    justify-content:center !important;
  }

  .parcelas-map-wrap,
  .obs-map-wrap,
  .alertas-map-card{
    width:100% !important;
    min-height:430px !important;
    height:430px !important;
    border-radius:20px !important;
    overflow:hidden !important;
  }

  #parcelasMap,
  #obsMap,
  #alertasMap{
    width:100% !important;
    height:430px !important;
    min-height:430px !important;
  }

  .leaflet-container{
    font-family:"Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
    touch-action:pan-x pan-y !important;
  }

  .rsv-dados-legacy-wrap{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
  }

  .rsv-dados-legacy-wrap img,
  .rsv-dados-legacy-wrap svg,
  .rsv-dados-legacy-wrap canvas{
    max-width:100% !important;
  }

  .rsv-dados-legacy-wrap table{
    max-width:100% !important;
    overflow-x:auto !important;
  }

  .rsv-dados-legacy-wrap .container,
  .rsv-dados-legacy-wrap .page,
  .rsv-dados-legacy-wrap .content,
  .rsv-dados-legacy-wrap .main,
  .rsv-dados-legacy-wrap main{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .rsv-mobile-nav{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:10000 !important;
    height:calc(78px + env(safe-area-inset-bottom,0px)) !important;
    padding:7px 8px calc(7px + env(safe-area-inset-bottom,0px)) !important;
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:7px !important;
    background:rgba(255,255,255,.97) !important;
    border-top:1px solid rgba(6,63,32,.12) !important;
    box-shadow:0 -12px 26px rgba(4,38,19,.16) !important;
    backdrop-filter:blur(12px) !important;
  }

  .rsv-mobile-nav a{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px !important;
    min-width:0 !important;
    min-height:56px !important;
    border-radius:17px !important;
    color:#627568 !important;
    text-decoration:none !important;
    font-family:"Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
    font-size:.66rem !important;
    line-height:1 !important;
    font-weight:850 !important;
    border:1px solid transparent !important;
  }

  .rsv-mobile-nav a.active{
    color:#07351f !important;
    background:rgba(141,198,63,.28) !important;
    border-color:rgba(141,198,63,.38) !important;
  }

  .rsv-mobile-nav i{
    font-style:normal !important;
    font-size:1.15rem !important;
    line-height:1 !important;
  }

  .rsv-mobile-nav span{
    display:block !important;
    white-space:nowrap !important;
  }
}

@media(max-width:390px){
  .rsv-main{
    padding-left:8px !important;
    padding-right:8px !important;
  }

  .rsv-logo img{
    width:164px !important;
  }

  .rsv-page-hero h1,
  .home-hero-main h1,
  .za-hero h1{
    font-size:1.68rem !important;
  }

  .rsv-mobile-nav{
    gap:5px !important;
    padding-left:6px !important;
    padding-right:6px !important;
  }

  .rsv-mobile-nav a{
    font-size:.61rem !important;
    border-radius:15px !important;
  }
}

/* RSVPRO_MOBILE_APP_GLOBAL_END */

/* RSVPRO_MOBILE_APP_NAV_FINAL_START */
@media(max-width:860px){
  .rsv-mobile-nav.rsv-mobile-nav-v2{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:10000 !important;
    height:calc(78px + env(safe-area-inset-bottom,0px)) !important;
    padding:7px 7px calc(7px + env(safe-area-inset-bottom,0px)) !important;
    display:grid !important;
    grid-template-columns:repeat(5,1fr) !important;
    gap:5px !important;
    background:rgba(255,255,255,.97) !important;
    border-top:1px solid rgba(6,63,32,.12) !important;
    box-shadow:0 -12px 26px rgba(4,38,19,.16) !important;
    backdrop-filter:blur(12px) !important;
  }

  .rsv-mobile-nav.rsv-mobile-nav-v2 a,
  .rsv-mobile-nav.rsv-mobile-nav-v2 button{
    appearance:none !important;
    border:1px solid transparent !important;
    background:transparent !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px !important;
    min-width:0 !important;
    min-height:56px !important;
    border-radius:16px !important;
    color:#657769 !important;
    text-decoration:none !important;
    font-size:.60rem !important;
    line-height:1 !important;
    font-weight:850 !important;
    padding:0 !important;
    margin:0 !important;
    cursor:pointer !important;
  }

  .rsv-mobile-nav.rsv-mobile-nav-v2 a.active,
  .rsv-mobile-nav.rsv-mobile-nav-v2 button.active{
    color:#075429 !important;
    background:rgba(141,198,63,.24) !important;
    border-color:rgba(141,198,63,.34) !important;
  }

  .rsv-mobile-nav.rsv-mobile-nav-v2 i{
    width:23px !important;
    height:23px !important;
    display:grid !important;
    place-items:center !important;
    color:currentColor !important;
  }

  .rsv-mobile-nav.rsv-mobile-nav-v2 svg{
    width:22px !important;
    height:22px !important;
    display:block !important;
    fill:currentColor !important;
  }

  .rsv-mobile-nav.rsv-mobile-nav-v2 span{
    display:block !important;
    white-space:nowrap !important;
    color:currentColor !important;
  }

  .rsv-more-backdrop{
    position:fixed !important;
    inset:0 !important;
    z-index:10040 !important;
    background:rgba(0,0,0,.26) !important;
    opacity:0 !important;
    transition:opacity .18s ease !important;
  }

  .rsv-more-backdrop.open{
    opacity:1 !important;
  }

  .rsv-more-sheet{
    position:fixed !important;
    left:10px !important;
    right:10px !important;
    bottom:calc(88px + env(safe-area-inset-bottom,0px)) !important;
    z-index:10050 !important;
    border-radius:24px !important;
    background:#fff !important;
    border:1px solid rgba(6,63,32,.12) !important;
    box-shadow:0 24px 60px rgba(6,63,32,.22) !important;
    padding:10px 12px 14px !important;
    transform:translateY(12px) scale(.98) !important;
    opacity:0 !important;
    transition:opacity .18s ease, transform .18s ease !important;
  }

  .rsv-more-sheet.open{
    opacity:1 !important;
    transform:translateY(0) scale(1) !important;
  }

  .rsv-more-handle{
    width:44px !important;
    height:5px !important;
    border-radius:999px !important;
    background:#d7e8d2 !important;
    margin:0 auto 9px !important;
  }

  .rsv-more-head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    padding:0 2px 10px !important;
  }

  .rsv-more-head strong{
    color:#07351f !important;
    font-size:1rem !important;
    font-weight:900 !important;
  }

  .rsv-more-head button{
    width:34px !important;
    height:34px !important;
    border-radius:999px !important;
    border:1px solid #d7e8d2 !important;
    background:#eef8e7 !important;
    color:#075429 !important;
    font-size:1.3rem !important;
    line-height:1 !important;
    font-weight:800 !important;
  }

  .rsv-more-grid{
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:8px !important;
  }

  .rsv-more-grid a{
    min-height:82px !important;
    border-radius:19px !important;
    background:#f8fbf2 !important;
    border:1px solid #dfece0 !important;
    color:#075429 !important;
    text-decoration:none !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    font-size:.76rem !important;
    font-weight:900 !important;
  }

  .rsv-more-grid i{
    width:30px !important;
    height:30px !important;
    color:#075429 !important;
  }

  .rsv-more-grid svg{
    width:28px !important;
    height:28px !important;
    fill:currentColor !important;
  }

  .home-mobile-app{
    display:block !important;
    width:100% !important;
  }

  .home-desktop{
    display:none !important;
  }

  .mobile-welcome{
    border-radius:24px !important;
    padding:18px !important;
    color:#fff !important;
    background:
      radial-gradient(circle at 90% 0%,rgba(141,198,63,.30),transparent 36%),
      linear-gradient(135deg,#075429,#063f20) !important;
    box-shadow:0 12px 30px rgba(6,63,32,.16) !important;
    margin-bottom:14px !important;
  }

  .mobile-welcome-kicker{
    display:inline-flex !important;
    border-radius:999px !important;
    padding:6px 10px !important;
    background:rgba(255,255,255,.13) !important;
    color:rgba(255,255,255,.92) !important;
    font-size:.68rem !important;
    font-weight:900 !important;
    letter-spacing:.07em !important;
    text-transform:uppercase !important;
  }

  .mobile-welcome h1{
    margin:12px 0 0 !important;
    font-size:1.78rem !important;
    line-height:.98 !important;
    letter-spacing:-0.055em !important;
    font-weight:850 !important;
  }

  .mobile-welcome p{
    margin:9px 0 0 !important;
    color:rgba(255,255,255,.80) !important;
    font-size:.92rem !important;
    line-height:1.38 !important;
    font-weight:700 !important;
  }

  .mobile-section-title{
    display:flex !important;
    align-items:end !important;
    justify-content:space-between !important;
    gap:10px !important;
    margin:12px 2px 9px !important;
  }

  .mobile-section-title h2{
    margin:0 !important;
    font-size:.96rem !important;
    font-weight:900 !important;
    color:#07351f !important;
    letter-spacing:-0.02em !important;
  }

  .mobile-section-title span{
    color:#6a7e6d !important;
    font-size:.72rem !important;
    font-weight:800 !important;
  }

  .app-launcher{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .app-tile{
    min-height:82px !important;
    border-radius:22px !important;
    background:#fff !important;
    border:1px solid rgba(6,63,32,.10) !important;
    box-shadow:0 9px 24px rgba(6,63,32,.09) !important;
    text-decoration:none !important;
    color:#07351f !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:13px !important;
    padding:12px 14px !important;
    overflow:hidden !important;
  }

  .app-tile-icon{
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    border-radius:17px !important;
    display:grid !important;
    place-items:center !important;
    color:#075429 !important;
    background:#eef8e7 !important;
    box-shadow:none !important;
  }

  .app-tile-icon svg{
    width:29px !important;
    height:29px !important;
    fill:currentColor !important;
  }

  .app-tile-text{
    min-width:0 !important;
    display:grid !important;
    gap:3px !important;
  }

  .app-tile strong{
    display:block !important;
    color:#07351f !important;
    font-size:.98rem !important;
    font-weight:900 !important;
    line-height:1.08 !important;
    text-align:left !important;
    letter-spacing:-0.02em !important;
  }

  .app-tile small{
    display:block !important;
    color:#627568 !important;
    font-size:.74rem !important;
    font-weight:750 !important;
    line-height:1.22 !important;
  }
}

@media(min-width:861px){
  .rsv-mobile-nav-v2,
  .rsv-more-backdrop,
  .rsv-more-sheet{
    display:none !important;
  }
}
/* RSVPRO_MOBILE_APP_NAV_FINAL_END */
