/* =========================================================================
   Clon de nfckin.com — páginas de login / register / forgot-password
   CSS portado 1:1 desde:
     /assets/uni.413253b8.css          (base uni-app H5)
     /assets/index-CvGgxMqU.css        (estilos de app: card, botón, links)
     /assets/uni-forms-zefDC0EI.css    (inputs y validación)
     /assets/login-Pp44zpNJ.css        (form-title, radios, márgenes)
     /assets/register-DE88GuPm.css     (idéntico a login salvo scope)
     /assets/forgot-password-Dk_lYVTR.css
   Los selectores de elemento (uni-view, uni-button...) se han traducido a
   los mismos nombres de clase, conservando valores y orden de cascada.
   ========================================================================= */

/* ---------- reset / base ---------- */
*{margin:0;-webkit-tap-highlight-color:transparent}
html,body{-webkit-user-select:none;user-select:none;width:100%;height:100%}
html{font-size:16px}
body{overflow-x:hidden;font-size:16px;background-color:#f5f7fa}
/* OJO: el original NO declara font-family en body/uni-page-head, así que el
   título de la cabecera hereda la fuente por defecto del navegador
   (Times New Roman, serif). Se mantiene a propósito: es el render real. */

/* ---------- fuente de iconos ---------- */
@font-face{font-family:uniicons;src:url(uniicons.ttf) format("truetype");font-display:block}
.uni-icons{font-family:uniicons;text-decoration:none;text-align:center;display:inline}
.uniui-locked:before{content:"\e66b"}
.uniui-email:before{content:"\e69e"}
.uniui-person:before{content:"\e699"}
.uniui-eye:before{content:"\e651"}
.uniui-eye-slash:before{content:"\e6b3"}
.uniui-clear:before{content:"\e66d"}
/* El original usa prefixIcon:"mail" → clase .uniui-mail, que NO existe en su
   CSS: el icono del campo email no renderiza (queda un hueco de 10px).
   Aquí se usa el glifo real (.uniui-email = \e69e) para que se vea bien.
   Para clavar el original, incluido su bug:
     .uniui-email:before{content:none}                                  */

/* ---------- cabecera de página (uni-page-head) ---------- */
.uni-page-head{position:fixed;left:0;right:0;height:44px;padding:7px 3px;display:flex;overflow:hidden;justify-content:space-between;box-sizing:border-box;z-index:998;color:#fff;background-color:#2979ff;transition-property:all}
.uni-page-head *{box-sizing:border-box}
.uni-page-head-hd{display:flex;align-items:center;font-size:16px}
.uni-page-head-bd{position:absolute;left:70px;right:70px;min-width:0;-webkit-user-select:auto;user-select:auto}
.uni-page-head-btn{position:relative;width:auto;margin:0 2px;word-break:keep-all;white-space:pre;cursor:pointer;font-size:0px}
.uni-page-head-ft{display:flex;align-items:center;flex-direction:row-reverse;font-size:13px}
.uni-page-head__title{font-weight:700;font-size:16px;line-height:30px;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.uni-page-head~.uni-placeholder{width:100%;height:44px}

/* ---------- cuerpo de página ---------- */
.uni-page-body{background-color:#f5f7fa;font-size:.875rem;color:#333;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}

/* ---------- layout de página ---------- */
.page-container{min-height:100vh;padding:.46875rem .9375rem}      /* 7.5px 15px */
.form-container{background:#fff;border-radius:.5rem;padding:1.25rem .9375rem} /* 20px 15px */
.form-title{font-size:1.375rem;font-weight:700;color:#2979ff;text-align:center;margin-bottom:1.875rem}

/* ---------- botón primario (uni-button + .app-btn-primary) ---------- */
.app-btn-primary{position:relative;display:block;margin-left:auto;margin-right:auto;
  padding-left:14px;padding-right:14px;box-sizing:border-box;font-size:18px;text-align:center;
  text-decoration:none;line-height:2.55555556;border-radius:5px;-webkit-tap-highlight-color:transparent;
  overflow:hidden;color:#000;background-color:#f8f8f8;cursor:pointer;
  font-family:inherit;border:none;-webkit-appearance:none;appearance:none}
.app-btn-primary:after{content:" ";width:200%;height:200%;position:absolute;top:0;left:0;
  border:1px solid rgba(0,0,0,.2);transform:scale(.5);transform-origin:0 0;box-sizing:border-box;border-radius:10px}
.app-btn-primary[disabled]{color:rgba(255,255,255,.6);cursor:not-allowed}
/* variante de la app */
.app-btn-primary{background:linear-gradient(135deg,#2979ff,#1565c0);color:#fff;border:none;
  border-radius:.375rem;font-size:.875rem;padding:.5625rem 0;width:100%;margin-top:.9375rem;line-height:1.2}
.app-btn-primary:active{opacity:.85}
.app-btn-primary[loading]:before{content:" ";display:inline-block;width:18px;height:18px;vertical-align:middle;
  animation:uni-loading 1s steps(12,end) infinite;background-size:100%;
  background-color:transparent;background-repeat:no-repeat;
  background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=)}
@keyframes uni-loading{0%{transform:rotate3d(0,0,1,0)}to{transform:rotate3d(0,0,1,360deg)}}

/* ---------- enlaces inferiores ---------- */
.link-text{color:#2979ff;text-align:center;font-size:.75rem;margin-top:.9375rem;display:block}
.link-text a{text-decoration:none;color:inherit;cursor:pointer}

/* ---------- formulario / inputs (uni-forms + uni-easyinput) ---------- */
.page-container .uni-forms-item{margin-bottom:.3125rem}
.page-container .uni-easyinput{border-radius:.375rem}

.uni-forms-item{position:relative;display:flex;margin-bottom:22px;flex-direction:row}
.uni-forms-item__content{position:relative;font-size:14px;flex:1;box-sizing:border-box;flex-direction:row}
.uni-forms-item__error{color:#f56c6c;font-size:12px;line-height:1;padding-top:4px;position:absolute;top:100%;left:0;
  transition:transform .3s;transform:translateY(-100%);opacity:0}
.uni-forms-item__error .error-text{color:#f56c6c;font-size:12px}
.uni-forms-item__error.msg--active{opacity:1;transform:translateY(0)}

.uni-easyinput{width:100%;flex:1;position:relative;text-align:left;color:#333;font-size:14px}
.uni-easyinput__content{flex:1;width:100%;display:flex;box-sizing:border-box;flex-direction:row;align-items:center;
  border-color:#fff;transition-property:border-color;transition-duration:.3s}
.uni-easyinput__content.is-input-border{display:flex;box-sizing:border-box;flex-direction:row;align-items:center;
  border:1px solid #dcdfe6;border-radius:4px}
.uni-easyinput__content.is-input-error-border{border-color:#e43d33}
.uni-easyinput__content-input{width:auto;position:relative;overflow:hidden;flex:1;line-height:1;font-size:14px;height:35px}
.uni-easyinput__placeholder-class{color:#999;font-size:12px}
.content-clear-icon{padding:0 5px}

.uni-input-wrapper{outline:none;border:none;padding:0;margin:0;text-decoration:inherit;
  display:flex;position:relative;width:100%;height:100%;flex-direction:column;justify-content:center}
.uni-input-placeholder,.uni-input-input{width:100%}
.uni-input-placeholder{outline:none;border:none;padding:0;margin:0;position:absolute;top:auto!important;left:0;
  color:gray;overflow:hidden;text-overflow:clip;white-space:pre;word-break:keep-all;pointer-events:none;line-height:inherit}
.uni-input-input{outline:none;border:none;padding:0;margin:0;position:relative;display:block;height:100%;
  background:none;color:inherit;opacity:1;font:inherit;line-height:inherit;letter-spacing:inherit;text-align:inherit;
  text-indent:inherit;text-transform:inherit;text-shadow:inherit;-webkit-appearance:none;appearance:none;border-radius:0}
.uni-input-input::-webkit-outer-spin-button,.uni-input-input::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}

/* ---------- área privada ---------- */
.session-label{font-size:.75rem;color:#999;text-align:center;margin-bottom:.375rem}
.session-email{font-size:.9375rem;color:#333;text-align:center;word-break:break-all;margin-bottom:.625rem}

/* ---------- toast (uni.showToast) ---------- */
.uni-toast{position:fixed;z-index:999;top:50%;left:50%;transform:translate(-50%,-50%);
  min-width:120px;max-width:80%;box-sizing:border-box;padding:10px 15px;border-radius:5px;
  background:rgba(17,17,17,.7);color:#fff;font-size:14px;line-height:1.35;text-align:center;
  word-break:break-word;opacity:0;pointer-events:none;transition:opacity .2s ease}
.uni-toast.is-active{opacity:1}
