:root {
    --sidebar-width: 240px;
    --topbar-height: 56px;
    --brand: #c9a227;
    --brand-dark: #a47f15;
    --bg: #f5f6f8;
}

body { background: var(--bg); }

/* Login */
.auth-body {
    min-height: 100vh;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(180deg, #1f2937 0%, #111827 100%);
    padding: 1rem;
}
.auth-card {
    width: 100%; max-width: 380px;
    background: #fff; border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 10px 30px rgba(0,0,0,.2);
}

/* Shell */
.app-shell { display: flex; min-height: 100vh; }
.app-sidebar {
    width: var(--sidebar-width);
    background: #1f2937; color: #cbd5e1;
    padding: 1.25rem 0;
    position: sticky; top: 0; height: 100vh; overflow-y: auto;
}
.app-sidebar .brand { padding: 0 1.25rem 1.25rem; color: #fff; }
.app-sidebar .nav-section {
    font-size: .7rem; text-transform: uppercase; letter-spacing: .08em;
    color: #94a3b8; padding: 1rem 1.25rem .25rem;
}
.app-sidebar .nav-link {
    color: #cbd5e1; padding: .5rem 1.25rem; font-size: .9rem;
    display: flex; align-items: center; gap: .6rem;
}
.app-sidebar .nav-link:hover { background: #111827; color: #fff; }
.app-sidebar .nav-link.active { background: var(--brand); color: #1f2937; }

.app-main { flex: 1; display: flex; flex-direction: column; }
.app-topbar {
    height: var(--topbar-height);
    background: #fff; border-bottom: 1px solid #e5e7eb;
    display: flex; align-items: center; padding: 0 1.5rem;
}
.app-content { padding: 1.5rem; }

.stat-card { border: 1px solid #e5e7eb; }

/* Tablas con acciones */
.table .btn-group-sm .btn { padding: .25rem .4rem; }
.table form { margin: 0; }
