| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262 |
- @keyframes fadeIn {
- from { opacity: 0; }
- to { opacity: 1; }
- }
- @keyframes slideUp {
- from { transform: translateY(10px); opacity: 0; }
- to { transform: translateY(0); opacity: 1; }
- }
- /* Toast personalizado */
- #toast {
- top: 2rem;
- right: 2rem;
- min-width: 220px;
- max-width: 320px;
- background: #22c55e; /* verde por defecto */
- color: #fff;
- box-shadow: 0 4px 24px 0 rgba(0,0,0,0.18);
- border-radius: 0.75rem;
- z-index: 9999;
- transition: transform 0.3s, background 0.2s;
- animation: fadeIn 0.3s;
- position: fixed;
- display: flex;
- align-items: center;
- gap: 0.75rem;
- padding: 0.75rem 1.5rem;
- }
- #toast.bg-green-500 { background: #22c55e; }
- #toast.bg-red-500 { background: #ef4444; }
- #toast.bg-blue-500 { background: #3b82f6; }
- #toast.translate-x-full { transform: translateX(120%); }
- /* Tooltip personalizado */
- .custom-tooltip {
- position: absolute;
- z-index: 50;
- background: #222;
- color: #fff;
- padding: 0.25rem 0.75rem;
- border-radius: 0.375rem;
- font-size: 0.875rem;
- white-space: pre-line;
- box-shadow: 0 2px 8px rgba(0,0,0,0.18);
- opacity: 0;
- pointer-events: none;
- transition: opacity 0.15s;
- }
- .custom-tooltip.visible {
- opacity: 1;
- }
- /* Mejoras para dark mode */
- .dark .text-gray-900 { color: #f3f4f6 !important; }
- .dark .text-gray-700 { color: #d1d5db !important; }
- .dark .text-gray-600 { color: #9ca3af !important; }
- .dark .text-gray-500 { color: #6b7280 !important; }
- .dark .bg-white { background-color: #1f2937 !important; }
- .dark .border-gray-200 { border-color: #374151 !important; }
- .dark .border-gray-300 { border-color: #4b5563 !important; }
- .dark .bg-gray-50 { background-color: #111827 !important; }
- .dark .bg-blue-100 { background-color: #1e40af !important; }
- .dark .bg-red-100 { background-color: #7f1d1d !important; }
- .dark .bg-blue-900\/20 { background-color: rgba(30,64,175,0.2) !important; }
- .dark .bg-blue-900\/30 { background-color: rgba(30,64,175,0.3) !important; }
- .dark .bg-blue-900\/50 { background-color: rgba(30,64,175,0.5) !important; }
- .dark .bg-red-900\/30 { background-color: rgba(127,29,29,0.3) !important; }
- .dark .bg-red-900\/50 { background-color: rgba(127,29,29,0.5) !important; }
- /* Truncado de texto */
- .truncate {
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- max-width: 180px;
- display: inline-block;
- vertical-align: bottom;
- }
- /* Custom styles for the Flask Temporary File Upload application */
- /* Dark mode compatibility */
- .dark .bg-white {
- background-color: #1f2937;
- }
- .dark .text-gray-900 {
- color: #f9fafb;
- }
- .dark .text-gray-600 {
- color: #d1d5db;
- }
- .dark .border-gray-300 {
- border-color: #4b5563;
- }
- /* Fancybox Dark Theme Customization */
- .fancybox__backdrop {
- background: rgba(0, 0, 0, 0.9) !important;
- backdrop-filter: blur(10px) !important;
- }
- .fancybox__container {
- --fancybox-bg: transparent;
- --fancybox-color: #ffffff;
- }
- .fancybox__content {
- background: transparent !important;
- border-radius: 12px !important;
- overflow: hidden !important;
- box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.8) !important;
- }
- .fancybox__image {
- border-radius: 8px !important;
- box-shadow: 0 20px 40px -12px rgba(0, 0, 0, 0.6) !important;
- }
- .fancybox__toolbar {
- background: rgba(0, 0, 0, 0.8) !important;
- backdrop-filter: blur(10px) !important;
- border-radius: 8px !important;
- margin: 10px !important;
- border: 1px solid rgba(255, 255, 255, 0.1) !important;
- }
- .fancybox__button {
- background: rgba(255, 255, 255, 0.1) !important;
- border: 1px solid rgba(255, 255, 255, 0.2) !important;
- color: white !important;
- border-radius: 6px !important;
- transition: all 0.2s ease !important;
- margin: 2px !important;
- }
- .fancybox__button:hover {
- background: rgba(255, 255, 255, 0.2) !important;
- border-color: rgba(255, 255, 255, 0.4) !important;
- transform: translateY(-1px) !important;
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
- }
- .fancybox__button svg {
- color: white !important;
- filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.5)) !important;
- }
- .fancybox__infobar {
- background: rgba(0, 0, 0, 0.8) !important;
- color: white !important;
- border-radius: 6px !important;
- padding: 8px 12px !important;
- margin: 10px !important;
- backdrop-filter: blur(10px) !important;
- border: 1px solid rgba(255, 255, 255, 0.1) !important;
- }
- .fancybox__caption {
- background: rgba(0, 0, 0, 0.8) !important;
- color: white !important;
- border-radius: 0 0 12px 12px !important;
- backdrop-filter: blur(10px) !important;
- border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
- text-align: center !important;
- font-size: 14px !important;
- font-weight: 500 !important;
- line-height: 1.4 !important;
- }
- .fancybox__nav .fancybox__button {
- background: rgba(255, 255, 255, 0.1) !important;
- border-radius: 50% !important;
- width: 48px !important;
- height: 48px !important;
- backdrop-filter: blur(10px) !important;
- }
- .fancybox__nav .fancybox__button:hover {
- background: rgba(255, 255, 255, 0.2) !important;
- transform: scale(1.1) !important;
- }
- /* Dark mode specific adjustments */
- .dark .fancybox__backdrop {
- background: rgba(0, 0, 0, 0.95) !important;
- }
- .dark .fancybox__toolbar {
- background: rgba(17, 24, 39, 0.9) !important;
- border-color: rgba(75, 85, 99, 0.3) !important;
- }
- .dark .fancybox__infobar {
- background: rgba(17, 24, 39, 0.9) !important;
- border-color: rgba(75, 85, 99, 0.3) !important;
- }
- .dark .fancybox__caption {
- background: rgba(17, 24, 39, 0.9) !important;
- border-top-color: rgba(75, 85, 99, 0.3) !important;
- }
- /* Responsive adjustments */
- @media (max-width: 768px) {
- .fancybox__nav .fancybox__button {
- width: 44px !important;
- height: 44px !important;
- }
-
- .fancybox__toolbar {
- margin: 5px !important;
- padding: 5px !important;
- }
-
- .fancybox__button {
- padding: 6px !important;
- margin: 1px !important;
- }
- }
- /* Image hover effects */
- .image-preview-container {
- position: relative;
- overflow: hidden;
- border-radius: 0.5rem;
- }
- .image-preview-overlay {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background: linear-gradient(45deg, rgba(79, 70, 229, 0.1), rgba(6, 182, 212, 0.1));
- opacity: 0;
- transition: opacity 0.3s ease;
- display: flex;
- align-items: center;
- justify-content: center;
- border-radius: 0.5rem;
- }
- .image-preview-container:hover .image-preview-overlay {
- opacity: 1;
- }
- .zoom-icon {
- background: rgba(255, 255, 255, 0.9);
- border-radius: 50%;
- padding: 0.5rem;
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
- transform: scale(0.8);
- transition: transform 0.2s ease;
- }
- .image-preview-container:hover .zoom-icon {
- transform: scale(1);
- }
|