/** ============================================================
   TKB Application Specific Styles (Non-conflicting)
   Keep theme/layout styles in theme.css
   ============================================================ */

/* Login Page Styles */
.login-page {
    background: url(../images/login_bg.jpg);
    height: 600px;
    -webkit-background-size: cover !important;
    -moz-background-size: cover !important;
    -o-background-size: cover !important;
    background-size: cover !important;
    padding: 0;
    margin: 0;
}

#login-form-container {
    margin-top: 300px;
}

#activation-form-container {
    margin-top: 100px;
}

.login-form-header {
    background: #1976d2;
    border: 1px solid #1976d2;
    color: #FFFFFF;
    height: 60px;
    border-radius: 8px 8px 0 0;
}

.login-form-header h3 {
    font-weight: bold;
    text-align: center;
    margin: 0;
    padding: 15px 0;
}

.login-form-body {
    border: 1px solid #e5e7eb;
    background: #FFFFFF;
    padding: 20px;
    border-radius: 0 0 8px 8px;
}

body.dark-mode .login-form-body {
    background: #1f2937;
    border-color: #374151;
    color: #e5e7eb;
}

/* Modal Custom Styles */
.modal.custom-modal .modal-content {
    border-radius: 8px;
}

/* Dashboard Cards */
.card-1 {
    background: linear-gradient(135deg, #1976d2, #42a5f5);
    color: white;
}

.card-2 {
    background: linear-gradient(135deg, #388e3c, #66bb6a);
    color: white;
}

.card-3 {
    background: linear-gradient(135deg, #f57c00, #ffb74d);
    color: white;
}

.card-4 {
    background: linear-gradient(135deg, #0288d1, #4fc3f7);
    color: white;
}

.card-title {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 10px 0;
}

.icon {
    font-size: 2.5em;
    opacity: 0.8;
    margin-bottom: 10px;
}

.card-body {
    font-size: 1rem;
    font-weight: normal;
}

.card-1 .card-body,
.card-2 .card-body,
.card-3 .card-body,
.card-4 .card-body {
    font-size: 2.5em;
    font-weight: bold;
}

/* Select2 Customization */
.select2-wrapper .select2-container {
    width: 100% !important;
}

.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 6px;
    min-height: 38px;
}

body.dark-mode .select2-container--default .select2-selection--single,
body.dark-mode .select2-container--default .select2-selection--multiple {
    background-color: #374151;
    border-color: #4b5563;
    color: #e5e7eb;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-top: 5px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px;
}

/* Specific Page Elements */
.no-data {
    color: #6b7280;
    font-weight: bold;
    font-size: 2rem;
    margin-top: 50px;
    text-align: center;
}

body.dark-mode .no-data {
    color: #9ca3af;
}

.side-icon {
    margin-top: 10px;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.side-icon:hover {
    transform: scale(1.1);
}

.menubar {
    margin-top: 20px;
    margin-bottom: 20px;
}

/* Utility Classes */
.page-container {
    width: 100%;
    flex: 1;
}

.content-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Responsive helpers */
@media (max-width: 768px) {
    .card-body {
        font-size: 1rem;
    }

    .card-1 .card-body,
    .card-2 .card-body,
    .card-3 .card-body,
    .card-4 .card-body {
        font-size: 1.8em;
    }
    
    .icon {
        font-size: 1.8em;
    }
    
    .no-data {
        font-size: 1.2rem;
    }
}

/* Button custom style for login */
.btn-custom {
    background: #1976d2;
    color: #FFFFFF;
}

.btn-custom:hover {
    background: #1565c0;
    color: #FFFFFF;
}

body.dark-mode .btn-custom {
    background: #60a5fa;
}

body.dark-mode .btn-custom:hover {
    background: #3b82f6;
}

/* Input group button styling */
.input-group-btn .btn {
    font-size: 16px;
    border-radius: 6px;
}

/* Ensure proper flex layout for pages */
.row { margin: 0; }

/* Bootstrap helpers */
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 1rem; }
.gap-4 { gap: 1.5rem; }

/* Shared table tools */
.table-tools-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 10px 0;
}

.table-tools-left,
.table-tools-right {
    display: flex;
    align-items: center;
    gap: 8px;
}

.table-tools-search {
    min-width: 240px;
}

.table-tools-per-page {
    min-width: 110px;
}

.table-tools-meta {
    width: 100%;
    font-size: 12px;
    color: #6b7280;
}

.table-tools-pagination {
    width: 100%;
    display: flex;
    justify-content: flex-end;
}

.table-tools-pagination-list {
    margin: 0;
}

body.dark-mode .table-tools-meta {
    color: #9ca3af;
}

@media (max-width: 768px) {
    .table-tools-search {
        min-width: 180px;
    }
}

