/**
 * DigiLend - White-Label CSS
 * Company: Golden Kairos Innovations Ltd.
 * Purpose: Complete branding override for Mifos X Community App
 * Deploy: Inject via nginx or mount in Docker container
 */

/* ====================================================================
   COLOR VARIABLES
   ==================================================================== */
:root {
    --golden-primary: #D4AF37;
    --kairos-blue: #1A4D8F;
    --innovation-teal: #00A896;
    --success-green: #4CAF50;
    --dark-navy: #0A2540;
    --light-gold: #F5E6D3;
    --neutral-gray: #F5F7FA;
    --text-dark: #2C3E50;
    --border-light: #E8EDF2;
}

/* ====================================================================
   HIDE ALL MIFOS BRANDING
   ==================================================================== */

/* Hide Mifos text and links */
[class*="mifos"],
[id*="mifos"],
.mifos-logo,
.mifos-brand,
a[href*="mifos.org"],
a[href*="openmf.github.io"],
a[href*="mifos.community"],
footer a[href*="mifos"],
.footer-links a[href*="mifos"] {
    display: none !important;
}

/* CRITICAL: Hide MifosX login form when session expires */
/* This prevents the animated logo from showing before JS redirect */
[data-ng-controller="LoginFormController"]:not(.digilend-login),
.container[data-ng-hide="currentSession.user != null"]:not(.digilend-container),
form[data-ng-submit="submit()"]:not(.digilend-form) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Hide version information */
.version-info,
.rel-version,
[class*="version"],
small:contains("Mifos") {
    display: none !important;
}

/* Hide community links */
a[href*="github.com/openMF"],
a[href*="groups.google.com/forum/#!forum/mifos"],
a[href*="mifos.slack.com"] {
    display: none !important;
}

/* Hide footer completely */
footer,
.footer,
.page-footer,
[role="contentinfo"] {
    display: none !important;
}

/* ====================================================================
   CUSTOM BRANDING - GOLDEN KAIROS INNOVATIONS
   ==================================================================== */

/* Custom Navigation Branding */
.navbar-brand,
.brand-logo,
.app-logo,
.main-logo {
    font-size: 0 !important;
    background-image: none !important;
}

.navbar-brand::before,
.brand-logo::before {
    content: "DigiLend";
    font-family: 'Poppins', 'Inter', sans-serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--golden-primary) !important;
    letter-spacing: -0.5px;
}

.navbar-brand::after,
.brand-logo::after {
    content: "by Golden Kairos Innovations";
    display: block;
    font-size: 11px !important;
    color: rgba(255, 255, 255, 0.9) !important;
    font-weight: 400 !important;
    margin-top: 2px;
    letter-spacing: 0.5px;
}

/* ====================================================================
   NAVIGATION & HEADER STYLING
   ==================================================================== */

.navbar,
.navbar-header,
.navbar-default,
.main-header {
    background: linear-gradient(135deg, var(--kairos-blue) 0%, var(--dark-navy) 100%) !important;
    border-bottom: 3px solid var(--golden-primary) !important;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1) !important;
}

.navbar-nav>li>a {
    color: rgba(255, 255, 255, 0.9) !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
}

.navbar-nav>li>a:hover,
.navbar-nav>li>a:focus {
    color: var(--golden-primary) !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
}

/* ====================================================================
   SIDEBAR STYLING
   ==================================================================== */

.sidebar,
.sidebar-menu,
.main-sidebar,
.left-side {
    background-color: var(--dark-navy) !important;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1) !important;
}

.sidebar-menu li a,
.sidebar-menu .treeview-menu li a {
    color: rgba(255, 255, 255, 0.85) !important;
    transition: all 0.3s ease !important;
    border-left: 4px solid transparent !important;
}

.sidebar-menu li a:hover,
.sidebar-menu li.active>a {
    background-color: rgba(26, 77, 143, 0.5) !important;
    border-left-color: var(--golden-primary) !important;
    color: #ffffff !important;
}

.sidebar-menu li a i {
    color: var(--golden-primary) !important;
}

/* ====================================================================
   LOGIN PAGE STYLING
   ==================================================================== */

