/* ===== Portal del vecino · GesEnjoy ===== */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,700&family=Inter:wght@400;500;600&display=swap');

:root{
  --primary:#0FB39A; --primary-d:#0c9582;
  --accent:#FF7A59; --accent-d:#e8623f;
  --ink:#0E2433; --ink-soft:#3a4a57;
  --bg:#f4f7f8; --card:#ffffff; --line:#e3eaec; --muted:#7f97a1;
  --ok-bg:#e8f8f3; --ok-tx:#0c7a66; --err-bg:#fdecea; --err-tx:#c0392b;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Bricolage Grotesque','Inter',sans-serif;font-weight:700;color:var(--ink);line-height:1.2}

/* ---- Cabecera ---- */
.ge-top{
  display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(120deg,var(--ink),#10293A 60%,#0B2A26);
  color:#fff;padding:12px 22px;box-shadow:0 2px 14px rgba(0,0,0,.12);
}
.ge-marca{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff}
.ge-marca b{display:block;font-family:'Bricolage Grotesque';font-size:1.18rem;letter-spacing:.2px;line-height:1}
.ge-marca small{display:block;color:#9fd8cf;font-size:.72rem;margin-top:2px}
.ge-top-der{display:flex;align-items:center;gap:14px}
.ge-hola{color:#cfe0e0;font-size:.9rem}
.ge-salir{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.35);border-radius:8px;padding:5px 13px;font-size:.85rem}
.ge-salir:hover{background:rgba(255,255,255,.12)}

/* ---- Estructura ---- */
.ge-main{max-width:980px;margin:0 auto;padding:28px 18px 40px}
.ge-h-page{font-size:1.7rem;margin:6px 0 18px}
.ge-bloque{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 22px 26px;margin-bottom:22px;box-shadow:0 1px 3px rgba(14,36,51,.04)}
.ge-bloque h2{font-size:1.25rem;margin:0 0 6px}
.ge-sub{color:var(--ink-soft);font-size:.92rem;margin:0 0 16px}
.ge-vacio{color:var(--muted);font-style:italic;font-size:.92rem}

/* ---- Login / tarjeta centrada ---- */
.ge-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 8px 30px rgba(14,36,51,.08)}
.ge-login{max-width:420px;margin:46px auto}
.ge-login h1{font-size:1.5rem;margin:0 0 4px}
.ge-login form{display:flex;flex-direction:column;gap:14px;margin-top:18px}
.ge-login label{display:flex;flex-direction:column;gap:6px;font-size:.86rem;font-weight:600;color:var(--ink-soft)}
.ge-login input{font:inherit;padding:11px 13px;border:1.5px solid var(--line);border-radius:10px;background:#fbfdfd}
.ge-login input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(15,179,154,.15)}
.ge-ayuda{color:var(--muted);font-size:.8rem;text-align:center;margin-top:16px}

/* ---- Botones ---- */
.ge-btn{font:inherit;font-weight:600;border:none;border-radius:10px;padding:11px 16px;cursor:pointer;transition:.15s}
.ge-btn-primary{background:var(--primary);color:#fff}
.ge-btn-primary:hover{background:var(--primary-d)}
.ge-btn-accent{background:var(--accent);color:#fff}
.ge-btn-accent:hover{background:var(--accent-d)}

/* ---- Documentos ---- */
.ge-com{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}
.ge-com:first-of-type{border-top:none;padding-top:0;margin-top:0}
.ge-com h3{font-size:1.05rem;margin:0 0 10px}
.ge-com h3 small{display:block;font-weight:500;color:var(--muted);font-size:.8rem;font-family:'Inter'}
.ge-docs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ge-docs li{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  background:#fafcfc;border:1px solid var(--line);border-radius:11px;padding:10px 14px}
.ge-docs a{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:600}
.ge-docs a:hover .ge-doc-tit{color:var(--primary-d);text-decoration:underline}
.ge-doc-ico{font-size:1.15rem}
.ge-doc-meta{color:var(--muted);font-size:.78rem}
.ge-doc-meta em{font-style:normal;color:var(--primary-d);font-weight:600}

/* ---- Servicios ---- */
.ge-servicios{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.ge-serv{border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:8px;background:#fff}
.ge-serv-ico{font-size:1.8rem}
.ge-serv h4{font-size:1.05rem;margin:0}
.ge-serv p{margin:0;color:var(--ink-soft);font-size:.86rem;flex:1}
.ge-serv form{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.ge-consent{display:flex;gap:8px;align-items:flex-start;font-size:.78rem;color:var(--ink-soft);cursor:pointer}
.ge-consent input{margin-top:3px}

/* ---- Avisos ---- */
.aviso{border-radius:10px;padding:11px 14px;font-size:.9rem;margin-bottom:14px;border:1px solid var(--line);background:#f7fafa}
.aviso-ok{background:var(--ok-bg);color:var(--ok-tx);border-color:#bfe9dd}
.aviso-error{background:var(--err-bg);color:var(--err-tx);border-color:#f4c6c0}

/* ---- Pie ---- */
.ge-foot{max-width:980px;margin:0 auto;padding:24px 18px 30px;color:var(--muted);font-size:.78rem;display:flex;flex-direction:column;gap:4px}
.ge-foot-legal{color:#a8b6bc}

@media(max-width:560px){
  .ge-top{padding:11px 15px}
  .ge-main{padding:20px 14px 32px}
  .ge-h-page{font-size:1.4rem}
}

/* Formulario de solicitud de reparación */
.ge-lbl{display:block;margin:12px 0 4px;font-size:.92rem;color:var(--ink,#0E2433)}
.ge-input{width:100%;box-sizing:border-box;padding:10px 12px;border:1.5px solid #d7e3e1;border-radius:10px;font:inherit;background:#fff}
.ge-input:focus{outline:none;border-color:var(--primary,#0FB39A)}
.ge-hint{color:#6b7d83;font-size:.85rem;margin:6px 0 0}
