/* ========================================
   ARTIST PANEL
   Estilos compartidos del portal de artistas.
   ======================================== */

/*
 * TOKENS DEL PORTAL DE ARTISTAS
 */
:root {
    /* Layout */
    --ap-width-wide: 76rem;
    --ap-width-account: 68rem;
    --ap-width-content: 58rem;
    --ap-width-access: 48rem;
    --ap-width-form: 40rem;
    --ap-site-header-height: var(--site-header-height, 4rem);

    /* Tipografía */
    --ap-text-2xs: .64rem;
    --ap-text-xs: .68rem;
    --ap-text-sm: .74rem;
    --ap-text-md: .8rem;
    --ap-text-base: .9rem;
    --ap-text-lg: 1rem;
    --ap-text-xl: 1.15rem;
    --ap-text-2xl: 1.25rem;
    --ap-title-page: clamp(1.9rem, 3vw, 2.65rem);
    --ap-title-page-large: clamp(2rem, 3vw, 2.75rem);
    --ap-title-access: clamp(1.9rem, 2.5vw, 3rem);
    --ap-title-section: clamp(1.55rem, 2vw, 2.25rem);
    --ap-title-card: clamp(1.15rem, 1.5vw, 1.55rem);
    --ap-weight-medium: 700;
    --ap-weight-bold: 800;
    --ap-weight-heavy: 850;
    --ap-weight-black: 900;
    --ap-line-tight: 1.2;
    --ap-line-title: 1.05;
    --ap-line-body: 1.45;
    --ap-line-comfortable: 1.6;

    /* Espaciado */
    --ap-space-1: .25rem;
    --ap-space-2: .35rem;
    --ap-space-3: .45rem;
    --ap-space-4: .55rem;
    --ap-space-5: .65rem;
    --ap-space-6: .75rem;
    --ap-space-7: .85rem;
    --ap-space-8: 1rem;
    --ap-space-9: 1.25rem;
    --ap-space-10: 1.5rem;

    /* Radios */
    --ap-radius-xs: .35rem;
    --ap-radius-sm: .45rem;
    --ap-radius-md: .55rem;
    --ap-radius-lg: .7rem;
    --ap-radius-xl: .85rem;
    --ap-radius-2xl: 1rem;
    --ap-radius-3xl: 1.25rem;
    --ap-radius-pill: 999px;

    /* Controles */
    --ap-control-height: 2.65rem;
    --ap-button-height: 2.55rem;
    --ap-button-height-large: 3rem;

    /* Canales RGB */
    --ap-rgb-primary: 111 182 255;
    --ap-rgb-action: 50 119 211;
    --ap-rgb-surface: 16 28 41;
    --ap-rgb-white: 255 255 255;
    --ap-rgb-black: 0 0 0;
    --ap-rgb-info: 96 165 250;
    --ap-rgb-warning: 251 191 36;
    --ap-rgb-success: 52 211 153;
    --ap-rgb-danger: 248 113 113;
    --ap-rgb-purple: 139 92 246;
    --ap-rgb-published: 34 197 94;
    --ap-rgb-neutral: 148 163 184;
    --ap-rgb-pending: 217 153 18;

    /* Texto */
    --ap-color-white: #fff;
    --ap-color-text: var(--spb-text, #eef5fc);
    --ap-color-text-soft: var(--spb-text-soft, #b9c9da);
    --ap-color-text-muted: var(--spb-text-muted, #8298af);
    --ap-color-on-light: #111;
    --ap-color-primary: var(--spb-accent, #6fb6ff);
    --ap-color-primary-hover: var(--spb-accent-2, #9dccff);
    --ap-color-link: #8fc2ff;
    --ap-color-link-strong: #70b1ff;
    --ap-color-link-soft: #9fcbff;
    --ap-color-warning: #ffd978;
    --ap-color-warning-soft: #fff2bd;
    --ap-color-success: #91f0c5;
    --ap-color-published: #3ee28b;
    --ap-color-danger: #ffb4b4;
    --ap-color-danger-soft: #ffd0d0;
    --ap-color-purple: #d8c8ff;
    --ap-color-neutral: #cbd5e1;

    /* Acciones */
    --ap-action: #3277d3;
    --ap-action-dark: #2259ad;
    --ap-action-hover: #3b88ee;
    --ap-action-hover-dark: #2966c0;
    --ap-action-border: #4b8fe8;
    --ap-action-border-hover: #74acff;

    /* Superficies y bordes */
    --ap-page: #07101a;
    --ap-surface: rgb(var(--ap-rgb-surface) / 72%);
    --ap-surface-soft: rgb(var(--ap-rgb-surface) / 68%);
    --ap-surface-input: rgb(4 10 18 / 58%);
    --ap-surface-deep: #0d1927;
    --ap-border: var(--spb-line-mid, rgb(var(--ap-rgb-primary) / 24%));
    --ap-border-soft: var(--spb-line-soft, rgb(var(--ap-rgb-primary) / 13%));


    /* Títulos e iconos especiales */
    --ap-title-access-column: clamp(1.45rem, 1.8vw, 2rem);
    --ap-title-lead: clamp(1.8rem, 3vw, 2.55rem);
    --ap-text-icon: 1.45rem;
    --ap-text-stat: 1.55rem;
    --ap-text-stat-large: 1.7rem;
    --ap-text-summary: 1.75rem;
    --ap-text-mobile-title: 2rem;

    /* Superficies específicas */
    --ap-surface-page-top: rgb(10 18 30 / 72%);
    --ap-surface-page-bottom: rgb(7 10 15 / 94%);
    --ap-surface-requirements-top: rgb(8 13 21 / 82%);
    --ap-surface-requirements-bottom: rgb(8 11 17 / 96%);
    --ap-surface-box-top: rgb(20 24 31 / 94%);
    --ap-surface-box-bottom: rgb(12 17 24 / 98%);
    --ap-surface-access-top: rgb(20 27 38 / 86%);
    --ap-surface-access-bottom: rgb(10 15 22 / 94%);
    --ap-surface-overlay: rgb(3 8 16 / 48%);
    --ap-surface-input-soft: rgb(3 8 16 / 42%);
    --ap-surface-input-focus: rgb(8 15 26 / 66%);
    --ap-surface-help: rgb(26 81 58 / 44%);
    --ap-surface-tabs: rgb(8 16 26 / 74%);
    --ap-surface-workflow-top: rgb(20 34 50 / 96%);
    --ap-surface-workflow-bottom: rgb(11 20 32 / 96%);
    --ap-surface-workflow-warning-top: rgb(53 42 16 / 70%);
    --ap-surface-workflow-warning-bottom: rgb(13 24 37 / 96%);
    --ap-surface-sheet-top: rgb(11 18 28 / 98%);
    --ap-surface-sheet-bottom: rgb(8 14 22 / 98%);
    --ap-surface-message: rgb(3 8 16 / 40%);
    --ap-color-list-text: rgb(244 245 242 / 88%);

    /* Colores puntuales reutilizables */
    --ap-color-success-light: #bff4e4;
    --ap-color-progress-track: #26384b;
    --ap-color-progress-fill: #4597ff;
    --ap-color-tab-active: #2966b8;
    --ap-color-action-outline: #3176ca;
    --ap-color-danger-deep: #740000;
    --ap-color-workflow-label: #0b1724;

    /* Efectos */
    --ap-shadow-card: 0 14px 35px rgb(var(--ap-rgb-black) / 13%);
    --ap-shadow-raised: 0 18px 38px rgb(var(--ap-rgb-black) / 35%);
    --ap-transition: .16s ease;
}

/* ========================================
   ALTA GRUPOS - REQUISITOS
   ======================================== */
.requisitos-alta {
    position: relative;
    padding: 1.4rem 0 1.6rem;
    border-top: 1px solid var(--ap-border-soft);
    border-bottom: 1px solid var(--ap-border-soft);
    background:
        radial-gradient(circle at top, rgb(var(--ap-rgb-primary) / 10%) 0%, rgb(var(--ap-rgb-primary) / 0%) 34%),
        linear-gradient(180deg, var(--ap-surface-requirements-top) 0%, var(--ap-surface-requirements-bottom) 100%);
}

.requisitos-alta .section-header {
    max-width: var(--ap-width-content);
    margin: 0 auto 1.2rem;
}

.requisitos-alta .section-header h2 {
    margin-bottom: 0.45rem;
    font-size: var(--ap-title-section);
    text-wrap: balance;
}

.requisitos-alta .section-header p {
    margin: 0 auto;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-base);
    line-height: 1.6;
}

.requisitos-grid {
    row-gap: 1rem;
}

.requisito-box {
    height: 100%;
    padding: 1.15rem 1.2rem;
    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius-3xl);
    background:
        linear-gradient(180deg, var(--ap-surface-box-top) 0%, var(--ap-surface-box-bottom) 100%);
    box-shadow: 0 14px 30px rgb(var(--ap-rgb-black) / 18%);
}

.requisito-box h3 {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.75rem;
    font-size: var(--ap-title-card);
}

.requisito-box h3 i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: var(--ap-radius-pill);
    background: rgb(var(--ap-rgb-primary) / 10%);
    color: var(--ap-color-primary);
    font-size: var(--ap-text-base);
}

.requisito-box ul {
    margin: 0;
    padding-left: 1.15rem;
}

.requisito-box li {
    margin-bottom: 0.35rem;
    color: var(--ap-color-list-text);
    font-size: var(--ap-text-base);
    line-height: 1.45;
}

.requisito-box li:last-child {
    margin-bottom: 0;
}

.requisitos-nota {
    max-width: var(--ap-width-content);
    margin: 1.1rem auto 0;
    padding: 1rem 1.1rem;
    border: 1px solid var(--ap-border);
    border-left: 4px solid var(--ap-color-primary);
    border-radius: var(--ap-radius-2xl);
    background: rgb(var(--ap-rgb-primary) / 6%);
    text-align: center;
}

.requisitos-nota p {
    margin-bottom: 0.8rem;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-base);
    line-height: 1.6;
}

.requisitos-nota .btn.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--ap-control-height);
    padding: 0.65rem 1.2rem;
    border: 1px solid var(--ap-action-border);
    border-radius: var(--ap-radius-pill);
    background: linear-gradient(180deg, var(--ap-action) 0%, var(--ap-action-dark) 100%);
    color: var(--ap-color-white);
    font-weight: var(--ap-weight-bold);
    text-decoration: none;
}

.requisitos-nota .btn.btn-primary:hover {
    border-color: var(--ap-action-border-hover);
    background: linear-gradient(180deg, var(--ap-action-hover) 0%, var(--ap-action-hover-dark) 100%);
    color: var(--ap-color-white);
}

@media (max-width: 992px) {
    .requisitos-alta {
        padding: 1.2rem 0 1.35rem;
    }

    .requisito-box {
        margin-bottom: 1rem;
        text-align: left;
    }

    .requisito-box h3 {
        justify-content: center;
        text-align: center;
    }

    .requisitos-nota {
        text-align: center;
    }
}

/* ========================================
   ACCESO ARTISTAS
   ======================================== */
.artist-form-help {
    margin-top: -0.35rem;
    margin-bottom: 0.75rem;
    font-size: var(--ap-text-base);
    text-align: right;
}

.artist-form-help a {
    color: var(--ap-color-primary);
    text-decoration: none;
    font-weight: var(--ap-weight-medium);
}

.artist-form-help a:hover {
    text-decoration: underline;
}

.artist-toggle-group {
    display: grid;
    gap: 0.55rem;
    margin: -0.25rem 0 0.9rem;
}

.artist-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    cursor: pointer;
    user-select: none;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-base);
    line-height: 1.4;
}

