/**
 * Travel Service - Dynamic Theme System
 * Layered theming: platform chrome + organisation/role branding
 *
 * The design-system.css provides platform-level tokens.
 * This file provides org-specific theme overrides applied post-login.
 */

/* ==============================================
   DEFAULT THEME (Fallback for other organisations)
   ============================================== */
:root,
body.default-theme {
    /* Primary Colors */
    --primary-color: #D84A45;
    --primary-color-dark: #C13A35;
    --primary-color-light: #E65A55;
    --primary-gradient: linear-gradient(135deg, #D84A45 0%, #E65A55 100%);

    /* Secondary Colors */
    --secondary-color: #454550;
    --text-color: #333333;
    --text-color-light: #666666;
    --text-color-muted: #999999;

    /* Background Colors */
    --bg-primary: #FFFFFF;
    --bg-secondary: #F8F9FA;
    --bg-tertiary: #E0E0E0;

    /* Border Colors */
    --border-color: #DEE2E6;
    --border-color-light: #E0E0E0;
    --border-color-focus: #D84A45;

    /* Status Colors */
    --success-color: #28A745;
    --warning-color: #FFC107;
    --danger-color: #DC3545;
    --info-color: #17A2B8;

    /* Shadows */
    --shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    --shadow-md: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
    --shadow-hover: 0 0.5rem 1.5rem rgba(216, 74, 69, 0.3);

    /* Animation */
    --transition-speed: 0.3s;
}

/* ==============================================
   AVIS THEME (Organisation Code: AVIS)
   Brand Colors: #D4002A (red), #FFFFFF (white), #454550 (dark gray)
   ============================================== */
body.avis-theme {
    /* Primary Colors */
    --primary-color: #D4002A;
    --primary-color-dark: #A00020;
    --primary-color-light: #E6002F;
    --primary-gradient: linear-gradient(135deg, #D4002A 0%, #E6002F 100%);

    /* Secondary Colors */
    --secondary-color: #454550;
    --text-color: #212529;
    --text-color-light: #6C757D;
    --text-color-muted: #ADB5BD;

    /* Background Colors */
    --bg-primary: #FFFFFF;
    --bg-secondary: #F8F9FA;
    --bg-tertiary: #E9ECEF;

    /* Border Colors */
    --border-color: #DEE2E6;
    --border-color-light: #E9ECEF;
    --border-color-focus: #D4002A;

    /* Status Colors */
    --success-color: #28A745;
    --warning-color: #FFC107;
    --danger-color: #D4002A;
    --info-color: #17A2B8;

    /* Shadows - Avis red tinted */
    --shadow-sm: 0 0.125rem 0.25rem rgba(212, 0, 42, 0.075);
    --shadow-md: 0 0.5rem 1rem rgba(212, 0, 42, 0.15);
    --shadow-lg: 0 1rem 3rem rgba(212, 0, 42, 0.175);
    --shadow-hover: 0 0.5rem 1.5rem rgba(212, 0, 42, 0.35);

    /* Animation */
    --transition-speed: 0.3s;
}

/* ==============================================
   FLIGHT CENTRE THEME (Organisation Code: FLIGHTCENTRE)
   Agent Theme - Blue Color Scheme
   ============================================== */
body.flightcentre-theme {
    /* Primary Colors - Blue for Agents */
    --primary-color: #0066CC;
    --primary-color-dark: #0052A3;
    --primary-color-light: #3385E0;
    --primary-gradient: linear-gradient(135deg, #0066CC 0%, #3385E0 100%);

    /* Secondary Colors */
    --secondary-color: #0A0A0A;
    --text-color: #212529;
    --text-color-light: #495057;
    --text-color-muted: #6C757D;

    /* Background Colors */
    --bg-primary: #FFFFFF;
    --bg-secondary: #F8F9FA;
    --bg-tertiary: #E9ECEF;

    /* Border Colors */
    --border-color: #DEE2E6;
    --border-color-light: #E9ECEF;
    --border-color-focus: #0066CC;

    /* Status Colors */
    --success-color: #28A745;
    --warning-color: #FFC107;
    --danger-color: #DC3545;
    --info-color: #17A2B8;

    /* Shadows - Blue tinted for agents */
    --shadow-sm: 0 0.125rem 0.25rem rgba(0, 102, 204, 0.075);
    --shadow-md: 0 0.5rem 1rem rgba(0, 102, 204, 0.15);
    --shadow-lg: 0 1rem 3rem rgba(0, 102, 204, 0.175);
    --shadow-hover: 0 0.5rem 1.5rem rgba(0, 102, 204, 0.35);

    /* Animation */
    --transition-speed: 0.3s;
}

/* ==============================================
   GLOBAL THEME APPLICATIONS (Dashboard / In-App)
   These use the org theme variables
   ============================================== */

/* Primary Buttons (in-app) */
.btn-primary,
button.btn-primary,
input[type="submit"].btn-primary {
    background: var(--primary-gradient);
    border-color: var(--primary-color);
    color: white;
    transition: all var(--transition-speed) ease;
}

.btn-primary:hover,
button.btn-primary:hover {
    background: var(--primary-color-dark);
    border-color: var(--primary-color-dark);
    box-shadow: var(--shadow-hover);
    transform: translateY(-2px);
}

/* Success Buttons */
.btn-success,
button.btn-success {
    background: var(--primary-gradient);
    border-color: var(--primary-color);
    color: white;
}

.btn-success:hover,
button.btn-success:hover {
    background: var(--primary-color-dark);
    border-color: var(--primary-color-dark);
    box-shadow: var(--shadow-hover);
}

/* Links */
a {
    color: var(--primary-color);
    transition: color var(--transition-speed) ease;
}

a:hover {
    color: var(--primary-color-dark);
}

/* Form Focus States */
.form-control:focus,
input:focus,
textarea:focus,
select:focus {
    border-color: var(--border-color-focus);
    box-shadow: 0 0 0 0.2rem rgba(var(--primary-color), 0.25);
    outline: none;
}

/* Cards */
.card {
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--border-color);
    transition: box-shadow var(--transition-speed) ease;
}

.card:hover {
    box-shadow: var(--shadow-md);
}

/* Badge Primary */
.badge.bg-primary,
.badge-primary {
    background-color: var(--primary-color) !important;
}

/* Text Primary */
.text-primary {
    color: var(--primary-color) !important;
}

/* Borders */
.border-primary {
    border-color: var(--primary-color) !important;
}

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

/* Spinners */
.spinner-border.text-primary {
    color: var(--primary-color) !important;
}

/* File Upload Area */
.file-upload-area:hover {
    border-color: var(--primary-color);
}

.file-upload-area.dragover {
    border-color: var(--primary-color);
    background-color: rgba(var(--primary-color), 0.05);
}

/* Table Headers */
.table th {
    background-color: var(--bg-secondary);
}

/* Status Badges with Primary Color */
.status-badge.bg-primary {
    background-color: var(--primary-color) !important;
}

/* Modal Headers/Footers */
.modal-header,
.modal-footer {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
}

/* Step Indicators */
.step.active {
    background: var(--primary-gradient);
}

.step-connector.active {
    background: var(--primary-color);
}

/* Feature Highlights */
.feature-highlight {
    background: var(--primary-gradient);
}

/* Register Links */
.register-link {
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.register-link:hover {
    background: var(--primary-color);
    color: white;
}

/* Supplier-specific color (blue) */
.register-link-supplier {
    border-color: #0066CC;
    color: #0066CC;
}

.register-link-supplier:hover {
    background: #0052A3;
    color: white;
}

/* Agent-specific color (blue) */
.register-link-agent {
    border-color: #0066CC;
    color: #0066CC;
}

.register-link-agent:hover {
    background: #0052A3;
    color: white;
}

/* Agent button variant (dark navy) */
.btn-agent,
.btn.btn-agent {
    background: #0D1B2A !important;
    border-color: #0D1B2A !important;
    color: white !important;
}

.btn-agent:hover,
.btn.btn-agent:hover {
    background: #1B2D3E !important;
    border-color: #1B2D3E !important;
    color: white !important;
    box-shadow: 0 0.5rem 1.5rem rgba(13, 27, 42, 0.35);
    transform: translateY(-2px);
}

/* Agent outline button variant */
.btn-outline-agent {
    background: white;
    border: 2px solid #0066CC;
    color: #0066CC;
}

.btn-outline-agent:hover {
    background: #0066CC;
    color: white;
    box-shadow: 0 0.5rem 1.5rem rgba(0, 102, 204, 0.35);
    transform: translateY(-2px);
}

/* Supplier Group Headers */
.supplier-group-header {
    border-left-color: var(--primary-color);
}

/* Loading States */
.loading-spinner {
    border-top-color: var(--primary-color);
}
