/* =============================================================================
 * CORE-ALODIGA MODERN HYBRID THEME (CYBER DARK NAVIGATIONS + ULTRA-MODERN WHITE CARDS)
 * =============================================================================
 */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

/* Global Font & Smooth Cyber Watermark Background (IA, Transacciones, Seguridad) */
*, *::before, *::after {
    box-sizing: border-box;
}

body, html {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    background: linear-gradient(135deg, #e2e8f0 0%, #f1f5f9 45%, #e0f2fe 100%) fixed !important;
    color: #0f172a !important;
    min-height: 100vh;
    margin: 0;
    padding: 0;
    position: relative;
}

/* Authentic High-Contrast PCB Circuit Board Trace Watermark Pattern */
body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    opacity: 0.70;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400' viewBox='0 0 400 400'%3E%3Cg fill='none' stroke='%23334155' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 30 H80 L120 70 V150 L140 170 H250 L290 130 V30 H400'/%3E%3Cpath d='M0 50 H70 L110 90 V140 L130 160 H260 L300 120 V50 H400'/%3E%3Cpath d='M0 70 H60 L100 110 V130 L120 150 H270 L310 110 V70 H400'/%3E%3Cpath d='M30 0 V80 L70 120 H150 L170 140 V250 L130 290 H30 V400'/%3E%3Cpath d='M50 0 V70 L80 100 H140 L160 120 V260 L120 300 H50 V400'/%3E%3Cpath d='M70 0 V60 L90 80 H130 L150 100 V270 L110 310 H70 V400'/%3E%3Cpath d='M400 230 H310 L270 190 V170 L250 150 H170 L130 190 V310 H0'/%3E%3Cpath d='M400 250 H320 L280 210 V180 L260 160 H180 L140 200 V320 H0'/%3E%3Cpath d='M400 270 H330 L290 230 V190 L270 170 H190 L150 210 V330 H0'/%3E%3Cpath d='M370 400 V330 L330 290 H250 L230 270 V150 L270 110 H370 V0'/%3E%3Cpath d='M350 400 V340 L320 310 H260 L240 290 V160 L280 120 H350 V0'/%3E%3Cpath d='M330 400 V350 L310 330 H270 L250 310 V170 L290 130 H330 V0'/%3E%3Cpath d='M0 190 L60 250 H110 L160 200 V110 L210 60 H290 L340 110 V190 L290 240 H190 L140 290 V340 L190 390'/%3E%3Cpath d='M190 0 L240 50 V110 L190 160 H110 L60 210 V290 L110 340 H240 L290 290 V210 L340 160 H400'/%3E%3Ccircle cx='80' cy='30' r='3.5' fill='%23334155'/%3E%3Ccircle cx='120' cy='70' r='3.5' fill='%23334155'/%3E%3Ccircle cx='250' cy='170' r='3.5' fill='%23334155'/%3E%3Ccircle cx='290' cy='130' r='3.5' fill='%23334155'/%3E%3Ccircle cx='70' cy='50' r='3.5' fill='%23334155'/%3E%3Ccircle cx='260' cy='160' r='3.5' fill='%23334155'/%3E%3Ccircle cx='70' cy='120' r='3.5' fill='%23334155'/%3E%3Ccircle cx='170' cy='140' r='3.5' fill='%23334155'/%3E%3Ccircle cx='270' cy='190' r='3.5' fill='%23334155'/%3E%3Ccircle cx='130' cy='190' r='3.5' fill='%23334155'/%3E%3Ccircle cx='310' cy='270' r='3.5' fill='%23334155'/%3E%3Ccircle cx='230' cy='270' r='3.5' fill='%23334155'/%3E%3Ccircle cx='270' cy='110' r='3.5' fill='%23334155'/%3E%3Ccircle cx='60' cy='250' r='3.5' fill='%23334155'/%3E%3Ccircle cx='110' cy='160' r='3.5' fill='%23334155'/%3E%3Ccircle cx='290' cy='240' r='3.5' fill='%23334155'/%3E%3Ccircle cx='240' cy='50' r='3.5' fill='%23334155'/%3E%3Ccircle cx='340' cy='160' r='3.5' fill='%23334155'/%3E%3Ccircle cx='140' cy='70' r='3.5' fill='%23334155'/%3E%3Ccircle cx='240' cy='110' r='3.5' fill='%23334155'/%3E%3Ccircle cx='310' cy='130' r='3.5' fill='%23334155'/%3E%3Ccircle cx='270' cy='250' r='3.5' fill='%23334155'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: repeat;
    background-size: 320px 320px;
    background-position: center;
}

/* Force 100% transparency on root layout containers so PCB background shows around cards */
#wrapper,
#main,
.container-fluid,
.content-container,
.main-content,
#mifos-reskin-body-view,
#mifos-reskin-ui-container,
#mifos-reskin-body-container,
div[ng-view],
div[data-ng-view],
.gray-bg,
#page-wrapper {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    position: relative !important;
    z-index: 1 !important;
}

