:root{
  --border:#e5e7eb;
  --muted:#6b7280;
  --primary:#1f5cff;
  --bg:#f9fafb;
}

body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:#111}
.wrap{width:min(1100px,92%);margin-inline:auto}

/* Header */
.fa-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);z-index:10}
.fa-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:inherit;padding:.2rem 0}
.brand .logo{display:block;height:44px;max-width:220px;width:auto;object-fit:contain}
.search{display:flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:.3rem .6rem}
.search input{border:0;outline:0;padding:.3rem .5rem}
.right{display:flex;gap:1rem;align-items:center}
.user-name{font-weight:600;color:var(--primary)}

/* Resumen Layout */
.resumen{padding:2rem 0}
.resumen h1{margin-bottom:1.2rem}
.resumen-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}

/* Lista */
.listado{background:#fff;border-radius:12px;padding:1rem;border:1px solid var(--border);box-shadow:0 4px 16px rgba(0,0,0,.05)}
.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}
#course-list{list-style:none;margin:0;padding:0;max-height:500px;overflow-y:auto}
#course-list li{display:flex;justify-content:space-between;align-items:center;background:#f9fafb;border:1px solid var(--border);padding:.8rem 1rem;border-radius:10px;margin-bottom:.6rem;cursor:pointer;transition:.2s}
#course-list li:hover{background:#eef2ff}
.course-title{font-weight:600}
.course-date{color:var(--muted);font-size:.9rem}

/* Detalle */
.detalle{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1.2rem;box-shadow:0 6px 18px rgba(0,0,0,.06)}
.detalle h2{margin-top:0}
.detalle p{color:#333;line-height:1.5}
.detalle a{color:var(--primary);font-weight:600}

/* Footer */
.fa-footer{background:#78cfd4;color:#fff;margin-top:2rem}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding:.8rem 0}
.legal{display:flex;gap:1rem}
.legal a{color:#fff;text-decoration:none;opacity:.9}