.artist-toggle input[type="checkbox"] {
    display: none;
}

.artist-toggle-track {
    position: relative;
    width: 2.35rem;
    height: 1.25rem;
    flex: 0 0 auto;
    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius-pill);
    background: rgb(var(--ap-rgb-white) / 7%);
}

.artist-toggle-track::after {
    content: "";
    position: absolute;
    top: 0.17rem;
    left: 0.17rem;
    width: 0.78rem;
    height: 0.78rem;
    border-radius: var(--ap-radius-pill);
    background: currentColor;
    transition: transform var(--ap-transition);
}

.artist-toggle input:checked+.artist-toggle-track {
    border-color: var(--ap-color-primary);
    background: rgb(var(--ap-rgb-primary) / 16%);
}

.artist-toggle input:checked+.artist-toggle-track::after {
    transform: translateX(1.05rem);
}

.artist-toggle-label {
    display: inline-block;
}

.artist-location-list {
    display: grid;
    gap: 0.6rem;
}

.artist-field-hint {
    margin: 0.45rem 0 0;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-base);
    line-height: 1.4;
}

.artist-input-wrap select {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    padding: 0.85rem 0.9rem 0.85rem 0;
    appearance: none;
}

.artist-input-wrap select option {
    color: var(--ap-color-on-light);
}

.artist-hp-field {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.artist-access-page {
    position: relative;
    padding: 2rem 0 2.2rem;
    border-bottom: 1px solid var(--ap-border-soft);
    background:
        radial-gradient(circle at center top, rgb(var(--ap-rgb-primary) / 12%) 0%, rgb(var(--ap-rgb-primary) / 0%) 38%),
        linear-gradient(180deg, var(--ap-surface-page-top) 0%, var(--ap-surface-page-bottom) 100%);
}

.artist-access-header {
    max-width: var(--ap-width-access);
    margin: 0 auto 1.5rem;
}

.artist-access-header h1 {
    margin-bottom: 0.5rem;
    font-size: var(--ap-title-access);
}

.artist-access-header p {
    margin: 0 auto;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-lg);
    line-height: 1.6;
}

.artist-access-box {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 1.5rem;
    max-width: var(--ap-width-account);
    margin: 0 auto;
    padding: 1.25rem;
    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius-3xl);
    background:
        linear-gradient(180deg, var(--ap-surface-access-top) 0%, var(--ap-surface-access-bottom) 100%);
    box-shadow: 0 20px 44px rgb(var(--ap-rgb-black) / 24%);
}

.artist-access-box--switchable {
    display: block;
    max-width: var(--ap-width-form);
}

.artist-access-switcher {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.25rem;
    max-width: 25rem;
    margin: 0 auto 0.8rem;
    padding: 0.25rem;
    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius-xl);
    background: var(--ap-surface-overlay);
}

.artist-access-switcher button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 2.75rem;
    padding: 0.65rem 0.8rem;
    border: 1px solid transparent;
    border-radius: var(--ap-radius-md);
    background: transparent;
    color: var(--ap-color-text-soft);
    font: inherit;
    font-size: var(--ap-text-base);
    font-weight: var(--ap-weight-bold);
    cursor: pointer;
}

.artist-access-switcher button[aria-selected="true"] {
    border-color: rgb(var(--ap-rgb-primary) / 34%);
    background: rgb(var(--ap-rgb-action) / 22%);
    color: var(--ap-color-white);
}

.artist-access-switcher button:hover {
    color: var(--ap-color-white);
}

.artist-access-switcher button:focus-visible {
    outline: 2px solid var(--ap-color-primary);
    outline-offset: 2px;
}

.artist-access-col[hidden] {
    display: none;
}

.artist-access-col {
    padding: 0.7rem 0.85rem;
}

.artist-access-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.4rem;
    height: 3.4rem;
    margin-bottom: 0.8rem;
    border-radius: var(--ap-radius-pill);
    background: rgb(var(--ap-rgb-primary) / 12%);
    color: var(--ap-color-primary);
    font-size: var(--ap-text-icon);
    box-shadow: inset 0 1px 0 rgb(var(--ap-rgb-white) / 8%);
}

.artist-access-col h2 {
    margin-bottom: 0.25rem;
    font-size: var(--ap-title-access-column);
}

.artist-access-subtitle {
    margin-bottom: 1rem;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-base);
}

.artist-access-divider {
    width: 1px;
    min-height: 100%;
    background: linear-gradient(180deg,
            rgb(var(--ap-rgb-primary) / 0%) 0%,
            rgb(var(--ap-rgb-primary) / 22%) 18%,
            rgb(var(--ap-rgb-primary) / 22%) 82%,
            rgb(var(--ap-rgb-primary) / 0%) 100%);
}

.artist-access-form {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.artist-field label,
.artist-label-row label {
    display: block;
    margin-bottom: 0.28rem;
    color: var(--ap-color-text);
    font-size: var(--ap-text-base);
    font-weight: var(--ap-weight-medium);
}

.artist-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.artist-label-row a {
    color: var(--ap-color-primary);
    font-size: var(--ap-text-md);
    font-weight: var(--ap-weight-medium);
}

.artist-label-row a:hover {
    color: var(--ap-color-primary-hover);
}

.artist-input-wrap {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-height: var(--ap-button-height-large);
    padding: 0 0.9rem;
    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius-lg);
    background: var(--ap-surface-input-soft);
    transition: border-color var(--ap-transition), background var(--ap-transition), box-shadow var(--ap-transition);
}

.artist-input-wrap:focus-within {
    border-color: rgb(var(--ap-rgb-primary) / 42%);
    background: var(--ap-surface-input-focus);
    box-shadow: 0 0 0 3px rgb(var(--ap-rgb-primary) / 8%);
}

.artist-input-wrap i {
    flex: 0 0 auto;
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-base);
}

.artist-input-wrap input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--ap-color-text);
    font: inherit;
    font-size: var(--ap-text-base);
}

.artist-input-wrap input::placeholder {
    color: var(--ap-color-text-muted);
}

.artist-check {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-base);
    line-height: 1.45;
}

.artist-check input {
    margin-top: 0.22rem;
    accent-color: var(--ap-action);
}

.artist-check a {
    font-weight: var(--ap-weight-medium);
}

.artist-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--ap-button-height-large);
    width: 100%;
    padding: 0.78rem 1.1rem;
    border-radius: var(--ap-radius-lg);
    font-size: var(--ap-text-base);
    font-weight: var(--ap-weight-bold);
    text-decoration: none;
    cursor: pointer;
    transition: transform var(--ap-transition), background var(--ap-transition), border-color var(--ap-transition);
    background-color: var(--ap-color-danger-deep);
}

.artist-btn-primary {
    border: 1px solid var(--ap-action-border);
    background: linear-gradient(180deg, var(--ap-action) 0%, var(--ap-action-dark) 100%);
    color: var(--ap-color-white);
}

.artist-btn-primary:hover {
    transform: translateY(-1px);
    border-color: var(--ap-action-border-hover);
    background: linear-gradient(180deg, var(--ap-action-hover) 0%, var(--ap-action-hover-dark) 100%);
    color: var(--ap-color-white);
}

.artist-access-note {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    max-width: 49rem;
    margin: 1rem auto 0;
    padding: 0.95rem 1rem;
    border: 1px solid var(--ap-border);
    border-left: 4px solid var(--ap-color-primary);
    border-radius: var(--ap-radius-2xl);
    background: rgb(var(--ap-rgb-primary) / 6%);
}

.artist-access-note i {
    color: var(--ap-color-primary);
    font-size: var(--ap-text-xl);
}

.artist-access-note p {
    margin: 0;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-base);
    line-height: 1.55;
}

@media (max-width: 992px) {
    .artist-access-page {
        padding: 1.4rem 0 1.6rem;
    }

    .artist-access-box {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }

    .artist-access-divider {
        width: 100%;
        height: 1px;
        min-height: 1px;
        background: linear-gradient(90deg,
                rgb(var(--ap-rgb-primary) / 0%) 0%,
                rgb(var(--ap-rgb-primary) / 22%) 18%,
                rgb(var(--ap-rgb-primary) / 22%) 82%,
                rgb(var(--ap-rgb-primary) / 0%) 100%);
    }

    .artist-access-col {
        text-align: left;
    }

    .artist-access-icon {
        display: flex;
        margin-left: auto;
        margin-right: auto;
    }

    .artist-access-col h2,
    .artist-access-subtitle {
        text-align: center;
    }

    .artist-access-note {
        align-items: flex-start;
    }
}

.artist-access-alert {
    max-width: var(--ap-width-account);
    margin: 0 auto 1rem;
    padding: 0.85rem 1rem;
    border-radius: var(--ap-radius-xl);
    font-size: var(--ap-text-base);
    line-height: 1.45;
}

.artist-access-alert p {
    margin: 0;
}

.artist-access-alert p+p {
    margin-top: 0.35rem;
}

.artist-access-alert--success {
    border: 1px solid rgb(var(--ap-rgb-success) / 36%);
    background: rgb(var(--ap-rgb-success) / 10%);
    color: var(--ap-color-success-light);
}

.artist-access-alert--error {
    border: 1px solid rgb(var(--ap-rgb-danger) / 34%);
    background: rgb(var(--ap-rgb-danger) / 9%);
    color: var(--ap-color-danger-soft);
}

/* Recuperacion de contraseña */
.artist-password-reset-page {
    min-height: calc(100vh - var(--ap-site-header-height));
    padding: 2.25rem 0 3rem;
}

.artist-password-reset-page .artist-access-header {
    max-width: var(--ap-width-form);
    margin-bottom: 1.25rem;
}

.artist-password-reset-page .artist-access-header h1 {
    font-size: var(--ap-title-page-large);
}

.artist-password-reset-page .artist-access-header p {
    max-width: 34rem;
    font-size: var(--ap-text-base);
}

.artist-password-reset-page .artist-access-alert {
    max-width: var(--ap-width-form);
}

.artist-password-reset-box {
    display: block;
    width: min(100%, var(--ap-width-form));
    margin-inline: auto;
    padding: 1.25rem;
}

.artist-password-reset-box .artist-access-col {
    padding: 0.5rem;
}

.artist-password-reset-box .artist-access-icon {
    width: 3rem;
    height: 3rem;
    margin-bottom: 0.65rem;
}

.artist-password-reset-box h2 {
    margin: 0;
    font-size: var(--ap-title-card);
}

.artist-password-reset-box .artist-access-subtitle {
    max-width: 31rem;
    margin: 0.35rem 0 1rem;
    line-height: var(--ap-line-comfortable);
}

.artist-password-reset-box .artist-btn-secondary {
    border: 1px solid var(--ap-border);
    background: rgb(var(--ap-rgb-white) / 4%);
    color: var(--ap-color-link);
}

.artist-password-reset-box .artist-btn-secondary:hover {
    transform: translateY(-1px);
    border-color: rgb(var(--ap-rgb-primary) / 48%);
    background: rgb(var(--ap-rgb-primary) / 9%);
    color: var(--ap-color-white);
}

@media (max-width: 640px) {
    .artist-password-reset-page {
        padding: 1.35rem 0 2rem;
    }

    .artist-password-reset-box {
        padding: 0.9rem;
    }
}

/* ========================================
   BASE DEL PANEL Y MENÚ DE ARTISTA
   ======================================== */
.artist-site-header {
    height: auto;
    min-height: var(--ap-site-header-height);
}

.artist-menu {
    width: 100%;
}

.artist-menu-logo,
.artist-menu-home,
.artist-menu-user,
.artist-menu-link,
.artist-account-toggle {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--ap-color-white);
    text-decoration: none;
}

