:root{
  --cp-bg:#fcf7f6;
  --cp-bg2:#fffdfc;
  --cp-surface:rgba(255,255,255,.82);
  --cp-surface-strong:#ffffff;
  --cp-surface-soft:#fff7f4;
  --cp-text:#324155;
  --cp-muted:#6f7b8f;
  --cp-line:rgba(91,106,133,.14);
  --cp-line-strong:rgba(45,179,202,.22);
  --cp-brand:#2bb3ca;
  --cp-brand-strong:#1f95ab;
  --cp-brand-soft:rgba(43,179,202,.12);
  --cp-blush:rgba(252,198,196,.18);
  --cp-peach:rgba(247,202,159,.22);
  --cp-shadow:0 18px 48px rgba(92,82,108,.10);
  --cp-shadow-soft:0 10px 28px rgba(92,82,108,.07);
}

body.page-home,
body.page-start,
body.page-app{
  color:var(--cp-text);
  background:
    radial-gradient(720px 320px at -2% 20%, rgba(255,232,229,.65), transparent 60%),
    radial-gradient(640px 320px at 102% 40%, rgba(255,236,229,.72), transparent 58%),
    radial-gradient(760px 280px at 50% -10%, rgba(43,179,202,.12), transparent 58%),
    linear-gradient(180deg, var(--cp-bg) 0%, var(--cp-bg2) 100%);
}

body.page-home::before,
body.page-start::before,
body.page-app::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 10% 75%, rgba(255,255,255,.85) 0 2px, transparent 3px),
    radial-gradient(circle at 78% 18%, rgba(255,255,255,.72) 0 2px, transparent 3px),
    radial-gradient(circle at 16% 28%, rgba(255,255,255,.58) 0 1.5px, transparent 3px),
    radial-gradient(circle at 86% 72%, rgba(255,255,255,.58) 0 1.5px, transparent 3px);
  opacity:.75;
}

body.page-home .topbar,
body.page-start .topbar,
body.page-app .topbar,
body.page-start .top,
body.page-home .top{
  background:rgba(255,255,255,.74);
  border-bottom:1px solid var(--cp-line);
  backdrop-filter:blur(16px);
}

body.page-home .brand,
body.page-start .brand,
body.page-app .brand{
  color:var(--cp-text);
}

body.page-home .brand img,
body.page-start .brand img,
body.page-start .brand .logo,
body.page-app .brand img{
  border-radius:999px;
  background:rgba(255,255,255,.9);
  box-shadow:0 10px 24px rgba(92,82,108,.12);
}

body.page-home .btn-primary,
body.page-start .btn.primary,
body.page-start .btn.btn-primary,
body.page-app .confirm-btn{
  background:linear-gradient(135deg, var(--cp-brand), var(--cp-brand-strong)) !important;
  color:#fff !important;
  box-shadow:0 16px 32px rgba(43,179,202,.24) !important;
}

body.page-home .btn-secondary,
body.page-start .btn.ghost,
body.page-app .topbar .btn,
body.page-app .auth-user-logout,
body.page-start #btn-logout,
body.page-start #btn-logout-view{
  background:rgba(255,255,255,.88) !important;
  color:var(--cp-text) !important;
  border:1px solid var(--cp-line) !important;
  box-shadow:var(--cp-shadow-soft) !important;
}

body.page-home .card,
body.page-home .box,
body.page-home .step,
body.page-home .qa,
body.page-home .plan,
body.page-home .tag,
body.page-start .authbox,
body.page-start main.card,
body.page-start .panel .box,
body.page-start .cover-upload-box,
body.page-app #auth-box,
body.page-app #booking-box,
body.page-app .section,
body.page-app .report,
body.page-app #biz-header{
  background:rgba(255,255,255,.78) !important;
  border:1px solid var(--cp-line) !important;
  box-shadow:var(--cp-shadow) !important;
}

body.page-home .hero,
body.page-start .start-hero,
body.page-app #auth-box.authbox-app{
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(43,179,202,.10), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,247,244,.93)) !important;
}

body.page-home .hero h1,
body.page-start .start-hero-kicker,
body.page-app .brand-title,
body.page-app #biz-name,
body.page-app .section h2,
body.page-app .report h2{
  color:var(--cp-brand-strong) !important;
}

body.page-home .micro,
body.page-home .hero .sub,
body.page-home .section-head p,
body.page-start .lead,
body.page-start .muted,
body.page-start .start-hero-copy p,
body.page-app .muted,
body.page-app #auth-status,
body.page-app .report-meta,
body.page-app #biz-address,
body.page-app #biz-location{
  color:var(--cp-muted) !important;
}

