:root{
  --brand:#2D2A6E; --brand-2:#5B54D6; --green:#0E9F6E; --red:#E0364A;
  --ink:#1a1a1a; --muted:#6b6b7b; --line:#e6e6ec; --bg:#f4f4f7; --card:#fff;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Hanken Grotesk',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}
a{color:var(--brand-2);text-decoration:none} a:hover{text-decoration:underline}
.muted{color:var(--muted)} .err{background:#fdecee;color:var(--red);padding:10px 14px;border-radius:8px;font-size:14px}

/* --- auth --- */
.auth-body{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:20px}
.auth-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:30px;width:100%;max-width:440px}
.auth-logo-wrap{display:flex;justify-content:center;align-items:center;margin-bottom:12px}
.auth-logo-img{height:38px;display:block}
.auth-card h1{margin:0 0 18px;font-size:22px;color:var(--brand)}
.auth-card label,.form-col label{display:block;margin-bottom:14px;font-size:13px;color:var(--muted)}
.auth-card input,.form-col input,.form-col select,.form-col textarea{display:block;width:100%;margin-top:5px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:15px;font-family:inherit}
.auth-card button,.form-col button,.btn{background:var(--brand);color:#fff;border:0;padding:11px 18px;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600}
.btn-alert{background:var(--red)}
.auth-links-row{margin-top:14px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-size:14px}

/* --- app --- */
.app-top{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;background:var(--card);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:10px}
.app-top .logo,.auth-brand{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:21px;letter-spacing:.5px;color:var(--ink);text-decoration:none}
.app-top .logo b,.auth-brand b{color:var(--brand-2)}
.app-top nav{display:flex;gap:16px;align-items:center;font-size:14px;flex-wrap:wrap}
.app-top nav a{color:var(--muted);font-weight:500}
.app-top nav a:hover{color:var(--ink);text-decoration:none}
.logo-img{height:38px;display:block}
.btn-salir{background:var(--brand);color:#fff !important;padding:8px 16px;border-radius:8px;font-weight:600}
.btn-salir:hover{opacity:.92;text-decoration:none}

.app-main{max-width:1000px;margin:0 auto;padding:26px 22px}
.app-main.narrow{max-width:520px}
.app-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.app-head h1{margin:0;font-size:24px;color:var(--brand)}
.form-col{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px}
.form-acts{display:flex;justify-content:flex-end;gap:16px;align-items:center;margin-top:8px}
.aviso{background:#e7f6ef;color:var(--green);padding:10px 14px;border-radius:8px;font-size:14px}
.h-sep{margin-top:34px;font-size:19px;color:var(--brand)}
.h-sep.peligro{color:var(--red)}

.grid-bicis{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.bici-card{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.bici-card img{width:100%;height:160px;object-fit:cover;background:#ececf3}
.bici-body{padding:14px 16px;flex:1}
.bici-body .folio{font-family:'Space Mono',monospace;font-size:12px;color:var(--muted)}
.bici-body h3{margin:4px 0 2px;font-size:17px}
.bici-acts{display:flex;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--line);font-size:14px;gap:10px;flex-wrap:wrap}
.link-alert{color:var(--red)}
.badge{display:inline-block;margin-top:8px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}
.badge-ok{background:#e7f6ef;color:var(--green)} .badge-alert{background:#fdecee;color:var(--red)}

.page-top{display:flex;justify-content:flex-start;align-items:center;gap:12px;margin:0 0 18px}
.btn-sec{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1.5px solid var(--brand);color:var(--brand);padding:9px 16px;border-radius:9px;font-weight:600;font-size:14px;text-decoration:none;cursor:pointer}
.btn-sec:hover{background:var(--brand);color:#fff;text-decoration:none}
.form-col input,.form-col select,.form-col textarea{font-size:16px}
.edad-pill{display:inline-block;margin-left:8px;background:#f0effd;color:var(--brand-2);border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:600}
.check-tc{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--muted);margin-bottom:14px}
.check-tc input{width:auto;margin-top:3px}

.legal-doc{max-width:760px;margin:0 auto;padding:28px 22px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.legal-doc h1{color:var(--brand);font-size:26px}
.legal-doc h2{font-size:18px;margin-top:26px;color:var(--brand)}

.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:12px 0 20px}
.galeria-item{position:relative;margin:0}
.galeria-item img{width:100%;height:110px;object-fit:cover;border-radius:9px;cursor:zoom-in;background:#ececf3}
.galeria-x{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;font-size:15px;line-height:1;cursor:pointer}
.galeria-x:hover{background:var(--red)}
#lightbox{position:fixed;inset:0;background:rgba(10,10,20,.88);display:none;align-items:center;justify-content:center;z-index:200;cursor:zoom-out}
#lightbox.show{display:flex}
#lightbox img{max-width:92vw;max-height:90vh;border-radius:10px}

.autocomp{position:relative}
.autocomp-list{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:0 0 10px 10px;box-shadow:0 10px 24px rgba(20,20,40,.12);z-index:50;max-height:230px;overflow:auto}
.autocomp-list div{padding:10px 12px;font-size:14px;cursor:pointer}
.autocomp-list div:hover,.autocomp-list div.sel{background:#f0effd}
.dir-ok{font-size:13px;color:var(--green);margin-top:4px}
#mapa-pin{height:280px;border-radius:12px;margin:10px 0 4px;border:1px solid var(--line);z-index:1}
.pin-hint{font-size:13px;color:var(--muted);margin:2px 0 12px}

@media (max-width:640px){
  .app-top{padding:12px 14px}
  .app-main{padding:20px 14px}
  .app-head{flex-direction:column;align-items:flex-start;gap:12px}
  .grid-bicis{grid-template-columns:1fr}
  .bici-acts{flex-wrap:wrap;gap:10px}
  .galeria{grid-template-columns:repeat(auto-fill,minmax(95px,1fr))}
  .form-acts{flex-direction:column-reverse;align-items:stretch;text-align:center}
  .form-acts .btn,.form-acts button{width:100%}
}
/* ===== PATCH header interno estilo portada ===== */
.app-top-mainlike{
  background: rgba(250,250,247,.92);
  backdrop-filter: blur(10px);
  border-bottom:1px solid #eae8e0;
  position:sticky; top:0; z-index:60;
}
.app-top-inner{
  max-width:1180px; margin:0 auto; padding:10px 22px;
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:18px;
}
.app-nav-center{
  display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:18px;
}
.app-nav-center a{color:#5B5D72;font-weight:500}
.app-nav-center a:hover{color:#191A2C;text-decoration:none}
.app-top-actions{display:flex; align-items:center; gap:10px}
.logo-img{height:34px;display:block}

@media (max-width:860px){
  .app-top-inner{grid-template-columns:1fr;gap:10px}
  .app-nav-center{justify-content:flex-start}
  .app-top-actions{justify-content:flex-start}
}

/* ===== PATCH DONAR + Cerrar Sesión glitch fix ===== */
.mainlike-header{
  position: sticky;
  top: 0;
  z-index: 60;
  background: rgba(250,250,247,.82);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid #EAE8E0;
}
.mainlike-header .wrap{
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 26px;
}
.mainlike-header .nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:72px;
  gap:24px;
}
.mainlike-header .logo-img{height:50px;display:block}
.mainlike-header .nav-links{
  display:flex; gap:28px; font-weight:500; font-size:18px;
  align-items:center; justify-content:center; flex:1;
}
.mainlike-header .nav-links a{color:#5B5D72}
.mainlike-header .nav-links a:hover{color:#191A2C;text-decoration:none}
.mainlike-header .nav-cta{display:flex;align-items:center;gap:12px}

/* Corrige artefactos visuales raros en botón */
.btn-no-glitch{
  font-family:"Hanken Grotesk",system-ui,sans-serif !important;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  letter-spacing: 0;
  white-space: nowrap;
}

@media (max-width:680px){
  .mainlike-header .nav-links{display:none}
}

/* Links legales popup en morado */
.auth-pane .check-tc a{
  color:#5B54D6 !important;
  font-weight:700;
}
.auth-pane .check-tc a:hover{text-decoration:underline}

.btn-no-glitch{
   display: inline-flex;
    align-items: center;
    gap: 9px;
    font-weight: 600;
    font-size: 15.5px;
    padding: 13px 24px;
    border-radius: 11px;
    cursor: pointer;
    border: 1.5px solid transparent;
    transition: transform .14s, background .14s, box-shadow .14s, border-color .14s;
}
/* Donar en header interno: idéntico al home */
.mainlike-header .nav-cta .btn.btn-ghost{
  background:#FFFFFF;
  color:#191A2C;
  border:1.5px solid #E8E7F2;
  font-weight:600;
  font-size:15.5px;
  padding:13px 24px;
  border-radius:11px;
  line-height:1;
  box-shadow:none;
  transition:transform .14s,background .14s,box-shadow .14s,border-color .14s,color .14s;
}
.mainlike-header .nav-cta .btn.btn-ghost:hover{
  border-color:#2D2A6E;
  color:#2D2A6E;
  text-decoration:none;
}
.mainlike-header .nav-cta .btn.btn-ghost:active{
  transform:translateY(1px);
}