/* Custom Login Redesign Styles */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');

body.login_admin {
    background-color: #f7f1e7;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 900'%3E%3Cpath fill='%2368202d' d='M0,0L1440,0L1440,300C1200,450 900,100 720,200C540,300 300,400 0,350Z'/%3E%3Cpath fill='%232a4e76' d='M0,900L1440,900L1440,550C1200,400 900,750 720,650C540,550 300,500 0,700Z'/%3E%3Cpath fill='%23708ba8' d='M1440,900L1440,400C1100,550 900,250 500,600C300,780 150,850 0,800L0,900Z' opacity='0.7'/%3E%3Cpath fill='%237d2536' d='M0,800C300,900 600,650 900,700C1200,750 1440,900 1440,900L0,900Z' opacity='0.9'/%3E%3Cpath fill='%23802b3a' d='M0,350C300,450 600,200 900,450C1200,700 1440,300 1440,300L1440,900L0,900Z' opacity='0.15'/%3E%3C/svg%3E");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    font-family: 'Outfit', sans-serif;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 1;
}

body.login_admin::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.08'/%3E%3C/svg%3E");
    z-index: -1;
    pointer-events: none;
}

/* Background gradient overlays to match image better */
body.login_admin::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(230, 219, 203, 0.4) 0%, rgba(200, 180, 160, 0.1) 100%);
    z-index: -1;
}

body.login_admin .login-container {
    width: 100%;
    max-width: 480px;
    padding: 20px;
    position: relative;
    z-index: 10;
}

body.login_admin .company-logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 25px;
}

body.login_admin .company-logo img {
    max-width: 250px;
    height: auto;
}

body.login_admin .company-tagline {
    color: #6d6d6d;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.3px;
}

body.login_admin .login-card {
    background: #fbf5ee;
    border-radius: 28px;
    padding: 40px 45px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15), inset 0 2px 5px rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.6);
    position: relative;
}

