.admin-entitlements-page{display:grid;gap:24px;width:min(1180px,calc(100% - 28px));margin:28px auto 56px}.admin-entitlements-page__header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.admin-entitlements-page__header h1{margin:.25rem 0}.admin-entitlements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.admin-entitlement-card,.admin-entitlements-form,.admin-entitlements-table-wrap{padding:22px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 12px 30px rgba(15,23,42,.06)}.admin-entitlement-card__title{display:flex;justify-content:space-between;gap:12px;align-items:center}.admin-entitlement-card dl{display:grid;gap:8px}.admin-entitlement-card dl div{display:flex;justify-content:space-between;gap:16px}.admin-entitlement-card dt{color:#64748b}.admin-entitlement-card dd{margin:0;font-weight:700}.admin-entitlements-form{display:grid;gap:20px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.form-grid label,.admin-entitlements-form>label,.admin-entitlement-card form{display:grid;gap:7px}.form-grid__wide{grid-column:1/-1}.checkbox-grid{display:flex;flex-wrap:wrap;gap:16px}.admin-feature-matrix{display:grid;gap:10px}.admin-feature-matrix label{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:16px;align-items:center;padding:12px;border:1px solid #e2e8f0;border-radius:12px}.admin-feature-matrix span{display:grid;gap:3px}.admin-feature-matrix small{color:#64748b}.admin-entitlements-table-wrap{overflow-x:auto}.admin-entitlements-table-wrap table{width:100%;border-collapse:collapse}.admin-entitlements-table-wrap th,.admin-entitlements-table-wrap td{padding:13px;text-align:left;border-bottom:1px solid #e2e8f0;vertical-align:top}.account-context-switcher{position:relative;margin-left:auto}.account-context-switcher__toggle{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #dbe3ef;border-radius:12px;background:#fff;color:#172033;cursor:pointer}.account-context-switcher__toggle span{font-size:11px;color:#64748b}.account-context-switcher__toggle strong{font-size:13px}.account-context-switcher__toggle img{width:15px;height:15px;transform:rotate(90deg)}.account-context-switcher__menu{position:absolute;top:calc(100% + 8px);right:0;z-index:120;width:min(320px,calc(100vw - 28px));padding:8px;background:#fff;border:1px solid #dbe3ef;border-radius:14px;box-shadow:0 18px 48px rgba(15,23,42,.2)}.account-context-switcher__option{display:grid;grid-template-columns:22px 1fr;gap:10px;width:100%;padding:11px;border:0;border-radius:10px;background:transparent;text-align:left;cursor:pointer}.account-context-switcher__option:hover,.account-context-switcher__option.is-active{background:#eef5ff}.account-context-switcher__option img{width:20px;height:20px}.account-context-switcher__option span{display:grid}.account-context-switcher__option small{color:#64748b}@media(max-width:760px){.admin-entitlements-page__header{display:grid}.admin-feature-matrix label{grid-template-columns:1fr}.account-context-switcher{order:3;width:100%}.account-context-switcher__toggle{width:100%;justify-content:center}}

/* V25.15.4 - Catalogo piani centralizzato */
.admin-alert {
    padding: 0.9rem 1rem;
    border: 1px solid transparent;
    border-radius: 0.8rem;
    font-weight: 700;
    line-height: 1.45;
}

.admin-alert-success {
    color: #047857;
    border-color: #a7f3d0;
    background: #ecfdf5;
}

.admin-alert-error {
    color: #b91c1c;
    border-color: #fecaca;
    background: #fef2f2;
}

.admin-plan-catalog-page__header,
.admin-plan-editor-page__header {
    align-items: center;
}

.admin-plan-catalog-page__header > div:first-child,
.admin-plan-editor-page__header > div:first-child {
    min-width: 0;
}

.admin-plan-catalog-page__header p,
.admin-plan-editor-page__header p {
    max-width: 760px;
    margin: 0;
    color: #64748b;
    line-height: 1.55;
}

.admin-plan-catalog-page__header-actions,
.admin-plan-editor-page__header-actions {
    flex: 0 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.65rem;
}

.admin-plan-catalog-page__header-actions .button,
.admin-plan-editor-page__header-actions .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 42px;
    text-decoration: none;
}

.admin-plan-catalog-page__header-actions .ru-icon {
    width: 18px;
    height: 18px;
}

.admin-plan-catalog-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.8rem;
}

