.provider-form h2 { margin: 0 0 1.25rem; font-size: 1.65rem; }
.provider-form label,
.provider-editor label,
.provider-operation-toolbar label,
.provider-operation-row label { display: grid; gap: .42rem; margin-bottom: 1rem; color: var(--mc-text); font-size: .9rem; font-weight: 700; }

.provider-form input,
.provider-editor input,
.provider-editor select,
.provider-editor textarea,
.provider-operation-form input,
.provider-operation-form select,
.provider-operation-form textarea {
    width: 100%;
    min-height: 3rem;
    padding: .72rem .9rem;
    border: 1px solid oklch(0.78 0.025 258);
    border-radius: var(--mc-radius-sm);
    color: var(--mc-text);
    background: #fff;
    font: inherit;
    transition: border-color .2s, box-shadow .2s;
}

.provider-editor select,
.provider-operation-form select {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 3rem;
    background-color: #fff;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--mc-accent) 50%),
        linear-gradient(135deg, var(--mc-accent) 50%, transparent 50%);
    background-position:
        calc(100% - 1.15rem) calc(50% - .12rem),
        calc(100% - .78rem) calc(50% - .12rem);
    background-repeat: no-repeat;
    background-size: .42rem .42rem;
    cursor: pointer;
}

.provider-editor select:hover,
.provider-operation-form select:hover { border-color: var(--mc-primary); }

.provider-editor select:disabled,
.provider-operation-form select:disabled {
    cursor: not-allowed;
    color: var(--mc-text-muted);
    background-color: var(--mc-surface-soft);
    opacity: .68;
}

.provider-editor textarea,
.provider-operation-form textarea { min-height: 7rem; resize: vertical; }
.provider-form [aria-invalid="true"] { border-color: var(--mc-danger); }
.provider-form input:focus,
.provider-editor input:focus,
.provider-editor select:focus,
.provider-editor textarea:focus,
.provider-operation-form input:focus,
.provider-operation-form select:focus,
.provider-operation-form textarea:focus {
    border-color: var(--mc-primary);
    box-shadow: 0 0 0 4px oklch(0.57 0.20 256 / .1);
}

.provider-form button,
.provider-button,
.provider-operation-form button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 3rem;
    padding: .7rem 1.25rem;
    border: 1px solid transparent;
    border-radius: 999px;
    color: #fff;
    background: var(--mc-primary);
    box-shadow: 0 .7rem 1.5rem oklch(0.50 0.18 257 / .18);
    font-weight: 700;
    cursor: pointer;
    transition: transform .2s var(--mc-ease), background .2s, box-shadow .2s;
}

.provider-form button:hover,
.provider-button:hover,
.provider-operation-form button:hover { background: var(--mc-primary-strong); transform: translateY(-1px); }
.provider-form button:disabled,
.provider-button:disabled,
.provider-operation-form button:disabled { cursor: not-allowed; opacity: .6; transform: none; }
.provider-form[aria-busy="true"] button:disabled,
.provider-editor[aria-busy="true"] button:disabled,
.provider-operation-form[aria-busy="true"] button:disabled { cursor: wait; }
.provider-button--quiet {
    border-color: var(--mc-line);
    color: var(--mc-text);
    background: #fff;
    box-shadow: var(--mc-shadow-sm);
}

.provider-button--quiet:hover { color: var(--mc-primary-strong); background: var(--mc-primary-soft); }
.provider-form p { color: var(--mc-text-muted); }
.provider-form a { color: var(--mc-primary-strong); font-weight: 700; text-underline-offset: .2em; }
.provider-form--secondary { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--mc-line); }
.provider-check,
.provider-form .provider-check,
.provider-operation-choice label { display: flex; align-items: center; gap: .55rem; }
.provider-check input,
.provider-category-row input,
.provider-operation-row input[type="checkbox"] { width: 1rem; min-height: auto; accent-color: var(--mc-primary); }

.provider-editor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.provider-editor__wide,
.provider-category-fieldset { grid-column: 1 / -1; }
.provider-category-fieldset { margin: 0 0 1rem; padding: 0; border: 0; }
.provider-category-fieldset legend,
.provider-operation-row legend,
.provider-contact-card h3 { margin-bottom: .8rem; font-weight: 800; }
.provider-category-options,
.provider-operation-list,
.provider-operation-choices { display: grid; gap: .8rem; }
.provider-category-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: var(--mc-radius-sm);
    background: var(--mc-surface-soft);
    transition: border-color .2s, background .2s, box-shadow .2s;
}

.provider-category-row > .provider-category-choice,
.provider-category-row > .provider-category-primary {
    display: flex;
    align-items: center;
    align-self: stretch;
    gap: .65rem;
    min-width: 0;
    margin: 0;
    padding: .9rem .8rem;
    cursor: pointer;
}

