:root {
    --bg-dark: #121212;
    --card-dark: #1e1e1e;
    --text-main: #ffffff;
    --text-muted: #b0b0b0;
    --accent: #bb86fc;
    --sidebar-width: 260px;
}

* { margin: 0; padding: 0; box-box-sizing: border-box; }

body {
    font-family: 'Inter', system-ui, sans-serif;
    background-color: var(--bg-dark);
    color: var(--text-main);
    display: flex;
    min-height: 100vh;
}

/* Sidebar */
.sidebar {
    width: var(--sidebar-width);
    background-color: var(--card-dark);
    height: 100vh;
    position: fixed;
    padding: 2rem 1rem;
    border-right: 1px solid #333;
}

.sidebar h2 {
    color: var(--accent);
    margin-bottom: 2rem;
    text-align: center;
    font-size: 1.5rem;
}

.sidebar nav a {
    display: block;
    color: var(--text-muted);
    text-decoration: none;
    padding: 0.8rem 1rem;
    margin-bottom: 0.5rem;
    border-radius: 8px;
    transition: 0.3s;
}

.sidebar nav a:hover {
    background-color: #333;
    color: var(--accent);
}

/* Main Content */
.main-wrapper {
    margin-left: var(--sidebar-width);
    padding: 2rem;
    width: 100%;
}

.card {
    background-color: var(--card-dark);
    padding: 1.5rem;
    border-radius: 12px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.3);
}

/* Estilos para Formularios y Tablas */
.form-group { margin-bottom: 1.5rem; }
label { display: block; margin-bottom: 0.5rem; color: var(--accent); }
input, select {
    width: 100%; padding: 0.8rem;
    background: #2a2a2a; border: 1px solid #444;
    color: white; border-radius: 5px;
}
.btn-save {
    background-color: var(--accent); color: var(--bg-dark);
    padding: 0.8rem 1.5rem; border: none; border-radius: 5px;
    cursor: pointer; font-weight: bold; transition: 0.3s;
}
.btn-save:hover { opacity: 0.8; }

table { width: 100%; border-collapse: collapse; margin-top: 2rem; background: var(--card-dark); }
table th, table td { padding: 1rem; text-align: left; border-bottom: 1px solid #333; }
table th { color: var(--accent); }


/* Responsive */
@media (max-width: 768px) {
    body { flex-direction: column; }
    .sidebar {
        width: 100%;
        height: auto;
        position: relative;
        padding: 1rem;
    }
    .main-wrapper { margin-left: 0; }
}