.provider-app-feedback,
.provider-feedback { color: var(--mc-primary-strong); font-weight: 700; }
.provider-app-feedback { min-height: 1.5rem; margin-bottom: 1rem; }
.provider-feedback[data-state="error"],
.provider-app-feedback[data-state="error"],
.provider-field-error,
.provider-notice { color: var(--mc-danger); }
.provider-field-error { margin: -.65rem 0 1rem; font-size: .86rem; font-weight: 700; }

.provider-requirement-guide {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    margin: 1rem 0 1.35rem;
    padding: .9rem 1rem;
    border: 1px solid color-mix(in srgb, var(--mc-primary) 28%, var(--mc-line));
    border-left: .3rem solid var(--mc-primary);
    border-radius: var(--mc-radius-md);
    color: var(--mc-text);
    background: var(--mc-primary-soft);
}

.provider-requirement-guide[hidden] { display: none; }
.provider-requirement-guide > .material-symbols-rounded { margin-top: .12rem; color: var(--mc-primary); }
.provider-requirement-guide__copy { min-width: 0; }
.provider-requirement-guide__copy strong { display: block; color: var(--mc-primary-strong); }
.provider-requirement-guide__copy p { margin: .2rem 0 0; color: var(--mc-text); font-size: .9rem; }
.provider-requirement-guide__legend { display: block; margin-top: .35rem; color: var(--mc-text-muted); font-size: .78rem; font-weight: 700; }

.provider-requirement-guide--blocking {
    border-color: color-mix(in srgb, var(--mc-accent) 35%, var(--mc-line));
    border-left-color: var(--mc-accent);
    background: var(--mc-accent-soft);
}

.provider-requirement-guide--blocking > .material-symbols-rounded,
.provider-requirement-guide--blocking .provider-requirement-guide__copy strong { color: var(--mc-accent); }
.provider-requirement-guide--error { border-color: var(--mc-danger); border-left-color: var(--mc-danger); background: var(--mc-danger-soft); }
.provider-requirement-guide--error > .material-symbols-rounded,
.provider-requirement-guide--error .provider-requirement-guide__copy strong { color: var(--mc-danger); }
.provider-requirement-guide--success { border-color: var(--mc-success); border-left-color: var(--mc-success); background: var(--mc-success-soft); }
.provider-requirement-guide--success > .material-symbols-rounded,
.provider-requirement-guide--success .provider-requirement-guide__copy strong { color: var(--mc-success); }

.provider-required-marker { margin: 0 .2rem; color: var(--mc-accent); font-weight: 900; }
.provider-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.provider-optional-label {
    display: inline-flex;
    align-items: center;
    min-height: 1.45rem;
    padding: .15rem .55rem;
    border-radius: 999px;
    color: var(--mc-text-muted);
    background: var(--mc-surface-soft);
    font-size: .72rem;
    font-weight: 800;
}

.provider-stage {
    display: none;
    padding: clamp(1.5rem, 4vw, 3.25rem);
    border: 1px solid var(--mc-line);
    border-radius: var(--mc-radius-lg);
    background: var(--mc-surface);
    box-shadow: var(--mc-shadow-md);
}

.provider-stage[aria-current="page"] { display: block; }
.provider-stage h1 { margin: 0 0 .8rem; font-size: clamp(2rem, 4vw, 3.2rem); }
.provider-stage > p { color: var(--mc-text-muted); font-size: 1rem; }
.provider-stage--profile,
.provider-stage--locations,
.provider-stage--review { gap: 1.35rem; padding: 0; border: 0; background: transparent; box-shadow: none; }
.provider-stage--profile[aria-current="page"],
.provider-stage--locations[aria-current="page"],
.provider-stage--review[aria-current="page"] { display: grid; }

.provider-card {
    padding: clamp(1.35rem, 3vw, 2.5rem);
    border: 1px solid var(--mc-line);
    border-radius: var(--mc-radius-lg);
    background: var(--mc-surface);
    box-shadow: var(--mc-shadow-sm);
}

.provider-card h1,
.provider-card h2 { margin: 0 0 .7rem; }
.provider-card > p:not(.provider-eyebrow) { color: var(--mc-text-muted); }
.provider-status { color: var(--mc-primary-strong); font-weight: 800; }
.provider-notice { min-height: 1.35rem; font-weight: 700; }
.provider-empty,
.provider-map-notice,
.provider-media-preview,
.provider-session-status { color: var(--mc-text-muted); }
.provider-session-status { margin-top: 1rem; }

.provider-progress {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .8rem;
    margin: 2.2rem 0 0;
    padding: 0;
    list-style: none;
    counter-reset: stage;
}

