/* HR Portal — Shared Styles */

:root {
    --portal-primary: #2c5282;
    --portal-primary-light: #3b6ba5;
    --portal-bg: #f8f9fa;
    --portal-card-bg: #ffffff;
    --portal-text: #2d3748;
    --portal-muted: #718096;
    --portal-border: #e2e8f0;
    --portal-success: #38a169;
    --portal-warning: #d69e2e;
    --portal-danger: #e53e3e;
}

body {
    background-color: var(--portal-bg);
    color: var(--portal-text);
    font-family: -apple-system, BlinkMacSystemFont, "Microsoft JhengHei", "Segoe UI", sans-serif;
}

/* Navbar */
.portal-navbar {
    background-color: var(--portal-primary) !important;
}

.portal-navbar .navbar-brand {
    font-weight: 700;
    letter-spacing: 0.5px;
}

/* Cards */
.portal-card {
    background: var(--portal-card-bg);
    border: 1px solid var(--portal-border);
    border-radius: 0.5rem;
    padding: 1.5rem;
    margin-bottom: 1rem;
}

/* File Upload Dropzone */
.dropzone {
    border: 2px dashed var(--portal-border);
    border-radius: 0.5rem;
    padding: 2rem;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.2s, background-color 0.2s;
    color: var(--portal-muted);
}

.dropzone:hover,
.dropzone.dragover {
    border-color: var(--portal-primary);
    background-color: rgba(44, 82, 130, 0.05);
}

.dropzone.has-file {
    border-color: var(--portal-success);
    background-color: rgba(56, 161, 105, 0.05);
}

/* Status badges */
.badge-success { background-color: var(--portal-success); }
.badge-warning { background-color: var(--portal-warning); color: #000; }
.badge-danger { background-color: var(--portal-danger); }

/* Data tables */
.portal-table {
    width: 100%;
    border-collapse: collapse;
}

.portal-table th {
    background-color: var(--portal-primary);
    color: white;
    padding: 0.5rem 0.75rem;
    font-size: 0.85rem;
    font-weight: 600;
    text-align: left;
}

.portal-table td {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid var(--portal-border);
    font-size: 0.9rem;
}

.portal-table tr:hover {
    background-color: rgba(44, 82, 130, 0.03);
}

/* Progress bar override */
.progress-portal .progress-bar {
    background-color: var(--portal-primary);
}

/* Section title */
.section-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--portal-primary);
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--portal-primary);
}

/* Footer */
footer {
    color: var(--portal-muted);
    font-size: 0.85rem;
}

/* Utility */
.text-portal-primary { color: var(--portal-primary); }
.bg-portal-primary { background-color: var(--portal-primary); }