/* =============================================================================
 * 1. TOP NAVIGATION BAR (FORCE OVERRIDE BOOTSTRAP & RESKIN LIGHT THEMES)
 * =============================================================================
 */
#mifos-reskin-header-nav,
#mifos-reskin-header-nav nav,
.navbar,
.navbar-default,
.navbar-inner,
.navbar-fixed-top,
.navbar-static-top,
header {
    background: linear-gradient(135deg, #0b1329 0%, #0f172a 100%) !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35) !important;
    margin-bottom: 0 !important;
    padding: 2px 10px !important;
}

/* Brand Logo Text in Header */
.navbar-brand, #mifos-reskin-header-nav .brand, #mifos-reskin-header-nav .logo {
    color: #00e699 !important;
    font-weight: 800 !important;
    font-size: 18px !important;
    letter-spacing: -0.5px !important;
    text-shadow: 0 0 15px rgba(0, 230, 153, 0.4) !important;
    padding: 3px 15px 3px 10px !important;
    display: flex !important;
    align-items: center !important;
}

.navbar-brand img, #mifos-reskin-header-nav img {
    height: 52px !important;
    max-height: 54px !important;
    width: auto !important;
    margin-top: 0 !important;
    object-fit: contain !important;
}

/* All Links in Top Header - Unified Cyber Design */
.navbar-default .navbar-nav > li > a,
#mifos-reskin-header-nav a,
.navbar .nav > li > a {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
    padding: 15px 10px !important;
    transition: all 0.2s ease-in-out !important;
    text-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
}

.navbar-default .navbar-nav > li > a i {
    font-size: 14px !important;
    opacity: 0.9 !important;
    color: #ffffff !important;
    transition: color 0.2s ease !important;
}

/* Nav Links Hover & Active States */
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .open > a,
#mifos-reskin-header-nav a:hover {
    color: #00e699 !important;
    background: rgba(0, 230, 153, 0.14) !important;
    border-radius: 8px !important;
    text-shadow: 0 0 10px rgba(0, 230, 153, 0.4) !important;
}

.navbar-default .navbar-nav > li > a:hover i,
.navbar-default .navbar-nav > li > a:focus i {
    color: #00e699 !important;
}

/* Responsive Navigation Bar Drawer & Compact Media Queries */
@media (max-width: 1200px) {
    .navbar-default .navbar-nav > li > a {
        padding: 15px 7px !important;
        font-size: 12.5px !important;
    }
}

@media (max-width: 991px) {
    .navbar-collapse {
        background: #0b1329 !important;
        border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
        padding: 12px 16px !important;
        max-height: 85vh !important;
        overflow-y: auto !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.5) !important;
    }
    .navbar-nav {
        margin: 0 !important;
        float: none !important;
    }
    .navbar-nav > li {
        float: none !important;
        display: block !important;
    }
    .navbar-nav > li > a {
        padding: 12px 14px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
        border-radius: 6px !important;
        font-size: 14px !important;
    }
    .navbar-form {
        margin: 12px 0 !important;
        padding: 0 !important;
        border: none !important;
    }
}

/* User Profile Dropdown Toggle */
#user-dropdown, #user-menu > a, .navbar-right a {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* Caret Arrow Icon */
.caret, .navbar-default .navbar-nav > li > a .caret {
    border-top-color: #ffffff !important;
    border-bottom-color: #ffffff !important;
    transition: transform 0.2s ease !important;
}

/* Dropdown Menus in Top Header - Bulletproof High Contrast Styling */
.dropdown-menu,
.uib-dropdown-menu,
ul.dropdown-menu,
.navbar-default .navbar-nav .open .dropdown-menu,
.navbar-nav > li > .dropdown-menu,
#swatch-menu,
#reports-menu .dropdown-menu,
#preview-menu .dropdown-menu,
#user-menu .dropdown-menu,
.search-panel .dropdown-menu {
    background-color: #0b1329 !important;
    background: #0b1329 !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.6) !important;
    padding: 8px !important;
    margin-top: 6px !important;
}

.dropdown-menu > li > a,
.uib-dropdown-menu > li > a,
.navbar-default .navbar-nav .open .dropdown-menu > li > a,
.navbar-nav > li > .dropdown-menu > li > a,
#swatch-menu > li > a,
.notification-container li a {
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 10px 16px !important;
    border-radius: 8px !important;
    display: block !important;
    text-decoration: none !important;
    transition: all 0.2s ease-in-out !important;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.uib-dropdown-menu > li > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-nav > li > .dropdown-menu > li > a:hover,
#swatch-menu > li > a:hover {
    background-color: rgba(0, 230, 153, 0.18) !important;
    background: rgba(0, 230, 153, 0.18) !important;
    color: #00e699 !important;
    text-shadow: 0 0 10px rgba(0, 230, 153, 0.4) !important;
    transform: translateX(4px) !important;
}

