:root {
    --ui-brand: #f28c28;
    --ui-ink: #0f172a;
    --ui-muted: #64748b;
    --ui-line: #dbe4ef;
    --ui-surface: #ffffff;
    --ui-surface-soft: #f8fafc;
    --ui-blue: #2b7de9;
    --ui-danger: #dc3545;
    --ui-radius-sm: 8px;
    --ui-radius-md: 12px;
    --ui-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.04);
}

body {
    color: var(--ui-ink);
}

.btn {
    border-radius: var(--ui-radius-sm);
    font-weight: 500;
    box-shadow: none;
}

.btn:focus-visible {
    box-shadow: 0 0 0 0.2rem rgba(43, 125, 233, 0.2);
}

.btn-primary {
    background-color: var(--ui-blue);
    border-color: var(--ui-blue);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: #1f67c5;
    border-color: #1f67c5;
}

.btn-outline-secondary {
    border-color: #b8c4d4;
    color: #4b5a6f;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
    background: #eef3f9;
    border-color: #9fb0c6;
    color: #334155;
}

.btn-outline-primary {
    color: var(--ui-blue);
    border-color: rgba(43, 125, 233, 0.45);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    color: #fff;
    background: var(--ui-blue);
    border-color: var(--ui-blue);
}

.btn-outline-danger {
    color: var(--ui-danger);
    border-color: rgba(220, 53, 69, 0.45);
}

.btn-outline-danger:hover,
.btn-outline-danger:focus {
    color: #fff;
    background: var(--ui-danger);
    border-color: var(--ui-danger);
}

.form-control,
.form-select {
    border-radius: var(--ui-radius-sm);
    border-color: #cbd5e1;
    min-height: 38px;
    background-color: #fff;
}

.form-control:focus,
.form-select:focus {
    border-color: #8db7f3;
    box-shadow: 0 0 0 0.2rem rgba(43, 125, 233, 0.15);
}

.input-group > .btn {
    border-radius: var(--ui-radius-sm);
}

.nav-tabs {
    border-bottom-color: var(--ui-line);
}

.nav-tabs .nav-link {
    border-radius: var(--ui-radius-sm) var(--ui-radius-sm) 0 0;
    color: #475569;
    border: 1px solid transparent;
    border-bottom: none;
    font-weight: 500;
}

.nav-tabs .nav-link:hover {
    color: #1e293b;
    background: #f3f6fb;
    border-color: #e2e8f0 #e2e8f0 transparent;
}

.nav-tabs .nav-link.active {
    color: #0f172a;
    background: #fff;
    border-color: #dbe4ef #dbe4ef #fff;
}

.badge {
    border-radius: 999px;
    font-weight: 600;
}

.card,
.modal-content,
.dropdown-menu,
.toast {
    border-radius: var(--ui-radius-md);
    border-color: var(--ui-line);
    box-shadow: var(--ui-shadow-sm);
}

.table > :not(caption) > * > * {
    border-bottom-color: #edf2f7;
}

.table-hover > tbody > tr:hover > * {
    --bs-table-bg-state: #f7faff;
}

.small,
small {
    color: var(--ui-muted);
}
