/* e-Cuti — shared styles that don't belong as inline Tailwind utilities.
   Loaded once via includes/head.php on every page. */

.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  font-size: 24px;
  line-height: 1;
  user-select: none;
}

body {
  -webkit-font-smoothing: antialiased;
}

/* Signature status component: an official "stamp" rather than a generic
   SaaS pill — dashed border, slight rotation, uppercase tracked label. */
.stamp {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.625rem;
  border: 1.5px dashed currentColor;
  border-radius: 0.375rem;
  transform: rotate(-2deg);
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
}

.stamp-approved { color: #15803D; background: rgba(21, 128, 61, 0.08); }
.stamp-pending  { color: #B45309; background: rgba(180, 83, 9, 0.08); }
.stamp-rejected { color: #B91C1C; background: rgba(185, 28, 28, 0.08); }
.stamp-revisi   { color: #1D4ED8; background: rgba(29, 78, 216, 0.08); }

/* Keyboard focus visibility (kept even though we don't add custom :focus
   suppression elsewhere) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid #003366;
  outline-offset: 2px;
}

/* Modal open/close, toggled by assets/js/app.js */
[data-modal] { display: none; }
[data-modal].is-open { display: flex; }

/* Sidebar collapse/expand animation — was a Tailwind arbitrary-value class
   (transition-[width,transform]) but that bracket+comma syntax doesn't
   reliably survive the compiled build's content scan alongside neighboring
   classes, so it lives here as plain CSS instead. */
#sidebar-drawer {
  transition-property: width, transform;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1); /* Tailwind's ease-out curve */
  transition-duration: 200ms;
}

@media (prefers-reduced-motion: reduce) {
  * { transition-duration: 0.001ms !important; animation-duration: 0.001ms !important; }
}
