/* CPFAE Custom Theme - Based on Logo Colors */
:root {
    --cpfae-green: #2D8A3E;
    --cpfae-green-dark: #1F6129;
    --cpfae-green-light: #4CAF50;
    --cpfae-orange: #FF9800;
    --cpfae-orange-dark: #F57C00;
    --cpfae-orange-light: #FFB74D;
    --cpfae-yellow: #FFC107;
    --cpfae-white: #FFFFFF;
    --cpfae-gray-light: #F5F5F5;
    --cpfae-gray: #E0E0E0;
    --cpfae-gray-dark: #9E9E9E;
    --cpfae-text-dark: #212121;
    --cpfae-text-light: #757575;
}

/* Custom Tailwind/DaisyUI theme overrides */
[data-theme="cpfae"] {
    --p: 142 60% 40%;  /* Primary - Green */
    --pf: 142 60% 30%;
    --pc: 0 0% 100%;

    --s: 36 100% 50%;  /* Secondary - Orange */
    --sf: 36 100% 40%;
    --sc: 0 0% 100%;

    --a: 45 100% 51%;  /* Accent - Yellow */
    --af: 45 100% 41%;
    --ac: 0 0% 0%;

    --n: 0 0% 13%;     /* Neutral */
    --nf: 0 0% 8%;
    --nc: 0 0% 100%;

    --b1: 0 0% 100%;   /* Base */
    --b2: 0 0% 96%;
    --b3: 0 0% 90%;
    --bc: 0 0% 13%;

    --in: 207 90% 54%;
    --su: 142 76% 36%;
    --wa: 45 100% 51%;
    --er: 4 90% 58%;
}

/* Logo styling */
.cpfae-logo {
    max-width: 120px;
    height: auto;
}

.cpfae-logo-large {
    max-width: 180px;
    height: auto;
}

/* Gradient backgrounds */
.cpfae-gradient {
    background: linear-gradient(135deg, var(--cpfae-green) 0%, var(--cpfae-green-dark) 100%);
}

.cpfae-gradient-reverse {
    background: linear-gradient(135deg, var(--cpfae-orange) 0%, var(--cpfae-yellow) 100%);
}

/* Card enhancements */
.cpfae-card {
    border-top: 4px solid var(--cpfae-green);
    transition: transform 0.2s, box-shadow 0.2s;
}

.cpfae-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(45, 138, 62, 0.15);
}

/* Button variations */
.btn-cpfae-primary {
    background-color: var(--cpfae-green);
    border-color: var(--cpfae-green);
    color: white;
}

.btn-cpfae-primary:hover {
    background-color: var(--cpfae-green-dark);
    border-color: var(--cpfae-green-dark);
}

.btn-cpfae-secondary {
    background-color: var(--cpfae-orange);
    border-color: var(--cpfae-orange);
    color: white;
}

.btn-cpfae-secondary:hover {
    background-color: var(--cpfae-orange-dark);
    border-color: var(--cpfae-orange-dark);
}

/* Navbar custom styling */
.cpfae-navbar {
    background: linear-gradient(90deg, var(--cpfae-green) 0%, var(--cpfae-green-dark) 100%);
    color: white;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.cpfae-navbar a {
    color: white;
}

.cpfae-navbar a:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

/* Stats cards */
.stat-cpfae {
    background: white;
    border-radius: 12px;
    border-left: 4px solid var(--cpfae-green);
}

/* Table enhancements */
.table-cpfae thead {
    background-color: var(--cpfae-green);
    color: white;
}

.table-cpfae tbody tr:hover {
    background-color: rgba(45, 138, 62, 0.05);
}

/* Badge variations */
.badge-cpfae-success {
    background-color: var(--cpfae-green);
    color: white;
}

.badge-cpfae-warning {
    background-color: var(--cpfae-orange);
    color: white;
}

/* Login page specific */
.login-container {
    background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
    min-height: 100vh;
}

.login-card {
    backdrop-filter: blur(10px);
    background-color: rgba(255, 255, 255, 0.95);
}

/* Responsive utilities */
@media (max-width: 768px) {
    .cpfae-logo-large {
        max-width: 120px;
    }

    .stat-cpfae {
        padding: 1rem;
    }
}

/* Form input focus states */
.input:focus,
.select:focus,
.textarea:focus {
    border-color: var(--cpfae-green);
    outline: 2px solid var(--cpfae-green);
    outline-offset: 2px;
}

/* Flash Messages - Improved Visibility */
.alert-success {
    background-color: var(--cpfae-green) !important;
    color: white !important;
    border: none !important;
    font-weight: 600 !important;
}

.alert-success span {
    color: white !important;
}

.alert-error {
    background-color: #dc2626 !important;
    color: white !important;
    border: none !important;
    font-weight: 600 !important;
}

.alert-error span {
    color: white !important;
}

.alert-warning {
    background-color: var(--cpfae-orange) !important;
    color: white !important;
    border: none !important;
    font-weight: 600 !important;
}

.alert-warning span {
    color: white !important;
}

.alert-info {
    background-color: #3b82f6 !important;
    color: white !important;
    border: none !important;
    font-weight: 600 !important;
}

.alert-info span {
    color: white !important;
}

/* Loading animations */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in {
    animation: fadeIn 0.5s ease-in-out;
}
