/**
 * TribestLynk Theme Styles
 * Client Portal PWA for Workforce Management
 * 
 * These styles extend/override Frappe Desk styles for TribestLynk branding.
 * All selectors are scoped to avoid conflicts with core Frappe styles.
 */

/* TribestLynk Brand Colors */
:root {
    --tribelynk-primary: #1A365D;
    --tribelynk-primary-light: #2D5A87;
    --tribelynk-secondary: #DD6B20;
    --tribelynk-success: #38A169;
    --tribelynk-danger: #E53E3E;
    --tribelynk-warning: #D69E2E;
    --tribelynk-info: #3182CE;
    --tribelynk-gray-50: #F7FAFC;
    --tribelynk-gray-100: #EDF2F7;
    --tribelynk-gray-200: #E2E8F0;
    --tribelynk-gray-500: #718096;
    --tribelynk-gray-700: #4A5568;
    --tribelynk-gray-900: #1A202C;
}

/* TribeLynk specific page styles */
.tribelynk-portal {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.tribelynk-portal .page-head {
    background-color: var(--tribelynk-primary);
    color: white;
}

.tribelynk-portal .page-head .title-text {
    color: white;
}

/* Leave Application custom field section */
.frappe-control[data-fieldname="supervisor_section"] .section-head {
    background-color: var(--tribelynk-gray-50);
    border-left: 4px solid var(--tribelynk-secondary);
    padding: 10px 15px;
    margin-bottom: 15px;
}

/* Supervisor action badges */
.supervisor-action-pending {
    background-color: var(--tribelynk-warning);
    color: white;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
}

.supervisor-action-approved {
    background-color: var(--tribelynk-success);
    color: white;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
}

.supervisor-action-rejected {
    background-color: var(--tribelynk-danger);
    color: white;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
}

/* Client Portal User form styles */
.doctype-client-portal-user .form-section {
    border-radius: 8px;
    background-color: var(--tribelynk-gray-50);
    margin-bottom: 16px;
}

/* Notification preference toggles */
.tribelynk-notification-toggle {
    display: flex;
    align-items: center;
    padding: 12px;
    background-color: white;
    border-radius: 6px;
    margin-bottom: 8px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.tribelynk-notification-toggle label {
    flex: 1;
    margin: 0;
    font-weight: 500;
}

/* Urgency indicators for leave requests */
.leave-urgency-high {
    border-left: 4px solid var(--tribelynk-danger) !important;
}

.leave-urgency-medium {
    border-left: 4px solid var(--tribelynk-warning) !important;
}

.leave-urgency-low {
    border-left: 4px solid var(--tribelynk-success) !important;
}

/* Dashboard widgets */
.tribelynk-stat-card {
    background: white;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    text-align: center;
}

.tribelynk-stat-card .stat-value {
    font-size: 32px;
    font-weight: 700;
    color: var(--tribelynk-primary);
}

.tribelynk-stat-card .stat-label {
    font-size: 14px;
    color: var(--tribelynk-gray-500);
    margin-top: 4px;
}

/* Responsive adjustments for mobile */
@media (max-width: 768px) {
    .tribelynk-portal .page-container {
        padding: 12px;
    }

    .tribelynk-stat-card {
        padding: 16px;
    }

    .tribelynk-stat-card .stat-value {
        font-size: 24px;
    }
}