/*
Template Name: Velzon - Admin & Dashboard Template
Author: Themesbrand
Website: https://themesbrand.com/
Contact: support@themesbrand.com
File: Custom Css File
*/

/* --- GREEN NAHDLATUL ULAMA (NU) THEME OVERRIDES --- */

:root {
    --vz-primary: #008542 !important;
    --vz-primary-rgb: 0, 133, 66 !important;
    --vz-link-color: #008542 !important;
    --vz-link-hover-color: #00562b !important;
    
    --vz-success: #008542 !important;
    --vz-success-rgb: 0, 133, 66 !important;
}

/* 1. Sidebar (Menu Navigasi) NU Green Theme */
.navbar-menu {
    background: #004d26 !important; /* Deep NU Green background */
    border-right: 1px solid rgba(255, 255, 255, 0.05) !important;
}

/* Logo Brand Box */
.brand-box {
    background: #004d26 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}

/* Menu Text and Icons */
.navbar-menu .navbar-nav .nav-link {
    color: rgba(255, 255, 255, 0.8) !important;
    font-weight: 500 !important;
}

.navbar-menu .navbar-nav .nav-link:hover {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border-radius: 6px;
}

.navbar-menu .navbar-nav .nav-link.active {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.15) !important; /* Glowing active item background */
    border-radius: 6px !important;
}

.navbar-menu .navbar-nav .nav-link i {
    color: rgba(255, 255, 255, 0.65) !important;
}

.navbar-menu .navbar-nav .nav-link.active i {
    color: #ffffff !important;
}

/* Submenu layout styling */
.navbar-menu .navbar-nav .nav-sm .nav-link {
    color: rgba(255, 255, 255, 0.7) !important;
    padding-left: 1.5rem !important;
}

.navbar-menu .navbar-nav .nav-sm .nav-link:hover {
    color: #ffffff !important;
    background: transparent !important;
}

.navbar-menu .navbar-nav .nav-sm .nav-link.active {
    color: #ffffff !important;
    font-weight: 600 !important;
    background: transparent !important;
}

/* Menu categories header (horizontal dividers) */
.navbar-menu .navbar-nav .menu-title {
    color: rgba(255, 255, 255, 0.4) !important;
    font-weight: 600 !important;
    letter-spacing: 0.8px;
}

/* Scrollbar of menu */
.navbar-menu [data-simplebar] {
    background: #004d26 !important;
}

/* 2. Topbar Header Overrides */
#page-topbar {
    background-color: rgba(255, 255, 255, 0.9) !important;
    backdrop-filter: blur(10px) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
}

/* Hamburger Icon Color */
.hamburger-icon span {
    background-color: #008542 !important;
}

/* 3. Card Enhancements */
.card {
    border-radius: 12px !important;
    border: 1px solid rgba(0, 0, 0, 0.04) !important;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.02) !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

/* Card hover animation */
.card-animate {
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.card-animate:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 30px rgba(0, 133, 66, 0.08) !important;
}

.border-success {
    border-color: #008542 !important;
}

.border-primary {
    border-color: #008542 !important;
}

/* 4. Buttons NU Green Styling */
.btn {
    border-radius: 8px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease-in-out !important;
}

.btn-primary {
    background-color: #008542 !important;
    border-color: #008542 !important;
    color: #ffffff !important;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background-color: #00562b !important;
    border-color: #00562b !important;
    box-shadow: 0 4px 12px rgba(0, 133, 66, 0.25) !important;
}

.btn-success {
    background-color: #008542 !important;
    border-color: #008542 !important;
    color: #ffffff !important;
}

.btn-success:hover, .btn-success:focus, .btn-success:active {
    background-color: #00562b !important;
    border-color: #00562b !important;
    box-shadow: 0 4px 12px rgba(0, 133, 66, 0.25) !important;
}

.btn-outline-primary {
    color: #008542 !important;
    border-color: #008542 !important;
}

.btn-outline-primary:hover {
    background-color: #008542 !important;
    color: #ffffff !important;
}

/* 5. DataTables Custom Modern Design */
.dataTables_wrapper {
    padding: 1rem 0;
}

.dataTables_filter {
    margin-bottom: 1.2rem;
    float: right;
}