body.login_admin .login-card::before {
    content: '';
    position: absolute;
    top: -15px;
    bottom: -15px;
    left: -15px;
    right: -15px;
    border-radius: 35px;
    background: rgba(244, 237, 226, 0.4);
    z-index: -1;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

body.login_admin .login-heading {
    font-size: 26px;
    font-weight: 700;
    color: #722736;
    margin-bottom: 5px;
}

body.login_admin .login-subheading {
    font-size: 15px;
    color: #6a6a6a;
    font-weight: 400;
}

body.login_admin .form-group {
    margin-bottom: 0;
}

body.login_admin .input-group-custom {
    position: relative;
    background: #f2e9dc;
    border-radius: 12px;
    display: flex;
    align-items: center;
    padding: 5px 15px;
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

body.login_admin .input-group-custom:focus-within {
    background: #fff;
    border-color: #d1bfae;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

body.login_admin .input-icon {
    color: #9f9488;
    font-size: 18px;
    margin-right: 12px;
    min-width: 20px;
    text-align: center;
}

body.login_admin .input-icon i {
    font-family: "Font Awesome 6 Free", "FontAwesome";
    font-weight: 900;
}

body.login_admin .custom-input {
    background: transparent;
    border: none;
    box-shadow: none;
    height: 48px;
    padding: 0;
    font-size: 15px;
    color: #4a4a4a;
    font-weight: 500;
}

body.login_admin .custom-input:focus {
    background: transparent;
    border: none;
    box-shadow: none;
}

body.login_admin .custom-input::placeholder {
    color: #9f9488;
    font-weight: 400;
}

body.login_admin .password-toggle {
    color: #9f9488;
    cursor: pointer;
    font-size: 16px;
    padding: 5px;
    margin-left: 10px;
}

body.login_admin .password-toggle i {
    font-family: "Font Awesome 6 Free", "FontAwesome";
    font-weight: 900;
}

body.login_admin .password-toggle:hover {
    color: #722736;
}

body.login_admin .forgot-password-link {
    color: #722736;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: opacity 0.2s;
}

body.login_admin .forgot-password-link:hover {
    color: #722736;
    opacity: 0.8;
}

body.login_admin .btn-login {
    background-color: #722736;
    color: #ffffff;
    border-radius: 12px;
    height: 52px;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.5px;
    border: none;
    transition: all 0.3s;
    box-shadow: 0 6px 15px rgba(114, 39, 54, 0.3);
}

body.login_admin .btn-login:hover,
body.login_admin .btn-login:focus,
body.login_admin .btn-login:active {
    background-color: #5c1e2b;
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(114, 39, 54, 0.4);
    transform: translateY(-2px);
}

body.login_admin .register-link {
    font-size: 14px;
    color: #6a6a6a;
}

body.login_admin .register-action {
    color: #722736;
    font-weight: 700;
    text-decoration: none;
}

body.login_admin .register-action:hover {
    color: #5c1e2b;
}

body.login_admin .card-footer-links {
    text-align: center;
    font-size: 12px;
    color: #8c8c8c;
    margin-top: 30px;
}

body.login_admin .card-footer-links a {
    color: #8c8c8c;
    text-decoration: none;
}

body.login_admin .card-footer-links a:hover {
    color: #722736;
}

body.login_admin .login-footer {
    color: rgba(255, 255, 255, 0.9);
    font-size: 13px;
    margin-top: 20px;
}

/* Base override for default app styles inside login */
body.login_admin .alert {
    border-radius: 8px;
    font-size: 14px;
    padding: 10px 15px;
}

/* =========================================
   Global Admin Panel UI Overrides
   Theme: Maroon (#722736) & Cream (#fbf5ee)
   ========================================= */

/* Body and Global Styling */
body.admin {
    background-color: #fbf5ee !important;
    /* Cream background */
    font-family: 'Outfit', sans-serif !important;
}

/* Sidebar Override */
#setup-menu-wrapper,
#side-menu-wrapper,
.sidebar {
    background-color: #722736 !important;
    /* Maroon Sidebar */
}

/* Sidebar Text and Hover states */
.sidebar ul li a,
.sidebar ul li a span,
.sidebar ul li a i,
#setup-menu-wrapper ul li a,
#setup-menu-wrapper ul li a span,
#setup-menu-wrapper ul li a i,
.setup-menu.menu>li>a,
.setup-menu.menu>li>a span,
.setup-menu.menu>li>a i {
    color: rgba(255, 255, 255, 0.8) !important;
}

.sidebar ul li a:hover,
.sidebar ul li a:hover span,
.sidebar ul li a:hover i,
.sidebar ul li a:focus,
.sidebar ul li a:focus span,
.sidebar ul li a:focus i,
.sidebar ul li.active>a,
.sidebar ul li.active>a span,
.sidebar ul li.active>a i,
#setup-menu-wrapper ul li a:hover,
#setup-menu-wrapper ul li a:hover span,
#setup-menu-wrapper ul li a:hover i,
#setup-menu-wrapper ul li.active>a,
#setup-menu-wrapper ul li.active>a span,
#setup-menu-wrapper ul li.active>a i {
    background-color: #5c1e2b !important;
    color: white !important;
}

/* User Profile Dropdown inside Sidebar */
.sidebar .sidebar-user-profile .dropdown-menu {
    background-color: #ffffff !important;
    border: 1px solid #eadecd !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
    border-radius: 8px !important;
    overflow: hidden;
}

.sidebar .sidebar-user-profile .dropdown-menu li a {
    color: #722736 !important;
    /* Maroon text on white dropdown */
    background-color: transparent !important;
    padding: 10px 20px !important;
    transition: background-color 0.2s ease;
}

.sidebar .sidebar-user-profile .dropdown-menu li a span,
.sidebar .sidebar-user-profile .dropdown-menu li a i {
    color: #722736 !important;
}

.sidebar .sidebar-user-profile .dropdown-menu li a:hover,
.sidebar .sidebar-user-profile .dropdown-menu li a:focus {
    background-color: #fbf5ee !important;
    /* Cream hover */
    color: #5c1e2b !important;
    /* Darker maroon text on hover */
}

.sidebar .sidebar-user-profile .dropdown-menu li a:hover span,
.sidebar .sidebar-user-profile .dropdown-menu li a:hover i {
    color: #5c1e2b !important;
}

/* User Profile Header Dropdown (if present) */
.sidebar .sidebar-user-profile.dropdown>a {
    background-color: transparent !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}

.sidebar .sidebar-user-profile.dropdown.open>a {
    background-color: rgba(0, 0, 0, 0.15) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}

/* Force Text colors in the profile widget to be visible over maroon */
.sidebar .sidebar-user-profile.dropdown>a span {
    color: #fbf5ee !important;
}

/* Specific targeting for the email snippet which sometimes has a gray text utility class */
.sidebar .sidebar-user-profile.dropdown>a span>span:last-child {
    color: rgba(255, 255, 255, 0.7) !important;
}

/* Top Header Bar */
#header {
    background-color: #ffffff !important;
    border-bottom: 1px solid #e0d8cc !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
}

/* Header Text/Icons */
#header .nav>li>a {
    color: #722736 !important;
}