.login-page,
.login-container,
body.login {
    background: linear-gradient(135deg, var(--kairos-blue) 0%, var(--innovation-teal) 100%) !important;
    min-height: 100vh;
}

.login-box,
.login-card,
.authentication-wrapper {
    background: #ffffff !important;
    border-radius: 20px !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3) !important;
    padding: 50px 40px !important;
    max-width: 450px;
    margin: 0 auto;
    border: none !important;
}

.login-logo,
.login-header {
    text-align: center;
    margin-bottom: 40px;
}

.login-logo::before {
    content: "DigiLend";
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 36px;
    font-weight: 700;
    color: var(--kairos-blue);
    margin-bottom: 10px;
}

.login-logo::after {
    content: "Empowering Financial Inclusion";
    display: block;
    font-size: 14px;
    color: #666;
    font-weight: 400;
}

/* ====================================================================
   FORM STYLING
   ==================================================================== */

.form-control,
input[type="text"],
input[type="password"],
input[type="email"],
select,
textarea {
    border-radius: 10px !important;
    border: 2px solid var(--border-light) !important;
    padding: 14px 18px !important;
    font-size: 15px !important;
    transition: all 0.3s ease !important;
}

.form-control:focus,
input:focus,
select:focus {
    border-color: var(--kairos-blue) !important;
    box-shadow: 0 0 0 4px rgba(26, 77, 143, 0.1) !important;
    outline: none !important;
}

.form-group label {
    color: var(--text-dark);
    font-weight: 500;
    font-size: 14px;
    margin-bottom: 8px;
}

/* ====================================================================
   BUTTON STYLING
   ==================================================================== */

.btn {
    border-radius: 10px !important;
    padding: 12px 28px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    transition: all 0.3s ease !important;
    text-transform: none !important;
    letter-spacing: 0.3px !important;
    border: none !important;
}

.btn-primary,
button[type="submit"] {
    background: linear-gradient(135deg, var(--kairos-blue) 0%, var(--innovation-teal) 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(26, 77, 143, 0.3) !important;
}

.btn-primary:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(26, 77, 143, 0.4) !important;
}

.btn-success {
    background-color: var(--success-green) !important;
}

.btn-warning {
    background-color: var(--golden-primary) !important;
    color: var(--dark-navy) !important;
}

/* ====================================================================
   DASHBOARD & CARDS
   ==================================================================== */

.content-wrapper,
.main-content {
    background-color: var(--neutral-gray) !important;
}

.card,
.panel,
.box,
.widget {
    border-radius: 16px !important;
    border: none !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
    transition: all 0.3s ease !important;
    background: #ffffff !important;
}

.card:hover,
.panel:hover,
.widget:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12) !important;
    transform: translateY(-4px) !important;
}

.card-header,
.panel-heading,
.box-header {
    background: linear-gradient(135deg, var(--kairos-blue) 0%, var(--dark-navy) 100%) !important;
    color: #ffffff !important;
    border-radius: 16px 16px 0 0 !important;
    padding: 20px !important;
    border-bottom: 3px solid var(--golden-primary) !important;
}

.card-title,
.panel-title,
.box-title {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 18px !important;
    color: #ffffff !important;
}

/* ====================================================================
   TABLE STYLING
   ==================================================================== */

.table {
    border-radius: 12px !important;
    overflow: hidden !important;
}

.table thead,
.table>thead>tr>th {
    background: linear-gradient(135deg, var(--kairos-blue) 0%, var(--dark-navy) 100%) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    letter-spacing: 0.5px !important;
    padding: 16px !important;
}

.table-striped>tbody>tr:nth-of-type(odd) {
    background-color: rgba(212, 175, 55, 0.04) !important;
}

.table>tbody>tr:hover {
    background-color: rgba(26, 77, 143, 0.05) !important;
}

/* ====================================================================
   BADGES & LABELS
   ==================================================================== */

.badge,
.label {
    border-radius: 20px !important;
    padding: 6px 14px !important;
    font-weight: 600 !important;
    font-size: 12px !important;
}

.badge-success,
.label-success {
    background-color: var(--success-green) !important;
}

.badge-primary,
.label-primary {
    background-color: var(--kairos-blue) !important;
}

