/* ===== Quantora — original design system additions on top of MudBlazor ===== */

h1:focus { outline: none; }

.valid.modified:not([type=checkbox]) { outline: 1px solid #26b050; }
.invalid { outline: 1px solid #e50000; }
.validation-message { color: #e50000; }

#blazor-error-ui {
    background: #b91c1c; color: #fff; bottom: 0; left: 0; right: 0;
    display: none; position: fixed; padding: 0.6rem 1.25rem; z-index: 2000;
}
#blazor-error-ui .dismiss { cursor: pointer; float: right; }

/* ----- Brand ----- */
.quantora-logo { font-weight: 700; letter-spacing: -0.3px; }
.quantora-logo-accent { color: #2DD4BF; }

/* ----- Numbers & tables ----- */
.q-mono { font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; }
.q-up { color: #34D399 !important; }
.q-down { color: #F87171 !important; }
.q-num { text-align: right !important; }
.q-table th { white-space: nowrap; }
.q-row { padding: 5px 0; border-bottom: 1px solid rgba(148, 163, 184, 0.12); }
.q-row:last-child { border-bottom: none; }

/* ----- Cards / panels ----- */
.q-quote-card { transition: border-color .15s; }
.q-quote-card:hover { border-color: #2DD4BF; }
.q-sticky-header { position: sticky; top: 70px; z-index: 10; }
.q-source-chip { font-size: 10px !important; height: 20px !important; }

/* ----- News ----- */
.q-news-item { padding: 10px 0; border-bottom: 1px solid rgba(148, 163, 184, 0.12); }
.q-news-item:last-child { border-bottom: none; }

/* ----- Sensitivity grids ----- */
.q-sensitivity td.q-cell-up { background: rgba(52, 211, 153, 0.12); }
.q-sensitivity td.q-cell-down { background: rgba(248, 113, 113, 0.10); }
.q-sensitivity td.q-cell-nm { color: #64748B; font-style: italic; }

/* ----- Static login form (renders without interactivity) ----- */
.q-field { margin-bottom: 14px; display: flex; flex-direction: column; gap: 4px; }
.q-field label { font-size: 13px; color: #94A3B8; }
.q-field input {
    background: #0B1220; border: 1px solid #1E2A40; border-radius: 8px;
    color: #E5EAF2; padding: 10px 12px; font-size: 14px; outline: none;
}
.q-field input:focus { border-color: #2DD4BF; }
.q-submit {
    width: 100%; background: #2DD4BF; color: #06251f; border: none; border-radius: 8px;
    padding: 11px; font-size: 14px; font-weight: 600; cursor: pointer; margin-top: 4px;
}
.q-submit:hover { filter: brightness(1.08); }

/* ----- Footer ----- */
.quantora-footer {
    margin-top: 48px; padding: 18px 0 26px;
    border-top: 1px solid rgba(148, 163, 184, 0.15);
}
