/* García Cando Arquitectos · V90 K14.11
   Cortinillas de Tu Espacio: acceso interactivo + dashboard. */
:root{--gc413-overlay:.50;--gc413-glass-opacity:.43;--gc413-glass-blur:24px}
/* R4.6: the background container spans the viewport, including beneath navigation. */
html body #gc413CurtainStage,html body #gcK13TeamCurtainStage{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important}
.gc413-curtain-stage{position:fixed;top:68px;right:0;bottom:0;left:260px;z-index:0;overflow:hidden;pointer-events:none;opacity:0;background:#080a0b;transition:opacity .25s ease}
body.dashboard-mode .gc413-curtain-stage{opacity:1}
.gc413-curtain-fallback,.gc413-curtain-layers,.gc413-curtain-shade,.gc413-curtain{position:absolute;inset:0}
.gc413-curtain-fallback{background:radial-gradient(ellipse at 12% 16%,rgba(190,201,206,.15),transparent 35%),radial-gradient(ellipse at 88% 12%,rgba(137,151,158,.13),transparent 30%),linear-gradient(115deg,#0a0d0e 0%,#161c1f 28%,#090c0d 52%,#14191b 78%,#080a0b 100%);transform:scale(1.025)}
.gc413-curtain{opacity:0;background-size:cover;background-position:center;transform:scale(1.025);transition:opacity 1.1s ease,transform 9s linear;will-change:opacity,transform}
.gc413-curtain.active{opacity:1;transform:scale(1)}
.gc413-curtain-shade{pointer-events:none}
body.dashboard-mode.gc411-sidebar-collapsed .gc413-curtain-stage,body.dashboard-mode.gc905-sidebar-collapsed .gc413-curtain-stage{left:82px}
@media(min-width:761px) and (max-width:1000px){.gc413-curtain-stage{left:82px}}
@media(max-width:760px){.gc413-curtain-stage{top:62px;left:0}}

/* Pantalla de acceso: la fotografía administrada ocupa TODO el escenario. */
.gc413-auth-curtain{position:absolute;inset:0;z-index:0;overflow:hidden;background:#080a0b;pointer-events:none}
.gc413-auth-curtain .gc413-curtain{transition:opacity 1.1s ease,transform 11s cubic-bezier(.2,.8,.2,1)}
.gc413-auth-curtain .gc413-curtain.active{transform:scale(1.015)}
.gc413-auth-curtain .gc413-auth-controls,.gc413-auth-curtain .gc413-auth-meta{pointer-events:auto}
body.gc413-auth-live:not(.gc-authenticated) #authStage>.gc-space-architecture{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.gc413-auth-meta{position:absolute;left:clamp(28px,6vw,92px);bottom:clamp(72px,8vh,112px);z-index:3;display:grid;gap:4px;max-width:min(470px,44vw);text-shadow:0 2px 18px rgba(0,0,0,.56)}
.gc413-auth-meta small{font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:rgba(237,241,243,.64)}
.gc413-auth-meta strong{font-size:clamp(16px,1.5vw,23px);font-weight:400;color:#f1f4f5}
.gc413-auth-meta span{font-size:10px;line-height:1.55;color:#b6c0c5}
.gc413-auth-meta a{width:max-content;margin-top:4px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#eef2f3;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.42)}
.gc413-auth-controls{position:absolute;left:clamp(28px,6vw,92px);bottom:clamp(28px,3.5vh,48px);z-index:4;display:flex;align-items:center;gap:10px}
.gc413-auth-controls>button{width:34px;height:34px;border:1px solid rgba(255,255,255,.20);border-radius:999px;background:rgba(7,9,10,.38);backdrop-filter:blur(14px);color:#edf1f2;display:grid;place-items:center;font-size:15px}
.gc413-auth-dots{display:flex;gap:6px;align-items:center}
.gc413-auth-dots button{width:20px;height:4px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.28);transition:width .25s ease,background .25s ease}
.gc413-auth-dots button.active{width:36px;background:rgba(255,255,255,.86)}
.gc413-auth-curtain.single .gc413-auth-controls{display:none}

/* La composición deja el contenido legible sin crear la gran franja vacía central. */
body:not(.gc-authenticated) #authStage{background:#080a0b!important}
body:not(.gc-authenticated) #authStage:before{display:none!important}
body:not(.gc-authenticated) .auth-layout{position:relative!important;z-index:2!important;pointer-events:none!important;grid-template-columns:minmax(0,1fr) minmax(390px,.68fr)!important;gap:clamp(32px,5vw,78px)!important;background:linear-gradient(90deg,rgba(7,9,10,.08),rgba(7,9,10,.18) 50%,rgba(7,9,10,.52))!important;border-color:rgba(255,255,255,.16)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body:not(.gc-authenticated) .gc-space-auth-identity{align-self:center!important;max-width:640px!important}
body:not(.gc-authenticated) .gc-space-auth-login{align-self:center!important;pointer-events:auto!important;background:linear-gradient(150deg,rgba(10,13,15,.70),rgba(6,8,9,.56))!important;backdrop-filter:blur(24px) saturate(112%)!important;-webkit-backdrop-filter:blur(24px) saturate(112%)!important;border-color:rgba(255,255,255,.16)!important}

/* Dashboard conserva el vidrio existente. */
body.dashboard-mode .portal.active>.main{background:rgba(7,10,11,.54)!important}
body.dashboard-mode .panel{position:relative;z-index:2}
body.dashboard-mode .panel>.head,body.dashboard-mode .gc81-kpis,body.dashboard-mode .gc84-home-private .row,body.dashboard-mode .gc884-card,body.dashboard-mode .gc84-post,body.dashboard-mode .gc81-request,body.dashboard-mode #gc81QuoteForm,body.dashboard-mode .gc412-location-tools,body.dashboard-mode .gc415-address-card,body.dashboard-mode .gc418-location-flow,body.dashboard-mode .gc84-favorite,body.dashboard-mode .gc87-account-layout>section{background-color:rgba(12,16,18,var(--gc413-glass-opacity))!important;-webkit-backdrop-filter:blur(var(--gc413-glass-blur)) saturate(120%)!important;backdrop-filter:blur(var(--gc413-glass-blur)) saturate(120%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 20px 55px rgba(0,0,0,.13)!important}
body.dashboard-mode #gc81QuoteForm{padding:16px!important;border:1px solid rgba(255,255,255,.095)!important;border-radius:22px!important}

@media(max-width:900px){
 .gc413-auth-meta{left:24px;right:24px;bottom:74px;max-width:none}
 .gc413-auth-controls{left:24px;bottom:28px}
 body:not(.gc-authenticated) .auth-layout{grid-template-columns:1fr!important;background:linear-gradient(180deg,rgba(7,9,10,.24),rgba(7,9,10,.52))!important}
}
@media(max-width:560px){.gc413-auth-meta{display:none}.gc413-auth-controls{left:14px;bottom:14px}.gc413-auth-controls>button{width:32px;height:32px}.gc413-auth-dots button{width:15px}.gc413-auth-dots button.active{width:28px}}
@media(prefers-reduced-motion:reduce){.gc413-curtain{transition:none!important;transform:none!important}}

/* GCA REV-K14.12 · Hotfix visual de acceso a Tu Espacio
   Corrige composición, solapamientos y fallback de cortinilla sin alterar OAuth/API. */
body:not(.gc-authenticated) #authStage{
  isolation:isolate!important;
  background:#080a0b!important;
}

/* Si el Editor gráfico no entrega una cortinilla válida, la imagen de respaldo ocupa
   todo el escenario en vez de dejar una franja negra central. */
body:not(.gc-authenticated) #authStage>.gc-space-architecture{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  padding:0!important;
  opacity:1!important;
  filter:none!important;
  pointer-events:none!important;
}
body:not(.gc-authenticated) #authStage>.gc-space-architecture figure{
  display:none!important;
}
body:not(.gc-authenticated) #authStage>.gc-space-architecture figure:first-child{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  border-radius:0!important;
  overflow:hidden!important;
}
body:not(.gc-authenticated) #authStage>.gc-space-architecture figure:first-child img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:scale(1.015)!important;
  animation:gcSpaceLearnDrift 18s ease-in-out infinite alternate!important;
}
body:not(.gc-authenticated) #authStage>.gc-space-architecture:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(90deg,rgba(4,6,7,.18) 0%,rgba(4,6,7,.30) 38%,rgba(4,6,7,.72) 68%,rgba(4,6,7,.95) 100%),
    linear-gradient(180deg,rgba(3,5,6,.20),rgba(3,5,6,.48))!important;
}
body.gc413-auth-live:not(.gc-authenticated) #authStage>.gc-space-architecture{
  opacity:0!important;
  visibility:hidden!important;
}

/* Marco principal: imagen a la izquierda y acceso compacto a la derecha, sin hueco muerto. */
body:not(.gc-authenticated) .auth-layout{
  width:calc(100% - clamp(32px,8vw,146px))!important;
  height:calc(100svh - clamp(32px,7vw,104px))!important;
  min-height:0!important;
  margin:clamp(16px,3.5vw,52px) auto!important;
  padding:clamp(88px,10vh,116px) clamp(24px,4.5vw,74px) clamp(26px,4vh,44px)!important;
  grid-template-columns:minmax(0,1fr) minmax(430px,500px)!important;
  gap:clamp(28px,3.5vw,58px)!important;
  align-items:center!important;
  border-radius:30px!important;
  background:linear-gradient(90deg,rgba(7,9,10,.03) 0%,rgba(7,9,10,.08) 48%,rgba(7,9,10,.44) 72%,rgba(7,9,10,.62) 100%)!important;
  overflow:hidden!important;
}

body:not(.gc-authenticated) .top{
  top:clamp(16px,3.5vw,52px)!important;
  left:calc(clamp(16px,3.5vw,52px) + clamp(16px,1.4vw,24px))!important;
  right:calc(clamp(16px,3.5vw,52px) + clamp(16px,1.4vw,24px))!important;
  height:64px!important;
  border-radius:24px 24px 0 0!important;
  padding:0 4px!important;
}

body:not(.gc-authenticated) .gc-space-auth-identity{
  width:min(720px,100%)!important;
  max-width:720px!important;
  align-self:center!important;
  padding:0!important;
}
body:not(.gc-authenticated) .gc-space-auth-identity h1{
  font-size:clamp(60px,7.4vw,118px)!important;
  line-height:.80!important;
  letter-spacing:-.062em!important;
}
body:not(.gc-authenticated) .gc-space-auth-identity h1 span{
  margin-top:.34em!important;
  font-size:.35em!important;
  letter-spacing:.045em!important;
}
body:not(.gc-authenticated) .gc-space-auth-line{
  width:min(430px,74%)!important;
  margin-top:24px!important;
}
body:not(.gc-authenticated) .gc-space-auth-description{
  max-width:52ch!important;
  margin-top:17px!important;
  color:#d1d7da!important;
  text-shadow:0 2px 18px rgba(0,0,0,.64)!important;
}

/* Tarjeta de acceso: siempre debajo del header, legible y desplazable si el alto no alcanza. */
body:not(.gc-authenticated) .gc-space-auth-login{
  width:100%!important;
  max-width:500px!important;
  justify-self:end!important;
  align-self:center!important;
  max-height:calc(100svh - 156px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:22px 24px!important;
  border-radius:24px!important;
  background:linear-gradient(155deg,rgba(13,16,18,.88),rgba(6,8,9,.78))!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 22px 64px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.07)!important;
  backdrop-filter:blur(24px) saturate(112%)!important;
  -webkit-backdrop-filter:blur(24px) saturate(112%)!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(214,221,224,.48) transparent!important;
}
body:not(.gc-authenticated) .gc-space-auth-login::-webkit-scrollbar{width:6px}
body:not(.gc-authenticated) .gc-space-auth-login::-webkit-scrollbar-track{background:transparent}
body:not(.gc-authenticated) .gc-space-auth-login::-webkit-scrollbar-thumb{background:rgba(214,221,224,.42);border-radius:999px}
body:not(.gc-authenticated) .role-note{
  margin:0 0 14px!important;
  font-size:10px!important;
  line-height:1.55!important;
  color:#aeb8bd!important;
}
body:not(.gc-authenticated) .auth-tabs{
  display:grid!important;
  grid-template-columns:auto auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:7px!important;
  margin:0 0 8px!important;
}
body:not(.gc-authenticated) .auth-tabs .gc-team-auth-tab{
  margin-left:0!important;
  justify-self:end!important;
}

/* Proveedores: bloque propio, sin invadir textos legales ni campos. */
body:not(.gc-authenticated) .gc-v905-social{
  position:relative!important;
  z-index:3!important;
  margin:12px 0 14px!important;
  padding:12px 0 0!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
}
body:not(.gc-authenticated) .gc-v905-social-label{margin-bottom:10px!important}
body:not(.gc-authenticated) .gc-v905-provider-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
}
body:not(.gc-authenticated) .gc-v905-provider{
  min-height:44px!important;
  padding:8px 9px!important;
  border-radius:13px!important;
  gap:7px!important;
}
body:not(.gc-authenticated) .gc-v905-provider>span b{font-size:10px!important}
body:not(.gc-authenticated) .gc-v905-provider>span small{font-size:7px!important}
body:not(.gc-authenticated) .gc-v905-provider-help{
  margin-top:8px!important;
  font-size:8px!important;
  line-height:1.4!important;
}
body:not(.gc-authenticated) .gc-v905-more{
  margin-top:5px!important;
  padding:6px!important;
}

