/* ============================================================
   C&A TMS - CODIGO PROPIO

   Proposito:
     Presentacion Corporate Sober para la pantalla de acceso.

   Seguridad:
     Este archivo modifica solamente la presentacion visual.
   ============================================================ */

:root {
    color-scheme: light;
    --primary-blue: #1E3A8A;
    --primary-blue-hover: #172F73;
    --primary-blue-focus: rgba(30, 58, 138, 0.22);
    --brand-red: #E03131;
    --success-green: #22C55E;
    --warning-amber: #F59E0B;
    --main-text: #1F2937;
    --muted-text: #596579;
    --light-background: #F3F4F6;
    --white-surface: #FFFFFF;
    --neutral-border: #CBD5E1;
    --neutral-border-hover: #94A3B8;
    --error-background: #FEF2F2;
    --error-border: #FECACA;
    --error-text: #991B1B;
    --warning-background: #FFFBEB;
    --warning-border: #FDE68A;
    --warning-text: #92400E;
    --success-background: #F0FDF4;
    --success-border: #BBF7D0;
    --success-text: #166534;
    --info-background: #EFF6FF;
    --info-border: #BFDBFE;
    --info-text: #1E3A8A;
    --shadow: 0 22px 55px rgba(15, 23, 42, 0.13), 0 4px 14px rgba(15, 23, 42, 0.06);
}

* {
    box-sizing: border-box;
}

html {
    min-width: 320px;
    background: var(--light-background);
}

body {
    min-width: 320px;
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0;
    color: var(--main-text);
    background: var(--light-background);
    font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

button,
input {
    font: inherit;
}

button {
    cursor: pointer;
}

button:disabled {
    cursor: not-allowed;
}

[hidden] {
    display: none !important;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.site-shell {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
}

.main-content {
    flex: 1;
    display: grid;
    place-items: center;
    width: 100%;
    padding: 24px;
}

.loading-state {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    color: var(--muted-text);
    font-size: 15px;
    font-weight: 600;
}

.loading-state__spinner,
.button__spinner {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: spin 0.75s linear infinite;
}

.auth-shell {
    width: min(1160px, calc(100vw - 48px));
    height: min(720px, calc(100dvh - 96px));
    min-height: 660px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    overflow: hidden;
    background: var(--white-surface);
    border: 1px solid rgba(148, 163, 184, 0.36);
    border-radius: 20px;
    box-shadow: var(--shadow);
}

.visual-panel {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: #DCE2E8;
}

.visual-panel__photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.visual-panel__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(15, 23, 42, 0.02) 0%,
        rgba(15, 23, 42, 0.00) 54%,
        rgba(15, 23, 42, 0.18) 100%
    );
    pointer-events: none;
}

.visual-panel__logo-wrap {
    position: absolute;
    top: 46px;
    left: 50%;
    width: min(190px, calc(100% - 96px));
    transform: translateX(-50%);
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}

.visual-panel__logo {
    display: block;
    width: 100%;
    height: auto;
    filter: none;
}

.auth-panel {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 64px;
    background: var(--white-surface);
}

.mobile-logo {
    display: none;
}

.auth-screen {
    width: 100%;
    max-width: 470px;
}

.auth-screen__heading {
    margin-bottom: 42px;
}

.auth-screen__heading h2,
.result-state h2 {
    margin: 0;
    color: #111827;
    font-size: clamp(40px, 4vw, 54px);
    line-height: 1.05;
    letter-spacing: -0.035em;
    font-weight: 750;
}

.auth-screen__heading p,
.result-state p {
    margin: 18px 0 0;
    color: var(--muted-text);
    font-size: 18px;
    line-height: 1.55;
}

#sign-in-form,
#forgot-password-form {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.field {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.field label {
    color: #111827;
    font-size: 16px;
    line-height: 1.25;
    font-weight: 700;
}

.field input {
    width: 100%;
    height: 58px;
    padding: 0 18px;
    color: var(--main-text);
    background: var(--white-surface);
    border: 1.5px solid var(--neutral-border);
    border-radius: 9px;
    outline: none;
    font-size: 17px;
    transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

.field input::placeholder {
    color: #7A8698;
    opacity: 1;
}

.field input:hover:not(:disabled) {
    border-color: var(--neutral-border-hover);
}

.field input:focus {
    border-color: var(--primary-blue);
    box-shadow: 0 0 0 4px var(--primary-blue-focus);
}

.field input:disabled {
    color: #64748B;
    background: #F8FAFC;
    border-color: #E2E8F0;
}

.field-help {
    margin: 0;
    color: var(--muted-text);
    font-size: 14px;
    line-height: 1.45;
}

.password-control {
    position: relative;
}

.password-control input {
    padding-right: 58px;
}

.password-toggle {
    position: absolute;
    top: 50%;
    right: 8px;
    width: 44px;
    height: 44px;
    display: inline-grid;
    place-items: center;
    padding: 0;
    transform: translateY(-50%);
    color: #64748B;
    background: transparent;
    border: 0;
    border-radius: 8px;
}

.password-toggle:hover:not(:disabled) {
    color: var(--primary-blue);
    background: #EFF6FF;
}

.password-toggle:focus-visible {
    outline: 3px solid var(--primary-blue-focus);
    outline-offset: 1px;
}

.password-toggle:disabled {
    opacity: 0.55;
}

.password-toggle__icon {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.password-toggle__icon--hide {
    display: none;
}

.password-toggle.is-visible .password-toggle__icon--show {
    display: none;
}

.password-toggle.is-visible .password-toggle__icon--hide {
    display: block;
}

.form-actions {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-top: -4px;
}

.text-link,
.text-button {
    appearance: none;
    padding: 0;
    color: var(--primary-blue);
    background: transparent;
    border: 0;
    font-weight: 650;
    text-decoration: none;
}

.text-link {
    align-self: flex-end;
    font-size: 16px;
}

.text-link:hover,
.text-button:hover {
    text-decoration: underline;
}

.text-link:focus-visible,
.text-button:focus-visible {
    outline: 3px solid var(--primary-blue-focus);
    outline-offset: 4px;
    border-radius: 3px;
}

.button {
    min-height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 22px;
    border: 1px solid transparent;
    border-radius: 9px;
    font-weight: 700;
    font-size: 17px;
    transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease, transform 100ms ease;
}

.button--primary {
    width: 100%;
    color: #FFFFFF;
    background: var(--primary-blue);
    border-color: var(--primary-blue);
}

.button--primary:hover:not(:disabled) {
    background: var(--primary-blue-hover);
    border-color: var(--primary-blue-hover);
}

.button--primary:active:not(:disabled) {
    transform: translateY(1px);
}

.button--primary:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px var(--primary-blue-focus);
}

.button--primary:disabled {
    color: rgba(255, 255, 255, 0.78);
    background: #6B7EAC;
    border-color: #6B7EAC;
}

.button__spinner {
    display: none;
    width: 17px;
    height: 17px;
}

.button.is-loading .button__spinner {
    display: inline-block;
}

.button--secondary {
    color: var(--primary-blue);
    background: #FFFFFF;
    border-color: var(--neutral-border);
}

.button--secondary:hover:not(:disabled) {
    background: #F8FAFC;
    border-color: var(--primary-blue);
}

.button--compact {
    min-height: 44px;
    width: auto;
    padding: 0 18px;
    font-size: 15px;
}

.status-message {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 14px 16px;
    border: 1px solid;
    border-radius: 9px;
    font-size: 15px;
    line-height: 1.5;
}

.status-message__icon {
    width: 24px;
    height: 24px;
    display: inline-grid;
    place-items: center;
    border: 2px solid currentColor;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 800;
}

.status-message--error {
    color: var(--error-text);
    background: var(--error-background);
    border-color: var(--error-border);
}

.status-message--warning {
    color: var(--warning-text);
    background: var(--warning-background);
    border-color: var(--warning-border);
}

.status-message--success {
    color: var(--success-text);
    background: var(--success-background);
    border-color: var(--success-border);
}

.status-message--info,
.status-message:not([class*="status-message--"]) {
    color: var(--info-text);
    background: var(--info-background);
    border-color: var(--info-border);
}

.result-state {
    text-align: center;
}

.result-state__icon {
    width: 58px;
    height: 58px;
    display: inline-grid;
    place-items: center;
    margin-bottom: 24px;
    border: 2px solid currentColor;
    border-radius: 50%;
    font-size: 25px;
    font-weight: 800;
}

.result-state__icon--success {
    color: var(--success-green);
}

.result-state__icon--warning {
    color: var(--warning-amber);
}

.result-state__icon--error {
    color: var(--brand-red);
}

.result-state .button {
    margin-top: 30px;
}

.site-footer {
    flex: 0 0 auto;
    padding: 0 24px 18px;
    color: #6B7280;
    text-align: center;
    font-size: 13px;
    line-height: 1.4;
}

.dashboard {
    width: min(1040px, calc(100vw - 48px));
    overflow: hidden;
    background: #FFFFFF;
    border: 1px solid rgba(148, 163, 184, 0.36);
    border-radius: 18px;
    box-shadow: var(--shadow);
}

.dashboard__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 34px 38px;
    border-bottom: 1px solid #E5E7EB;
}

.dashboard__header h1 {
    margin: 5px 0 0;
    font-size: 30px;
}