.admin-plan-catalog-summary article {
    min-width: 0;
    display: grid;
    gap: 0.25rem;
    padding: 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.9rem;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.admin-plan-catalog-summary span {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 700;
}

.admin-plan-catalog-summary strong {
    color: #172033;
    font-size: 1.45rem;
    line-height: 1.1;
}

.admin-plan-catalog-table-wrap {
    padding: 0;
}

.admin-plan-catalog-table th:last-child,
.admin-plan-catalog-table td:last-child {
    width: 1%;
    white-space: nowrap;
}

.admin-plan-catalog-table td {
    color: #334155;
}

.admin-plan-catalog-table td > small,
.admin-plan-catalog-table td > strong + small {
    display: block;
    margin-top: 0.25rem;
    color: #64748b;
}

.admin-plan-catalog-table__plan {
    min-width: 190px;
    display: grid;
    gap: 0.25rem;
}

.admin-plan-catalog-table__plan strong {
    color: #172033;
}

.admin-plan-catalog-table__plan code {
    width: fit-content;
    max-width: 100%;
    padding: 0.25rem 0.45rem;
    border-radius: 999px;
    color: #4f46e5;
    background: #eef2ff;
    font-size: 0.72rem;
    overflow-wrap: anywhere;
}

.admin-plan-catalog-table__plan small {
    max-width: 390px;
    color: #64748b;
    line-height: 1.45;
}

.admin-plan-catalog-availability {
    min-width: 180px;
    display: grid;
    justify-items: start;
    gap: 0.35rem;
}

.admin-plan-catalog-availability small {
    max-width: 230px;
    color: #64748b;
    font-size: 0.72rem;
    line-height: 1.4;
}

.admin-plan-catalog-badge {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 0.28rem 0.5rem;
    border-radius: 999px;
    color: #475569;
    background: #f1f5f9;
    font-size: 0.7rem;
    font-weight: 800;
}

.admin-plan-catalog-badge.is-published {
    color: #047857;
    background: #ecfdf5;
}

.admin-plan-catalog-badge.is-private {
    color: #1d4ed8;
    background: #eff6ff;
}

.admin-plan-catalog-badge.is-draft {
    color: #92400e;
    background: #fffbeb;
}

.admin-plan-catalog-badge.is-hidden {
    color: #475569;
    background: #f1f5f9;
}

.admin-plan-catalog-badge.is-retired {
    color: #991b1b;
    background: #fef2f2;
}

.admin-plan-catalog-badge.is-inconsistent {
    color: #991b1b;
    background: #fef2f2;
    box-shadow: inset 0 0 0 1px #fecaca;
}

.admin-plan-editor__lifecycle-note {
    grid-column: 1 / -1;
    padding: 0.9rem 1rem;
    border: 1px solid #dbe3ee;
    border-radius: 0.85rem;
    background: #f8fafc;
}

.admin-plan-editor__lifecycle-note > strong {
    display: block;
    margin-bottom: 0.55rem;
    color: #172033;
}

.admin-plan-editor__lifecycle-note ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
    color: #64748b;
    font-size: 0.78rem;
}

.admin-plan-editor__lifecycle-note li {
    display: flex;
    gap: 0.35rem;
}

.admin-plan-editor__lifecycle-note li span {
    color: #334155;
    font-weight: 800;
}

.admin-plan-catalog-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
}

.admin-plan-catalog-actions form {
    margin: 0;
}

.admin-plan-catalog-actions .button {
    min-height: 38px;
    padding: 0.48rem 0.7rem;
    white-space: nowrap;
}

.admin-plan-catalog-actions .button-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.38rem;
    color: #334155;
    border: 1px solid #dbe3ee;
    background: #f8fafc;
}

.admin-plan-catalog-actions .button-ghost:hover {
    color: #172033;
    border-color: #b8c5d6;
    background: #ffffff;
}

.admin-plan-catalog-actions svg {
    width: 17px;
    height: 17px;
}

.admin-plan-catalog-page__safety-note {
    margin: 0;
    padding: 0.8rem 1rem;
    border-left: 3px solid #60a5fa;
    border-radius: 0 0.7rem 0.7rem 0;
    color: #475569;
    background: #f8fbff;
    line-height: 1.5;
}

.admin-plan-catalog-empty {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1.25rem;
    border: 1px dashed #b8c5d6;
    border-radius: 1rem;
    color: #64748b;
    background: #ffffff;
}

.admin-plan-catalog-empty > svg {
    width: 34px;
    height: 34px;
    color: #2563eb;
}

