/* VIS RFQ — Base Styles */

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html, body {
    height: 100%;
    font-family: var(--font-family);
    font-size: var(--fs-base);
    color: var(--c-text);
    background: var(--c-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    display: flex;
    overflow: hidden;
}

a {
    color: var(--c-primary);
    text-decoration: none;
}

input, select, textarea, button {
    font-family: inherit;
    font-size: inherit;
}

input[type="text"],
input[type="number"],
input[type="email"],
input[type="password"],
select,
textarea {
    padding: var(--sp-2) var(--sp-3);
    border: 1px solid var(--c-border);
    border-radius: var(--border-radius-sm);
    background: var(--c-surface);
    color: var(--c-text);
    transition: border-color var(--transition);
    outline: none;
    width: 100%;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--c-primary);
    box-shadow: 0 0 0 2px rgba(26, 54, 93, 0.1);
}

textarea {
    min-height: 60px;
    resize: vertical;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th, td {
    padding: var(--sp-2) var(--sp-3);
    text-align: left;
    border-bottom: 1px solid var(--c-border-light);
}

th {
    font-weight: var(--fw-semibold);
    font-size: var(--fs-sm);
    color: var(--c-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* Scrollbar styling */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: var(--c-border);
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--c-text-muted);
}

/* Selection */
::selection {
    background: rgba(26, 54, 93, 0.15);
}
