*{box-sizing:border-box}body{margin:0;background:#071a30;color:#f5edde;font-family:Georgia,serif}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a{color:inherit;text-decoration:none}#entry [hidden]{display:none!important}#entry button{border:1px solid #d6b45c;background:linear-gradient(130deg,#efd28b,#c79737);color:#10273d;font:17px Arial;padding:16px 24px;border-radius:12px}#entry .outline{background:transparent;color:#f2e8d2}#entry .eyebrow{font:13px Arial;letter-spacing:3px;color:#e5c16e}#entry .actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:30px}.entry-brand{display:flex;align-items:center;gap:15px}.card label{display:block;margin:25px 0 9px}.card input{width:100%;border:1px solid #cdb16c;color:white;border-radius:10px}.card form button{width:100%;margin-top:22px}.card .notice{border-top:1px solid #fff2;padding-top:18px;margin-top:25px}/* Fachada e ingreso con componentes reales. */
#entry{background:radial-gradient(ellipse at 90% 90%,#26395150,transparent 40%),#071a30;min-height:100vh}
#entry nav{max-width:1400px;margin:auto;padding:22px 5%;border:0;position:relative;z-index:1}
#entry.reference-home nav{display:flex}
.entry-brand{font-size:40px;letter-spacing:1px;font-weight:bold}.entry-brand img{width:78px;height:78px}
.welcome-nav-actions{display:flex;align-items:center;gap:20px}#entry .nav-link{background:none;border:0;color:#e2e8ef;padding:12px 4px;font-size:16px}
#entry .welcome-hero{min-height:640px;max-width:1500px;margin:auto;padding:60px 6% 90px;background-image:linear-gradient(90deg,#071a30e8 0%,#071a3060 40%,#071a3000 60%),url('/aci-room-day.jpg');background-size:cover;background-position:center;display:flex;align-items:center}
#entry .welcome-copy{width:58%;position:relative}#entry .welcome-copy h1{font-size:clamp(44px,5.4vw,78px);line-height:1.06;margin:22px 0;color:#fff5e6;font-weight:500;letter-spacing:-1.6px}#entry .welcome-copy p{font:23px/1.5 Georgia;color:#f1eadf;margin:0}#entry .welcome-note{display:block;color:#a6b9cc;font:14px Arial;margin-top:23px}
#entry button{transition:box-shadow .2s,transform .2s}#entry button:hover{box-shadow:0 4px 22px #d7ad4133;transform:translateY(-1px)}#entry button:focus-visible,#entry input:focus-visible{outline:3px solid #fff3cf;outline-offset:4px}#entry .actions button{font:18px Georgia;font-weight:bold;padding:17px 25px}#entry .actions .outline{font-weight:400}
#entry .welcome-features,#entry .welcome-how{max-width:1300px;padding:20px 5% 55px;margin:auto}#entry .welcome-features h2,#entry .welcome-how h2{font:clamp(28px,3.2vw,44px) Georgia;text-align:center;margin:25px 0 38px;color:#fff5e6}#entry h2 em{font-style:normal;color:#e5c16e}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-grid article{display:flex;align-items:center;gap:20px;border:1px solid #bbbec24f;border-radius:18px;background:linear-gradient(120deg,#16324a77,#07152699);padding:25px 22px}.feature-icon{display:grid;place-items:center;flex:none;width:58px;height:58px;border:1px solid #e7c170;border-radius:50%;box-shadow:0 0 20px #e1b34825;color:#e7c170;font:32px Georgia}#entry h3{font:21px Georgia;margin:0 0 9px;color:#fcf1df}#entry .feature-grid p,#entry .how-grid p{font:15px/1.6 Arial;margin:0;color:#b7c7d7}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.how-grid article{padding:10px 15px}.how-grid article>span{display:grid;place-items:center;border:1px solid #e5c16e;border-radius:50%;width:40px;height:40px;color:#e5c16e;margin-bottom:18px;font:18px Georgia}.welcome-footer{text-align:center;font:26px Georgia;color:#e5c16e;letter-spacing:7px;padding:10px 20px 55px}.welcome-footer small{display:block;font:10px Arial;letter-spacing:3px;color:#a8bace;margin-top:18px}
#entry .card{max-width:600px;margin:45px auto 70px;padding:36px 45px;background:linear-gradient(130deg,#1a344ddd,#0b2036f5);box-shadow:0 24px 70px #0005;border:1px solid #d3b36a66;border-radius:24px;text-align:left}#entry .card h2{font:40px Georgia;color:#fff3df;margin:22px 0 12px}#entry .card p{font:17px/1.6 Arial;color:#b9c8d6}#entry .back{padding:9px 0;border:0;color:#dac38c;background:none}#entry .role-badge{display:block;margin:25px 0 8px;color:#e5c16e;font:12px Arial;letter-spacing:2px;text-transform:uppercase}#entry .card input{background:#06182c;padding:16px;font:19px Arial}#entry .card label{color:#e9eef1;font-size:15px}#entry .card form button{font:17px Arial;font-weight:bold;padding:18px}#entry .card .notice{font-size:13px;color:#90a8bc}#entry #waitScreen .card{text-align:center}#entry .code{border:1px solid #c8aa6366;border-radius:14px;background:#081d32;margin:28px 0 18px;letter-spacing:9px;padding:24px 8px;font-size:46px}#entry #copyCode{width:100%}#entry #cancel{padding:12px 15px;font-size:15px;margin-top:12px}#entry #joinError{color:#f5c095;font-size:14px;min-height:22px}
@media(max-width:950px){.feature-grid{grid-template-columns:repeat(2,1fr)}#entry .welcome-copy{width:70%}#entry .welcome-hero{background-position:63% center}.entry-brand{font-size:30px}.entry-brand img{width:62px;height:62px}}
@media(max-width:600px){#entry nav{padding:16px;gap:12px}.entry-brand{font-size:24px;gap:9px}.entry-brand img{width:48px;height:48px}.welcome-nav-actions{gap:10px}#entry .nav-link{display:none}#entry nav button{font-size:13px;padding:12px}#entry .welcome-hero{min-height:700px;padding:30px 6% 280px;align-items:flex-start;background-image:linear-gradient(180deg,#071a30f5 0%,#071a30b0 40%,transparent 80%),url('/aci-room-day.jpg');background-position:68% bottom}#entry .welcome-copy{width:100%}#entry .welcome-copy h1{font-size:48px}#entry .welcome-copy p{font-size:20px}#entry .welcome-copy .eyebrow{font-size:10px;letter-spacing:2px}#entry .actions{gap:10px;margin-top:24px}#entry .actions button{font-size:15px;padding:15px}.desktop-break{display:none}.feature-grid,.how-grid{grid-template-columns:1fr}.feature-grid article{padding:22px}.how-grid{gap:18px}.how-grid article{padding:0 5px}.how-grid article>span{float:left;margin-right:20px}.how-grid p{margin-left:60px!important}#entry .card{margin:24px 15px;padding:26px 22px}#entry .card h2{font-size:32px}#entry .code{font-size:38px;letter-spacing:6px}}

#entry .welcome-hero{position:relative;overflow:hidden;background-image:linear-gradient(90deg,#071a30fa,#071a30e0 60%,#071a30ac),url('/aci-room-day.jpg');background-position:center;background-size:cover;min-height:660px}.welcome-copy{z-index:2}.hero-display{position:absolute;right:-2%;width:62%;height:520px;top:100px;perspective:1000px;z-index:1;pointer-events:none}.sand-face{position:absolute;inset:100px 15px 20px;border:16px solid #966132;border-bottom-color:#71411e;border-radius:5px;background:linear-gradient(90deg,#fff5 1px,transparent 1px),linear-gradient(#fff5 1px,transparent 1px),url('/arena-real.webp');background-size:16.666% 100%,100% 25%,300px;transform:rotateX(48deg) rotateZ(-15deg);box-shadow:0 18px 0 #4f2d19,0 50px 70px #0009}.welcome-piece{position:absolute;filter:drop-shadow(5px 12px 6px #20140788);transform:translate(-50%,-100%)}.ceramic-sprite{display:block;position:relative;overflow:hidden}.ceramic-sprite img{position:absolute;max-width:none!important;object-fit:fill;pointer-events:none}.code-label{text-align:center;color:#c8ae6d!important;font:12px Arial!important;letter-spacing:2px}#entry .text-link{background:none;border:0;padding:0;color:#e5c16e;font:inherit}#entry #joinCode{text-transform:uppercase;letter-spacing:7px}#entry #createError{color:#f5c095;font-size:14px}#entry #waitStatus{min-height:26px}#entry .welcome-nav-actions button{white-space:nowrap}
@media(max-width:950px){.hero-display{right:-22%;width:75%;opacity:.8}#entry .welcome-hero{min-height:640px}}
@media(max-width:600px){#entry .welcome-hero{background-image:linear-gradient(#071a30ef,#071a30cd),url('/aci-room-day.jpg');min-height:750px;padding-bottom:310px}.hero-display{top:410px;right:-2%;width:104%;height:330px;opacity:1}.sand-face{inset:45px 25px 5px;border-width:10px}.welcome-piece{scale:.63;transform-origin:50% 100%}#entry .welcome-copy{width:100%}.welcome-note{max-width:270px}#entry .welcome-copy h1{font-size:46px}}

/* Más margen para las piezas altas y los botones de ingreso. */
#entry nav{display:flex;align-items:center;justify-content:space-between;gap:14px}
.hero-display{right:3%;width:54%;top:125px;transform:scale(.86);transform-origin:right center}
#entry .welcome-copy{width:58%;min-width:0}
#entry .actions{position:relative;z-index:3;width:100%;padding:4px 0;overflow:visible}
#entry .actions button{flex-shrink:0;max-width:100%;white-space:normal}
#entry .card{width:calc(100% - 32px)}
@media(max-width:1050px){
 #entry .welcome-hero{display:flex;flex-direction:column;align-items:stretch;padding:35px 6% 20px;min-height:0}
 #entry .welcome-copy{width:100%;z-index:2}
 .hero-display{position:relative;right:auto;top:auto;width:100%;height:420px;transform:scale(.85);transform-origin:center;opacity:1;margin:20px auto 0}
 #entry .welcome-copy h1{font-size:clamp(44px,6.4vw,66px)}
}
@media(max-width:600px){
 #entry .welcome-hero{padding:25px 6% 10px;min-height:0}
 .hero-display{height:330px;margin-top:15px;width:100%;transform:scale(.82)}
 #entry .actions{gap:12px}
 #entry .actions button{flex:1 1 180px;padding:16px 14px}
 #entry .card{width:calc(100% - 30px);margin:24px 15px}
}

/* Portada completa en la primera pantalla de escritorio. */
@media(min-width:901px){
 #entry{--welcome-header-height:clamp(76px,13svh,96px)}
 #entry nav{height:var(--welcome-header-height);padding:10px 5%;gap:14px}
 .entry-brand{font-size:34px;gap:12px}
 .entry-brand img{width:62px;height:62px}
 #entry .welcome-nav-actions button{padding:13px 22px;font-size:16px}
 #entry .welcome-hero{height:calc(100svh - var(--welcome-header-height));min-height:0;padding:24px 6%;display:flex;flex-direction:row;align-items:center}
 #entry .welcome-copy{width:54%;z-index:2}
 #entry .welcome-copy .eyebrow{font-size:clamp(10px,1vw,13px);letter-spacing:2.5px}
 #entry .welcome-copy h1{font-size:clamp(32px,min(4.6vw,10svh),66px);line-height:1.04;margin:16px 0;letter-spacing:-1.2px}
 #entry .welcome-copy p{font-size:clamp(17px,min(1.7vw,3.2svh),22px);line-height:1.4}
 #entry .actions{margin-top:22px;gap:12px;flex-wrap:nowrap}
 #entry .actions button{padding:14px 18px;font-size:clamp(14px,1.3vw,18px);white-space:nowrap}
 #entry .welcome-note{font-size:12px;margin-top:16px}
 .hero-display{position:absolute;right:8.5%;top:50%;width:52%;height:520px;margin:0;opacity:1;transform:translateY(-50%) scale(var(--display-scale,.68));transform-origin:right center}
 .sand-face{inset:100px 15px 20px;border-width:16px}
 .welcome-piece{scale:1}
}
/* Las seis herramientas se presentan juntas en dos filas compactas. */
#entry .welcome-features{padding:28px 5% 30px}
#entry .welcome-features h2{font-size:clamp(28px,2.8vw,38px);margin:0 0 24px}
.feature-grid{gap:12px}
.feature-grid article{padding:17px 18px;gap:15px;border-radius:14px}
.feature-icon{width:46px;height:46px;font-size:26px}
#entry .feature-grid h3{font-size:19px;margin-bottom:6px}
#entry .feature-grid p{font-size:14px;line-height:1.45}
#entry .welcome-how{padding:18px 5% 28px}
#entry .welcome-how h2{font-size:clamp(28px,2.8vw,38px);margin:0 0 24px}
.how-grid{gap:28px}
.how-grid article>span{width:34px;height:34px;margin-bottom:12px;font-size:16px}
.welcome-footer{padding-bottom:30px}
@media(min-width:901px) and (max-height:540px){
 #entry nav{height:72px;--welcome-header-height:72px}
 #entry{--welcome-header-height:72px}
 .entry-brand img{width:52px;height:52px}
 #entry .welcome-copy h1{font-size:clamp(28px,8.5svh,44px);margin:10px 0}
 #entry .actions{margin-top:14px}
 #entry .welcome-note{margin-top:10px}
 #entry .welcome-hero{padding-top:12px;padding-bottom:12px}
}
@media(max-width:600px){
 .feature-grid article{padding:17px 16px}
 #entry .welcome-features,#entry .welcome-how{padding-left:6%;padding-right:6%}
 .how-grid{gap:20px}
}

/* Una segunda pantalla reúne las herramientas y los pasos del encuentro. */
@media(min-width:901px){
 .welcome-details{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:18px 0}
 #entry .welcome-details .welcome-features,#entry .welcome-details .welcome-how{width:100%;margin:0 auto}
 #entry .welcome-details .welcome-features{padding:12px 5% 18px}
 #entry .welcome-details h2{font-size:clamp(25px,5svh,34px);line-height:1.15;margin:0 0 18px}
 .welcome-details .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
 .welcome-details .feature-grid article{padding:12px 14px;gap:12px;min-width:0}
 .welcome-details .feature-icon{width:40px;height:40px;font-size:23px}
 #entry .welcome-details h3{font-size:clamp(16px,3svh,19px);line-height:1.15;margin:0 0 5px}
 #entry .welcome-details p{font-size:clamp(12px,2.4svh,14px);line-height:1.4}
 #entry .welcome-details .welcome-how{padding:12px 5% 18px}
 .welcome-details .how-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
 .welcome-details .how-grid article{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:12px;padding:0;align-content:start}
 .welcome-details .how-grid article>span{grid-row:1 / 3;width:32px;height:32px;margin:0;font-size:15px}
 .welcome-details .how-grid p{grid-column:2}
 .welcome-details .welcome-footer{font-size:22px;letter-spacing:5px;padding:10px 20px 8px}
 .welcome-details .welcome-footer small{margin-top:8px;font-size:9px;letter-spacing:2px}
}
@media(min-width:901px) and (max-height:540px){
 .welcome-details{padding:8px 0}
 #entry .welcome-details h2{margin-bottom:12px}
 #entry .welcome-details .welcome-features,#entry .welcome-details .welcome-how{padding-top:8px;padding-bottom:12px}
 .welcome-details .feature-grid article{padding:10px 12px}
 .welcome-details .feature-icon{width:34px;height:34px;font-size:21px}
}

#entry .solo-access{margin-top:14px;font:13px Arial}#entry .solo-access button{padding:4px 0}#entry #soloCode{text-transform:uppercase;font:16px monospace}#entry #soloError{color:#f5c095;font:14px Arial}.admin-entry{display:block;font:11px Arial;letter-spacing:0;color:#a8bace;margin-top:10px}#entry .welcome-details .admin-entry{margin-top:7px}

/* Tablet and phone presentation keeps the new figures completely visible. */
@media(max-width:1100px){
 #entry nav{height:auto;flex-wrap:wrap;padding:14px 5%}
 #entry .welcome-hero{height:auto;min-height:0;display:flex;flex-direction:column;align-items:stretch;padding:28px 6% 12px}
 #entry .welcome-copy{width:100%}
 #entry .actions{flex-wrap:wrap}
 #entry .actions button{white-space:normal;min-height:44px}
 .hero-display{position:relative;inset:auto;width:100%;height:420px;margin:20px auto 0;transform:none;opacity:1}
 .sand-face{inset:100px 15px 20px}
 .welcome-piece{scale:.8}
}
@media(max-width:600px){
 #entry .welcome-copy h1{font-size:clamp(34px,9vw,48px)}
 .hero-display{height:330px}
 .sand-face{inset:80px 15px 20px;border-width:10px}
 .welcome-piece{scale:.55}
 #entry .welcome-nav-actions{max-width:100%;flex-wrap:wrap}
 #entry .card input{font-size:16px}
}
#entry #soloScreen .card{max-width:600px;margin:18px auto;padding:22px 38px}#entry #soloScreen .card h2{font-size:34px;margin:12px 0 8px}#entry #soloScreen .card p{font-size:15px;line-height:1.4}#entry #soloScreen .role-badge{margin:12px 0 5px}#entry #soloScreen .card label{margin:14px 0 6px}#entry #soloScreen .card input{padding:12px;font-size:17px}#entry #soloScreen .card form button{margin-top:14px;padding:14px}#entry #soloScreen .card .notice{padding-top:12px;margin-top:14px}
#entry .card:has(#admin){max-width:1200px;}
#entry .card:has(#admin){max-width:1300px;margin:18px auto 35px;padding:24px 34px;}#entry .card:has(#admin) h2{font-size:34px;margin:10px 0 8px;}#entry .card:has(#admin) #admin 0 12px;font-size:15px;}#entry .card:has(#admin) #myField{padding:11px 18px;margin:2px 0 14px;}#entry .card:has(#admin) #accessForm{gap:12px 20px;}#entry .card:has(#admin) #accessForm label{margin-bottom:5px;}#entry .card:has(#admin) #accessForm input{padding:10px 12px;font-size:16px;}#entry .card:has(#admin) #accessForm textarea{min-height:52px;}#entry .card:has(#admin) .price-note{margin:2px 0;font-size:14px;line-height:1.25;}#entry .card:has(#admin) #generate{padding:13px;margin-top:4px;}
#entry .card:has(#admin){margin:10px auto 25px;padding:18px 34px;}#entry .card:has(#admin) h2{margin:6px 0 5px;font-size:32px}#entry .card:has(#admin) #myField{margin:4px 0 10px;padding:10px 18px}#entry .card:has(#admin) #accessForm{gap:8px 20px;margin-top:4px}#entry .card:has(#admin) #accessForm label{margin-bottom:3px}#entry .card:has(#admin) #accessForm input,#entry .card:has(#admin) #accessForm select{min-height:46px;padding:9px 12px;font-size:16px;background:#06182c;color:#fff;border:1px solid #c8aa63;border-radius:12px}
#entry .card:has(#admin) #myField{margin-bottom:4px}#entry .card:has(#admin) #accessForm{margin-top:-12px}
#entry .card:has(#admin){margin:6px auto 18px;padding:14px 34px}#entry .card:has(#admin) h2{font-size:30px;margin:3px 0 3px}#entry .card:has(#admin) 0 6px;line-height:1.25}#entry .card:has(#admin) #myField{padding:8px 16px;margin:2px 0 4px}#entry .card:has(#admin) #accessForm{gap:4px 20px;margin-top:-16px}#entry .card:has(#admin) #accessForm label{margin:0 0 2px;font-size:14px}#entry .card:has(#admin) #accessForm input,#entry .card:has(#admin) #accessForm select{min-height:40px;padding:6px 11px}#entry .card:has(#admin) .price-note{margin:1px 0;font-size:13px;line-height:1.15}

/* LINARIS - Formulario de inicio más compacto */
#entry .card {
  margin: 12px auto 18px;
  padding: 20px 32px;
}

#entry .card h2 {
  font-size: 34px;
  margin: 10px 0 8px;
}

#entry .card p {
  margin: 8px 0 14px;
}

#entry .card input {
  padding: 12px;
}

#entry .card form button {
  padding: 13px;
}
/* LINARIS - Pantalla de espera compacta */

