/** * SigProUI - Estilos de la biblioteca de componentes UI * Requiere Tailwind CSS y DaisyUI */ /* Tailwind + DaisyUI */ @import "tailwindcss"; @plugin "daisyui" { themes: light --default, dark; } /* Utilidades personalizadas de SigProUI */ .btn-ghost { border-color: transparent !important; } .floating-label > span { font-size: 1.1rem; } /* Transiciones para componentes */ .input { transition: all 0.3s ease-in-out; outline: none; appearance: none; align-items: center; } .input:hover { background-color: var(--color-base-300); } /* Indicadores y badges */ .indicator { position: relative; } .indicator-item { position: absolute; top: 0; right: 0; transform: translate(50%, -50%); } /* Tooltips */ .tooltip { position: relative; } .tooltip::after { content: attr(data-tip); position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); padding: 0.5rem 1rem; background: oklch(var(--p)); color: oklch(var(--pc)); border-radius: 0.375rem; font-size: 0.75rem; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity 0.2s; } .tooltip:hover::after { opacity: 1; } /* Estados de carga */ .loading { display: inline-block; width: 1rem; height: 1rem; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: spin 0.75s linear infinite; } .loading.loading-xs { width: 1rem; height: 1rem; } .loading.loading-sm { width: 1rem; height: 1rem; } .loading.loading-md { width: 1.5rem; height: 1.5rem; } .loading.loading-lg { width: 2.5rem; height: 2.5rem; } .hidden { display: none; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* Loading spinner variants */ .loading-spinner { border-right-color: transparent; } .loading-dots::after { content: ""; animation: dots 1s infinite; } @keyframes dots { 0%, 20% { content: "."; } 40% { content: ".."; } 60%, 100% { content: "..."; } } .loading-ring { border-bottom-color: transparent; } .loading-facebook::after { content: ""; animation: facebook 1.5s infinite; } @keyframes facebook { 0% { transform: scale(0, 0.035); } 25% { transform: scale(0.035, 0.035); } 50% { transform: scale(0.035, 1); } 75% { transform: scale(1, 1); } 100% { transform: scale(1, 0.035); } }