:root {
    --gd-font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", sans-serif;
    --gd-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
    --gd-bg: #f5f5f7;
    --gd-surface: #ffffff;
    --gd-surface-muted: #fbfbfd;
    --gd-text: #1d1d1f;
    --gd-text-muted: #6e6e73;
    --gd-border: #d2d2d7;
    --gd-border-strong: #c7c7cc;
    --gd-primary: #0071e3;
    --gd-primary-hover: #005bb5;
    --gd-primary-soft: #e8f2ff;
    --gd-success: #2d9d78;
    --gd-warning: #b26a00;
    --gd-danger: #c9342f;
    --gd-shadow-sm: 0 10px 30px rgba(15, 23, 42, 0.06);
    --gd-radius-sm: 10px;
    --gd-radius-md: 14px;
    --gd-radius-lg: 20px;
    --bs-font-sans-serif: var(--gd-font-sans);
    --bs-body-font-family: var(--gd-font-sans);
    --bs-primary: var(--gd-primary);
    --bs-primary-rgb: 0, 113, 227;
    --bs-link-color: var(--gd-primary);
    --bs-link-hover-color: var(--gd-primary-hover);
    --bs-body-bg: var(--gd-bg);
    --bs-body-color: var(--gd-text-muted);
    --bs-heading-color: var(--gd-text);
    --bs-border-color: var(--gd-border);
}

html,
body,
button,
input,
select,
textarea {
    font-family: var(--gd-font-sans) !important;
}

code,
pre,
kbd,
samp {
    font-family: var(--gd-font-mono) !important;
}

body {
    background: var(--gd-bg);
    color: var(--gd-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    color: var(--gd-text);
    font-weight: 600;
    letter-spacing: -0.02em;
}

p,
label,
small,
.text-muted,
.form-text {
    color: var(--gd-text-muted);
}

a {
    color: var(--gd-primary);
}

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

.card,
.modal-content,
.dropdown-menu,
.table,
.dataTables_wrapper .dataTables_paginate .paginate_button,
.swal2-popup {
    border-radius: var(--gd-radius-md);
}

.card,
.modal-content,
.dropdown-menu {
    background: var(--gd-surface);
    border: 1px solid rgba(210, 210, 215, 0.85);
    box-shadow: var(--gd-shadow-sm);
}

.btn {
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.btn-primary,
.bg-gradient-primary {
    background: var(--gd-primary) !important;
    border-color: var(--gd-primary) !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.bg-gradient-primary:hover {
    background: var(--gd-primary-hover) !important;
    border-color: var(--gd-primary-hover) !important;
}

.btn-outline-primary {
    color: var(--gd-primary);
    border-color: rgba(0, 113, 227, 0.35);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background: var(--gd-primary-soft);
    color: var(--gd-primary-hover);
    border-color: rgba(0, 113, 227, 0.45);
}

.form-control,
.form-select,
.input-group-text {
    border-radius: var(--gd-radius-sm);
    border-color: var(--gd-border);
    background-color: var(--gd-surface);
    color: var(--gd-text);
}

.form-control:focus,
.form-select:focus {
    border-color: rgba(0, 113, 227, 0.55);
    box-shadow: 0 0 0 4px rgba(0, 113, 227, 0.12);
}

.table {
    color: var(--gd-text);
    background: var(--gd-surface);
    overflow: hidden;
}

.table thead th {
    color: var(--gd-text-muted);
    background: var(--gd-surface-muted);
    border-bottom-color: var(--gd-border);
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.table > :not(caption) > * > * {
    border-color: rgba(210, 210, 215, 0.65);
}

.badge.bg-primary,
.bg-info,
.badge-primary {
    background: var(--gd-primary) !important;
}

.alert-success {
    color: #0f5132;
    background: #eefaf4;
    border-color: #cfe9da;
}

.alert-danger {
    color: #842029;
    background: #fdf0ef;
    border-color: #f1c6c3;
}

.alert-warning {
    color: #664d03;
    background: #fff8e8;
    border-color: #f0ddb0;
}

.alert-info {
    color: #055160;
    background: #eef7fb;
    border-color: #bfdce6;
}

.navbar-main,
.mobile-header {
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: saturate(180%) blur(20px);
    border-bottom: 1px solid rgba(210, 210, 215, 0.8);
}

.navbar-nav .nav-link.active,
.navbar-nav .nav-link:hover,
.navbar-nav .dropdown-menu .dropdown-item:hover,
.sidebar-link:hover {
    background: var(--gd-primary-soft) !important;
    color: var(--gd-primary-hover) !important;
}

.navbar-nav .nav-link .material-symbols-rounded,
.navbar-nav .dropdown-menu .material-symbols-rounded,
.sidebar-link i {
    color: var(--gd-primary) !important;
}

.main-content {
    background: var(--gd-bg);
}
