@tailwind base;@tailwind components;@tailwind utilities;@layer base{*{@apply box-border;}body{@apply bg-background-secondary text-gray-800 font-sans antialiased;}h1{@apply text-h1;}h2{@apply text-h2;}h3{@apply text-h3;}h4{@apply text-h4;}p{@apply text-body;}small{@apply text-small;}}@layer components{.card-glass{@apply bg-gradient-to-br from-white/80 to-white/40 backdrop-blur-xl border border-white/20 shadow-glass rounded-card p-card-padding transition-all duration-300;}.card-glass-hover{@apply card-glass hover:scale-[1.02] hover:shadow-card-hover cursor-pointer;}.card-solid{@apply bg-white border border-gray-200 shadow-card rounded-card p-card-padding;}.card-outlined{@apply border-2 border-gray-300 bg-transparent rounded-card p-card-padding;}.btn-base{@apply rounded-button font-medium transition-all duration-200 active:scale-95 disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2;}.btn-primary{@apply btn-base bg-primary-600 text-white hover:bg-primary-700 shadow-lg hover:shadow-xl px-4 py-2;}.btn-secondary{@apply btn-base bg-gray-200 text-gray-800 hover:bg-gray-300 px-4 py-2;}.btn-outline{@apply btn-base border-2 border-primary-600 text-primary-600 hover:bg-primary-50 px-4 py-2;}.btn-ghost{@apply btn-base text-gray-600 hover:bg-gray-100 px-4 py-2;}.btn-danger{@apply btn-base bg-red-600 text-white hover:bg-red-700 shadow-lg hover:shadow-xl px-4 py-2;}.input-base{@apply w-full px-4 py-2 rounded-input border border-gray-300 bg-white transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent hover:border-gray-400;}.input-error{@apply input-base border-red-500 bg-red-50 focus:ring-red-500;}.badge-base{@apply inline-flex items-center px-2.5 py-0.5 rounded-badge text-xs font-medium;}.badge-paid{@apply badge-base bg-green-100 text-green-800;}.badge-pending{@apply badge-base bg-yellow-100 text-yellow-800;}.badge-overdue{@apply badge-base bg-red-100 text-red-800;}.badge-cancelled{@apply badge-base bg-gray-100 text-gray-800;}.table-base{@apply w-full border-collapse;}.table-header{@apply bg-gray-50 border-b-2 border-gray-200;}.table-row{@apply border-b border-gray-200 hover:bg-gray-50 transition-colors;}.table-cell{@apply px-4 py-3 text-sm;}.container-page{@apply max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8;}.section-spacing{@apply space-y-section-gap;}.grid-cards{@apply grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-grid-gap;}}@layer utilities{.glass-effect{@apply backdrop-blur-xl bg-white/30 border border-white/20;}.text-balance{text-wrap:balance}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:theme("colors.gray.300") transparent}.scrollbar-thin::-webkit-scrollbar{width:8px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:theme("colors.gray.300");border-radius:4px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:theme("colors.gray.400")}}html{scroll-behavior:smooth}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-shimmer{background:linear-gradient(90deg,hsl(var(--skeleton-base)) 25%,hsl(var(--skeleton-highlight)),hsl(var(--skeleton-base)) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:hsl(var(--border)) transparent}.scrollbar-thin::-webkit-scrollbar{width:6px;height:6px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent}.scrollbar-thin::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground))}.focus-ring{outline:none}.focus-ring:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.glass{background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.dark .glass{background:#0f172acc}.gradient-sidebar{background:linear-gradient(to bottom,#2563eb,#1d4ed8,#1e3a8a)}.dark .gradient-sidebar{background:linear-gradient(to bottom,#0f172a,#0f172a,#020617)}.gradient-brand{background:linear-gradient(to bottom right,#2563eb,#1d4ed8,#1e40af)}.gradient-brand-vertical{background:linear-gradient(to bottom,#1d4ed8,#1e40af)}.text-status-success{color:#059669}.dark .text-status-success{color:#34d399}.bg-status-success{background-color:#ecfdf5}.dark .bg-status-success{background-color:#065f4633}.text-status-error{color:#dc2626}.dark .text-status-error{color:#f87171}.bg-status-error{background-color:#fef2f2}.dark .bg-status-error{background-color:#7f1d1d33}.text-status-warning{color:#d97706}.dark .text-status-warning{color:#fbbf24}.bg-status-warning{background-color:#fffbeb}.dark .bg-status-warning{background-color:#78350f33}.text-status-pending{color:#ea580c}.dark .text-status-pending{color:#fb923c}.bg-status-pending{background-color:#fff7ed}.dark .bg-status-pending{background-color:#7c2d1233}.text-status-info{color:#2563eb}.dark .text-status-info{color:#60a5fa}.bg-status-info{background-color:#eff6ff}.dark .bg-status-info{background-color:#1e3a8a33}.animate-fade-in{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-slide-up{animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-scale-in{animation:scaleIn .2s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}input:focus,select:focus,textarea:focus,button:focus{outline:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.flex-center{display:flex;align-items:center;justify-content:center}@media(max-width:1023px){.lg-only{display:none!important}}@media(min-width:1024px){.mobile-only{display:none!important}}@media print{.no-print{display:none!important}.print-only{display:block!important}body{background:#fff!important}}
