@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');
:root {
    --mud-drawer-width-left: 230px !important;
    font-size: 16px;
}

/* Preserve MudBlazor input styles when autofilled */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    background-color: var(--mud-palette-background) !important;
    color: var(--mud-palette-text-primary) !important;
    font-family: var(--mud-typography-default-family) !important;
    transition: background-color 5000s ease-in-out 0s;
}

.min-width-250 {
    min-width: 250px;
}

/* Blazor error boundary */
.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbmsiPjxkZWZzPjwvZGVmcz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

.blazor-error-boundary::after {
    content: "An error has occurred."
}

/* ── Nav active highlight ─────────────────────────────────────── */
.clinica-nav .mud-nav-link.active {
    background-color: rgba(77,182,172,0.15) !important;
    border-left: 3px solid rgba(200,240,235,0.88) !important;
    border-radius: 0 6px 6px 0 !important;
}

.clinica-nav .mud-nav-link.active .mud-icon-root,
.clinica-nav .mud-nav-link.active .mud-nav-link-text {
    color: rgba(200,240,235,0.95) !important;
    font-weight: 600;
}

/* ── Utility classes ──────────────────────────────────────────── */
.hover-card {
    transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.hover-card:hover {
    box-shadow: 0 4px 20px rgba(13,115,119,0.18) !important;
    transform: translateY(-1px);
}

.stat-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.7px;
    color: var(--mud-palette-text-secondary);
}

.text-muted {
    color: var(--mud-palette-text-secondary) !important;
}

.rounded-xl {
    border-radius: 16px !important;
}

.nav-section-label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 8px 16px 4px;
    color: rgba(160,220,215,0.55);
}

/* ── Drawer branding header ───────────────────────────────────── */
.clinica-drawer-header {
    background: linear-gradient(160deg, rgba(0,80,80,0.6) 0%, transparent 100%);
    border-bottom: 1px solid rgba(200,240,235,0.10);
    padding: 18px 16px 16px;
    text-align: center;
}

.clinica-drawer-logo {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: 0.5px;
    color: rgba(200,240,235,0.92);
    line-height: 1.2;
}

.clinica-drawer-tagline {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: rgba(160,220,215,0.60);
    margin-top: 2px;
}
