:root {
    --rc-azul: #0f3d68;
    --rc-azul-2: #165a96;
    --rc-acento: #19a974;
    --rc-fondo: #f3f6f9;
}
body { background: var(--rc-fondo); font-size: .925rem; }
.rc-sidebar {
    width: 240px; height: 100vh; overflow-y: auto; background: var(--rc-azul); position: fixed; top: 0; left: 0; z-index: 1030;
    display: flex; flex-direction: column;
}
.rc-sidebar .marca { color: #fff; padding: 1.1rem 1.25rem; font-weight: 700; letter-spacing: .5px; border-bottom: 1px solid rgba(255,255,255,.1); }
.rc-sidebar .marca small { display: block; font-weight: 400; font-size: .72rem; opacity: .7; letter-spacing: 0; }
.rc-sidebar .nav-link { color: rgba(255,255,255,.78); padding: .55rem 1.25rem; border-left: 3px solid transparent; }
.rc-sidebar .nav-link:hover { color: #fff; background: rgba(255,255,255,.06); }
.rc-sidebar .nav-link.active { color: #fff; background: rgba(255,255,255,.1); border-left-color: var(--rc-acento); }
.rc-sidebar .nav-link i { width: 1.4rem; display: inline-block; }
.rc-sidebar .seccion { color: rgba(255,255,255,.45); font-size: .7rem; text-transform: uppercase; padding: 1rem 1.25rem .3rem; letter-spacing: 1px; }
.rc-main { margin-left: 240px; min-height: 100vh; }
.rc-topbar { background: #fff; border-bottom: 1px solid #e3e8ee; padding: .6rem 1.5rem; }
.rc-contenido { padding: 1.5rem; }
.card { border: 1px solid #e3e8ee; box-shadow: 0 1px 2px rgba(16,24,40,.04); }
.card-header { background: #fff; font-weight: 600; }
.kpi { border-radius: .5rem; }
.kpi .valor { font-size: 1.7rem; font-weight: 700; color: var(--rc-azul); line-height: 1.1; }
.kpi .etiqueta { color: #6b7785; font-size: .8rem; }
.kpi i { font-size: 1.6rem; color: var(--rc-azul-2); opacity: .8; }
.btn-primary { background: var(--rc-azul-2); border-color: var(--rc-azul-2); }
.btn-primary:hover { background: var(--rc-azul); border-color: var(--rc-azul); }
.mono { font-family: SFMono-Regular, Menlo, Consolas, monospace; font-size: .82rem; }
.clave-corta { font-family: SFMono-Regular, Menlo, Consolas, monospace; font-size: .78rem; }
.login-fondo { min-height: 100vh; background: linear-gradient(135deg, var(--rc-azul) 0%, var(--rc-azul-2) 100%); }
.login-card { max-width: 410px; width: 100%; }
.token-box { background: #0f172a; color: #e2e8f0; border-radius: .4rem; padding: .6rem .8rem; word-break: break-all; }
.campo-error .form-control, .campo-error .form-select { border-color: #dc3545; }
pre.codigo { background: #0f172a; color: #e2e8f0; padding: .9rem 1rem; border-radius: .4rem; font-size: .8rem; white-space: pre-wrap; }
table.table th a { color: inherit; text-decoration: none; }
@media (max-width: 991px) {
    .rc-sidebar { position: static; width: 100%; height: auto; }
    .rc-main { margin-left: 0; }
}
