@tailwind base;@tailwind components;@tailwind utilities;@layer base {html {font-family: 'Inter', 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;}body {@apply antialiased text-gray-900;line-height: 1.6;font-feature-settings: "cv03", "cv04", "cv11";}h1 {@apply text-3xl font-bold tracking-tight;line-height: 1.2;}h2 {@apply text-2xl font-semibold tracking-tight;line-height: 1.3;}h3 {@apply text-xl font-semibold;line-height: 1.4;}h4 {@apply text-lg font-medium;line-height: 1.5;}p {line-height: 1.7;}.text-sm {line-height: 1.5;}.text-xs {line-height: 1.4;}}@layer components {.btn {@apply inline-flex items-center justify-center px-4 py-2 text-sm font-medium rounded-lg transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2;}.btn-primary {@apply bg-blue-600 text-white hover:bg-blue-700 focus:ring-blue-500;}.btn-secondary {@apply bg-gray-600 text-white hover:bg-gray-700 focus:ring-gray-500;}.btn-success {@apply bg-green-600 text-white hover:bg-green-700 focus:ring-green-500;}.btn-warning {@apply bg-yellow-500 text-white hover:bg-yellow-600 focus:ring-yellow-400;}.btn-danger {@apply bg-red-600 text-white hover:bg-red-700 focus:ring-red-500;}.btn-outline {@apply border border-current bg-transparent hover:bg-current hover:text-white;}.btn-loading {@apply relative text-transparent;}.btn-loading::after {content: '';@apply absolute inset-0 border-2 border-transparent border-t-current rounded-lg animate-spin;}.form-input {@apply block w-full px-3 py-2.5 border border-gray-300 rounded-lg shadow-sm placeholder-gray-500 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-all duration-200;font-size: 16px;min-height: 42px;}.form-input:invalid {@apply border-red-300 focus:ring-red-500 focus:border-red-500;}.form-input.success {@apply border-emerald-300 focus:ring-emerald-500 focus:border-emerald-500;}.form-select {@apply block w-full px-3 py-2.5 border border-gray-300 rounded-lg shadow-sm bg-white focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-all duration-200;font-size: 16px;min-height: 42px;}.form-textarea {@apply block w-full px-3 py-2.5 border border-gray-300 rounded-lg shadow-sm placeholder-gray-500 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 resize-y transition-all duration-200;font-size: 16px;min-height: 100px;}.form-label {@apply block text-sm font-semibold text-gray-800 mb-2;letter-spacing: 0.025em;}.form-error {@apply text-sm text-red-700 mt-1 font-medium;}.form-group {@apply mb-6;}.form-help-text {@apply text-sm text-gray-600 mt-2;line-height: 1.5;}.card {@apply bg-white rounded-lg shadow-sm border border-gray-200 overflow-hidden;}.card-hover {@apply transition-transform duration-200 hover:shadow-md hover:-translate-y-1;}.card-header {@apply px-6 py-4 bg-gray-50 border-b border-gray-200;}.card-title {@apply text-lg font-semibold text-gray-900;}.card-content {@apply px-6 py-4;}.alert {@apply p-4 rounded-lg mb-4 font-medium;border-width: 1px;}.alert-success {@apply bg-emerald-50 text-emerald-900 border border-emerald-200;box-shadow: 0 1px 3px rgba(5, 150, 105, 0.1);}.alert-error {@apply bg-red-50 text-red-900 border border-red-300;box-shadow: 0 1px 3px rgba(220, 38, 38, 0.1);}.alert-warning {@apply bg-amber-50 text-amber-900 border border-amber-300;box-shadow: 0 1px 3px rgba(245, 158, 11, 0.1);}.alert-info {@apply bg-sky-50 text-sky-900 border border-sky-300;box-shadow: 0 1px 3px rgba(14, 165, 233, 0.1);}.field-error {@apply text-sm text-red-600 mt-1 flex items-center;}.field-success {@apply text-sm text-emerald-600 mt-1 flex items-center;}.field-warning {@apply text-sm text-amber-600 mt-1 flex items-center;}.tag {@apply inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium;}.tag-success {@apply bg-green-100 text-green-800;}.tag-warning {@apply bg-yellow-100 text-yellow-800;}.tag-danger {@apply bg-red-100 text-red-800;}.tag-info {@apply bg-blue-100 text-blue-800;}.tag-gray {@apply bg-gray-100 text-gray-800;}.table {@apply min-w-full divide-y divide-gray-200;}.table-header {@apply px-6 py-3 bg-gray-50 text-left text-xs font-medium text-gray-500 uppercase tracking-wider;}.table-cell {@apply px-6 py-4 whitespace-nowrap text-sm text-gray-900;}.table-row {@apply bg-white hover:bg-gray-50 transition-colors duration-150;}.modal-overlay {@apply fixed inset-0 bg-black bg-opacity-50 transition-opacity duration-300;z-index: 60;position: fixed !important;top: 0 !important;left: 0 !important;right: 0 !important;bottom: 0 !important;background-color: rgba(0, 0, 0, 0.5) !important;}.modal-container {@apply fixed inset-0 flex items-center justify-center p-4;z-index: 61;position: fixed !important;top: 0 !important;left: 0 !important;right: 0 !important;bottom: 0 !important;display: flex !important;align-items: center !important;justify-content: center !important;}.modal-content {@apply bg-white rounded-lg shadow-xl w-full max-h-screen overflow-y-auto;}.navbar {@apply bg-white shadow-sm border-b border-gray-200;}.navbar-brand {@apply text-xl font-bold text-gray-900;}.navbar-link {@apply text-gray-700 hover:text-gray-900 px-3 py-2 rounded-md text-sm font-medium transition-colors duration-200;}.navbar-link-active {@apply text-blue-600 bg-blue-50;}.pagination {@apply flex items-center justify-between;}.pagination-info {@apply text-sm text-gray-700;}.pagination-nav {@apply flex space-x-1;}.pagination-btn {@apply relative inline-flex items-center px-3 py-2 text-sm font-medium text-gray-500 bg-white border border-gray-300 rounded-md hover:bg-gray-50 hover:text-gray-700 transition-colors duration-200;}.pagination-btn-active {@apply text-blue-600 bg-blue-50 border-blue-300;}.pagination-btn-disabled {@apply opacity-50 cursor-not-allowed hover:bg-white hover:text-gray-500;}.dropdown {@apply relative inline-block text-left;}.dropdown-menu {@apply absolute right-0 mt-2 w-56 bg-white rounded-md shadow-lg ring-1 ring-black ring-opacity-5 z-50;}.dropdown-item {@apply block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 hover:text-gray-900 transition-colors duration-150;}.balance-tag {@apply inline-flex items-center px-3 py-1.5 rounded-full text-sm font-semibold cursor-pointer transition-all duration-200 hover:shadow-lg hover:-translate-y-0.5;min-height: 32px;}.balance-cash {@apply bg-emerald-100 text-emerald-900 border border-emerald-200 hover:bg-emerald-200 hover:text-emerald-950;box-shadow: 0 1px 2px rgba(5, 150, 105, 0.1);}.balance-points {@apply bg-blue-100 text-blue-900 border border-blue-200 hover:bg-blue-200 hover:text-blue-950;box-shadow: 0 1px 2px rgba(37, 99, 235, 0.1);}}@layer utilities {.text-muted {@apply text-gray-500;}.bg-light {@apply bg-gray-50;}.shadow-card {@apply shadow-sm hover:shadow-md transition-shadow duration-200;}.loading-spinner {animation: spin 1s linear infinite;}.btn-sm {@apply px-3 py-1.5 text-xs;}.btn-lg {@apply px-6 py-3 text-base;}.form-help-text {@apply text-xs text-gray-500 mt-1;}.field-error {@apply text-sm text-red-600 mt-1 flex items-center;}.field-success {@apply text-sm text-green-600 mt-1 flex items-center;}.field-warning {@apply text-sm text-yellow-600 mt-1 flex items-center;}.status-online {@apply inline-block w-2 h-2 bg-green-500 rounded-full;}.status-offline {@apply inline-block w-2 h-2 bg-red-500 rounded-full;}.status-pending {@apply inline-block w-2 h-2 bg-yellow-500 rounded-full animate-pulse;}.animate-fade-in {animation: fadeIn 0.3s ease-out;}.animate-fade-out {animation: fadeOut 0.3s ease-in;}.animate-bounce-in {animation: bounceIn 0.6s ease-out;}.animate-shake {animation: shake 0.5s ease-in-out;}@media (max-width: 768px) {.mobile-full {@apply w-full;}.mobile-stack {@apply flex-col;}.mobile-hide {@apply hidden;}.mobile-show {@apply block;}}.mobile-nav-link {@apply transition-colors duration-200;min-height: 44px;@apply flex items-center;}@media (max-width: 768px) {.modal-container {@apply p-2;}.modal-content {@apply max-h-screen overflow-y-auto rounded-lg;max-width: calc(100vw - 1rem);}}@media (max-width: 768px) {.table-responsive {@apply block overflow-x-auto whitespace-nowrap;-webkit-overflow-scrolling: touch;}.table-responsive .table {@apply min-w-full;}.table-responsive .table th, .table-responsive .table td {@apply text-sm px-2 py-3;}}@media (max-width: 768px) {.form-input, .form-select, .form-textarea {font-size: 16px;@apply min-h-11;}.btn {@apply min-h-11 px-4 py-2;}.btn-sm {@apply min-h-10 px-3 py-2 text-sm;}}@media (max-width: 768px) {.card-mobile-stack .card {@apply mb-4;}.card-mobile-compact .card-content {@apply px-4 py-3;}}@media (max-width: 768px) {.grid-mobile-single {@apply grid-cols-1;}.grid-mobile-stack .grid > * {@apply col-span-1;}}}@keyframes fadeIn {from {opacity: 0;transform: translateY(10px);}to {opacity: 1;transform: translateY(0);}}@keyframes slideDown {from {opacity: 0;transform: translateY(-10px);}to {opacity: 1;transform: translateY(0);}}@keyframes slideUp {from {opacity: 1;transform: translateY(0);}to {opacity: 0;transform: translateY(-10px);}}@keyframes fadeOut {from {opacity: 1;}to {opacity: 0;}}@keyframes bounceIn {0% {transform: scale(0.3);opacity: 0;}50% {transform: scale(1.05);}70% {transform: scale(0.9);}100% {transform: scale(1);opacity: 1;}}@keyframes shake {0%, 100% {transform: translateX(0);}10%, 30%, 50%, 70%, 90% {transform: translateX(-3px);}20%, 40%, 60%, 80% {transform: translateX(3px);}}.fade-in {animation: fadeIn 0.3s ease-out;}.animate-slide-down {animation: slideDown 0.2s ease-out;}.animate-slide-up {animation: slideUp 0.2s ease-out;}@media (max-width: 768px) {.mobile-slide-in {transform: translateX(-100%);transition: transform 0.3s ease-in-out;}.mobile-slide-in.is-active {transform: translateX(0);}}::-webkit-scrollbar {width: 8px;}::-webkit-scrollbar-track {@apply bg-gray-100 rounded;}::-webkit-scrollbar-thumb {@apply bg-gray-300 rounded hover:bg-gray-400;}@media print {.no-print {display: none !important;}}.hidden {display: none !important;}.inline-flex {display: inline-flex !important;}.flex {display: flex !important;}.block {display: block !important;}@media (min-width: 1024px) {.lg\:hidden {display: none !important;}.lg\:block {display: block !important;}.lg\:flex {display: flex !important;}.lg\:inline-flex {display: inline-flex !important;}}.navbar {}.navbar-brand:hover img {transform: scale(1.1);}.navbar-link {position: relative;}.navbar-link:hover {transform: translateY(-1px);}.dropdown-menu {transform-origin: top right;transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);}.dropdown-menu[style*="display: none"] {opacity: 0;transform: scale(0.95) translateY(-10px);pointer-events: none;}.dropdown-menu[style*="display: block"] {opacity: 1;transform: scale(1) translateY(0);pointer-events: auto;}.dropdown-item {position: relative;overflow: hidden;}.dropdown-item:before {content: '';position: absolute;top: 0;left: -100%;width: 100%;height: 100%;background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);transition: left 0.5s;}.dropdown-item:hover:before {left: 100%;}#mobile-menu {transform-origin: top right;transition: all 0.3s ease-in-out;}#mobile-menu.hidden {opacity: 0;transform: scale(0.95) translateY(-10px);}#mobile-menu:not(.hidden) {opacity: 1;transform: scale(1) translateY(0);}#hamburger-icon, #close-icon {transition: transform 0.3s ease;}.navbar-link:hover {background-image: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(147, 51, 234, 0.1) 100%);}#auth-buttons a:hover {box-shadow: 0 8px 25px rgba(147, 51, 234, 0.3);}@media (max-width: 1024px) {.navbar-brand span:last-child {display: none;}}@media (max-width: 640px) {#navbar-container {padding-left: 1rem;padding-right: 1rem;}.navbar-brand {transform: scale(0.9);}}@media (prefers-color-scheme: dark) {.navbar {background: rgba(15, 23, 42, 0.95);border-bottom-color: rgba(148, 163, 184, 0.2);}.dropdown-menu {background: rgba(15, 23, 42, 0.95);border-color: rgba(148, 163, 184, 0.2);}#mobile-menu {background: rgba(15, 23, 42, 0.98);border-color: rgba(148, 163, 184, 0.2);}}.navbar-link:focus, .dropdown-item:focus outline: 2px solid #3b82f6;outline-offset: 2px;border-radius: 0.75rem;}@media (prefers-reduced-motion: reduce) {* {animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important;}}@keyframes slideInRight {from {transform: translateX(100%);opacity: 0;}to {transform: translateX(0);opacity: 1;}}@keyframes slideOutRight {from {transform: translateX(0);opacity: 1;}to {transform: translateX(100%);opacity: 0;}}.toast {animation: slideInRight 0.3s ease-out;}.toast.removing {animation: slideOutRight 0.3s ease-out;}