:root{
    --brand-1: #0f62fe;
    --brand-2: #0b5ed7;
    --muted: #6b7280;
    --card-bg: #ffffff;
}

html, body { font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial; color: #111827; }

a, .btn-link { color: var(--brand-2); }

.btn-primary { background: linear-gradient(180deg,var(--brand-1),var(--brand-2)); border: none; }

.page { background: linear-gradient(180deg,#f8fafc, #ffffff); }

.container { max-width: 1200px; }

.card { background: var(--card-bg); border-radius: 12px; box-shadow: 0 6px 18px rgba(15,23,42,0.06); }

.shadow-sm { box-shadow: 0 4px 12px rgba(15,23,42,0.04) !important; }

.nav-link { color: #334155 !important; padding: 0.5rem 0.8rem; border-radius: 8px; }
.nav-link.active { background: rgba(11,94,215,0.08) !important; color: var(--brand-2) !important; font-weight: 600; }

table { width: 100%; border-collapse: collapse; font-family: inherit; }
table th, table td { padding: 0.75rem; border-bottom: 1px solid #eef2f7; }
table thead th { background: transparent; color: #111827; font-weight: 700; }
table tr:nth-child(even) { background: #fbfdfe; }

.footer { background: transparent; color: var(--muted); }

.brand-logo { display:flex; align-items:center; gap:.5rem; font-weight:700; }
.brand-logo svg { border-radius:8px; }

/* small forms polish */
.form-control:focus { box-shadow: 0 0 0 0.125rem rgba(11,94,215,0.12); border-color: rgba(11,94,215,0.25); }

.validation-message { color: #dc2626; }

.blazor-error-boundary { padding: 1rem; border-radius: 8px; background: #fff6f6; border: 1px solid #fcebea; }

/* custom modal styles */
.modal-backdrop-custom {
    position: fixed;
    inset: 0;
    background: rgba(2,6,23,0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
}
.custom-modal {
    width: 540px;
    background: #fff;
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: 0 12px 40px rgba(2,6,23,0.18);
}
