/* Aplicación digital de la marca oficial. Cargar después de las demás hojas. */
body { color: var(--brand-ink); background: #F5F6F7; }
h1, h2, h3, h4, h5, h6 { color: var(--brand-ink); }
a { color: var(--brand-accent-ink); }
a:hover { color: var(--brand-ink); }
.sidebar { background: var(--brand-ink) !important; }
.moinsa-nav-header { height: auto; min-height: 112px; padding: 20px 16px !important; background: var(--brand-ink) !important; }
.moinsa-nav-header .container-fluid { padding: 0; }
.moinsa-navbar-brand { display: flex !important; flex-direction: column; align-items: flex-start; gap: 9px; width: 100%; margin: 0; padding: 0; }
.moinsa-nav-lockup { display: block; width: min(100%, 215px); height: auto; }
.moinsa-product-label { color: #C9CED1; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.sidebar .nav-item a.active { background: var(--brand-cyan) !important; color: var(--brand-ink) !important; font-weight: 700; }
.sidebar .nav-item a:hover { background: rgba(0,159,227,.17); color: #fff; }
.nav-section-label { color: #A8B0B5 !important; }
.sidebar .nav-user-avatar { background: #353535 !important; border: 1px solid #626262; }
.brand-mark { flex-direction: column; align-items: flex-start; gap: 12px; }
.moinsa-login-lockup { display: block; width: min(100%, 300px); height: auto; }
.login-intro { background: var(--brand-ink); }
.login-intro::before { background: rgba(0,159,227,.10); }
.intro-eyebrow, .home-eyebrow, .history-detail-page .hero-eyebrow { color: #99D9F4; }
.intro-footer { color: #B3B8BB; }
.home-hero, .detail-page .license-hero, .history-detail-page .history-hero {
    background: radial-gradient(circle at 100% 0, rgba(0,159,227,.16), transparent 65%), var(--brand-ink) !important;
}
.home-hero-brand { width: 250px; padding: 24px 16px; border-radius: 12px; background: rgba(0,0,0,.16); }
.moinsa-home-lockup { width: 100%; height: auto; display: block; }
.home-footer-logo { width: 200px; height: auto; max-height: none; opacity: 1; filter: none; }
.home-button-primary, .home-button-primary:hover { color: var(--brand-ink); }
.home-button-primary { background: var(--brand-cyan); }
.home-button-primary:hover { background: #66C5EE; }
.btn-primary {
    --bs-btn-color: #1D1D1B;
    --bs-btn-bg: #009FE3;
    --bs-btn-border-color: #009FE3;
    --bs-btn-hover-color: #1D1D1B;
    --bs-btn-hover-bg: #66C5EE;
    --bs-btn-hover-border-color: #66C5EE;
    --bs-btn-active-color: #FFFFFF;
    --bs-btn-active-bg: #1D1D1B;
    --bs-btn-active-border-color: #1D1D1B;
    --bs-btn-disabled-color: #1D1D1B;
    --bs-btn-disabled-bg: #99D9F4;
    --bs-btn-disabled-border-color: #99D9F4;
    color: var(--bs-btn-color); background: var(--bs-btn-bg); border-color: var(--bs-btn-border-color);
}
.btn-primary:hover { color: var(--bs-btn-hover-color); background: var(--bs-btn-hover-bg); border-color: var(--bs-btn-hover-border-color); }
.btn-primary:active { color: var(--bs-btn-active-color) !important; background: var(--bs-btn-active-bg) !important; }
.btn-outline-primary { --bs-btn-color: #0074A6; --bs-btn-border-color: #0074A6; --bs-btn-hover-color: #1D1D1B; --bs-btn-hover-bg: #009FE3; --bs-btn-hover-border-color: #009FE3; }
.login-button, .users-page .btn-create { background: var(--brand-cyan) !important; color: var(--brand-ink) !important; }
.login-button:hover, .users-page .btn-create:hover { background: #66C5EE !important; }
.text-primary { color: var(--brand-accent-ink) !important; }
.bg-primary { background: var(--brand-cyan) !important; color: var(--brand-ink); }
.border-primary { border-color: var(--brand-cyan) !important; }
.form-check-input:checked { background-color: var(--brand-accent-ink); border-color: var(--brand-accent-ink); }
.form-control:focus, .form-select:focus { border-color: var(--brand-cyan); box-shadow: 0 0 0 .2rem rgba(0,159,227,.18); }
:focus-visible { outline: 2px solid var(--brand-accent-ink); outline-offset: 3px; }
::selection { color: var(--brand-ink); background: #99D9F4; }
@media (min-width: 641px) { .sidebar .nav-scrollable { height: calc(100vh - 112px); } }
@media (max-width: 640px) {
    .moinsa-nav-header { min-height: 96px; padding-right: 84px !important; }
    .moinsa-nav-lockup { width: 205px; }
    .navbar-toggler { top: 24px; }
    .home-hero-brand { max-width: 100%; }
}
