```
**Sidebar specs:**
- Width: `260px`
- Background: `#0f0f0f` (slightly darker than main bg)
- Border: `border-r border-white/[0.08]`
- Logo height: `h-16` (64px)
- Nav item padding: `px-3 py-2.5`
- Icon container: `h-8 w-8 rounded-lg`
- Active state: gradient background + green dot indicator
- Sign out: red accent on hover
---
### Card Morphism (Hover Effects)
Los cards tienen un efecto "glass morphism" con transiciones suaves en hover. Estos son los estados:
#### Estado Normal (Sin Hover)
```css
.card {
/* Fondo con gradiente sutil - da profundidad */
background: linear-gradient(
135deg,
rgba(255, 255, 255, 0.05) 0%, /* esquina superior izq: más claro */
rgba(255, 255, 255, 0.02) 50%, /* centro: medio */
rgba(255, 255, 255, 0.01) 100% /* esquina inferior der: casi invisible */
);
/* Borde sutil */
border: 1px solid rgba(255, 255, 255, 0.08);
/* Glass effect */
backdrop-filter: blur(10px);
/* Bordes redondeados */
border-radius: 16px;
/* Posición relativa para el pseudo-elemento */
position: relative;
overflow: hidden;
/* Transición suave para TODAS las propiedades */
transition: all 300ms ease;
}
/* Línea de highlight en el borde superior */
.card::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(
90deg,
transparent 0%,
rgba(255, 255, 255, 0.2) 50%, /* Centro más brillante */
transparent 100%
);
transition: all 300ms ease;
}
```
#### Estado Hover
```css
.card:hover {
/* 1. Borde más visible */
border-color: rgba(255, 255, 255, 0.15); /* 0.08 → 0.15 */
/* 2. Se eleva levemente */
transform: translateY(-2px);
/* 3. Sombra profunda + glow sutil */
box-shadow:
0 20px 40px -15px rgba(0, 0, 0, 0.5), /* sombra oscura hacia abajo */
0 0 30px -10px rgba(255, 255, 255, 0.1); /* glow blanco sutil */
}
/* La línea del top se intensifica en hover */
.card:hover::before {
background: linear-gradient(
90deg,
transparent 0%,
rgba(255, 255, 255, 0.4) 50%, /* 0.2 → 0.4 (más brillante) */
transparent 100%
);
}
```
#### Resumen Visual del Morphism
| Propiedad | Normal | Hover | Efecto |
|-----------|--------|-------|--------|
| Border opacity | `0.08` | `0.15` | Borde más definido |
| Transform | `none` | `translateY(-2px)` | Se "levanta" |
| Shadow | `none` | Deep shadow + glow | Profundidad |
| Top line | `0.2 opacity` | `0.4 opacity` | Brilla más |
#### Tailwind Implementation
```jsx
// Card con hover morphism completo
{/* Línea de highlight superior */}
{/* Contenido */}
```
---
### Stat Card (Usando el Morphism)
```css
.stat-card {
/* Aplica todo el morphism de arriba + */
padding: 24px; /* p-6 */
}
```
El stat-card usa la clase `.stat-card` definida en `globals.css` que incluye todos los efectos de morphism automáticamente.
```jsx
// Uso simple
{/* El hover ya está incluido */}
```
### Data Card
```css
.data-card {
background: rgba(255, 255, 255, 0.02);
border: 1px solid rgba(255, 255, 255, 0.06);
border-radius: 16px; /* rounded-2xl */
overflow: hidden;
transition: all 200ms ease;
}
.data-card:hover {
border-color: rgba(255, 255, 255, 0.10);
}
```
El data-card es más sutil - solo cambia el borde en hover, sin elevación.
### Icon Container
```jsx
// Neutral
// Colored (e.g., blue)
```
### Badges
```jsx
// Role/Status Badge
STUDENT
// Pill Badge (Live indicator)
Live
```
### Avatar
```jsx
// Gradient avatar based on name
const colors = [
"from-blue-500 to-blue-600",
"from-purple-500 to-purple-600",
"from-emerald-500 to-emerald-600",
"from-amber-500 to-amber-600",
"from-pink-500 to-pink-600",
];
const colorIndex = name ? name.charCodeAt(0) % colors.length : 0;
{name?.charAt(0).toUpperCase()}
```
### Input Fields
```jsx
```
### Buttons
```jsx
// Primary (white)
// Ghost
```
---
## Tables
Las tablas usan un contenedor `data-card` con hover en las filas.
### Estructura Completa
```jsx
{/* Contenedor - usa data-card */}
```
---
## Key Principles
1. **Subtlety** - Use low opacity values (0.02-0.10 for backgrounds, 0.04-0.08 for borders)
2. **Hierarchy** - Clear visual hierarchy with text opacity levels
3. **Color accents** - Colored elements use gradient backgrounds with matching text/border
4. **Smooth transitions** - 200-300ms transitions on all interactive elements
5. **Consistent spacing** - Use Tailwind spacing scale consistently
6. **Glass effect** - Subtle backdrop blur and transparency
7. **Hover feedback** - Scale, glow, or color change on hover