/* EasyPost Auditor - Custom Styles */

/* Base styles */
body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* Form elements */
select, input[type="text"], input[type="email"], input[type="password"] {
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

select:focus, input:focus {
    outline: none;
    border-color: #0066FF;
    box-shadow: 0 0 0 3px rgba(0, 102, 255, 0.1);
}

/* Button transitions */
button, a {
    transition: all 0.15s ease-in-out;
}

/* Table hover effects */
tbody tr:hover {
    background-color: #f9fafb;
}

/* Card shadows */
.shadow {
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}

.shadow:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

/* Section toggle animation */
.rotate-180 {
    transform: rotate(180deg);
}

/* Loading spinner */
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.animate-spin {
    animation: spin 1s linear infinite;
}

/* Responsive table */
@media (max-width: 768px) {
    .overflow-x-auto {
        -webkit-overflow-scrolling: touch;
    }

    table {
        font-size: 0.875rem;
    }

    th, td {
        padding: 0.75rem 0.5rem;
    }
}

/* Print styles */
@media print {
    nav, footer, button, .no-print {
        display: none !important;
    }

    .shadow {
        box-shadow: none;
        border: 1px solid #e5e7eb;
    }

    body {
        background: white;
    }
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #a1a1a1;
}

/* Risk level badges */
.risk-high {
    background-color: #fef2f2;
    color: #ef4444;
}

.risk-medium {
    background-color: #fffbeb;
    color: #f59e0b;
}

.risk-low {
    background-color: #f0fdf4;
    color: #22c55e;
}

/* Monospace for tracking codes */
.font-mono {
    font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', monospace;
    font-size: 0.875em;
}

/* Currency formatting */
.currency {
    font-variant-numeric: tabular-nums;
}

/* Empty state */
.empty-state {
    padding: 3rem 1rem;
    text-align: center;
}

.empty-state svg {
    margin: 0 auto 1rem;
}

/* Tooltip */
[data-tooltip] {
    position: relative;
    cursor: help;
}

[data-tooltip]:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    padding: 0.5rem 0.75rem;
    background: #1f2937;
    color: white;
    font-size: 0.75rem;
    border-radius: 0.375rem;
    white-space: nowrap;
    z-index: 10;
}