body.page-home .hero-flower,
body.page-start .start-hero-flower,
body.page-app .brand-logo{
  background:rgba(255,255,255,.82) !important;
  box-shadow:0 18px 38px rgba(255,185,150,.16), 0 10px 24px rgba(92,82,108,.10) !important;
  outline:1px solid rgba(255,222,213,.84) !important;
  padding:8px;
}

body.page-home .bullet.good,
body.page-home .step .num,
body.page-start .chip .n,
body.page-app .auth-pill,
body.page-app #biz-maps{
  background:var(--cp-brand-soft) !important;
  color:var(--cp-brand-strong) !important;
  border-color:var(--cp-line-strong) !important;
}

body.page-home .mockup,
body.page-app .picker,
body.page-app .report li,
body.page-app .auth-user-card,
body.page-start .cover-upload-box{
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,248,246,.92)) !important;
}

body.page-home .phone,
body.page-app #biz-header.biz-header--with-cover,
body.page-start .cover-preview{
  box-shadow:0 18px 42px rgba(92,82,108,.10) !important;
}

body.page-home .tag,
body.page-home .step,
body.page-home .box,
body.page-home .plan,
body.page-home .qa{
  border-radius:26px !important;
}

body.page-home .btn,
body.page-start .btn,
body.page-start .google-signin-btn,
body.page-app .google-signin-btn,
body.page-app .confirm-btn,
body.page-app .btn-sena,
body.page-app .btn-comprobante,
body.page-app .delete-btn,
body.page-app .auth-user-logout{
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}

body.page-home .btn:hover,
body.page-start .btn:hover,
body.page-start .google-signin-btn:hover,
body.page-app .google-signin-btn:hover,
body.page-app .confirm-btn:hover,
body.page-app .auth-user-logout:hover{
  transform:translateY(-1px);
}

body.page-start .topbar-inner,
body.page-app .topbar-inner,
body.page-home .topbar-inner{
  max-width:1100px;
}

body.page-start .google-signin-btn,
body.page-app .google-signin-btn{
  min-height:54px !important;
  padding:0 22px !important;
  border-radius:999px !important;
  border:1px solid var(--cp-line) !important;
  background:rgba(255,255,255,.96) !important;
  color:var(--cp-text) !important;
  box-shadow:0 14px 30px rgba(92,82,108,.10) !important;
  font-weight:800 !important;
}

body.page-start .google-signin-btn:hover,
body.page-app .google-signin-btn:hover{
  background:#fff !important;
  border-color:var(--cp-line-strong) !important;
  box-shadow:0 18px 34px rgba(43,179,202,.14) !important;
}

body.page-start .google-signin-icon,
body.page-app .google-signin-icon{
  width:32px !important;
  height:32px !important;
  background:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(91,106,133,.12), 0 8px 16px rgba(92,82,108,.08) !important;
}

body.page-start .authbox,
body.page-app #auth-box.authbox-app{
  border-radius:30px !important;
  padding:22px 20px !important;
}

body.page-start .start-hero{
  border-radius:34px;
  padding:34px 22px 30px;
}

body.page-start .start-hero-copy{
  gap:10px;
}

body.page-start .start-hero-kicker{
  letter-spacing:.16em;
  color:var(--cp-brand);
}

body.page-start .authbox h2,
body.page-app #auth-title{
  margin-bottom:8px !important;
  font-size:30px !important;
  letter-spacing:-.04em;
  color:var(--cp-brand-strong);
}

body.page-start .auth-center-actions,
body.page-app .auth-center-actions{
  gap:14px;
}

body.page-start .trust-row,
body.page-app .trust-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}

body.page-start .trust-pill,
body.page-app .trust-pill{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:72px;
  padding:12px 14px;
  border-radius:20px;
  background:rgba(255,255,255,.78);
  border:1px solid var(--cp-line);
  color:var(--cp-muted);
  font-weight:700;
  font-size:14px;
  line-height:1.35;
}

body.page-app .brand-header{
  gap:8px;
  margin:12px 0 20px;
}

body.page-app .brand-title{
  font-size:clamp(2rem,7vw,3.25rem);
  letter-spacing:.14em;
}

body.page-app .brand-subtitle{
  margin:0;
  color:var(--cp-muted);
  font-size:1rem;
  font-weight:600;
}

body.page-app #biz-header{
  border-radius:32px !important;
  overflow:hidden;
}

body.page-app #biz-header.biz-header--with-cover .biz-header-inner{
  padding:226px 22px 26px;
}

body.page-app .biz-cover-wrap::after{
  background:linear-gradient(to bottom, rgba(63,39,51,.18) 0%, rgba(77,48,55,.12) 22%, rgba(255,248,246,0) 56%, rgba(255,248,246,.22) 74%, rgba(255,248,246,.54) 100%);
}