/* Search Box in Top Header */
#search, .navbar-form input {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 10px !important;
    color: #ffffff !important;
    height: 38px !important;
    padding: 8px 16px !important;
    font-size: 13.5px !important;
}

#search::placeholder, .navbar-form input::placeholder {
    color: #94a3b8 !important;
}

#search:focus, .navbar-form input:focus {
    border-color: #00e699 !important;
    box-shadow: 0 0 0 3px rgba(0, 230, 153, 0.25) !important;
    background: rgba(255, 255, 255, 0.15) !important;
}

.search-panel button, .navbar-form button {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
    border-radius: 10px !important;
}

/* Notification Bell Badge */
.numberCircle {
    background: #ef4444 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    box-shadow: 0 0 12px rgba(239, 68, 68, 0.7) !important;
}

/* =============================================================================
 * 2. LEFT SIDEBAR NAVIGATION (DARK CYBER SLEEK)
 * =============================================================================
 */
#mifos-reskin-side-nav, .sidebar-nav, nav#mifos-reskin-side-nav {
    background: linear-gradient(180deg, #0b1329 0%, #0f172a 100%) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 4px 0 25px rgba(0, 0, 0, 0.25) !important;
    width: 220px !important;
}

#mifos-reskin-side-nav .left-nav a,
#mifos-reskin-side-nav .left-nav a.black {
    color: #f8fafc !important;
    font-weight: 500 !important;
    font-size: 13.5px !important;
    padding: 12px 18px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    border-left: 3px solid transparent !important;
}

#mifos-reskin-side-nav .left-nav i {
    color: #38bdf8 !important;
    font-size: 16px !important;
    width: 20px !important;
    text-align: center !important;
    transition: all 0.2s ease !important;
}

#mifos-reskin-side-nav .left-nav a:hover {
    color: #00e699 !important;
    background: rgba(0, 230, 153, 0.12) !important;
    border-left-color: #00e699 !important;
    padding-left: 22px !important;
}

#mifos-reskin-side-nav .left-nav a:hover i {
    color: #00e699 !important;
    transform: scale(1.2);
}

/* =============================================================================
 * 3. INNER CONTENT CONTAINER & MODERN WHITE CARDS ("NUEVO ESTILO MODERNO")
 * =============================================================================
 */
#mifos-reskin-body-view {
    background: transparent !important;
    padding: 28px !important;
}

/* SOLID CRISP WHITE FLOATING CARDS FOR ALL VIEW CONTENT (Z-INDEX 2 ON TOP OF PCB BACKDROP) */
.card,
.well,
.panel,
.modal-content,
.widget,
.app-card,
#expertsearch {
    background-color: #ffffff !important;
    background: #ffffff !important;
    border: 1px solid rgba(203, 213, 225, 0.85) !important;
    border-radius: 20px !important;
    box-shadow: 0 24px 55px -10px rgba(2, 132, 199, 0.22), 0 12px 28px -5px rgba(15, 23, 42, 0.08), 0 0 20px rgba(14, 165, 233, 0.12) !important;
    color: #0f172a !important;
    padding: 28px !important;
    margin-bottom: 24px !important;
    position: relative !important;
    z-index: 2 !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    transform: translateY(-2px) !important;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.card:hover, .well:hover, .panel:hover, .widget:hover, .app-card:hover, #expertsearch:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 34px 70px -12px rgba(2, 132, 199, 0.32), 0 18px 38px -6px rgba(15, 23, 42, 0.12), 0 0 30px rgba(14, 165, 233, 0.22) !important;
}

/* Home Welcome Heading & Typography */
div[ng-view] h1, div[ng-view] h2, div[ng-view] h3 {
    color: #0f172a !important;
    font-weight: 800 !important;
    letter-spacing: -0.6px !important;
}

/* Action Badges & Buttons */
.btn-primary, .btn-info, button.btn-primary, a.btn-primary, .badge-primary {
    background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%) !important;
    border: none !important;
    border-radius: 12px !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    padding: 10px 22px !important;
    box-shadow: 0 6px 18px rgba(37, 99, 235, 0.35) !important;
    transition: all 0.25s ease !important;
}

.btn-primary:hover, button.btn-primary:hover {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
    box-shadow: 0 8px 24px rgba(37, 99, 235, 0.5) !important;
    transform: translateY(-2px);
}

.btn-default {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    color: #1e293b !important;
    border-radius: 12px !important;
    font-weight: 600 !important;
    padding: 10px 20px !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.03) !important;
}

.btn-default:hover {
    background: #f8fafc !important;
    border-color: #94a3b8 !important;
    color: #2563eb !important;
}

