/* ImageSelectModal CSS Styles */ /* Modal Container */ .image-select-modal { width: 70vw; height: 85vh; max-width: 1000px; max-height: 6500px; } @media (max-width: 768px) { .image-select-modal { width: 95vw; height: 90vh; } } /* Modal Header */ .image-select-header { text-align: center; } /* Controls Container */ .image-select-controls { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 10px 20px; border-bottom: 1px solid #333; margin-bottom: 10px; } /* Control Buttons */ .image-select-btn { padding: 6px 12px; background-color: #4a4a4a; color: #fff; border: 1px solid #666; border-radius: 4px; cursor: pointer; font-size: 12px; transition: background-color 0.2s ease; } .image-select-btn:hover { background-color: #5a5a5a; } .image-select-btn:disabled { opacity: 0.5; cursor: not-allowed; } /* Page Info */ .image-select-page-info { margin: 0 20px; font-size: 14px; color: #666; } /* Jump Input */ .image-select-jump-input { width: 60px; padding: 4px 8px; margin: 0 10px; border-radius: 4px; border: 1px solid #555; background-color: #2a2a2a; color: #fff; } /* Grid Container */ .image-select-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; padding: 20px; max-height: calc(70vh - 60px); overflow-y: auto; } /* Image Wrapper */ .image-select-wrapper { width: 100%; aspect-ratio: 16/9; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); position: relative; } /* Image Styling */ .image-select-img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; border-radius: 8px; cursor: pointer; transition: transform 0.2s ease; } .image-select-img:hover { transform: scale(1.02); } /* Loading Container */ .image-select-loading { display: flex; justify-content: center; align-items: center; height: 200px; font-size: 16px; color: #666; } /* Loading Spinner */ .image-select-spinner { width: 20px; height: 20px; border: 2px solid #333; border-top: 2px solid #666; border-radius: 50%; animation: image-select-spin 1s linear infinite; margin-right: 10px; } /* Spinner Animation */ @keyframes image-select-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* setting-tav */ .textField-warn { border-color: #ff6b6b; } .textField-success { border-color: #51cf66; }