body.page-app .section,
body.page-app .report{
  border-radius:28px;
  padding:20px 18px;
}

body.page-app .section h2,
body.page-app .report h2{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:18px;
}

body.page-app .section h2::before,
body.page-app .report h2::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(135deg, #f2b48b, var(--cp-brand));
  box-shadow:0 0 0 6px rgba(43,179,202,.10);
}

body.page-app .picker{
  border-radius:24px;
  border:1px solid rgba(91,106,133,.12) !important;
}

body.page-app .picker-highlight{
  left:14px; right:14px;
  background:linear-gradient(135deg, rgba(43,179,202,.10), rgba(247,202,159,.18)) !important;
  border:1px solid rgba(43,179,202,.16) !important;
  box-shadow:0 10px 18px rgba(43,179,202,.08) !important;
}

body.page-app .wheel li.selected{
  color:var(--cp-brand-strong) !important;
}

body.page-app .confirm-btn{
  margin-top:10px;
  border-radius:20px;
  min-height:58px;
}

body.page-app .report li{
  border-radius:18px;
  border:1px solid rgba(91,106,133,.12) !important;
}

body.page-app .btn-sena{
  background:#fff4de !important;
  color:#9a6500 !important;
  border-color:#f5ddaa !important;
}

body.page-app .btn-comprobante{
  background:#edf9f5 !important;
  color:#17705e !important;
  border-color:#bee8d8 !important;
}

body.page-app .delete-btn{
  background:#fff1f2 !important;
  color:#d64b5f !important;
  border-color:#f6ccd3 !important;
}

body.page-app .auth-user-card{
  border:1px solid var(--cp-line) !important;
  border-radius:22px;
  padding:16px 18px;
}

body.page-app .auth-user-avatar{
  background:rgba(43,179,202,.12) !important;
  color:var(--cp-brand-strong) !important;
}

body.page-app .auth-user-name{color:var(--cp-text) !important;}
body.page-app .auth-user-email{color:var(--cp-muted) !important;}

body.page-home .hero .sub,
body.page-start .start-hero-copy p,
body.page-app .brand-subtitle,
body.page-app .auth-copy{
  max-width:40ch;
  margin-inline:auto;
}

body.page-home .ctas .btn,
body.page-start .auth-center-actions .btn,
body.page-start .auth-center-actions .google-signin-btn,
body.page-app .auth-center-actions .google-signin-btn{
  min-width:min(100%, 420px);
}

@media (max-width:720px){
  body.page-start .trust-row,
  body.page-app .trust-row{grid-template-columns:1fr;}
  body.page-app #biz-header.biz-header--with-cover .biz-header-inner{padding:196px 18px 24px;}
}

@media (max-width:620px){
  body.page-home .topbar-inner,
  body.page-start .topbar-inner,
  body.page-app .topbar-inner{
    padding:14px 16px;
  }
  body.page-home .card,
  body.page-start .authbox,
  body.page-start main.card,
  body.page-start .panel .box,
  body.page-app #auth-box,
  body.page-app #booking-box,
  body.page-app .section,
  body.page-app .report,
  body.page-app #biz-header{
    border-radius:24px !important;
  }
  body.page-start .start-hero{padding:28px 18px 24px;}
  body.page-start .authbox h2,
  body.page-app #auth-title{font-size:2rem !important;}
  body.page-app .brand-title{font-size:clamp(1.85rem,11vw,2.5rem);}
}

body.page-app #biz-header.biz-header--with-cover{
  min-height:360px;
  border-radius:32px !important;
  overflow:hidden;
}

body.page-app #biz-header.biz-header--with-cover .biz-cover-wrap::after{
  background:
    linear-gradient(180deg, rgba(33, 28, 26, .12) 0%, rgba(33, 28, 26, .10) 28%, rgba(33, 28, 26, .08) 42%, rgba(33, 28, 26, .16) 56%, rgba(33, 28, 26, .48) 74%, rgba(33, 28, 26, .72) 100%) !important;
}

body.page-app #biz-header.biz-header--with-cover .biz-header-inner{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
  min-height:360px;
  padding:208px 22px 24px !important;
}

body.page-app #biz-name{
  color:#fff !important;
  text-shadow:0 10px 32px rgba(0,0,0,.42), 0 2px 10px rgba(0,0,0,.3) !important;
  max-width:18ch;
}

body.page-app #biz-address,
body.page-app #biz-location{
  color:rgba(255,255,255,.92) !important;
  text-shadow:0 6px 24px rgba(0,0,0,.34) !important;
}

body.page-app .biz-location-row{
  gap:10px;
  align-items:center;
}

