body { background: #f6f7f9; }
.login-card { width: 100%; max-width: 430px; border: 0; }
.card { border: 0; }
.filename-col { max-width: 260px; vertical-align: middle; }
.table td, .table th { padding: .85rem 1rem; }

.upload-result {
    display: flex;
    gap: .85rem;
    align-items: center;
    padding: .9rem 1rem;
    border-radius: .75rem;
    border: 1px solid transparent;
}
.upload-result .result-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    flex: 0 0 38px;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1;
}
.upload-success { background: #eaf7ee; color: #146c43; border-color: #a3cfbb; }
.upload-success .result-icon { color: #fff; background: #198754; }
.upload-failure { background: #fcebec; color: #842029; border-color: #f1aeb5; }
.upload-failure .result-icon { color: #fff; background: #dc3545; }

.preview-wrap { position: relative; min-height: 390px; background: #eef1f4; overflow: hidden; }
#pdfPreview { width: 100%; height: 390px; border: 0; display: block; background: #fff; }
.preview-empty {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #6c757d;
    padding: 2rem;
    background: #f8f9fa;
}
.receipt-preview-link { max-width: 340px; text-decoration: none; word-break: break-word; }
.receipt-preview-link:hover { text-decoration: underline; }
.status-badge { min-width: 78px; padding: .48em .7em; }

@media (max-width: 767.98px) {
    .preview-wrap, #pdfPreview { min-height: 320px; height: 320px; }
    .table td, .table th { padding: .7rem .75rem; }
}
