/* Theme overrides: align Bootstrap primary to project theme and fix focus color */
:root {
  --bs-primary: rgb(var(--primary));
  --bs-primary-rgb: var(--primary);
}

/* Global input/select focus ring in theme color */
.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  border-color: rgb(var(--primary)) !important;
  box-shadow: 0 0 0 0.25rem rgba(var(--primary), 0.25) !important;
  outline: 0;
}

/* Show calendar icon on date inputs */
input[type="date"].form-control,
.flatpickr-input[readonly].form-control,
input.form-control + .flatpickr-input[readonly] {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="%23666" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg>');
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 18px;
  padding-right: 2.25rem;
}
 /* Typography adjustments for this form */
 .user-form .form-control,
 .user-form .form-select,
 .user-form .flatpickr-input.form-control {
   font-size: 0.95rem;
 }
 .user-form .form-label {
   font-size: 1rem;
   font-weight: 500;
 }
 .action-btn{width:36px;height:36px;display:inline-grid;place-items:center;padding:0;border-radius:50%;border:2px solid currentColor;background:#fff;box-sizing:border-box;line-height:0;color:#64748b;position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,opacity .18s}
 .action-btn i{font-size:18px;display:block;line-height:1;margin-top:0; margin-right:5px;transition:transform .18s ease,color .18s ease,opacity .18s}
 .action-btn:hover{transform:translateY(-1px)}
 .action-btn:active{transform:translateY(0)}
 .action-btn:focus-visible{outline:2px solid rgba(59,130,246,.5);outline-offset:2px}
 .action-btn::after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:currentColor;opacity:.12;transform:translate(-50%,-50%);transition:width .25s ease,height .25s ease,opacity .35s ease}
 .action-btn:active::after{width:180%;height:180%;opacity:.08}
 .action-btn--edit{color:#f59e0b;background:#fef3c7}
 .action-btn--edit:hover{background:#fde68a;box-shadow:0 4px 12px rgba(245,158,11,.3)}
 .action-btn--edit:hover i{transform:scale(1.1)}
 .action-btn--delete{color:#ef4444;background:#fee2e2}
 .action-btn--delete:hover{background:#fecaca;box-shadow:0 4px 12px rgba(239,68,68,.3)}
 .action-btn--delete:hover i{transform:scale(1.1)}
 .actions-wrap{display:flex;gap:.5rem;align-items:center}
/* Flatpickr theme overrides to match project theme */
.flatpickr-calendar {
  border: 1px solid rgba(var(--primary), 0.25);
  box-shadow: 0 10px 25px rgba(0,0,0,.08);
  border-radius: 12px;
}
.flatpickr-months .flatpickr-month,
.flatpickr-weekdays {
  background: rgba(var(--primary), 0.06);
}
.flatpickr-day.today {
  border-color: rgba(var(--primary), 0.7);
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange {
  background: rgb(var(--primary));
  border-color: rgb(var(--primary));
  color: #fff;
}
.flatpickr-day:hover {
  background: rgba(var(--primary), 0.15);
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  color: rgb(var(--primary));
} 