/* K14.11 añadió una franja legal redundante entre proveedores y formulario.
   Los accesos legales válidos permanecen en el pie del login y en los consentimientos de registro. */
body:not(.gc-authenticated) .gc911-legal-access{display:none!important}

body:not(.gc-authenticated) .form{gap:9px!important}
body:not(.gc-authenticated) .form label{margin-bottom:5px!important;font-size:9px!important}
body:not(.gc-authenticated) .form input{min-height:44px!important;padding:10px 13px!important}
body:not(.gc-authenticated) .primary{min-height:46px!important}
body:not(.gc-authenticated) .help{font-size:9px!important;line-height:1.45!important}
body:not(.gc-authenticated) .forgot-link{font-size:10px!important}

/* Metadatos/controles de la cortinilla se mantienen visibles, pero fuera de la tarjeta. */
.gc413-auth-meta{
  left:clamp(30px,5.5vw,88px)!important;
  bottom:clamp(70px,8vh,104px)!important;
  max-width:min(430px,36vw)!important;
}
.gc413-auth-controls{
  left:clamp(30px,5.5vw,88px)!important;
  bottom:clamp(26px,3.2vh,42px)!important;
}

@media(min-width:901px) and (max-height:760px){
  body:not(.gc-authenticated) .auth-layout{
    padding-top:78px!important;
    padding-bottom:18px!important;
  }
  body:not(.gc-authenticated) .gc-space-auth-identity h1{font-size:clamp(54px,6.7vw,100px)!important}
  body:not(.gc-authenticated) .gc-space-auth-login{max-height:calc(100svh - 118px)!important;padding:17px 20px!important}
  body:not(.gc-authenticated) .role-note{display:none!important}
  body:not(.gc-authenticated) .gc-v905-social{margin:9px 0 10px!important;padding-top:9px!important}
  body:not(.gc-authenticated) .gc-v905-provider{min-height:40px!important;padding:6px 8px!important}
  body:not(.gc-authenticated) .form input{min-height:40px!important}
  body:not(.gc-authenticated) .primary{min-height:42px!important}
}

