/* CicloDocs — cuenta: botones de arriba, menú, avisos (modales) y página de perfil.
   Usa las variables de portada.css (tinta, papel, amarillo, bordes). */

:root{
  --acento:#12b5ea;
  --acento-claro:#cdeef8;
  --acento-oscuro:#0b5566;
  --rojo:#c0261d;
  --rojo-claro:#fde3e1;
}

/* ---------- arriba: botones o menú de cuenta ---------- */
.c-top{display:flex;justify-content:flex-end;align-items:center;gap:12px;min-height:44px}
.c-pill{
  display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 16px 0 6px;cursor:pointer;
  font-family:var(--letra);font-size:16px;font-weight:800;color:var(--tinta);
  background:var(--acento-claro);border:var(--borde);border-radius:999px;box-shadow:4px 4px 0 var(--tinta);
  transition:transform .25s var(--resorte), box-shadow .25s var(--resorte);
}
.c-pill:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--tinta)}
.c-pill svg{transition:transform .3s var(--resorte)}
.c-pill[aria-expanded="true"] svg{transform:rotate(180deg)}
.c-avatar{
  flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;
  background:var(--acento);border:var(--borde);font-weight:900;font-size:15px;color:var(--tinta);
}
.c-avatar--xl{width:56px;height:56px;font-size:24px}
.c-envoltura{position:relative}
.c-menu{
  position:absolute;right:0;top:calc(100% + 12px);z-index:60;width:min(380px,calc(100vw - 32px));overflow:hidden;
  background:var(--blanco);border:var(--borde);border-radius:14px;box-shadow:6px 6px 0 var(--tinta);
  opacity:0;transform:translateY(-8px) scale(.97);transform-origin:top right;pointer-events:none;
  transition:opacity .18s, transform .3s var(--resorte);
}
.c-menu.is-on{opacity:1;transform:none;pointer-events:auto}
.c-menu__head{display:flex;align-items:center;gap:16px;padding:20px 24px;background:var(--acento-claro);border-bottom:var(--borde)}
.c-menu__head strong{font-size:22px;font-weight:900;letter-spacing:-.03em}
.c-menu__perfil{padding:16px 24px;border-bottom:var(--borde)}
.c-menu__perfil b{display:block;font-size:17px;color:var(--acento-oscuro)}
.c-menu__perfil span{font-size:14px;color:var(--gris)}
.c-menu a,.c-menu button.c-item{
  display:block;width:100%;padding:14px 24px;text-align:left;font:inherit;font-size:17px;font-weight:800;
  color:var(--tinta);background:none;border:0;cursor:pointer;transition:background .15s;
}
.c-menu a:hover,.c-menu button.c-item:hover{background:#f4f1e8}
.c-menu small{display:block;font-size:13px;font-weight:500;color:var(--gris)}
.c-menu hr{margin:4px 24px;border:0;border-top:2px dashed #d5d1c6}
.c-menu button.c-item.c-salir{color:var(--rojo)}

/* ---------- avisos (modales) ---------- */
.c-fondo{
  position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;
  background:rgba(11,11,12,.55);opacity:0;transition:opacity .2s;
}
.c-fondo.is-on{opacity:1}
.c-modal{
  position:relative;width:min(500px,100%);overflow:hidden;background:var(--blanco);
  border:var(--borde);border-radius:16px;box-shadow:10px 10px 0 var(--sombra-modal,var(--acento));
  transform:translateY(16px) scale(.97);transition:transform .35s var(--resorte);
}
.c-fondo.is-on .c-modal{transform:none}
.c-modal--rojo{--sombra-modal:var(--rojo)}
.c-modal__arte{
  height:92px;background:#08080a url("img/utec-binario-oscuro.webp") center 30%/cover;border-bottom:var(--borde);
  display:flex;align-items:flex-end;padding:16px 30px;
}
.c-chip{display:inline-block;padding:5px 12px;border-radius:6px;font-size:14px;font-weight:900;letter-spacing:.08em;background:var(--acento);color:var(--tinta)}
.c-modal--rojo .c-chip{background:var(--rojo-claro);color:var(--rojo);border:2px solid var(--rojo)}
.c-modal__cerrar{
  position:absolute;right:14px;top:14px;width:44px;height:44px;border-radius:10px;cursor:pointer;
  display:grid;place-items:center;font-size:22px;font-weight:700;background:var(--blanco);border:var(--borde);
}
.c-modal__cuerpo{padding:26px 30px 28px}
.c-modal h2{margin:0 0 14px;font-size:clamp(28px,5vw,38px);font-weight:900;letter-spacing:-.04em;line-height:1.05}
.c-modal p{margin:0 0 18px;font-size:16px;line-height:1.55;color:#333}
.c-btn-google{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:58px;cursor:pointer;
  font:inherit;font-size:18px;font-weight:900;color:var(--tinta);background:var(--acento);
  border:var(--borde);border-radius:12px;box-shadow:5px 5px 0 var(--tinta);
  transition:transform .25s var(--resorte), box-shadow .25s var(--resorte);
}
.c-btn-google:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--tinta)}
.c-btn-google:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--tinta)}
.c-nota{margin:14px 0 0;text-align:center;font-size:14px;color:var(--gris)}
.c-nota b{color:var(--acento-oscuro)}
.c-enlace{display:block;margin:18px auto 0;font:inherit;font-weight:800;font-size:15px;text-decoration:underline;background:none;border:0;cursor:pointer;color:var(--tinta)}
.c-rechazado{
  display:flex;align-items:center;gap:14px;padding:12px 16px;margin-bottom:16px;border:2px dashed var(--rojo);border-radius:10px;
  background:var(--rojo-claro);font-size:14px;color:#555;
}
.c-rechazado s{font-size:16px;font-weight:800;color:var(--rojo)}
.c-ejemplo{padding:12px 16px;margin-bottom:22px;border:var(--borde);border-radius:12px;background:var(--acento-claro)}
.c-ejemplo small{display:block;font-size:12px;font-weight:900;letter-spacing:.12em;color:var(--acento-oscuro)}
.c-ejemplo span{font-size:21px;font-weight:800}
.c-ejemplo mark{background:linear-gradient(transparent 55%,var(--acento) 55%);color:inherit}