.artist-menu-logo {
    flex: 0 0 auto;
}

.artist-menu-logo .img-logo {
    width: 38px;
    height: 38px;
}

.artist-menu-home,
.artist-menu-user {
    min-height: 2.3rem;
    color: var(--ap-color-white);
    font-weight: var(--ap-weight-bold);
}

.artist-menu-home:hover,
.artist-menu-user:hover {
    color: var(--ap-color-primary-hover);
}

.artist-menu-link,
.artist-account-toggle {
    min-height: var(--ap-button-height);
    padding: .55rem .75rem;
    border: 1px solid rgb(var(--ap-rgb-white) / 12%);
    border-radius: var(--ap-radius-sm);
    background: rgb(var(--ap-rgb-white) / 6%);
    font: inherit;
    font-size: var(--ap-text-base);
    font-weight: var(--ap-weight-bold);
    cursor: pointer;
}

.artist-menu-link:hover,
.artist-account-toggle:hover {
    border-color: rgb(var(--ap-rgb-primary) / 42%);
    background: rgb(var(--ap-rgb-primary) / 14%);
    color: var(--ap-color-white);
}

.artist-menu-logout {
    margin: 0;
}

.artist-menu-link--button {
    width: 100%;
}

.artist-panel-page {
    position: relative;
    padding: 0 0 1rem;
    border-bottom: 1px solid var(--ap-border-soft);
    background:
        radial-gradient(circle at center top, rgb(var(--ap-rgb-primary) / 10%) 0%, rgb(var(--ap-rgb-primary) / 0%) 38%),
        linear-gradient(180deg, var(--ap-surface-page-top) 0%, var(--ap-surface-page-bottom) 100%);
}

.artist-panel-page .container,
.artist-panel-container {
    position: relative;
}

.artist-dashboard-help {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    min-height: 2.45rem;
    padding: .5rem .8rem;
    border: 1px solid rgb(var(--ap-rgb-primary) / 34%);
    border-radius: var(--ap-radius-pill);
    background: var(--ap-surface-help);
    color: var(--ap-color-primary);
    font-size: var(--ap-text-base);
    font-weight: var(--ap-weight-bold);
    text-decoration: none;
    white-space: nowrap;
}

.artist-dashboard-help:hover {
    border-color: rgb(var(--ap-rgb-primary) / 58%);
    background: rgb(var(--ap-rgb-primary) / 14%);
    color: var(--ap-color-white);
}

.artist-dashboard-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: .28rem .48rem;
    border: 1px solid;
    border-radius: var(--ap-radius-xs);
    font-size: var(--ap-text-xs);
    line-height: 1.2;
}

.artist-dashboard-status--published {
    border-color: rgb(var(--ap-rgb-published) / 30%);
    background: rgb(var(--ap-rgb-published) / 9%);
    color: var(--ap-color-published);
}

.artist-dashboard-status--pending_review {
    border-color: rgb(var(--ap-rgb-pending) / 30%);
    background: rgb(var(--ap-rgb-pending) / 9%);
    color: var(--ap-color-warning);
}

.artist-dashboard-status--rejected {
    border-color: rgb(var(--ap-rgb-danger) / 34%);
    background: rgb(var(--ap-rgb-danger) / 9%);
    color: var(--ap-color-danger);
}

.artist-dashboard-status--draft {
    border-color: rgb(var(--ap-rgb-neutral) / 30%);
    background: rgb(var(--ap-rgb-neutral) / 8%);
    color: var(--ap-color-neutral);
}

/* Tabla compartida por dashboard y Mis grupos */
.artist-dashboard-groups-table {
    --artist-groups-columns:
        minmax(13rem, 2fr) minmax(5rem, .65fr) minmax(7.5rem, .9fr) minmax(6rem, .7fr) minmax(6.5rem, .8fr) minmax(15.75rem, 1.45fr);

    overflow: hidden;
    margin-bottom: 1rem;
    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius-md);
    background: var(--ap-surface);
    box-shadow: var(--ap-shadow-card);
}

.artist-dashboard-groups-table>header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .8rem 1rem;
    border-bottom: 1px solid var(--ap-border-soft);
}

.artist-dashboard-groups-table h2 {
    margin: 0;
    font-size: var(--ap-text-xl);
}

.artist-dashboard-groups-table header a {
    color: var(--ap-color-link-strong);
    font-size: var(--ap-text-sm);
    font-weight: var(--ap-weight-bold);
    text-decoration: none;
}

.artist-dashboard-table-head,
.artist-dashboard-group-row {
    display: grid;
    grid-template-columns: var(--artist-groups-columns);
    align-items: center;
    column-gap: .75rem;
}

.artist-dashboard-table-head {
    padding: .6rem 1rem;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-sm);
}

.artist-dashboard-group-row {
    min-height: 5.4rem;
    padding: .75rem 1rem;
    border-top: 1px solid var(--ap-border-soft);
}

.artist-dashboard-group-identity {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: .75rem;
}

.artist-dashboard-group-identity img,
.artist-dashboard-group-placeholder {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 3.2rem;
    height: 3.2rem;
    border-radius: var(--ap-radius-xs);
    object-fit: cover;
    background: rgb(var(--ap-rgb-white) / 5%);
    color: var(--ap-color-text-muted);
}

.artist-dashboard-group-identity div {
    min-width: 0;
}

.artist-dashboard-group-identity>a {
    display: inline-flex;
    flex: 0 0 auto;
}

.artist-dashboard-group-name {
    display: inline-flex;
    color: var(--ap-color-white);
    text-decoration: none;
}

.artist-dashboard-group-identity strong {
    color: var(--ap-color-white);
    font-size: var(--ap-text-base);
}

.artist-dashboard-group-identity p {
    overflow: hidden;
    margin: .25rem 0 0;
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-sm);
    line-height: 1.35;
}

.artist-dashboard-progress {
    display: grid;
    gap: .35rem;
}

.artist-dashboard-progress strong {
    font-size: var(--ap-text-sm);
}

.artist-dashboard-progress>span {
    display: block;
    width: 100%;
    height: .42rem;
    overflow: hidden;
    border-radius: var(--ap-radius-pill);
    background: var(--ap-color-progress-track);
}

.artist-dashboard-progress i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--ap-color-progress-fill);
}

.artist-dashboard-group-row small {
    display: block;
    margin-top: .18rem;
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-xs);
}

.artist-dashboard-row-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .35rem;
    width: 100%;
    min-width: 0;
    white-space: nowrap;
}

.artist-dashboard-row-actions-buttons {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .35rem;
    width: 100%;
    min-width: 0;
    white-space: nowrap;
}

.artist-dashboard-row-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: .35rem;
    width: max-content;
    min-height: 2.1rem;
    padding: .42rem .65rem;
    border: 1px solid var(--ap-color-action-outline);
    border-radius: var(--ap-radius-xs);
    color: var(--ap-color-link-strong);
    font-size: var(--ap-text-sm);
    font-weight: var(--ap-weight-medium);
    text-decoration: none;
}

/* Tablet y ventanas estrechas */
@media (max-width: 1100px) {
    .artist-dashboard-table-head {
        display: none;
    }

    .artist-dashboard-group-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
        gap: .9rem 1rem;
        padding: 1rem;
    }

    .artist-dashboard-group-identity {
        grid-column: 1 / -1;
    }

    .artist-dashboard-group-row>div[data-label] {
        display: grid;
        grid-template-columns: 8.5rem minmax(0, 1fr);
        align-items: center;
        gap: .75rem;
        min-width: 0;
    }

    .artist-dashboard-group-row>div[data-label]::before {
        content: attr(data-label);
        color: var(--ap-color-text-muted);
        font-size: var(--ap-text-xs);
        font-weight: var(--ap-weight-bold);
        text-transform: uppercase;
    }

    .artist-dashboard-group-row>.artist-dashboard-row-actions {
        grid-column: 1 / -1;
    }

    .artist-dashboard-row-actions-buttons {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
        gap: .5rem;
        white-space: normal;
    }

    .artist-dashboard-row-actions-buttons a {
        width: 100%;
        min-width: 0;
        justify-content: center;
    }
}

/* Móvil */
@media (max-width: 700px) {
    .artist-dashboard-group-row {
        grid-template-columns: 1fr;
    }

    .artist-dashboard-group-identity,
    .artist-dashboard-group-row>.artist-dashboard-row-actions {
        grid-column: 1;
    }
}

/* Móvil estrecho */
@media (max-width: 520px) {
    .artist-dashboard-group-row>div[data-label] {
        grid-template-columns: 1fr;
        gap: .35rem;
    }

    .artist-dashboard-row-actions-buttons {
        grid-template-columns: 1fr;
    }
}

.artist-dashboard-feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 3rem;
    height: 3rem;
    border-radius: var(--ap-radius-pill);
    background: rgb(var(--ap-rgb-action) / 24%);
    color: var(--ap-color-link-strong);
}

.artist-dashboard-wide-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-height: 2.35rem;
    padding: .5rem .8rem;
    border: 1px solid var(--ap-color-action-outline);
    border-radius: var(--ap-radius-sm);
    color: var(--ap-color-link-strong);
    font-size: var(--ap-text-sm);
    font-weight: var(--ap-weight-bold);
    text-decoration: none;
}

.artist-dashboard-empty {
    display: grid;
    justify-items: center;
    gap: var(--ap-space-7);
    padding: 2rem 1rem;
    text-align: center;
}

.artist-dashboard-empty p {
    margin: 0;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-base);
}

/* Estados de solicitudes */
.artist-status-pill {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    width: fit-content;
    padding: .28rem .58rem;
    border: 1px solid;
    border-radius: var(--ap-radius-pill);
    font-size: var(--ap-text-sm);
    font-weight: var(--ap-weight-heavy);
    line-height: 1.2;
    white-space: nowrap;
}

.artist-status-pill i {
    font-size: var(--ap-text-xs);
}

.artist-status-pill--tone-warning {
    border-color: rgb(var(--ap-rgb-warning) / 45%);
    background: rgb(var(--ap-rgb-warning) / 13%);
    color: var(--ap-color-warning);
}

.artist-status-pill--tone-info {
    border-color: rgb(var(--ap-rgb-info) / 45%);
    background: rgb(var(--ap-rgb-info) / 14%);
    color: var(--ap-color-link-soft);
}

.artist-status-pill--tone-success {
    border-color: rgb(var(--ap-rgb-success) / 44%);
    background: rgb(var(--ap-rgb-success) / 13%);
    color: var(--ap-color-success);
}

.artist-status-pill--tone-danger {
    border-color: rgb(var(--ap-rgb-danger) / 45%);
    background: rgb(var(--ap-rgb-danger) / 13%);
    color: var(--ap-color-danger);
}

.artist-status-pill--tone-muted {
    border-color: rgb(var(--ap-rgb-neutral) / 38%);
    background: rgb(var(--ap-rgb-neutral) / 10%);
    color: var(--ap-color-neutral);
}

/* ========================================
   PANEL DE ARTISTA V3
   Diseño más compacto y directo
   ======================================== */
.artist-dashboard-v3 {
    background:
        radial-gradient(circle at 75% 0%, rgb(var(--ap-rgb-action) / 8%), transparent 25rem),
        var(--ap-page);
}

.artist-dashboard-v3 .artist-panel-container {
    max-width: var(--ap-width-wide);
}

.artist-dashboard-v3-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 auto 1rem;
    padding-top: .85rem;
}

.artist-dashboard-v3-head h1 {
    margin: 0;
    font-size: var(--ap-title-page-large);
    line-height: 1.05;
}

