body { font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #f8fafc; }
.card { background: white; border-radius: 0.75rem; border: 1px solid #e2e8f0; padding: 1.25rem; margin-bottom: 1.25rem; }
.tab-btn.active { border-bottom: 3px solid #3b82f6; color: #1e3a8a; font-weight: 700; }
.tab-btn { color: #6b7280; font-weight: 500; border-bottom: 3px solid transparent; transition: all 0.2s; cursor: pointer; padding-bottom: 8px; }
.tab-btn:hover { color: #3b82f6; }
table { border-collapse: collapse; width: 100%; font-size: 0.8rem; }
th { background-color: #1e3a8a; color: white; padding: 8px 10px; text-align: left; border: 1px solid #cbd5e1; font-weight: 600; white-space: nowrap; font-size: 0.78rem; }
td { padding: 6px 10px; border: 1px solid #e2e8f0; color: #334155; }
tr:hover { background-color: #f1f5f9; }
tr.group-header td { background-color: #e0e7ff; font-weight: 700; font-size: 0.85rem; color: #1e3a8a; border-bottom: 2px solid #3b82f6; }
.table-total { background-color: #22c55e !important; color: white !important; font-weight: 700; }
.table-total td { color: white !important; font-weight: 700; }
.table-subtotal { background-color: #f1f5f9; font-weight: 600; }
.kpi-card { border-left: 4px solid; padding: 1rem; border-radius: 0.5rem; background: white; box-shadow: 0 1px 3px rgba(0,0,0,0.05); }
.copy-btn { font-size: 0.75rem; padding: 0.25rem 0.6rem; border-radius: 0.375rem; background-color: #f3f4f6; color: #4b5563; border: 1px solid #d1d5db; cursor: pointer; display: inline-flex; align-items: center; gap: 0.35rem; font-weight: 500; }
.copy-btn:hover { background-color: #e5e7eb; color: #1f2937; }
.search-box { font-size: 0.75rem; padding: 0.25rem 0.5rem 0.25rem 1.75rem; border-radius: 0.375rem; border: 1px solid #d1d5db; width: 140px; }
.search-box:focus { outline: none; border-color: #3b82f6; width: 200px; transition: width 0.2s; }
.vin-error { color: #dc2626; font-weight: 600; }

@keyframes hover-glare {
    0% { left: -150%; }
    100% { left: 150%; }
}
@keyframes pulseGlow {
    0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4); }
    70% { box-shadow: 0 0 0 10px rgba(16, 185, 129, 0); }
    100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}

button, .tab-btn, .copy-btn, a[href*=".html"], select, input[type="button"], input[type="submit"] {
    transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease-in-out, background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
    position: relative;
    overflow: hidden !important;
}

button:hover, .copy-btn:hover, a[href*=".html"]:hover {
    transform: scale(1.03) !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1) !important;
    z-index: 10 !important;
}

.tab-btn:hover {
    transform: scale(1.02) !important;
    z-index: 10 !important;
}

button:active, .tab-btn:active, .copy-btn:active, a[href*=".html"]:active {
    transform: scale(0.97) !important;
}

button::after, .copy-btn::after, .tab-btn::after, a[href*=".html"]::after {
    content: '';
    position: absolute;
    top: 0;
    left: -150%;
    width: 60%;
    height: 100%;
    transform: skewX(-25deg);
    pointer-events: none;
    z-index: 5;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 100%);
}

button:hover::after, .copy-btn:hover::after, .tab-btn:hover::after, a[href*=".html"]:hover::after {
    animation: hover-glare 0.6s ease-out forwards;
}

tbody tr {
    transition: background-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
}
tbody tr:hover {
    background-color: #f1f5f9 !important;
    box-shadow: inset 4px 0 0 0 #3b82f6 !important;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in {
    animation: fadeIn 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.partner-deals-row td {
    padding: 0 !important;
    border-top: none !important;
}
.partner-deals-row:hover {
    background-color: transparent !important;
    box-shadow: none !important;
}
.partner-title-btn {
    background: none;
    border: none;
    cursor: pointer;
    box-shadow: none !important;
    transform: none !important;
}
.partner-title-btn:hover {
    transform: none !important;
    box-shadow: none !important;
}
.partner-title-btn::after {
    display: none !important;
}

