.card.card { padding: 0; min-width: 220px; max-width: 220px; height: auto; overflow: hidden; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); display: flex; flex-direction: column; cursor: pointer; transition: transform 0.2s ease, box-shadow 0.2s ease; &:hover { transform: translateY(-4px); box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12); } &.disabled { cursor: default; &:hover { transform: none; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); } } } .imageContainer { position: relative; width: 100%; height: 240px; background: linear-gradient(180deg, #f5f5f5 0%, #e0e0e0 100%); overflow: hidden; } .portraitImage { object-fit: cover; object-position: center; } .placeholderImage { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%); } .placeholderLoader { color: #999; animation: spin 1s linear infinite; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .content { padding: 16px; display: flex; flex-direction: column; gap: 12px; background: white; } .textContent { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; text-align: left; } .title { line-height: 1.3; text-align: left; } .subtitle { line-height: 1.4; text-align: left; } .footer { display: flex; align-items: center; justify-content: space-between; min-height: 32px; } .status { display: flex; align-items: center; gap: 6px; padding: 6px 0; } .statusDone { color: #16a34a; .statusText { color: #16a34a; } .checkmark { color: #16a34a; } } .statusProcessing { color: #3b82f6; svg { animation: spin 1s linear infinite; } } .statusQueued { color: #f59e0b; svg { color: #f59e0b; } } .statusError { color: #ef4444; svg { color: #ef4444; } } .iconCheck, .iconQueued, .iconError { flex-shrink: 0; } .iconProcessing { flex-shrink: 0; animation: spin 1s linear infinite; } .actionButton { width: 40px; height: 40px; border-radius: 50%; background: #3b82f6; border: none; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.2s ease, transform 0.1s ease; flex-shrink: 0; svg { color: white; } &:hover { background: #2563eb; } &:active { transform: scale(0.95); } }