@tailwind base;
@tailwind components;
@tailwind utilities;
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@400;500;600;700&display=swap');

body, html {
  font-family: 'Quicksand', sans-serif;
}

.btn {
  display: inline-block;
  padding: 0.5rem 1.25rem;
  border-radius: 0.375rem;
  font-weight: 500;
  transition: background 0.2s, color 0.2s;
  cursor: pointer;
  border: none;
  outline: none;
}

:root {
  --color-primary: #d0011b;
  --color-primary-100: #ffe5e8;
  --color-primary-900: #af051c;
}

.text-brand-700 { color: var(--color-primary) !important; }
.bg-brand-100 { background-color: var(--color-primary-100) !important; }
.border-brand-500 { border-color: var(--color-primary) !important; }

.brand-bg {
  background-color: var(--color-primary) !important;
}
.brand-bg-light {
  background-color: #ffe5e8 !important;
}
.brand-text {
  color: var(--color-primary) !important;
}
.brand-border {
  border-color: var(--color-primary) !important;
}

.btn-primary {
  background: var(--color-primary);
  border: 1px solid var(--color-primary-900);
  color: #fff;
}

.btn-primary:hover {
  background: #a30317;
}

.btn-primary:active {
  background: #830313;
}

.btn-secondary {
  border: 1px solid #d1d5db;
  color: #374151;
}

.btn-secondary:hover, .btn-secondary:focus {
  background: #f9fafb;
}

.btn-edit-on-form {
  background: transparent;
  color: #333;
}

/* Add a universal class for textboxes */
.form-input {
    height: 2.75rem; /* h-11 */
    width: 100%; /* w-full */
    border-radius: 0.5rem; /* rounded-lg */
    border: 1px solid #d1d5db; /* border-gray-300 */
    background-color: transparent; /* bg-transparent */
    padding: 0.625rem 1rem; /* px-4 py-2.5 */
    font-size: 0.875rem; /* text-sm */
    color: #1f2937; /* text-gray-800 */
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); /* shadow-theme-xs */
    transition: border-color 0.2s, box-shadow 0.2s; /* Smooth focus effect */
}

.form-input:focus {
    border-color: #3b82f6; /* focus:border-brand-500 */
    outline: none; /* focus:outline-none */
    box-shadow: 0 0 0 1px #3b82f6; /* focus:ring-1 focus:ring-brand-500 */
}

/* Add a universal class for select elements */
.form-select {
    height: 2.75rem; /* h-11 */
    width: 100%; /* w-full */
    border-radius: 0.5rem; /* rounded-lg */
    border: 1px solid #d1d5db; /* border-gray-300 */
    background-color: transparent; /* bg-transparent */
    padding: 0.625rem 1rem; /* px-4 py-2.5 */
    font-size: 0.875rem; /* text-sm */
    color: #1f2937; /* text-gray-800 */
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); /* shadow-theme-xs */
    transition: border-color 0.2s, box-shadow 0.2s; /* Smooth focus effect */
}

.form-select:focus {
    border-color: #3b82f6; /* focus:border-brand-500 */
    outline: none; /* focus:outline-none */
    box-shadow: 0 0 0 1px #3b82f6; /* focus:ring-1 focus:ring-brand-500 */
}

/* Override select2 to match Tailwind/form-select */
.select2-container--default .select2-selection--single {
  height: 2.75rem !important;
  border-radius: 0.5rem !important;
  border: 1px solid #d1d5db !important;
  background-color: transparent !important;
  padding: 0.625rem 1rem !important;
  font-size: 0.875rem !important;
  color: #1f2937 !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;
  display: flex !important;
  align-items: center !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #1f2937 !important;
  line-height: 2.75rem !important;
  padding-left: 0 !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 2.75rem !important;
  right: 1rem !important;
}
.select2-container--default .select2-selection--single:focus,
.select2-container--default .select2-selection--single.select2-selection--focus {
  border-color: #3b82f6 !important;
  box-shadow: 0 0 0 1px #3b82f6 !important;
  outline: none !important;
}
.select2-dropdown {
  border-radius: 0.5rem !important;
  font-size: 0.875rem !important;
}
.select2-results__option--highlighted {
  background-color: #3b82f6 !important;
  color: #fff !important;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #6b7280 !important;
}

/* Sidebar icon coloring */
/* Định dạng cho icon mặc định (không active) */
.menu-item-icon-inactive {
  color: #6b7280; /* text-gray-500 */
}

/* Định dạng cho icon khi item được active */
.menu-item-icon-active {
  color: var(--color-primary); /* màu brand của bạn */
}

/* Định dạng cho link menu khi nó hoặc con của nó active */
.menu-item-active {
  background-color: var(--color-primary-100) !important; /* bg-brand-100 */
  color: var(--color-primary) !important; /* text-brand-700 */
}

/* Kẻ vạch bên trái cho menu cha đang active */
.menu-parent-active > a {
  border-left: 4px solid var(--color-primary);
}

/* Menu arrow states */
.menu-item-arrow {
  transition: transform 0.3s ease;
}

.menu-item-arrow-active {
  transform: rotate(180deg);
  stroke: var(--color-primary);
}

.menu-item-arrow-inactive {
  transform: rotate(0deg);
  stroke: #6b7280;
}

/* Custom scrollbar cho sidebar */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Đảm bảo submenu hiển thị mượt */
[x-cloak] {
    display: none !important;
}

/* Action buttons: View, Edit, Delete */
.btn-action-view {
    display: inline-flex;
    align-items: center;
    padding: 0.375rem 0.75rem; /* px-3 py-1.5 */
    border-radius: 0.375rem; /* rounded-md */
    border: 1px solid #d1d5db; /* border-gray-300 */
    background-color: #ffffff; /* bg-white */
    color: #374151; /* text-gray-700 */
    font-size: 0.75rem; /* text-xs */
    font-weight: 500; /* font-medium */
    transition: background-color 0.2s, border-color 0.2s; /* transition */
}

.btn-action-view:hover {
    background-color: #f9fafb; /* hover:bg-gray-50 */
}

.btn-action-edit {
    display: inline-flex;
    align-items: center;
    padding: 0.375rem 0.75rem; /* px-3 py-1.5 */
    border-radius: 0.375rem; /* rounded-md */
    border: 1px solid #3b82f6; /* border-blue-500 */
    background-color: #eff6ff; /* bg-blue-50 */
    color: #1d4ed8; /* text-blue-700 */
    font-size: 0.75rem; /* text-xs */
    font-weight: 500; /* font-medium */
    transition: background-color 0.2s, border-color 0.2s; /* transition */
}

.btn-action-edit:hover {
    background-color: #dbeafe; /* hover:bg-blue-100 */
}

.btn-action-delete {
    display: inline-flex;
    align-items: center;
    padding: 0.375rem 0.75rem; /* px-3 py-1.5 */
    border-radius: 0.375rem; /* rounded-md */
    border: 1px solid #ef4444; /* border-red-500 */
    background-color: #fef2f2; /* bg-red-50 */
    color: #b91c1c; /* text-red-700 */
    font-size: 0.75rem; /* text-xs */
    font-weight: 500; /* font-medium */
    transition: background-color 0.2s, border-color 0.2s; /* transition */
}

.btn-action-delete:hover {
    background-color: #fee2e2; /* hover:bg-red-100 */
}