.provider-progress li {
    position: relative;
    display: grid;
    gap: .35rem;
    min-height: 9rem;
    padding: 1.15rem;
    border: 1px solid var(--mc-line);
    border-radius: var(--mc-radius-md);
    background: linear-gradient(145deg, #fff, var(--mc-primary-soft));
    counter-increment: stage;
}

.provider-progress li::before {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    margin-bottom: .35rem;
    border-radius: 50%;
    color: #fff;
    background: var(--mc-accent);
    box-shadow: 0 .5rem 1rem oklch(0.61 0.22 28 / .18);
    content: counter(stage);
    font-weight: 800;
}

.provider-progress span { color: var(--mc-text-muted); font-size: .85rem; }
.provider-location-grid,
.provider-media-grid,
.provider-verification-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1rem; margin-top: 1rem; }
.provider-location-card,
.provider-upload-form,
.provider-media-card,
.provider-verification-card {
    padding: 1rem;
    border: 1px solid var(--mc-line);
    border-radius: var(--mc-radius-md);
    background: var(--mc-surface-soft);
}

.provider-verification-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1rem; margin: 1rem 0; }
.provider-verification-account {
    margin: 0;
    padding: 1rem 1.1rem;
    border-left: .3rem solid var(--mc-accent);
    border-radius: var(--mc-radius-sm);
    background: var(--mc-primary-soft);
}

.provider-verification-account h3 { margin: 0 0 .4rem; font-size: 1rem; }
.provider-verification-account output { color: var(--mc-primary-strong); font-weight: 800; }
.provider-verification-account output[data-verified="true"] { color: var(--mc-success); }
.provider-location-card h2 { font-size: 1.15rem; }
.provider-location-card__badges { color: var(--mc-primary-strong); font-weight: 800; }
.provider-location-map {
    min-height: 20rem;
    margin-bottom: 1rem;
    border: 1px solid var(--mc-line);
    border-radius: var(--mc-radius-md);
    background: var(--mc-primary-soft);
}

.provider-media-preview { min-height: 8rem; }
.provider-media-preview img,
.provider-media-card img { display: block; width: 100%; max-height: 14rem; border-radius: var(--mc-radius-sm); object-fit: cover; }
.provider-review-checklist { display: grid; gap: .65rem; padding: 0; list-style: none; }
.provider-review-checklist li { padding: .8rem 1rem; background: var(--mc-surface-soft); }
.provider-review-checklist li[data-requirement="required"] { border-left: .3rem solid var(--mc-accent); }
.provider-review-checklist li[data-requirement="optional"] { border-left: .3rem solid var(--mc-primary); color: var(--mc-text-muted); }
.provider-review-checklist li[data-complete="true"] { border-left-color: var(--mc-success); background: var(--mc-success-soft); }
.provider-review-checklist__heading {
    margin-top: .45rem;
    padding: .45rem 0 !important;
    color: var(--mc-primary-strong);
    background: transparent !important;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

@media (max-width: 760px) {
    .provider-requirement-guide { gap: .65rem; margin-block: .85rem 1.1rem; padding: .8rem .85rem; }
    .provider-requirement-guide__copy p { font-size: .85rem; }
}

.provider-locale-switch {
    align-items: center;
    background: color-mix(in srgb, var(--mc-primary) 8%, white);
    border: 1px solid color-mix(in srgb, var(--mc-primary) 18%, white);
    border-radius: 999px;
    display: inline-flex;
    gap: .2rem;
    padding: .25rem;
}

.provider-locale-switch a {
    border-radius: 999px;
    color: var(--mc-primary);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .08em;
    padding: .45rem .65rem;
    text-decoration: none;
}

.provider-locale-switch a.is-active {
    background: var(--mc-primary);
    color: white;
}

.provider-state-alerts { display: grid; gap: .75rem; margin-bottom: 1.25rem; }
.provider-state-alert {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.15rem;
    border: 1px solid var(--mc-line);
    border-left-width: .25rem;
    border-radius: var(--mc-radius-md);
    background: var(--mc-surface);
}

.provider-state-alert--action {
    border-left-color: var(--mc-accent);
    background: var(--mc-accent-soft);
}

.provider-state-alert--info {
    border-left-color: var(--mc-primary);
    background: var(--mc-primary-soft);
}

.provider-state-alert__copy h2 { margin: 0; font-size: 1rem; }
.provider-state-alert__copy p { margin: .2rem 0 0; }
.provider-state-alert__reason { font-weight: 700; }
.provider-state-alert__action { white-space: nowrap; font-weight: 800; }

.provider-review-distinction {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    margin: 1rem 0;
    padding: 1rem 1.1rem;
    border: 1px solid var(--mc-primary-soft);
    border-left: .25rem solid var(--mc-accent);
    border-radius: var(--mc-radius-md);
    color: var(--mc-text);
    background: var(--mc-primary-soft);
}

.provider-review-distinction > span { color: var(--mc-primary); }
.provider-review-distinction p { margin: 0; line-height: 1.55; }
.provider-review-distinction strong { display: block; margin-bottom: .2rem; }