@media(max-width:1100px) and (min-width:901px){
  body:not(.gc-authenticated) .auth-layout{
    grid-template-columns:minmax(0,1fr) minmax(390px,450px)!important;
    gap:24px!important;
    padding-left:38px!important;
    padding-right:38px!important;
  }
  body:not(.gc-authenticated) .gc-space-auth-identity h1{font-size:clamp(54px,8vw,92px)!important}
  body:not(.gc-authenticated) .gc-v905-provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:900px){
  body:not(.gc-authenticated){overflow-y:auto!important;height:auto!important;min-height:100svh!important}
  body:not(.gc-authenticated) #authStage{height:auto!important;min-height:100svh!important;overflow:visible!important}
  body:not(.gc-authenticated) .auth-layout{
    width:calc(100% - 24px)!important;
    height:auto!important;
    min-height:calc(100svh - 24px)!important;
    margin:12px!important;
    padding:78px 18px 24px!important;
    grid-template-columns:1fr!important;
    gap:20px!important;
    border-radius:24px!important;
    background:linear-gradient(180deg,rgba(5,7,8,.18),rgba(5,7,8,.72) 58%,rgba(5,7,8,.88))!important;
  }
  body:not(.gc-authenticated) .top{
    top:12px!important;left:28px!important;right:28px!important;height:56px!important;border-radius:20px 20px 0 0!important;
  }
  body:not(.gc-authenticated) .gc-space-auth-identity{width:100%!important;max-width:680px!important}
  body:not(.gc-authenticated) .gc-space-auth-identity h1{font-size:clamp(50px,14vw,88px)!important}
  body:not(.gc-authenticated) .gc-space-auth-login{
    max-width:680px!important;
    justify-self:start!important;
    max-height:none!important;
    overflow:visible!important;
  }
  body:not(.gc-authenticated) .auth-tabs{grid-template-columns:auto auto!important}
  body:not(.gc-authenticated) .auth-tabs .gc-team-auth-tab{grid-column:1/-1;justify-self:start!important}
  body:not(.gc-authenticated) .gc-v905-provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .gc413-auth-meta{display:none!important}
  .gc413-auth-controls{left:26px!important;bottom:22px!important}
}

