/* ICOYACA Community Portal - Custom CSS Theme (Army Green Theme) */

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

:root {
    --army-primary: #4B5320;
    --army-primary-hover: #3c421a;
    --army-primary-active: #2f3414;
    --army-dark-sidebar: #1e220c;
    --army-dark-sidebar-active: #2f3414;
    --army-light-bg: #f4f6f9;
    --army-text-dark: #2c3014;
    --army-accent: #8F9779;
    --army-success-bg: #d4d8c6;
    --army-success-border: #4B5320;
    --army-success-text: #2f3414;
}

body {
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    background-color: var(--army-light-bg);
}

/* Custom layout enhancements */
.main-sidebar {
    background-color: var(--army-dark-sidebar) !important;
}

.brand-link {
    background-color: var(--army-dark-sidebar) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center;
}

.brand-link .brand-image,
.brand-link .brand-image-xl {
    background-color: #ffffff !important;
    padding: 3px !important;
    border-radius: 4px !important;
    max-height: 34px !important;
    width: auto !important;
    object-fit: contain;
    margin-right: 0.5rem !important;
    margin-left: 0.8rem !important;
    float: none !important;
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active,
.sidebar-light-primary .nav-sidebar > .nav-item > .nav-link.active {
    background-color: var(--army-primary) !important;
    color: #ffffff !important;
    font-weight: 500;
    box-shadow: 0 4px 10px rgba(75, 83, 32, 0.25);
}

.nav-sidebar .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: #ffffff !important;
}

.nav-sidebar .nav-link p {
    font-weight: 400;
}

.nav-sidebar .nav-item.menu-open > .nav-link,
.nav-sidebar .nav-item:hover > .nav-link {
    color: #ffffff !important;
}

/* Main Navbar Theme Customization */
.main-header.navbar {
    background-color: #ffffff !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}

.navbar-light .navbar-nav .nav-link {
    color: #495057 !important;
}

.navbar-light .navbar-nav .nav-link:hover {
    color: var(--army-primary) !important;
}

/* Primary buttons */
.btn-primary {
    background-color: var(--army-primary) !important;
    border-color: var(--army-primary) !important;
    font-weight: 500;
    letter-spacing: 0.2px;
    border-radius: 6px;
    transition: all 0.2s ease-in-out;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background-color: var(--army-primary-hover) !important;
    border-color: var(--army-primary-hover) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(75, 83, 32, 0.2);
}

.btn-primary:active {
    transform: translateY(0);
    box-shadow: none;
}

.btn-outline-primary {
    color: var(--army-primary) !important;
    border-color: var(--army-primary) !important;
    border-radius: 6px;
    transition: all 0.2s ease-in-out;
}

.btn-outline-primary:hover {
    background-color: var(--army-primary) !important;
    color: #ffffff !important;
}

/* Typography links */
a {
    color: var(--army-primary);
    transition: color 0.15s ease-in-out;
}

a:hover {
    color: var(--army-primary-hover);
    text-decoration: none;
}

/* Premium Card custom styles */
.card {
    border: none !important;
    box-shadow: 0 0 20px rgba(0,0,0,0.03) !important;
    border-radius: 8px !important;
    overflow: hidden;
}

.card-primary.card-outline {
    border-top: 3px solid var(--army-primary) !important;
}

.card-header {
    background-color: transparent;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    font-weight: 600;
}

/* Badges and tags */
.bg-primary, .badge-primary {
    background-color: var(--army-primary) !important;
    color: #ffffff !important;
}

.badge-army {
    background-color: var(--army-success-bg);
    color: var(--army-success-text);
    border: 1px solid var(--army-success-border);
    padding: 0.35em 0.65em;
    font-weight: 600;
    border-radius: 4px;
}

/* Custom Success Alert Overrides */
.alert-success {
    background-color: var(--army-success-bg) !important;
    border-color: var(--army-success-border) !important;
    color: var(--army-success-text) !important;
}

.alert-success h4, .alert-success a, .alert-success .close {
    color: var(--army-success-text) !important;
}

/* Forms input highlight */
.form-control:focus {
    border-color: var(--army-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(75, 83, 32, 0.15) !important;
}

/* Dashboard Widget Cards */
.small-box {
    border-radius: 8px !important;
    overflow: hidden;
    box-shadow: 0 0 15px rgba(0,0,0,0.02) !important;
}

.bg-info {
    background-color: var(--army-accent) !important;
}

/* Tabs customization */
.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
    border-top: 3px solid var(--army-primary) !important;
    color: var(--army-primary) !important;
    font-weight: 600;
}

/* Table styling */
.table thead th {
    border-bottom: 2px solid var(--army-primary) !important;
    color: var(--army-primary);
    font-weight: 600;
}

/* Custom scrollbars */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #c1c5b1;
    border-radius: 4px;
}

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

/* Login/Register Auth Custom Cards */
.login-page, .register-page {
    background-color: #f1f3ee !important;
    background-image: radial-gradient(var(--army-primary) 0.5px, #f1f3ee 0.5px) !important;
    background-size: 16px 16px !important;
}

.login-box .card, .register-box .card {
    border-top: 4px solid var(--army-primary) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.06) !important;
}

/* Audit Log Table and general items styling */
.table-responsive {
    border-radius: 6px;
}