#entry #waitScreen .card {
  max-width: 720px;
  margin: 8px auto;
  padding: 16px 28px;
}

#entry #waitScreen .card h2 {
  font-size: 32px;
  margin: 8px 0;
}

#entry #waitScreen .card p {
  margin: 6px 0 10px;
  line-height: 1.35;
}

#entry #waitScreen .code {
  font-size: 40px;
  padding: 12px 8px;
  margin: 12px 0;
}

#entry #waitScreen #copyCode {
  padding: 12px;
}

#entry #waitScreen #waitStatus {
  min-height: 20px;
  margin: 8px 0;
}

#entry #waitScreen #cancel {
  margin-top: 6px;
  padding: 9px 14px;
}

/* LINARIS - Acceso individual más compacto */
#entry #soloScreen .card {
  padding: 16px 28px;
  margin: 8px auto;
}

#entry #soloScreen .card h2 {
  font-size: 36px;
  margin: 6px 0;
}

#entry #soloScreen .card p {
  margin: 6px 0 10px;
  line-height: 1.3;
}

#entry #soloScreen .card label {
  margin: 8px 0 4px;
}

#entry #soloScreen .card input {
  padding: 10px 14px;
}

#entry #soloScreen .card form button {
  padding: 11px;
  margin-top: 10px;
}
/* LINARIS - Registro compacto */