.admin-plan-catalog-empty strong {
    color: #172033;
}

.admin-plan-catalog-empty p {
    margin: 0.2rem 0 0;
    line-height: 1.45;
}

.admin-plan-editor {
    padding: 0;
    overflow: hidden;
}

.admin-plan-editor__section {
    display: grid;
    gap: 1rem;
    padding: 1.35rem;
    border-bottom: 1px solid #e7edf5;
}

.admin-plan-editor__section:last-of-type {
    border-bottom: 0;
}

.admin-plan-editor__section-heading {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.admin-plan-editor__section-heading > span {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: #1d4ed8;
    background: #dbeafe;
    font-size: 0.78rem;
    font-weight: 900;
}

.admin-plan-editor__section-heading > div {
    min-width: 0;
}

.admin-plan-editor__section-heading h2 {
    margin: 0;
    color: #172033;
    font-size: 1rem;
}

.admin-plan-editor__section-heading p {
    margin: 0.2rem 0 0;
    color: #64748b;
    font-size: 0.82rem;
    line-height: 1.45;
}

.admin-plan-editor .form-grid label,
.admin-plan-editor > label {
    min-width: 0;
    color: #334155;
    font-size: 0.82rem;
    font-weight: 750;
}

.admin-plan-editor input:not([type="checkbox"]),
.admin-plan-editor select,
.admin-plan-editor textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: 0.62rem 0.72rem;
    border: 1px solid #cfd8e5;
    border-radius: 0.65rem;
    color: #172033;
    background: #ffffff;
    font: inherit;
}

.admin-plan-editor textarea {
    min-height: 94px;
    resize: vertical;
}

.admin-plan-editor input[readonly] {
    color: #64748b;
    background: #f8fafc;
}

.admin-plan-editor input:focus,
.admin-plan-editor select:focus,
.admin-plan-editor textarea:focus {
    outline: 0;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.admin-plan-editor label > small {
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 500;
    line-height: 1.4;
}

.admin-plan-editor__fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.admin-plan-editor__audiences,
.admin-plan-editor__publishing-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.7rem;
}

.admin-plan-editor__audiences label,
.admin-plan-editor__publishing-options label {
    min-width: 0;
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    padding: 0.8rem;
    border: 1px solid #dbe3ee;
    border-radius: 0.75rem;
    background: #f8fafc;
    cursor: pointer;
}

.admin-plan-editor__audiences input,
.admin-plan-editor__publishing-options input {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-top: 0.08rem;
    accent-color: #2563eb;
}

.admin-plan-editor__audiences label > span,
.admin-plan-editor__publishing-options label > span {
    min-width: 0;
    display: grid;
    gap: 0.12rem;
}

.admin-plan-editor__audiences strong,
.admin-plan-editor__publishing-options strong {
    color: #172033;
    font-size: 0.82rem;
}

.admin-plan-editor__audiences small,
.admin-plan-editor__publishing-options small {
    color: #64748b;
    font-size: 0.7rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.admin-plan-editor .admin-feature-matrix label {
    grid-template-columns: minmax(0, 1fr) minmax(140px, 190px);
}

.admin-plan-editor__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.2rem 1.35rem;
    background: #f8fafc;
}

.admin-plan-editor__footer p {
    max-width: 700px;
    margin: 0;
    color: #64748b;
    font-size: 0.78rem;
    line-height: 1.45;
}

.admin-plan-editor__footer .button {
    flex: 0 0 auto;
    min-width: 150px;
    min-height: 44px;
}

