/* Small non-Tailwind bits: spinner, HTMX indicator, number inputs */
.spinner {
  width: 1.25rem; height: 1.25rem; border-radius: 9999px;
  border: 3px solid rgba(99, 102, 241, .25); border-top-color: #6366f1;
  animation: wms-spin .8s linear infinite; display: inline-block;
}
@keyframes wms-spin { to { transform: rotate(360deg); } }
.htmx-indicator { display: none !important; }
.htmx-request .htmx-indicator, .htmx-request.htmx-indicator { display: flex !important; }
input[type=number] { -moz-appearance: textfield; }
input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.donut { width: 9rem; height: 9rem; border-radius: 9999px; position: relative; }
.donut::after { content: ""; position: absolute; inset: 1.4rem; border-radius: 9999px; background: #fff; }
.dark .donut::after { background: #0f172a; }
.card, form.card, main > *, main .grid > * { min-width: 0; }
.tbl-wrap { overflow-x: auto; max-height: 75vh; }
@media (max-width: 1023px) { .tbl-wrap { max-height: none; } }
textarea.report { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; line-height: 1.4; }