body.page-app #biz-maps{
  display:inline-flex !important;
  align-items:center;
  min-height:38px;
  padding:0 14px;
  background:rgba(255,255,255,.88) !important;
  color:var(--cp-text) !important;
  border:1px solid rgba(255,255,255,.42) !important;
  box-shadow:0 10px 22px rgba(0,0,0,.12) !important;
  backdrop-filter:blur(10px);
}

@media (max-width: 720px){
  body.page-app #biz-header.biz-header--with-cover{
    min-height:320px;
    border-radius:28px !important;
  }

  body.page-app #biz-header.biz-header--with-cover .biz-header-inner{
    min-height:320px;
    padding:186px 16px 18px !important;
  }

  body.page-app #biz-name{
    font-size:22px !important;
    line-height:1.1;
  }

  body.page-app #biz-address,
  body.page-app #biz-location{
    font-size:13px;
  }
}

/* atmosphere pass 2: lighter covers + living floral background */
body.page-home,
body.page-start,
body.page-app,
body.page-select,
body.page-panel{
  background:
    url('../assets/ui/floral-mist-left.svg') left -24px bottom -12px / 300px auto no-repeat,
    url('../assets/ui/floral-mist-right.svg') right -12px center / 310px auto no-repeat,
    radial-gradient(760px 360px at -4% 18%, rgba(255,233,229,.82), transparent 58%),
    radial-gradient(720px 360px at 104% 34%, rgba(255,240,234,.82), transparent 56%),
    radial-gradient(620px 260px at 50% -6%, rgba(43,179,202,.10), transparent 54%),
    linear-gradient(180deg, #fdf9f8 0%, #fffdfc 100%) !important;
  background-attachment: fixed, fixed, fixed, fixed, fixed, fixed;
}

body.page-home::after,
body.page-start::after,
body.page-app::after,
body.page-select::after,
body.page-panel::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(220px 140px at 46% 20%, rgba(255,255,255,.46), transparent 70%),
    radial-gradient(180px 120px at 70% 62%, rgba(255,248,244,.44), transparent 68%),
    radial-gradient(160px 100px at 24% 68%, rgba(255,252,250,.38), transparent 68%);
  opacity:.95;
}

body.page-app #biz-header,
body.page-app #booking-box,
body.page-app #auth-box,
body.page-select .card,
body.page-panel .card,
body.page-panel .box,
body.page-select .box{
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(91,106,133,.12) !important;
  box-shadow:0 16px 40px rgba(92,82,108,.08) !important;
}

body.page-app #biz-header.biz-header--with-cover{
  box-shadow:0 20px 42px rgba(92,82,108,.10) !important;
}

body.page-app #biz-header.biz-header--with-cover .biz-cover-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(180px 120px at 50% 48%, rgba(255,255,255,.24), transparent 70%),
    linear-gradient(180deg, rgba(255,248,244,.20), rgba(255,248,244,.05));
  pointer-events:none;
  z-index:1;
}

body.page-app #biz-header.biz-header--with-cover .biz-header-inner{
  z-index:3 !important;
}

body.page-app #biz-header.biz-header--with-cover #biz-name{
  color:#fffdfa !important;
  text-shadow:0 2px 10px rgba(67,56,81,.24), 0 1px 2px rgba(67,56,81,.18) !important;
}

body.page-app #biz-header.biz-header--with-cover #biz-address,
body.page-app #biz-header.biz-header--with-cover #biz-location{
  color:rgba(255,250,247,.92) !important;
  text-shadow:0 2px 8px rgba(67,56,81,.18) !important;
}

body.page-app #biz-header.biz-header--with-cover #biz-maps{
  background:rgba(255,255,255,.32) !important;
  color:#fffdfa !important;
  border:1px solid rgba(255,255,255,.32) !important;
  box-shadow:0 8px 18px rgba(92,82,108,.10) !important;
}

