* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
img { max-width: 100%; display: block; }

body {
    background-color: #0b0f1a;
    color: #ffffff;
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    line-height: 1.6;
}

/* Smooth scrolling for anchor links */
html { scroll-behavior: smooth; }

/* Custom scrollbar */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: rgba(255,255,255,0.05); }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.2); border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.3); }

/* Selection */
::selection { background: #7c3aed; color: white; }

/* Focus outline */
:focus-visible {
    outline: 2px solid #7c3aed;
    outline-offset: 2px;
}

/* Rounded glass container helper */
.glass {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 16px;
    backdrop-filter: blur(8px);
}

/* Gradient text helper */
.gradient-text {
    background: linear-gradient(90deg, #7c3aed 0%, #06b6d4 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

/* Button hover lift */
.btn-lift {
    transition: transform .15s ease, box-shadow .15s ease;
}
.btn-lift:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(124,58,237,0.25);
}

/* Provider logo fade-in */
.provider-logo {
    transition: transform .15s ease, opacity .15s ease, filter .2s ease;
    filter: grayscale(0) brightness(1);
}
.provider-logo:hover {
    transform: translateY(-2px);
    filter: grayscale(0) brightness(1.15);
}

/* Table row hover */
tbody tr:hover {
    background: rgba(255,255,255,0.04);
}

/* Mobile nav helper (if expanded via JS) */
.mobile-nav-open {
    overflow: hidden;
}