#header .nav>li>a:hover,
#header .nav>li>a:focus {
    background-color: #fbf5ee !important;
}

/* Buttons */
.btn-primary,
.btn-info {
    background-color: #722736 !important;
    border-color: #722736 !important;
    color: white !important;
    border-radius: 8px !important;
    transition: all 0.2s ease-in-out;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-info:hover,
.btn-info:focus,
.btn-info:active {
    background-color: #5c1e2b !important;
    border-color: #5c1e2b !important;
    box-shadow: 0 4px 10px rgba(114, 39, 54, 0.2) !important;
}

.btn-default {
    border-radius: 8px !important;
}

/* Cards & Panels */
.panel_s>.panel-body {
    background: #ffffff !important;
    border-radius: 12px !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03) !important;
    border: 1px solid #eadecd !important;
}

/* Tables */
table.dataTable thead th,
table.dataTable thead td {
    background-color: #f2e9dc !important;
    color: #722736 !important;
    border-bottom: 2px solid #eadecd !important;
}

/* Inputs globally inside admin */
body.admin .form-control {
    border-radius: 8px !important;
    border: 1px solid #d1bfae !important;
    background-color: #fff !important;
}

body.admin .form-control:focus {
    border-color: #722736 !important;
    box-shadow: 0 0 0 2px rgba(114, 39, 54, 0.1) !important;
}

/* Sidebar Sub-Menu Overrides */
.sidebar ul.nav-second-level {
    background-color: #5c1e2b !important;
    /* Darker than main sidebar maroon */
    border-left: none !important;
}

/* Remove default dark active background on submenus */
.sidebar ul.nav-second-level li {
    background: transparent !important;
}

.sidebar ul.nav-second-level li a,
.sidebar ul.nav-second-level li a span {
    color: rgba(255, 255, 255, 0.7) !important;
    padding-left: 20px !important;
    /* Ensure proper indentation inside */
    font-weight: 400 !important;
    transition: all 0.2s ease !important;
}

.sidebar ul.nav-second-level li.active>a,
.sidebar ul.nav-second-level li a:hover,
.sidebar ul.nav-second-level li a:focus,
.sidebar ul.nav-second-level li.active>a span,
.sidebar ul.nav-second-level li a:hover span,
.sidebar ul.nav-second-level li a:focus span {
    background-color: rgba(255, 255, 255, 0.1) !important;
    /* Gentle light highlight instead of dark */
    color: #ffffff !important;
    padding-left: 25px !important;
    /* Subtle indent animation */
}

/* Header Logo Text Override */
.logo.logo-text {
    color: #722736 !important;
}