/* Ñande Factura: petróleo #123E3A y menta #75DFC0.
   La menta lleva texto oscuro; los acentos de texto en tema claro usan petróleo.
   No redefine colores semánticos de errores, advertencias o estados. */
:root {
    --brand-petroleum: #123e3a;
    --brand-mint: #75dfc0;
    --brand-ink: #0b2926;
    --brand-accent-text: #75dfc0;
    /* Shared dark scale: branding stays petroleum/mint, work surfaces are quieter. */
    --ui-dark-page: #0d161a;
    --ui-dark-surface: #162328;
    --ui-dark-soft: #1e2e34;
    --ui-dark-field: #101c21;
    --ui-dark-line: #2b4047;
    --ui-dark-control-line: #587078;
    --ui-dark-text: #e6efed;
    --ui-dark-muted: #a7b9b8;
    --ui-dark-nav: #111e23;
    --brand-surface: var(--ui-dark-surface);
    --brand-page: var(--ui-dark-page);
    --color-primario: #75dfc0 !important;
    --color-secundario: #123e3a !important;
    --color-terciario: #0b2926 !important;
    --primary-color: #123e3a !important;
    --secondary-color: #1b5b54 !important;
    --primary-gradient: linear-gradient(135deg,#123e3a,#1b5b54) !important;
    --bs-primary: #123e3a;
    --bs-primary-rgb: 18,62,58;
}
html.light, html[data-contabilidad-theme="light"] {
    --brand-accent-text: #123e3a;
    --brand-surface: #ffffff;
    --brand-page: #f3f9f7;
}
html body .system-brand-logo {
    display: block;
    width: 180px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    flex-shrink: 0;
    background: #fff;
    border-radius: 10px;
    padding: 6px 10px;
}
html body .system-brand-logo.brand-login { width: 230px; margin: 0 auto 12px; }
html body .system-brand-logo.brand-mobile { width: 156px; }
html body .system-brand-logo.brand-watermark { width: 142px; }
html body .system-brand-logo.brand-navbar { width: 135px; }
html body #sidebar .sidebar-brand { justify-content: center; }
html body #sidebar { background-color: var(--brand-surface) !important; }
html body.bg-darker { background-color: var(--brand-page) !important; }
html body.bg-gray-50 { background-color: #f3f9f7 !important; --brand-accent-text: #123e3a; }
html body .text-primary, html body #sidebar .text-primary { color: var(--brand-accent-text) !important; }
html body .bg-primary, html body #sidebar .bg-primary { background-color: var(--brand-mint) !important; color: var(--brand-ink) !important; }
html body .bg-primary > :is(span,i,svg) { color: inherit !important; }
html body .btn-primary { background: var(--brand-petroleum) !important; border-color: var(--brand-petroleum) !important; color: #fff !important; }
html body .btn-primary:hover { background: #1b5b54 !important; }
html body .btn-primary :is(span,i,svg) { color: #fff !important; }
html body .btn-outline-primary { border-color: var(--brand-petroleum) !important; color: var(--brand-petroleum) !important; }
html body .btn-outline-primary:hover { background: var(--brand-petroleum) !important; color: #fff !important; }
html body .border-primary { border-color: var(--brand-mint) !important; }
html body :is(input[type=checkbox],input[type=radio]) { accent-color: #23836c; }
html body .main-navbar { background: var(--primary-gradient) !important; }
html body .tech-bg { background: linear-gradient(135deg,#081d1b,#123e3a 55%,#0b2926); }
html body > .bg { background: linear-gradient(135deg,#081d1b,#123e3a 55%,#0b2926); }
html body .login-card { background-color: #102c29; }
html body :is(.fp-input-group label,.fp-subtitle,.fp-toggle,.fp-forgot,.fp-biometric-label,.fp-biometric-btn,.fp-secure-footer) { color: #a8c4bd; }
html body .fp-input-group .fp-input-icon { color: #a8c4bd; }
html body .wrap :is(.top-subtitle,.panel-desc,.field label,.toggle-label,.field-wrap .fi) { color: #a8c4bd; }
html body .wrap .field-wrap input::placeholder { color: #9ab5ae; }
html body .bg-primary:hover { background-color: #9aead3 !important; }
html body .swal2-confirm:is([style*="#75DFC0"],[style*="#75dfc0"],[style*="117, 223, 192"]) { color: #0b2926 !important; }
.brand-loading-dots { display:flex; align-items:center; justify-content:center; gap:6px; height:16px; }
.brand-loading-dots span { display:block; width:4px; height:4px; border-radius:50%; background:var(--brand-accent-text,#75dfc0); animation:brand-loading-breathe 1.2s ease-in-out infinite; }
.brand-loading-dots span:nth-child(2) { animation-delay:.15s; }.brand-loading-dots span:nth-child(3) { animation-delay:.3s; }
@keyframes brand-loading-breathe { 0%,70%,100% { opacity:.25; transform:scale(.85); } 35% { opacity:1; transform:scale(1.15); } }
@media(prefers-reduced-motion:reduce) { .brand-loading-dots span { animation:none !important; opacity:.65; } }
@media (max-width: 600px) {
    html body .login-card, html body .login-page { background-color: #081d1b; }
}
html body #splash { background-color: #081d1b; }
html body .splash-icon-wrap:has(.system-brand-logo) { width: 240px; height: auto; margin-bottom: 16px; }
html body .splash-icon-wrap:has(.system-brand-logo) :is(.splash-icon-ring,.splash-icon-ring-2) { display: none; }
html body .splash-icon-wrap .system-brand-logo { width: 240px; }
@media print {
    .system-brand-logo { print-color-adjust: exact; }
}
