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

body {
    font-family: 'Outfit', sans-serif !important;
}

/* Full Background Image - ON LOGIN PAGE & 2FA PAGE */
body.signin-page, body.twofactor-page {
    background: url('https://admin.nexchauhandigital.com/assets/images/nexchauhan_office.jpg') no-repeat center center fixed !important; 
    background-size: cover !important;
    height: 100vh !important;
    width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative;
}

/* Dark overlay to make the white card pop */
body.signin-page::before, body.twofactor-page::before {
    content: "" !important;
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(15, 23, 42, 0.6) !important; /* Dark slate overlay */
    z-index: 1;
    animation: none !important;
    filter: none !important;
    width: 100%;
    height: 100%;
    border-radius: 0;
}

/* Reset ::after */
body.signin-page::after, body.twofactor-page::after {
    content: none !important;
    animation: none !important;
    display: none !important;
}

/* Ensure content is above the overlay */
body.signin-page .scrollable-page, body.twofactor-page .scrollable-page {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10;
    position: relative;
}

body.signin-page .form-signin, body.twofactor-page .form-signin {
    width: 100% !important;
    max-width: 420px !important;
    padding: 20px !important;
    margin: 0 auto !important;
}

/* Solid White Card */
body.signin-page .card, body.twofactor-page .card {
    background: #ffffff !important;
    border-radius: 16px !important;
    border: none !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.8) !important;
    padding: 30px 20px !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body.signin-page .card-header, body.twofactor-page .card-header {
    background: transparent !important;
    border-bottom: none !important;
    padding-bottom: 10px !important;
    text-align: center !important;
}

body.signin-page .card-header img, body.twofactor-page .card-header img {
    max-width: 200px !important;
    margin-bottom: 10px !important;
}

body.signin-page h2, body.twofactor-page h2 {
    color: #1e293b !important;
    font-weight: 700 !important;
}

body.signin-page .card-body, body.twofactor-page .card-body {
    padding: 10px !important;
}

/* Clean Inputs */
body.signin-page .form-control, body.twofactor-page .form-control {
    background: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    padding: 14px 18px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #1e293b !important;
    transition: all 0.2s ease !important;
    margin-bottom: 15px !important;
    height: auto !important;
}

body.signin-page .form-control:focus, body.twofactor-page .form-control:focus {
    background: #ffffff !important;
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2) !important;
    outline: none !important;
}

body.signin-page .form-control::placeholder, body.twofactor-page .form-control::placeholder {
    color: #94a3b8 !important;
}

/* Solid Button */
body.signin-page .btn-primary, body.twofactor-page .btn-primary {
    background: #2563eb !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    transition: all 0.2s ease !important;
    margin-top: 10px !important;
    box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.2) !important;
    width: 100% !important;
    text-transform: none !important;
}

body.signin-page .btn-primary:hover, body.twofactor-page .btn-primary:hover {
    background: #1d4ed8 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 15px -3px rgba(37, 99, 235, 0.3) !important;
}

body.signin-page a, body.twofactor-page a {
    color: #3b82f6 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    font-size: 14px !important;
}

body.signin-page a:hover, body.twofactor-page a:hover {
    text-decoration: underline !important;
}

body.signin-page .alert-danger, body.twofactor-page .alert-danger {
    background: #fef2f2 !important;
    color: #ef4444 !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 14px !important;
}

body.signin-page .footer, body.twofactor-page .footer {
    display: none !important;
}

/* Ensure global html background is standard, but only when it is NOT the signin page or twofactor page */
html:not(:has(body.signin-page)):not(:has(body.twofactor-page)) {
    background: #f2f4f6 !important;
}

/* =========================================
   PWA SPLASH SCREEN (ONLY IN APP)
   ========================================= */
@media all and (display-mode: standalone) {
    #pre-loader {
        background: #0f172a !important; /* Dark Slate background */
        position: fixed;
        top: 0; left: 0; right: 0; bottom: 0;
        z-index: 999999;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #pre-loader .app-loader {
        display: none !important;
    }

    #pre-loader::after {
        content: "NEXCHAUHAN DIGITAL";
        font-size: 2rem;
        font-weight: 700;
        color: #ffffff;
        letter-spacing: 2px;
        text-align: center;
        padding: 0 20px;
        animation: splashPulse 2s infinite, splashGlow 2s infinite alternate;
        text-shadow: 0 0 20px rgba(59, 130, 246, 0.8);
        font-family: 'Outfit', sans-serif !important;
    }

    @keyframes splashPulse {
        0% { transform: scale(0.9); opacity: 0.8; }
        50% { transform: scale(1.1); opacity: 1; }
        100% { transform: scale(0.9); opacity: 0.8; }
    }

    @keyframes splashGlow {
        from { text-shadow: 0 0 10px #3b82f6, 0 0 20px #3b82f6; }
        to { text-shadow: 0 0 20px #7c3aed, 0 0 40px #7c3aed; }
    }
}

/* =========================================
   MOBILE FRIENDLY UI FIXES
   ========================================= */
@media (max-width: 767px) {
    /* Fix dashboard boxes wrapping */
    .dashboard-stat-list, .widget-container {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    
    /* Better card paddings for mobile */
    .card {
        margin-bottom: 20px !important;
        border-radius: 12px !important;
    }
    
    .card-body {
        padding: 15px !important;
    }
    
    /* Fix Projects Overview layout (flex-wrap) */
    .projects-overview, .projects-overview .d-flex {
        flex-wrap: wrap !important;
    }
    .projects-overview .d-flex > div {
        width: 100% !important;
        text-align: center !important;
        margin-bottom: 15px !important;
        border-right: none !important;
        border-bottom: 1px solid #e2e8f0;
        padding-bottom: 10px;
    }
    .projects-overview .d-flex > div:last-child {
        border-bottom: none;
        margin-bottom: 0;
    }
}