.dataTables_filter label {
    font-weight: 500;
    color: #495057;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.dataTables_filter input {
    border: 1px solid #ced4da !important;
    border-radius: 8px !important;
    padding: 0.4rem 0.8rem !important;
    outline: none !important;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
    font-weight: normal;
    font-size: 13px;
}

.dataTables_filter input:focus {
    border-color: #008542 !important;
    box-shadow: 0 0 0 0.15rem rgba(0, 133, 66, 0.25) !important;
}

/* DT Buttons Styling */
.dt-buttons {
    margin-bottom: 1rem;
    display: inline-flex;
    gap: 0.5rem;
    float: left;
}

.dataTables_info {
    padding-top: 1rem !important;
    color: #74788d !important;
    font-size: 13px;
    float: left;
}

.dataTables_paginate {
    padding-top: 1rem !important;
    float: right;
}

/* Pagination buttons custom design */
.paginate_button.page-item.active .page-link {
    background-color: #008542 !important;
    border-color: #008542 !important;
    color: #fff !important;
    border-radius: 6px !important;
}

.paginate_button.page-item .page-link {
    border-radius: 6px !important;
    margin: 0 2px !important;
    border: 1px solid #e9ebec !important;
    color: #495057 !important;
    transition: all 0.2s ease !important;
}

.paginate_button.page-item .page-link:hover {
    background-color: #f3f6f9 !important;
    color: #008542 !important;
}

/* Table Design Cleanups */
.table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.table thead th {
    background-color: #f3f6f9 !important;
    border-bottom: 2px solid #e9ebec !important;
    color: #495057 !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.5px;
    padding: 12px 16px !important;
}

.table tbody td {
    padding: 14px 16px !important;
    border-bottom: 1px solid #f3f6f9 !important;
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(243, 246, 249, 0.4) !important;
}

/* 6. Alerts & Badges Colors */
.alert-info {
    background-color: rgba(13, 202, 240, 0.05) !important;
    border-color: rgba(13, 202, 240, 0.15) !important;
    color: #0c8599 !important;
    border-radius: 10px !important;
}

.alert-success {
    background-color: rgba(0, 133, 66, 0.05) !important;
    border-color: rgba(0, 133, 66, 0.15) !important;
    color: #00562b !important;
    border-radius: 10px !important;
}

.alert-danger {
    background-color: rgba(220, 53, 69, 0.05) !important;
    border-color: rgba(220, 53, 69, 0.15) !important;
    color: #a82330 !important;
    border-radius: 10px !important;
}

/* Badges override */
.badge {
    padding: 5px 8px !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
}

.bg-success {
    background-color: #008542 !important;
}

.bg-primary {
    background-color: #008542 !important;
}

.text-success {
    color: #008542 !important;
}

.text-primary {
    color: #008542 !important;
}

.badge-soft-success {
    background-color: rgba(0, 133, 66, 0.1) !important;
    color: #008542 !important;
}

.bg-success-subtle {
    background-color: rgba(0, 133, 66, 0.1) !important;
    color: #008542 !important;
}

.avatar-title {
    border-radius: 8px !important;
}

/* Theme Preference switches & Toggle styles */
.form-check-input:checked {
    background-color: #008542 !important;
    border-color: #008542 !important;
}

/* 7. Auth Page Full-Screen Glowing Background */
.auth-page-wrapper {
    background: radial-gradient(circle at 50% 30%, #00562b 0%, #001a0d 100%) !important;
    min-height: 100vh;
    position: relative;
}

/* Hide default partial top banner position */
.auth-one-bg {
    display: none !important;
}

/* Elegant radial mesh dot geometric overlay pattern */
.auth-page-wrapper::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image: radial-gradient(rgba(255, 255, 255, 0.04) 1.5px, transparent 0);
    background-size: 28px 28px;
    pointer-events: none;
    z-index: 0;
}

/* Apply card shadow highlights on dark backgrounds */
.auth-page-wrapper .card {
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.45) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    position: relative;
    z-index: 1;
}

/* Adjust footer copyright text color on dark auth background */
.auth-page-wrapper footer.footer p {
    color: rgba(255, 255, 255, 0.4) !important;
}

