/* Small overrides on top of Tailwind */

html, body { height: 100%; }

/* Subtle scrollbar */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(15,23,41,0.16); border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: rgba(15,23,41,0.28); }

/* Native select chevron via background svg — uses Tailwind forms plugin already */
select.gi-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23566480' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.7rem center;
  background-size: 16px 16px;
  padding-right: 2.25rem;
  appearance: none;
}

/* Spinner */
.gi-spinner {
  width: 18px; height: 18px;
  border: 2px solid rgba(53,194,218,0.25);
  border-top-color: #35C2DA;
  border-radius: 50%;
  animation: gi-spin .6s linear infinite;
}
@keyframes gi-spin { to { transform: rotate(360deg); } }

/* Toast animations */
.gi-toast {
  pointer-events: auto;
  animation: gi-toast-in .25s ease-out;
}
@keyframes gi-toast-in { from { opacity: 0; transform: translateY(-6px); } }

/* Modal animations */
.gi-modal-backdrop { animation: gi-fade .15s ease-out; }
.gi-modal { animation: gi-pop .2s ease-out; }
@keyframes gi-fade { from { opacity: 0; } }
@keyframes gi-pop { from { opacity: 0; transform: translateY(6px) scale(0.98); } }

/* Sidebar mobile slide */
.gi-sidebar { transition: transform .25s ease; }

/* Hide arrows on number inputs (cleaner look) */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; }

/* Lucide icon sizing */
[data-lucide] { width: 1em; height: 1em; }