.artist-dashboard-v3-head p {
    margin: .35rem 0 0;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-base);
}

.artist-dashboard-v3-section,
.artist-dashboard-v3-groups,
.artist-dashboard-v3-recommendations {
    margin-bottom: 1rem;
    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius-lg);
    background: var(--ap-surface);
    box-shadow: 0 12px 28px rgb(var(--ap-rgb-black) / 11%);
}

.artist-dashboard-v3-section-head,
.artist-dashboard-v3-groups>header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 4rem;
    padding: .9rem 1rem;
    border-bottom: 1px solid var(--ap-border-soft);
}

.artist-dashboard-v3-section-head h2,
.artist-dashboard-v3-groups>header h2 {
    margin: 0;
    font-size: var(--ap-text-2xl);
}

.artist-dashboard-v3-section-head p,
.artist-dashboard-v3-groups>header p {
    margin: .2rem 0 0;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-md);
}

.artist-dashboard-v3-link,
.artist-dashboard-v3-groups>header>a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: var(--ap-color-link-strong);
    font-size: var(--ap-text-md);
    font-weight: var(--ap-weight-bold);
    text-decoration: none;
    white-space: nowrap;
}

.artist-dashboard-v3-link:hover,
.artist-dashboard-v3-groups>header>a:hover {
    color: var(--ap-color-white);
}

.artist-dashboard-v3-lead-body {
    display: grid;
    grid-template-columns: minmax(18rem, .8fr) minmax(0, 1.2fr);
}

.artist-dashboard-v3-lead-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-right: 1px solid var(--ap-border-soft);
}

.artist-dashboard-v3-lead-summary a {
    display: grid;
    align-content: center;
    gap: .12rem;
    min-height: 7rem;
    padding: 1rem;
    color: inherit;
    text-align: center;
    text-decoration: none;
    border-right: 1px solid var(--ap-border-soft);
    transition: background var(--ap-transition);
}

.artist-dashboard-v3-lead-summary a:last-child {
    border-right: 0;
}

.artist-dashboard-v3-lead-summary a:hover {
    background: rgb(var(--ap-rgb-primary) / 7%);
}

.artist-dashboard-v3-lead-summary span {
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-sm);
}

.artist-dashboard-v3-lead-summary strong {
    color: var(--ap-color-white);
    font-size: var(--ap-text-stat-large);
    line-height: 1.05;
}

.artist-dashboard-v3-lead-summary small {
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-xs);
}

.artist-dashboard-v3-latest {
    min-width: 0;
}

.artist-dashboard-v3-latest>a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 7rem;
    padding: 1rem 1.1rem;
    color: inherit;
    text-decoration: none;
    transition: background var(--ap-transition);
}

.artist-dashboard-v3-latest>a:hover {
    background: rgb(var(--ap-rgb-primary) / 6%);
}

.artist-dashboard-v3-latest>a>div:first-child {
    min-width: 0;
}

.artist-dashboard-v3-eyebrow {
    display: block;
    margin-bottom: .2rem;
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-sm);
}

.artist-dashboard-v3-latest strong {
    display: block;
    overflow: hidden;
    color: var(--ap-color-white);
    font-size: var(--ap-text-lg);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.artist-dashboard-v3-latest p {
    overflow: hidden;
    margin: .22rem 0 0;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-md);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.artist-dashboard-v3-latest-meta {
    display: grid;
    justify-items: end;
    gap: .35rem;
    flex: 0 0 auto;
}

.artist-dashboard-v3-latest-meta small {
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-xs);
}

.artist-dashboard-v3-latest-meta>i {
    color: var(--ap-color-link-strong);
    font-size: var(--ap-text-sm);
}

.artist-dashboard-v3-empty-inline {
    display: flex;
    align-items: center;
    gap: .8rem;
    min-height: 7rem;
    padding: 1rem 1.1rem;
}

.artist-dashboard-v3-empty-inline>i {
    color: var(--ap-color-link-strong);
    font-size: var(--ap-text-icon);
}

.artist-dashboard-v3-empty-inline div {
    display: grid;
    gap: .15rem;
}

.artist-dashboard-v3-empty-inline span {
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-md);
}

.artist-dashboard-v3-pending {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .75rem 1rem;
    border-top: 1px solid rgb(var(--ap-rgb-warning) / 24%);
    background: rgb(var(--ap-rgb-warning) / 7%);
    color: var(--ap-color-warning);
    text-decoration: none;
    transition: background var(--ap-transition);
}

.artist-dashboard-v3-pending:hover {
    background: rgb(var(--ap-rgb-warning) / 12%);
    color: var(--ap-color-white);
}

.artist-dashboard-v3-pending>span {
    display: grid;
    flex: 1;
    gap: .1rem;
}

.artist-dashboard-v3-pending strong {
    color: var(--ap-color-warning-soft);
    font-size: var(--ap-text-md);
}

.artist-dashboard-v3-pending small {
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-sm);
}

.artist-dashboard-v3-pending b {
    color: var(--ap-color-warning);
    font-size: var(--ap-text-sm);
    white-space: nowrap;
}

.artist-dashboard-v3-groups>header p strong {
    color: var(--ap-color-white);
}

.artist-dashboard-v3-groups .artist-dashboard-group-row {
    border-radius: 0;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    background: transparent;
    box-shadow: none;
}

.artist-dashboard-v3-groups .artist-dashboard-group-row:hover {
    background: rgb(var(--ap-rgb-primary) / 4%);
}

.artist-dashboard-v3-recommendations {
    padding: 1rem;
}

.artist-dashboard-v3-recommendations>header {
    display: flex;
    align-items: center;
    gap: .9rem;
    margin-bottom: .8rem;
}

.artist-dashboard-v3-recommendations .artist-dashboard-feature-icon {
    width: 2.7rem;
    height: 2.7rem;
    font-size: var(--ap-text-lg);
}

.artist-dashboard-v3-recommendations h2 {
    margin: 0 0 .2rem;
    font-size: var(--ap-text-xl);
}

.artist-dashboard-v3-recommendations p {
    margin: 0;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-md);
}

.artist-dashboard-v3-recommendations .artist-dashboard-wide-link {
    margin-top: .75rem;
}

/* Recomendaciones para mejorar las fichas */

.artist-dashboard-advice-rotator {
    display: grid;
    min-width: 0;
    gap: var(--ap-space-6);
}

.artist-dashboard-advice-slide {
    display: grid;
    min-width: 0;
    gap: var(--ap-space-6);
}

.artist-dashboard-advice-slide[hidden] {
    display: none !important;
}

.artist-dashboard-advice-group {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ap-space-8);
    min-width: 0;
    padding: var(--ap-space-6) var(--ap-space-7);
    border: 1px solid var(--ap-border-soft);
    border-radius: var(--ap-radius-md);
    background: rgb(var(--ap-rgb-primary) / 4%);
}

.artist-dashboard-advice-group p {
    display: grid;
    min-width: 0;
    gap: var(--ap-space-1);
    margin: 0;
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-sm);
}

.artist-dashboard-advice-group p strong {
    overflow-wrap: anywhere;
    color: var(--ap-color-white);
    font-size: var(--ap-text-base);
}

.artist-dashboard-advice-group>span {
    flex: 0 0 auto;
    padding: var(--ap-space-1) var(--ap-space-4);
    border: 1px solid rgb(var(--ap-rgb-success) / 32%);
    border-radius: var(--ap-radius-pill);
    background: rgb(var(--ap-rgb-success) / 9%);
    color: var(--ap-color-success);
    font-size: var(--ap-text-sm);
    font-weight: var(--ap-weight-bold);
    white-space: nowrap;
}

.artist-dashboard-advice-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--ap-space-5);
    min-width: 0;
}

.artist-dashboard-advice-list a {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: var(--ap-space-4);
    min-width: 0;
    min-height: 5rem;
    padding: var(--ap-space-6);
    border: 1px solid var(--ap-border-soft);
    border-radius: var(--ap-radius-md);
    background: rgb(var(--ap-rgb-white) / 3%);
    color: inherit;
    text-decoration: none;
    transition:
        border-color var(--ap-transition),
        background var(--ap-transition);
}

.artist-dashboard-advice-list a:hover,
.artist-dashboard-advice-list a:focus-visible {
    border-color: rgb(var(--ap-rgb-primary) / 46%);
    background: rgb(var(--ap-rgb-primary) / 8%);
    outline: none;
}

.artist-dashboard-advice-list a>i:first-child {
    margin-top: var(--ap-space-1);
    color: var(--ap-color-warning);
    font-size: var(--ap-text-md);
}

.artist-dashboard-advice-list a>i:last-child {
    align-self: center;
    color: var(--ap-color-link-strong);
    font-size: var(--ap-text-sm);
}

.artist-dashboard-advice-list a>span {
    display: grid;
    min-width: 0;
    gap: var(--ap-space-1);
}

.artist-dashboard-advice-list strong {
    overflow-wrap: anywhere;
    color: var(--ap-color-white);
    font-size: var(--ap-text-md);
}

.artist-dashboard-advice-list small {
    overflow-wrap: anywhere;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-sm);
    line-height: var(--ap-line-body);
}

.artist-dashboard-advice-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--ap-space-4);
    margin-top: var(--ap-space-1);
}

.artist-dashboard-advice-controls button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--ap-button-height);
    height: var(--ap-button-height);
    padding: 0;
    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius-md);
    background: rgb(var(--ap-rgb-primary) / 7%);
    color: var(--ap-color-link);
    font: inherit;
    cursor: pointer;
}

.artist-dashboard-advice-controls button:hover,
.artist-dashboard-advice-controls button:focus-visible {
    border-color: var(--ap-color-primary);
    color: var(--ap-color-white);
    outline: none;
}

.artist-dashboard-advice-controls span {
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-sm);
}

.artist-dashboard-advice-controls strong {
    color: var(--ap-color-white);
}

.artist-dashboard-complete {
    display: flex;
    align-items: center;
    gap: var(--ap-space-4);
    padding: var(--ap-space-7);
    border: 1px solid rgb(var(--ap-rgb-success) / 30%);
    border-radius: var(--ap-radius-md);
    background: rgb(var(--ap-rgb-success) / 7%);
}

.artist-dashboard-complete>i {
    color: var(--ap-color-success);
}

.artist-dashboard-complete strong {
    color: var(--ap-color-white);
    font-size: var(--ap-text-md);
}

.artist-dashboard-complete span {
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-sm);
}

