:root {
    --primary-color: #0d47a1;
    --primary-light: #1976d2;
    --primary-dark: #002171;
    --secondary-color: #00897b;
    --success-bg: #d4edda;
    --success-border: #c3e6cb;
    --success-text: #155724;
    --confirmed-green: #d1f2d9;
    --warning-bg: #fff3cd;
    --warning-text: #856404;
    --danger-bg: #f8d7da;
    --danger-text: #721c24;
}

body {
    font-family: 'Prompt', 'Sarabun', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background-color: #f4f7fa;
    color: #2c3e50;
    margin: 0;
    padding: 0;
    min-height: 100vh;
}

/* Custom Table Row Highlighting & Selection */
.mud-table-root tbody tr {
    cursor: pointer !important;
    transition: all 0.15s ease-in-out;
}

.mud-table-root tbody tr:hover {
    filter: brightness(0.96);
}

/* Selected Row (Vibrant Indigo Highlight with thick left accent) */
.row-selected {
    background-color: #bbdefb !important;
    color: #0d47a1 !important;
    font-weight: 600 !important;
    box-shadow: inset 6px 0 0 #1565c0, inset 0 0 0 2px #1976d2 !important;
}

.row-selected:hover {
    background-color: #90caf9 !important;
}

/* Selected + Confirmed Row (Vibrant Emerald Highlight with thick left accent) */
.row-selected-confirmed {
    background-color: #a7f3d0 !important;
    color: #064e3b !important;
    font-weight: 600 !important;
    box-shadow: inset 6px 0 0 #059669, inset 0 0 0 2px #10b981 !important;
}

.row-selected-confirmed:hover {
    background-color: #6ee7b7 !important;
}

.row-confirmed {
    background-color: #d1f2d9 !important;
    color: #0f5132 !important;
    font-weight: 500;
}

.row-confirmed:hover {
    background-color: #bbf7d0 !important;
}

.badge-confirmed {
    background-color: #2e7d32;
    color: white;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 0.82rem;
    font-weight: 600;
    display: inline-block;
}

.badge-pending {
    background-color: #757575;
    color: white;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 0.82rem;
    display: inline-block;
}

.badge-received {
    background-color: #1976d2;
    color: white;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 0.82rem;
    font-weight: 600;
    display: inline-block;
}

/* Header & Event Bar */
.event-header-bar {
    background: linear-gradient(135deg, #0d47a1 0%, #1565c0 50%, #00897b 100%);
    color: white;
    padding: 12px 24px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.event-title {
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.event-subtitle {
    font-size: 0.9rem;
    opacity: 0.9;
}

/* Action Buttons */
.action-card {
    background: white;
    border-radius: 10px;
    padding: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    margin-bottom: 16px;
}

/* QR Code Scanner Overlay */
#qr-reader-container {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}

#qr-reader-container video {
    border-radius: 12px;
}

/* Blinking operator scan field like frmQRCode */
.scanner-active-box {
    animation: pulse-bg 1.2s infinite alternate;
    font-family: monospace;
    font-size: 1.3rem;
    text-align: center;
    border: 2px dashed #1976d2;
    border-radius: 8px;
    padding: 14px;
}

@keyframes pulse-bg {
    0% { background-color: #ffffff; }
    100% { background-color: #ffe0b2; }
}

/* Custom Scrollbars */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}