/* Modern Input Fields inside Content Views */
.form-control, input[type="text"], input[type="search"], select {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    color: #0f172a !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    transition: all 0.2s ease !important;
}

select option {
    background-color: #0b1329 !important;
    color: #ffffff !important;
    padding: 8px !important;
}

/* Explicit Language Selector & Sub-menu Dropdowns */
.lang-dropdown,
.dropdown-menu,
.uib-dropdown-menu {
    background-color: #0b1329 !important;
    background: #0b1329 !important;
    border: 1px solid rgba(0, 230, 153, 0.4) !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.7) !important;
    padding: 8px 4px !important;
    margin-top: 6px !important;
    z-index: 99999 !important;
}

.lang-dropdown li a,
.lang-dropdown a,
.dropdown-menu > li > a,
.uib-dropdown-menu > li > a {
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 10px 16px !important;
    border-radius: 8px !important;
    display: block !important;
    text-decoration: none !important;
    background: transparent !important;
}

.lang-dropdown li a:hover,
.lang-dropdown a:hover,
.dropdown-menu > li > a:hover,
.uib-dropdown-menu > li > a:hover {
    background-color: rgba(0, 230, 153, 0.25) !important;
    color: #00e699 !important;
}

.form-control:focus, input[type="text"]:focus, select:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18) !important;
    outline: none !important;
}

/* Footer Styling */
footer p {
    color: #64748b !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    margin-top: 35px !important;
}

/* =============================================================================
 * 4. MOBILE & TABLET RESPONSIVE ENGINE (@media max-width: 768px & 480px)
 * =============================================================================
 */
@media (max-width: 768px) {
    /* --- LOGIN RESPONSIVE --- */
    .alodiga-login-wrapper {
        padding: 12px !important;
        align-items: flex-start !important;
        justify-content: center !important;
    }

    .alodiga-login-card {
        flex-direction: column !important;
        width: 100% !important;
        max-width: 450px !important;
        min-height: auto !important;
        margin: 10px auto !important;
        border-radius: 16px !important;
    }

    .alodiga-login-left {
        padding: 28px 22px !important;
        width: 100% !important;
    }

    .alodiga-login-title {
        font-size: 26px !important;
    }

    .alodiga-login-subtitle {
        font-size: 13px !important;
        margin-bottom: 18px !important;
    }

    .alodiga-login-right {
        padding: 20px !important;
        min-height: 180px !important;
        border-left: none !important;
        border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    }

    .alodiga-login-right svg {
        max-width: 180px !important;
        height: auto !important;
    }

    .alodiga-input {
        height: 44px !important;
        font-size: 14px !important;
    }

    .alodiga-btn-primary {
        height: 46px !important;
        font-size: 15px !important;
    }

    /* --- INTERNAL APP MOBILE LAYOUT ENGINE --- */
    #main, #mifos-reskin-ui-container {
        width: 100% !important;
        min-width: 100% !important;
        position: relative !important;
        overflow-x: hidden !important;
    }

    /* Top Navigation Bar on Mobile */
    #mifos-reskin-header-nav,
    #mifos-reskin-header-nav nav,
    .navbar,
    .navbar-default,
    .navbar-fixed-top {
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        min-height: 56px !important;
        z-index: 1050 !important;
        margin-bottom: 0 !important;
    }

    .navbar-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 4px 10px !important;
        width: 100% !important;
    }

    .navbar-brand {
        height: auto !important;
        padding: 4px 0 !important;
        margin: 0 !important;
    }

    .navbar-brand img, #mifos-reskin-header-nav img {
        height: 38px !important;
        max-height: 40px !important;
        width: auto !important;
    }

    .navbar-toggle {
        margin: 0 4px 0 0 !important;
        padding: 8px 10px !important;
        border-color: rgba(0, 230, 153, 0.4) !important;
        background: rgba(0, 230, 153, 0.1) !important;
        border-radius: 8px !important;
    }

    .navbar-toggle .icon-bar {
        background-color: #00e699 !important;
    }

    .navbar-collapse {
        background: #0b1329 !important;
        border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
        max-height: 75vh !important;
        overflow-y: auto !important;
        padding: 10px 15px !important;
        width: 100% !important;
    }

    .navbar-nav {
        margin: 5px 0 !important;
        width: 100% !important;
    }

    .navbar-nav > li {
        float: none !important;
        width: 100% !important;
    }

    .navbar-nav > li > a {
        padding: 12px 14px !important;
        border-radius: 8px !important;
        display: block !important;
    }

    /* Mobile Sidebar Navigation Chips */
    #mifos-reskin-body-container {
        width: 100% !important;
        position: relative !important;
        display: block !important;
    }

    #mifos-reskin-side-nav {
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: auto !important;
        max-height: 220px !important;
        overflow-y: auto !important;
        border-right: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
        box-shadow: none !important;
        float: none !important;
        z-index: 990 !important;
    }

    #mifos-reskin-side-nav .left-nav ul {
        display: flex !important;
        flex-wrap: wrap !important;
        padding: 6px !important;
        margin: 0 !important;
        gap: 6px !important;
    }

    #mifos-reskin-side-nav .left-nav li {
        flex: 1 1 calc(50% - 6px) !important;
        min-width: 130px !important;
        list-style: none !important;
    }

    #mifos-reskin-side-nav .left-nav a {
        padding: 8px 12px !important;
        font-size: 12.5px !important;
        border-radius: 8px !important;
        background: rgba(255, 255, 255, 0.05) !important;
        border-left: none !important;
        justify-content: flex-start !important;
    }

    /* Main Content View on Mobile */
    #mifos-reskin-body-view {
        margin-left: 0 !important;
        padding: 12px 8px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
    }

    /* Modern Crisp White Cards on Mobile */
    .card, .well, .panel, .widget, #expertsearch {
        padding: 16px 12px !important;
        margin-bottom: 16px !important;
        border-radius: 14px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    /* Grid Rows & Columns Reset on Mobile */
    .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    [class*="col-"] {
        width: 100% !important;
        float: none !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Dashboard Headings & Action Buttons */
    div[ng-view] h1, div[ng-view] h2, div[ng-view] h3, .paddedleft {
        font-size: 20px !important;
        padding-left: 0 !important;
        word-break: break-word !important;
    }

    .btn-group, .pull-right, .pull-left {
        float: none !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        margin-top: 10px !important;
        margin-bottom: 10px !important;
        width: 100% !important;
    }

    .btn-group .btn {
        flex: 1 1 auto !important;
        text-align: center !important;
        padding: 8px 12px !important;
        font-size: 13px !important;
    }

    /* Search inputs & forms on Mobile */
    #expert, .form-control, input[type="text"], select {
        width: 100% !important;
        display: block !important;
        margin-bottom: 12px !important;
        box-sizing: border-box !important;
    }

    /* Main Home Logo Image on Mobile */
    #home img, div[ng-view] img.img-responsive {
        max-width: 100% !important;
        height: auto !important;
        max-height: 160px !important;
        margin: 15px auto !important;
    }

    /* Data Tables Horizontal Scroll */
    table, .table, .table-responsive {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
}