@media (max-width: 720px){
  body.page-home,
  body.page-start,
  body.page-app,
  body.page-select,
  body.page-panel{
    background:
      url('../assets/ui/floral-mist-left.svg') left -60px bottom 22px / 220px auto no-repeat,
      url('../assets/ui/floral-mist-right.svg') right -70px 22% / 220px auto no-repeat,
      radial-gradient(420px 240px at -8% 16%, rgba(255,233,229,.82), transparent 58%),
      radial-gradient(420px 220px at 108% 34%, rgba(255,240,234,.82), transparent 56%),
      linear-gradient(180deg, #fdf9f8 0%, #fffdfc 100%) !important;
    background-attachment: scroll, scroll, scroll, scroll, scroll;
  }
}

/* vNext mock-aligned app screen */
body.page-app{
  min-height:100vh;
  background:
    radial-gradient(700px 340px at -6% 22%, rgba(252,230,228,.80), transparent 58%),
    radial-gradient(640px 340px at 108% 36%, rgba(255,231,224,.82), transparent 56%),
    radial-gradient(520px 240px at 50% 12%, rgba(43,179,202,.10), transparent 62%),
    linear-gradient(180deg, #f8f3f2 0%, #fdfaf9 100%) !important;
}

body.page-app::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    url('/assets/ui/floral-mist-left.svg') left 6% bottom 6% / 340px auto no-repeat,
    url('/assets/ui/floral-mist-right.svg') right 4% center / 320px auto no-repeat;
  opacity:.42;
}

body.page-app .device-stage{
  width:100%;
  max-width:460px;
  margin:24px auto 32px;
  position:relative;
}

body.page-app .device-frame{
  position:relative;
  background:linear-gradient(180deg, #131417, #07080a);
  border-radius:48px;
  padding:14px;
  box-shadow:0 32px 80px rgba(25,26,29,.22), 0 10px 24px rgba(25,26,29,.12);
}

body.page-app .device-notch{
  position:absolute;
  top:10px;
  left:50%;
  transform:translateX(-50%);
  width:132px;
  height:22px;
  border-radius:0 0 18px 18px;
  background:#0b0c0f;
  z-index:4;
}

body.page-app .device-screen{
  background:linear-gradient(180deg, #fbf7f6 0%, #fffdfc 100%);
  border-radius:36px;
  overflow:hidden;
  position:relative;
  min-height:calc(100vh - 88px);
}

body.page-app .topbar{
  position:static !important;
  background:transparent !important;
  border-bottom:0 !important;
  backdrop-filter:none !important;
}

body.page-app .topbar-inner,
body.page-app .container{
  max-width:none !important;
  padding-left:18px !important;
  padding-right:18px !important;
}

body.page-app .container{padding-top:14px !important; padding-bottom:28px !important;}
body.page-app .authbox-wrap .container,
body.page-app .authbox-wrap{padding-top:0 !important; padding-bottom:0 !important;}
body.page-app .brand-header{margin:6px 0 20px !important; gap:10px;}
body.page-app .brand-logo{width:108px;height:108px;filter:none !important;}
body.page-app .brand-title{font-size:clamp(2.2rem,8vw,3.25rem) !important; letter-spacing:.12em !important; color:#3798a7 !important;}
body.page-app .brand-subtitle{font-size:1.02rem !important; color:#667286 !important; max-width:22ch !important;}

body.page-app #auth-box,
body.page-app #booking-box,
body.page-app .section,
body.page-app .report,
body.page-app #biz-header{
  background:rgba(255,255,255,.76) !important;
  border:1px solid rgba(105,119,146,.12) !important;
  box-shadow:0 14px 34px rgba(100,92,111,.08) !important;
}

body.page-app #biz-header.biz-header--with-cover,
body.page-app #biz-header{
  min-height:220px !important;
  border-radius:28px !important;
  margin:0 0 16px 0 !important;
}

body.page-app #biz-header.biz-header--with-cover .biz-cover-wrap,
body.page-app #biz-header.biz-header--with-cover .biz-cover{
  border-radius:28px !important;
}

body.page-app #biz-header.biz-header--with-cover .biz-cover-wrap::after{
  background:linear-gradient(180deg, rgba(255,255,255,.16) 0%, rgba(255,248,245,.22) 32%, rgba(255,243,239,.34) 60%, rgba(250,238,236,.50) 100%) !important;
}

body.page-app #biz-header.biz-header--with-cover .biz-header-inner{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-direction:column !important;
  gap:8px !important;
  padding:0 20px 18px !important;
  text-align:center !important;
  max-width:none !important;
}

body.page-app #biz-name{
  max-width:20ch !important;
  margin:0 auto !important;
  color:#ffffff !important;
  font-size:1.9rem !important;
  line-height:1.08 !important;
  text-align:center !important;
  text-shadow:0 2px 12px rgba(132,112,124,.20), 0 1px 2px rgba(132,112,124,.16) !important;
}

body.page-app #biz-address,
body.page-app #biz-location{
  color:rgba(255,255,255,.95) !important;
  text-align:center !important;
  text-shadow:0 2px 10px rgba(132,112,124,.18) !important;
}

body.page-app .biz-location-row{
  width:100%;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
}

body.page-app #biz-maps{
  display:inline-flex !important;
  min-height:34px !important;
  padding:0 12px !important;
  background:rgba(255,255,255,.46) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.52) !important;
  box-shadow:none !important;
  backdrop-filter:blur(10px);
}

