:root {
    --gd-primary: #0b2e4f;
    --gd-primary-dark: #071a2c;
    --gd-primary-light: #1c4d7a;

    --gd-accent: #b8935a;
    --gd-accent-light: #d8bd8e;

    --gd-background: #f8f6f1;
    --gd-background-soft: #f1ede3;
    --gd-surface: #ffffff;

    --gd-text: #1c2733;
    --gd-text-muted: #5a6a7a;
    --gd-border: #e4dfd3;

    --gd-danger: #8a2f2f;
    --gd-danger-soft: #fbeeee;

    --gd-success: #287454;
    --gd-warning: #a36b22;

    --gd-radius-sm: 8px;
    --gd-radius-md: 12px;
    --gd-radius-lg: 16px;

    --gd-shadow-sm: 0 6px 20px rgba(11, 46, 79, 0.08);
    --gd-shadow-md: 0 18px 40px rgba(11, 46, 79, 0.14);

    --gd-font-serif: 'IBM Plex Serif', Georgia, serif;
    --gd-font-sans: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --gd-font-mono: 'IBM Plex Mono', Consolas, monospace;
}

html,
body {
    font-family: var(--gd-font-sans);
    background: var(--gd-background);
    color: var(--gd-text);
}

a {
    color: var(--gd-primary-light);
}

a:hover {
    color: var(--gd-primary);
}

.text-gd-primary {
    color: var(--gd-primary) !important;
}

.text-gd-accent {
    color: var(--gd-accent) !important;
}

.bg-gd-primary {
    background-color: var(--gd-primary) !important;
    color: #ffffff !important;
}

.bg-gd-primary-dark {
    background-color: var(--gd-primary-dark) !important;
    color: #ffffff !important;
}

.bg-gd-accent {
    background-color: var(--gd-accent) !important;
    color: #ffffff !important;
}

.border-gd {
    border-color: var(--gd-border) !important;
}

.btn-gd-primary {
    background: var(--gd-primary);
    border: 1px solid var(--gd-primary);
    color: #ffffff;
    border-radius: var(--gd-radius-sm);
    font-weight: 600;
    transition: all 0.15s ease;
}

.btn-gd-primary:hover,
.btn-gd-primary:focus {
    background: var(--gd-primary-light);
    border-color: var(--gd-primary-light);
    color: #ffffff;
}

.btn-gd-outline {
    background: transparent;
    border: 1px solid var(--gd-primary);
    color: var(--gd-primary);
    border-radius: var(--gd-radius-sm);
    font-weight: 600;
}

.btn-gd-outline:hover {
    background: var(--gd-primary);
    color: #ffffff;
}

.card-gd {
    background: var(--gd-surface);
    border: 1px solid var(--gd-border);
    border-radius: var(--gd-radius-md);
    box-shadow: var(--gd-shadow-sm);
}

.badge-gd-success {
    background: rgba(40, 116, 84, 0.12);
    color: var(--gd-success);
}

.badge-gd-warning {
    background: rgba(163, 107, 34, 0.12);
    color: var(--gd-warning);
}

.badge-gd-danger {
    background: rgba(138, 47, 47, 0.12);
    color: var(--gd-danger);
}

.form-control:focus,
.custom-select:focus {
    border-color: var(--gd-primary-light);
    box-shadow: 0 0 0 0.2rem rgba(28, 77, 122, 0.12);
}

.content-wrapper {
    background: var(--gd-background);
}

.main-header.navbar {
    border-bottom: 1px solid var(--gd-border);
}

.main-sidebar {
    background: var(--gd-primary-dark);
}

.nav-sidebar > .nav-item > .nav-link.active {
    background: var(--gd-primary-light);
    color: #ffffff;
}

.nav-sidebar .nav-link:hover {
    background: rgba(255, 255, 255, 0.06);
}

.brand-link {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.small-box {
    border-radius: var(--gd-radius-md);
    overflow: hidden;
}

.table thead th {
    border-bottom: 2px solid var(--gd-border);
    color: var(--gd-text);
}

.table td,
.table th {
    vertical-align: middle;
}

.modal-content {
    border-radius: var(--gd-radius-md);
    border: 1px solid var(--gd-border);
}

.alert {
    border-radius: var(--gd-radius-sm);
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
    }
}