@media (max-width: 900px) {
    .artist-dashboard-v3-lead-body {
        grid-template-columns: 1fr;
    }

    .artist-dashboard-v3-lead-summary {
        border-right: 0;
        border-bottom: 1px solid var(--ap-border-soft);
    }

    .artist-dashboard-advice-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .artist-dashboard-advice-group {
        align-items: flex-start;
        flex-direction: column;
        gap: var(--ap-space-4);
    }

    .artist-dashboard-advice-list {
        grid-template-columns: 1fr;
    }

    .artist-dashboard-advice-list a {
        min-height: 0;
    }

    .artist-dashboard-complete {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .artist-dashboard-v3-head {
        align-items: center;
    }

    .artist-dashboard-v3-head h1 {
        font-size: var(--ap-text-mobile-title);
    }

    .artist-dashboard-v3-head p {
        font-size: var(--ap-text-base);
    }

    .artist-dashboard-v3-lead-summary {
        grid-template-columns: 1fr;
    }

    .artist-dashboard-v3-lead-summary a {
        grid-template-columns: 1fr auto;
        align-items: center;
        min-height: auto;
        padding: .75rem 1rem;
        text-align: left;
        border-right: 0;
        border-bottom: 1px solid var(--ap-border-soft);
    }

    .artist-dashboard-v3-lead-summary a:last-child {
        border-bottom: 0;
    }

    .artist-dashboard-v3-lead-summary small {
        grid-column: 1 / -1;
    }

    .artist-dashboard-v3-latest>a {
        align-items: flex-start;
    }

    .artist-dashboard-v3-pending {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .artist-dashboard-v3-pending b {
        margin-left: 1.65rem;
    }
}

/* ========================================
   LISTADO DE SOLICITUDES V4
   ======================================== */
.artist-leads-v3 {
    overflow-x: hidden;
    background:
        radial-gradient(circle at 75% 0%, rgb(var(--ap-rgb-action) / 7%), transparent 24rem),
        var(--ap-page);
}

.artist-leads-v3 *,
.artist-leads-v3 *::before,
.artist-leads-v3 *::after {
    box-sizing: border-box;
}

.artist-leads-v3-container {
    width: 100%;
    max-width: var(--ap-width-wide);
    min-width: 0;
}

.artist-leads-v3-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding-top: .9rem;
    margin-bottom: 1rem;
}

.artist-leads-v3-head h1 {
    margin: 0;
    font-size: var(--ap-title-page);
    line-height: 1.05;
}

.artist-leads-v3-head p {
    margin: .3rem 0 0;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-base);
}

/* Aviso realmente accionable */
.artist-leads-v3-pending {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: .85rem;
    padding: .8rem 1rem;
    border: 1px solid rgb(var(--ap-rgb-warning) / 42%);
    border-radius: var(--ap-radius-lg);
    background: rgb(var(--ap-rgb-warning) / 8%);
    color: var(--ap-color-warning);
    text-decoration: none;
}

.artist-leads-v3-pending:hover,
.artist-leads-v3-pending:focus-visible {
    border-color: rgb(var(--ap-rgb-warning) / 68%);
    background: rgb(var(--ap-rgb-warning) / 13%);
    color: var(--ap-color-white);
}

.artist-leads-v3-pending>span {
    display: grid;
    min-width: 0;
    flex: 1;
    gap: .08rem;
}

.artist-leads-v3-pending strong {
    color: var(--ap-color-warning-soft);
    font-size: var(--ap-text-base);
}

.artist-leads-v3-pending small {
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-sm);
}

.artist-leads-v3-pending b {
    color: var(--ap-color-warning);
    font-size: var(--ap-text-sm);
    white-space: nowrap;
}

/* Estados: todos visibles, sin carrusel horizontal */
.artist-leads-v3-tabs {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .3rem;
    width: 100%;
    margin-bottom: .85rem;
    padding: .25rem;
    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius-lg);
    background: var(--ap-surface-tabs);
}

.artist-leads-v3-tabs a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    min-width: 0;
    min-height: var(--ap-button-height);
    padding: .5rem .45rem;
    border-radius: var(--ap-radius-sm);
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-sm);
    font-weight: var(--ap-weight-bold);
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
}

.artist-leads-v3-tabs a:hover,
.artist-leads-v3-tabs a:focus-visible {
    background: rgb(var(--ap-rgb-primary) / 8%);
    color: var(--ap-color-white);
}

.artist-leads-v3-tabs a.is-active {
    background: var(--ap-color-tab-active);
    color: var(--ap-color-white);
}

.artist-leads-v3-tabs strong {
    min-width: 1.3rem;
    padding: .08rem .32rem;
    border-radius: var(--ap-radius-pill);
    background: rgb(var(--ap-rgb-white) / 10%);
    font-size: var(--ap-text-2xs);
    text-align: center;
}

/* Filtros */
.artist-leads-v3-filters {
    width: 100%;
    min-width: 0;
    margin-bottom: 1rem;
    padding: .85rem;
    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius-lg);
    background: rgb(var(--ap-rgb-surface) / 62%);
}

.artist-leads-v3-filter-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(10rem, 15rem) auto;
    gap: .65rem;
    align-items: end;
    min-width: 0;
}

.artist-leads-v3-filters label,
.artist-leads-v3-filter-main>*,
.artist-leads-v3-more-grid>* {
    min-width: 0;
}

.artist-leads-v3-filters label {
    display: grid;
    gap: .3rem;
}

.artist-leads-v3-filters label>span {
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-xs);
    font-weight: var(--ap-weight-bold);
}

.artist-leads-v3-filters input,
.artist-leads-v3-filters select {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: var(--ap-control-height);
    padding: .55rem .7rem;
    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius-sm);
    outline: 0;
    background: var(--ap-surface-input);
    color: var(--ap-color-white);
    font: inherit;
    font-size: var(--ap-text-md);
}

.artist-leads-v3-filters input:focus,
.artist-leads-v3-filters select:focus {
    border-color: rgb(var(--ap-rgb-primary) / 48%);
    box-shadow: 0 0 0 3px rgb(var(--ap-rgb-primary) / 8%);
}

.artist-leads-v3-search {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
    min-height: var(--ap-control-height);
    padding-left: .7rem;
    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius-sm);
    background: var(--ap-surface-input);
}

.artist-leads-v3-search:focus-within {
    border-color: rgb(var(--ap-rgb-primary) / 48%);
    box-shadow: 0 0 0 3px rgb(var(--ap-rgb-primary) / 8%);
}

.artist-leads-v3-search>i {
    flex: 0 0 auto;
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-md);
}

.artist-leads-v3-search input {
    min-width: 0;
    border: 0;
    background: transparent;
    box-shadow: none !important;
}

.artist-leads-v3-filter-main>button {
    min-height: var(--ap-control-height);
    padding: .55rem .9rem;
    border: 1px solid var(--ap-action-border);
    border-radius: var(--ap-radius-sm);
    background: linear-gradient(180deg, var(--ap-action), var(--ap-action-dark));
    color: var(--ap-color-white);
    font: inherit;
    font-size: var(--ap-text-md);
    font-weight: var(--ap-weight-bold);
    white-space: nowrap;
    cursor: pointer;
}

.artist-leads-v3-filter-main>button:hover {
    background: linear-gradient(180deg, var(--ap-action-hover), var(--ap-action-hover-dark));
}

.artist-leads-v3-more {
    width: 100%;
    min-width: 0;
    margin-top: .65rem;
    border-top: 1px solid var(--ap-border-soft);
}

.artist-leads-v3-more summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .7rem .1rem .1rem;
    color: var(--ap-color-link);
    font-size: var(--ap-text-sm);
    font-weight: var(--ap-weight-bold);
    cursor: pointer;
    list-style: none;
}

.artist-leads-v3-more summary::-webkit-details-marker {
    display: none;
}

.artist-leads-v3-more summary span {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}

.artist-leads-v3-more summary b {
    padding: .1rem .38rem;
    border-radius: var(--ap-radius-pill);
    background: rgb(var(--ap-rgb-primary) / 10%);
    font-size: var(--ap-text-2xs);
}

.artist-leads-v3-more-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
    width: 100%;
    min-width: 0;
    padding-top: .65rem;
}

.artist-leads-v3-filter-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: .65rem;
    padding-top: .65rem;
    border-top: 1px solid var(--ap-border-soft);
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-xs);
}

.artist-leads-v3-filter-foot a {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: var(--ap-color-link);
    font-weight: var(--ap-weight-bold);
    text-decoration: none;
}

/* Resultados */
.artist-leads-v3-results {
    overflow: hidden;
    width: 100%;
    min-width: 0;
    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius-lg);
    background: var(--ap-surface-soft);
}

.artist-leads-v3-results>header {
    min-height: 4rem;
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--ap-border-soft);
}

.artist-leads-v3-results h2 {
    margin: 0;
    font-size: var(--ap-text-xl);
}

.artist-leads-v3-results header p {
    margin: .18rem 0 0;
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-sm);
}

.artist-leads-v3-list {
    display: grid;
    min-width: 0;
}

.artist-leads-v3-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .9rem;
    align-items: center;
    min-width: 0;
    padding: 1rem;
    border-bottom: 1px solid var(--ap-border-soft);
    background: transparent;
    transition: background var(--ap-transition);
}

.artist-leads-v3-item:last-child {
    border-bottom: 0;
}

.artist-leads-v3-item:hover {
    background: rgb(var(--ap-rgb-primary) / 4%);
}

.artist-leads-v3-item--tone-warning {
    background: linear-gradient(90deg, rgb(var(--ap-rgb-warning) / 8%), transparent 28rem);
}

.artist-leads-v3-item--tone-info {
    background: linear-gradient(90deg, rgb(var(--ap-rgb-info) / 7%), transparent 28rem);
}

.artist-leads-v3-item--tone-success {
    background: linear-gradient(90deg, rgb(var(--ap-rgb-success) / 7%), transparent 28rem);
}

.artist-leads-v3-item--tone-danger {
    background: linear-gradient(90deg, rgb(var(--ap-rgb-danger) / 7%), transparent 28rem);
}

.artist-leads-v3-item--tone-muted {
    background: linear-gradient(90deg, rgb(var(--ap-rgb-neutral) / 6%), transparent 28rem);
    opacity: .82;
}

.artist-leads-v3-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 auto;
    border: 1px solid rgb(var(--ap-rgb-primary) / 34%);
    border-radius: var(--ap-radius-pill);
    background: rgb(var(--ap-rgb-action) / 18%);
    color: var(--ap-color-white);
    font-size: var(--ap-text-md);
    font-weight: var(--ap-weight-black);
}

.artist-leads-v3-item-main {
    min-width: 0;
}

.artist-leads-v3-item-title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .8rem;
    min-width: 0;
}

.artist-leads-v3-item-title>div {
    min-width: 0;
}

.artist-leads-v3-item-title h3 {
    overflow-wrap: anywhere;
    margin: 0;
    font-size: var(--ap-text-lg);
}

.artist-leads-v3-item-title p {
    overflow-wrap: anywhere;
    margin: .18rem 0 0;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-sm);
}

.artist-leads-v3-item-title p a {
    color: var(--ap-color-link);
    font-weight: var(--ap-weight-bold);
    text-decoration: none;
}

.artist-leads-v3-meta {
    display: flex;
    align-items: center;
    gap: .65rem;
    flex-wrap: wrap;
    margin-top: .55rem;
}

.artist-leads-v3-meta span {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-xs);
}

.artist-leads-v3-meta i {
    color: var(--ap-color-link-strong);
}

.artist-leads-v3-preview {
    overflow: hidden;
    margin: .55rem 0 0;
    color: var(--ap-color-text);
    font-size: var(--ap-text-md);
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.artist-leads-v3-item-side {
    display: grid;
    justify-items: end;
    gap: .6rem;
    min-width: 0;
}

.artist-leads-v3-item-side small {
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-xs);
}

.artist-leads-v3-item-side a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    min-height: 2.3rem;
    padding: .45rem .7rem;
    border: 1px solid rgb(var(--ap-rgb-primary) / 38%);
    border-radius: var(--ap-radius-sm);
    color: var(--ap-color-link);
    font-size: var(--ap-text-sm);
    font-weight: var(--ap-weight-bold);
    text-decoration: none;
    white-space: nowrap;
}

.artist-leads-v3-item-side a:hover {
    border-color: rgb(var(--ap-rgb-primary) / 62%);
    background: rgb(var(--ap-rgb-primary) / 8%);
    color: var(--ap-color-white);
}

.artist-leads-v3-empty {
    display: grid;
    justify-items: center;
    gap: .45rem;
    padding: 3rem 1rem;
    text-align: center;
}

.artist-leads-v3-empty>i {
    color: var(--ap-color-link-strong);
    font-size: var(--ap-text-mobile-title);
}