@media(max-width:560px){
  body:not(.gc-authenticated) .auth-layout{padding:70px 14px 20px!important;gap:14px!important}
  body:not(.gc-authenticated) .gc-space-auth-identity h1{font-size:clamp(42px,15vw,66px)!important}
  body:not(.gc-authenticated) .gc-space-auth-login{padding:15px!important;border-radius:20px!important}
  body:not(.gc-authenticated) .gc-v905-provider-grid{grid-template-columns:1fr!important}
}

/* REV-K14.13 · La cortinilla de acceso es el fondo completo del viewport. */
body:not(.gc-authenticated) .gc413-auth-curtain{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100svh!important;
  z-index:0!important;
  border-radius:0!important;
  overflow:hidden!important;
}
body:not(.gc-authenticated) #authStage{
  position:relative!important;
  z-index:2!important;
  background:transparent!important;
  isolation:auto!important;
}
body:not(.gc-authenticated) .top{
  background:linear-gradient(180deg,rgba(5,7,8,.78),rgba(5,7,8,.48))!important;
  -webkit-backdrop-filter:blur(22px) saturate(118%)!important;
  backdrop-filter:blur(22px) saturate(118%)!important;
}
body:not(.gc-authenticated) .auth-layout{
  position:relative!important;
  z-index:3!important;
  background:linear-gradient(90deg,rgba(6,8,9,.10) 0%,rgba(6,8,9,.16) 48%,rgba(6,8,9,.54) 76%,rgba(6,8,9,.70) 100%)!important;
}
body:not(.gc-authenticated) .gc-space-auth-login{
  background:linear-gradient(155deg,rgba(9,12,13,.74),rgba(6,8,9,.61))!important;
}
body.gc413-auth-live:not(.gc-authenticated) .bg{opacity:0!important}
@media(max-width:900px){
 body:not(.gc-authenticated) .auth-layout{background:linear-gradient(180deg,rgba(6,8,9,.22),rgba(6,8,9,.66))!important}
}
body.gc-authenticated .gc413-auth-curtain,
body.dashboard-mode .gc413-auth-curtain{display:none!important}

