:root {
    --account-purple: #34169a;
    --account-pink: #ff3f78;
    --account-border: #e9e5f1;
    --account-soft: #faf9fd;
    --account-text: #1d1730;
    --account-muted: #756f83;
}

.v17-account-page {
    min-height: 65vh;
    background: linear-gradient(180deg, #fbfaff 0%, #ffffff 28%);
    color: var(--account-text);
    padding: 44px 0 72px;
}

.v17-auth-section {
    width: min(100% - 32px, 520px);
    margin: 0 auto;
}

.v17-auth-card,
.v17-my-listings-card,
.v17-provider-summary,
.v17-next-step-card {
    background: #fff;
    border: 1px solid var(--account-border);
    border-radius: 18px;
    box-shadow: 0 14px 38px rgba(45, 25, 90, .07);
}

.v17-auth-card {
    padding: 34px;
}

.v17-auth-heading {
    text-align: center;
    margin-bottom: 26px;
}

.v17-auth-icon {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f5efff;
    color: var(--account-purple);
    font-size: 26px;
    margin-bottom: 12px;
}

.v17-auth-heading h1,
.v17-provider-summary h1,
.v17-my-listings-head h2,
.v17-next-step-card h1 {
    font-family: Raleway, sans-serif;
    color: var(--account-purple);
    margin: 0;
}

.v17-auth-heading h1 { font-size: 29px; }
.v17-auth-heading p { margin: 8px 0 0; color: var(--account-muted); }

.v17-auth-form {
    display: grid;
    gap: 18px;
}

.v17-auth-form label > span {
    display: block;
    font-weight: 700;
    margin-bottom: 7px;
    color: #352c49;
}

.v17-auth-form input[type="text"],
.v17-auth-form input[type="email"],
.v17-auth-form input[type="password"] {
    width: 100%;
    box-sizing: border-box;
    height: 48px;
    border: 1px solid #dcd6e7;
    border-radius: 10px;
    padding: 0 14px;
    font: inherit;
    outline: none;
    background: #fff;
}

.v17-auth-form input:focus {
    border-color: #8c6ce4;
    box-shadow: 0 0 0 3px rgba(140,108,228,.12);
}

.v17-password-wrap { position: relative; }
.v17-password-wrap input { padding-right: 48px !important; }
.v17-password-toggle {
    position: absolute;
    right: 5px;
    top: 5px;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #726a82;
    cursor: pointer;
    font-size: 17px;
}

.v17-primary-button,
.v17-secondary-button {
    min-height: 44px;
    border-radius: 10px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-weight: 700;
    text-decoration: none;
    box-sizing: border-box;
}

.v17-primary-button {
    border: 1px solid var(--account-pink);
    background: var(--account-pink);
    color: #fff;
    cursor: pointer;
}
.v17-primary-button:hover { filter: brightness(.97); }
.v17-secondary-button {
    border: 1px solid #d8d0e8;
    background: #fff;
    color: var(--account-purple);
    cursor: pointer;
}

.v17-auth-note {
    text-align: center;
    color: var(--account-muted);
    font-size: 13px;
    margin: 20px 0 0;
}

.v17-account-alert {
    padding: 12px 14px;
    border-radius: 10px;
    margin-bottom: 18px;
    line-height: 1.45;
}
.v17-account-alert.is-error {
    color: #8e2443;
    background: #fff2f6;
    border: 1px solid #ffd2df;
}

.v17-dashboard-shell { display: grid; gap: 22px; }

.v17-provider-summary {
    padding: 24px 26px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.v17-provider-summary-main { display: flex; align-items: center; gap: 16px; min-width: 0; }
.v17-dashboard-avatar {
    width: 68px;
    height: 68px;
    border-radius: 16px;
    overflow: hidden;
    flex: 0 0 68px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f4efff;
    color: var(--account-purple);
    font: 800 28px Raleway, sans-serif;
}
.v17-dashboard-avatar img { width: 100%; height: 100%; object-fit: cover; }
.v17-eyebrow { margin: 0 0 4px; text-transform: uppercase; letter-spacing: .08em; font-size: 11px; font-weight: 800; color: var(--account-pink); }
.v17-provider-summary h1 { font-size: 27px; line-height: 1.15; }
.v17-provider-meta { margin-top: 7px; display: flex; gap: 14px; flex-wrap: wrap; color: var(--account-muted); font-size: 13px; }
.v17-provider-meta .is-verified { color: #4e33aa; font-weight: 700; }
.v17-dashboard-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }

.v17-dashboard-stats {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}
.v17-stat-card {
    border: 1px solid var(--account-border);
    border-radius: 14px;
    background: #fff;
    padding: 16px 18px;
}
.v17-stat-card span { display: block; color: var(--account-muted); font-size: 12px; font-weight: 700; }
.v17-stat-card strong { display: block; color: var(--account-purple); font: 800 25px Raleway, sans-serif; margin-top: 5px; }

.v17-my-listings-card { overflow: hidden; box-shadow: none; }
.v17-my-listings-head {
    padding: 22px 24px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
}
.v17-my-listings-head h2 { font-size: 23px; }
.v17-my-listings-head p { margin: 4px 0 0; color: var(--account-muted); font-size: 13px; }
.v17-logout-link { text-decoration: none; color: #746c81; font-weight: 700; font-size: 13px; }
.v17-logout-link:hover { color: var(--account-pink); }

.v17-status-tabs {
    padding: 0 24px;
    display: flex;
    gap: 6px;
    border-bottom: 1px solid var(--account-border);
    overflow-x: auto;
}
.v17-status-tabs a {
    color: #6e677a;
    text-decoration: none;
    font-weight: 700;
    font-size: 13px;
    padding: 10px 11px 12px;
    border-bottom: 2px solid transparent;
    white-space: nowrap;
}
.v17-status-tabs a span {
    display: inline-flex;
    min-width: 22px;
    height: 20px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #f4f1f8;
    margin-left: 4px;
    padding: 0 5px;
    font-size: 11px;
}
.v17-status-tabs a.is-active { color: var(--account-purple); border-bottom-color: var(--account-pink); }

.v17-dashboard-list { padding: 2px 24px; }
.v17-dashboard-listing {
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    gap: 16px;
    padding: 18px 0;
    border-bottom: 1px solid #efecf4;
}
.v17-dashboard-listing:last-child { border-bottom: 0; }
.v17-dashboard-listing-image {
    height: 84px;
    border-radius: 10px;
    overflow: hidden;
    background: #f4f2f7;
}
.v17-dashboard-listing-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v17-dashboard-image-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: #aaa2b7; font-size: 24px; }
.v17-dashboard-listing-body { min-width: 0; }
.v17-dashboard-title-row { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.v17-dashboard-title-row h3 { margin: 5px 0 0; color: #22174f; font: 700 17px/1.25 Raleway, sans-serif; }
.v17-status-badge {
    display: inline-flex;
    border-radius: 999px;
    padding: 3px 8px;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-size: 9px;
    font-weight: 800;
    background: #f1eef6;
    color: #726b80;
}
.v17-status-badge.is-published { background: #eaf8ef; color: #237a43; }
.v17-status-badge.is-draft { background: #f2eff8; color: #665b7b; }
.v17-status-badge.is-pending { background: #fff6dd; color: #8c6510; }
.v17-dashboard-row-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; align-items:center; }
.v17-dashboard-row-actions a,
.v17-dashboard-row-actions button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    min-height:34px;
    box-sizing:border-box;
    text-decoration:none;
    border:1px solid #ddd6e8;
    background:#fff;
    color:#615873;
    border-radius:8px;
    padding:6px 10px;
    font-family:inherit;
    font-size:12px;
    font-weight:700;
    line-height:1.2;
    cursor:pointer;
}
.v17-dashboard-row-actions a.is-edit { color: var(--account-purple); border-color: #cfc3ec; }
.v17-dashboard-categories { color: #777080; font-size: 12px; margin: 7px 0 0; }
.v17-dashboard-listing-meta { display: flex; gap: 16px; flex-wrap: wrap; color: #81798d; font-size: 11px; margin-top: 12px; }
.v17-dashboard-listing-meta .bi-star-fill { color: #f3ad29; }

.v17-dashboard-empty { text-align: center; padding: 54px 20px 60px; color: var(--account-muted); }
.v17-dashboard-empty > i { font-size: 35px; color: #bcb4c8; }
.v17-dashboard-empty h3 { color: var(--account-purple); margin: 10px 0 5px; }
.v17-dashboard-empty p { margin: 0; }

.v17-dashboard-pagination {
    border-top: 1px solid var(--account-border);
    padding: 15px 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    font-size: 12px;
    color: var(--account-muted);
}
.v17-dashboard-pagination a { color: var(--account-purple); text-decoration: none; font-weight: 700; }

.v17-next-step-card {
    max-width: 650px;
    margin: 20px auto 0;
    text-align: center;
    padding: 42px 34px;
}
.v17-next-step-card h1 { font-size: 29px; }
.v17-next-step-card p { color: var(--account-muted); line-height: 1.6; margin: 10px auto 24px; max-width: 520px; }

@media (max-width: 900px) {
    .v17-dashboard-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v17-provider-summary { align-items: flex-start; flex-direction: column; }
    .v17-dashboard-actions { width: 100%; justify-content: flex-start; }
}

@media (max-width: 640px) {
    .v17-account-page { padding: 28px 0 48px; }
    .v17-auth-card { padding: 26px 20px; }
    .v17-provider-summary { padding: 20px; border-radius: 14px; }
    .v17-dashboard-avatar { width: 56px; height: 56px; flex-basis: 56px; border-radius: 13px; }
    .v17-provider-summary h1 { font-size: 22px; }
    .v17-dashboard-actions { display: grid; grid-template-columns: 1fr; }
    .v17-dashboard-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .v17-stat-card { padding: 13px; }
    .v17-stat-card strong { font-size: 21px; }
    .v17-my-listings-head { padding: 18px 16px 12px; }
    .v17-status-tabs { padding: 0 12px; }
    .v17-dashboard-list { padding: 0 16px; }
    .v17-dashboard-listing { grid-template-columns: 82px minmax(0, 1fr); gap: 12px; }
    .v17-dashboard-listing-image { height: 72px; }
    .v17-dashboard-title-row { display: block; }
    .v17-dashboard-row-actions { justify-content: flex-start; margin-top: 10px; }
    .v17-dashboard-listing-meta { gap: 8px 12px; }
    .v17-dashboard-pagination { padding: 13px 16px; gap: 12px; }
}


/* Step 4A + 4B v1.2: password reset */
.v17-password-label-row {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.v17-password-label-row > span { margin: 0; }
.v17-password-label-row a,
.v17-auth-link {
    color: var(--account-purple);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}
.v17-password-label-row a:hover,
.v17-auth-link:hover { color: var(--account-pink); text-decoration: underline; }
.v17-account-alert.is-success {
    color: #246a40;
    background: #effaf3;
    border: 1px solid #ccebd7;
}
.v17-account-alert.is-info {
    color: #4f4670;
    background: #f7f4ff;
    border: 1px solid #e1d9f6;
}
.v17-auth-actions {
    display: flex;
    justify-content: center;
    margin-top: 18px;
}
.v17-reset-test-link {
    overflow-wrap: anywhere;
    font-size: 12px;
}
.v17-reset-requirements {
    color: var(--account-muted);
    font-size: 12px;
    margin: -8px 0 0;
}


/* Step 4C + 4D editor base styles (restored in v2.2) */
.v17-listing-editor-page { padding-top: 30px; }
.v17-editor-shell { max-width: 1120px; }
.v17-editor-heading {
    display:flex; align-items:flex-end; justify-content:space-between; gap:20px;
    margin-bottom:20px;
}
.v17-editor-heading h1 { margin:4px 0 0; color:var(--account-purple); font:800 30px/1.15 Raleway,sans-serif; }
.v17-editor-back { display:inline-flex; align-items:center; gap:6px; margin-bottom:12px; color:#726a82; text-decoration:none; font-size:13px; font-weight:700; }
.v17-editor-back:hover { color:var(--account-pink); }
.v17-editor-status-line { display:flex; align-items:center; gap:8px; margin:10px 0 0; color:var(--account-muted); font-size:13px; }
.v17-listing-editor-form { display:grid; gap:16px; padding-bottom:108px; }
.v17-editor-card {
    border:1px solid var(--account-border); border-radius:16px; background:#fff;
    box-shadow:0 8px 25px rgba(45,25,90,.04); overflow:hidden;
}
.v17-editor-card-heading { display:flex; gap:14px; align-items:flex-start; padding:21px 24px 0; }
.v17-editor-card-heading h2 { margin:0; color:var(--account-purple); font:800 21px/1.2 Raleway,sans-serif; }
.v17-editor-card-heading p { margin:5px 0 0; color:var(--account-muted); font-size:13px; }
.v17-editor-step {
    width:30px; height:30px; border-radius:9px; flex:0 0 30px; display:inline-flex;
    align-items:center; justify-content:center; background:#f4efff; color:var(--account-purple);
    font:800 13px Raleway,sans-serif;
}
.v17-editor-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px 20px; padding:22px 24px 25px; }
.v17-field { min-width:0; }
.v17-field-full { grid-column:1/-1; }
.v17-field > span,.v17-field-label { display:block; margin-bottom:7px; color:#352c49; font-size:13px; font-weight:750; }
.v17-field em { color:var(--account-pink); font-style:normal; }
.v17-field input[type="text"],.v17-field input[type="email"],.v17-field input[type="url"],.v17-field input[type="number"],.v17-field input[type="date"],.v17-field input[type="time"],.v17-field textarea {
    width:100%; box-sizing:border-box; border:1px solid #dcd6e7; border-radius:10px; background:#fff;
    padding:11px 13px; font:inherit; color:var(--account-text); outline:none;
}
.v17-field input { min-height:45px; }
.v17-field textarea { resize:vertical; line-height:1.55; }
.v17-field input:focus,.v17-field textarea:focus { border-color:#8c6ce4; box-shadow:0 0 0 3px rgba(140,108,228,.11); }
.v17-field small,.v17-editor-help { display:block; margin-top:6px; color:#878091; font-size:11.5px; line-height:1.45; }
.v17-editor-taxonomy-columns { display:grid; grid-template-columns:1.35fr .9fr; gap:28px; padding:22px 24px 25px; }
.v17-editor-taxonomy-columns h3,.v17-subsection-title { margin:0 0 10px; color:#352c49; font-size:14px; }
.v17-subsection-title { margin-top:20px !important; }
.v17-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 10px; }
.v17-check-grid label { display:flex; gap:8px; align-items:flex-start; padding:7px 8px; border-radius:8px; color:#5f576d; font-size:12px; line-height:1.35; }
.v17-check-grid label:hover { background:#faf8ff; }
.v17-check-grid input { margin-top:2px; accent-color:var(--account-purple); }
.v17-check-grid-scroll { max-height:285px; overflow:auto; border:1px solid #eeeaf4; border-radius:10px; padding:7px; }
.v17-check-grid-scroll.is-short { max-height:160px; }
.v17-check-grid-scroll.is-regions { max-height:220px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.v17-switch-row { display:flex; gap:11px; align-items:flex-start; color:#4d455d; }
.v17-switch-row input { margin-top:3px; accent-color:var(--account-purple); }
.v17-switch-row span { display:grid; gap:3px; }
.v17-switch-row small { color:#878091; font-size:11.5px; }
.v17-editor-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:22px 24px 5px; }
.v17-editor-image-card { border:1px solid #ebe6f2; border-radius:12px; padding:8px; background:#fff; }
.v17-editor-image-card img { width:100%; height:120px; object-fit:cover; border-radius:8px; display:block; background:#f3f1f7; }
.v17-image-choice,.v17-image-remove { display:flex; gap:6px; align-items:center; margin-top:8px; font-size:11px; font-weight:700; color:#665d76; }
.v17-image-choice input,.v17-image-remove input { accent-color:var(--account-purple); }
.v17-image-remove { color:#8c3e55; }
.v17-upload-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:18px 24px 8px; }
.v17-upload-box { min-height:92px; border:1px dashed #d6cce8; border-radius:11px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4px; background:#fbfaff; color:#655a79; cursor:pointer; text-align:center; padding:10px; }
.v17-upload-box i { font-size:21px; color:#8063d4; }
.v17-upload-box span { font-size:12px; font-weight:750; }
.v17-upload-box input { max-width:100%; font-size:11px; margin-top:6px; }
.v17-editor-card > .v17-editor-help,.v17-editor-muted { margin:0; padding:5px 24px 22px; color:#878091; font-size:12px; }
.v17-editor-details > summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:14px; padding:18px 24px; }
.v17-editor-details > summary::-webkit-details-marker { display:none; }
.v17-editor-details > summary > span:nth-child(2) { display:grid; gap:3px; flex:1; }
.v17-editor-details > summary strong { color:var(--account-purple); font:800 18px Raleway,sans-serif; }
.v17-editor-details > summary small { color:var(--account-muted); font-size:12px; }
.v17-editor-details > summary > i { color:#776d8a; transition:transform .2s ease; }
.v17-editor-details[open] > summary > i { transform:rotate(180deg); }
.v17-details-body { border-top:1px solid #efebf4; padding:20px 24px 24px; }
.v17-details-body.v17-editor-fields { padding:20px 24px 24px; }
.v17-hours-table { margin-top:17px; border:1px solid #ece7f2; border-radius:11px; overflow:hidden; }
.v17-hours-row { display:grid; grid-template-columns:115px minmax(0,1fr); gap:15px; padding:11px 13px; border-bottom:1px solid #f0edf4; align-items:flex-start; }
.v17-hours-row:last-child { border-bottom:0; }
.v17-hours-row > strong { padding-top:7px; color:#443b54; font-size:12px; }
.v17-hours-slots { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.v17-hours-slot { display:flex; align-items:center; gap:5px; }
.v17-hours-slot input { min-width:0; width:100%; border:1px solid #ded8e7; border-radius:8px; padding:6px; font:inherit; font-size:11px; }
.v17-hours-slot span { color:#8b8494; font-size:10px; }
.v17-event-grid { display:grid; gap:12px; }
.v17-event-row { display:grid; grid-template-columns:75px 1fr 1fr auto; gap:12px; align-items:end; border:1px solid #eee9f4; border-radius:10px; padding:12px; }
.v17-event-row > strong { align-self:center; color:#554b66; font-size:12px; }
.v17-event-row label > span { display:block; margin-bottom:5px; color:#6e667a; font-size:11px; font-weight:700; }
.v17-event-row input[type="datetime-local"] { width:100%; box-sizing:border-box; min-height:39px; border:1px solid #ddd7e7; border-radius:8px; padding:6px 8px; font:inherit; font-size:12px; }
.v17-inline-check { display:flex; align-items:center; gap:6px; min-height:39px; white-space:nowrap; color:#655d72; font-size:11px; }
.v17-inline-check input { accent-color:var(--account-purple); }
.v17-editor-error-list ul { margin:8px 0 0 20px; padding:0; }
.v17-editor-error-list li { margin:3px 0; }
.v17-editor-savebar { position:sticky; bottom:12px; z-index:20; display:flex; justify-content:space-between; align-items:center; gap:18px; border:1px solid #ded7eb; border-radius:14px; padding:13px 15px 13px 18px; background:rgba(255,255,255,.96); box-shadow:0 12px 35px rgba(49,29,91,.13); backdrop-filter:blur(8px); }
.v17-editor-savebar > div:first-child { display:grid; gap:2px; }
.v17-editor-savebar strong { color:#3b3150; font-size:13px; }
.v17-editor-savebar span { color:#847d8e; font-size:11px; }
.v17-editor-save-actions { display:flex; gap:8px; align-items:center; }
.v17-editor-save-actions button { font:inherit; cursor:pointer; }

@media(max-width:900px){
    .v17-editor-taxonomy-columns { grid-template-columns:1fr; }
    .v17-check-grid-scroll.is-regions { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .v17-editor-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .v17-hours-row { grid-template-columns:1fr; }
    .v17-hours-slots { grid-template-columns:1fr; }
    .v17-event-row { grid-template-columns:1fr 1fr; }
    .v17-event-row > strong { grid-column:1/-1; }
}
@media(max-width:640px){
    .v17-editor-heading { align-items:flex-start; flex-direction:column; }
    .v17-editor-heading h1 { font-size:25px; }
    .v17-editor-card-heading,.v17-editor-fields,.v17-editor-taxonomy-columns,.v17-details-body { padding-left:16px; padding-right:16px; }
    .v17-editor-fields { grid-template-columns:1fr; }
    .v17-field-full { grid-column:auto; }
    .v17-check-grid,.v17-check-grid-scroll.is-regions { grid-template-columns:1fr; }
    .v17-editor-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); padding-left:16px; padding-right:16px; }
    .v17-upload-grid { grid-template-columns:1fr; padding-left:16px; padding-right:16px; }
    .v17-editor-details > summary { padding-left:16px; padding-right:16px; }
    .v17-event-row { grid-template-columns:1fr; }
    .v17-editor-savebar { position:static; flex-direction:column; align-items:stretch; }
    .v17-editor-save-actions { display:grid; grid-template-columns:1fr; }
}


/* Step 4C + 4D v2: activity-oriented editor */
.v17-dashboard-stats { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.v17-status-badge.is-archived { background:#f3f3f3; color:#666; }
.v17-field select {
    width:100%; box-sizing:border-box; min-height:45px; border:1px solid #dcd6e7;
    border-radius:10px; background:#fff; padding:10px 12px; font:inherit; color:var(--account-text); outline:none;
}
.v17-field select:focus { border-color:#8c6ce4; box-shadow:0 0 0 3px rgba(140,108,228,.11); }
.v17-choice-row { display:flex; flex-wrap:wrap; gap:9px; }
.v17-choice-row label {
    display:flex; align-items:center; gap:7px; min-height:38px; border:1px solid #e4deec;
    border-radius:10px; padding:7px 11px; background:#fff; color:#5f576d; font-size:12px; font-weight:700;
}
.v17-choice-row label:has(input:checked) { border-color:#bba9e8; background:#faf8ff; color:#4d3694; }
.v17-choice-row input { accent-color:var(--account-purple); }
.v17-age-range { display:grid; grid-template-columns:repeat(2,minmax(0,180px)); gap:12px; margin-top:12px; }
.v17-age-range label > span,.v17-image-order { display:flex; align-items:center; gap:4px; margin-bottom:5px; color:#746c81; font-size:11px; font-weight:700; }
.v17-age-range .v17-help-tip { display:inline-flex; margin:0 0 0 2px; }
.v17-age-range input,.v17-image-order input {
    width:100%; box-sizing:border-box; min-height:40px; border:1px solid #ddd6e7; border-radius:8px; padding:7px 9px; font:inherit;
}
.v17-location-fields,.v17-price-fields { border:1px solid #eee9f4; border-radius:12px; background:#fcfbff; }
.v17-inner-grid { padding:14px; }
.v17-days-row label { min-width:54px; justify-content:center; }
.v17-upload-box.v17-field-full { margin:0 24px 2px; }
.v17-gallery-upload-grid { padding:0; }
.v17-add-photo-button {
    margin-top:10px; border:0; background:transparent; color:var(--account-purple); cursor:pointer;
    padding:5px 0; font:700 12px/1.2 inherit;
}
.v17-image-order { margin-top:8px; }
.v17-image-order input { min-height:32px; padding:4px 6px; }

/* Step 4C + 4D v2.4: delivery sizing + pointer buttons */
.v17-delivery-row label {
    height:45px;
    min-height:45px;
    box-sizing:border-box;
    padding:0 14px;
}

/* Step 4C + 4D v2.3: schedule-type layout */
.v17-schedule-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.v17-schedule-help { margin-top:-5px; padding:10px 12px; border-radius:9px; background:#faf8ff; color:#746a84; font-size:12px; line-height:1.45; }
.v17-schedule-pair .v17-field input[type="date"],.v17-schedule-pair .v17-field input[type="time"] { width:100%; }
@media(max-width:640px){ .v17-schedule-pair { grid-template-columns:1fr; gap:14px; } }

[hidden] { display:none !important; }

@media(max-width:1050px){ .v17-dashboard-stats { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:640px){
    .v17-dashboard-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .v17-age-range { grid-template-columns:1fr; }
    .v17-upload-box.v17-field-full { margin-left:16px; margin-right:16px; }
}


/* Step 4C + 4D v2.5: consistent option heights + archive/restore controls */
.v17-choice-row label {
    height:45px;
    min-height:45px;
    box-sizing:border-box;
    padding:0 14px;
}
.v17-days-row label { height:45px; min-height:45px; }
.v17-dashboard-row-actions form.v17-inline-action-form { display:inline-flex; margin:0; padding:0; }
.v17-dashboard-row-actions button { appearance:none; }
.v17-dashboard-row-actions button.is-archive { color:#9a4f67; border-color:#dfbdc9; background:#fffafb; }
.v17-dashboard-row-actions button.is-restore { color:var(--account-purple); border-color:#cfc3ec; }
.v17-dashboard-row-actions a:hover,
.v17-dashboard-row-actions button:hover { background:#faf8ff; }
.v17-dashboard-row-actions button.is-archive:hover { background:#fff3f6; }
.v17-dashboard-notice { margin:14px 0 18px; }


/* Step 4C + 4D v2.7: contextual field help */
.v17-help-tip {
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:17px;
    height:17px;
    margin-left:5px;
    border:1px solid #cfc4e7;
    border-radius:50%;
    background:#faf8ff;
    color:var(--account-purple);
    font-family:inherit;
    font-size:10px;
    font-weight:800;
    line-height:1;
    vertical-align:middle;
    cursor:help;
    outline:none;
    flex:0 0 17px;
}
.v17-help-tip:hover,.v17-help-tip:focus { border-color:#9e85df; background:#f4efff; }
.v17-help-tip::after {
    content:attr(data-help);
    position:absolute;
    top:50%;
    left:calc(100% + 10px);
    z-index:200;
    width:280px;
    max-width:calc(100vw - 36px);
    padding:9px 11px;
    border:1px solid #dcd3ed;
    border-radius:9px;
    background:#2f2442;
    color:#fff;
    box-shadow:0 8px 24px rgba(38,25,62,.18);
    font-family:inherit;
    font-size:13px;
    font-weight:500;
    line-height:1.55;
    text-align:left;
    white-space:normal;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate(4px,-50%);
    transition:opacity .12s ease, transform .12s ease, visibility .12s ease;
}
.v17-help-tip::before {
    content:"";
    position:absolute;
    top:50%;
    left:calc(100% + 6px);
    z-index:201;
    width:8px;
    height:8px;
    background:#2f2442;
    transform:translateY(-50%) rotate(45deg);
    opacity:0;
    visibility:hidden;
}
.v17-help-tip.is-left::after { left:auto; right:calc(100% + 10px); transform:translate(-4px,-50%); }
.v17-help-tip.is-left::before { left:auto; right:calc(100% + 6px); }
.v17-help-tip:hover::after,.v17-help-tip:focus::after,
.v17-help-tip:hover::before,.v17-help-tip:focus::before { opacity:1; visibility:visible; }
.v17-help-tip:hover::after,.v17-help-tip:focus::after { transform:translate(0,-50%); }
.v17-help-tip.is-left:hover::after,.v17-help-tip.is-left:focus::after { transform:translate(0,-50%); }

/* Rendered description editor keeps migrated HTML out of the provider's way. */
.v17-richtext-editor {
    width:100%;
    min-height:210px;
    padding:14px 15px;
    border:1px solid #ddd4ed;
    border-radius:10px;
    background:#fff;
    color:#211633;
    font-size:14px;
    line-height:1.6;
    outline:none;
    overflow:auto;
}
.v17-richtext-editor:focus { border-color:#8d6de3; box-shadow:0 0 0 3px rgba(111,78,203,.10); }
.v17-richtext-editor:empty::before { content:attr(data-placeholder); color:#9a93a7; pointer-events:none; }
.v17-richtext-editor p:first-child { margin-top:0; }
.v17-richtext-editor p:last-child { margin-bottom:0; }
.v17-richtext-source { display:none !important; }

@media(max-width:640px){
    /* Mobile help stays next to the ? icon and is clamped inside the screen. */
    .v17-help-tip::after,
    .v17-help-tip.is-left::after {
        position:fixed;
        left:var(--v17-help-left,12px);
        right:auto;
        top:var(--v17-help-top,60px);
        bottom:auto;
        width:min(300px, calc(100vw - 24px));
        max-width:none;
        box-sizing:border-box;
        padding:12px 14px;
        border-radius:10px;
        font-family:inherit;
        font-size:14px;
        font-weight:500;
        line-height:1.55;
        letter-spacing:0;
        transform:translateY(4px);
        z-index:20000;
    }
    .v17-help-tip.is-mobile-above::after,
    .v17-help-tip.is-mobile-above.is-left::after {
        top:auto;
        bottom:var(--v17-help-bottom,60px);
        transform:translateY(-4px);
    }
    .v17-help-tip::before,
    .v17-help-tip.is-left::before { display:none; }
    .v17-help-tip:hover::after,
    .v17-help-tip:focus::after,
    .v17-help-tip.is-left:hover::after,
    .v17-help-tip.is-left:focus::after,
    .v17-help-tip.is-mobile-above:hover::after,
    .v17-help-tip.is-mobile-above:focus::after { transform:none; }
}



/* Step 4C + 4D v2.8: dashboard action buttons share one typography/height system. */


/* Step 4C + 4D v2.9: keep help icons inline with compact field labels. */
.v17-age-range label > span { white-space:nowrap; }
.v17-age-range label > span .v17-help-tip { vertical-align:middle; }


/* Step 4C + 4D v2.10: Kidzamania archive confirmation modal */
body.v17-modal-open { overflow:hidden; }
.v17-confirm-modal {
    position:fixed;
    inset:0;
    z-index:10000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
}
.v17-confirm-modal[hidden] { display:none !important; }
.v17-confirm-backdrop {
    position:absolute;
    inset:0;
    background:rgba(31,20,54,.46);
    opacity:0;
    transition:opacity .16s ease;
}
.v17-confirm-dialog {
    position:relative;
    z-index:1;
    width:min(440px,100%);
    box-sizing:border-box;
    padding:30px 28px 26px;
    border:1px solid #e4ddef;
    border-radius:18px;
    background:#fff;
    box-shadow:0 24px 70px rgba(35,21,61,.24);
    text-align:center;
    opacity:0;
    transform:translateY(8px) scale(.985);
    transition:opacity .16s ease, transform .16s ease;
}
.v17-confirm-modal.is-open .v17-confirm-backdrop { opacity:1; }
.v17-confirm-modal.is-open .v17-confirm-dialog { opacity:1; transform:none; }
.v17-confirm-close {
    position:absolute;
    top:12px;
    right:12px;
    width:34px;
    height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:50%;
    background:transparent;
    color:#81778f;
    cursor:pointer;
    font-size:15px;
}
.v17-confirm-close:hover { background:#f6f3fa; color:#4d3e62; }
.v17-confirm-icon {
    width:54px;
    height:54px;
    margin:0 auto 15px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    background:#fff1f5;
    color:#a44e68;
    font-size:24px;
}
.v17-confirm-dialog h2 {
    margin:0;
    color:var(--account-purple);
    font:800 23px/1.25 Raleway,sans-serif;
}
.v17-confirm-dialog > p {
    margin:10px auto 0;
    max-width:360px;
    color:#746b80;
    font-size:13px;
    line-height:1.55;
}
.v17-confirm-dialog .v17-confirm-listing {
    margin-top:12px;
    color:#342650;
    font-weight:700;
}
.v17-confirm-actions {
    display:flex;
    justify-content:center;
    gap:10px;
    margin-top:24px;
}
.v17-confirm-actions form { margin:0; }
.v17-confirm-cancel,
.v17-confirm-archive {
    min-height:42px;
    box-sizing:border-box;
    padding:0 17px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border-radius:9px;
    font-family:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
}
.v17-confirm-cancel {
    border:1px solid #d8d0e8;
    background:#fff;
    color:var(--account-purple);
}
.v17-confirm-cancel:hover { background:#faf8ff; }
.v17-confirm-archive {
    border:1px solid #bb617b;
    background:#a85169;
    color:#fff;
}
.v17-confirm-archive:hover { background:#97475f; }
@media(max-width:520px){
    .v17-confirm-dialog { padding:28px 20px 22px; }
    .v17-confirm-actions { flex-direction:column-reverse; }
    .v17-confirm-actions form,
    .v17-confirm-actions button { width:100%; }
}


/* Step 4E v1.0: Provider Profile */
.v17-profile-shell { max-width:980px; }
.v17-profile-intro { margin:9px 0 0; max-width:760px; color:var(--account-muted); font-size:13px; line-height:1.55; }
.v17-profile-description-editor { min-height:180px; }
.v17-profile-logo-row { display:grid; grid-template-columns:116px minmax(0,1fr); gap:18px; align-items:center; padding:2px 0; }
.v17-profile-logo-preview {
    width:112px; height:112px; border:1px solid #e5dff0; border-radius:18px; overflow:hidden;
    display:flex; align-items:center; justify-content:center; background:#f7f3ff; color:var(--account-purple);
    font:800 36px Raleway,sans-serif;
}
.v17-profile-logo-preview img { width:100%; height:100%; object-fit:cover; display:block; }
.v17-profile-logo-controls { display:grid; justify-items:start; gap:8px; }
.v17-profile-logo-controls small { margin:0; color:#878091; font-size:11.5px; line-height:1.45; }
.v17-profile-file-name { max-width:100%; color:#71697d; font-size:12px; overflow-wrap:anywhere; }
.v17-profile-upload-button {
    position:relative; min-height:42px; box-sizing:border-box; padding:0 15px; border:1px solid #d8d0e8;
    border-radius:10px; display:inline-flex; align-items:center; gap:7px; background:#fff; color:var(--account-purple);
    font-size:13px; font-weight:700; cursor:pointer; overflow:hidden;
}
.v17-profile-upload-button:hover { background:#faf8ff; }
.v17-profile-upload-button input[type="file"] { position:absolute; inset:0; opacity:0; cursor:pointer; }
.v17-profile-remove-logo { display:inline-flex; align-items:center; gap:7px; color:#8f5266; font-size:12px; font-weight:700; cursor:pointer; }
.v17-profile-remove-logo input { accent-color:#9a4f67; }
.v17-private-field { background:#f6f4f8 !important; color:#746d7e !important; cursor:not-allowed; }

@media(max-width:640px){
    .v17-profile-logo-row { grid-template-columns:1fr; }
    .v17-profile-logo-preview { width:96px; height:96px; }
    .v17-profile-upload-button { width:100%; justify-content:center; }
}

/* Step 4F: provider registration and first-time setup */
.v17-auth-field-help {
    display: block;
    margin-top: 6px;
    color: var(--account-muted);
    font-size: 12px;
    line-height: 1.45;
}
.v17-auth-check {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    color: #4d465b;
    font-size: 13px;
    line-height: 1.5;
}
.v17-auth-check input[type="checkbox"] {
    flex: 0 0 auto;
    margin: 3px 0 0;
    width: 16px;
    height: 16px;
    accent-color: var(--account-purple);
}
.v17-auth-check > span {
    display: inline !important;
    margin: 0 !important;
    font-weight: 500 !important;
    color: inherit !important;
}
.v17-auth-check a { color: var(--account-purple); font-weight: 700; text-decoration: none; }
.v17-auth-check a:hover { color: var(--account-pink); text-decoration: underline; }
.v17-auth-actions-stack { flex-direction: column; align-items: center; gap: 12px; }
.v17-auth-note-tight { margin-top: 9px; }
.v17-onboarding-message { margin-bottom: 18px; }

/* Step 5A: Admin review and moderation */
.v17-admin-avatar { background:#efeaff; font-size:25px; }
.v17-admin-avatar i { line-height:1; }
.v17-admin-stats { grid-template-columns:repeat(5,minmax(0,1fr)); }
.v17-admin-listing-row .v17-dashboard-categories strong { color:#4b405f; }
.v17-admin-review-link { color:var(--account-purple) !important; border-color:#cfc3ec !important; }

.v17-dashboard-moderation-note,
.v17-moderation-message {
    margin-top:12px;
}
.v17-dashboard-moderation-note {
    display:flex;
    align-items:flex-start;
    gap:9px;
    padding:10px 12px;
    border:1px solid #ead9a7;
    border-radius:10px;
    background:#fffaf0;
    color:#6d5620;
    font-size:12px;
    line-height:1.45;
}
.v17-dashboard-moderation-note > i { margin-top:2px; color:#a7780c; }
.v17-dashboard-moderation-note strong,
.v17-dashboard-moderation-note span { display:block; }
.v17-dashboard-moderation-note span { margin-top:2px; color:#6d5d37; }

.v17-admin-review-shell { max-width:1180px; }
.v17-admin-review-topbar {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:14px;
}
.v17-admin-back {
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#6f6680;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
}
.v17-admin-back:hover { color:var(--account-pink); }
.v17-admin-review-header {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:22px;
    padding:24px 26px;
    margin-bottom:18px;
    background:#fff;
    border:1px solid var(--account-border);
    border-radius:18px;
    box-shadow:0 10px 30px rgba(45,25,90,.05);
}
.v17-admin-review-header h1 {
    margin:0;
    color:var(--account-purple);
    font:800 29px/1.18 Raleway,sans-serif;
}
.v17-admin-review-header p:last-child {
    margin:8px 0 0;
    color:var(--account-muted);
    font-size:13px;
}
.v17-admin-title-line { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.v17-admin-review-grid {
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);
    gap:18px;
    align-items:start;
}
.v17-admin-review-main,
.v17-admin-review-side { display:grid; gap:18px; }
.v17-admin-panel {
    background:#fff;
    border:1px solid var(--account-border);
    border-radius:16px;
    padding:22px 24px;
    box-shadow:0 8px 24px rgba(45,25,90,.04);
}
.v17-admin-panel h2 {
    margin:0 0 17px;
    color:var(--account-purple);
    font:800 20px/1.2 Raleway,sans-serif;
}
.v17-admin-panel h3 {
    margin:0 0 6px;
    color:#3f3455;
    font:700 13px/1.35 Raleway,sans-serif;
}
.v17-admin-photo-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.v17-admin-photo-grid figure {
    position:relative;
    margin:0;
    aspect-ratio:4/3;
    border:1px solid #e6e0ed;
    border-radius:12px;
    overflow:hidden;
    background:#f5f3f8;
}
.v17-admin-photo-grid figure.is-primary { border:2px solid #8a6bdc; }
.v17-admin-photo-grid img { width:100%; height:100%; object-fit:cover; display:block; }
.v17-admin-photo-grid figcaption {
    position:absolute;
    left:7px;
    bottom:7px;
    padding:4px 7px;
    border-radius:999px;
    background:rgba(52,22,154,.9);
    color:#fff;
    font-size:10px;
    font-weight:800;
}
.v17-admin-detail-list,
.v17-admin-provider-contact { margin:0; display:grid; gap:0; }
.v17-admin-detail-list > div,
.v17-admin-provider-contact > div {
    display:grid;
    grid-template-columns:180px minmax(0,1fr);
    gap:14px;
    padding:11px 0;
    border-bottom:1px solid #f0edf4;
}
.v17-admin-detail-list > div:last-child,
.v17-admin-provider-contact > div:last-child { border-bottom:0; }
.v17-admin-detail-list dt,
.v17-admin-provider-contact dt { color:#766e82; font-size:12px; font-weight:700; }
.v17-admin-detail-list dd,
.v17-admin-provider-contact dd { margin:0; color:#302642; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.v17-admin-detail-list a,
.v17-admin-provider-contact a { color:var(--account-purple); font-weight:700; text-decoration:none; }
.v17-admin-detail-list a:hover,
.v17-admin-provider-contact a:hover { color:var(--account-pink); text-decoration:underline; }
.v17-admin-copy-block { margin-top:18px; }
.v17-admin-copy-block p { margin:0; color:#554c62; font-size:13px; line-height:1.65; white-space:pre-line; }
.v17-admin-richtext { color:#4e4659; font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
.v17-admin-richtext p:first-child { margin-top:0; }
.v17-admin-richtext p:last-child { margin-bottom:0; }
.v17-admin-empty-value { margin:0; color:#938b9e; font-size:13px; font-style:italic; }

.v17-admin-provider-head { display:flex; align-items:center; gap:12px; }
.v17-admin-provider-head > div:last-child { display:grid; gap:5px; }
.v17-admin-provider-head strong { color:#2d2147; font:800 16px/1.25 Raleway,sans-serif; }
.v17-admin-verified { color:#4e33aa; font-size:11px; font-weight:700; }
.v17-admin-provider-about { margin:14px 0 8px; color:#60576b; font-size:13px; line-height:1.6; }
.v17-admin-provider-contact > div { grid-template-columns:105px minmax(0,1fr); }

.v17-admin-actions-panel > p { margin:-5px 0 17px; color:#736b80; font-size:12.5px; line-height:1.55; }
.v17-admin-publish-form { margin:0 0 18px; }
.v17-admin-publish-button { width:100%; }
.v17-admin-return-form { display:grid; gap:9px; padding-top:18px; border-top:1px solid #eeeaf3; }
.v17-admin-return-form label { display:grid; gap:3px; color:#3d324e; font-size:13px; }
.v17-admin-return-form label span { color:#837b8e; font-size:11.5px; font-weight:500; }
.v17-admin-return-form textarea {
    width:100%;
    min-height:120px;
    box-sizing:border-box;
    resize:vertical;
    border:1px solid #dcd6e7;
    border-radius:10px;
    padding:11px 12px;
    font:inherit;
    font-size:13px;
    line-height:1.5;
    outline:none;
}
.v17-admin-return-form textarea:focus { border-color:#8c6ce4; box-shadow:0 0 0 3px rgba(140,108,228,.12); }
.v17-admin-return-form .v17-secondary-button { width:100%; }
.v17-admin-archive-trigger {
    width:100%;
    min-height:42px;
    margin-top:15px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:1px solid #d6a9b6;
    border-radius:10px;
    background:#fff;
    color:#995269;
    font-family:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
}
.v17-admin-archive-trigger:hover { background:#fff6f8; }

.v17-admin-history { display:grid; gap:12px; }
.v17-admin-history-item { padding-bottom:12px; border-bottom:1px solid #efecf4; }
.v17-admin-history-item:last-child { border-bottom:0; padding-bottom:0; }
.v17-admin-history-item strong { display:block; color:#423454; font-size:12.5px; }
.v17-admin-history-item span { display:block; margin-top:2px; color:#8a8194; font-size:10.5px; }
.v17-admin-history-item p { margin:8px 0 0; padding:8px 9px; border-radius:8px; background:#f8f6fc; color:#5f5669; font-size:11.5px; line-height:1.5; }

@media(max-width:900px){
    .v17-admin-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .v17-admin-review-grid { grid-template-columns:1fr; }
    .v17-admin-review-side { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px){
    .v17-admin-review-topbar { align-items:flex-start; }
    .v17-admin-review-header { padding:20px; flex-direction:column; }
    .v17-admin-review-header h1 { font-size:23px; }
    .v17-admin-review-header .v17-secondary-button { width:100%; }
    .v17-admin-review-side { grid-template-columns:1fr; }
    .v17-admin-panel { padding:18px 16px; border-radius:14px; }
    .v17-admin-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .v17-admin-detail-list > div,
    .v17-admin-provider-contact > div { grid-template-columns:1fr; gap:4px; }
}


/* Step 5A v1.9: provider-facing verification and public visibility status */
.v17-provider-status-panel {
    border: 1px solid var(--account-border);
    border-radius: 16px;
    background: #fff;
    padding: 20px 22px;
}
.v17-provider-status-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 14px;
}
.v17-provider-status-head h2 { margin: 0; font-size: 20px; }
.v17-provider-status-head > p { margin: 2px 0 0; color: var(--account-muted); font-size: 13px; }
.v17-provider-status-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.v17-provider-status-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    border: 1px solid var(--account-border);
    border-radius: 13px;
    padding: 15px 16px;
    background: #faf9fc;
}
.v17-provider-status-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 18px;
    background: #f0ecf8;
    color: #665d73;
}
.v17-provider-status-item.is-good { border-color: #cfe8dc; background: #f7fcf9; }
.v17-provider-status-item.is-good .v17-provider-status-icon { background: #e7f7ef; color: #1f7a4d; }
.v17-provider-status-item.is-warning { border-color: #f2cf9d; background: #fff9ef; }
.v17-provider-status-item.is-warning .v17-provider-status-icon { background: #fff0d7; color: #9b5e08; }
.v17-provider-status-label { display: block; color: var(--account-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 3px; }
.v17-provider-status-item strong { display: block; color: #352d40; font-size: 15px; }
.v17-provider-status-item p { margin: 4px 0 0; color: #6f6878; font-size: 13px; line-height: 1.45; }
@media (max-width: 760px) {
    .v17-provider-status-head { flex-direction: column; gap: 4px; }
    .v17-provider-status-grid { grid-template-columns: 1fr; }
}


/* Admin review v2.1: provider About field can contain sanitized rich text. */
.v17-admin-provider-about.v17-admin-richtext {
    margin:14px 0 8px;
    color:#60576b;
    font-family:"Open Sans",Arial,sans-serif;
    font-size:13px;
    line-height:1.6;
}
.v17-admin-provider-about.v17-admin-richtext p {
    margin:0 0 7px;
}
.v17-admin-provider-about.v17-admin-richtext p:last-child {
    margin-bottom:0;
}
.v17-admin-provider-about.v17-admin-richtext p,
.v17-admin-provider-about.v17-admin-richtext div,
.v17-admin-provider-about.v17-admin-richtext span,
.v17-admin-provider-about.v17-admin-richtext font,
.v17-admin-provider-about.v17-admin-richtext code,
.v17-admin-provider-about.v17-admin-richtext pre {
    font-family:"Open Sans",Arial,sans-serif !important;
}
.v17-admin-provider-about.v17-admin-richtext pre {
    white-space:pre-wrap;
}

.v17-admin-public-hidden-badge{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:5px 10px;
    border-radius:999px;
    background:#fff3dc;
    color:#8a5a08;
    font-size:11px;
    font-weight:800;
    line-height:1;
}
.v17-admin-disabled-public-button{
    opacity:.72;
    cursor:default;
    pointer-events:none;
}


/* Admin visibility clarity v1.1 — intentionally last in file to beat older cached/cascade rules. */
.v17-admin-provider-about,
.v17-admin-provider-about *{
    font-family:"Open Sans",Arial,sans-serif !important;
    font-style:normal !important;
    letter-spacing:normal !important;
}
.v17-admin-provider-about code,
.v17-admin-provider-about pre{
    font:inherit !important;
    color:inherit !important;
    background:transparent !important;
    border:0 !important;
    padding:0 !important;
    margin:0 !important;
    white-space:pre-wrap !important;
}

.v17-admin-public-hidden-badge{
    display:inline-flex !important;
    align-items:center;
    gap:6px;
    padding:6px 10px !important;
    border:1px solid #e7a72f !important;
    border-radius:999px;
    background:#fff3d6 !important;
    color:#7a4700 !important;
    font-size:12px !important;
    font-weight:800 !important;
    line-height:1.1;
    white-space:nowrap;
}
.v17-admin-public-hidden-badge.is-compact{
    padding:4px 8px !important;
    font-size:11px !important;
}
.v17-admin-row-statuses{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:7px;
}
.v17-admin-title-line .v17-admin-public-hidden-badge{
    margin-left:2px;
}

.v17-admin-disabled-public-button{
    border-color:#e7a72f !important;
    background:#fff8e9 !important;
    color:#7a4700 !important;
    opacity:1 !important;
    cursor:default !important;
    pointer-events:none;
}

.v17-admin-visibility-alert{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin:0 0 18px;
    padding:13px 16px;
    border:1px solid #e7a72f;
    border-left:5px solid #d98c00;
    border-radius:12px;
    background:#fff8e9;
    color:#6d4300;
}
.v17-admin-visibility-alert > i{
    font-size:18px;
    line-height:1.3;
    color:#b86e00;
}
.v17-admin-visibility-alert div{
    display:grid;
    gap:3px;
}
.v17-admin-visibility-alert strong{
    font-family:"Raleway",sans-serif;
    font-size:14px;
    color:#684000;
}
.v17-admin-visibility-alert span{
    font-size:13px;
    line-height:1.5;
}

.v17-admin-status-help{
    display:flex;
    align-items:flex-start;
    gap:8px;
    margin:14px 20px 0;
    padding:10px 12px;
    border:1px solid #eadfbf;
    border-radius:10px;
    background:#fffaf0;
    color:#665b47;
    font-size:12.5px;
    line-height:1.5;
}
.v17-admin-status-help i{
    margin-top:1px;
    color:#9b6a08;
}


/* Admin visibility refinement v1.2 */
.v17-admin-public-hidden-badge,
.v17-admin-public-hidden-badge.is-compact{
    display:inline-flex !important;
    align-items:center !important;
    gap:4px !important;
    padding:3px 8px !important;
    border:0 !important;
    box-shadow:inset 0 0 0 1px #e7a72f !important;
    border-radius:999px !important;
    background:#fff3d6 !important;
    color:#7a4700 !important;
    font-size:9px !important;
    font-weight:800 !important;
    line-height:normal !important;
    letter-spacing:.05em !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
    box-sizing:border-box !important;
}
.v17-admin-public-hidden-badge i{
    font-size:9px !important;
    line-height:1 !important;
}


/* Provider profile About editor typography v1.0 */
.v17-richtext-editor,
.v17-richtext-editor *{
    font-family:"Open Sans",Arial,sans-serif !important;
    font-style:normal !important;
    letter-spacing:normal !important;
}
.v17-richtext-editor{
    font-size:14px !important;
    line-height:1.6 !important;
}
.v17-richtext-editor code,
.v17-richtext-editor pre{
    font:inherit !important;
    color:inherit !important;
    background:transparent !important;
    border:0 !important;
    padding:0 !important;
    white-space:pre-wrap !important;
}