@media (max-width: 920px) {
    .admin-plan-catalog-page__header,
    .admin-plan-editor-page__header {
        display: grid;
    }

    .admin-plan-catalog-page__header-actions,
    .admin-plan-editor-page__header-actions {
        justify-content: flex-start;
    }

    .admin-plan-catalog-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-plan-editor__audiences,
    .admin-plan-editor__publishing-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .admin-plan-catalog-table-wrap {
        overflow: visible;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .admin-plan-catalog-table,
    .admin-plan-catalog-table tbody,
    .admin-plan-catalog-table tr,
    .admin-plan-catalog-table td {
        display: block;
        width: 100%;
    }

    .admin-plan-catalog-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    .admin-plan-catalog-table tbody {
        display: grid;
        gap: 0.85rem;
    }

    .admin-plan-catalog-table tr {
        padding: 1rem;
        border: 1px solid #dbe3ee;
        border-radius: 0.9rem;
        background: #ffffff;
        box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
    }

    .admin-plan-catalog-table td {
        display: grid;
        grid-template-columns: minmax(110px, 0.42fr) minmax(0, 1fr);
        gap: 0.65rem;
        align-items: start;
        padding: 0.55rem 0;
        border-bottom: 1px solid #edf1f5;
        white-space: normal !important;
    }

    .admin-plan-catalog-table td::before {
        content: attr(data-label);
        color: #64748b;
        font-size: 0.72rem;
        font-weight: 800;
    }

    .admin-plan-catalog-table td:last-child {
        border-bottom: 0;
    }

    .admin-plan-catalog-actions {
        justify-content: flex-start;
    }

    .admin-plan-catalog-empty {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .admin-plan-catalog-empty .button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .admin-plan-editor .admin-feature-matrix label {
        grid-template-columns: 1fr;
    }

    .admin-plan-editor__footer {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-plan-editor__footer .button {
        width: 100%;
    }

    .admin-plan-editor__lifecycle-note ul {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .admin-plan-catalog-page__header-actions,
    .admin-plan-editor-page__header-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .admin-plan-catalog-page__header-actions .button,
    .admin-plan-editor-page__header-actions .button {
        width: 100%;
    }

    .admin-plan-catalog-summary,
    .admin-plan-editor__audiences,
    .admin-plan-editor__publishing-options {
        grid-template-columns: 1fr;
    }

    .admin-plan-catalog-table td {
        grid-template-columns: 1fr;
        gap: 0.3rem;
    }

    .admin-plan-catalog-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .admin-plan-catalog-actions .button,
    .admin-plan-catalog-actions form,
    .admin-plan-catalog-actions form .button {
        width: 100%;
    }

    .admin-plan-editor__section,
    .admin-plan-editor__footer {
        padding: 1rem;
    }
}

/* V25.15.10 - Figure e bonus utente */
.admin-user-access-page {
    gap: 1.15rem;
    width: min(1240px, calc(100% - 28px));
}

.admin-user-access-page *,
.admin-user-access-page *::before,
.admin-user-access-page *::after {
    box-sizing: border-box;
}

.admin-user-access-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1.25rem;
    border: 1px solid #dbe3ee;
    border-radius: 1.1rem;
    background: #ffffff;
    box-shadow: 0 12px 34px rgba(15, 23, 42, 0.06);
}

.admin-user-access-hero__identity {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.admin-user-access-avatar {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border: 1px solid #bfdbfe;
    border-radius: 18px;
    color: #1d4ed8;
    background: #eff6ff;
    font-size: 1.15rem;
    font-weight: 900;
    letter-spacing: 0.04em;
}

.admin-user-access-hero__copy {
    min-width: 0;
}

.admin-user-access-eyebrow {
    margin: 0 0 0.25rem;
    color: #2563eb;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-user-access-hero h1,
.admin-user-access-card h2,
.admin-user-access-card h3 {
    color: #172033;
}

.admin-user-access-hero h1 {
    margin: 0;
    font-size: clamp(1.5rem, 3vw, 2rem);
    line-height: 1.15;
}

.admin-user-access-contact {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.4rem;
    color: #64748b;
    font-size: 0.86rem;
}

.admin-user-access-contact a {
    color: #334155;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.admin-user-access-contact a:hover {
    color: #1d4ed8;
    text-decoration: underline;
}

.admin-user-access-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.7rem;
}

.admin-user-access-badge {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    color: #475569;
    background: #f1f5f9;
    font-size: 0.68rem;
    font-weight: 850;
    line-height: 1.2;
}

.admin-user-access-badge.is-success {
    color: #047857;
    background: #ecfdf5;
}

.admin-user-access-badge.is-warning {
    color: #92400e;
    background: #fffbeb;
}

.admin-user-access-badge.is-primary {
    color: #1d4ed8;
    background: #eff6ff;
}

.admin-user-access-badge.is-muted {
    color: #64748b;
    background: #e2e8f0;
}

.admin-user-access-hero__actions {
    flex: 0 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.65rem;
}

.admin-user-access-hero__actions .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 42px;
    text-decoration: none;
}

.admin-user-access-hero__actions svg {
    width: 18px;
    height: 18px;
}

.admin-user-access-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.8rem;
}

.admin-user-access-summary article {
    min-width: 0;
    display: grid;
    gap: 0.22rem;
    padding: 1rem;
    border: 1px solid #dbe3ee;
    border-radius: 0.9rem;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.admin-user-access-summary span {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 800;
}

.admin-user-access-summary strong {
    color: #172033;
    font-size: 1.55rem;
    line-height: 1.1;
}

.admin-user-access-summary strong.is-date {
    font-size: 1rem;
}

.admin-user-access-summary small {
    color: #94a3b8;
    font-size: 0.68rem;
    line-height: 1.4;
}

.admin-user-access-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.admin-user-access-card {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 1rem;
    padding: 1.2rem;
    border: 1px solid #dbe3ee;
    border-radius: 1rem;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
}

.admin-user-access-card--wide {
    width: 100%;
}

.admin-user-access-card__header,
.admin-user-access-card__header-main {
    min-width: 0;
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
}

.admin-user-access-card__header--split {
    justify-content: space-between;
}

.admin-user-access-card__icon {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    color: #172033;
    background: #f1f5f9;
}

.admin-user-access-card__icon svg {
    width: 22px;
    height: 22px;
}

.admin-user-access-card h2 {
    margin: 0;
    font-size: 1.08rem;
}

.admin-user-access-card h3 {
    margin: 0;
    font-size: 0.82rem;
}

.admin-user-access-card__header p:not(.admin-user-access-eyebrow),
.admin-user-access-card__header-main p:not(.admin-user-access-eyebrow) {
    max-width: 720px;
    margin: 0.28rem 0 0;
    color: #64748b;
    font-size: 0.76rem;
    line-height: 1.45;
}

.admin-user-access-form,
.admin-user-access-bonus-form {
    display: grid;
    gap: 1rem;
}

.admin-user-access-form label,
.admin-user-access-fields label,
.admin-user-access-field-wide {
    min-width: 0;
    display: grid;
    gap: 0.38rem;
    color: #334155;
    font-size: 0.76rem;
    font-weight: 800;
}

.admin-user-access-form label > span,
.admin-user-access-fields label > span,
.admin-user-access-field-wide > span {
    color: #334155;
}

.admin-user-access-form small,
.admin-user-access-fields small,
.admin-user-access-field-wide small {
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 500;
    line-height: 1.4;
}

.admin-user-access-form input,
.admin-user-access-form select,
.admin-user-access-fields input,
.admin-user-access-fields select,
.admin-user-access-field-wide textarea {
    width: 100%;
    min-height: 44px;
    padding: 0.68rem 0.75rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.72rem;
    color: #172033;
    background: #ffffff;
    font: inherit;
    font-weight: 600;
}

.admin-user-access-field-wide textarea {
    min-height: 90px;
    resize: vertical;
}

.admin-user-access-form input:focus,
.admin-user-access-form select:focus,
.admin-user-access-fields input:focus,
.admin-user-access-fields select:focus,
.admin-user-access-field-wide textarea:focus {
    outline: 3px solid rgba(37, 99, 235, 0.14);
    border-color: #2563eb;
}

.admin-user-access-checkbox {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: flex-start;
    gap: 0.65rem !important;
    padding: 0.78rem;
    border: 1px solid #dbe3ee;
    border-radius: 0.75rem;
    background: #f8fafc;
    cursor: pointer;
}

.admin-user-access-checkbox input {
    width: 18px;
    height: 18px;
    min-height: 0;
    margin-top: 0.1rem;
    padding: 0;
    accent-color: #2563eb;
}

.admin-user-access-checkbox > span {
    display: grid;
    gap: 0.15rem;
}

.admin-user-access-checkbox strong {
    color: #172033;
}

.admin-user-access-form .button,
.admin-user-access-form-footer .button {
    min-height: 44px;
}

.admin-user-access-empty {
    display: grid;
    justify-items: center;
    gap: 0.35rem;
    padding: 1.25rem;
    border: 1px dashed #cbd5e1;
    border-radius: 0.85rem;
    color: #64748b;
    background: #f8fafc;
    text-align: center;
}

.admin-user-access-empty.is-compact {
    justify-items: start;
    text-align: left;
}

.admin-user-access-empty svg {
    width: 34px;
    height: 34px;
    color: #2563eb;
}

.admin-user-access-empty strong {
    color: #172033;
}

.admin-user-access-empty p {
    margin: 0;
    font-size: 0.76rem;
    line-height: 1.45;
}

.admin-user-access-type-list {
    display: grid;
    gap: 0.65rem;
}

.admin-user-access-type {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.7rem;
    padding: 0.78rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.8rem;
    background: #f8fafc;
}

.admin-user-access-type__icon {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    color: #172033;
    background: #ffffff;
}

.admin-user-access-type__icon svg {
    width: 20px;
    height: 20px;
}

.admin-user-access-type > div:nth-child(2) {
    min-width: 0;
    display: grid;
    gap: 0.2rem;
}

.admin-user-access-type strong {
    color: #172033;
    font-size: 0.82rem;
}

.admin-user-access-type code,
.admin-user-access-table__main code {
    width: fit-content;
    max-width: 100%;
    padding: 0.18rem 0.38rem;
    border-radius: 999px;
    color: #4f46e5;
    background: #eef2ff;
    font-size: 0.65rem;
    overflow-wrap: anywhere;
}

.admin-user-access-type__status {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem;
}

.admin-user-access-help {
    flex: 0 0 min(300px, 100%);
    border: 1px solid #dbe3ee;
    border-radius: 0.8rem;
    background: #f8fafc;
}

.admin-user-access-help summary {
    padding: 0.75rem 0.85rem;
    color: #334155;
    font-size: 0.74rem;
    font-weight: 850;
    cursor: pointer;
}

.admin-user-access-help ul {
    display: grid;
    gap: 0.45rem;
    margin: 0;
    padding: 0 1rem 0.9rem 1.8rem;
    color: #64748b;
    font-size: 0.7rem;
    line-height: 1.45;
}

.admin-user-access-help strong {
    color: #334155;
}

.admin-user-access-bonus-form {
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 0.9rem;
}

.admin-user-access-form-section {
    display: grid;
    gap: 0.8rem;
    padding: 1rem;
    border-bottom: 1px solid #e2e8f0;
}

.admin-user-access-form-section:nth-child(even) {
    background: #fbfdff;
}

.admin-user-access-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.admin-user-access-form-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    background: #f8fafc;
}

.admin-user-access-form-footer p {
    max-width: 700px;
    margin: 0;
    color: #64748b;
    font-size: 0.72rem;
    line-height: 1.45;
}

.admin-user-access-form-footer .button {
    flex: 0 0 auto;
    min-width: 155px;
}

.admin-user-access-history__count {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0.3rem 0.65rem;
    border-radius: 999px;
    color: #475569;
    background: #f1f5f9;
    font-size: 0.72rem;
    font-weight: 850;
}

.admin-user-access-table-wrap {
    overflow-x: auto;
    border: 1px solid #e2e8f0;
    border-radius: 0.85rem;
}

.admin-user-access-table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
}

.admin-user-access-table th,
.admin-user-access-table td {
    padding: 0.85rem;
    border-bottom: 1px solid #e2e8f0;
    text-align: left;
    vertical-align: top;
}

.admin-user-access-table th {
    color: #475569;
    background: #f8fafc;
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.admin-user-access-table td {
    color: #334155;
    font-size: 0.75rem;
}

.admin-user-access-table tr:last-child td {
    border-bottom: 0;
}

.admin-user-access-table tr.is-inactive {
    opacity: 0.7;
}

.admin-user-access-table__main {
    min-width: 170px;
    display: grid;
    gap: 0.22rem;
}

.admin-user-access-table__main strong {
    color: #172033;
    font-size: 0.8rem;
}

.admin-user-access-table__main span {
    color: #64748b;
}

.admin-user-access-operation {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 0.22rem 0.5rem;
    border-radius: 999px;
    color: #475569;
    background: #f1f5f9;
    font-size: 0.66rem;
    font-weight: 850;
}

.admin-user-access-operation.is-enable {
    color: #047857;
    background: #ecfdf5;
}

.admin-user-access-operation.is-disable {
    color: #991b1b;
    background: #fef2f2;
}

.admin-user-access-operation.is-add {
    color: #1d4ed8;
    background: #eff6ff;
}

.admin-user-access-operation.is-replace {
    color: #6d28d9;
    background: #f5f3ff;
}

.admin-user-access-value {
    display: block;
    margin-top: 0.4rem;
    color: #172033;
    font-size: 0.82rem;
}

.admin-user-access-validity {
    min-width: 150px;
    display: grid;
    gap: 0.42rem;
}

.admin-user-access-validity span {
    display: grid;
    gap: 0.12rem;
}

.admin-user-access-validity small {
    color: #94a3b8;
    font-size: 0.62rem;
    font-weight: 850;
    text-transform: uppercase;
}

.admin-user-access-reason {
    min-width: 190px;
    max-width: 320px;
    margin: 0 0 0.35rem;
    color: #334155;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.admin-user-access-table td > small {
    color: #94a3b8;
    font-size: 0.64rem;
    line-height: 1.4;
}

.admin-user-access-table form {
    margin: 0;
}

.admin-user-access-table .button {
    min-height: 36px;
    padding: 0.42rem 0.65rem;
    white-space: nowrap;
}

.admin-user-access-no-action {
    color: #94a3b8;
    font-size: 0.68rem;
}

@media (max-width: 980px) {
    .admin-user-access-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-user-access-hero__actions {
        justify-content: flex-start;
    }

    .admin-user-access-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-user-access-card__header--split {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-user-access-help {
        flex-basis: auto;
        width: 100%;
    }
}

@media (max-width: 760px) {
    .admin-user-access-page {
        width: min(100% - 20px, 1240px);
        margin-top: 18px;
    }

    .admin-user-access-grid,
    .admin-user-access-fields {
        grid-template-columns: 1fr;
    }

    .admin-user-access-form-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-user-access-form-footer .button {
        width: 100%;
    }

    .admin-user-access-table-wrap {
        overflow: visible;
        border: 0;
    }

    .admin-user-access-table,
    .admin-user-access-table tbody,
    .admin-user-access-table tr,
    .admin-user-access-table td {
        display: block;
        width: 100%;
    }

    .admin-user-access-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    .admin-user-access-table tbody {
        display: grid;
        gap: 0.75rem;
    }

    .admin-user-access-table tr {
        padding: 0.9rem;
        border: 1px solid #dbe3ee;
        border-radius: 0.85rem;
        background: #ffffff;
    }

    .admin-user-access-table td {
        display: grid;
        grid-template-columns: minmax(115px, 0.38fr) minmax(0, 1fr);
        gap: 0.65rem;
        padding: 0.65rem 0;
        border-bottom: 1px solid #edf1f5;
    }

    .admin-user-access-table td::before {
        content: attr(data-label);
        color: #64748b;
        font-size: 0.66rem;
        font-weight: 900;
        text-transform: uppercase;
    }

    .admin-user-access-table td:last-child {
        border-bottom: 0;
    }

    .admin-user-access-table__main,
    .admin-user-access-validity,
    .admin-user-access-reason {
        min-width: 0;
        max-width: none;
    }
}

@media (max-width: 560px) {
    .admin-user-access-hero,
    .admin-user-access-card {
        padding: 1rem;
    }

    .admin-user-access-hero__identity {
        align-items: flex-start;
    }

    .admin-user-access-avatar {
        width: 52px;
        height: 52px;
        border-radius: 15px;
    }

    .admin-user-access-hero__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .admin-user-access-hero__actions .button {
        width: 100%;
    }

    .admin-user-access-summary {
        grid-template-columns: 1fr 1fr;
    }

    .admin-user-access-summary article:last-child {
        grid-column: 1 / -1;
    }

    .admin-user-access-type {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .admin-user-access-type__status {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .admin-user-access-table td {
        grid-template-columns: 1fr;
        gap: 0.3rem;
    }
}


/* V25.15.11 - Figure account */
.admin-account-types-page__header {
    align-items: center;
}

.admin-account-types-page__header > div:first-child {
    min-width: 0;
}

.admin-account-types-page__header p:not(.eyebrow) {
    max-width: 760px;
    margin: 0;
    color: #64748b;
    line-height: 1.55;
}

.admin-account-types-page__new,
.admin-account-type-card__actions .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    text-decoration: none;
}

.admin-account-types-page__new svg,
.admin-account-type-card__actions svg {
    width: 18px;
    height: 18px;
}

.admin-account-types-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
}

.admin-account-types-summary article {
    min-width: 0;
    display: grid;
    gap: 0.3rem;
    padding: 1rem;
    border: 1px solid #dfe7f1;
    border-radius: 0.95rem;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.admin-account-types-summary span {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 750;
}

.admin-account-types-summary strong {
    color: #172033;
    font-size: 1.5rem;
    line-height: 1;
}

.admin-account-types-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1rem;
}

.admin-account-type-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.15rem;
    border: 1px solid #dfe7f1;
    border-radius: 1rem;
    background: #ffffff;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.055);
}

.admin-account-type-card.is-inactive {
    background: #f8fafc;
}

.admin-account-type-card__heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: start;
}

.admin-account-type-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid #dbe3ee;
    border-radius: 0.8rem;
    color: #111827;
    background: #f8fafc;
}