/* GCA REV-K14.16 · fuerza la cortinilla administrable de acceso a ocupar el viewport completo */
body:not(.gc-authenticated) .gc413-auth-curtain{position:fixed!important;inset:0!important;width:100vw!important;height:100svh!important;z-index:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;background:#050607!important}
body:not(.gc-authenticated) .gc413-auth-curtain .gc413-curtain-fallback,
body:not(.gc-authenticated) .gc413-auth-curtain .gc413-curtain-layers,
body:not(.gc-authenticated) .gc413-auth-curtain .gc413-curtain-shade,
body:not(.gc-authenticated) .gc413-auth-curtain .gc413-curtain{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
body:not(.gc-authenticated) .gc413-auth-curtain .gc413-curtain{background-size:cover!important;background-repeat:no-repeat!important}


/* REV-K14.17 · hardening full viewport auth curtain */
body:not(.gc-authenticated) #gc413AuthCurtain,
body:not(.gc-authenticated) .gc413-auth-curtain{position:fixed!important;inset:0!important;width:100vw!important;min-width:100vw!important;max-width:none!important;height:100svh!important;min-height:100svh!important;max-height:none!important;margin:0!important;padding:0!important;transform:none!important;clip-path:none!important;border-radius:0!important;overflow:hidden!important}
body:not(.gc-authenticated) #gc413AuthCurtain .gc413-curtain-layers,
body:not(.gc-authenticated) #gc413AuthCurtain .gc413-curtain,
body:not(.gc-authenticated) #gc413AuthCurtain .gc413-curtain-fallback,
body:not(.gc-authenticated) #gc413AuthCurtain .gc413-curtain-shade{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;border-radius:0!important}
body:not(.gc-authenticated) #gc413AuthCurtain .gc413-curtain{background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important}