.provider-category-row > .provider-category-choice span { min-width: 0; line-height: 1.35; }
.provider-category-row > .provider-category-primary { justify-content: flex-end; color: var(--mc-text-muted); }
.provider-category-row input { flex: 0 0 1rem; margin: 0; }
.provider-category-row > .provider-category-primary input[type="radio"] { accent-color: var(--mc-accent); }
.provider-category-row:hover { border-color: oklch(0.75 0.07 257); }
.provider-category-row:focus-within {
    border-color: var(--mc-primary);
    box-shadow: 0 0 0 4px oklch(0.57 0.20 256 / .1);
}

.provider-category-row.is-selected {
    border-color: oklch(0.67 0.13 257);
    background: var(--mc-primary-soft);
}

.provider-category-row.is-primary {
    box-shadow: inset .24rem 0 0 var(--mc-accent);
}

.provider-category-children { display: grid; gap: .55rem; margin: .55rem 0 0 1.5rem; }
.provider-operation-form { display: grid; gap: 1rem; }
.provider-operation-form--divided { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--mc-line); }
.provider-operation-toolbar,
.provider-location-card__actions,
.provider-map-tools { display: flex; align-items: end; flex-wrap: wrap; gap: .75rem; }
.provider-operation-toolbar label { margin: 0; }
.provider-operation-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .8rem; padding: 1rem; border: 1px solid var(--mc-line); border-radius: var(--mc-radius-md); }
.provider-upload-form {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: .9rem;
    overflow: hidden;
    padding: 1.15rem;
    border-top: 3px solid var(--mc-accent);
    box-shadow: 0 .75rem 2rem oklch(0.42 0.08 258 / .07);
}

.provider-upload-form__preview {
    display: grid;
    min-height: 11rem;
    place-items: center;
    overflow: hidden;
    padding: 1rem;
    border: 1px dashed oklch(0.72 0.07 256);
    border-radius: var(--mc-radius-md);
    background:
        radial-gradient(circle at top right, var(--mc-accent-soft), transparent 42%),
        linear-gradient(145deg, #fff, var(--mc-primary-soft));
    text-align: center;
}

.provider-upload-form__preview img {
    max-height: 13rem;
    box-shadow: var(--mc-shadow-sm);
}

.provider-upload-form .provider-upload-form__field {
    gap: .55rem;
    min-width: 0;
    margin: 0;
}

.provider-upload-form__file {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.provider-upload-form__picker {
    display: flex;
    align-items: center;
    gap: .8rem;
    min-width: 0;
    min-height: 4rem;
    padding: .65rem .8rem;
    border: 1px solid oklch(0.78 0.025 258);
    border-radius: var(--mc-radius-md);
    background: #fff;
    cursor: pointer;
    transition: border-color .2s, box-shadow .2s, transform .2s var(--mc-ease);
}

.provider-upload-form__picker > .material-symbols-rounded {
    display: grid;
    width: 2.7rem;
    height: 2.7rem;
    flex: 0 0 2.7rem;
    place-items: center;
    border-radius: 50%;
    color: var(--mc-accent);
    background: var(--mc-accent-soft);
}

.provider-upload-form__picker-copy {
    display: grid;
    min-width: 0;
    gap: .08rem;
}

.provider-upload-form__picker-copy strong { color: var(--mc-primary-strong); }
.provider-upload-form__picker-copy [data-provider-file-name] {
    overflow: hidden;
    color: var(--mc-text-muted);
    font-size: .78rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.provider-upload-form__field:hover .provider-upload-form__picker {
    border-color: var(--mc-primary);
    box-shadow: 0 .55rem 1.25rem oklch(0.50 0.18 257 / .1);
    transform: translateY(-1px);
}

.provider-upload-form__file:focus-visible + .provider-upload-form__picker {
    outline: 3px solid oklch(0.57 0.20 256 / .32);
    outline-offset: 3px;
}

.provider-upload-form__file:disabled + .provider-upload-form__picker {
    cursor: not-allowed;
    opacity: .6;
    transform: none;
}

.provider-upload-form__hint {
    color: var(--mc-text-muted);
    font-size: .78rem;
    font-weight: 600;
}

.provider-upload-form__submit {
    width: 100%;
    background: linear-gradient(135deg, var(--mc-primary), var(--mc-primary-strong));
}

.provider-upload-form__submit .material-symbols-rounded {
    color: var(--mc-accent-soft);
    font-size: 1.25rem;
}

.provider-location-card__actions a,
.provider-location-card__actions button { min-height: 2.75rem; padding: .65rem 1rem; border: 1px solid var(--mc-line); border-radius: 999px; color: var(--mc-text); background: #fff; font-weight: 700; text-decoration: none; }