.artist-leads-v3-empty h3,
.artist-leads-v3-empty p {
    margin: 0;
}

.artist-leads-v3-empty p {
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-md);
}

.artist-leads-v3-empty a {
    margin-top: .3rem;
    color: var(--ap-color-link);
    font-weight: var(--ap-weight-bold);
}

@media (max-width:1000px) {
    .artist-leads-v3-tabs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .artist-leads-v3-filter-main {
        grid-template-columns: minmax(0, 1fr) minmax(10rem, 14rem);
    }

    .artist-leads-v3-filter-main>button {
        grid-column: 1 / -1;
        justify-self: end;
    }

    .artist-leads-v3-more-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width:650px) {
    .artist-leads-v3-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .artist-leads-v3-head .artist-dashboard-help {
        margin-top: 0;
    }

    .artist-leads-v3-pending {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .artist-leads-v3-pending b {
        margin-left: 1.65rem;
    }

    .artist-leads-v3-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .25rem;
    }

    .artist-leads-v3-tabs a {
        justify-content: space-between;
        min-height: 2.7rem;
        padding: .55rem .65rem;
        text-align: left;
    }

    .artist-leads-v3-filter-main,
    .artist-leads-v3-more-grid {
        grid-template-columns: 1fr;
    }

    .artist-leads-v3-filter-main>button {
        grid-column: auto;
        width: 100%;
        justify-self: stretch;
    }

    .artist-leads-v3-filter-foot {
        align-items: flex-start;
        flex-direction: column;
    }

    .artist-leads-v3-item {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: start;
        padding: .9rem;
    }

    .artist-leads-v3-item-title {
        flex-direction: column;
        gap: .5rem;
    }

    .artist-leads-v3-item-side {
        grid-column: 1 / -1;
        grid-template-columns: 1fr auto;
        align-items: center;
        justify-items: start;
        width: 100%;
        padding-top: .1rem;
    }

    .artist-leads-v3-item-side a {
        justify-self: end;
    }

    .artist-leads-v3-preview {
        white-space: normal;
    }
}

@media (max-width:420px) {
    .artist-leads-v3-tabs {
        grid-template-columns: 1fr;
    }

    .artist-leads-v3-pending b {
        width: 100%;
        margin-left: 1.65rem;
    }

    .artist-leads-v3-item-side {
        grid-template-columns: 1fr;
    }

    .artist-leads-v3-item-side a {
        width: 100%;
        justify-content: center;
    }
}

/* ========================================
   DETALLE DE SOLICITUD V4
   ======================================== */
.artist-lead-detail-v3 {
    overflow-x: hidden;
    background:
        radial-gradient(circle at 75% 0%, rgb(var(--ap-rgb-action) / 7%), transparent 24rem),
        var(--ap-page);
}

.artist-lead-detail-v3 *,
.artist-lead-detail-v3 *::before,
.artist-lead-detail-v3 *::after {
    box-sizing: border-box;
}

.artist-lead-v3-container {
    width: 100%;
    max-width: var(--ap-width-wide);
    min-width: 0;
}

.artist-lead-v3-page-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding-top: .9rem;
    margin-bottom: 1rem;
}

.artist-lead-v3-page-head h1 {
    margin: 0;
    font-size: var(--ap-title-lead);
    line-height: 1.05;
}

.artist-lead-v3-page-head p {
    margin: .3rem 0 0;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-base);
}

.artist-lead-v3-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    width: 100%;
    min-width: 0;
    margin-bottom: .85rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius-lg);
    background: var(--ap-surface);
}

.artist-lead-v3-summary>div:first-child {
    min-width: 0;
}

.artist-lead-v3-summary--tone-warning {
    border-color: rgb(var(--ap-rgb-warning) / 42%);
    background: linear-gradient(90deg, rgb(var(--ap-rgb-warning) / 9%), var(--ap-surface) 34%);
}

.artist-lead-v3-summary--tone-info {
    border-color: rgb(var(--ap-rgb-info) / 36%);
    background: linear-gradient(90deg, rgb(var(--ap-rgb-info) / 8%), var(--ap-surface) 34%);
}

.artist-lead-v3-summary--tone-success {
    border-color: rgb(var(--ap-rgb-success) / 36%);
    background: linear-gradient(90deg, rgb(var(--ap-rgb-success) / 8%), var(--ap-surface) 34%);
}

.artist-lead-v3-summary--tone-danger {
    border-color: rgb(var(--ap-rgb-danger) / 36%);
    background: linear-gradient(90deg, rgb(var(--ap-rgb-danger) / 8%), var(--ap-surface) 34%);
}

.artist-lead-v3-summary--tone-muted {
    border-color: rgb(var(--ap-rgb-neutral) / 34%);
    background: linear-gradient(90deg, rgb(var(--ap-rgb-neutral) / 7%), var(--ap-surface) 34%);
}

.artist-lead-v3-eyebrow {
    display: block;
    margin-bottom: .2rem;
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-xs);
    font-weight: var(--ap-weight-bold);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.artist-lead-v3-summary h2 {
    overflow-wrap: anywhere;
    margin: 0;
    font-size: var(--ap-text-summary);
}

.artist-lead-v3-summary p {
    overflow-wrap: anywhere;
    margin: .25rem 0 0;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-base);
}

.artist-lead-v3-summary-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .65rem;
    flex: 0 0 auto;
    flex-wrap: wrap;
}

.artist-lead-v3-summary-actions>a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    min-height: 2.3rem;
    padding: .45rem .75rem;
    border: 1px solid rgb(var(--ap-rgb-primary) / 34%);
    border-radius: var(--ap-radius-pill);
    color: var(--ap-color-link-strong);
    font-size: var(--ap-text-md);
    font-weight: var(--ap-weight-bold);
    text-decoration: none;
    white-space: nowrap;
}

/* Gestión: bloque principal y claramente separado */
.artist-lead-v3-workflow {
    --lead-workflow-rgb: var(--ap-rgb-primary);
    position: relative;
    width: 100%;
    min-width: 0;
    margin: 1.15rem 0 1.4rem;
    padding: 1.1rem 1rem 1rem;
    border: 1px solid rgb(var(--lead-workflow-rgb) / 42%);
    background: linear-gradient(180deg, rgb(var(--lead-workflow-rgb) / 10%), var(--ap-surface-workflow-bottom));
    border-radius: var(--ap-radius-xl);
    box-shadow: 0 16px 34px rgb(var(--ap-rgb-black) / 18%);
}

.artist-lead-v3-workflow::before {
    content: "GESTIÓN";
    position: absolute;
    top: -.62rem;
    left: 1rem;
    padding: .18rem .52rem;
    border: 1px solid rgb(var(--lead-workflow-rgb) / 28%);
    border-radius: var(--ap-radius-pill);
    background: var(--ap-color-workflow-label);
    color: rgb(var(--lead-workflow-rgb));
    font-size: var(--ap-text-2xs);
    font-weight: var(--ap-weight-black);
    letter-spacing: .08em;
}

.artist-lead-v3-workflow-copy {
    display: flex;
    align-items: center;
    gap: .8rem;
    min-width: 0;
    margin-bottom: .85rem;
}

.artist-lead-v3-workflow-copy>div {
    min-width: 0;
}

.artist-lead-v3-workflow-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.55rem;
    height: 2.55rem;
    flex: 0 0 auto;
    border-radius: var(--ap-radius-pill);
    background: rgb(var(--lead-workflow-rgb) / 14%);
    color: rgb(var(--lead-workflow-rgb));
}

.artist-lead-v3-workflow--tone-warning {
    --lead-workflow-rgb: var(--ap-rgb-warning);
}

.artist-lead-v3-workflow--tone-info {
    --lead-workflow-rgb: var(--ap-rgb-info);
}

.artist-lead-v3-workflow--tone-success {
    --lead-workflow-rgb: var(--ap-rgb-success);
}

.artist-lead-v3-workflow--tone-danger {
    --lead-workflow-rgb: var(--ap-rgb-danger);
}

.artist-lead-v3-workflow--tone-muted {
    --lead-workflow-rgb: var(--ap-rgb-neutral);
}

.artist-lead-v3-workflow h2 {
    overflow-wrap: anywhere;
    margin: 0;
    font-size: var(--ap-text-xl);
}

.artist-lead-v3-workflow p {
    margin: .18rem 0 0;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-md);
}

.artist-lead-v3-status-actions {
    --lead-action-rgb: var(--ap-rgb-action);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
    width: 100%;
    min-width: 0;
}

.artist-lead-v3-status-actions form {
    width: 100%;
    min-width: 0;
    margin: 0;
}

.artist-lead-v3-status-action {
    display: flex;
    align-items: center;
    gap: .65rem;
    width: 100%;
    min-width: 0;
    min-height: 5rem;
    padding: .75rem .8rem;
    border: 1px solid rgb(var(--lead-action-rgb) / 34%);
    border-radius: var(--ap-radius-lg);
    background: rgb(var(--ap-rgb-white) / 4%);
    color: var(--ap-color-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.artist-lead-v3-status-action>i:first-child {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    flex: 0 0 auto;
    border-radius: var(--ap-radius-pill);
    background: rgb(var(--lead-action-rgb) / 13%);
    color: rgb(var(--lead-action-rgb));
}

.artist-lead-v3-status-action>span {
    display: grid;
    min-width: 0;
    flex: 1;
    gap: .1rem;
}

.artist-lead-v3-status-action strong,
.artist-lead-v3-status-action small {
    overflow-wrap: anywhere;
}

.artist-lead-v3-status-action strong {
    font-size: var(--ap-text-base);
}

.artist-lead-v3-status-action small {
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-xs);
    line-height: 1.35;
}

.artist-lead-v3-status-action>i:last-child {
    flex: 0 0 auto;
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-xs);
}

.artist-lead-v3-status-action em {
    flex: 0 0 auto;
    padding: .14rem .36rem;
    border-radius: var(--ap-radius-pill);
    background: rgb(var(--ap-rgb-white) / 10%);
    color: var(--ap-color-white);
    font-size: var(--ap-text-2xs);
    font-style: normal;
    font-weight: var(--ap-weight-bold);
    white-space: nowrap;
}

.artist-lead-v3-status-action--tone-primary {
    --lead-action-rgb: var(--ap-rgb-action);
}

.artist-lead-v3-status-action--tone-success {
    --lead-action-rgb: var(--ap-rgb-success);
}

.artist-lead-v3-status-action--tone-danger {
    --lead-action-rgb: var(--ap-rgb-danger);
}

.artist-lead-v3-status-action--tone-muted,
.artist-lead-v3-status-action--tone-secondary {
    --lead-action-rgb: var(--ap-rgb-neutral);
}

.artist-lead-v3-status-action:hover {
    border-color: rgb(var(--lead-action-rgb) / 58%);
    background: rgb(var(--lead-action-rgb) / 8%);
}

.artist-lead-v3-status-action:disabled {
    opacity: .78;
    cursor: default;
    background: rgb(var(--ap-rgb-white) / 6%);
}

/* Información: bloque secundario */
.artist-lead-v3-sheet {
    overflow: hidden;
    width: 100%;
    min-width: 0;
    border: 1px solid rgb(var(--ap-rgb-white) / 8%);
    border-radius: var(--ap-radius-xl);
    background: linear-gradient(180deg, var(--ap-surface-sheet-top), var(--ap-surface-sheet-bottom));
}

.artist-lead-v3-sheet-head {
    padding: 1rem;
    border-bottom: 1px solid rgb(var(--ap-rgb-white) / 7%);
    background: linear-gradient(180deg, rgb(var(--ap-rgb-white) / 3%), transparent);
}