@media (max-width: 480px) {
    #mifos-reskin-side-nav .left-nav li {
        flex: 1 1 100% !important;
    }

    .alodiga-login-card {
        max-width: 100% !important;
        margin: 0 !important;
        border-radius: 14px !important;
    }

    .alodiga-login-left {
        padding: 20px 14px !important;
    }

    .alodiga-login-title {
        font-size: 22px !important;
    }
}

/* =============================================================================
 * 5. FUTURISTIC AI ASSISTANT WIDGET STYLES
 * =============================================================================
 */
#alodiga-ai-widget-container {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 99999;
    font-family: 'Inter', sans-serif;
}

.alodiga-ai-trigger-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #0b1329 0%, #0f172a 100%);
    border: 1px solid rgba(0, 230, 153, 0.4);
    border-radius: 30px;
    padding: 8px 18px 8px 8px;
    color: #ffffff;
    cursor: pointer;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4), 0 0 20px rgba(0, 230, 153, 0.25);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.alodiga-ai-trigger-btn:hover {
    transform: translateY(-3px) scale(1.03);
    border-color: #00e699;
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.5), 0 0 30px rgba(0, 230, 153, 0.4);
}

.alodiga-ai-orb {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: radial-gradient(circle, #00e699 0%, #0077cc 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #0b1329;
    box-shadow: 0 0 15px #00e699;
    animation: alodigaOrbPulse 2s infinite alternate;
}

@keyframes alodigaOrbPulse {
    0% { transform: scale(1); box-shadow: 0 0 10px #00e699; }
    100% { transform: scale(1.08); box-shadow: 0 0 22px #00e699, 0 0 35px #38bdf8; }
}

.alodiga-ai-trigger-text {
    font-weight: 700;
    font-size: 14px;
    color: #00e699;
    letter-spacing: -0.2px;
}

.alodiga-ai-panel-box {
    position: absolute;
    bottom: 65px;
    right: 0;
    width: 380px;
    max-width: 90vw;
    height: 540px;
    max-height: 80vh;
    background: rgba(6, 14, 32, 0.96);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(0, 230, 153, 0.35);
    border-radius: 20px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.6), 0 0 40px rgba(0, 230, 153, 0.2);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: all 0.3s ease;
}

.alodiga-hidden {
    display: none !important;
}

.alodiga-ai-header {
    background: linear-gradient(135deg, #0b1329 0%, #1e293b 100%);
    padding: 14px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.alodiga-ai-header-title {
    display: flex;
    align-items: center;
    gap: 12px;
}

.alodiga-ai-avatar {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: rgba(0, 230, 153, 0.15);
    border: 1px solid #00e699;
    color: #00e699;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}

.alodiga-ai-header h4 {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
    color: #ffffff;
    line-height: 1.2;
}

.alodiga-ai-subtitle {
    font-size: 11px;
    color: #00e699;
    font-weight: 600;
}

.alodiga-ai-close-btn {
    background: none;
    border: none;
    color: #94a3b8;
    font-size: 24px;
    cursor: pointer;
}

.alodiga-ai-close-btn:hover {
    color: #ffffff;
}

.alodiga-ai-body {
    flex: 1;
    padding: 14px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.alodiga-ai-guide-card {
    background: rgba(15, 23, 42, 0.8);
    border: 1px solid rgba(56, 189, 248, 0.3);
    border-radius: 14px;
    padding: 14px;
    color: #f1f5f9;
}

.alodiga-ai-guide-head {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #38bdf8;
    font-size: 15px;
    margin-bottom: 8px;
}

.alodiga-ai-card-desc {
    font-size: 13px;
    line-height: 1.45;
    color: #cbd5e1;
    margin-bottom: 10px;
}

.alodiga-ai-steps-box {
    background: rgba(0, 0, 0, 0.25);
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 12.5px;
    margin-bottom: 10px;
}

.alodiga-ai-steps-box ol {
    margin: 6px 0 0 0;
    padding-left: 18px;
    color: #e2e8f0;
}

.alodiga-ai-steps-box li {
    margin-bottom: 4px;
}

.alodiga-ai-speak-btn {
    width: 100%;
    background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);
    border: none;
    color: #ffffff;
    font-weight: 600;
    font-size: 12.5px;
    padding: 8px 12px;
    border-radius: 8px;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.3);
}

.alodiga-ai-speak-btn:hover {
    background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%);
}

.alodiga-ai-chat-history {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 6px;
}

.alodiga-ai-msg {
    padding: 10px 14px;
    border-radius: 12px;
    font-size: 13px;
    line-height: 1.4;
    max-width: 90%;
}

.alodiga-ai-msg.bot {
    background: rgba(0, 230, 153, 0.12);
    border: 1px solid rgba(0, 230, 153, 0.3);
    color: #e2e8f0;
    align-self: flex-start;
}

.alodiga-ai-msg.user {
    background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%);
    color: #ffffff;
    align-self: flex-end;
}

.alodiga-ai-footer {
    padding: 10px 14px 14px 14px;
    background: rgba(11, 19, 41, 0.95);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.alodiga-ai-quick-chips {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding-bottom: 8px;
    margin-bottom: 6px;
}

.alodiga-chip {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #cbd5e1;
    font-size: 11.5px;
    font-weight: 500;
    padding: 4px 10px;
    border-radius: 14px;
    white-space: nowrap;
    cursor: pointer;
}

.alodiga-chip:hover {
    background: rgba(0, 230, 153, 0.2);
    border-color: #00e699;
    color: #00e699;
}

.alodiga-ai-input-group {
    display: flex;
    gap: 8px;
}

.alodiga-ai-input-group input {
    flex: 1;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 10px !important;
    color: #ffffff !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
}

.alodiga-ai-input-group button {
    background: #00e699 !important;
    border: none !important;
    color: #0b1329 !important;
    border-radius: 10px !important;
    padding: 8px 14px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
}

/* =============================================================================
 * 6. QUESTION MARK (?) HELP BADGE STYLES ON ALL SCREENS
 * =============================================================================
 */
.alodiga-screen-help-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-left: 12px !important;
    padding: 4px 12px !important;
    background: linear-gradient(135deg, #0b1329 0%, #1e293b 100%) !important;
    border: 1px solid #00e699 !important;
    border-radius: 20px !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: -0.2px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25), 0 0 10px rgba(0, 230, 153, 0.3) !important;
    vertical-align: middle !important;
    transition: all 0.25s ease-in-out !important;
    outline: none !important;
}

.alodiga-screen-help-badge i {
    color: #00e699 !important;
    font-size: 15px !important;
}

.alodiga-screen-help-badge:hover {
    transform: translateY(-2px) scale(1.05) !important;
    background: linear-gradient(135deg, #00e699 0%, #0077cc 100%) !important;
    color: #0b1329 !important;
    border-color: #ffffff !important;
    box-shadow: 0 6px 18px rgba(0, 230, 153, 0.5) !important;
}

.alodiga-screen-help-badge:hover i {
    color: #0b1329 !important;
}

/* =============================================================================
 * 7. HIGH-TECH PRELOADER OVERLAY & ANIMATIONS
 * =============================================================================
 */
#alodiga-tech-preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: radial-gradient(circle at 50% 40%, #0b1736 0%, #060e20 65%, #030814 100%);
    z-index: 9999999 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    opacity: 1;
    transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

#alodiga-tech-preloader.alodiga-fade-out {
    opacity: 0 !important;
    pointer-events: none !important;
}

.alodiga-preloader-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    max-width: 440px;
    padding: 35px;
}

.alodiga-preloader-logo-box {
    margin-bottom: 25px;
    filter: drop-shadow(0 0 20px rgba(0, 230, 153, 0.4));
}

.alodiga-preloader-logo {
    max-height: 75px;
    width: auto;
}

.alodiga-preloader-radar-box {
    position: relative;
    width: 90px;
    height: 90px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.alodiga-preloader-ring-outer {
    position: absolute;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #00e699;
    border-bottom-color: #38bdf8;
    animation: alodigaPreloadSpin 1.4s linear infinite;
    box-shadow: 0 0 20px rgba(0, 230, 153, 0.4);
}

.alodiga-preloader-ring-inner {
    position: absolute;
    width: 65px;
    height: 65px;
    border-radius: 50%;
    border: 2px solid transparent;
    border-left-color: #00e699;
    border-right-color: #2563eb;
    animation: alodigaPreloadSpinRev 1s linear infinite;
}

.alodiga-preloader-core-icon {
    font-size: 26px;
    color: #00e699;
    text-shadow: 0 0 15px #00e699;
    animation: alodigaPreloadPulse 1.8s ease-in-out infinite;
}

@keyframes alodigaPreloadSpin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes alodigaPreloadSpinRev {
    0% { transform: rotate(360deg); }
    100% { transform: rotate(0deg); }
}

@keyframes alodigaPreloadPulse {
    0%, 100% { transform: scale(0.92); opacity: 0.7; }
    50% { transform: scale(1.12); opacity: 1; }
}

.alodiga-preloader-title {
    font-size: 20px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: 1px;
    margin-bottom: 4px;
    text-shadow: 0 0 15px rgba(255, 255, 255, 0.3);
}

.alodiga-preloader-sub {
    font-size: 11.5px;
    font-weight: 700;
    color: #00e699;
    letter-spacing: 1.5px;
    margin-bottom: 22px;
}

.alodiga-preloader-bar-container {
    width: 280px;
    height: 6px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 14px;
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.alodiga-preloader-bar-fill {
    width: 20%;
    height: 100%;
    background: linear-gradient(90deg, #00e699 0%, #38bdf8 50%, #2563eb 100%);
    border-radius: 10px;
    box-shadow: 0 0 12px #00e699;
    transition: width 0.3s ease;
}

.alodiga-preloader-status {
    font-size: 12.5px;
    color: #94a3b8;
    font-weight: 500;
}

/* =============================================================================
 * 8. CYBER SWEETALERT2 MODAL OVERRIDES & ALERT CHIPS
 * =============================================================================
 */
.swal2-container {
    z-index: 9999999 !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

.swal2-popup.alodiga-swal-popup {
    background: rgba(6, 14, 32, 0.96) !important;
    backdrop-filter: blur(24px) !important;
    -webkit-backdrop-filter: blur(24px) !important;
    border: 1px solid rgba(0, 230, 153, 0.4) !important;
    border-radius: 24px !important;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.7), 0 0 40px rgba(0, 230, 153, 0.25) !important;
    color: #ffffff !important;
    font-family: 'Inter', sans-serif !important;
    padding: 30px !important;
}

.swal2-popup.alodiga-swal-popup .swal2-title {
    color: #ffffff !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    letter-spacing: -0.4px !important;
}

.swal2-popup.alodiga-swal-popup .swal2-html-container {
    color: #cbd5e1 !important;
    font-size: 14.5px !important;
    line-height: 1.5 !important;
}

.swal2-popup.alodiga-swal-popup .swal2-confirm {
    background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%) !important;
    border: none !important;
    border-radius: 12px !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    padding: 12px 28px !important;
    box-shadow: 0 6px 20px rgba(37, 99, 235, 0.4) !important;
}

.swal2-popup.alodiga-swal-popup .swal2-confirm:hover {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
    box-shadow: 0 8px 25px rgba(37, 99, 235, 0.6) !important;
    transform: translateY(-2px);
}

.swal2-popup.alodiga-swal-popup .swal2-cancel {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 12px !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    padding: 12px 24px !important;
}

/* Alert Banner Overrides in Views & Login */
.alert, .alert-danger, .alert-warning, .alert-success, .alert-info {
    border-radius: 14px !important;
    padding: 14px 18px !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
    backdrop-filter: blur(10px) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15) !important;
    border: 1px solid transparent !important;
}

.alert-danger {
    background: rgba(239, 68, 68, 0.15) !important;
    border-color: rgba(239, 68, 68, 0.4) !important;
    color: #fca5a5 !important;
}

.alert-success {
    background: rgba(0, 230, 153, 0.15) !important;
    border-color: rgba(0, 230, 153, 0.4) !important;
    color: #6ee7b7 !important;
}

.alert-info {
    background: rgba(56, 189, 248, 0.15) !important;
    border-color: rgba(56, 189, 248, 0.4) !important;
    color: #93c5fd !important;
}

.alert-warning {
    background: rgba(245, 158, 11, 0.15) !important;
    border-color: rgba(245, 158, 11, 0.4) !important;
    color: #fde047 !important;
}

/* =============================================================================
 * 9. ULTRA-PROFESSIONAL ALIGNED & SEPARATED BUTTON SYSTEM (RESPONSIVE & CLEAN)
 * =============================================================================
 */

/* Top Navigation Bar Items - Modern Cyber Pill Buttons */
#main-menu-left, #main-menu-right {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}

#main-menu-left > li, #main-menu-right > li {
    margin: 0 2px !important;
    list-style: none !important;
}

#main-menu-left > li > a, #main-menu-right > li > a {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 10px !important;
    padding: 7px 14px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
}

