/* ============================================================
   EcoDero · Gestión de Finca — LA ENTRADA (F1 · carril B)
   La pantalla del correo y el código, el primer ingreso, las
   invitaciones, la cuenta en Ajustes y lo que el vaquero no ve.

   Aparte de estilo.css a propósito (es copia vigilada de la demo).
   Prefijos entrada- y aj-: no toca ninguna clase de la demo.

   Para un señor de 63 años a pleno sol: letra grande, negrita,
   contraste alto (blanco sobre verde oscuro), botones de 56 px
   (nunca menos de 48) y casillas del código de 64 px de alto.
   ============================================================ */

/* La pantalla entera, como la «Entrar» de la demo. Desplaza en vertical, nunca en horizontal. */
.entrada{position:fixed;inset:0;z-index:80;overflow-x:hidden;overflow-y:auto;display:flex;padding:16px;
  background:radial-gradient(1000px 500px at 80% -10%,rgba(220,244,127,.14),transparent),linear-gradient(160deg,var(--verde-osc,#08382a),var(--verde,#0d4f3c));
  color:#fff;-webkit-overflow-scrolling:touch}
/* Volver a entrar con la sesión vencida: va ENCIMA de la app (y de su franja). */
.entrada.entrada-sobre{z-index:96}
.entrada-card{width:100%;max-width:440px;margin:auto;display:flex;flex-direction:column;gap:14px;min-width:0;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:26px 20px;
  box-shadow:0 30px 70px rgba(0,0,0,.28);font-size:1.05rem;line-height:1.45}
.entrada-card p{margin:0;overflow-wrap:anywhere}
.entrada-logo{width:72px;height:72px;border-radius:20px;background:var(--lima,#dcf47f);display:grid;place-items:center;font-size:2.1rem;margin:0 auto}
.entrada-tit{margin:0;color:#fff;text-align:center;font-size:1.5rem;line-height:1.25;overflow-wrap:anywhere}
.entrada-paso{margin:6px 0 0;color:#fff;font-size:1.12rem}
.entrada-sub{color:#e3f1ea;text-align:center}
.entrada-correo{color:#fff;overflow-wrap:anywhere}
.entrada-form{display:flex;flex-direction:column;gap:12px;min-width:0;margin:0}
.entrada-lbl{font-weight:800;font-size:1.12rem;color:#fff}
.entrada-in{width:100%;min-height:56px;padding:12px 16px;border-radius:14px;border:2px solid rgba(255,255,255,.55);
  background:#fff;color:#14231b;font-size:1.2rem;font-family:inherit;min-width:0;box-sizing:border-box}
.entrada-in::placeholder{color:#7d8c84}
.entrada-in:focus,.entrada-dig:focus{outline:3px solid var(--lima,#dcf47f);outline-offset:2px}
.entrada-ayuda{color:#d4e8de;font-size:.98rem}

/* Las seis casillas del código: grandes, una por número. A 390 px caben de sobra. */
.entrada-codigo{display:flex;gap:6px;justify-content:center;min-width:0}
.entrada-dig{flex:1 1 0;min-width:0;max-width:56px;height:64px;border-radius:12px;border:2px solid rgba(255,255,255,.6);
  background:#fff;color:#14231b;font-size:1.9rem;font-weight:800;text-align:center;font-family:inherit;padding:0;box-sizing:border-box}

.entrada-msg{min-height:1.4em;font-weight:700;font-size:1.05rem}
.entrada-msg:empty{min-height:0}
.entrada-msg.mal{color:#fff;background:var(--rojo,#b4472e);border-radius:12px;padding:10px 12px}
.entrada-msg.bien{color:#14231b;background:var(--lima,#dcf47f);border-radius:12px;padding:10px 12px}
.entrada-aviso{background:rgba(255,255,255,.12);border:2px solid var(--lima,#dcf47f);border-radius:14px;padding:12px 14px;font-weight:700}
.entrada-espera{text-align:center;font-weight:800;font-size:1.2rem;color:#fff;padding:12px 0}

.entrada-btn{width:100%;min-height:56px;padding:10px 16px;border-radius:14px;font-weight:800;font-size:1.1rem;line-height:1.25;
  font-family:inherit;cursor:pointer;border:2px solid transparent;box-sizing:border-box;max-width:100%;overflow-wrap:anywhere}
.entrada-btn:disabled{opacity:.8;cursor:not-allowed}
.entrada-pri{background:var(--lima,#dcf47f);color:#14231b}
.entrada-sec{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.entrada-link{background:transparent;color:#e3f1ea;text-decoration:underline;min-height:48px;font-weight:700;font-size:1rem}
.entrada-peligro{background:transparent;color:#fff;border-color:#ffb4a3}
.entrada-btn:focus-visible,.entrada-opt:focus-visible{outline:3px solid var(--lima,#dcf47f);outline-offset:2px}

/* Opciones grandes: crear finca / tengo una invitación / el negocio / la finca. */
.entrada-opt{display:flex;align-items:center;gap:14px;width:100%;min-height:72px;padding:12px 14px;border-radius:16px;
  background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.35);color:#fff;text-align:left;font-family:inherit;
  font-size:1.08rem;cursor:pointer;box-sizing:border-box;min-width:0}
.entrada-opt b{display:block;font-size:1.15rem;overflow-wrap:anywhere}
.entrada-opt small{display:block;color:#d4e8de;font-size:.95rem;margin-top:2px;overflow-wrap:anywhere}
.entrada-opt > span:last-child{min-width:0}
.entrada-opt.on{background:var(--lima,#dcf47f);border-color:var(--lima,#dcf47f);color:#14231b}
.entrada-opt.on small{color:#2c3a14}
.entrada-opt-ico{font-size:1.9rem;flex:0 0 auto}
.entrada-negocios{display:flex;flex-direction:column;gap:10px}

.entrada-inv{background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.3);border-radius:16px;padding:14px;
  display:flex;flex-direction:column;gap:6px;min-width:0}
.entrada-inv-finca{font-size:1.2rem}
.entrada-inv-vence{color:#d4e8de;font-size:.95rem}
.entrada-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.entrada-acts .entrada-btn{flex:1 1 140px}
.entrada-confirma{width:100%;font-weight:800}

/* ---------------- Dentro de la app: Ajustes ---------------- */
.aj-cuenta .v,.aj-invitar .v{overflow-wrap:anywhere;text-align:right;min-width:0}
.aj-correo{word-break:break-all}
.aj-lbl{display:block;font-weight:800;font-size:1rem;margin:12px 0 6px;color:var(--tinta,#1c1c17)}
.aj-in{width:100%;min-height:52px;padding:10px 14px;border-radius:12px;border:2px solid var(--linea,#e6e1d3);
  background:var(--papel,#fff);color:var(--tinta,#1c1c17);font-size:1.1rem;font-family:inherit;box-sizing:border-box;min-width:0}
.aj-in:focus{outline:3px solid var(--verde-cl,#2f7a5f);outline-offset:1px}
.aj-roles{display:flex;flex-direction:column;gap:8px}
.aj-rol{display:block;width:100%;min-height:56px;padding:10px 14px;border-radius:12px;text-align:left;font-family:inherit;cursor:pointer;
  background:var(--crema,#f4f1e5);color:var(--tinta,#1c1c17);border:2px solid var(--linea,#e6e1d3);box-sizing:border-box;min-width:0}
.aj-rol b{display:block;font-size:1.05rem}
.aj-rol span{display:block;font-size:.92rem;color:var(--gris,#6c6656);margin-top:2px;overflow-wrap:anywhere}
.aj-rol.on{border-color:var(--verde,#0d4f3c);background:var(--verde,#0d4f3c);color:#fff}
.aj-rol.on span{color:#e3f1ea}
.aj-msg{margin:10px 0 0;font-weight:700;overflow-wrap:anywhere}
.aj-msg:empty{display:none}
.aj-msg.mal{color:var(--rojo,#b4472e)}
.aj-msg.bien{color:var(--verde,#0d4f3c)}
.aj-btn{width:100%;min-height:52px;margin-top:12px;padding:8px 16px;border-radius:12px;font-weight:800;font-size:1.02rem;font-family:inherit;
  cursor:pointer;border:2px solid transparent;box-sizing:border-box;max-width:100%}
.aj-btn:disabled{opacity:.6;cursor:not-allowed}
.aj-pri{background:var(--verde,#0d4f3c);color:#fff}
.aj-sec{background:var(--crema,#f4f1e5);color:var(--verde-osc,#08382a);border-color:var(--linea,#e6e1d3)}
.aj-sub{margin:18px 0 6px;font-size:1rem}
.aj-pend{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--linea,#e6e1d3);min-width:0}
.aj-pend span{flex:1 1 180px;min-width:0;overflow-wrap:anywhere}
.aj-pend .aj-btn{flex:0 0 auto;width:auto;margin-top:0}
[data-theme="realista"] .aj-rol.on{background:var(--verde-cl,#54c081);color:#0b0b0b}

/* ---------------- Con sesión real ----------------
   La barra de «¿Qué negocio es el suyo?» es de la demostración: en una finca real el negocio
   es de la finca y lo cambia el dueño en Ajustes. */
.sesion-real #perfil-bar{display:none!important}
/* Solo el dueño cambia el negocio de la finca (el servidor se lo niega a los demás). */
.sesion-real:not(.rol-duenio) #p-ajustes .card:has(#aj-opts){display:none!important}
/* Al vaquero no se le enseña dinero ni acciones que el servidor le va a negar
   (dar de alta, comprar, vender, publicar, crear fincas): que no vea pantallas rotas. */
.rol-vaquero #fab,
.rol-vaquero .wa-card,
.rol-vaquero #ficha-tabs button[data-mod="cosecha"],
.rol-vaquero #p-lote .tabs button[onclick*="lt-dinero"],
.rol-vaquero [onclick*="showPane('p-alta')"],
.rol-vaquero [onclick*="abrirNuevoLote"],
.rol-vaquero [onclick*="venderLote"],
.rol-vaquero [onclick*="publicar"],
.rol-vaquero [onclick*="abrirNuevaFinca"],
.rol-vaquero [onclick*="iniciarAsistenteCompra"],
.rol-vaquero [onclick*="marcarComprada"],
.rol-vaquero [onclick*="showPane('p-dinero')"],
.rol-vaquero [onclick*="showPane('p-reportes')"],
.rol-vaquero [onclick*="showPane('p-lotes')"]{display:none!important}
.rol-encargado [onclick*="abrirNuevaFinca"],
.rol-encargado [onclick*="marcarComprada"]{display:none!important}