.artist-lead-v3-sheet-kicker {
    display: inline-block;
    margin-bottom: .28rem;
    color: var(--ap-color-link-strong);
    font-size: var(--ap-text-xs);
    font-weight: var(--ap-weight-black);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.artist-lead-v3-sheet-head h2 {
    margin: 0;
    font-size: var(--ap-text-xl);
}

.artist-lead-v3-sheet-head p {
    margin: .22rem 0 0;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-md);
}

.artist-lead-v3-section {
    min-width: 0;
    padding: 1rem;
    border-bottom: 1px solid rgb(var(--ap-rgb-white) / 6%);
}

.artist-lead-v3-section:last-child {
    border-bottom: 0;
}

.artist-lead-v3-section>header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-width: 0;
    margin-bottom: .8rem;
}

.artist-lead-v3-section>header>div:first-child {
    display: flex;
    align-items: center;
    gap: .7rem;
    min-width: 0;
}

.artist-lead-v3-section-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    flex: 0 0 auto;
    border-radius: var(--ap-radius-pill);
    background: rgb(var(--ap-rgb-action) / 19%);
    color: var(--ap-color-link-strong);
}

.artist-lead-v3-section h2 {
    margin: 0;
    font-size: var(--ap-text-xl);
}

.artist-lead-v3-section header p {
    margin: .15rem 0 0;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-sm);
}

.artist-lead-v3-contact-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .45rem;
    flex: 0 0 auto;
    flex-wrap: wrap;
}

.artist-lead-v3-contact-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 2.25rem;
    padding: .42rem .7rem;
    border: 1px solid rgb(var(--ap-rgb-primary) / 30%);
    border-radius: var(--ap-radius-sm);
    color: var(--ap-color-link-soft);
    font-size: var(--ap-text-sm);
    font-weight: var(--ap-weight-bold);
    text-decoration: none;
    white-space: nowrap;
}

.artist-lead-v3-contact-action--primary {
    background: linear-gradient(180deg, var(--ap-action), var(--ap-action-dark));
    color: var(--ap-color-white);
}

.artist-lead-v3-contact-action--whatsapp {
    border-color: rgb(var(--ap-rgb-success) / 34%);
    color: var(--ap-color-success);
}

.artist-lead-v3-info-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
    min-width: 0;
}

.artist-lead-v3-info-grid--contact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.artist-lead-v3-info-grid>div {
    min-width: 0;
    padding: .75rem .8rem;
    border: 1px solid var(--ap-border-soft);
    border-radius: var(--ap-radius-md);
    background: rgb(var(--ap-rgb-white) / 2.5%);
}

.artist-lead-v3-info-grid span {
    display: block;
    margin-bottom: .22rem;
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-xs);
    font-weight: var(--ap-weight-bold);
    letter-spacing: .04em;
    text-transform: uppercase;
}

.artist-lead-v3-info-grid strong,
.artist-lead-v3-info-grid a {
    overflow-wrap: anywhere;
    color: var(--ap-color-white);
    font-size: var(--ap-text-base);
    font-weight: var(--ap-weight-bold);
}

.artist-lead-v3-info-grid a {
    color: var(--ap-color-link-strong);
    text-decoration: none;
}

.artist-lead-v3-message {
    min-height: 7rem;
    padding: .9rem 1rem;
    border: 1px solid var(--ap-border-soft);
    border-radius: var(--ap-radius-md);
    background: var(--ap-surface-message);
    color: var(--ap-color-text);
    font-size: var(--ap-text-base);
    line-height: 1.65;
    overflow-wrap: anywhere;
}

@media (max-width:850px) {
    .artist-lead-v3-status-actions {
        grid-template-columns: 1fr !important;
    }

    .artist-lead-v3-info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .artist-lead-v3-section>header {
        align-items: flex-start;
        flex-direction: column;
    }

    .artist-lead-v3-contact-actions {
        justify-content: flex-start;
        width: 100%;
    }
}

@media (max-width:620px) {

    .artist-lead-v3-page-head,
    .artist-lead-v3-summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .artist-lead-v3-page-head .artist-dashboard-help {
        margin-top: 0;
    }

    .artist-lead-v3-summary-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .artist-lead-v3-workflow {
        padding: .95rem .8rem .8rem;
    }

    .artist-lead-v3-workflow-copy {
        align-items: flex-start;
    }

    .artist-lead-v3-status-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }

    .artist-lead-v3-status-actions form,
    .artist-lead-v3-status-action {
        width: 100% !important;
        min-width: 0 !important;
    }

    .artist-lead-v3-status-action {
        min-height: 4.7rem;
    }

    .artist-lead-v3-info-grid,
    .artist-lead-v3-info-grid--contact {
        grid-template-columns: 1fr;
    }

    .artist-lead-v3-contact-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .artist-lead-v3-contact-action {
        width: 100%;
    }

    .artist-lead-v3-section,
    .artist-lead-v3-sheet-head {
        padding: .85rem;
    }
}

@media (max-width:420px) {
    .artist-lead-v3-summary-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .artist-lead-v3-summary-actions>* {
        width: 100%;
        justify-content: center;
    }

    .artist-lead-v3-status-action {
        align-items: flex-start;
    }

    .artist-lead-v3-status-action em,
    .artist-lead-v3-status-action>i:last-child {
        align-self: center;
    }
}

/* ========================================
   MENÚ DEL PANEL DE ARTISTA
   ======================================== */
.artist-menu {
    position: relative;
    display: flex;
    align-items: center;
    gap: .75rem;
    min-height: var(--ap-site-header-height);
}

.artist-menu-context {
    min-width: 0;
    margin-right: auto;
}

.artist-menu-context-name {
    display: inline-flex;
    min-width: 0;
    overflow: hidden;
    color: var(--ap-color-text);
    font-weight: 800;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.artist-menu-context-name:hover,
.artist-menu-context-name:focus-visible {
    color: var(--ap-color-primary);
    text-decoration: none;
    outline: none;
}

.artist-menu-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-height: var(--ap-button-height);
    padding: .55rem .75rem;
    border: 1px solid rgb(var(--ap-rgb-white) / 14%);
    border-radius: var(--ap-radius-md);
    background: rgb(var(--ap-rgb-white) / 6%);
    color: var(--ap-color-white);
    font: inherit;
    font-size: var(--ap-text-base);
    font-weight: var(--ap-weight-bold);
    cursor: pointer;
}

.artist-menu-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .5rem;
}

.artist-menu-link {
    position: relative;
}

.artist-menu-link.is-active,
.artist-menu-link[aria-current="page"] {
    border-color: rgb(var(--ap-rgb-primary) / 46%);
    background: rgb(var(--ap-rgb-primary) / 13%);
    color: var(--ap-color-white);
}

.artist-menu-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 .32rem;
    border-radius: var(--ap-radius-pill);
    background: var(--ap-action);
    color: var(--ap-color-white);
    font-size: var(--ap-text-xs);
    line-height: 1;
}

.artist-account-menu {
    position: relative;
}

.artist-account-toggle {
    min-width: 0;
    cursor: pointer;
}

.artist-account-toggle>span {
    display: block;
    max-width: 10rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.artist-account-chevron {
    font-size: var(--ap-text-2xs);
    transition: transform var(--ap-transition);
}

.artist-account-menu.is-open .artist-account-chevron {
    transform: rotate(180deg);
}

.artist-account-dropdown {
    position: absolute;
    top: calc(100% + .5rem);
    right: 0;
    z-index: 1000;
    display: none;
    min-width: 13rem;
    padding: .35rem;
    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius-md);
    background: var(--ap-surface-deep);
    box-shadow: var(--ap-shadow-raised);
}

.artist-account-menu.is-open .artist-account-dropdown {
    display: grid;
}

.artist-account-dropdown a,
.artist-account-dropdown button {
    display: flex;
    align-items: center;
    gap: .55rem;
    width: 100%;
    min-height: var(--ap-button-height);
    padding: .55rem .65rem;
    border: 0;
    border-radius: var(--ap-radius-sm);
    background: transparent;
    color: var(--ap-color-text-soft);
    font: inherit;
    font-size: var(--ap-text-base);
    font-weight: var(--ap-weight-bold);
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.artist-account-dropdown a:hover,
.artist-account-dropdown a.is-active,
.artist-account-dropdown button:hover {
    background: rgb(var(--ap-rgb-primary) / 10%);
    color: var(--ap-color-white);
}

.artist-account-dropdown form {
    margin: 0;
    padding-top: .25rem;
    border-top: 1px solid var(--ap-border-soft);
}

@media (max-width:900px) {
    .artist-menu {
        flex-wrap: wrap;
        padding-top: .65rem;
        padding-bottom: .65rem;
    }

    .artist-menu-logo {
        flex: 0 0 auto;
    }

    .artist-menu-context {
        flex: 1 1 auto;
        margin-right: 0;
    }

    .artist-menu-user-desktop {
        display: none;
    }

    .artist-menu-user-mobile {
        display: inline;
    }

    .artist-menu-toggle {
        display: inline-flex;
        flex: 0 0 auto;
    }

    .artist-menu-actions {
        display: none;
        grid-template-columns: 1fr;
        width: 100%;
        padding-top: .65rem;
        border-top: 1px solid var(--ap-border-soft);
    }

    .artist-menu.is-open .artist-menu-actions {
        display: grid;
    }

    .artist-menu-link {
        justify-content: flex-start;
        width: 100%;
        min-height: 2.8rem;
    }

    .artist-menu-count {
        margin-left: auto;
    }

    .artist-account-menu {
        width: 100%;
    }

    .artist-account-toggle>span {
        max-width: none;
    }

    .artist-account-chevron {
        margin-left: auto;
    }

    .artist-account-dropdown {
        position: static;
        min-width: 0;
        margin-top: .35rem;
        box-shadow: none;
    }
}

@media (min-width:901px) {
    .artist-menu-user-mobile {
        display: none;
    }
}

/* ========================================
   MIS GRUPOS V3
   ======================================== */
.artist-groups-v3 {
    overflow-x: hidden;
    background:
        radial-gradient(circle at 75% 0%, rgb(var(--ap-rgb-action) / 7%), transparent 24rem),
        var(--ap-page);
}

.artist-groups-v3 *,
.artist-groups-v3 *::before,
.artist-groups-v3 *::after {
    box-sizing: border-box;
}

.artist-groups-v3-container {
    width: 100%;
    max-width: var(--ap-width-wide);
    min-width: 0;
}

.artist-groups-v3-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding-top: .9rem;
    margin-bottom: 1rem;
}

.artist-groups-v3-head h1 {
    margin: 0;
    font-size: var(--ap-title-page);
    line-height: 1.05;
}

.artist-groups-v3-head p {
    margin: .3rem 0 0;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-base);
}

.artist-groups-v3-create {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-height: var(--ap-button-height);
    padding: .55rem .85rem;
    border: 1px solid var(--ap-action-border);
    border-radius: var(--ap-radius-md);
    background: linear-gradient(180deg, var(--ap-action), var(--ap-action-dark));
    color: var(--ap-color-white);
    font-size: var(--ap-text-md);
    font-weight: var(--ap-weight-heavy);
    text-decoration: none;
    white-space: nowrap;
}

.artist-groups-v3-create:hover {
    border-color: var(--ap-action-border-hover);
    background: linear-gradient(180deg, var(--ap-action-hover), var(--ap-action-hover-dark));
    color: var(--ap-color-white);
}

.artist-groups-v3-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 1rem;
    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius-lg);
    background: var(--ap-surface);
}

