.provider-portal-body {
    min-height: 100vh;
    margin: 0;
    color: var(--mc-text);
    background: var(--mc-surface-soft);
    font-family: var(--mc-font-body);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

.provider-portal-body *,
.provider-portal-body *::before,
.provider-portal-body *::after { box-sizing: border-box; }

.provider-root {
    min-height: 100vh;
    --provider-ink: var(--mc-text);
    --provider-muted: var(--mc-text-muted);
    --provider-blue: var(--mc-primary);
    --provider-blue-dark: var(--mc-primary-strong);
    --provider-surface: var(--mc-surface);
    --provider-line: var(--mc-line);
    --provider-soft: var(--mc-primary-soft);
    --provider-danger: var(--mc-danger);
}

.provider-root h1,
.provider-root h2,
.provider-root h3,
.provider-root h4 {
    color: var(--mc-text);
    font-family: var(--mc-font-display);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.1;
}

.provider-root a { transition: color .2s, background .2s, transform .2s var(--mc-ease); }
.provider-root button { font-family: inherit; }
.provider-root .material-symbols-rounded {
    flex: 0 0 auto;
    font-size: 1.3rem;
    font-variation-settings: "FILL" 0, "wght" 500, "GRAD" 0, "opsz" 24;
    line-height: 1;
}

.provider-brand {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    color: var(--mc-text);
    font-weight: 700;
    text-decoration: none;
}

.provider-brand img { display: block; width: 7.6rem; height: auto; }
.provider-eyebrow {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin: 0 0 .65rem;
    color: var(--mc-primary-strong);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.provider-eyebrow::before {
    width: 1.4rem;
    height: .15rem;
    border-radius: 2rem;
    background: var(--mc-accent);
    content: "";
}

.provider-root a:focus-visible,
.provider-root button:focus-visible,
.provider-root input:focus-visible,
.provider-root select:focus-visible,
.provider-root textarea:focus-visible {
    outline: 3px solid oklch(0.57 0.20 256 / .32);
    outline-offset: 3px;
}

.provider-root ::selection { color: #fff; background: var(--mc-primary); }