#main-menu-left > li > a:hover,
#main-menu-right > li > a:hover,
#main-menu-left > li.open > a,
#main-menu-right > li.open > a,
#main-menu-left > li > a.activate {
    background: rgba(0, 230, 153, 0.16) !important;
    border-color: #00e699 !important;
    color: #00e699 !important;
    box-shadow: 0 0 16px rgba(0, 230, 153, 0.35) !important;
    transform: translateY(-1px) !important;
}

/* Internal System Action Buttons & Button Groups (Perfect Alignment & Gaps) */
.btn,
button.btn,
a.btn,
input[type="button"].btn,
input[type="submit"].btn {
    border-radius: 10px !important;
    padding: 8px 18px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    letter-spacing: -0.2px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 4px 6px !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08) !important;
    vertical-align: middle !important;
    outline: none !important;
}

/* Ensure Button Groups have clean spacing between buttons */
.btn-group {
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 6px 0 !important;
}

.btn-group > .btn,
.btn-group > .btn:first-child,
.btn-group > .btn:last-child {
    border-radius: 10px !important;
    margin-right: 0 !important;
}

.btn-group .btn + .btn {
    margin-left: 0 !important;
}

/* Action Container Toolbar Alignment (.pull-right, .pull-left, .paddedleft, views) */
div[ng-view] .pull-right,
div[ng-view] .pull-left,
div[ng-view] .paddedleft,
.toolbar-container,
.action-buttons-container {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 10px !important;
    margin-bottom: 14px !important;
}