.admin-account-type-card__icon svg {
    width: 23px;
    height: 23px;
}

.admin-account-type-card h2 {
    margin: 0;
    color: #172033;
    font-size: 1rem;
    line-height: 1.3;
}

.admin-account-type-card__technical-code {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
    margin-top: 0.35rem;
}

.admin-account-type-card__technical-code small {
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 700;
}

.admin-account-type-card__technical-code code,
.admin-account-type-card__details code {
    max-width: 100%;
    padding: 0.2rem 0.4rem;
    border-radius: 0.45rem;
    color: #334155;
    background: #f1f5f9;
    font-size: 0.7rem;
    overflow-wrap: anywhere;
}

.admin-account-type-status {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0.25rem 0.5rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 850;
    white-space: nowrap;
}

.admin-account-type-status.is-active {
    color: #047857;
    background: #ecfdf5;
}

.admin-account-type-status.is-inactive {
    color: #475569;
    background: #e2e8f0;
}

.admin-account-type-card__description {
    min-height: 2.9em;
    margin: 0;
    color: #475569;
    font-size: 0.84rem;
    line-height: 1.5;
}

.admin-account-type-card__details {
    display: grid;
    gap: 0;
    margin: 0;
    border: 1px solid #e7edf5;
    border-radius: 0.8rem;
    overflow: hidden;
}