body.page-app .section,
body.page-app .report{border-radius:24px !important;}
body.page-app .picker{border-radius:20px !important;}
body.page-app .confirm-btn{border-radius:999px !important; min-height:54px !important;}

@media (max-width: 720px){
  body.page-app::after{opacity:.36;background:
    url('/assets/ui/floral-mist-left.svg') left bottom / 220px auto no-repeat,
    url('/assets/ui/floral-mist-right.svg') right center / 220px auto no-repeat;}
  body.page-app .device-stage{max-width:none;margin:0;}
  body.page-app .device-frame{background:transparent;box-shadow:none;padding:0;border-radius:0;}
  body.page-app .device-notch{display:none;}
  body.page-app .device-screen{min-height:auto;border-radius:0;background:transparent;}
  body.page-app .topbar-inner,
  body.page-app .container{padding-left:16px !important; padding-right:16px !important;}
  body.page-app #biz-header.biz-header--with-cover,
  body.page-app #biz-header{min-height:204px !important;border-radius:24px !important;}
  body.page-app #biz-header.biz-header--with-cover .biz-cover-wrap,
  body.page-app #biz-header.biz-header--with-cover .biz-cover{border-radius:24px !important;}
  body.page-app #biz-header.biz-header--with-cover .biz-header-inner{padding:0 16px 16px !important;}
  body.page-app #biz-name{font-size:1.7rem !important;}
}


/* Fix negocio card alignment */
.biz-name,
.business-name,
.location-name,
.place-name,
.card-business-name,
.map-title,
.map-business-name,
#businessName {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto 10px auto !important;
  color: #5f6673 !important;
  text-shadow: none !important;
}

.biz-address,
.business-address,
.location-address,
.place-address,
.card-business-address,
.map-address,
#businessAddress {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto 10px auto !important;
  color: #6b7280 !important;
  text-shadow: none !important;
}

.biz-maps,
.business-maps,
.location-maps,
.place-maps,
.card-business-maps,
.map-link,
#businessMaps {
  display: block !important;
  width: fit-content !important;
  max-width: 100% !important;
  text-align: center !important;
  margin: 0 auto !important;
  color: #6b7280 !important;
  text-shadow: none !important;
}

.business-info,
.biz-info,
.location-info,
.place-info,
.card-business-info,
.map-overlay,
.map-content,
.map-info,
.map-labels {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
}

.business-info > *,
.biz-info > *,
.location-info > *,
.place-info > *,
.card-business-info > *,
.map-overlay > *,
.map-content > *,
.map-info > *,
.map-labels > * {
  align-self: center !important;
  text-align: center !important;
}



/* Specific business frame fix */
.business-card .business-info,
.business-frame .business-info,
.location-card .location-info,
.map-card .map-info,
.map-preview .map-overlay,
.map-preview .map-content,
.store-card .store-info {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: calc(100% - 32px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.business-card .business-name,
.business-frame .business-name,
.location-card .location-name,
.map-card .map-title,
.map-preview .map-title,
.store-card .store-name {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 0 10px 0 !important;
  color: #5f6673 !important;
  text-shadow: none !important;
}

.business-card .business-address,
.business-frame .business-address,
.location-card .location-address,
.map-card .map-address,
.map-preview .map-address,
.store-card .store-address {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 0 10px 0 !important;
  color: #6b7280 !important;
  text-shadow: none !important;
}

.business-card .map-link,
.business-frame .map-link,
.location-card .map-link,
.map-card .map-link,
.map-preview .map-link,
.store-card .map-link {
  display: inline-block !important;
  margin: 0 auto !important;
  color: #6b7280 !important;
  text-shadow: none !important;
  float: none !important;
}


/* Top-right compact home/menu icon */
body.page-app .topbar .menu-icon-btn,
body.page-select .topbar .menu-icon-btn{
  width:46px !important;
  min-width:46px !important;
  height:46px !important;
  padding:0 !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:700 !important;
}

body.page-app .topbar .menu-icon-btn span,
body.page-select .topbar .menu-icon-btn span{
  display:block;
  transform:translateY(-1px);
}




/* Mobile: keep menu icon aligned like desktop, without forcing absolute positioning */
@media (max-width: 768px){
  body.page-app .topbar-actions,
  body.page-select .topbar-actions{
    margin-left:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    flex:0 0 auto !important;
  }

  body.page-app .topbar,
  body.page-select .topbar{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
  }

  body.page-app .topbar .brand,
  body.page-select .topbar .brand{
    min-width:0 !important;
    flex:1 1 auto !important;
  }

  body.page-app .topbar .menu-icon-btn,
  body.page-select .topbar .menu-icon-btn{
    width:42px !important;
    min-width:42px !important;
    height:42px !important;
    font-size:17px !important;
    margin-left:0 !important;
    flex:0 0 auto !important;
  }
}


/* Brand equilibrium: product + business on the same frequency */
body.page-app .brand-header{
  margin: 8px 0 18px !important;
}

body.page-app .brand-title{
  font-size: clamp(1.82rem, 5.3vw, 2.45rem) !important;
  letter-spacing: .07em !important;
  line-height: 1.05 !important;
  color: #3f9dac !important;
  max-width: 11ch !important;
  margin: 2px auto 0 !important;
}

body.page-app .brand-kicker{
  display: inline-block !important;
  margin-left: .32rem !important;
  font-size: .34em !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  color: #9aa6b6 !important;
  vertical-align: middle !important;
  transform: translateY(-0.04em) !important;
  text-transform: none !important;
}

body.page-app .brand-subtitle{
  margin-top: 4px !important;
}

body.page-app #biz-name{
  font-size: 1.34rem !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
  color: #2f98a8 !important;
}

@media (max-width: 768px){
  body.page-app .brand-title{
    font-size: clamp(1.72rem, 8vw, 2.18rem) !important;
    letter-spacing: .055em !important;
    max-width: 10ch !important;
  }
  body.page-app .brand-kicker{
    font-size: .36em !important;
  }
  body.page-app #biz-name{
    font-size: 1.28rem !important;
  }
}