.badge-warning,
.label-warning {
    background-color: var(--golden-primary) !important;
    color: var(--dark-navy) !important;
}

/* ====================================================================
   BREADCRUMB
   ==================================================================== */

.breadcrumb {
    background-color: transparent !important;
    padding: 15px 0 !important;
}

.breadcrumb>li+li:before {
    content: "›" !important;
    color: var(--golden-primary) !important;
    font-size: 18px !important;
}

.breadcrumb>li>a {
    color: var(--kairos-blue) !important;
    font-weight: 500 !important;
}

.breadcrumb>.active {
    color: var(--text-dark) !important;
    font-weight: 600 !important;
}

/* ====================================================================
   MODALS & DIALOGS
   ==================================================================== */

.modal-content {
    border-radius: 16px !important;
    border: none !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2) !important;
}

.modal-header {
    background: linear-gradient(135deg, var(--kairos-blue) 0%, var(--dark-navy) 100%) !important;
    color: #ffffff !important;
    border-radius: 16px 16px 0 0 !important;
    border-bottom: 3px solid var(--golden-primary) !important;
    padding: 25px 30px !important;
}

.modal-title {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 20px !important;
}

.modal-body {
    padding: 30px !important;
}

.modal-footer {
    border-top: 1px solid var(--border-light) !important;
    padding: 20px 30px !important;
}

/* ====================================================================
   ALERTS & NOTIFICATIONS
   ==================================================================== */

.alert {
    border-radius: 12px !important;
    border: none !important;
    padding: 16px 20px !important;
    font-size: 15px !important;
}

.alert-success {
    background-color: rgba(76, 175, 80, 0.1) !important;
    color: #2E7D32 !important;
    border-left: 4px solid var(--success-green) !important;
}

.alert-info {
    background-color: rgba(0, 168, 150, 0.1) !important;
    color: #00695C !important;
    border-left: 4px solid var(--innovation-teal) !important;
}

.alert-warning {
    background-color: rgba(212, 175, 55, 0.1) !important;
    color: #9A7D0A !important;
    border-left: 4px solid var(--golden-primary) !important;
}

/* ====================================================================
   PAGINATION
   ==================================================================== */

.pagination>li>a,
.pagination>li>span {
    color: var(--kairos-blue) !important;
    border-color: var(--border-light) !important;
    border-radius: 8px !important;
    margin: 0 4px !important;
}

.pagination>.active>a,
.pagination>.active>span {
    background-color: var(--kairos-blue) !important;
    border-color: var(--kairos-blue) !important;
}

.pagination>li>a:hover {
    background-color: var(--golden-primary) !important;
    border-color: var(--golden-primary) !important;
    color: var(--dark-navy) !important;
}

/* ====================================================================
   CUSTOM FOOTER
   ==================================================================== */

body::after {
    content: "© 2025 Golden Kairos Innovations Ltd. | DigiLend Platform | Empowering Financial Inclusion";
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(135deg, var(--dark-navy) 0%, var(--kairos-blue) 100%);
    color: var(--golden-primary);
    text-align: center;
    padding: 12px 20px;
    font-size: 13px;
    z-index: 9999;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    font-weight: 500;
}

/* Adjust body padding to accommodate fixed footer */
body {
    padding-bottom: 50px !important;
}

/* ====================================================================
   LOADING INDICATORS
   ==================================================================== */

.spinner,
.loading,
.loader {
    border-top-color: var(--golden-primary) !important;
    border-right-color: var(--kairos-blue) !important;
    border-bottom-color: var(--innovation-teal) !important;
}

.loading-text::before {
    content: "DigiLend is loading...";
}

/* ====================================================================
   DASHBOARD WIDGETS
   ==================================================================== */

.small-box,
.info-box,
.stat-card {
    border-radius: 16px !important;
    border: none !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
    transition: all 0.3s ease !important;
}

.small-box:hover,
.info-box:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important;
    transform: translateY(-5px) !important;
}

.small-box h3,
.info-box-number {
    color: var(--kairos-blue) !important;
    font-weight: 700 !important;
}

.small-box .icon,
.info-box-icon {
    color: var(--golden-primary) !important;
}

/* ====================================================================
   CHARTS & GRAPHS
   ==================================================================== */

