@import "tailwindcss"; /* ─── TerManager2 Custom UI ─── */ /* Card hover lift effect */ .card-hover { transition: transform 0.15s ease, box-shadow 0.15s ease; } .card-hover:hover { transform: translateY(-2px); box-shadow: 0 8px 25px -5px rgba(0, 0, 0, 0.1), 0 4px 10px -5px rgba(0, 0, 0, 0.04); } /* Colored left accent border for stat cards */ .card-accent-indigo { border-left: 4px solid #6366f1; } .card-accent-green { border-left: 4px solid #22c55e; } .card-accent-blue { border-left: 4px solid #3b82f6; } .card-accent-red { border-left: 4px solid #ef4444; } .card-accent-amber { border-left: 4px solid #f59e0b; } /* Table zebra striping */ .table-striped tbody tr:nth-child(even) { background-color: #f9fafb; } /* Action buttons */ .btn-action { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: 6px; font-size: 12px; font-weight: 600; transition: all 0.15s ease; border: none; cursor: pointer; text-decoration: none; } .btn-action-green { background: #dcfce7; color: #166534; } .btn-action-green:hover { background: #bbf7d0; } .btn-action-red { background: #fee2e2; color: #991b1b; } .btn-action-red:hover { background: #fecaca; } .btn-action-blue { background: #dbeafe; color: #1e40af; } .btn-action-blue:hover { background: #bfdbfe; } .btn-action-amber { background: #fef3c7; color: #92400e; } .btn-action-amber:hover { background: #fde68a; } .btn-action-gray { background: #f3f4f6; color: #374151; } .btn-action-gray:hover { background: #e5e7eb; } .btn-action-indigo { background: #e0e7ff; color: #4338ca; } .btn-action-indigo:hover { background: #c7d2fe; } /* Primary action buttons (filled) */ .btn-primary-green { background: #16a34a; color: #fff; } .btn-primary-green:hover { background: #15803d; } .btn-primary-red { background: #dc2626; color: #fff; } .btn-primary-red:hover { background: #b91c1c; } /* Gradient header */ .header-gradient { background: linear-gradient(135deg, #4338ca 0%, #6366f1 50%, #818cf8 100%); } /* Sidebar active state */ .sidebar-active { background: linear-gradient(90deg, #eef2ff, #e0e7ff); border-right: 3px solid #6366f1; color: #4338ca; font-weight: 600; } /* Smooth page transitions */ .page-enter { animation: fadeSlideIn 0.25s ease-out; } @keyframes fadeSlideIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } } /* Empty state styling */ .empty-state { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 2rem 1rem; color: #9ca3af; } .empty-state svg { width: 48px; height: 48px; opacity: 0.4; } /* Badge pulse for active items */ .badge-pulse { animation: pulse 2s infinite; } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.7; } }