.eyebrow {
    margin: 0;
    color: var(--primary-blue);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.dashboard__subtitle {
    margin: 8px 0 0;
    color: var(--muted-text);
}

.dashboard__body {
    padding: 38px;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.info-card {
    min-width: 0;
    padding: 20px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
}

.info-card__label {
    display: block;
    margin-bottom: 8px;
    color: var(--muted-text);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.info-card strong {
    overflow-wrap: anywhere;
}


.module-placeholder {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: start;
    gap: 16px;
    margin-top: 28px;
    padding: 22px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
}

.module-placeholder__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    color: #1E3A8A;
    background: #EFF6FF;
    border: 1px solid #BFDBFE;
    border-radius: 50%;
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
}

.module-placeholder h2 {
    margin: 0 0 8px;
    color: #1F2937;
    font-size: 24px;
    line-height: 1.25;
}

.module-placeholder p {
    margin: 0;
    color: #4B5563;
    font-size: 16px;
    line-height: 1.6;
}

.page-version {
    position: fixed;
    right: 16px;
    bottom: 10px;
    z-index: 20;
    color: #6B7280;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.01em;
    user-select: text;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 940px) {
    .auth-shell {
        grid-template-columns: 44% 56%;
    }

    .auth-panel {
        padding: 48px 40px;
    }

    .visual-panel__logo-wrap {
        top: 40px;
        width: min(172px, calc(100% - 72px));
    }

    .auth-screen__heading h2,
    .result-state h2 {
        font-size: 42px;
    }

    .dashboard-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .main-content {
        display: block;
        padding: 18px 12px;
    }

    .auth-shell {
        width: 100%;
        height: auto;
        min-height: 0;
        display: block;
        border-radius: 16px;
    }

    .visual-panel {
        display: none;
    }

    .auth-panel {
        display: block;
        padding: 34px 24px 38px;
    }

    .mobile-logo {
        display: block;
        width: min(180px, 58%);
        height: auto;
        margin: 0 auto 34px;
    }

    .auth-screen {
        max-width: none;
    }

    .auth-screen__heading {
        margin-bottom: 34px;
    }

    .auth-screen__heading h2,
    .result-state h2 {
        font-size: 38px;
    }

    .auth-screen__heading p,
    .result-state p {
        font-size: 16px;
    }

    .field input {
        height: 56px;
        font-size: 16px;
    }

    .site-footer {
        padding: 0 16px 28px;
        font-size: 12px;
    }

    .page-version {
        right: 10px;
        bottom: 8px;
        font-size: 10px;
    }

    .dashboard {
        width: 100%;
    }

    .dashboard__header {
        align-items: flex-start;
        flex-direction: column;
        padding: 26px 24px;
    }

    .dashboard__body {
        padding: 24px;
    }
}

@media (max-width: 400px) {
    .auth-panel {
        padding: 28px 18px 32px;
    }

    .mobile-logo {
        width: min(170px, 62%);
        margin-bottom: 28px;
    }

    .auth-screen__heading h2,
    .result-state h2 {
        font-size: 34px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* C&A TMS - CODIGO PROPIO: indicador de conexion */
.connection-indicator {
    position: fixed;
    z-index: 50;
    left: 16px;
    bottom: 14px;
    max-width: calc(100vw - 32px);
    padding: 6px 10px;
    color: #475569;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #CBD5E1;
    border-radius: 7px;
    box-shadow: 0 3px 12px rgba(15, 23, 42, 0.08);
    font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0.01em;
    overflow-wrap: anywhere;
    backdrop-filter: blur(6px);
}

.connection-indicator[data-connection-type="EXTERNAL"] {
    color: #92400E;
    background: rgba(255, 251, 235, 0.96);
    border-color: #FCD34D;
}

.connection-indicator[data-connection-type="UNAVAILABLE"] {
    color: #991B1B;
    background: rgba(254, 242, 242, 0.96);
    border-color: #FCA5A5;
}

@media (max-width: 720px) {
    .connection-indicator {
        left: 10px;
        right: 10px;
        bottom: 10px;
        max-width: none;
        text-align: center;
    }
}



/* ==========================================================
   C&A TMS - CODIGO PROPIO
   Trusted browser option
   ========================================================== */

.trust-browser-option {
    align-items: flex-start;
    color: #1F2937;
    cursor: pointer;
    display: flex;
    font-size: 0.9rem;
    gap: 0.65rem;
    line-height: 1.35;
    margin: 0.25rem 0 1rem;
}

.trust-browser-option input {
    accent-color: #1E3A8A;
    flex: 0 0 auto;
    height: 1rem;
    margin: 0.1rem 0 0;
    width: 1rem;
}


/* ==========================================================
   C&A TMS - CODIGO PROPIO
   User administration
   ========================================================== */

.dashboard__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.admin-panel {
    display: grid;
    gap: 1.25rem;
}

.admin-panel[hidden] {
    display: none;
}

.admin-panel__header {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.admin-panel__header h2,
.admin-card h3,
.admin-role-card h4 {
    color: #1F2937;
    margin: 0;
}

.admin-panel__header p,
.admin-card__heading p,
.admin-role-card p {
    color: #6B7280;
    margin: 0.4rem 0 0;
}

.admin-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.admin-card {
    background: #FFFFFF;
    border: 1px solid #D1D5DB;
    border-radius: 12px;
    padding: 1.25rem;
}

.admin-card__heading {
    margin-bottom: 1rem;
}

.admin-table-wrap {
    overflow-x: auto;
}

.admin-table {
    border-collapse: collapse;
    min-width: 900px;
    width: 100%;
}

.admin-table th,
.admin-table td {
    border-bottom: 1px solid #E5E7EB;
    padding: 0.8rem 0.7rem;
    text-align: left;
    vertical-align: top;
}

.admin-table th {
    color: #374151;
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.admin-table td {
    color: #1F2937;
    font-size: 0.9rem;
}

.admin-table small,
.admin-current-user {
    color: #6B7280;
    display: block;
    margin-top: 0.25rem;
}

.admin-row-actions {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.admin-row-actions .text-link {
    padding: 0;
    text-align: left;
}

.admin-row-actions .text-link:disabled {
    color: #9CA3AF;
    cursor: not-allowed;
}

.admin-status {
    border-radius: 999px;
    display: inline-block;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 0.25rem 0.55rem;
}

.admin-status--active {
    background: #DCFCE7;
    color: #166534;
}

.admin-status--disabled {
    background: #FEE2E2;
    color: #991B1B;
}

.admin-form {
    display: grid;
    gap: 1.25rem;
}

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

.admin-form__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.admin-role-fieldset {
    border: 1px solid #D1D5DB;
    border-radius: 10px;
    margin: 0;
    padding: 1rem;
}

.admin-role-fieldset legend {
    color: #374151;
    font-weight: 700;
    padding: 0 0.4rem;
}

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

.admin-role-option {
    align-items: flex-start;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    gap: 0.65rem;
    padding: 0.75rem;
}

.admin-role-option input {
    accent-color: #1E3A8A;
    margin-top: 0.15rem;
}

.admin-role-option strong,
.admin-role-option small {
    display: block;
}

.admin-role-option small {
    color: #6B7280;
    margin-top: 0.2rem;
}

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

.admin-role-card {
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    padding: 1rem;
}

.admin-permission-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.8rem;
}

.admin-permission-list code {
    background: #F3F4F6;
    border-radius: 6px;
    color: #374151;
    font-size: 0.75rem;
    padding: 0.25rem 0.4rem;
}

.admin-credential-card {
    border-color: #F59E0B;
}

.temporary-password {
    align-items: center;
    background: #F9FAFB;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 0.9rem;
}

.temporary-password code {
    color: #1E3A8A;
    font-size: 1rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

@media (max-width: 800px) {
    .admin-panel__header {
        flex-direction: column;
    }

    .admin-form__grid,
    .admin-role-options,
    .admin-role-summary {
        grid-template-columns: 1fr;
    }

    .temporary-password {
        align-items: stretch;
        flex-direction: column;
    }
}


/* ==========================================================
   C&A TMS - CODIGO PROPIO
   Compact role and permission list
   ========================================================== */

.admin-role-list {
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    overflow: hidden;
}

.admin-role-row {
    align-items: center;
    background: #FFFFFF;
    border-bottom: 1px solid #E5E7EB;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 0.9rem 1rem;
}

.admin-role-row:last-child {
    border-bottom: 0;
}

.admin-role-row__identity {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.admin-role-row__identity strong {
    color: #1F2937;
    font-size: 0.95rem;
}

.admin-role-row__identity span {
    color: #6B7280;
    font-size: 0.85rem;
}

.admin-role-row button {
    flex: 0 0 auto;
}

.admin-role-row button:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.admin-role-detail {
    background: #F9FAFB;
    border: 1px solid #D1D5DB;
    border-radius: 10px;
    margin-top: 1rem;
    padding: 1rem;
}

.admin-role-detail[hidden] {
    display: none;
}

.admin-role-detail__header {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.admin-role-detail__header h4 {
    color: #1F2937;
    margin: 0;
}

.admin-role-detail__description {
    color: #6B7280;
    margin: 0.65rem 0 1rem;
}

.admin-empty-state {
    color: #6B7280;
    padding: 1rem;
}

@media (max-width: 640px) {
    .admin-role-row {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-role-row button {
        width: 100%;
    }

    .admin-role-detail__header {
        flex-direction: column;
    }
}


/* ==========================================================
   C&A TMS - CODIGO PROPIO
   Role permission switches
   ========================================================== */

.admin-role-policy-note {
    background: #F3F4F6;
    border-left: 3px solid #1E3A8A;
    color: #4B5563;
    margin: 0.8rem 0 1rem;
    padding: 0.65rem 0.8rem;
}

.admin-permission-editor {
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    overflow: hidden;
}

.admin-permission-row {
    align-items: center;
    background: #FFFFFF;
    border-bottom: 1px solid #E5E7EB;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 0.85rem 1rem;
}

.admin-permission-row:last-child {
    border-bottom: 0;
}

.admin-permission-row__identity {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.admin-permission-row__title {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.admin-permission-row__identity strong {
    color: #1F2937;
    font-size: 0.9rem;
}

.admin-permission-row__identity code {
    color: #6B7280;
    font-size: 0.75rem;
    overflow-wrap: anywhere;
}

.admin-sensitive-badge {
    background: #FEF3C7;
    border-radius: 999px;
    color: #92400E;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.18rem 0.4rem;
    text-transform: uppercase;
}

.permission-switch {
    align-items: center;
    cursor: pointer;
    display: flex;
    flex: 0 0 auto;
    gap: 0.55rem;
}

.permission-switch input {
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.permission-switch__track {
    background: #9CA3AF;
    border-radius: 999px;
    display: block;
    height: 1.55rem;
    padding: 0.18rem;
    transition:
        background 160ms ease;
    width: 2.85rem;
}

.permission-switch__thumb {
    background: #FFFFFF;
    border-radius: 50%;
    box-shadow:
        0 1px 3px rgba(0, 0, 0, 0.25);
    display: block;
    height: 1.19rem;
    transform: translateX(0);
    transition:
        transform 160ms ease;
    width: 1.19rem;
}

.permission-switch input:checked
    + .permission-switch__track {
    background: #1E3A8A;
}

.permission-switch input:checked
    + .permission-switch__track
    .permission-switch__thumb {
    transform: translateX(1.3rem);
}

.permission-switch input:focus-visible
    + .permission-switch__track {
    outline: 3px solid rgba(
        30,
        58,
        138,
        0.25
    );
    outline-offset: 2px;
}

.permission-switch__state {
    color: #374151;
    font-size: 0.72rem;
    font-weight: 800;
    min-width: 1.8rem;
}

.permission-switch--locked {
    cursor: not-allowed;
}

.permission-switch--locked
    .permission-switch__track,
.permission-switch--locked
    input:checked
    + .permission-switch__track {
    background: #D1D5DB;
}

.permission-switch--locked
    .permission-switch__thumb {
    background: #F9FAFB;
    box-shadow:
        0 0 0 1px #9CA3AF;
}

.permission-switch--locked
    .permission-switch__state {
    color: #9CA3AF;
}

.admin-role-detail__actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 1rem;
}

@media (max-width: 640px) {
    .admin-permission-row {
        align-items: flex-start;
    }
}


/* ==========================================================
   C&A TMS - USER ONBOARDING UI V1
   ========================================================== */

input[data-auto-employee-code="true"] {
    background: #F3F4F6;
    color: #4B5563;
    cursor: not-allowed;
}

.admin-field-validation {
    font-size: 0.78rem;
    margin: 0.35rem 0 0;
    min-height: 1rem;
}

.admin-field-validation--valid {
    color: #15803D;
}

.admin-field-validation--invalid {
    color: #B91C1C;
}

.admin-field-validation--checking {
    color: #6B7280;
}

.admin-field--valid {
    border-color: #22C55E !important;
    box-shadow:
        0 0 0 3px rgba(
            34,
            197,
            94,
            0.12
        );
}

.admin-field--invalid {
    border-color: #E03131 !important;
    box-shadow:
        0 0 0 3px rgba(
            224,
            49,
            49,
            0.12
        );
}

/*
The password is delivered by email.
The administrative portal never displays it.
*/

[id*="temporary-password" i] {
    display: none !important;
}


/* ==========================================================
   C&A TMS - CODIGO PROPIO
   USER ADMINISTRATION WORKSPACE V2
   ========================================================== */

body.admin-workspace-open {
    overflow: hidden;
}

.admin-workspace-v2 {
    background: #F3F4F6;
    inset: 0;
    overflow-y: auto;
    position: fixed;
    z-index: 10000;
}

.admin-workspace-v2[hidden] {
    display: none;
}

.admin-workspace-v2__shell {
    margin: 0 auto;
    max-width: 1240px;
    min-height: 100vh;
    padding: 1.5rem;
}

.admin-workspace-v2__header {
    align-items: flex-start;
    background: #FFFFFF;
    border: 1px solid #E5E7EB;
    border-radius: 14px;
    display: flex;
    gap: 1.5rem;
    justify-content: space-between;
    padding: 1.35rem 1.5rem;
}

.admin-workspace-v2__header h1 {
    color: #1F2937;
    font-size: 1.7rem;
    margin: 0.15rem 0 0;
}

.admin-workspace-v2__version {
    color: #6B7280;
    font-size: 0.75rem;
    margin: 0.35rem 0 0;
}

.admin-workspace-v2__nav {
    background: #FFFFFF;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    display: flex;
    gap: 0.35rem;
    margin-top: 1rem;
    overflow-x: auto;
    padding: 0.4rem;
}

.admin-workspace-v2__nav-button {
    background: transparent;
    border: 0;
    border-radius: 8px;
    color: #4B5563;
    cursor: pointer;
    flex: 0 0 auto;
    font: inherit;
    font-size: 0.88rem;
    font-weight: 700;
    padding: 0.7rem 1rem;
}

.admin-workspace-v2__nav-button:hover {
    background: #F3F4F6;
}

.admin-workspace-v2__nav-button.is-active {
    background: #1E3A8A;
    color: #FFFFFF;
}

.admin-workspace-v2__message {
    border-radius: 10px;
    font-size: 0.9rem;
    margin-top: 1rem;
    padding: 0.85rem 1rem;
}

.admin-workspace-v2__message--success {
    background: #DCFCE7;
    border: 1px solid #86EFAC;
    color: #166534;
}

.admin-workspace-v2__message--error {
    background: #FEE2E2;
    border: 1px solid #FCA5A5;
    color: #991B1B;
}

.admin-workspace-v2__content {
    background: #FFFFFF;
    border: 1px solid #E5E7EB;
    border-radius: 14px;
    margin-top: 1rem;
    min-height: 480px;
    padding: 1.5rem;
}

.admin-workspace-v2__section-header {
    align-items: flex-start;
    border-bottom: 1px solid #E5E7EB;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1.25rem;
    padding-bottom: 1.1rem;
}

.admin-workspace-v2__section-header h2 {
    color: #1F2937;
    margin: 0;
}

.admin-workspace-v2__section-header p {
    color: #6B7280;
    margin: 0.35rem 0 0;
}

.admin-workspace-v2__loading {
    color: #6B7280;
    padding: 1rem 0;
}

.admin-user-list-v2,
.admin-role-list-v2,
.admin-audit-list-v2 {
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    overflow: hidden;
}

.admin-user-row-v2 {
    align-items: center;
    background: #FFFFFF;
    border-bottom: 1px solid #E5E7EB;
    display: grid;
    gap: 1rem;
    grid-template-columns:
        minmax(180px, 0.8fr)
        minmax(260px, 1.4fr)
        auto;
    padding: 0.95rem 1rem;
}

.admin-user-row-v2:last-child {
    border-bottom: 0;
}

.admin-user-row-v2__identity,
.admin-user-row-v2__details {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.admin-user-row-v2__identity strong {
    color: #1F2937;
}

.admin-user-row-v2__identity span,
.admin-user-row-v2__details span {
    color: #6B7280;
    font-size: 0.82rem;
    overflow-wrap: anywhere;
}

.admin-user-row-v2__actions {
    align-items: center;
    display: flex;
    gap: 0.7rem;
    justify-content: flex-end;
}

.admin-status-badge-v2 {
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 800;
    padding: 0.28rem 0.55rem;
    text-transform: uppercase;
}

.admin-status-badge-v2--active {
    background: #DCFCE7;
    color: #166534;
}

.admin-status-badge-v2--disabled {
    background: #E5E7EB;
    color: #4B5563;
}

.admin-status-badge-v2--locked {
    background: #FEF3C7;
    color: #92400E;
}

.admin-form-v2 {
    max-width: 860px;
}

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

.admin-form-v2__field {
    display: grid;
    gap: 0.4rem;
}

.admin-form-v2__field--wide {
    grid-column: 1 / -1;
}

.admin-form-v2__field > span,
.admin-role-selector-v2 legend,
.admin-account-status-v2 legend {
    color: #374151;
    font-size: 0.84rem;
    font-weight: 700;
}

.admin-form-v2__field input {
    background: #FFFFFF;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    color: #1F2937;
    font: inherit;
    min-height: 44px;
    padding: 0.7rem 0.8rem;
}

.admin-form-v2__field input:disabled {
    background: #F3F4F6;
    color: #6B7280;
    cursor: not-allowed;
}

.admin-form-v2__field small {
    color: #6B7280;
    font-size: 0.76rem;
}

.admin-role-selector-v2,
.admin-account-status-v2 {
    border: 0;
    margin: 1.4rem 0 0;
    padding: 0;
}

.admin-role-selector-v2 > p {
    color: #6B7280;
    font-size: 0.82rem;
    margin: 0.3rem 0 0.75rem;
}

.admin-role-selector-v2__options {
    display: grid;
    gap: 0.7rem;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
}

.admin-role-choice-v2 {
    align-items: flex-start;
    border: 1px solid #D1D5DB;
    border-radius: 9px;
    cursor: pointer;
    display: flex;
    gap: 0.7rem;
    padding: 0.8rem;
}

.admin-role-choice-v2:has(input:checked) {
    background: #EFF6FF;
    border-color: #1E3A8A;
}

.admin-role-choice-v2:has(input:disabled) {
    background: #F3F4F6;
    cursor: not-allowed;
    opacity: 0.7;
}

.admin-role-choice-v2 input {
    margin-top: 0.2rem;
}

.admin-role-choice-v2 span {
    display: grid;
    gap: 0.15rem;
}

.admin-role-choice-v2 strong {
    color: #1F2937;
    font-size: 0.84rem;
}

.admin-role-choice-v2 small {
    color: #6B7280;
    font-size: 0.74rem;
}

.admin-form-v2__footer {
    align-items: center;
    border-top: 1px solid #E5E7EB;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-top: 1.5rem;
    padding-top: 1.2rem;
}

.admin-form-v2__requirements {
    color: #92400E;
    font-size: 0.82rem;
    margin: 0;
}

.admin-form-v2__requirements.is-ready {
    color: #166534;
}

.admin-form-v2__actions {
    display: flex;
    gap: 0.7rem;
}

.admin-field-message {
    min-height: 1rem;
}

.admin-field-message--valid {
    color: #15803D !important;
}

.admin-field-message--invalid {
    color: #B91C1C !important;
}

.admin-field-message--checking {
    color: #6B7280 !important;
}

.admin-field--valid {
    border-color: #22C55E !important;
    box-shadow:
        0 0 0 3px rgba(
            34,
            197,
            94,
            0.12
        );
}

.admin-field--invalid {
    border-color: #E03131 !important;
    box-shadow:
        0 0 0 3px rgba(
            224,
            49,
            49,
            0.12
        );
}

.admin-fixed-policy-note {
    background: #F3F4F6;
    border-left: 3px solid #9CA3AF;
    color: #4B5563;
    margin-bottom: 1.2rem;
    padding: 0.75rem 0.9rem;
}

.admin-account-status-v2 {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.admin-status-switch-v2 {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 0.55rem;
}

.admin-status-switch-v2 input {
    height: 1px;
    opacity: 0;
    position: absolute;
    width: 1px;
}

.admin-status-switch-v2__track {
    background: #9CA3AF;
    border-radius: 999px;
    display: block;
    height: 1.5rem;
    padding: 0.18rem;
    width: 2.8rem;
}

.admin-status-switch-v2__thumb {
    background: #FFFFFF;
    border-radius: 50%;
    display: block;
    height: 1.14rem;
    transform: translateX(0);
    transition: transform 160ms ease;
    width: 1.14rem;
}

.admin-status-switch-v2 input:checked
    + .admin-status-switch-v2__track {
    background: #1E3A8A;
}

.admin-status-switch-v2 input:checked
    + .admin-status-switch-v2__track
    .admin-status-switch-v2__thumb {
    transform: translateX(1.3rem);
}

.admin-status-switch-v2 input:disabled
    + .admin-status-switch-v2__track {
    background: #D1D5DB;
}

.admin-security-actions-v2 {
    border-top: 1px solid #E5E7EB;
    margin-top: 1.5rem;
    padding-top: 1.2rem;
}

.admin-security-actions-v2 h3 {
    color: #1F2937;
    font-size: 1rem;
    margin: 0 0 0.8rem;
}

.admin-security-actions-v2__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
}

.admin-role-row-v2 {
    align-items: center;
    border-bottom: 1px solid #E5E7EB;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 0.9rem 1rem;
}

.admin-role-row-v2:last-child {
    border-bottom: 0;
}

.admin-role-row-v2 > div {
    display: grid;
    gap: 0.2rem;
}

.admin-role-row-v2 strong {
    color: #1F2937;
}

.admin-role-row-v2 span {
    color: #6B7280;
    font-size: 0.82rem;
}

.admin-role-editor-v2 {
    background: #F9FAFB;
    border: 1px solid #D1D5DB;
    border-radius: 10px;
    margin-top: 1rem;
    padding: 1rem;
}

.admin-role-editor-v2[hidden] {
    display: none;
}

.admin-role-editor-v2__header {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.admin-role-editor-v2__header h3 {
    color: #1F2937;
    margin: 0;
}

.admin-role-editor-v2__header p {
    color: #6B7280;
    margin: 0.3rem 0 0;
}

.admin-role-editor-v2__actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 1rem;
}

.admin-permission-editor-v2 {
    border: 1px solid #E5E7EB;
    border-radius: 9px;
    overflow: hidden;
}

.admin-permission-row-v2 {
    align-items: center;
    background: #FFFFFF;
    border-bottom: 1px solid #E5E7EB;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 0.85rem 1rem;
}

.admin-permission-row-v2:last-child {
    border-bottom: 0;
}

.admin-permission-row-v2__identity {
    display: grid;
    gap: 0.2rem;
}

.admin-permission-row-v2__identity strong {
    color: #1F2937;
    font-size: 0.86rem;
}

.admin-permission-row-v2__identity code {
    color: #6B7280;
    font-size: 0.73rem;
    overflow-wrap: anywhere;
}

.admin-audit-row-v2 {
    align-items: center;
    border-bottom: 1px solid #E5E7EB;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 0.9rem 1rem;
}

.admin-audit-row-v2:last-child {
    border-bottom: 0;
}

.admin-audit-row-v2 > div {
    display: grid;
    gap: 0.2rem;
}

.admin-audit-row-v2 > div:last-child {
    text-align: right;
}

.admin-audit-row-v2 strong {
    color: #1F2937;
    font-size: 0.84rem;
}

.admin-audit-row-v2 span,
.admin-audit-row-v2 time {
    color: #6B7280;
    font-size: 0.75rem;
}

.admin-empty-state-v2 {
    color: #6B7280;
    padding: 1rem;
}

@media (max-width: 800px) {
    .admin-workspace-v2__shell {
        padding: 0.75rem;
    }

    .admin-workspace-v2__header,
    .admin-workspace-v2__section-header {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-user-row-v2 {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .admin-user-row-v2__actions {
        justify-content: space-between;
    }

    .admin-form-v2__grid,
    .admin-role-selector-v2__options {
        grid-template-columns: 1fr;
    }

    .admin-form-v2__field--wide {
        grid-column: auto;
    }

    .admin-form-v2__field--spacer {
        display: none;
    }

    .admin-form-v2__footer {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-form-v2__actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .admin-role-row-v2,
    .admin-permission-row-v2,
    .admin-audit-row-v2 {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-audit-row-v2 > div:last-child {
        text-align: left;
    }
}


/* ==========================================================
   C&A TMS - CODIGO PROPIO
   User Administration 0.6.1
   ========================================================== */

#admin-workspace-users
.admin-workspace-v2__section-header {
    align-items: center;
}

#admin-workspace-create-user {
    align-self: center;
    flex: 0 0 auto;
    min-width: 140px;
    width: auto !important;
}

.admin-workspace-v2__content {
    min-height: 0;
}

.admin-user-list-v2 {
    border: 0;
    border-radius: 0;
    overflow: visible;
}

.admin-users-table-v3 {
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    overflow: hidden;
}

.admin-users-table-v3__header,
.admin-users-table-v3__row {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns:
        minmax(180px, 1.05fr)
        minmax(240px, 1.4fr)
        minmax(170px, 1fr)
        90px
        80px;
}

.admin-users-table-v3__header {
    background: #F9FAFB;
    border-bottom: 1px solid #D1D5DB;
    color: #4B5563;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    padding: 0.75rem 1rem;
    text-transform: uppercase;
}

.admin-users-table-v3__row {
    background: #FFFFFF;
    border-bottom: 1px solid #E5E7EB;
    min-height: 70px;
    padding: 0.85rem 1rem;
}

.admin-users-table-v3__row:last-child {
    border-bottom: 0;
}

.admin-users-table-v3__row:hover {
    background: #F9FAFB;
}

.admin-users-table-v3__cell {
    min-width: 0;
}

.admin-users-table-v3__identity {
    display: grid;
    gap: 0.2rem;
}

.admin-users-table-v3__identity strong {
    color: #1F2937;
    font-size: 0.9rem;
}

.admin-users-table-v3__identity span {
    color: #6B7280;
    font-size: 0.74rem;
}

.admin-users-table-v3__email {
    color: #374151;
    font-size: 0.82rem;
    overflow-wrap: anywhere;
}

.admin-users-table-v3__roles {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.admin-role-chip-v3 {
    background: #EEF2FF;
    border: 1px solid #C7D2FE;
    border-radius: 999px;
    color: #3730A3;
    display: inline-flex;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.24rem 0.5rem;
}

.admin-role-chip-v3--empty {
    background: #F3F4F6;
    border-color: #E5E7EB;
    color: #6B7280;
}

.admin-users-table-v3__actions {
    display: flex;
    justify-content: flex-end;
}

.admin-users-table-v3__actions .button {
    min-width: 68px;
    width: auto !important;
}

.admin-empty-state-v3 {
    background: #F9FAFB;
    border: 1px dashed #D1D5DB;
    border-radius: 10px;
    color: #6B7280;
    padding: 1.25rem;
    text-align: center;
}

@media (max-width: 900px) {
    .admin-users-table-v3__header {
        display: none;
    }

    .admin-users-table-v3__row {
        align-items: stretch;
        grid-template-columns: 1fr;
        padding: 1rem;
    }

    .admin-users-table-v3__cell {
        display: grid;
        gap: 0.3rem;
        grid-template-columns:
            90px
            minmax(0, 1fr);
    }

    .admin-users-table-v3__cell::before {
        color: #6B7280;
        content: attr(data-label);
        font-size: 0.68rem;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .admin-users-table-v3__identity strong,
    .admin-users-table-v3__identity span {
        grid-column: 2;
    }

    .admin-users-table-v3__actions {
        justify-content: stretch;
    }

    .admin-users-table-v3__actions .button {
        justify-self: start;
    }
}

@media (max-width: 640px) {
    #admin-workspace-create-user {
        align-self: stretch;
        width: 100% !important;
    }
}


/* ==========================================================
   C&A TMS - CODIGO PROPIO
   User Administration 0.6.0
   ========================================================== */

#admin-workspace-create-user {
    flex: 0 0 auto;
    min-width: 140px;
    width: auto !important;
}

.admin-user-role-save-v3 {
    align-items: center;
    border-top: 1px solid #E5E7EB;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-top: 1rem;
    padding-top: 1rem;
}

.admin-user-role-save-v3 p {
    margin: 0;
}

.admin-user-role-save-v3 button {
    flex: 0 0 auto;
}

.admin-security-actions-v3__help {
    color: #6B7280;
    font-size: 0.8rem;
    margin: -0.35rem 0 0.9rem;
}

.admin-user-list-v2 {
    border: 0;
    border-radius: 0;
    overflow: visible;
}

.admin-users-table-v4 {
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    overflow: hidden;
}

.admin-users-table-v4__header,
.admin-users-table-v4__row {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns:
        minmax(180px, 1.1fr)
        minmax(240px, 1.5fr)
        minmax(180px, 1fr)
        90px
        80px;
}

.admin-users-table-v4__header {
    background: #F9FAFB;
    border-bottom: 1px solid #D1D5DB;
    color: #4B5563;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    padding: 0.75rem 1rem;
    text-transform: uppercase;
}

.admin-users-table-v4__row {
    background: #FFFFFF;
    border-bottom: 1px solid #E5E7EB;
    min-height: 70px;
    padding: 0.85rem 1rem;
}

.admin-users-table-v4__row:last-child {
    border-bottom: 0;
}

.admin-users-table-v4__row:hover {
    background: #F9FAFB;
}

.admin-users-table-v4__cell {
    min-width: 0;
}

.admin-users-table-v4__identity {
    display: grid;
    gap: 0.2rem;
}

.admin-users-table-v4__identity strong {
    color: #1F2937;
    font-size: 0.9rem;
}

.admin-users-table-v4__identity span,
.admin-users-table-v4__email {
    color: #6B7280;
    font-size: 0.76rem;
    overflow-wrap: anywhere;
}

.admin-users-table-v4__roles {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.admin-role-chip-v4 {
    background: #EEF2FF;
    border: 1px solid #C7D2FE;
    border-radius: 999px;
    color: #3730A3;
    display: inline-flex;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.24rem 0.5rem;
}

.admin-role-chip-v4--empty {
    background: #F3F4F6;
    border-color: #E5E7EB;
    color: #6B7280;
}

.admin-users-table-v4__actions {
    display: flex;
    justify-content: flex-end;
}

.admin-users-table-v4__actions .button {
    min-width: 68px;
    width: auto !important;
}

.admin-empty-state-v4 {
    background: #F9FAFB;
    border: 1px dashed #D1D5DB;
    border-radius: 10px;
    color: #6B7280;
    padding: 1.25rem;
    text-align: center;
}

@media (max-width: 900px) {
    .admin-users-table-v4__header {
        display: none;
    }

    .admin-users-table-v4__row {
        align-items: stretch;
        grid-template-columns: 1fr;
        padding: 1rem;
    }

    .admin-users-table-v4__cell {
        display: grid;
        gap: 0.3rem;
        grid-template-columns:
            90px
            minmax(0, 1fr);
    }

    .admin-users-table-v4__cell::before {
        color: #6B7280;
        content: attr(data-label);
        font-size: 0.68rem;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .admin-users-table-v4__identity strong,
    .admin-users-table-v4__identity span {
        grid-column: 2;
    }

    .admin-users-table-v4__actions {
        justify-content: stretch;
    }

    .admin-users-table-v4__actions .button {
        justify-self: start;
    }

    .admin-user-role-save-v3 {
        align-items: stretch;
        flex-direction: column;
    }
}


/* ==========================================================
   C&A TMS - CODIGO PROPIO
   User Administration 0.7.0
   ========================================================== */

#admin-edit-email:disabled {
    background: #F3F4F6;
    border-color: #D1D5DB;
    color: #4B5563;
    cursor: not-allowed;
}

#admin-edit-role-options {
    grid-template-columns: 1fr;
}

.admin-role-assignment-v5 {
    align-items: center;
    border: 1px solid #D1D5DB;
    border-radius: 10px;
    display: grid;
    gap: 0.8rem;
    grid-template-columns:
        minmax(0, 1fr)
        auto;
    padding: 0.65rem;
}

.admin-role-assignment-v5
.admin-role-choice-v2 {
    border: 0;
    margin: 0;
    padding: 0.25rem;
}

.admin-role-assignment-v5
.admin-role-choice-v2:has(
    input:checked
) {
    background: transparent;
}

.admin-role-assignment-v5
button {
    min-width: 150px;
    width: auto !important;
}

.admin-role-assignment-v5
button:disabled {
    background: #E5E7EB;
    border-color: #D1D5DB;
    color: #9CA3AF;
    cursor: not-allowed;
    opacity: 1;
}

@media (max-width: 700px) {
    .admin-role-assignment-v5 {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .admin-role-assignment-v5
    button {
        width: 100% !important;
    }
}


/* ==========================================================
   C&A TMS - CODIGO PROPIO
   User Administration 0.7.1
   Permission editor opened from a user
   ========================================================== */

.admin-workspace-v2.is-user-permission-mode
.admin-workspace-v2__nav {
    display: none;
}

#admin-workspace-edit.is-managing-role-permissions
> .admin-workspace-v2__section-header {
    display: none;
}

#admin-workspace-edit.is-managing-role-permissions
> .admin-form-v2 {
    display: none;
}

#admin-workspace-edit.is-managing-role-permissions
> .admin-role-editor-v2 {
    display: block;
    margin: 0 auto;
    max-width: 960px;
    width: 100%;
}

#admin-workspace-edit.is-managing-role-permissions
.admin-role-editor-v2__header {
    border-bottom: 1px solid #E5E7EB;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
}

#admin-workspace-edit.is-managing-role-permissions
.admin-fixed-policy-note {
    background: #F3F4F6;
    border-left: 3px solid #1E3A8A;
    color: #374151;
}

#admin-workspace-edit.is-managing-role-permissions
.admin-role-editor-v2__actions {
    border-top: 1px solid #E5E7EB;
    margin-top: 1rem;
    padding-top: 1rem;
}

#admin-workspace-edit.is-managing-role-permissions
#admin-workspace-role-save {
    flex: 0 0 auto;
    min-width: 190px;
    width: auto !important;
}


/* ==========================================================
   C&A TMS - CODIGO PROPIO
   User Administration 0.7.2
   Permission help tooltips
   ========================================================== */

.admin-permission-help-note-v6 {
    color: #6B7280;
    font-size: 0.78rem;
    margin: -0.35rem 0 0.9rem;
}

.admin-permission-help-note-v6 strong {
    color: #1E3A8A;
}

.admin-permission-editor-v2 {
    overflow: visible;
}

.admin-permission-row-v2 {
    position: relative;
}

.admin-permission-row-v2__heading {
    align-items: center;
    display: flex;
    gap: 0.45rem;
}

.admin-permission-help-v6 {
    align-items: center;
    background: #EFF6FF;
    border: 1px solid #BFDBFE;
    border-radius: 999px;
    color: #1E3A8A;
    cursor: help;
    display: inline-flex;
    flex: 0 0 auto;
    height: 1.25rem;
    justify-content: center;
    margin: 0;
    padding: 0;
    position: relative;
    width: 1.25rem;
}

.admin-permission-help-v6:hover,
.admin-permission-help-v6:focus,
.admin-permission-help-v6:focus-visible {
    background: #DBEAFE;
    border-color: #1E3A8A;
    outline: none;
}

.admin-permission-help-v6:focus-visible {
    box-shadow:
        0 0 0 3px rgba(
            30,
            58,
            138,
            0.18
        );
}

.admin-permission-help-v6__icon {
    font-size: 0.74rem;
    font-weight: 800;
    line-height: 1;
}

.admin-permission-help-v6__tooltip {
    background: #1F2937;
    border-radius: 8px;
    bottom: calc(100% + 0.6rem);
    box-shadow:
        0 10px 28px rgba(
            17,
            24,
            39,
            0.22
        );
    color: #FFFFFF;
    font-size: 0.76rem;
    font-weight: 400;
    left: 50%;
    line-height: 1.45;
    max-width: min(
        330px,
        75vw
    );
    min-width: 260px;
    opacity: 0;
    padding: 0.75rem 0.85rem;
    pointer-events: none;
    position: absolute;
    text-align: left;
    transform:
        translate(
            -50%,
            0.3rem
        );
    transition:
        opacity 130ms ease,
        transform 130ms ease;
    visibility: hidden;
    white-space: normal;
    z-index: 100;
}

.admin-permission-help-v6__tooltip::after {
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #1F2937;
    content: "";
    left: 50%;
    position: absolute;
    top: 100%;
    transform: translateX(-50%);
}

.admin-permission-help-v6:hover
.admin-permission-help-v6__tooltip,
.admin-permission-help-v6:focus
.admin-permission-help-v6__tooltip,
.admin-permission-help-v6:focus-visible
.admin-permission-help-v6__tooltip {
    opacity: 1;
    transform:
        translate(
            -50%,
            0
        );
    visibility: visible;
}

@media (max-width: 700px) {
    .admin-permission-help-v6__tooltip {
        left: 0;
        min-width: min(
            280px,
            75vw
        );
        transform:
            translate(
                0,
                0.3rem
            );
    }

    .admin-permission-help-v6__tooltip::after {
        left: 0.7rem;
        transform: none;
    }

    .admin-permission-help-v6:hover
    .admin-permission-help-v6__tooltip,
    .admin-permission-help-v6:focus
    .admin-permission-help-v6__tooltip,
    .admin-permission-help-v6:focus-visible
    .admin-permission-help-v6__tooltip {
        transform:
            translate(
                0,
                0
            );
    }
}


/* ==========================================================
   C&A TMS - CODIGO PROPIO
   Password Entry Assistance 0.8.0
   ========================================================== */

.password-entry-v8 {
    position: relative;
}

.password-entry-v8 input {
    padding-right: 3.1rem;
    width: 100%;
}

.password-visibility-v8 {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 7px;
    color: #4B5563;
    cursor: pointer;
    display: inline-flex;
    height: 2.4rem;
    justify-content: center;
    margin: 0;
    padding: 0;
    position: absolute;
    right: 0.4rem;
    top: 50%;
    transform: translateY(-50%);
    width: 2.4rem;
}

.password-visibility-v8:hover,
.password-visibility-v8:focus-visible {
    background: #EFF6FF;
    color: #1E3A8A;
    outline: none;
}

.password-visibility-v8:focus-visible {
    box-shadow:
        0 0 0 3px
        rgba(30, 58, 138, 0.18);
}

.password-visibility-v8 svg {
    fill: none;
    height: 1.25rem;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 1.25rem;
}

.password-visibility-v8.is-visible {
    color: #1E3A8A;
}

.password-policy-v8 {
    background: #F9FAFB;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    margin-top: 0.6rem;
    padding: 0.75rem 0.85rem;
}

.password-policy-v8 > strong {
    color: #374151;
    display: block;
    font-size: 0.78rem;
    margin-bottom: 0.45rem;
}

.password-policy-v8 ul {
    display: grid;
    gap: 0.3rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.password-policy-v8 li {
    align-items: flex-start;
    color: #6B7280;
    display: grid;
    font-size: 0.76rem;
    gap: 0.45rem;
    grid-template-columns: 1rem 1fr;
    line-height: 1.35;
}

.password-policy-v8 li > span:first-child {
    color: #9CA3AF;
    font-weight: 800;
    text-align: center;
}

.password-policy-v8 li.is-met {
    color: #166534;
}

.password-policy-v8 li.is-met
> span:first-child {
    color: #22C55E;
}

.password-match-v8,
.password-caps-v8 {
    font-size: 0.76rem;
    line-height: 1.35;
    margin: 0.45rem 0 0;
}

.password-match-v8 {
    color: #6B7280;
}

.password-match-v8.is-match {
    color: #166534;
    font-weight: 700;
}

.password-match-v8.is-mismatch {
    color: #B91C1C;
    font-weight: 700;
}

.password-caps-v8 {
    background: #FFFBEB;
    border: 1px solid #FCD34D;
    border-radius: 7px;
    color: #92400E;
    padding: 0.45rem 0.6rem;
}

#update-password-button:disabled {
    background: #D1D5DB;
    border-color: #D1D5DB;
    color: #6B7280;
    cursor: not-allowed;
    opacity: 1;
}

/* ==========================================================
   C&A TMS - CODIGO PROPIO
   Global Session Warning
   ========================================================== */

body.session-warning-open {
    overflow: hidden;
}

.session-warning[hidden] {
    display: none !important;
}

.session-warning {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 24px;
    position: fixed;
    z-index: 1000;
}

.session-warning__backdrop {
    background: rgba(15, 23, 42, 0.45);
    inset: 0;
    position: absolute;
}

.session-warning__dialog {
    align-items: center;
    background: var(--white-surface);
    border: 1px solid var(--neutral-border);
    border-radius: 12px;
    box-shadow: var(--shadow);
    display: flex;
    flex-direction: column;
    max-width: 520px;
    padding: 30px;
    position: relative;
    text-align: center;
    width: 100%;
}

.session-warning__dialog > p {
    color: var(--main-text);
    font-size: 16px;
    line-height: 1.55;
    margin: 20px 0 0;
}

.session-warning__countdown {
    color: var(--warning-text) !important;
    font-size: 30px !important;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.session-warning__actions {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    margin-top: 26px;
    width: 100%;
}

.session-warning__actions .button {
    min-width: 150px;
}

@media (max-width: 700px) {
    .session-warning {
        padding: 18px;
    }

    .session-warning__dialog {
        padding: 26px 20px;
    }

    .session-warning__actions {
        flex-direction: column;
    }

    .session-warning__actions .button {
        width: 100%;
    }
}




/* C&A TMS - USER PROFILES STAGE 1 FRONTEND */
.admin-form-v2.admin-extended-form-v1 {
    max-width: 1180px;
    width: 100%;
}

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

.admin-extended-section-v1 {
    background: #FFFFFF;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    min-width: 0;
    padding: 1rem;
}

.admin-extended-section-v1--full {
    grid-column: 1 / -1;
}

.admin-extended-section-v1[hidden] {
    display: none !important;
}

.admin-extended-section-v1__header {
    border-bottom: 1px solid #E5E7EB;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
}

.admin-extended-section-v1__header h3 {
    color: #1F2937;
    font-size: 1rem;
    margin: 0;
}

.admin-extended-section-v1__header p {
    color: #6B7280;
    font-size: 0.78rem;
    margin: 0.25rem 0 0;
}

.admin-extended-section-v1__grid {
    display: grid;
    gap: 0.9rem;
}

.admin-extended-section-v1__grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-extended-section-v1__grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-form-v2__field select {
    appearance: none;
    background-color: #FFFFFF;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    color: #1F2937;
    font: inherit;
    min-height: 44px;
    padding: 0.7rem 2.2rem 0.7rem 0.8rem;
}

.admin-form-v2__field select:disabled,
.admin-extended-section-v1 input:disabled {
    background-color: #F3F4F6;
    color: #6B7280;
    cursor: not-allowed;
}

.admin-appearance-choice-v1,
.admin-delivery-channels-v1,
.admin-delivery-routing-v1,
.admin-delivery-categories-v1,
.admin-delivery-dnd-v1 {
    border: 0;
    margin: 0;
    padding: 0;
}

.admin-appearance-choice-v1 {
    margin-bottom: 1rem;
}

.admin-appearance-choice-v1 legend,
.admin-delivery-channels-v1 legend,
.admin-delivery-routing-v1 legend,
.admin-delivery-categories-v1 legend,
.admin-delivery-dnd-v1 legend {
    color: #374151;
    font-size: 0.84rem;
    font-weight: 700;
    margin-bottom: 0.7rem;
}

.admin-appearance-choice-v1 > div {
    display: grid;
    gap: 0.7rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-appearance-choice-v1 label {
    align-items: center;
    border: 1px solid #D1D5DB;
    border-radius: 9px;
    cursor: pointer;
    display: flex;
    gap: 0.65rem;
    min-height: 44px;
    padding: 0.7rem 0.8rem;
}

.admin-appearance-choice-v1 label:has(input:checked) {
    background: #EFF6FF;
    border-color: #1E3A8A;
}

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

.admin-delivery-channels-v1,
.admin-delivery-routing-v1,
.admin-delivery-categories-v1,
.admin-delivery-dnd-v1 {
    background: #F9FAFB;
    border: 1px solid #E5E7EB;
    border-radius: 9px;
    min-width: 0;
    padding: 0.9rem;
}

.admin-delivery-categories-v1 {
    grid-column: 1 / -1;
}

.admin-option-grid-v1 {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 0.9rem;
}

.admin-option-grid-v1--categories {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 0;
}

.admin-option-row-v1 {
    align-items: center;
    color: #374151;
    display: flex;
    font-size: 0.82rem;
    gap: 0.55rem;
    min-height: 34px;
}

.admin-option-row-v1 input {
    accent-color: #1E3A8A;
    flex: 0 0 auto;
}

.admin-delivery-routing-v1 > .admin-option-row-v1,
.admin-delivery-dnd-v1 > .admin-option-row-v1 {
    margin-top: 0.75rem;
}

@media (max-width: 900px) {
    .admin-extended-form-v1__layout,
    .admin-delivery-layout-v1 {
        grid-template-columns: 1fr;
    }

    .admin-extended-section-v1--full,
    .admin-delivery-categories-v1 {
        grid-column: auto;
    }

    .admin-option-grid-v1--categories {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .admin-extended-section-v1 {
        padding: 0.8rem;
    }

    .admin-extended-section-v1__grid--two,
    .admin-extended-section-v1__grid--three,
    .admin-appearance-choice-v1 > div,
    .admin-option-grid-v1,
    .admin-option-grid-v1--categories {
        grid-template-columns: 1fr;
    }

    .admin-form-v2__actions {
        grid-template-columns: 1fr;
    }
}


/* ============================================================
   C&A TMS - CODIGO PROPIO
   ACCESS & USER ADMINISTRATION VISUAL V2

   Official visual implementation for pages 2-10 of the approved
   Access & User Administration reference. Presentation only.
   ============================================================ */

:root {
    --security-sidebar: #082B63;
    --security-sidebar-deep: #06244F;
    --security-blue: #1E3A8A;
    --security-blue-bright: #0B63CE;
    --security-page: #F3F4F6;
    --security-surface: #FFFFFF;
    --security-border: #DCE3EC;
    --security-border-soft: #E8EDF3;
    --security-text: #1F2937;
    --security-muted: #64748B;
    --security-shadow: 0 6px 24px rgba(15, 23, 42, 0.07);
}

/* Authentication screens */
.main-content {
    padding: 32px;
}

.auth-shell {
    width: min(920px, calc(100vw - 48px));
    height: min(590px, calc(100dvh - 76px));
    min-height: 540px;
    grid-template-columns: 46% 54%;
    border-radius: 12px;
    border-color: #E3E8EF;
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.12);
}

.visual-panel__photo {
    object-position: 48% center;
}

.visual-panel__shade {
    background: linear-gradient(180deg, rgba(15,23,42,0.03) 0%, rgba(15,23,42,0.02) 48%, rgba(3,18,37,0.82) 100%);
}

.visual-panel__logo-wrap {
    top: 30px;
    width: min(150px, calc(100% - 80px));
}

.visual-panel__notice {
    position: absolute;
    left: 34px;
    right: 34px;
    bottom: 34px;
    z-index: 2;
    color: #FFFFFF;
}

.visual-panel__notice-accent {
    display: block;
    width: 36px;
    height: 3px;
    margin-bottom: 12px;
    background: var(--brand-red);
    border-radius: 999px;
}

.visual-panel__notice p {
    margin: 0;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.45;
}

.auth-panel {
    padding: 48px 46px;
}

.auth-screen {
    max-width: 360px;
}

.auth-screen__heading {
    margin-bottom: 26px;
}

.auth-screen__heading h2,
.result-state h2 {
    font-size: clamp(28px, 3vw, 34px);
    line-height: 1.12;
    letter-spacing: -0.025em;
    font-weight: 760;
}

.auth-screen__heading p,
.result-state p {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.55;
}

#sign-in-form,
#forgot-password-form {
    gap: 18px;
}

.field {
    gap: 7px;
}

.field label {
    font-size: 13px;
}

.field input {
    height: 46px;
    padding: 0 14px;
    border-width: 1px;
    border-radius: 6px;
    font-size: 14px;
}

.password-toggle {
    width: 38px;
    height: 38px;
}

.password-toggle__icon {
    width: 19px;
    height: 19px;
}

.form-actions {
    gap: 16px;
    margin-top: 0;
}

.text-link {
    font-size: 13px;
}

.button {
    min-height: 44px;
    border-radius: 6px;
    font-size: 14px;
}

.auth-information-note {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    margin-top: 22px;
    padding: 12px 14px;
    color: #526176;
    background: #F8FBFF;
    border: 1px solid #D7E5F6;
    border-radius: 7px;
    font-size: 11px;
    line-height: 1.45;
}

.auth-information-note svg {
    width: 22px;
    height: 22px;
    color: #1D7AE2;
}

.auth-information-note p {
    margin: 0;
}

.auth-screen--verification .field label {
    margin-bottom: 2px;
}

.verification-code-input-v9 {
    height: 58px !important;
    padding: 0 12px !important;
    text-align: center;
    font-size: 25px !important;
    font-weight: 750;
    letter-spacing: 1.25em;
    text-indent: 1.25em;
    font-variant-numeric: tabular-nums;
    border: 0 !important;
    border-radius: 0 !important;
    background:
        linear-gradient(#CBD5E1,#CBD5E1) 0 100%/14.8% 1px no-repeat,
        linear-gradient(#CBD5E1,#CBD5E1) 20% 100%/14.8% 1px no-repeat,
        linear-gradient(#CBD5E1,#CBD5E1) 40% 100%/14.8% 1px no-repeat,
        linear-gradient(#CBD5E1,#CBD5E1) 60% 100%/14.8% 1px no-repeat,
        linear-gradient(#CBD5E1,#CBD5E1) 80% 100%/14.8% 1px no-repeat,
        linear-gradient(#CBD5E1,#CBD5E1) 100% 100%/14.8% 1px no-repeat;
    box-shadow: none !important;
}

.auth-screen--reset-password {
    max-width: 390px;
}

.auth-screen--reset-password .password-policy-v8 {
    padding: 10px 12px;
    font-size: 11px;
}

.auth-screen--reset-password .password-policy-v8 ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 12px;
}

/* Session Expired visual modal */
body.session-expired-active .main-content {
    padding: 0;
}

body.session-expired-active #auth-shell {
    position: fixed;
    inset: 0;
    z-index: 9000;
    width: 100%;
    height: 100%;
    min-height: 0;
    display: block;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: #E9EDF2;
}

body.session-expired-active #auth-shell > .visual-panel,
body.session-expired-active #auth-shell > .auth-panel > .mobile-logo {
    display: none !important;
}

body.session-expired-active #auth-shell > .auth-panel {
    display: block;
    padding: 0;
    background: transparent;
}

body.session-expired-active .auth-screen--session-expired {
    position: fixed;
    inset: 0;
    display: grid;
    place-items: center;
    width: 100%;
    max-width: none;
    padding: 24px;
}

.session-expired-stage-v9 {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    background: #F3F4F6;
    filter: saturate(0.8);
}

.session-expired-stage-v9::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.56);
}

.session-expired-stage-v9__sidebar {
    padding: 18px 14px;
    color: rgba(255,255,255,.72);
    background: #082B63;
}

.session-expired-stage-v9__brand {
    height: 76px;
    display: grid;
    place-items: center;
    margin: -18px -14px 14px;
    background: #FFFFFF;
}

.session-expired-stage-v9__brand img {
    width: 96px;
    height: 62px;
    object-fit: contain;
}

.session-expired-stage-v9__nav-item {
    display: flex;
    gap: 10px;
    align-items: center;
    height: 36px;
    padding: 0 10px;
    font-size: 12px;
}

.session-expired-stage-v9__nav-icon {
    width: 13px;
    height: 13px;
    border: 1px solid currentColor;
    border-radius: 3px;
}

.session-expired-stage-v9__body {
    min-width: 0;
}

.session-expired-stage-v9__topbar {
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 28px;
    background: #FFFFFF;
    border-bottom: 1px solid #E5E7EB;
}

.session-expired-stage-v9__topbar div:first-child {
    display: grid;
    gap: 4px;
}

.session-expired-stage-v9__topbar span {
    color: #1E3A8A;
    font-size: 10px;
    font-weight: 700;
}

.session-expired-stage-v9__topbar strong {
    font-size: 20px;
}

.session-expired-stage-v9__user {
    width: 110px;
    height: 28px;
    border-radius: 999px;
    background: #E5E7EB;
}

.session-expired-stage-v9__tabs {
    display: flex;
    gap: 28px;
    height: 54px;
    align-items: end;
    padding: 0 28px 13px;
    background: #FFFFFF;
    border-bottom: 1px solid #E5E7EB;
    font-size: 11px;
}

.session-expired-stage-v9__content {
    margin: 22px 28px;
    padding: 20px;
    background: #FFFFFF;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
}

.session-expired-stage-v9__toolbar {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-bottom: 18px;
}

.session-expired-stage-v9__placeholder {
    height: 34px;
    display: block;
    background: #E9EDF2;
    border-radius: 5px;
}
.session-expired-stage-v9__placeholder--wide { width: 220px; }
.session-expired-stage-v9__placeholder--medium { width: 130px; }
.session-expired-stage-v9__placeholder--button { width: 100px; background: #B7C8E2; }

.session-expired-stage-v9__table {
    border: 1px solid #E5E7EB;
    border-radius: 6px;
    overflow: hidden;
}

.session-expired-stage-v9__row {
    display: grid;
    grid-template-columns: 1.2fr 1.5fr 1fr 1fr .6fr;
    gap: 14px;
    padding: 12px;
    border-bottom: 1px solid #E5E7EB;
}

.session-expired-stage-v9__row span {
    height: 8px;
    border-radius: 999px;
    background: #E6EAF0;
}

.session-expired-modal-v9 {
    position: relative;
    z-index: 2;
    width: min(360px, calc(100vw - 36px));
    padding: 30px 28px 24px;
    background: #FFFFFF;
    border: 1px solid #DDE3EA;
    border-radius: 9px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .28);
    text-align: center;
}

.session-expired-modal-v9__icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    margin: 0 auto 16px;
    color: #1769D2;
    background: #EAF3FF;
    border-radius: 50%;
}

.session-expired-modal-v9__icon svg {
    width: 29px;
    height: 29px;
}

.session-expired-modal-v9 h2 {
    font-size: 24px;
}

.session-expired-modal-v9 p {
    margin: 10px 0 20px;
    font-size: 13px;
}

.session-expired-modal-v9 .button {
    width: 100%;
    margin: 0;
}

.session-expired-modal-v9 small {
    display: block;
    margin-top: 16px;
    color: #7A8698;
    font-size: 10px;
}

/* Shared authenticated security shell */
body.admin-workspace-open {
    overflow: hidden;
}

.admin-workspace-v2.security-shell-v9 {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    grid-template-columns: 224px minmax(0, 1fr);
    overflow: hidden;
    background: var(--security-page);
}

.security-shell-v9__sidebar {
    position: relative;
    z-index: 3;
    min-width: 0;
    display: flex;
    flex-direction: column;
    color: #FFFFFF;
    background: linear-gradient(180deg, var(--security-sidebar) 0%, var(--security-sidebar-deep) 100%);
    box-shadow: 3px 0 14px rgba(5, 25, 58, .12);
}

.security-shell-v9__brand {
    height: 86px;
    display: grid;
    place-items: center;
    padding: 9px 18px;
    background: #FFFFFF;
    border-right: 1px solid #E5E7EB;
}

.security-shell-v9__brand img {
    width: 120px;
    height: 68px;
    object-fit: contain;
}

.security-shell-v9__global-nav {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 18px 12px;
}

.security-shell-v9__nav-label {
    margin: 18px 10px 6px;
    color: rgba(255,255,255,.48);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.security-shell-v9__nav-item {
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 0 12px;
    color: rgba(255,255,255,.78);
    background: transparent;
    border: 0;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    text-align: left;
}

.security-shell-v9__nav-item svg {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
}

button.security-shell-v9__nav-item:hover {
    color: #FFFFFF;
    background: rgba(255,255,255,.08);
}

.security-shell-v9__nav-item--active {
    color: #FFFFFF;
    background: #0B5EBB;
    box-shadow: inset 3px 0 0 #7DB6FF;
}

.security-shell-v9__sidebar-footer {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    padding: 16px 22px 18px;
    color: rgba(255,255,255,.58);
    border-top: 1px solid rgba(255,255,255,.12);
    font-size: 11px;
}

.security-shell-v9__status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22C55E;
    box-shadow: 0 0 0 3px rgba(34,197,94,.16);
}

.security-shell-v9__main {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: 86px minmax(0, 1fr) 38px;
}

.security-shell-v9__topbar {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 0 26px;
    background: #FFFFFF;
    border-bottom: 1px solid #E1E6ED;
}

.security-shell-v9__menu-toggle {
    display: none;
    width: 38px;
    height: 38px;
    place-items: center;
    padding: 0;
    color: #334155;
    background: #FFFFFF;
    border: 1px solid #D8E0EA;
    border-radius: 6px;
}

.security-shell-v9__menu-toggle svg {
    width: 20px;
    height: 20px;
}

.security-shell-v9__title {
    min-width: 0;
}

.security-shell-v9__title p {
    margin: 0 0 4px;
    color: var(--security-blue-bright);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .03em;
}

.security-shell-v9__title h1 {
    margin: 0;
    color: #182235;
    font-size: 21px;
    line-height: 1.15;
    letter-spacing: -.015em;
}

.security-shell-v9__user {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

.security-shell-v9__avatar {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    color: #FFFFFF;
    background: #0A4C9B;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 800;
}

.security-shell-v9__user-text {
    display: grid;
    gap: 2px;
}

.security-shell-v9__user-text strong {
    color: #263247;
    font-size: 12px;
}

.security-shell-v9__user-text small {
    color: #718096;
    font-size: 10px;
}

.security-shell-v9__body {
    min-width: 0;
    min-height: 0;
    overflow: auto;
    padding: 0 20px 20px;
}

.security-tabs-v9.admin-workspace-v2__nav {
    position: sticky;
    top: 0;
    z-index: 5;
    height: 54px;
    display: flex;
    align-items: end;
    gap: 24px;
    margin: 0;
    padding: 0 8px;
    overflow-x: auto;
    background: #FFFFFF;
    border: 0;
    border-bottom: 1px solid #E1E6ED;
    border-radius: 0;
}

.security-tabs-v9 .admin-workspace-v2__nav-button {
    min-height: 54px;
    padding: 0 4px 12px;
    color: #5B6678;
    background: transparent;
    border-radius: 0;
    border-bottom: 2px solid transparent;
    font-size: 12px;
    white-space: nowrap;
}

.security-tabs-v9 .admin-workspace-v2__nav-button:hover {
    color: var(--security-blue-bright);
    background: transparent;
}

.security-tabs-v9 .admin-workspace-v2__nav-button.is-active {
    color: #075EBB;
    background: transparent;
    border-bottom-color: #1473E6;
}

.security-shell-v9__content.admin-workspace-v2__content {
    max-width: 1440px;
    min-height: 0;
    margin: 18px auto 0;
    padding: 18px;
    background: #FFFFFF;
    border: 1px solid #E2E7EE;
    border-radius: 8px;
    box-shadow: var(--security-shadow);
}

.admin-workspace-v2__message {
    max-width: 1440px;
    margin: 12px auto 0;
}

.admin-workspace-v2__section-header {
    min-height: 54px;
    align-items: center;
    margin-bottom: 14px;
    padding-bottom: 12px;
}

.admin-workspace-v2__section-header h2 {
    font-size: 20px;
    line-height: 1.2;
}

.admin-workspace-v2__section-header p {
    margin-top: 4px;
    font-size: 11px;
    line-height: 1.4;
}

.admin-workspace-v2__section-header .eyebrow {
    display: none;
}

.button--back-v9::before {
    content: "←";
    margin-right: 7px;
}

.security-shell-v9__footer {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    color: #7A8698;
    background: #FFFFFF;
    border-top: 1px solid #E1E6ED;
    font-size: 9px;
}

body.admin-workspace-open .connection-indicator {
    left: 242px;
    bottom: 7px;
    z-index: 10010;
    max-width: 360px;
    padding: 0;
    color: #5F6D80;
    background: transparent;
    border: 0;
    box-shadow: none;
    backdrop-filter: none;
    font-size: 9px;
}

body.admin-workspace-open .page-version {
    right: 18px;
    bottom: 12px;
    z-index: 10010;
    font-size: 9px;
}

body:has(#auth-shell:not([hidden])) > .connection-indicator,
body:has(#auth-shell:not([hidden])) .site-footer,
body:has(#auth-shell:not([hidden])) .page-version {
    display: none;
}

.security-shell-v9__backdrop {
    display: none;
}

/* Compact panels and fields */
.security-form-v9,
.admin-form-v2.admin-extended-form-v1.security-form-v9 {
    max-width: none;
    width: 100%;
}

.security-form-v9 .admin-extended-section-v1,
.security-panel-v9 {
    padding: 14px;
    border-radius: 7px;
    border-color: #DFE5ED;
}

.security-form-v9 .admin-extended-section-v1__header {
    margin-bottom: 12px;
    padding-bottom: 9px;
}

.security-form-v9 .admin-extended-section-v1__header h3 {
    font-size: 13px;
    color: #243149;
}

.security-form-v9 .admin-extended-section-v1__header p {
    margin-top: 3px;
    font-size: 10px;
}

.security-field-grid-v9 {
    gap: 10px 12px;
}

.security-field-grid-v9--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.security-field-grid-v9--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.security-form-v9 .admin-form-v2__field {
    gap: 5px;
}

.security-form-v9 .admin-form-v2__field > span,
.security-form-v9 .admin-role-selector-v2 legend,
.security-form-v9 .admin-account-status-v2 legend {
    font-size: 10px;
    color: #334155;
}

.security-form-v9 .admin-form-v2__field input,
.security-form-v9 .admin-form-v2__field select {
    min-height: 36px;
    height: 36px;
    padding: 0 10px;
    border-radius: 5px;
    font-size: 11px;
}

.security-form-v9 .admin-form-v2__field select {
    padding-right: 28px;
}

.security-form-v9 .admin-form-v2__field small,
.security-form-v9 .admin-field-message {
    min-height: 0;
    font-size: 9px;
    line-height: 1.35;
}

.security-subheading-v9 {
    margin: 14px 0 8px;
    padding-top: 10px;
    color: #40506A;
    border-top: 1px solid #E7EBF1;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.security-create-main-v9 {
    display: grid;
    grid-template-columns: minmax(0, 2.1fr) minmax(280px, 1fr);
    gap: 12px;
    margin-top: 12px;
}

.security-create-side-v9,
.security-edit-column-v9 {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 12px;
}

.security-create-delivery-v9 {
    margin-top: 12px;
}

.security-role-select-v9.admin-role-selector-v2 {
    margin: 12px 0 0;
    padding-top: 10px;
    border-top: 1px solid #E7EBF1;
}

.security-role-select-v9 .admin-role-selector-v2__options {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 7px;
}

.security-role-select-v9 .admin-role-choice-v2 {
    min-width: 0;
    min-height: 50px;
    gap: 6px;
    padding: 8px;
    border-radius: 5px;
}

.security-role-select-v9 .admin-role-choice-v2 strong {
    font-size: 10px;
}

.security-role-select-v9 .admin-role-choice-v2 small {
    display: none;
}

.security-form-v9 .admin-appearance-choice-v1 {
    margin-bottom: 10px;
}

.security-form-v9 .admin-appearance-choice-v1 legend,
.security-form-v9 .admin-delivery-channels-v1 legend,
.security-form-v9 .admin-delivery-routing-v1 legend,
.security-form-v9 .admin-delivery-categories-v1 legend,
.security-form-v9 .admin-delivery-dnd-v1 legend {
    margin-bottom: 7px;
    font-size: 10px;
}

.security-form-v9 .admin-appearance-choice-v1 label {
    min-height: 36px;
    padding: 6px 9px;
    border-radius: 5px;
    font-size: 11px;
}

.security-form-v9 .admin-delivery-layout-v1 {
    grid-template-columns: 1fr 1.15fr 1.45fr .95fr;
    gap: 10px;
}

.security-form-v9 .admin-delivery-channels-v1,
.security-form-v9 .admin-delivery-routing-v1,
.security-form-v9 .admin-delivery-categories-v1,
.security-form-v9 .admin-delivery-dnd-v1 {
    min-width: 0;
    padding: 10px;
    border-radius: 6px;
}

.security-form-v9 .admin-delivery-categories-v1 {
    grid-column: auto;
}

.security-form-v9 .admin-option-grid-v1,
.security-form-v9 .admin-option-grid-v1--categories {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 8px;
    margin-bottom: 7px;
}

.security-form-v9 .admin-option-row-v1 {
    min-height: 26px;
    gap: 6px;
    font-size: 9px;
    line-height: 1.25;
}

.security-form-v9 .admin-option-row-v1 input {
    width: 12px;
    height: 12px;
}

.security-form-v9 .admin-delivery-routing-v1 .security-field-grid-v9,
.security-form-v9 .admin-delivery-dnd-v1 .security-field-grid-v9 {
    grid-template-columns: 1fr 1fr;
}

.security-form-v9 .admin-form-v2__footer {
    position: sticky;
    bottom: -1px;
    z-index: 4;
    margin: 14px -18px -18px;
    padding: 12px 18px;
    background: rgba(255,255,255,.97);
    border-top: 1px solid #DDE4EC;
    box-shadow: 0 -8px 18px rgba(15,23,42,.04);
}

.security-form-v9 .admin-form-v2__requirements {
    font-size: 9px;
}

.security-form-v9 .admin-form-v2__actions .button {
    min-height: 38px;
    padding: 0 18px;
    font-size: 11px;
}

/* Edit User composition */
.security-edit-layout-v9 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
    gap: 12px;
}

.security-subsection-v9 {
    margin-top: 14px;
    padding-top: 10px;
    border-top: 1px solid #E7EBF1;
}

.security-subsection-v9 .admin-extended-section-v1__header {
    border: 0;
    margin-bottom: 8px;
    padding: 0;
}

.security-subsection-v9 .admin-extended-section-v1__header h3 {
    font-size: 10px;
    color: #40506A;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.security-subsection-v9 .admin-extended-section-v1__header p {
    display: none;
}

.security-edit-access-v9 .admin-role-selector-v2,
.security-edit-access-v9 .admin-account-status-v2 {
    margin: 0;
}

.security-edit-access-v9 .admin-role-selector-v2__options {
    grid-template-columns: 1fr;
    gap: 6px;
}

.security-edit-access-v9 .admin-role-assignment-v5 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.security-edit-access-v9 .admin-role-choice-v2 {
    min-height: 46px;
    padding: 7px 9px;
}

.security-edit-access-v9 .admin-role-choice-v2 strong {
    font-size: 10px;
}

.security-edit-access-v9 .admin-role-choice-v2 small {
    font-size: 9px;
}

.security-edit-access-v9 .admin-role-assignment-v5 > .button {
    min-height: 34px;
    font-size: 9px;
}

.admin-user-role-save-v3 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}

.admin-user-role-save-v3 .admin-field-message {
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
    white-space: normal;
}

.admin-user-role-save-v3 .button {
    min-height: 34px;
    padding: 0 12px;
    font-size: 9px;
}

.security-edit-access-v9 .admin-account-status-v2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #E7EBF1;
}

.security-edit-access-v9 .admin-account-status-v2 legend {
    grid-column: 1 / -1;
}

.security-edit-access-v9 .admin-status-switch-v2 {
    font-size: 10px;
}

.security-edit-access-v9 .admin-status-switch-v2__track {
    width: 34px;
    height: 19px;
    padding: 2px;
}

.security-edit-access-v9 .admin-status-switch-v2__thumb {
    width: 15px;
    height: 15px;
}

.security-edit-access-v9 .admin-status-switch-v2 input:checked + .admin-status-switch-v2__track .admin-status-switch-v2__thumb {
    transform: translateX(15px);
}

.security-edit-access-v9 .admin-security-actions-v2 {
    margin-top: 14px;
    padding-top: 12px;
}

.security-edit-access-v9 .admin-security-actions-v2 h3 {
    font-size: 11px;
    margin-bottom: 5px;
}

.security-edit-access-v9 .admin-security-actions-v3__help {
    margin: 0 0 8px;
    color: #64748B;
    font-size: 9px;
}

.security-edit-access-v9 .admin-security-actions-v2__buttons {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
}

.security-edit-access-v9 .admin-security-actions-v2__buttons .button {
    min-height: 34px;
    padding: 0 8px;
    font-size: 9px;
}

.admin-fixed-policy-note {
    margin-bottom: 12px;
    padding: 9px 11px;
    font-size: 10px;
}

/* Users table */
.admin-user-list-v2 {
    border-radius: 6px;
}

.admin-users-table-v4__header,
.admin-users-table-v4__row {
    grid-template-columns: minmax(180px, 1.1fr) minmax(180px, 1.25fr) minmax(150px, 1fr) 90px minmax(150px, .9fr) 70px;
}

.admin-users-table-v4__header {
    padding: 10px 12px;
    color: #6A7688;
    background: #F7F9FC;
    border-bottom: 1px solid #E2E7EE;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.admin-users-table-v4__row {
    min-height: 58px;
    padding: 9px 12px;
    border-bottom: 1px solid #E8EDF3;
    font-size: 10px;
}

.admin-users-table-v4__identity {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
}

.admin-users-table-v4__identity > span:last-child {
    display: grid;
    gap: 2px;
}

.admin-users-table-v4__identity small {
    color: #7A8698;
    font-size: 9px;
}

.security-user-avatar-v9 {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    color: #185A9D;
    background: #E7F1FC;
    border-radius: 50%;
    font-size: 9px;
    font-weight: 800;
}

.admin-role-chip-v4 {
    padding: 3px 6px;
    border-radius: 999px;
    font-size: 8px;
}

.security-user-flags-v9 {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}

.security-flag-v9 {
    padding: 3px 6px;
    color: #1E3A8A;
    background: #EFF6FF;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 700;
}

.security-flag-v9--warning {
    color: #92400E;
    background: #FEF3C7;
}

.security-muted-v9 {
    color: #A0A9B7;
}

.security-table-summary-v9 {
    padding: 10px 12px;
    color: #7A8698;
    background: #FAFBFD;
    border-top: 1px solid #E8EDF3;
    font-size: 9px;
}

.security-empty-state-v9 {
    display: grid;
    place-items: center;
    gap: 5px;
    min-height: 220px;
    text-align: center;
}

.security-empty-state-v9 > span {
    color: #8AA5C4;
    font-size: 28px;
}

.security-empty-state-v9 strong {
    color: #334155;
}

.security-empty-state-v9 p {
    margin: 0;
    color: #7A8698;
    font-size: 10px;
}

/* Roles and Permissions */
#admin-workspace-roles.security-roles-layout-v9:not([hidden]) {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 14px;
}

.security-roles-layout-v9 > .admin-workspace-v2__section-header {
    grid-column: 1 / -1;
}

.security-roles-layout-v9 .admin-role-list-v2 {
    align-self: start;
    border: 1px solid #DFE5ED;
    border-radius: 6px;
    overflow: hidden;
}

.security-role-list-v9 {
    display: grid;
}

.security-role-item-v9 {
    position: relative;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto 12px;
    gap: 8px;
    align-items: center;
    width: 100%;
    min-height: 62px;
    padding: 9px 10px;
    color: #334155;
    background: #FFFFFF;
    border: 0;
    border-bottom: 1px solid #E7EBF1;
    text-align: left;
}

.security-role-item-v9:hover,
.security-role-item-v9.is-selected {
    background: #EFF6FF;
}

.security-role-item-v9.is-selected {
    box-shadow: inset 3px 0 0 #2F7DE1;
}

.security-role-item-v9__icon {
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    color: #2B6CB0;
    background: #EAF3FF;
    border-radius: 5px;
}

.security-role-item-v9__body {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.security-role-item-v9__body strong {
    font-size: 10px;
}

.security-role-item-v9__body small {
    overflow: hidden;
    color: #7A8698;
    font-size: 8px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.security-protected-badge-v9 {
    padding: 2px 5px;
    color: #1E3A8A;
    background: #DBEAFE;
    border-radius: 999px;
    font-size: 7px;
    font-weight: 800;
}

.security-role-item-v9__chevron {
    color: #8794A7;
    font-size: 16px;
}

.security-role-count-v9 {
    margin: 0;
    padding: 9px 10px;
    color: #7A8698;
    background: #FAFBFD;
    font-size: 8px;
}

.security-roles-layout-v9 .admin-role-editor-v2 {
    min-width: 0;
    margin: 0;
    padding: 14px;
    background: #FFFFFF;
    border: 1px solid #DFE5ED;
    border-radius: 6px;
}

.security-roles-layout-v9 .admin-role-editor-v2__header h3 {
    font-size: 18px;
}

.security-roles-layout-v9 .admin-role-editor-v2__header p {
    font-size: 10px;
}

.security-roles-layout-v9 .admin-fixed-policy-note {
    margin: 10px 0;
    color: #92400E;
    background: #FFFBEB;
    border: 1px solid #FDE68A;
    border-left-width: 3px;
    border-radius: 5px;
}

.security-permission-header-v9 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 110px;
    padding: 8px 12px;
    color: #6A7688;
    background: #F7F9FC;
    border: 1px solid #E2E7EE;
    border-bottom: 0;
    border-radius: 5px 5px 0 0;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.security-permission-header-v9 span:last-child {
    text-align: center;
}

.security-roles-layout-v9 .admin-permission-editor-v2 {
    border-radius: 0 0 5px 5px;
}

.security-roles-layout-v9 .admin-permission-row-v2 {
    min-height: 54px;
    padding: 8px 12px;
}

.security-roles-layout-v9 .admin-permission-row-v2__identity strong {
    font-size: 10px;
}

.security-roles-layout-v9 .admin-permission-row-v2__identity code {
    font-size: 8px;
}

.security-roles-layout-v9 .permission-switch {
    min-width: 100px;
    justify-content: center;
}

.security-roles-layout-v9 .admin-role-editor-v2__actions {
    margin: 12px -14px -14px;
    padding: 10px 14px;
    gap: 8px;
    background: #FFFBEB;
    border-top: 1px solid #FDE68A;
}

.security-roles-layout-v9 .admin-role-editor-v2__actions .button {
    min-height: 36px;
    font-size: 10px;
}

/* Security Activity */
.security-audit-layout-v9 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 12px;
}

.security-audit-layout-v9 .admin-audit-list-v2 {
    min-width: 0;
    border-radius: 6px;
    overflow: auto;
}

.security-audit-table-v9 {
    min-width: 820px;
}

.security-audit-table-v9__header,
.security-audit-row-v9 {
    display: grid;
    grid-template-columns: 125px 145px 145px 120px 85px minmax(180px, 1fr);
    gap: 10px;
    align-items: center;
}

.security-audit-table-v9__header {
    padding: 9px 10px;
    color: #6A7688;
    background: #F7F9FC;
    border-bottom: 1px solid #E2E7EE;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.security-audit-row-v9 {
    width: 100%;
    min-height: 48px;
    padding: 8px 10px;
    color: #455268;
    background: #FFFFFF;
    border: 0;
    border-bottom: 1px solid #E8EDF3;
    text-align: left;
    font-size: 9px;
}

.security-audit-row-v9:hover,
.security-audit-row-v9.is-selected {
    background: #EFF6FF;
}

.security-audit-row-v9.is-selected {
    box-shadow: inset 3px 0 0 #2F7DE1;
}

.security-audit-row-v9 strong {
    color: #253248;
}

.security-audit-result-v9 {
    display: inline-flex;
    align-items: center;
    padding: 3px 6px;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 800;
}

.security-audit-result-v9--success {
    color: #166534;
    background: #DCFCE7;
}

.security-audit-result-v9--warning {
    color: #92400E;
    background: #FEF3C7;
}

.security-audit-result-v9--error {
    color: #B91C1C;
    background: #FEE2E2;
}

.security-audit-detail-v9 {
    align-self: start;
    min-height: 320px;
    padding: 14px;
    background: #FFFFFF;
    border: 1px solid #DFE5ED;
    border-radius: 6px;
}

.security-audit-guidance-v9 {
    min-height: 270px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 6px;
    color: #657287;
    text-align: center;
}

.security-audit-guidance-v9__icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    color: #2F7DE1;
    background: #EAF3FF;
    border-radius: 50%;
    font-weight: 800;
}

.security-audit-guidance-v9 p {
    margin: 0;
    font-size: 9px;
}

.security-audit-detail-v9__header {
    padding-bottom: 12px;
    border-bottom: 1px solid #E7EBF1;
}

.security-audit-detail-v9__header h3 {
    margin: 8px 0 0;
    font-size: 15px;
}

.security-audit-detail-v9__list {
    display: grid;
    gap: 12px;
    margin: 14px 0 0;
}

.security-audit-detail-v9__list div {
    display: grid;
    gap: 3px;
}

.security-audit-detail-v9__list dt {
    color: #7A8698;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.security-audit-detail-v9__list dd {
    margin: 0;
    color: #334155;
    font-size: 10px;
    overflow-wrap: anywhere;
}

/* Responsive */
@media (max-width: 1180px) {
    .security-form-v9 .admin-delivery-layout-v1 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .security-role-select-v9 .admin-role-selector-v2__options {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-users-table-v4__header,
    .admin-users-table-v4__row {
        grid-template-columns: minmax(170px, 1.1fr) minmax(170px, 1.2fr) minmax(130px, .9fr) 82px 120px 62px;
    }
}

@media (max-width: 1024px) {
    .admin-workspace-v2.security-shell-v9 {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .security-shell-v9__brand {
        padding: 8px;
    }

    .security-shell-v9__brand img {
        width: 54px;
        height: 54px;
    }

    .security-shell-v9__global-nav {
        padding: 16px 9px;
    }

    .security-shell-v9__nav-item {
        justify-content: center;
        padding: 0;
    }

    .security-shell-v9__nav-item span:not(.security-shell-v9__status-dot),
    .security-shell-v9__nav-label,
    .security-shell-v9__sidebar-footer span:last-child {
        display: none;
    }

    .security-shell-v9__sidebar-footer {
        justify-content: center;
        padding: 16px 0;
    }

    body.admin-workspace-open .connection-indicator {
        left: 86px;
    }

    .security-create-main-v9,
    .security-edit-layout-v9 {
        grid-template-columns: 1fr;
    }

    .security-create-side-v9 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .security-audit-layout-v9 {
        grid-template-columns: 1fr;
    }

    .security-audit-detail-v9 {
        min-height: 180px;
    }
}

@media (max-width: 760px) {
    .main-content {
        padding: 14px;
    }

    .auth-shell {
        width: 100%;
        height: auto;
        min-height: 0;
        display: block;
        border-radius: 10px;
    }

    .visual-panel {
        display: none;
    }

    .auth-panel {
        padding: 28px 22px 30px;
    }

    .mobile-logo {
        width: min(132px, 48%);
        margin-bottom: 24px;
    }

    .auth-screen__heading h2,
    .result-state h2 {
        font-size: 28px;
    }

    .admin-workspace-v2.security-shell-v9 {
        grid-template-columns: 1fr;
    }

    .security-shell-v9__sidebar {
        position: fixed;
        inset: 0 auto 0 0;
        width: min(270px, 82vw);
        transform: translateX(-104%);
        transition: transform 180ms ease;
    }

    .security-shell-v9.is-drawer-open .security-shell-v9__sidebar {
        transform: translateX(0);
    }

    .security-shell-v9__brand img {
        width: 112px;
        height: 62px;
    }

    .security-shell-v9__nav-item {
        justify-content: flex-start;
        padding: 0 12px;
    }

    .security-shell-v9__nav-item span:not(.security-shell-v9__status-dot),
    .security-shell-v9__nav-label,
    .security-shell-v9__sidebar-footer span:last-child {
        display: inline;
    }

    .security-shell-v9__backdrop {
        position: fixed;
        inset: 0;
        z-index: 2;
        display: block;
        visibility: hidden;
        opacity: 0;
        background: rgba(15,23,42,.46);
        border: 0;
        transition: opacity 180ms ease, visibility 180ms ease;
    }

    .security-shell-v9.is-drawer-open .security-shell-v9__backdrop {
        visibility: visible;
        opacity: 1;
    }

    .security-shell-v9__main {
        grid-template-rows: 68px minmax(0, 1fr) 58px;
    }

    .security-shell-v9__topbar {
        padding: 0 14px;
    }

    .security-shell-v9__menu-toggle {
        display: grid;
    }

    .security-shell-v9__title h1 {
        font-size: 17px;
    }

    .security-shell-v9__user-text {
        display: none;
    }

    .security-shell-v9__avatar {
        width: 34px;
        height: 34px;
    }

    .security-shell-v9__body {
        padding: 0 10px 12px;
    }

    .security-tabs-v9.admin-workspace-v2__nav {
        gap: 18px;
        margin: 0 -10px;
        padding: 0 14px;
    }

    .security-shell-v9__content.admin-workspace-v2__content {
        margin-top: 10px;
        padding: 12px;
    }

    .admin-workspace-v2__section-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-workspace-v2__section-header .button {
        width: 100%;
    }

    .security-field-grid-v9--four,
    .security-field-grid-v9--two,
    .security-create-side-v9,
    .security-form-v9 .admin-delivery-layout-v1,
    .security-form-v9 .admin-option-grid-v1,
    .security-form-v9 .admin-option-grid-v1--categories,
    .security-role-select-v9 .admin-role-selector-v2__options,
    .security-edit-access-v9 .admin-security-actions-v2__buttons,
    .security-edit-access-v9 .admin-account-status-v2 {
        grid-template-columns: 1fr;
    }

    .security-role-select-v9 .admin-role-choice-v2 small {
        display: block;
    }

    .security-form-v9 .admin-form-v2__footer {
        margin: 12px -12px -12px;
        padding: 10px 12px;
        align-items: stretch;
    }

    .security-form-v9 .admin-form-v2__actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .admin-users-table-v4__header {
        display: none;
    }

    .admin-users-table-v4__row {
        grid-template-columns: 1fr;
        gap: 7px;
        padding: 12px;
    }

    .admin-users-table-v4__cell {
        display: grid;
        grid-template-columns: 92px minmax(0, 1fr);
        align-items: start;
        gap: 8px;
    }

    .admin-users-table-v4__cell::before {
        content: attr(data-label);
        color: #7A8698;
        font-size: 8px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .admin-users-table-v4__identity {
        grid-template-columns: 92px 30px minmax(0, 1fr);
    }

    .admin-users-table-v4__identity::before {
        grid-column: 1;
    }

    .admin-users-table-v4__identity > .security-user-avatar-v9 {
        grid-column: 2;
    }

    .admin-users-table-v4__identity > span:last-child {
        grid-column: 3;
        min-width: 0;
        overflow-wrap: normal;
        word-break: normal;
    }

    .admin-users-table-v4__identity > span:last-child strong,
    .admin-users-table-v4__identity > span:last-child small {
        overflow-wrap: normal;
        word-break: normal;
    }

    #admin-workspace-roles.security-roles-layout-v9:not([hidden]) {
        grid-template-columns: 1fr;
    }

    .security-permission-header-v9,
    .security-roles-layout-v9 .admin-permission-row-v2 {
        grid-template-columns: 1fr auto;
    }

    .security-audit-table-v9 {
        min-width: 760px;
    }

    body.admin-workspace-open .connection-indicator {
        left: 10px;
        right: 10px;
        bottom: 20px;
        max-width: none;
        text-align: center;
    }

    body.admin-workspace-open .page-version {
        right: 10px;
        bottom: 7px;
    }

    .security-shell-v9__footer {
        align-items: flex-start;
        padding-top: 5px;
        font-size: 8px;
    }

    .session-expired-stage-v9 {
        grid-template-columns: 76px minmax(0, 1fr);
    }

    .session-expired-stage-v9__nav-item span:last-child {
        display: none;
    }
}

@media (max-width: 420px) {
    .auth-panel {
        padding: 24px 18px 28px;
    }

    .mobile-logo {
        width: 122px;
        margin-bottom: 20px;
    }

    .verification-code-input-v9 {
        font-size: 20px !important;
        letter-spacing: 26px !important;
        padding-left: 18px !important;
    }

    .security-form-v9 .admin-form-v2__actions {
        grid-template-columns: 1fr;
    }
}

/* Final visual alignment corrections verified against the approved PDF. */
.verification-code-boxes-v9 {
    position: relative;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    height: 52px;
    margin-top: 6px;
}

.verification-code-boxes-v9 > span {
    display: block;
    background: #FFFFFF;
    border: 1px solid #CBD5E1;
    border-radius: 6px;
}

.verification-code-boxes-v9:focus-within > span {
    border-color: #2563EB;
    box-shadow: 0 0 0 1px rgba(37, 99, 235, .12);
}

.verification-code-boxes-v9 .verification-code-input-v9 {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 52px;
    margin: 0;
    padding: 0 0 0 22px !important;
    color: #162033;
    background: transparent !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    font-size: 22px !important;
    font-weight: 700;
    letter-spacing: 42px !important;
    caret-color: #1E3A8A;
}

.security-form-v9 .admin-form-v2__field input,
.security-form-v9 .admin-form-v2__field select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.security-form-v9--create > .admin-extended-form-v1__layout {
    display: block;
}

.security-form-v9--create .security-create-main-v9,
.security-form-v9--create .security-create-delivery-v9 {
    width: 100%;
    grid-column: 1 / -1;
}

.security-edit-delivery-v9 .admin-delivery-layout-v1 {
    grid-template-columns: 1fr;
}

.security-edit-delivery-v9 .admin-delivery-channels-v1,
.security-edit-delivery-v9 .admin-delivery-routing-v1,
.security-edit-delivery-v9 .admin-delivery-categories-v1,
.security-edit-delivery-v9 .admin-delivery-dnd-v1 {
    grid-column: 1 / -1;
}

.security-edit-delivery-v9 .admin-delivery-channels-v1 .admin-option-grid-v1 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.security-edit-delivery-v9 .admin-delivery-categories-v1 .admin-option-grid-v1 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.security-edit-delivery-v9 .admin-delivery-dnd-v1 {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 8px 12px;
    align-items: end;
}

.security-edit-delivery-v9 .admin-delivery-dnd-v1 legend {
    grid-column: 1 / -1;
}

.security-edit-delivery-v9 .admin-delivery-dnd-v1 > .admin-option-row-v1:first-of-type {
    align-self: center;
}

.security-edit-delivery-v9 .admin-delivery-dnd-v1 > .admin-extended-section-v1__grid {
    min-width: 0;
}

.security-edit-delivery-v9 .admin-delivery-dnd-v1 > .admin-option-row-v1:last-child {
    align-self: center;
}

@media (max-width: 1180px) {
    .security-edit-delivery-v9 .admin-delivery-channels-v1 .admin-option-grid-v1,
    .security-edit-delivery-v9 .admin-delivery-categories-v1 .admin-option-grid-v1 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .security-edit-delivery-v9 .admin-delivery-dnd-v1 {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .security-edit-delivery-v9 .admin-delivery-dnd-v1 legend {
        grid-column: auto;
    }
}

@media (max-width: 700px) {
    .verification-code-boxes-v9 {
        gap: 6px;
        height: 48px;
    }

    .verification-code-boxes-v9 .verification-code-input-v9 {
        height: 48px;
        padding-left: 18px !important;
        font-size: 20px !important;
        letter-spacing: 31px !important;
    }
}

/* ============================================================
   C&A TMS - CODIGO PROPIO
   USER ADMIN NAVIGATION + EDIT ACTION BAR V1
   ============================================================ */

.no-authorized-shell-v10 {
    min-height: 100vh;
    background: #F4F6F9;
}

.no-authorized-shell-v10__header {
    background: #FFFFFF;
    border-bottom: 1px solid #DDE4EC;
}

.no-authorized-modules-v10 {
    width: min(620px, calc(100% - 32px));
    margin: clamp(48px, 10vh, 110px) auto 0;
    padding: 42px 36px;
    text-align: center;
    background: #FFFFFF;
    border: 1px solid #DDE4EC;
    border-radius: 10px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
}

.no-authorized-modules-v10__icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: #EEF4FF;
    color: #0B57B7;
    font-size: 22px;
    font-weight: 800;
}

.no-authorized-modules-v10 h2 {
    margin: 0 0 12px;
    color: #18243A;
    font-size: 26px;
}

.no-authorized-modules-v10 p {
    margin: 4px 0;
    color: #536176;
    line-height: 1.55;
}

.account-menu-v10,
.security-account-menu-v10 {
    position: relative;
}

.account-menu-v10 summary {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 42px;
    padding: 5px 10px;
    border: 1px solid #D7DEE8;
    border-radius: 7px;
    background: #FFFFFF;
    color: #23314A;
    cursor: pointer;
}

.account-menu-v10 summary::-webkit-details-marker {
    display: none;
}

.account-menu-v10__avatar {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #0B57B7;
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 800;
}

.account-menu-v10__identity {
    display: grid;
    min-width: 0;
    text-align: left;
}

.account-menu-v10__identity strong,
.account-menu-v10__identity small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.account-menu-v10__identity small {
    color: #6B778B;
    font-size: 10px;
}

.account-menu-v10__panel,
.security-account-menu-v10__panel {
    position: absolute;
    top: calc(100% + 7px);
    right: 0;
    z-index: 40;
    min-width: 190px;
    padding: 6px;
    background: #FFFFFF;
    border: 1px solid #D7DEE8;
    border-radius: 8px;
    box-shadow: 0 14px 30px rgba(15, 23, 42, .16);
}

.account-menu-v10__panel button,
.security-account-menu-v10__panel button {
    width: 100%;
    min-height: 38px;
    padding: 8px 10px;
    text-align: left;
    background: transparent;
    border: 0;
    border-radius: 5px;
    color: #25324B;
    font: inherit;
    cursor: pointer;
}

.account-menu-v10__panel button:hover,
.account-menu-v10__panel button:focus-visible,
.security-account-menu-v10__panel button:hover,
.security-account-menu-v10__panel button:focus-visible {
    background: #EEF4FF;
    outline: none;
}

.security-account-menu-v10 .security-shell-v9__user {
    border: 0;
    background: transparent;
    cursor: pointer;
}

.security-account-menu-v10__chevron {
    color: #6B778B;
    font-size: 10px;
}

.security-account-menu-v10__panel button[aria-current="page"] {
    color: #0B57B7;
    font-weight: 700;
}

.security-audit-permission-v10 {
    margin: 18px 0;
    padding: 18px;
    border: 1px solid #F0CACA;
    border-radius: 8px;
    background: #FFF7F7;
    color: #8B2525;
    font-weight: 650;
}

.security-form-v9--edit {
    --edit-action-bar-clearance: 0px;
}

.security-form-v9--edit .security-edit-layout-v9 {
    padding-bottom: 0;
}

.security-form-v9--edit .admin-form-v2__footer {
    position: static;
    bottom: auto;
    z-index: auto;
    margin: 18px 0 0;
    padding: 14px 0 0;
    background: #FFFFFF;
    border-top: 1px solid #E1E6ED;
    box-shadow: none;
}

@media (max-width: 760px) {
    .no-authorized-shell-v10__header {
        align-items: flex-start;
        gap: 16px;
    }

    .no-authorized-modules-v10 {
        width: calc(100% - 24px);
        margin-top: 24px;
        padding: 30px 20px;
    }

    .account-menu-v10__identity {
        display: none;
    }

    .security-account-menu-v10__panel {
        position: fixed;
        top: 62px;
        right: 12px;
        left: auto;
        width: min(250px, calc(100vw - 24px));
    }

    .security-form-v9--edit {
        --edit-action-bar-clearance: 0px;
    }

    .security-form-v9--edit .admin-form-v2__footer {
        position: static;
        bottom: auto;
        margin: 16px 0 0;
        padding: 14px 0 calc(14px + env(safe-area-inset-bottom));
        background: #FFFFFF;
        align-items: stretch;
    }
}

@media (max-width: 420px) {
    .security-form-v9--edit .admin-form-v2__actions {
        grid-template-columns: 1fr;
    }
}



/* C&A TMS - CREATE USER ACTION BAR FLOW V1 */
.security-form-v9--create .admin-form-v2__footer {
    position: static;
    bottom: auto;
    z-index: auto;
    margin: 18px 0 0;
    padding: 14px 0 0;
    background: #FFFFFF;
    border-top: 1px solid #E1E6ED;
    box-shadow: none;
}

@media (max-width: 760px) {
    .security-form-v9--create .admin-form-v2__footer {
        position: static;
        bottom: auto;
        margin: 16px 0 0;
        padding: 14px 0 calc(14px + env(safe-area-inset-bottom));
        background: #FFFFFF;
        align-items: stretch;
    }
}

@media (max-width: 420px) {
    .security-form-v9--create .admin-form-v2__actions {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   C&A TMS - ACCOUNT PROFILE AND THEME V1
   ============================================================ */
body.account-profile-open {
    overflow: hidden;
}

.account-theme-menu-item-v1 {
    align-items: center;
    display: flex !important;
    justify-content: space-between;
    gap: 18px;
}

.account-theme-switch-v1 {
    background: #CBD5E1;
    border-radius: 999px;
    display: inline-flex;
    flex: 0 0 auto;
    height: 20px;
    padding: 2px;
    transition: background 160ms ease;
    width: 36px;
}

.account-theme-switch-v1 > span {
    background: #FFFFFF;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.28);
    display: block;
    height: 16px;
    transform: translateX(0);
    transition: transform 160ms ease;
    width: 16px;
}

[data-ca-theme-toggle][aria-checked="true"] .account-theme-switch-v1 {
    background: #1E3A8A;
}

[data-ca-theme-toggle][aria-checked="true"] .account-theme-switch-v1 > span {
    transform: translateX(16px);
}

.account-profile-workspace-v1 {
    inset: 0;
    position: fixed;
    z-index: 13000;
}

.account-profile-workspace-v1__backdrop {
    background: rgba(15, 23, 42, 0.56);
    border: 0;
    inset: 0;
    padding: 0;
    position: absolute;
    width: 100%;
}

.account-profile-shell-v1 {
    background: #F4F6F9;
    border-left: 1px solid #D8E0EA;
    bottom: 0;
    box-shadow: -18px 0 48px rgba(15, 23, 42, 0.18);
    display: flex;
    flex-direction: column;
    max-width: 1040px;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0;
    width: min(1040px, 94vw);
}

.account-profile-header-v1 {
    align-items: flex-start;
    background: #FFFFFF;
    border-bottom: 1px solid #DCE3EC;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    padding: 22px 28px;
}

.account-profile-header-v1 p,
.account-profile-header-v1 h1,
.account-profile-header-v1 span {
    margin: 0;
}

.account-profile-header-v1 p {
    color: #1E3A8A;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.account-profile-header-v1 h1 {
    color: #172033;
    font-size: 28px;
    line-height: 1.15;
    margin-top: 3px;
}

.account-profile-header-v1 span {
    color: #667085;
    display: block;
    font-size: 14px;
    margin-top: 6px;
}

.account-profile-close-v1 {
    align-items: center;
    background: #FFFFFF;
    border: 1px solid #CBD5E1;
    border-radius: 8px;
    color: #344054;
    display: inline-flex;
    font-size: 25px;
    height: 40px;
    justify-content: center;
    line-height: 1;
    width: 40px;
}

.account-profile-message-v1 {
    flex: 0 0 auto;
    margin: 16px 28px 0;
}

.account-profile-form-v1 {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 0;
    overflow: auto;
    padding: 18px 28px 0;
}

.account-profile-grid-v1 {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.account-profile-card-v1 {
    background: #FFFFFF;
    border: 1px solid #DCE3EC;
    border-radius: 10px;
    min-width: 0;
    padding: 20px;
}

.account-profile-card-v1--preferences {
    grid-column: 1 / -1;
}

.account-profile-card-v1__header {
    align-items: flex-start;
    border-bottom: 1px solid #E5EAF0;
    display: flex;
    gap: 12px;
    margin-bottom: 18px;
    padding-bottom: 14px;
}

.account-profile-card-v1__header > span {
    align-items: center;
    background: #E8EFFB;
    border-radius: 50%;
    color: #1E3A8A;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 800;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.account-profile-card-v1__header h2 {
    color: #1F2937;
    font-size: 16px;
    margin: 0;
}

.account-profile-card-v1__header p {
    color: #667085;
    font-size: 12px;
    line-height: 1.45;
    margin: 4px 0 0;
}

.account-profile-fields-v1 {
    display: grid;
    gap: 14px;
}

.account-profile-fields-v1--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.account-profile-fields-v1 label {
    color: #344054;
    display: grid;
    font-size: 12px;
    font-weight: 700;
    gap: 6px;
    min-width: 0;
}

.account-profile-fields-v1 input,
.account-profile-fields-v1 select {
    background: #FFFFFF;
    border: 1px solid #C8D2DF;
    border-radius: 7px;
    color: #1F2937;
    font: inherit;
    font-size: 14px;
    min-height: 42px;
    padding: 9px 11px;
    width: 100%;
}

.account-profile-fields-v1 input[readonly] {
    background: #F4F6F8;
    color: #667085;
}

.account-profile-fields-v1 input:focus,
.account-profile-fields-v1 select:focus {
    border-color: #1E3A8A;
    box-shadow: 0 0 0 3px rgba(30, 58, 138, 0.15);
    outline: none;
}

.account-profile-field-wide-v1 {
    grid-column: 1 / -1;
}

.account-profile-appearance-v1 {
    border: 0;
    margin: 0 0 16px;
    padding: 0;
}

.account-profile-appearance-v1 legend {
    color: #344054;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 8px;
}

.account-profile-appearance-v1 > div {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 180px));
}

.account-profile-appearance-v1 label {
    align-items: center;
    background: #FFFFFF;
    border: 1px solid #C8D2DF;
    border-radius: 8px;
    color: #344054;
    display: flex;
    font-size: 13px;
    font-weight: 700;
    gap: 9px;
    min-height: 42px;
    padding: 9px 12px;
}

.account-profile-appearance-v1 label:has(input:checked) {
    background: #EEF4FF;
    border-color: #1E3A8A;
    color: #1E3A8A;
}

.account-profile-actions-v1 {
    align-items: center;
    background: #FFFFFF;
    border-top: 1px solid #DCE3EC;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-top: 18px;
    padding: 14px 0 calc(14px + env(safe-area-inset-bottom));
}

.account-profile-actions-v1 p {
    color: #8A4B14;
    font-size: 12px;
    margin: 0;
}

.account-profile-actions-v1 > div {
    display: flex;
    gap: 10px;
}

.account-theme-toast-v1 {
    background: #172033;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 8px;
    bottom: 22px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.24);
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 700;
    left: 50%;
    padding: 11px 15px;
    position: fixed;
    transform: translateX(-50%);
    z-index: 14000;
}

.account-theme-toast-v1[data-type="error"] {
    background: #7F1D1D;
}

@media (max-width: 780px) {
    .account-profile-shell-v1 {
        width: 100vw;
    }

    .account-profile-grid-v1 {
        grid-template-columns: 1fr;
    }

    .account-profile-card-v1--preferences {
        grid-column: auto;
    }
}

@media (max-width: 520px) {
    .account-profile-header-v1,
    .account-profile-form-v1 {
        padding-left: 16px;
        padding-right: 16px;
    }

    .account-profile-message-v1 {
        margin-left: 16px;
        margin-right: 16px;
    }

    .account-profile-fields-v1--two,
    .account-profile-appearance-v1 > div {
        grid-template-columns: 1fr;
    }

    .account-profile-field-wide-v1 {
        grid-column: auto;
    }

    .account-profile-actions-v1 {
        align-items: stretch;
        flex-direction: column;
    }

    .account-profile-actions-v1 > div {
        display: grid;
        grid-template-columns: 1fr;
    }
}

/* Authenticated Night Mode */
html[data-ca-theme="night"] {
    --main-text: #E5E7EB;
    --muted-text: #A8B3C5;
    --light-background: #0B1220;
    --white-surface: #111827;
    --neutral-border: #334155;
    --neutral-border-hover: #64748B;
    --error-background: #35181D;
    --error-border: #7F1D1D;
    --error-text: #FCA5A5;
    --warning-background: #33270D;
    --warning-border: #854D0E;
    --warning-text: #FCD34D;
    --success-background: #102A1D;
    --success-border: #166534;
    --success-text: #86EFAC;
    --info-background: #10223D;
    --info-border: #1D4ED8;
    --info-text: #93C5FD;
}

html[data-ca-theme="night"] .dashboard,
html[data-ca-theme="night"] .no-authorized-shell-v10,
html[data-ca-theme="night"] .admin-workspace-v2.security-shell-v9,
html[data-ca-theme="night"] .security-shell-v9__main,
html[data-ca-theme="night"] .security-shell-v9__body,
html[data-ca-theme="night"] .security-shell-v9__content,
html[data-ca-theme="night"] .account-profile-shell-v1 {
    background: #0B1220;
    color: #E5E7EB;
}

html[data-ca-theme="night"] .dashboard__header,
html[data-ca-theme="night"] .security-shell-v9__topbar,
html[data-ca-theme="night"] .security-shell-v9__footer,
html[data-ca-theme="night"] .security-tabs-v9,
html[data-ca-theme="night"] .security-panel-v9,
html[data-ca-theme="night"] .security-form-v9 .admin-extended-section-v1,
html[data-ca-theme="night"] .security-subsection-v9,
html[data-ca-theme="night"] .admin-card,
html[data-ca-theme="night"] .admin-users-table-v4__header,
html[data-ca-theme="night"] .admin-users-table-v4__row,
html[data-ca-theme="night"] .security-role-item-v9,
html[data-ca-theme="night"] .security-roles-layout-v9 .admin-role-editor-v2,
html[data-ca-theme="night"] .security-audit-detail-v9,
html[data-ca-theme="night"] .security-audit-row-v9,
html[data-ca-theme="night"] .account-menu-v10__panel,
html[data-ca-theme="night"] .security-account-menu-v10__panel,
html[data-ca-theme="night"] .account-profile-header-v1,
html[data-ca-theme="night"] .account-profile-card-v1,
html[data-ca-theme="night"] .account-profile-actions-v1 {
    background: #111827;
    border-color: #334155;
    color: #E5E7EB;
}

html[data-ca-theme="night"] .security-shell-v9__sidebar {
    background: #08111F;
    border-color: #243244;
}

html[data-ca-theme="night"] .security-shell-v9__brand {
    background: #F8FAFC;
    border-color: #334155;
}

html[data-ca-theme="night"] .security-shell-v9__title h1,
html[data-ca-theme="night"] .admin-workspace-v2__section-header h2,
html[data-ca-theme="night"] .security-form-v9 .admin-extended-section-v1__header h3,
html[data-ca-theme="night"] .security-subsection-v9 .admin-extended-section-v1__header h3,
html[data-ca-theme="night"] .account-profile-header-v1 h1,
html[data-ca-theme="night"] .account-profile-card-v1__header h2,
html[data-ca-theme="night"] .no-authorized-modules-v10 h2,
html[data-ca-theme="night"] .admin-users-table-v4__identity > span:last-child,
html[data-ca-theme="night"] .security-role-item-v9__body strong {
    color: #F3F4F6;
}

html[data-ca-theme="night"] .security-shell-v9__title p,
html[data-ca-theme="night"] .security-shell-v9__user-text small,
html[data-ca-theme="night"] .admin-workspace-v2__section-header p,
html[data-ca-theme="night"] .security-form-v9 .admin-extended-section-v1__header p,
html[data-ca-theme="night"] .security-subsection-v9 .admin-extended-section-v1__header p,
html[data-ca-theme="night"] .account-profile-header-v1 span,
html[data-ca-theme="night"] .account-profile-card-v1__header p,
html[data-ca-theme="night"] .no-authorized-modules-v10 p,
html[data-ca-theme="night"] .security-muted-v9,
html[data-ca-theme="night"] .admin-users-table-v4__identity small,
html[data-ca-theme="night"] .security-role-item-v9__body small {
    color: #A8B3C5;
}

html[data-ca-theme="night"] .security-form-v9 .admin-form-v2__field input,
html[data-ca-theme="night"] .security-form-v9 .admin-form-v2__field select,
html[data-ca-theme="night"] .account-profile-fields-v1 input,
html[data-ca-theme="night"] .account-profile-fields-v1 select,
html[data-ca-theme="night"] .account-profile-appearance-v1 label,
html[data-ca-theme="night"] .admin-search-v4 input,
html[data-ca-theme="night"] .admin-search-v4 select {
    background: #0F172A;
    border-color: #3B4A5F;
    color: #E5E7EB;
}

html[data-ca-theme="night"] .account-profile-fields-v1 input[readonly] {
    background: #182235;
    color: #A8B3C5;
}

html[data-ca-theme="night"] .security-form-v9 .admin-form-v2__field > span,
html[data-ca-theme="night"] .account-profile-fields-v1 label,
html[data-ca-theme="night"] .account-profile-appearance-v1 legend,
html[data-ca-theme="night"] .account-profile-appearance-v1 label {
    color: #D5DCE7;
}

html[data-ca-theme="night"] .account-profile-appearance-v1 label:has(input:checked),
html[data-ca-theme="night"] .security-form-v9 .admin-appearance-choice-v1 label:has(input:checked) {
    background: #15284A;
    border-color: #60A5FA;
    color: #BFDBFE;
}

html[data-ca-theme="night"] .account-menu-v10__panel button,
html[data-ca-theme="night"] .security-account-menu-v10__panel button {
    color: #E5E7EB;
}

html[data-ca-theme="night"] .account-menu-v10__panel button:hover,
html[data-ca-theme="night"] .security-account-menu-v10__panel button:hover,
html[data-ca-theme="night"] .security-tabs-v9 .admin-workspace-v2__nav-button:hover,
html[data-ca-theme="night"] .security-role-item-v9:hover,
html[data-ca-theme="night"] .security-audit-row-v9:hover {
    background: #17243A;
}

html[data-ca-theme="night"] .security-tabs-v9 .admin-workspace-v2__nav-button {
    color: #B8C3D3;
}

html[data-ca-theme="night"] .security-tabs-v9 .admin-workspace-v2__nav-button.is-active {
    color: #93C5FD;
}

html[data-ca-theme="night"] .site-footer,
html[data-ca-theme="night"] .page-version,
html[data-ca-theme="night"] .connection-indicator {
    color: #94A3B8;
}



/* C&A TMS - CODIGO PROPIO - NIGHT MODE V3 APPROVED */
html[data-ca-theme="day"] {
    --ca-bg: #F4F6F8;
    --ca-shell: #FFFFFF;
    --ca-sidebar-bg: #FFFFFF;
    --ca-header-bg: #FFFFFF;
    --ca-surface: #FFFFFF;
    --ca-surface-raised: #F8FAFC;
    --ca-input-bg: #FFFFFF;
    --ca-text-primary: #172033;
    --ca-text-secondary: #667085;
    --ca-placeholder: #98A2B3;
    --ca-border: #D7DEE7;
    --ca-primary: #1F6FEB;
    --ca-primary-hover: #1759BD;
    --ca-focus: #2563EB;
    --ca-hover-bg: #EEF3F8;
    --ca-selected-bg: #E7F0FF;
    --ca-critical: #C62828;
    --ca-success: #2E8B57;
    --ca-warning: #A76612;
    --ca-disabled-bg: #E9EDF2;
    --ca-disabled-text: #98A2B3;
    --ca-overlay: rgba(15, 23, 42, .28);
}

html[data-ca-theme="night"] {
    color-scheme: dark;
    --ca-bg: #070F1C;
    --ca-shell: #0B1524;
    --ca-sidebar-bg: #0D1726;
    --ca-header-bg: #0F1A2B;
    --ca-surface: #111C2D;
    --ca-surface-raised: #162238;
    --ca-input-bg: #0F1A2B;
    --ca-text-primary: #F5F7FA;
    --ca-text-secondary: #B6C0CE;
    --ca-placeholder: #8794A6;
    --ca-border: #2A3748;
    --ca-primary: #4A90FF;
    --ca-primary-hover: #6AA6FF;
    --ca-focus: #74A7FF;
    --ca-hover-bg: #15243A;
    --ca-selected-bg: #17345B;
    --ca-critical: #F05252;
    --ca-success: #43B66D;
    --ca-warning: #D6A340;
    --ca-disabled-bg: #1A2535;
    --ca-disabled-text: #718096;
    --ca-overlay: rgba(0, 0, 0, .58);
}

[data-ca-brand-logo] {
    display: block;
    image-rendering: auto;
    object-fit: contain;
    object-position: center;
    filter: none;
    box-shadow: none;
    transform: none;
}

.security-shell-v9__brand img[data-ca-brand-logo] {
    width: 120px;
    height: 68px;
}

html[data-ca-theme="night"] .security-shell-v9__brand {
    background: transparent;
    border-color: var(--ca-border);
}

html[data-ca-theme="night"] .admin-workspace-v2.security-shell-v9 {
    --security-page: var(--ca-bg);
    --security-sidebar: var(--ca-sidebar-bg);
    --security-sidebar-deep: #08111D;
    background: var(--ca-bg);
    color: var(--ca-text-primary);
}

html[data-ca-theme="night"] .security-shell-v9__sidebar {
    background: linear-gradient(180deg, var(--ca-sidebar-bg), #08111D);
    border-color: var(--ca-border);
}

html[data-ca-theme="night"] .security-shell-v9__main,
html[data-ca-theme="night"] .security-shell-v9__body,
html[data-ca-theme="night"] .security-shell-v9__content,
html[data-ca-theme="night"] .no-authorized-shell-v10 {
    background: var(--ca-bg);
    color: var(--ca-text-primary);
}

html[data-ca-theme="night"] .security-shell-v9__topbar,
html[data-ca-theme="night"] .security-tabs-v9,
html[data-ca-theme="night"] .security-panel-v9,
html[data-ca-theme="night"] .security-form-v9 .admin-extended-section-v1,
html[data-ca-theme="night"] .security-subsection-v9,
html[data-ca-theme="night"] .admin-card,
html[data-ca-theme="night"] .admin-users-table-v4__header,
html[data-ca-theme="night"] .admin-users-table-v4__row,
html[data-ca-theme="night"] .security-role-item-v9,
html[data-ca-theme="night"] .security-roles-layout-v9 .admin-role-editor-v2,
html[data-ca-theme="night"] .security-audit-detail-v9,
html[data-ca-theme="night"] .security-audit-row-v9,
html[data-ca-theme="night"] .account-menu-v10__panel,
html[data-ca-theme="night"] .security-account-menu-v10__panel,
html[data-ca-theme="night"] .account-profile-header-v1,
html[data-ca-theme="night"] .account-profile-card-v1,
html[data-ca-theme="night"] .account-profile-actions-v1 {
    background: var(--ca-surface);
    border-color: var(--ca-border);
    color: var(--ca-text-primary);
}

html[data-ca-theme="night"] .security-shell-v9__title h1,
html[data-ca-theme="night"] .admin-workspace-v2__section-header h2,
html[data-ca-theme="night"] .security-form-v9 .admin-extended-section-v1__header h3,
html[data-ca-theme="night"] .security-subsection-v9 .admin-extended-section-v1__header h3,
html[data-ca-theme="night"] .account-profile-header-v1 h1,
html[data-ca-theme="night"] .account-profile-card-v1__header h2,
html[data-ca-theme="night"] .no-authorized-modules-v10 h2,
html[data-ca-theme="night"] .admin-users-table-v4__identity > span:last-child,
html[data-ca-theme="night"] .security-role-item-v9__body strong,
html[data-ca-theme="night"] .security-shell-v9__user-text strong {
    color: var(--ca-text-primary);
}

html[data-ca-theme="night"] .security-shell-v9__title p,
html[data-ca-theme="night"] .security-shell-v9__user-text small,
html[data-ca-theme="night"] .admin-workspace-v2__section-header p,
html[data-ca-theme="night"] .security-form-v9 .admin-extended-section-v1__header p,
html[data-ca-theme="night"] .security-subsection-v9 .admin-extended-section-v1__header p,
html[data-ca-theme="night"] .account-profile-header-v1 span,
html[data-ca-theme="night"] .account-profile-card-v1__header p,
html[data-ca-theme="night"] .no-authorized-modules-v10 p,
html[data-ca-theme="night"] .security-muted-v9,
html[data-ca-theme="night"] .admin-users-table-v4__identity small,
html[data-ca-theme="night"] .security-role-item-v9__body small {
    color: var(--ca-text-secondary);
}

html[data-ca-theme="night"] .security-form-v9 .admin-form-v2__field input,
html[data-ca-theme="night"] .security-form-v9 .admin-form-v2__field select,
html[data-ca-theme="night"] .account-profile-fields-v1 input,
html[data-ca-theme="night"] .account-profile-fields-v1 select,
html[data-ca-theme="night"] .account-profile-appearance-v1 label,
html[data-ca-theme="night"] .admin-search-v4 input,
html[data-ca-theme="night"] .admin-search-v4 select {
    background: var(--ca-input-bg);
    border-color: var(--ca-border);
    color: var(--ca-text-primary);
}

html[data-ca-theme="night"] input::placeholder,
html[data-ca-theme="night"] textarea::placeholder {
    color: var(--ca-placeholder);
    opacity: 1;
}

html[data-ca-theme="night"] .account-profile-fields-v1 input[readonly],
html[data-ca-theme="night"] input:disabled,
html[data-ca-theme="night"] select:disabled,
html[data-ca-theme="night"] button:disabled {
    background: var(--ca-disabled-bg);
    color: var(--ca-disabled-text);
}

html[data-ca-theme="night"] .account-profile-appearance-v1 label:has(input:checked),
html[data-ca-theme="night"] .security-form-v9 .admin-appearance-choice-v1 label:has(input:checked) {
    background: var(--ca-selected-bg);
    border-color: var(--ca-focus);
    color: #CFE2FF;
}

html[data-ca-theme="night"] .account-menu-v10__panel button:hover,
html[data-ca-theme="night"] .security-account-menu-v10__panel button:hover,
html[data-ca-theme="night"] .security-tabs-v9 .admin-workspace-v2__nav-button:hover,
html[data-ca-theme="night"] .security-role-item-v9:hover,
html[data-ca-theme="night"] .security-audit-row-v9:hover {
    background: var(--ca-hover-bg);
    color: var(--ca-text-primary);
}

html[data-ca-theme="night"] .security-tabs-v9 .admin-workspace-v2__nav-button {
    color: var(--ca-text-secondary);
}

html[data-ca-theme="night"] .security-tabs-v9 .admin-workspace-v2__nav-button.is-active {
    color: var(--ca-primary);
}

html[data-ca-theme="night"] .security-shell-v9__nav-item--active {
    background: #155FB7;
    box-shadow: inset 3px 0 0 var(--ca-focus);
}

html[data-ca-theme="night"] .security-shell-v9__status-dot {
    background: var(--ca-success);
    box-shadow: 0 0 0 3px rgba(67, 182, 109, .17);
}

html[data-ca-theme="night"] .button.button--primary {
    background: var(--ca-primary);
    border-color: var(--ca-primary);
    color: #FFFFFF;
}

html[data-ca-theme="night"] .button.button--primary:hover {
    background: var(--ca-primary-hover);
    border-color: var(--ca-primary-hover);
}

html[data-ca-theme="night"] .button.button--secondary {
    background: var(--ca-surface-raised);
    border-color: var(--ca-border);
    color: var(--ca-text-primary);
}

html[data-ca-theme="night"] input:focus,
html[data-ca-theme="night"] select:focus,
html[data-ca-theme="night"] textarea:focus,
html[data-ca-theme="night"] button:focus-visible,
html[data-ca-theme="night"] [tabindex]:focus-visible {
    outline: 2px solid var(--ca-focus);
    outline-offset: 2px;
}

html[data-ca-theme="night"] .account-profile-workspace-v1 {
    background: var(--ca-overlay);
}

.security-users-panel-v9,
.admin-users-table-v4 {
    width: 100%;
    max-width: none;
}

@media (max-width: 1024px) {
    .security-shell-v9__brand img[data-ca-brand-logo] {
        width: 54px;
        height: 54px;
    }
}

@media (max-width: 760px) {
    .security-shell-v9__brand img[data-ca-brand-logo] {
        width: 112px;
        height: 62px;
    }
}

/* ==========================================================
   C&A TMS - CODIGO PROPIO -
   USER ADMIN VISUAL CONSISTENCY V1
   ========================================================== */

/*
 * Mantiene el contenedor completo de la cuenta en el extremo derecho.
 * El margen automatico debe pertenecer al hijo directo del topbar,
 * no solamente al boton interior.
 */
.security-shell-v9__topbar > .security-account-menu-v10 {
    flex: 0 0 auto;
    margin-left: auto;
}

.security-account-menu-v10 .security-shell-v9__user {
    margin-left: 0;
}

/*
 * Corrige contraste de roles en Night Mode.
 */
html[data-ca-theme="night"]
.security-form-v9
.admin-role-selector-v2 legend,
html[data-ca-theme="night"]
.security-form-v9
.admin-role-selector-v2 > p,
html[data-ca-theme="night"]
.security-form-v9
.admin-role-choice-v2 strong {
    color: var(--ca-text-primary);
}

html[data-ca-theme="night"]
.security-form-v9
.admin-role-choice-v2 small {
    color: var(--ca-text-secondary);
}

html[data-ca-theme="night"]
.security-form-v9
.admin-role-choice-v2 {
    background: var(--ca-surface-raised);
    border-color: var(--ca-border);
}

html[data-ca-theme="night"]
.security-form-v9
.admin-role-choice-v2:has(input:checked) {
    background: var(--ca-selected-bg);
    border-color: var(--ca-focus);
}

html[data-ca-theme="night"]
.security-form-v9
.admin-role-choice-v2:has(input:disabled) {
    background: var(--ca-disabled-bg);
    border-color: var(--ca-border);
    opacity: 1;
}

html[data-ca-theme="night"]
.security-form-v9
.admin-role-choice-v2:has(input:disabled) strong,
html[data-ca-theme="night"]
.security-form-v9
.admin-role-choice-v2:has(input:disabled) small {
    color: var(--ca-text-secondary);
}

/*
 * Elimina el bloque blanco de acciones en Create/Edit User.
 */
html[data-ca-theme="night"]
.security-form-v9--create
.admin-form-v2__footer,
html[data-ca-theme="night"]
.security-form-v9--edit
.admin-form-v2__footer {
    background: var(--ca-surface);
    border-top-color: var(--ca-border);
    color: var(--ca-text-primary);
}

html[data-ca-theme="night"]
.security-form-v9
.admin-form-v2__requirements {
    color: var(--ca-text-secondary);
}

/*
 * Conserva una linea inferior continua entre sidebar y contenido
 * en el layout de escritorio.
 */
@media (min-width: 900px) {
    .security-shell-v9__sidebar-footer {
        box-sizing: border-box;
        flex: 0 0 38px;
        height: 38px;
        min-height: 38px;
        padding-top: 0;
        padding-bottom: 0;
    }

    .security-shell-v9__footer {
        box-sizing: border-box;
        min-height: 38px;
    }
}

html[data-ca-theme="night"]
.security-shell-v9__sidebar-footer,
html[data-ca-theme="night"]
.security-shell-v9__footer {
    border-top-color: var(--ca-border);
}

/* ============================================================
   C&A TMS - CODIGO PROPIO
   CASES 001-010 VERIFICATION ALIGNMENT V1
   ============================================================ */

.auth-screen--verification {
    width: 100%;
    max-width: 360px;
    margin-inline: auto;
}

.auth-screen--verification .auth-screen__heading,
.auth-screen--verification .field,
.auth-screen--verification .form-actions {
    width: 100%;
}

.auth-screen--verification .verification-code-boxes-v9 {
    width: 100%;
    max-width: 360px;
    margin-inline: auto;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.auth-screen--verification
.verification-code-boxes-v9
.verification-code-input-v9 {
    box-sizing: border-box;
    text-indent: 0 !important;
}

@media (max-width: 700px) {
    .auth-screen--verification {
        max-width: 100%;
    }
}


/* C&A TMS - GROUPED ROLE PERMISSIONS UI V1 */
.admin-permission-group-v1 {
    margin: 0 0 18px;
    border: 1px solid var(--border, #dbe3ee);
    border-radius: 12px;
    overflow: visible;
    background: var(--surface, #fff);
}

.admin-permission-group-v1__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 16px;
    border-bottom: 1px solid var(--border, #dbe3ee);
    background: #f4f7fb;
    border-radius: 12px 12px 0 0;
}

.admin-permission-group-v1__header h4 {
    margin: 0;
    color: var(--text, #10284c);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .01em;
}

.admin-permission-group-v1__header span {
    display: block;
    margin-top: 3px;
    color: var(--muted, #687b96);
    font-size: 11px;
    font-weight: 600;
}

.admin-permission-group-v1__rows
.admin-permission-row-v2:last-child {
    border-bottom: 0;
}

.admin-permission-sensitive-v1 {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(185, 28, 28, .09);
    color: #b91c1c;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}

[data-theme="dark"]
.admin-permission-group-v1,
body.dark
.admin-permission-group-v1 {
    border-color: rgba(148, 163, 184, .22);
    background: #111b2e;
}

[data-theme="dark"]
.admin-permission-group-v1__header,
body.dark
.admin-permission-group-v1__header {
    border-bottom-color: rgba(148, 163, 184, .22);
    background: #15233a;
}

[data-theme="dark"]
.admin-permission-group-v1__header h4,
body.dark
.admin-permission-group-v1__header h4 {
    color: #eef5ff;
}

[data-theme="dark"]
.admin-permission-group-v1__header span,
body.dark
.admin-permission-group-v1__header span {
    color: #a9b9d0;
}

[data-theme="dark"]
.admin-permission-sensitive-v1,
body.dark
.admin-permission-sensitive-v1 {
    background: rgba(248, 113, 113, .15);
    color: #fca5a5;
}