.c-aviso{
  position:fixed;left:50%;bottom:26px;z-index:120;padding:12px 18px;border:var(--borde);border-radius:10px;
  background:var(--blanco);box-shadow:4px 4px 0 var(--tinta);font-weight:700;font-size:14px;
  opacity:0;transform:translate(-50%,14px);transition:opacity .2s, transform .35s var(--resorte);pointer-events:none;
}
.c-aviso.is-on{opacity:1;transform:translate(-50%,0)}

/* ---------- página de perfil ---------- */
.pf-barra{
  display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px max(24px,calc((100vw - 1100px) / 2));
  background:var(--blanco);border-bottom:var(--borde);
}
.marca{font-size:24px;font-weight:900;letter-spacing:-.05em}
.marca span{position:relative;z-index:0}
.marca span::before{content:"";position:absolute;z-index:-1;left:-.04em;right:-.05em;bottom:.02em;height:.42em;background:var(--acento)}
.pf-barra p{margin:0;font-size:15px;color:#333}
.pf-barra button{font:inherit;font-weight:800;text-decoration:underline;background:none;border:0;cursor:pointer;padding:0}
.pf-caja{
  display:grid;grid-template-columns:1fr 1.1fr;max-width:1020px;margin:56px auto 80px;overflow:hidden;
  background:var(--blanco);border:var(--borde);border-radius:16px;box-shadow:9px 9px 0 var(--acento-oscuro);
  animation:sube .6s var(--suave) both;
}
.pf-izq{
  position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:30px;padding:40px;color:#fff;
  background:#08080a var(--fondo-u, url("img/utec-binario-oscuro.webp")) center 70%/cover;
}
.pf-izq::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#08080a 15%,rgba(8,8,10,.55) 60%,rgba(8,8,10,.2))}
.pf-izq > *{position:relative}
.pf-paso{margin:0;font-size:14px;font-weight:900;letter-spacing:.16em;color:var(--acento)}
.pf-hola{margin:6px 0 16px;font-size:clamp(40px,6vw,58px);font-weight:900;letter-spacing:-.05em;line-height:1}
.pf-izq p.pf-texto{margin:0;font-size:18px;line-height:1.5;color:#e6e6e6;max-width:30ch}
.pf-correo{
  display:flex;align-items:center;gap:14px;align-self:flex-start;padding:12px 18px 12px 12px;color:var(--tinta);
  background:var(--blanco);border:var(--borde);border-radius:12px;box-shadow:5px 5px 0 var(--acento);
}
.pf-correo b{display:block;font-size:17px}
.pf-correo small{font-size:14px;font-weight:700;color:#14805e}
.pf-der{padding:40px}
.pf-der h1{margin:0;font-size:clamp(30px,4vw,38px);font-weight:900;letter-spacing:-.045em}
.pf-der > p{margin:6px 0 24px;color:#333}
.pf-campo{margin-bottom:20px}
.pf-campo label,.pf-etiqueta{display:flex;justify-content:space-between;margin-bottom:8px;font-size:16px;font-weight:800}
.pf-campo label em,.pf-etiqueta em{font-style:normal;font-size:13px;font-weight:700;color:var(--rojo)}
.pf-campo select,.pf-campo input{
  width:100%;height:52px;padding:0 16px;font:inherit;font-size:16px;font-weight:700;color:var(--tinta);
  background:var(--blanco);border:var(--borde);border-radius:12px;outline:0;appearance:none;
  transition:box-shadow .2s, background .2s;
}
.pf-campo select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 5l4 4 4-4' fill='none' stroke='%230b0b0c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:42px}
.pf-campo select.is-lleno{background-color:var(--acento-claro)}
.pf-campo select:focus,.pf-campo input:focus{box-shadow:0 0 0 4px var(--acento-claro)}
.pf-campo small{display:block;margin-top:8px;font-size:14px;color:#444}
.pf-campo small b{color:var(--acento-oscuro)}
.pf-pronto{padding:14px 16px;margin-bottom:20px;border:2px dashed var(--acento-oscuro);border-radius:12px;background:var(--acento-claro);font-weight:700}
.pf-opcional{display:flex;align-items:center;gap:12px;margin:26px 0 18px;font-size:14px;font-weight:900;letter-spacing:.14em;color:#555}
.pf-opcional::after{content:"";flex:1;border-top:2px dashed #cfcac0}
.pf-fila{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pf-enviar{
  width:100%;height:58px;margin-top:8px;font:inherit;font-size:18px;font-weight:900;cursor:pointer;
  color:var(--tinta);background:var(--acento);border:var(--borde);border-radius:12px;box-shadow:5px 5px 0 var(--tinta);
  transition:transform .25s var(--resorte), box-shadow .25s var(--resorte), background .2s;
}
.pf-enviar:not(:disabled):hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--tinta)}
.pf-enviar:disabled{cursor:default;color:#777;background:#efede6;border:2px dashed #b9b4a8;box-shadow:none}
.pf-pie{margin:14px 0 0;text-align:center;font-size:14px;color:#555}
.pf-error{margin:12px 0 0;text-align:center;font-weight:700;color:var(--rojo)}
.pf-borrar{margin-top:30px;padding-top:20px;border-top:2px dashed #cfcac0;text-align:center}
.pf-borrar button{font:inherit;font-weight:800;color:var(--rojo);text-decoration:underline;background:none;border:0;cursor:pointer}

/* ---------- privacidad ---------- */
.texto-legal{max-width:760px;margin:50px auto 90px;padding:36px 40px;background:var(--blanco);border:var(--borde);border-radius:16px;box-shadow:8px 8px 0 var(--tinta);line-height:1.65}
.texto-legal h1{margin:0 0 6px;font-size:38px;font-weight:900;letter-spacing:-.04em}
.texto-legal h2{margin:28px 0 8px;font-size:21px;font-weight:900;letter-spacing:-.02em}
.texto-legal a{text-decoration:underline}

@media (max-width:820px){
  .pf-caja{grid-template-columns:1fr;margin:24px 16px 50px}
  .pf-izq,.pf-der{padding:28px 22px}
  .pf-izq{min-height:280px}
  .pf-fila{grid-template-columns:1fr}
  .pf-barra{padding:14px 16px}
  .texto-legal{margin:24px 16px 60px;padding:26px 22px}
}