.artist-groups-v3-summary>div {
    display: grid;
    gap: .08rem;
    min-width: 0;
    padding: .85rem 1rem;
    border-right: 1px solid var(--ap-border-soft);
}

.artist-groups-v3-summary>div:last-child {
    border-right: 0;
}

.artist-groups-v3-summary span {
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-sm);
}

.artist-groups-v3-summary strong {
    color: var(--ap-color-white);
    font-size: var(--ap-text-stat);
    line-height: 1;
}

.artist-groups-v3-summary small {
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-xs);
    line-height: 1.35;
}

.artist-groups-v3-list {
    overflow: hidden;
    border-radius: var(--ap-radius-lg);
}

.artist-groups-v3-list>header {
    min-height: 4rem;
}

.artist-groups-v3-list>header>div {
    min-width: 0;
}

.artist-groups-v3-list>header h2 {
    margin: 0;
}

.artist-groups-v3-list>header p {
    margin: .18rem 0 0;
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-sm);
}

.artist-groups-v3-row {
    border-right: 0;
    border-left: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.artist-groups-v3-row:hover {
    background: rgb(var(--ap-rgb-primary) / 4%);
}

.artist-groups-v3-row .artist-dashboard-progress {
    min-width: 0;
}

.artist-dashboard-group-row .artist-dashboard-progress small {
    display: block;
    margin-top: .28rem;
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-xs);
}

.artist-groups-v3-edit {
    border-color: rgb(var(--ap-rgb-primary) / 42%) !important;
    background: rgb(var(--ap-rgb-primary) / 9%) !important;
}

.artist-groups-v3-empty {
    display: grid;
    justify-items: center;
    gap: .55rem;
    padding: 3rem 1rem;
    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius-lg);
    background: var(--ap-surface-soft);
    text-align: center;
}

.artist-groups-v3-empty>i {
    color: var(--ap-color-link-strong);
    font-size: var(--ap-text-mobile-title);
}

.artist-groups-v3-empty h2,
.artist-groups-v3-empty p {
    margin: 0;
}

.artist-groups-v3-empty h2 {
    font-size: var(--ap-text-2xl);
}

.artist-groups-v3-empty p {
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-base);
}

@media (max-width:850px) {
    .artist-groups-v3-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .artist-groups-v3-summary>div:nth-child(2) {
        border-right: 0;
    }

    .artist-groups-v3-summary>div:nth-child(-n+2) {
        border-bottom: 1px solid var(--ap-border-soft);
    }
}

@media (max-width:650px) {
    .artist-groups-v3-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .artist-groups-v3-create {
        width: 100%;
    }

    .artist-groups-v3-summary {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width:430px) {
    .artist-groups-v3-summary {
        grid-template-columns: 1fr;
    }

    .artist-groups-v3-summary>div {
        border-right: 0;
        border-bottom: 1px solid var(--ap-border-soft);
    }

    .artist-groups-v3-summary>div:last-child {
        border-bottom: 0;
    }
}

.artist-groups-v3-leads {
    display: grid;
    justify-items: start;
    gap: .28rem;
}

.artist-groups-v3-lead-count {
    display: flex;
    align-items: baseline;
    gap: .28rem;
}

.artist-groups-v3-lead-count strong {
    color: var(--ap-color-white);
    font-size: var(--ap-text-lg);
    line-height: 1;
}

.artist-groups-v3-lead-count span,
.artist-groups-v3-no-leads {
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-xs);
}

.artist-groups-v3-leads a {
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-xs);
    font-weight: var(--ap-weight-bold);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.artist-groups-v3-leads a:hover {
    color: var(--ap-color-white);
}

/* ========================================
   MI CUENTA V3
   ======================================== */
.artist-account-v3 {
    overflow-x: hidden;
    background:
        radial-gradient(circle at 75% 0%, rgb(var(--ap-rgb-action) / 7%), transparent 24rem),
        var(--ap-page);
}

.artist-account-v3 *,
.artist-account-v3 *::before,
.artist-account-v3 *::after {
    box-sizing: border-box;
}

.artist-account-v3-container {
    width: 100%;
    max-width: var(--ap-width-account);
    min-width: 0;
}

.artist-account-v3-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding-top: .9rem;
    margin-bottom: 1rem;
}

.artist-account-v3-head h1 {
    margin: 0;
    font-size: var(--ap-title-page);
    line-height: 1.05;
}

.artist-account-v3-head p {
    margin: .3rem 0 0;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-base);
}

.artist-account-v3-summary {
    display: flex;
    align-items: center;
    gap: .85rem;
    margin-bottom: 1rem;
    padding: .9rem 1rem;
    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius-lg);
    background: var(--ap-surface);
}

.artist-account-v3-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    flex: 0 0 auto;
    border: 1px solid rgb(var(--ap-rgb-primary) / 36%);
    border-radius: var(--ap-radius-pill);
    background: rgb(var(--ap-rgb-action) / 18%);
    color: var(--ap-color-white);
    font-size: var(--ap-text-lg);
    font-weight: var(--ap-weight-black);
}

.artist-account-v3-summary>div {
    display: grid;
    min-width: 0;
    gap: .08rem;
}

.artist-account-v3-summary span {
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-xs);
    font-weight: var(--ap-weight-bold);
    letter-spacing: .06em;
    text-transform: uppercase;
}

.artist-account-v3-summary strong {
    overflow-wrap: anywhere;
    color: var(--ap-color-white);
    font-size: var(--ap-text-lg);
}

.artist-account-v3-summary small {
    overflow-wrap: anywhere;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-sm);
}

.artist-account-v3-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.artist-account-v3-card {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius-lg);
    background: var(--ap-surface);
}

.artist-account-v3-card>header {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1rem;
    padding-bottom: .85rem;
    border-bottom: 1px solid var(--ap-border-soft);
}

.artist-account-v3-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.55rem;
    height: 2.55rem;
    flex: 0 0 auto;
    border-radius: var(--ap-radius-pill);
    background: rgb(var(--ap-rgb-action) / 18%);
    color: var(--ap-color-link-strong);
}

.artist-account-v3-card h2 {
    margin: 0;
    font-size: var(--ap-text-xl);
}

.artist-account-v3-card header p {
    margin: .15rem 0 0;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-sm);
}

.artist-account-v3-form {
    display: grid;
    gap: .85rem;
}

.artist-account-v3-form label {
    display: grid;
    gap: .32rem;
}

.artist-account-v3-form label>span {
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-sm);
    font-weight: var(--ap-weight-bold);
}

.artist-account-v3-input {
    display: flex;
    align-items: center;
    min-height: 2.8rem;
    padding-left: .75rem;
    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius-md);
    background: var(--ap-surface-input);
}

.artist-account-v3-input:focus-within {
    border-color: rgb(var(--ap-rgb-primary) / 52%);
    box-shadow: 0 0 0 3px rgb(var(--ap-rgb-primary) / 8%);
}

.artist-account-v3-input>i {
    flex: 0 0 auto;
    color: var(--ap-color-link-strong);
    font-size: var(--ap-text-md);
}

.artist-account-v3-input input {
    width: 100%;
    min-width: 0;
    min-height: 2.75rem;
    padding: .55rem .75rem;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--ap-color-white);
    font: inherit;
    font-size: var(--ap-text-base);
}

.artist-account-v3-input--readonly {
    background: rgb(var(--ap-rgb-white) / 2%);
}

.artist-account-v3-input--readonly input {
    color: var(--ap-color-text-muted);
    cursor: not-allowed;
}

.artist-account-v3-help {
    color: var(--ap-color-text-muted);
    font-size: var(--ap-text-xs);
    line-height: 1.45;
}

.artist-account-v3-help a {
    color: var(--ap-color-link);
    font-weight: var(--ap-weight-bold);
    text-decoration: none;
}

.artist-account-v3-help a:hover {
    color: var(--ap-color-white);
    text-decoration: underline;
}

.artist-account-v3-submit {
    min-height: 2.75rem;
    padding: .6rem .9rem;
    border: 1px solid var(--ap-action-border);
    border-radius: var(--ap-radius-md);
    background: linear-gradient(180deg, var(--ap-action), var(--ap-action-dark));
    color: var(--ap-color-white);
    font: inherit;
    font-size: var(--ap-text-md);
    font-weight: var(--ap-weight-heavy);
    cursor: pointer;
}

.artist-account-v3-submit:hover {
    border-color: var(--ap-action-border-hover);
    background: linear-gradient(180deg, var(--ap-action-hover), var(--ap-action-hover-dark));
}

.artist-account-v3-security {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    margin-top: 1rem;
    padding: .8rem 1rem;
    border: 1px solid rgb(var(--ap-rgb-primary) / 20%);
    border-radius: var(--ap-radius-lg);
    background: rgb(var(--ap-rgb-primary) / 5%);
}

.artist-account-v3-security>i {
    margin-top: .15rem;
    color: var(--ap-color-link-strong);
}

.artist-account-v3-security strong {
    color: var(--ap-color-white);
    font-size: var(--ap-text-md);
}

.artist-account-v3-security p {
    margin: .15rem 0 0;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-sm);
}

@media (max-width:760px) {
    .artist-account-v3-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width:620px) {
    .artist-account-v3-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .artist-account-v3-card {
        padding: .85rem;
    }

    .artist-account-v3-summary {
        align-items: flex-start;
    }
}

.artist-account-v3-danger {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid rgb(var(--ap-rgb-danger) / 42%);
    border-radius: var(--ap-radius-lg);
    background: rgb(var(--ap-rgb-danger) / 6%);
}

.artist-account-v3-danger>header {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    margin-bottom: 1rem;
    padding-bottom: .85rem;
    border-bottom: 1px solid rgb(var(--ap-rgb-danger) / 22%);
}

.artist-account-v3-danger-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.55rem;
    height: 2.55rem;
    flex: 0 0 auto;
    border-radius: var(--ap-radius-pill);
    background: rgb(var(--ap-rgb-danger) / 14%);
    color: var(--ap-color-danger);
}

.artist-account-v3-danger h2 {
    margin: 0;
    color: var(--ap-color-danger-soft);
    font-size: var(--ap-text-xl);
}

.artist-account-v3-danger header p {
    margin: .15rem 0 0;
    color: var(--ap-color-text-soft);
    font-size: var(--ap-text-sm);
}

.artist-account-v3-delete {
    min-height: 2.75rem;
    padding: .6rem .9rem;
    border: 1px solid rgb(var(--ap-rgb-danger) / 60%);
    border-radius: var(--ap-radius-md);
    background: rgb(var(--ap-rgb-danger) / 15%);
    color: var(--ap-color-danger-soft);
    font: inherit;
    font-size: var(--ap-text-md);
    font-weight: var(--ap-weight-heavy);
    cursor: pointer;
}

.artist-account-v3-delete:hover {
    border-color: rgb(var(--ap-rgb-danger) / 85%);
    background: rgb(var(--ap-rgb-danger) / 23%);
    color: var(--ap-color-white);
}

.artist-dashboard-row-actions .artist-groups-v3-delete {
    border-color: rgb(var(--ap-rgb-danger) / 85%);
    background: rgb(var(--ap-rgb-danger) / 78%);
    color: var(--ap-color-white);
}

.artist-dashboard-row-actions .artist-groups-v3-delete:hover {
    border-color: rgb(var(--ap-rgb-danger) / 100%);
    background: rgb(var(--ap-rgb-danger) / 95%);
    color: var(--ap-color-white);
}

.artist-dashboard-row-actions .artist-groups-v3-delete:focus-visible {
    outline: 3px solid rgb(var(--ap-rgb-danger) / 30%);
    outline-offset: 2px;
}