body { font-family: 'Inter', sans-serif; -webkit-font-smoothing: antialiased; }
h1, h2, h3, .font-display { font-family: 'Space Grotesk', sans-serif; }
.event-card { transition: all 0.15s ease; border-left-width: 3px; }
.event-card:hover { transform: translateY(-1px); box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); z-index: 10; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
input, select, textarea { font-size: 16px; } 
@media (min-width: 768px) { input, select, textarea { font-size: 0.85rem; } }
input:focus, select:focus, textarea:focus { outline: none; border-color: #caff00; ring: 1px; }
input[type="color"] { -webkit-appearance: none; border: none; padding: 0; overflow: hidden; border-radius: 0.25rem; cursor: pointer; }
input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; }
input[type="color"]::-webkit-color-swatch { border: none; }
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; }
input[type="time"]::-webkit-calendar-picker-indicator { cursor: pointer; opacity: 0.6; transition: 0.2s; }
input[type="time"]::-webkit-calendar-picker-indicator:hover { opacity: 1; }
.read-only { background-color: #f9fafb; color: #4b5563; cursor: default; border-color: #e5e7eb; pointer-events: none; }
.label-mini { display: block; font-size: 0.65rem; font-weight: 800; color: #9ca3af; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 2px; }
.custom-dropdown { position: absolute; top: 100%; left: 0; width: 100%; background: white; border: 1px solid #e5e7eb; border-radius: 0.375rem; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); z-index: 60; max-height: 180px; overflow-y: auto; margin-top: 4px; }
.custom-dropdown-item { padding: 8px 12px; font-size: 0.85rem; cursor: pointer; border-bottom: 1px solid #f3f4f6; }
.custom-dropdown-item:hover { background-color: #f7fee7; color: #1a2e05; }
@keyframes moveIndeterminate { 0% { margin-left: -30%; width:30%; } 50% { margin-left: 30%; width: 50%; } 100% { margin-left: 100%; width: 20%; } }
@keyframes fadeIn { from { opacity:0; transform:scale(0.98); } to { opacity:1; transform:scale(1); } }
.dark-header { background-color: #000000; color: white; }
.dark-login { background-color: #000000; }