/* Mobile topbar alignment fix: keep brand left and menu icon right */
@media (max-width: 768px){
  body.page-app .topbar,
  body.page-select .topbar{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    flex-wrap:nowrap !important;
    gap:12px !important;
  }

  body.page-app .topbar .brand,
  body.page-select .topbar .brand{
    display:flex !important;
    align-items:center !important;
    min-width:0 !important;
    flex:1 1 auto !important;
  }

  body.page-app .topbar-actions,
  body.page-select .topbar-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    margin-left:auto !important;
    flex:0 0 auto !important;
    width:auto !important;
  }

  body.page-app .topbar .menu-icon-btn,
  body.page-select .topbar .menu-icon-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    flex:0 0 auto !important;
    align-self:center !important;
  }
}


/* Surgical mobile fix: keep wordmark and menu on the same row */
@media (max-width: 520px){
  body.page-app .topbar-inner,
  body.page-select .topbar-inner{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    flex-wrap:nowrap !important;
    gap:12px !important;
  }

  body.page-app .topbar-actions,
  body.page-select .topbar-actions{
    width:auto !important;
    margin-left:auto !important;
    justify-content:flex-end !important;
    flex:0 0 auto !important;
  }

  body.page-app .brand,
  body.page-select .brand{
    min-width:0 !important;
    flex:1 1 auto !important;
  }

  body.page-app .menu-icon-btn,
  body.page-select .menu-icon-btn{
    margin:0 !important;
    flex:0 0 auto !important;
  }
}


/* Inline menu with header wordmark: robust desktop/mobile alignment */
body.page-app .topbar-inner,
body.page-select .topbar-inner{
  display:block !important;
}

body.page-app .brand-inline-menu,
body.page-select .brand-inline-menu{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  min-width:0 !important;
}

body.page-app .brand-inline-menu .brand-main,
body.page-select .brand-inline-menu .brand-main{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0 !important;
  flex:1 1 auto !important;
}

