/* El estado administrativo nunca debe modificar la navegación principal. */
.admin-commerce-page [hidden] { display: none !important; }

.admin-modules-form { display:grid; gap:18px; }
.admin-commerce-page *, .admin-commerce-page *::before, .admin-commerce-page *::after { box-sizing:border-box; }
.admin-commerce-page :is(button,a,input,select,textarea):focus-visible { outline:3px solid #ff901b; outline-offset:3px; }
.admin-commerce-page .admin-switch:focus-within { outline:3px solid #ff901b; outline-offset:3px; border-radius:12px; }
.admin-commerce-page .admin-switch i { flex:0 0 44px; }
.admin-commerce-page .admin-commerce-content { max-width:1440px; }
.admin-commerce-page .admin-overview { background:transparent; color:#071a3d; padding:10px 0 20px; border-radius:0; }
.admin-commerce-page .admin-overview h1 { font-size:clamp(25px,3vw,34px); }
.admin-commerce-page .admin-overview p { color:#657a98; }
.admin-commerce-page .admin-overview a { color:#123b74; background:white; border-color:#d5dfeb; flex-shrink:0; }
.admin-commerce-page .admin-overview small { color:#db6c08; }
.admin-commerce-page .admin-commerce-main { grid-template-columns:58px minmax(0,1fr) minmax(0,.8fr); gap:18px; padding:22px; }
.admin-commerce-page .admin-commerce-actions { grid-column:2 / -1; justify-content:flex-end; flex-wrap:wrap; }
.admin-commerce-page .admin-commerce-actions a.primary { background:#ff8c17; color:white; border-color:#ff8c17; }
.admin-commerce-page .admin-commerce-actions button { background:white; color:#123b74; border-color:#d5dfeb; }
.admin-commerce-page .admin-commerce-identity>div { flex-wrap:wrap; }
.admin-commerce-page :is(h1,h3,p,strong,small,.admin-public-link) { overflow-wrap:anywhere; }
.admin-commerce-page .admin-membership-overview { min-width:0; }
.admin-commerce-page .admin-badge { display:inline-block; padding:6px 10px; border-radius:99px; font-size:12px; font-weight:700; margin:3px 0; }
.admin-commerce-page .admin-membership-overview small { margin-top:8px; }
.admin-commerce-page .admin-manage-hero { flex-wrap:wrap; }
.admin-commerce-page .admin-manage-hero p { flex-wrap:wrap; }
.admin-commerce-page .admin-hero-badges { display:grid; gap:5px; }
.admin-commerce-page .admin-detail-tabs { display:flex; flex-wrap:wrap; gap:8px; padding:18px 0 6px; }
.admin-commerce-page .admin-detail-tabs button { min-height:44px; padding:10px 18px; border:1px solid #dfe6ef; border-radius:12px; color:#123b74; background:white; font:inherit; }
.admin-commerce-page .admin-detail-tabs button.is-selected { background:#123b74; color:white; border-color:#123b74; }
.admin-commerce-page .admin-membership-card { box-shadow:0 6px 22px #071a3d06; scroll-margin-top:20px; }
.admin-commerce-page .admin-section-note { color:#657a98; line-height:1.6; margin:15px 0; font-size:14px; }
.admin-commerce-page .admin-primary { background:#ff8c17; border:0; border-radius:11px; color:white; padding:12px 18px; min-height:44px; font-weight:700; }
.admin-commerce-page .admin-public-link { color:#123b74; font-weight:700; }
.admin-commerce-page .admin-dirty-note { color:#b35c05; font-size:13px; margin:0; grid-column:1 / -1; }
.admin-commerce-page .admin-discard { border:1px solid #d5dfeb; border-radius:10px; padding:10px 15px; min-height:44px; color:#123b74; background:white; justify-self:start; }
.admin-commerce-page .admin-discard { display:none; }
.admin-commerce-page form[data-dirty="true"]>.admin-discard { display:block; }
.admin-commerce-page .admin-management-form footer button:not(.primary) { background:white; color:#123b74; border:1px solid #d5dfeb; }
.admin-commerce-page .admin-inline-form { flex-wrap:wrap; }
.admin-commerce-page .admin-inline-form .admin-dirty-note { flex-basis:100%; }
.admin-commerce-page .admin-commerce-tools>div { flex-wrap:wrap; overflow:visible; }
.admin-commerce-page .admin-separate-actions { flex-wrap:wrap; }
@media(max-width:900px) {
 .admin-commerce-page .admin-membership-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .admin-commerce-page .admin-commerce-header { padding:16px 20px; flex-wrap:wrap; }
}
@media(max-width:600px) {
 .admin-commerce-page .admin-commerce-content { padding:20px 14px 40px; }
 .admin-commerce-page .admin-commerce-header { gap:12px; }
 .admin-commerce-page .admin-commerce-header img { width:125px; }
 .admin-commerce-page .admin-commerce-main { grid-template-columns:44px minmax(0,1fr); padding:16px; gap:12px; }
 .admin-commerce-page .admin-commerce-logo { width:44px; height:44px; border-radius:12px; flex-shrink:0; }
 .admin-commerce-page .admin-membership-overview { grid-column:1 / -1; border-left:0; border-top:1px solid #e7edf4; padding:12px 0 0; }
 .admin-commerce-page .admin-commerce-actions { grid-column:1 / -1; display:grid; grid-template-columns:1fr; }
 .admin-commerce-page .admin-commerce-actions :is(a,button,form) { width:100%; justify-content:center; }
 .admin-commerce-page .admin-detail-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .admin-commerce-page .admin-detail-tabs button { padding:10px 8px; }
 .admin-commerce-page .admin-membership-card { padding:18px; }
 .admin-commerce-page .admin-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .admin-commerce-page .admin-summary-grid article { padding:12px; gap:9px; }
 .admin-commerce-page .admin-overview { align-items:flex-start; }
 .admin-commerce-page .admin-overview a { padding:9px; }
 .admin-commerce-page .admin-inline-form { display:grid; }
 .admin-commerce-page .admin-country-only { flex-wrap:wrap; }
 .admin-commerce-page .admin-country-only :is(select,button) { width:100%; }
 .admin-commerce-page .admin-management-form footer { flex-direction:column; }
 .admin-commerce-page .admin-hero-badges { width:100%; display:flex; flex-wrap:wrap; }
}
.admin-modules-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.admin-modules-grid .admin-switch { min-height:76px; padding:14px; border:1px solid #dfe6ef; border-radius:14px; background:#f8fafc; }
.admin-modules-grid .admin-switch span { flex:1; }
.admin-modules-grid .admin-switch strong { display:flex; align-items:center; gap:8px; color:#071a3d; }
.admin-modules-grid .admin-switch em { padding:3px 7px; border-radius:99px; background:#e8edf5; color:#718199; font-size:10px; font-style:normal; }
.admin-modules-form footer { display:flex; justify-content:flex-end; }
.admin-modules-form footer button { min-height:44px; padding:0 18px; border:0; border-radius:11px; background:#123b74; color:#fff; font-weight:800; }
@media(max-width:760px){.admin-modules-grid{grid-template-columns:1fr}.admin-modules-form footer button{width:100%}}

/* Los estados pertenecen exclusivamente al módulo SuperAdmin. */
.admin-commerce-page .is-pending { background: #fff0dc; color: #9d580e; }
.admin-commerce-page .is-active { background: #e3f5ec; color: #176548; }
.admin-commerce-page .is-expired { background: #fbe8ea; color: #a52f3c; }
.admin-commerce-page .is-other { background: #eceff3; color: #5d6470; }

.admin-membership-card {
    padding: 24px 26px;
}

.admin-management-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 18px;
    row-gap: 16px;
}

.admin-management-form label {
    align-content: start;
    min-width: 0;
}

.admin-management-form select,
.admin-management-form input:not([type="checkbox"]),
.admin-management-form textarea {
    font-size: 15px;
}

.admin-management-form textarea {
    min-height: 94px;
    resize: vertical;
}

.admin-management-form .admin-check {
    position: relative;
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center;
    justify-content: space-between;
    min-height: 62px;
    padding: 12px 15px;
    border: 1px solid #e0e7ef;
    border-radius: 13px;
    background: #f8fafc;
    cursor: pointer;
}

.admin-management-form .admin-check input[type="checkbox"] {
    appearance: none;
    position: relative;
    box-sizing: border-box;
    padding: 0;
    flex: 0 0 44px;
    order: 2;
    width: 44px;
    height: 25px;
    min-height: 25px;
    max-height: 25px;
    margin: 0;
    border: 0;
    border-radius: 999px;
    outline: 0;
    background: #cbd5e1;
    cursor: pointer;
    transition: background .18s ease;
}

.admin-management-form .admin-check input[type="checkbox"]::before {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    display: block;
    width: 19px;
    height: 19px;
    margin: 0;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 5px rgba(7, 26, 61, .2);
    transition: transform .18s ease;
}

.admin-management-form .admin-check input[type="checkbox"]:checked {
    background: #f68b1f;
}

.admin-management-form .admin-check input[type="checkbox"]:checked::before {
    transform: translateX(19px);
}

.admin-management-form .admin-check span {
    display: block;
    flex: 1;
    min-width: 0;
    font-size: 14px;
    line-height: 1.35;
}

.admin-management-form .admin-check > span > small {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
}

.admin-commerce-page .admin-switch input:disabled + i,
.admin-management-form .admin-check input:disabled {
    opacity: .55;
    cursor: not-allowed;
}

@media (prefers-reduced-motion: reduce) {
    .admin-management-form .admin-check input[type="checkbox"],
    .admin-management-form .admin-check input[type="checkbox"]::before,
    .admin-commerce-page .admin-switch i::after { transition: none; }
}

.admin-renew-preview {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) 34px minmax(160px, 1fr);
    gap: 18px;
    min-height: 82px;
    padding: 15px 20px;
}

.admin-renew-preview > i {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    align-self: center;
    border-radius: 50%;
    background: #fff;
    color: #f68b1f;
}

.admin-renew-preview div {
    justify-content: center;
}

.admin-management-form footer {
    align-items: center;
    padding-top: 2px;
}

.admin-management-form footer .primary {
    min-width: 220px;
}

.admin-country-only {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) auto;
    max-width: 650px;
    margin: 18px 0 0 auto;
    padding-top: 18px;
    border-top: 1px solid #e7edf4;
}

.admin-country-only button {
    min-width: 160px;
}

.admin-inline-form {
    padding: 4px 0;
}

.admin-inline-form > button {
    min-width: 176px;
}

.admin-separate-actions {
    padding: 20px 24px;
}

@media (max-width: 760px) {
    .admin-membership-card { padding: 19px; }
    .admin-management-form { grid-template-columns: 1fr; }
    .admin-management-form .wide { grid-column: auto; }
    .admin-renew-preview { grid-template-columns: 1fr; gap: 8px; }
    .admin-renew-preview > i { margin: 0 auto; transform: rotate(90deg); }
    .admin-management-form footer .primary { width: 100%; min-width: 0; }
    .admin-country-only { grid-template-columns: 1fr; max-width: none; margin-left: 0; }
    .admin-country-only button { width: 100%; }
}
