::-ms-input-placeholder { color: #94A3B8 !important; }

.form-label { font-size: 13px; font-weight: 500; color: #475569; margin-bottom: 5px; letter-spacing: -0.1px; }

.form-control {
    border: 1px solid #E2E8F0; border-radius: 10px; font-size: 14px; font-weight: 400;
    line-height: 20px; color: #1E293B; box-shadow: none !important; outline: none !important;
    padding: 8px 12px; background: #fff; transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.form-control:focus { border-color: var(--brand-400); background: #fff; box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1) !important; }
.form-control::placeholder { color: #94A3B8; }

.form-select {
    border: 1px solid #E2E8F0; font-size: 14px; font-weight: 400; line-height: 20px;
    color: #1E293B; box-shadow: none !important; border-radius: 10px; outline: none !important;
    padding: 8px 12px; background-color: #fff; transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.form-select:hover { border-color: #CBD5E1; }
.form-select:focus { border-color: var(--brand-400); background-color: #fff; box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1) !important; }

.form-control-textarea {
    border: 1px solid #E2E8F0; border-radius: 10px; font-size: 14px !important; font-weight: 400 !important;
    line-height: 20px !important; color: #1E293B; box-shadow: none !important; outline: none !important;
    padding: 8px 12px; background: #F8FAFC; transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
.form-control-textarea:focus { border-color: var(--brand-400); background: #fff; box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1) !important; }
.form-control-textarea::placeholder { color: #94A3B8; }

.btn-primary {
    font-size: 13px; font-weight: 500; line-height: 20px; color: #fff; padding: 7px 14px; gap: 6px;
    display: inline-flex; justify-content: center; align-items: center; background: var(--brand-600);
    border: 1px solid var(--brand-600) !important; border-radius: 10px !important;
    box-shadow: var(--shadow-xs) !important; transition: all 0.2s ease; letter-spacing: -0.1px; white-space: nowrap;
}
.btn-primary:hover, .btn-primary:focus { background-color: var(--brand-700) !important; box-shadow: var(--shadow-brand) !important; transform: translateY(-1px); }
.btn-primary:active { transform: translateY(0); }
.btn-primary:disabled { opacity: 0.4; background-color: var(--brand-600) !important; cursor: no-drop; transform: none !important; box-shadow: none !important; }

.btn-secondary {
    font-size: 13px; font-weight: 500; line-height: 20px; color: #475569; padding: 7px 14px; gap: 6px;
    display: inline-flex; justify-content: center; align-items: center; background: #F1F5F9;
    border: 1px solid #E2E8F0 !important; border-radius: 10px !important;
    box-shadow: none !important; transition: all 0.2s ease; letter-spacing: -0.1px;
}
.btn-secondary:hover, .btn-secondary:focus { background-color: #E2E8F0 !important; color: #1E293B; }
.btn-secondary:disabled { opacity: 0.4; background-color: #F1F5F9 !important; cursor: no-drop; }

.btn-danger {
    font-size: 13px; font-weight: 500; line-height: 20px; color: #fff; padding: 7px 14px; gap: 6px;
    display: inline-flex; justify-content: center; align-items: center; background: var(--color-danger);
    border: 1px solid var(--color-danger) !important; border-radius: 10px !important;
    box-shadow: 0 1px 2px rgba(239, 68, 68, 0.15) !important; transition: all 0.2s ease;
}
.btn-danger:hover, .btn-danger:focus { background-color: #DC2626 !important; }

.border-btn {
    border: 1px solid var(--brand-600); display: inline-flex; justify-content: center; align-items: center;
    padding: 7px 14px; gap: 6px; font-size: 13px !important; font-weight: 500 !important; line-height: 20px !important;
    color: var(--brand-600); border-radius: 10px; background: #fff; transition: all 0.2s ease;
}
.border-btn:focus, .border-btn:hover { background: var(--brand-50); }

.border-btn-gray {
    border: 1px solid #E2E8F0; display: inline-flex; justify-content: center; align-items: center;
    padding: 7px 14px; gap: 6px; font-size: 13px !important; font-weight: 500 !important; line-height: 20px !important;
    color: #475569; border-radius: 10px; background: #fff; transition: all 0.2s ease;
}
.border-btn-gray:focus, .border-btn-gray:hover { background: #F8FAFC; }

.icon-btn {
    min-width: 32px; max-width: 32px; min-height: 32px; max-height: 32px;
    display: flex; padding: 8px; justify-content: center; align-items: center;
    border-radius: 8px; border: 1px solid #E2E8F0; background: #fff;
    cursor: pointer; outline: none !important; transition: all 0.15s ease; color: #94A3B8;
}
.icon-btn:hover, .icon-btn:focus { background: #F8FAFC; border-color: #CBD5E1; color: #475569; }

.icon-btn-sm {
    min-width: 28px; max-width: 28px; min-height: 28px; max-height: 28px;
    display: flex; padding: 6px; justify-content: center; align-items: center;
    border-radius: 8px; border: 1px solid #E2E8F0; background: #fff;
    cursor: pointer; outline: none !important; transition: all 0.15s ease; color: #94A3B8; font-size: 12px;
}
.icon-btn-sm:hover, .icon-btn-sm:focus { background: #F8FAFC; border-color: #CBD5E1; color: #475569; }

.tab-btn {
    font-size: 13px; font-weight: 500; line-height: 20px; padding: 7px 14px;
    display: inline-flex; justify-content: center; align-items: center; background: #fff;
    border: 1px solid #E2E8F0 !important; border-radius: 10px !important;
    box-shadow: none !important; transition: all 0.2s ease; color: #94A3B8;
}
.tab-btn:hover, .tab-btn:focus { background-color: #F8FAFC !important; color: #475569; }
.tab-btn-active { border: 1px solid var(--brand-300) !important; color: var(--brand-700) !important; background: var(--brand-50); font-weight: 600; }

.text-btn {
    font-size: 13px; font-weight: 500; line-height: 20px; color: #475569; padding: 7px 14px;
    display: inline-flex; justify-content: center; align-items: center; background: transparent;
    border: 1px solid transparent !important; border-radius: 10px !important;
    box-shadow: none !important; transition: all 0.2s ease;
}
.text-btn:hover, .text-btn:focus { background-color: #F8FAFC !important; }

.badge-green {
    border: 1px solid var(--color-success-border); background: var(--color-success-light);
    padding: 1px 8px; font-size: 11px; line-height: 18px; font-weight: 500;
    color: var(--color-success-text); border-radius: 9999px;
    display: inline-flex; justify-content: center; align-items: center; white-space: nowrap; letter-spacing: -0.1px;
}
.badge-gray {
    border: 1px solid #E2E8F0; background: #F8FAFC;
    padding: 1px 8px; font-size: 11px; line-height: 18px; font-weight: 500;
    color: #64748B; border-radius: 9999px;
    display: inline-flex; justify-content: center; align-items: center; white-space: nowrap; letter-spacing: -0.1px;
}
.badge-blue {
    border: 1px solid var(--color-info-border); background: var(--color-info-light);
    padding: 1px 8px; font-size: 11px; line-height: 18px; font-weight: 500;
    color: var(--color-info-text); border-radius: 9999px;
    display: inline-flex; justify-content: center; align-items: center; white-space: nowrap; letter-spacing: -0.1px;
}
.badge-red {
    border: 1px solid var(--color-danger-border); background: var(--color-danger-light);
    padding: 1px 8px; font-size: 11px; line-height: 18px; font-weight: 500;
    color: var(--color-danger-text); border-radius: 9999px;
    display: inline-flex; justify-content: center; align-items: center; white-space: nowrap; letter-spacing: -0.1px;
}
.badge-yellow {
    border: 1px solid var(--color-warning-border); background: var(--color-warning-light);
    padding: 1px 8px; font-size: 11px; line-height: 18px; font-weight: 500;
    color: var(--color-warning-text); border-radius: 9999px;
    display: inline-flex; justify-content: center; align-items: center; white-space: nowrap; letter-spacing: -0.1px;
}

.dropdown-menu { border: 1px solid #E2E8F0; border-radius: 12px; box-shadow: var(--shadow-lg); }
.dropdown-item { margin-bottom: 0px !important; font-size: 13px !important; font-weight: 400 !important; line-height: 20px !important; cursor: pointer; }
.dropdown-item:hover, .dropdown-item:focus { background-color: #F8FAFC !important; }

.form-switch { margin-bottom: 0; min-height: unset; }
.form-switch .form-check-input { width: 36px; height: 20px; background-color: #CBD5E1; box-shadow: none; border: none; }
.form-switch .form-check-input:checked { background-color: var(--brand-500); }

input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--brand-600); cursor: pointer; }

.page-item .page-link { font-size: 13px; color: #475569; border-color: #E2E8F0; padding: 5px 10px; }
.page-item.active .page-link { background-color: var(--brand-600); border-color: var(--brand-600); color: #fff; }
.page-item .page-link:hover { background: #F8FAFC; }
