
/* FutBase · Alta y roles — hereda los tokens del centro de ayuda */
:root{
  --brand:#145757; --brand-2:#1c6f6f; --accent:#4CAF50;
  --gray-900:#1a2b2b; --gray-700:#4a5a5a; --gray-500:#7b8a8a;
  --surface:#f4f7f7; --card:#fff; --border:#e3ecec;
  --radius:16px; --shadow:0 4px 18px rgba(20,87,87,.08); --maxw:1180px;
  --vA:#145757; --vB:#2E7D32; --vC:#1565C0; --vD:#6A1B9A; --vE:#E65100; --vF:#C62828;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
     color:var(--gray-900);background:var(--surface);line-height:1.55}
a{color:var(--brand);text-decoration:none}

.hb{position:sticky;top:0;z-index:20;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff}
/* padding-left: deja hueco al botón flotante «← Volver a FutBase» */
.hb__in{max-width:var(--maxw);margin:0 auto;padding:14px 20px 14px 190px;display:flex;align-items:center;gap:14px}
.hb__logo{font-weight:800;font-size:20px;letter-spacing:.5px;display:flex;align-items:center;gap:8px}
.hb__logo span{opacity:.85;font-weight:500;font-size:14px}
.hb__spacer{flex:1}
.hb__link{color:#fff;opacity:.9;font-size:14px;padding:6px 12px;border:1px solid rgba(255,255,255,.35);border-radius:999px}
.hb__link:hover{opacity:1;background:rgba(255,255,255,.12)}
.hb__link--pdf{background:#fff;color:var(--brand);font-weight:700;border-color:#fff}

.wrap{max-width:var(--maxw);margin:0 auto;padding:24px 20px;display:grid;grid-template-columns:260px 1fr;gap:28px}
.side{position:sticky;top:78px;align-self:start;max-height:calc(100vh - 100px);overflow:auto}
.side h4{margin:8px 0;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--gray-500)}
.side nav a{display:block;padding:9px 12px;border-radius:10px;color:var(--gray-700);font-size:14.5px}
.side nav a:hover{background:#e9f1f1;color:var(--brand)}
.side nav a.active{background:var(--brand);color:#fff}

.doc h1{font-size:30px;margin:0 0 4px;color:var(--brand)}
.doc .lead{color:var(--gray-700);margin:0 0 26px;font-size:16px}
.sec{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
     box-shadow:var(--shadow);padding:22px 24px;margin:0 0 22px;scroll-margin-top:90px}
.sec h2{display:flex;align-items:center;gap:10px;font-size:21px;margin:0 0 6px;color:var(--gray-900)}
.sec h2 .num{flex:0 0 auto;width:30px;height:30px;border-radius:9px;background:var(--brand);color:#fff;
             display:grid;place-items:center;font-size:15px;font-weight:700}
.sec p{margin:8px 0;color:var(--gray-700)}
.tip{margin-top:12px;padding:10px 14px;background:#eef7ee;border-left:4px solid var(--accent);
     border-radius:8px;color:#2c5c2c;font-size:14.5px}
.club{margin-top:10px;padding:9px 14px;border:1px dashed var(--border);border-radius:8px;
      color:var(--gray-500);font-size:13.5px}

/* tarjeta de rol */
.rol{border-top:1px solid var(--border);padding:20px 0 4px;scroll-margin-top:90px}
.rol:first-of-type{border-top:0;padding-top:6px}
.rol header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rol h3{margin:0;font-size:18px;color:var(--gray-900);flex:1}
.chip{flex:0 0 auto;min-width:28px;height:28px;padding:0 8px;border-radius:8px;background:#e9f1f1;
      color:var(--brand);font-weight:800;font-size:13px;display:grid;place-items:center}
.via{flex:0 0 auto;color:#fff;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:999px;
     letter-spacing:.2px}
.vA{background:var(--vA)}.vB{background:var(--vB)}.vC{background:var(--vC)}
.vD{background:var(--vD)}.vE{background:var(--vE)}.vF{background:var(--vF)}
.rsub{color:var(--gray-500);font-size:13.5px;margin-top:4px}
.meta{display:flex;gap:10px;margin:12px 0 4px;flex-wrap:wrap}
.meta > div{flex:1 1 150px;background:var(--surface);border-radius:10px;padding:8px 12px;
            font-size:14px;font-weight:600;color:var(--gray-900)}
.meta span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.6px;
           color:var(--gray-500);font-weight:700;margin-bottom:2px}
ol.pasos{margin:10px 0 0;padding-left:22px;color:var(--gray-700)}
ol.pasos li{margin:7px 0}
ol.pasos b{color:var(--gray-900)}
ol.pasos span{color:var(--gray-700)}

/* carriles del menor */
.lanes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.lane{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}
.lane .h{padding:8px 12px;color:#fff;font-weight:700;font-size:13.5px}
.lane ol{margin:0;padding:12px 12px 12px 28px;color:var(--gray-700);font-size:14px}
.lane li{margin:6px 0}

table{width:100%;border-collapse:collapse;font-size:14px;margin-top:8px}
th{text-align:left;background:var(--surface);color:var(--brand);font-size:11.5px;text-transform:uppercase;
   letter-spacing:.5px;padding:9px 10px;border-bottom:2px solid var(--border)}
td{padding:8px 10px;border-bottom:1px solid var(--border);color:var(--gray-700);vertical-align:top}
td.c{text-align:center}

footer{max-width:var(--maxw);margin:0 auto;padding:26px 20px;color:var(--gray-500);font-size:13px;text-align:center}

@media (max-width:860px){
  .wrap{grid-template-columns:1fr;padding:16px}
  .side{display:none}
  .lanes{grid-template-columns:1fr}
  .meta > div{flex:1 1 100%}
  /* en móvil el botón flotante queda sobre el logo: se recupera el padding */
  .hb__in{padding:14px 16px;flex-wrap:wrap;margin-top:44px}
  .hb__logo{font-size:17px}
}