@media (min-width: 768px) {

  #registroScreen .card {
    max-width: 760px;
    margin: 8px auto;
    padding: 14px 32px;
  }

  #registroScreen .card h2 {
    font-size: 32px;
    margin: 6px 0;
  }

  #registroScreen .card > p {
    margin: 5px 0 10px;
    line-height: 1.3;
  }

  #registroScreen form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 18px;
    row-gap: 7px;
  }

  #registroScreen form label {
    margin: 0;
  }

  #registroScreen form input {
    padding: 9px 12px;
    min-height: 42px;
    margin: 0;
  }

  #registroScreen #registroButton,
  #registroScreen #registroError {
    grid-column: 1 / -1;
  }

  #registroScreen #registroButton {
    padding: 11px;
    margin-top: 8px;
  }
}
/* LINARIS - Pantalla compacta de ingreso del consultante */
@media (min-width: 768px) {

  #joinScreen .card {
    max-width: 760px;
    margin: 8px auto;
    padding: 18px 32px;
  }

  #joinScreen .card h2 {
    font-size: 32px;
    margin: 6px 0;
  }

  #joinScreen .card > p {
    margin: 6px 0 12px;
    line-height: 1.3;
  }

  #joinScreen form {
    gap: 8px;
  }

  #joinScreen form label {
    margin-bottom: 3px;
  }

  #joinScreen form input {
    padding: 10px 14px;
    min-height: 44px;
  }

  #joinScreen form button {
    padding: 12px;
    margin-top: 10px;
  }
}
/* LINARIS - Ajuste final del ingreso del consultante */

@media (min-width: 768px) {

  #entry #joinScreen .card {
    max-width: 700px;
    margin: 4px auto;
    padding: 12px 26px;
  }

  #entry #joinScreen .role-badge {
    margin: 8px 0 4px;
  }

  #entry #joinScreen .card h2 {
    font-size: 29px;
    margin: 4px 0;
  }

  #entry #joinScreen .card > p {
    font-size: 15px;
    margin: 4px 0 8px;
    line-height: 1.25;
  }

  #entry #joinScreen .card label {
    margin: 8px 0 4px;
  }

  #entry #joinScreen .card input {
    padding: 8px 12px;
    min-height: 40px;
    font-size: 16px;
  }

  #entry #joinScreen .card form button {
    padding: 10px;
    margin-top: 8px;
  }

  #entry #joinScreen .card .notice {
    margin-top: 12px;
    padding-top: 10px;
  }
}