body.page-app .brand-inline-menu .brand-main span,
body.page-select .brand-inline-menu .brand-main span{
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

body.page-app .brand-inline-menu .menu-icon-btn,
body.page-select .brand-inline-menu .menu-icon-btn{
  flex:0 0 auto !important;
  margin:0 !important;
}

body.page-app .topbar-actions,
body.page-select .topbar-actions{
  display:none !important;
}

@media (max-width: 520px){
  body.page-app .brand-inline-menu,
  body.page-select .brand-inline-menu{
    gap:10px !important;
  }
  body.page-app .brand-inline-menu .brand-main,
  body.page-select .brand-inline-menu .brand-main{
    gap:10px !important;
  }
}


/* Product logo left, menu right: keep same row on desktop and mobile */
body.page-app .topbar,
body.page-select .topbar{
  text-align: left !important;
}

body.page-app .topbar-inner,
body.page-select .topbar-inner{
  width: 100% !important;
}

body.page-app .brand-inline-menu,
body.page-select .brand-inline-menu{
  justify-content: space-between !important;
  align-items: center !important;
  text-align: left !important;
}

body.page-app .brand-inline-menu .brand-main,
body.page-select .brand-inline-menu .brand-main{
  justify-content: flex-start !important;
  text-align: left !important;
  margin-right: auto !important;
}

body.page-app .brand-inline-menu .brand-main span,
body.page-select .brand-inline-menu .brand-main span{
  text-align: left !important;
}

body.page-app .brand-inline-menu .menu-icon-btn,
body.page-select .brand-inline-menu .menu-icon-btn{
  margin-left: auto !important;
  flex-shrink: 0 !important;
}

@media (max-width: 768px){
  body.page-app .brand-inline-menu,
  body.page-select .brand-inline-menu{
    flex-wrap: nowrap !important;
  }

  body.page-app .brand-inline-menu .brand-main,
  body.page-select .brand-inline-menu .brand-main{
    min-width: 0 !important;
    overflow: hidden !important;
  }

  body.page-app .brand-inline-menu .menu-icon-btn,
  body.page-select .brand-inline-menu .menu-icon-btn{
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
  }
}


/* Actual mobile business text fix: override white hero styles */
@media (max-width: 720px){
  body.page-app #biz-header.biz-header--with-cover #biz-name,
  body.page-app #biz-header #biz-name{
    color:#2f9aa3 !important;
    text-shadow:none !important;
  }

  body.page-app #biz-header.biz-header--with-cover #biz-address,
  body.page-app #biz-header.biz-header--with-cover #biz-location,
  body.page-app #biz-header #biz-address,
  body.page-app #biz-header #biz-location{
    color:#6b7280 !important;
    text-shadow:none !important;
  }

  body.page-app #biz-header.biz-header--with-cover #biz-maps,
  body.page-app #biz-header #biz-maps,
  body.page-app #biz-header a#biz-maps{
    color:#2f9aa3 !important;
    background:rgba(255,255,255,.78) !important;
    border:1px solid rgba(47,154,163,.20) !important;
    box-shadow:0 8px 18px rgba(0,0,0,.06) !important;
    text-shadow:none !important;
  }
}


/* Business card floral badge */
#biz-header .biz-badge{
  width:40px;
  height:40px;
  border-radius:999px;
  margin:0 auto 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fffaf8;
  border:1px solid rgba(244,190,190,0.35);
  box-shadow:0 8px 20px rgba(236,170,170,0.14);
}

#biz-header .biz-badge img{
  width:24px;
  height:24px;
  display:block;
}

#biz-header #biz-name,
#biz-header #biz-address,
#biz-header #biz-location,
#biz-header #biz-maps{
  position:relative;
  z-index:1;
}

@media (max-width: 720px){
  #biz-header .biz-badge{
    width:38px;
    height:38px;
    margin:0 auto 9px;
  }

  #biz-header .biz-badge img{
    width:22px;
    height:22px;
  }
}




.app-footer{
  text-align:center;
  font-size:12px;
  color:#6b7280;
  margin:20px 0 8px;
}

.app-footer a{
  color:#2f9aa3;
  text-decoration:none;
}

.cookie-banner{
  position:fixed;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:10px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(226,232,240,.95);
  padding:10px 14px;
  border-radius:14px;
  box-shadow:0 10px 28px rgba(0,0,0,.08);
  font-size:12px;
  color:#5f6673;
  z-index:9999;
  max-width:calc(100vw - 24px);
}

.cookie-banner button{
  border:none;
  background:#2f9aa3;
  color:#fff;
  border-radius:10px;
  padding:6px 10px;
  cursor:pointer;
  white-space:nowrap;
}

@media (max-width: 520px){
  .cookie-banner{
    width:calc(100vw - 24px);
    justify-content:space-between;
    padding:10px 12px;
  }
}


/* Footer in /app only */
.app-footer{
  width:100%;
  text-align:center;
  font-size:12px;
  color:#6b7280;
  margin:24px auto 10px;
  padding-bottom:8px;
}
.app-footer a{
  color:#2f9aa3;
  text-decoration:none;
}
.app-footer .footer-sep{
  display:inline-block;
  margin:0 6px;
  color:#94a3b8;
}

/* Shared cookie banner */
.cookie-banner{
  position:fixed;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  display:none;
  align-items:center;
  gap:10px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(226,232,240,.95);
  padding:10px 14px;
  border-radius:14px;
  box-shadow:0 10px 28px rgba(0,0,0,.08);
  font-size:12px;
  color:#5f6673;
  z-index:9999;
  max-width:calc(100vw - 24px);
}
.cookie-banner button{
  border:none;
  background:#2f9aa3;
  color:#fff;
  border-radius:10px;
  padding:6px 10px;
  cursor:pointer;
  white-space:nowrap;
}
@media (max-width: 520px){
  .cookie-banner{
    width:calc(100vw - 24px);
    justify-content:space-between;
    padding:10px 12px;
  }
}
