/* =====================================================================
   HORUS — Paneles (docente / admin / estudiante)
   ===================================================================== */

.panel-layout { display: flex; min-height: calc(100vh - 70px); }
.panel-sidebar {
    width: 250px; flex-shrink: 0; background: var(--card-bg); border-right: 1px solid var(--linea);
    padding: 24px 16px; position: sticky; top: 70px; align-self: flex-start;
    height: calc(100vh - 70px); overflow-y: auto;
}
.panel-sidebar .rol-tag { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--accent-lime); margin-bottom: 18px; display: block; }
.panel-nav-link {
    display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 10px;
    color: var(--texto-muted) !important; text-decoration: none; font-weight: 500; font-size: .9rem; margin-bottom: 4px;
}
.panel-nav-link:hover { background: var(--card-bg-alt); color: var(--border-color) !important; }
.panel-nav-link.activo { background: var(--accent-lime); color: #10131f !important; font-weight: 600; }
.panel-nav-link i { width: 20px; text-align: center; }

.panel-contenido { flex-grow: 1; padding: 32px; max-width: 100%; overflow-x: hidden; }

.stat-card { background: var(--card-bg); border: 1px solid var(--linea); border-radius: var(--radio-md); padding: 18px 20px; display: flex; align-items: center; gap: 14px; }
.stat-card .stat-icono { width: 46px; height: 46px; border-radius: 12px; background: var(--accent-lime); color: #10131f; display: flex; align-items: center; justify-content: center; font-size: 1.25rem; flex-shrink: 0; }
.stat-card .stat-valor { font-weight: 700; font-size: 1.6rem; line-height: 1; font-family: 'Space Grotesk', sans-serif; color: var(--border-color); }
.stat-card .stat-label { font-size: .74rem; font-weight: 500; color: var(--texto-muted); text-transform: uppercase; letter-spacing: .03em; }

.tabla-brutal { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--card-bg); border: 1px solid var(--linea); border-radius: var(--radio-md); overflow: hidden; }
.tabla-brutal th { background: var(--card-bg-alt); color: var(--texto-muted); text-align: left; padding: 12px 14px; font-size: .74rem; text-transform: uppercase; letter-spacing: .03em; font-weight: 600; }
.tabla-brutal td { padding: 13px 14px; border-top: 1px solid var(--linea); font-weight: 500; font-size: .9rem; vertical-align: middle; color: var(--border-color); }
.tabla-brutal tr:hover td { background: var(--card-bg-alt); }

.builder-lista { list-style: none; margin: 0; padding: 0; }
.builder-item {
    display: flex; align-items: center; gap: 12px; background: var(--card-bg); border: 1px solid var(--linea);
    border-radius: var(--radio-sm); padding: 11px 14px; margin-bottom: 8px; cursor: grab; color: var(--border-color);
}
.builder-item .drag-handle { color: var(--texto-tenue); cursor: grab; }
.builder-item .orden-num { width: 26px; height: 26px; border-radius: 50%; background: var(--accent-yellow); color: #10131f; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: .8rem; flex-shrink: 0; }

@media (max-width: 900px) {
    .panel-layout { flex-direction: column; }
    .panel-sidebar { width: 100%; height: auto; position: static; display: flex; overflow-x: auto; gap: 6px; border-right: none; border-bottom: 1px solid var(--linea); }
    .panel-sidebar .rol-tag { display: none; }
    .panel-nav-link { white-space: nowrap; }
}