/* Customize chart colors */
.ct-series-a .ct-line,
.ct-series-a .ct-point {
    stroke: var(--kairos-blue) !important;
}

.ct-series-b .ct-line,
.ct-series-b .ct-point {
    stroke: var(--golden-primary) !important;
}

.ct-series-c .ct-line,
.ct-series-c .ct-point {
    stroke: var(--innovation-teal) !important;
}

/* ====================================================================
   DROPDOWN MENUS
   ==================================================================== */

.dropdown-menu {
    border-radius: 12px !important;
    border: none !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important;
    padding: 10px 0 !important;
}

.dropdown-menu>li>a {
    padding: 12px 20px !important;
    transition: all 0.2s ease !important;
}

.dropdown-menu>li>a:hover {
    background-color: rgba(26, 77, 143, 0.08) !important;
    color: var(--kairos-blue) !important;
}

/* ====================================================================
   TABS
   ==================================================================== */

.nav-tabs>li>a {
    border-radius: 10px 10px 0 0 !important;
    color: var(--text-dark) !important;
    font-weight: 500 !important;
}

.nav-tabs>li.active>a {
    background-color: var(--kairos-blue) !important;
    color: #ffffff !important;
    border-color: var(--kairos-blue) !important;
}

/* ====================================================================
   SCROLLBAR CUSTOMIZATION
   ==================================================================== */

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: var(--neutral-gray);
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(135deg, var(--kairos-blue) 0%, var(--golden-primary) 100%);
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--golden-primary);
}

/* ====================================================================
   ANIMATIONS
   ==================================================================== */

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.card,
.panel,
.widget,
.small-box {
    animation: fadeInUp 0.6s ease-out;
}

.sidebar-menu li {
    animation: slideInRight 0.4s ease-out;
}

/* ====================================================================
   RESPONSIVE DESIGN
   ==================================================================== */

@media (max-width: 768px) {
    .login-box {
        padding: 40px 30px !important;
        margin: 20px !important;
    }

    .navbar-brand::before {
        font-size: 22px !important;
    }

    .navbar-brand::after {
        font-size: 9px !important;
    }

    body::after {
        font-size: 11px !important;
        padding: 10px !important;
    }
}

/* ====================================================================
   ACCESSIBILITY IMPROVEMENTS
   ==================================================================== */

*:focus {
    outline: 2px solid var(--golden-primary) !important;
    outline-offset: 2px !important;
}

button:focus,
a:focus,
input:focus {
    box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.2) !important;
}

/* High contrast for better readability */
.text-muted {
    color: #666 !important;
}

/* ====================================================================
   PRINT STYLES
   ==================================================================== */

@media print {

    body::after,
    .navbar,
    .sidebar,
    .btn {
        display: none !important;
    }

    .card,
    .panel {
        box-shadow: none !important;
        border: 1px solid #ddd !important;
    }
}

/* ====================================================================
   CUSTOM UTILITY CLASSES
   ==================================================================== */

.gk-primary-color {
    color: var(--golden-primary) !important;
}

.gk-bg-primary {
    background-color: var(--kairos-blue) !important;
}

.gk-gradient-bg {
    background: linear-gradient(135deg, var(--kairos-blue) 0%, var(--innovation-teal) 100%) !important;
    color: #ffffff !important;
}

.gk-shadow {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
}

.gk-border-gold {
    border-left: 4px solid var(--golden-primary) !important;
}

/* ====================================================================
   FINAL TOUCHES
   ==================================================================== */

/* Professional subtle background pattern */
body {
    background-image:
        linear-gradient(30deg, transparent 0%, transparent 40%, rgba(212, 175, 55, 0.02) 40%, rgba(212, 175, 55, 0.02) 60%, transparent 60%, transparent 100%),
        linear-gradient(150deg, transparent 0%, transparent 40%, rgba(26, 77, 143, 0.02) 40%, rgba(26, 77, 143, 0.02) 60%, transparent 60%, transparent 100%);
    background-size: 100px 100px;
}

/* Smooth transitions everywhere */
* {
    transition: background-color 0.3s ease, color 0.3s ease !important;
}

/* Professional font rendering */
body,
button,
input,
select,
textarea {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}