.admin-account-type-card__details > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.68rem 0.75rem;
    border-bottom: 1px solid #e7edf5;
}

.admin-account-type-card__details > div:last-child {
    border-bottom: 0;
}

.admin-account-type-card__details dt {
    color: #64748b;
    font-size: 0.76rem;
}

.admin-account-type-card__details dd {
    margin: 0;
    color: #172033;
    font-size: 0.78rem;
    font-weight: 800;
    text-align: right;
}

.admin-account-type-card__flags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    min-height: 28px;
}

.admin-account-type-card__flags span {
    display: inline-flex;
    align-items: center;
    padding: 0.28rem 0.48rem;
    border-radius: 999px;
    color: #334155;
    background: #f1f5f9;
    font-size: 0.66rem;
    font-weight: 750;
}

.admin-account-type-card__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    margin-top: auto;
    padding-top: 0.15rem;
}

.admin-account-type-card__actions form {
    margin: 0;
}

.admin-account-type-card__actions .button {
    width: 100%;
    min-height: 41px;
}

.admin-account-type-card__actions .button-ghost {
    color: #334155;
    border: 1px solid #dbe3ee;
    background: #f8fafc;
}

.admin-account-type-card__actions .button-ghost:hover {
    color: #172033;
    border-color: #b8c5d6;
    background: #ffffff;
}