/* Button Variant Themes */
.btn-primary {
    background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 6px 18px rgba(37, 99, 235, 0.35) !important;
}

.btn-primary:hover, .btn-primary:focus {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
    box-shadow: 0 8px 25px rgba(37, 99, 235, 0.55) !important;
    transform: translateY(-2px) !important;
    color: #ffffff !important;
}

.btn-success {
    background: linear-gradient(135deg, #059669 0%, #10b981 100%) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 6px 18px rgba(16, 185, 129, 0.35) !important;
}

.btn-success:hover, .btn-success:focus {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    box-shadow: 0 8px 25px rgba(16, 185, 129, 0.55) !important;
    transform: translateY(-2px) !important;
    color: #ffffff !important;
}

.btn-default {
    background: #ffffff !important;
    color: #1e293b !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}

.btn-default:hover, .btn-default:focus {
    background: #f8fafc !important;
    color: #0284c7 !important;
    border-color: #38bdf8 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(56, 189, 248, 0.25) !important;
}

.btn-warning {
    background: linear-gradient(135deg, #d97706 0%, #f59e0b 100%) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 6px 18px rgba(245, 158, 11, 0.35) !important;
}

.btn-warning:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(245, 158, 11, 0.55) !important;
}

.btn-danger {
    background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 6px 18px rgba(239, 68, 68, 0.35) !important;
}

.btn-danger:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(239, 68, 68, 0.55) !important;
}

.btn-info {
    background: linear-gradient(135deg, #0284c7 0%, #38bdf8 100%) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 6px 18px rgba(56, 189, 248, 0.35) !important;
}

.btn-info:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(56, 189, 248, 0.55) !important;
}

/* Mobile & Tablet Responsive Button Alignment */
@media (max-width: 768px) {
    div[ng-view] .pull-right,
    div[ng-view] .pull-left,
    .btn-group {
        width: 100% !important;
        justify-content: stretch !important;
    }

    .btn, button.btn, a.btn {
        flex: 1 1 auto !important;
        width: 100% !important;
        margin: 4px 0 !important;
    }
}

