/**
 * Order detail page (/order/{id}) — guaranteed contrast for status, timer, cards.
 * Loaded last; uses --order-* tokens from site_appearance_css.php.
 */

/* ── Page shell: headings independent of inherited page text color ── */
.order-details-v2.order-details-page .order-header h2 {
    color: var(--order-page-heading, var(--dash-heading, #111827)) !important;
}

/* ── Status badges ── */
.order-details-v2 .status-badge,
.order-details-page .status-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1.35;
    border: 1px solid transparent;
    -webkit-font-smoothing: antialiased;
}

.order-details-v2 .status-badge--success,
.order-details-page .status-badge--success {
    background: var(--order-status-success-bg) !important;
    color: var(--order-status-success-text) !important;
    border-color: var(--order-status-success-border) !important;
}

.order-details-v2 .status-badge--warning,
.order-details-page .status-badge--warning {
    background: var(--order-status-warning-bg) !important;
    color: var(--order-status-warning-text) !important;
    border-color: var(--order-status-warning-border) !important;
}

.order-details-v2 .status-badge--danger,
.order-details-page .status-badge--danger {
    background: var(--order-status-danger-bg) !important;
    color: var(--order-status-danger-text) !important;
    border-color: var(--order-status-danger-border) !important;
}

.order-details-v2 .status-badge--info,
.order-details-page .status-badge--info {
    background: var(--order-status-info-bg) !important;
    color: var(--order-status-info-text) !important;
    border-color: var(--order-status-info-border) !important;
}

.order-details-v2 .status-badge .status-icon,
.order-details-v2 .status-badge #orderStatusText,
.order-details-page .status-badge .status-icon,
.order-details-page .status-badge #orderStatusText {
    color: inherit !important;
}

/* ── Response timer ── */
.order-details-v2 .order-response-timer,
.order-details-page .order-response-timer {
    max-width: min(960px, 100%);
    margin: 0 auto 0.75rem;
    padding: 0.65rem 1rem;
    border-radius: 12px;
    border: 2px solid var(--order-timer-default-border);
    background: var(--order-timer-default-bg) !important;
    color: var(--order-timer-default-text) !important;
    font-weight: 700;
    font-size: 0.95rem;
    text-align: center;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

.order-details-v2 .order-response-timer--running,
.order-details-page .order-response-timer--running {
    border-color: var(--order-timer-running-border) !important;
    background: var(--order-timer-running-bg) !important;
    color: var(--order-timer-running-text) !important;
}

.order-details-v2 .order-response-timer--final-success,
.order-details-page .order-response-timer--final-success {
    border-color: var(--order-timer-success-border) !important;
    background: var(--order-timer-success-bg) !important;
    color: var(--order-timer-success-text) !important;
}

.order-details-v2 .order-response-timer--final-reject,
.order-details-page .order-response-timer--final-reject {
    border-color: var(--order-timer-reject-border) !important;
    background: var(--order-timer-reject-bg) !important;
    color: var(--order-timer-reject-text) !important;
}

.order-details-v2 .order-response-timer--final-cancel,
.order-details-page .order-response-timer--final-cancel {
    border-color: var(--order-timer-cancel-border) !important;
    background: var(--order-timer-cancel-bg) !important;
    color: var(--order-timer-cancel-text) !important;
}

.order-details-v2 .order-response-timer__icon,
.order-details-v2 .order-response-timer #orderResponseTimerPrefix,
.order-details-v2 .order-response-timer #orderResponseTimerLabel,
.order-details-page .order-response-timer__icon,
.order-details-page .order-response-timer #orderResponseTimerPrefix,
.order-details-page .order-response-timer #orderResponseTimerLabel {
    color: inherit !important;
}

.order-details-v2 .order-response-timer__icon {
    margin-inline-start: 0.35rem;
}

/* ── Order info card rows ── */
.order-details-v2 .order-info-card,
.order-details-page .order-info-card {
    color: var(--order-card-text, var(--dash-text)) !important;
}

.order-details-v2 .order-info-card__title,
.order-details-page .order-info-card__title {
    color: var(--order-card-label, var(--dash-text-secondary)) !important;
}

.order-details-v2 .order-row__label,
.order-details-page .order-row__label {
    color: var(--order-card-label, var(--dash-text-secondary)) !important;
}

.order-details-v2 .order-row__value,
.order-details-page .order-row__value {
    color: var(--order-card-value, var(--order-card-text)) !important;
}

.order-details-v2 .order-row__value--price,
.order-details-page .order-row__value--price {
    color: var(--order-card-price, var(--dash-green)) !important;
}

.order-details-v2 .order-inputs-section__title,
.order-details-page .order-inputs-section__title {
    color: var(--order-card-text) !important;
}

/* ── Rejection card ── */
.order-details-v2 .rejection-card,
.order-details-page .rejection-card {
    background: var(--order-reject-bg) !important;
    border: 1px solid var(--order-reject-border) !important;
    color: var(--order-reject-text) !important;
}

.order-details-v2 .rejection-card__title,
.order-details-v2 .rejection-card__reason,
.order-details-page .rejection-card__title,
.order-details-page .rejection-card__reason {
    color: inherit !important;
}

/* ── Flash / inline alerts on order page ── */
.order-details-v2 .order-error,
.order-details-page .order-error {
    background: var(--order-alert-error-bg) !important;
    color: var(--order-alert-error-text) !important;
    border-color: var(--order-alert-error-border) !important;
}

.order-details-v2 .order-success,
.order-details-page .order-success {
    background: var(--order-alert-success-bg) !important;
    color: var(--order-alert-success-text) !important;
    border-color: var(--order-alert-success-border) !important;
}

.order-details-v2 .order-success-message,
.order-details-page .order-success-message {
    color: var(--order-status-success-text) !important;
}

.order-details-v2 .auto-refresh-indicator,
.order-details-page .auto-refresh-indicator {
    background: var(--order-status-info-bg) !important;
    color: var(--order-status-info-text) !important;
    border: 1px solid var(--order-status-info-border);
}

/* Admin approval note */
.order-details-v2 .note.section,
.order-details-page .note.section {
    color: var(--order-status-warning-text) !important;
    background: var(--order-status-warning-bg) !important;
    border-color: var(--order-status-warning-border) !important;
}

/* JSON / code blocks outside reply surface */
.order-details-v2 .json-display,
.order-details-page .json-display {
    background: var(--reply-code-bg, #f3f4f6) !important;
    color: var(--reply-text, #111827) !important;
    border: 1px solid var(--reply-border, #e5e7eb);
}

.order-details-v2 .delivery-card__title,
.order-details-page .delivery-card__title {
    color: var(--order-card-text, var(--reply-text)) !important;
}

@media print {
    .order-details-v2 .status-badge--success,
    .order-details-v2 .order-response-timer--final-success {
        background: #d1fae5 !important;
        color: #065f46 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .order-details-v2 .status-badge--danger,
    .order-details-v2 .order-response-timer--final-reject {
        background: #fee2e2 !important;
        color: #991b1b !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .order-details-v2 .status-badge--warning,
    .order-details-v2 .order-response-timer--running {
        background: #fef3c7 !important;
        color: #92400e !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}