.admin-account-types-page__note {
    margin: 0;
    padding: 0.8rem 1rem;
    border-left: 3px solid #60a5fa;
    border-radius: 0 0.75rem 0.75rem 0;
    color: #475569;
    background: #f8fbff;
    font-size: 0.8rem;
    line-height: 1.5;
}

.admin-account-types-empty {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1.2rem;
    border: 1px dashed #b8c5d6;
    border-radius: 1rem;
    background: #ffffff;
}

.admin-account-types-empty__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 0.85rem;
    color: #111827;
    background: #eef5ff;
}

.admin-account-types-empty__icon svg {
    width: 22px;
    height: 22px;
}

.admin-account-types-empty strong {
    color: #172033;
}

.admin-account-types-empty p {
    margin: 0.2rem 0 0;
    color: #64748b;
}

@media (max-width: 900px) {
    .admin-account-types-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .admin-account-types-page__new {
        width: 100%;
    }

    .admin-account-types-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-account-types-grid {
        grid-template-columns: 1fr;
    }

    .admin-account-type-card__heading {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .admin-account-type-status {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .admin-account-type-card__details > div {
        grid-template-columns: 1fr;
        gap: 0.25rem;
    }

    .admin-account-type-card__details dd {
        text-align: left;
    }

    .admin-account-type-card__actions {
        grid-template-columns: 1fr;
    }

    .admin-account-types-empty {
        grid-template-columns: 1fr;
        justify-items: start;
    }

    .admin-account-types-empty .button {
        width: 100%;
    }
}
