/* Import Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap');

/* Font Variables */
:root {
    --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-secondary: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
}

/* Base Typography */
body {
    font-family: var(--font-primary);
    font-weight: var(--font-weight-regular);
    line-height: 1.6;
    color: #333;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-secondary);
    font-weight: var(--font-weight-semibold);
    line-height: 1.3;
    margin-bottom: 0.5rem;
}

h1 { font-size: 2.5rem; font-weight: var(--font-weight-bold); }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1.1rem; }

/* Navigation */
.navbar-brand {
    font-family: var(--font-secondary);
    font-weight: var(--font-weight-bold);
    font-size: 1.5rem;
}

.navbar-nav .nav-link {
    font-family: var(--font-primary);
    font-weight: var(--font-weight-medium);
}

/* Cards */
.card {
    font-family: var(--font-primary);
}

.card-header {
    font-family: var(--font-secondary);
    font-weight: var(--font-weight-semibold);
}

/* Buttons */
.btn {
    font-family: var(--font-primary);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.5px;
}

/* Forms */
.form-label {
    font-family: var(--font-secondary);
    font-weight: var(--font-weight-medium);
    margin-bottom: 0.5rem;
}

.form-control {
    font-family: var(--font-primary);
    font-weight: var(--font-weight-regular);
}

/* Tables */
.table {
    font-family: var(--font-primary);
}

.table th {
    font-family: var(--font-secondary);
    font-weight: var(--font-weight-semibold);
}

/* Alerts */
.alert {
    font-family: var(--font-primary);
    font-weight: var(--font-weight-regular);
}

/* Badges */
.badge {
    font-family: var(--font-primary);
    font-weight: var(--font-weight-medium);
}

/* Sidebar */
.sidebar {
    font-family: var(--font-primary);
}

.sidebar .nav-link {
    font-family: var(--font-primary);
    font-weight: var(--font-weight-medium);
}

/* Special Text Elements */
.lead {
    font-family: var(--font-primary);
    font-weight: var(--font-weight-regular);
    font-size: 1.1rem;
}

.text-muted {
    font-family: var(--font-primary);
    font-weight: var(--font-weight-regular);
}

/* Login/Special Pages */
.login-card h3,
.login-card h4 {
    font-family: var(--font-secondary);
    font-weight: var(--font-weight-bold);
}

/* Progress bars and stats */
.progress {
    font-family: var(--font-primary);
}

/* Custom utility classes */
.font-primary { font-family: var(--font-primary) !important; }
.font-secondary { font-family: var(--font-secondary) !important; }
.font-light { font-weight: var(--font-weight-light) !important; }
.font-regular { font-weight: var(--font-weight-regular) !important; }
.font-medium { font-weight: var(--font-weight-medium) !important; }
.font-semibold { font-weight: var(--font-weight-semibold) !important; }
.font-bold { font-weight: var(--font-weight-bold) !important; }