/**
 * Estilos da página de Login/Cadastro
 *
 * @package ZillesG_EAD
 */

/* Auth Container - Full screen override */
.ead-layout--full .ead-main {
    padding-top: 0 !important;
}

.ead-layout--full .ead-content:has(.ead-auth) {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Fallback for browsers without :has() support */
.ead-auth-wrapper {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.ead-auth {
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, var(--ead-primary) 0%, var(--ead-primary-dark) 100%) !important;
    padding: var(--ead-spacing-lg) !important;
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
}

.ead-auth__container {
    width: 100% !important;
    max-width: 420px !important;
    background: var(--ead-white) !important;
    border-radius: var(--ead-radius-lg) !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3) !important;
    padding: var(--ead-spacing-xl) !important;
}

.ead-auth__container--wide {
    max-width: 540px !important;
}

/* Header */
.ead-auth__header {
    text-align: center !important;
    margin-bottom: var(--ead-spacing-xl) !important;
}

.ead-auth__logo {
    margin-bottom: var(--ead-spacing-md) !important;
}

.ead-auth__logo img {
    max-width: 180px !important;
    height: auto !important;
}

.ead-auth__title {
    font-size: 1.75rem !important;
    color: var(--ead-primary) !important;
    margin: 0 0 var(--ead-spacing-xs) !important;
    font-weight: 700 !important;
}

.ead-auth__subtitle {
    color: var(--ead-gray-600) !important;
    margin: 0 !important;
    font-size: 1rem !important;
}

/* Form */
.ead-auth__form {
    margin-bottom: var(--ead-spacing-lg) !important;
}

.ead-auth__form .ead-form-group {
    margin-bottom: var(--ead-spacing-md) !important;
}

.ead-auth__form .ead-form-label {
    font-weight: 600 !important;
    color: var(--ead-gray-700) !important;
    margin-bottom: var(--ead-spacing-xs) !important;
}

.ead-auth__form .ead-form-control {
    padding: 0.875rem 1rem !important;
    font-size: 1rem !important;
    border-radius: var(--ead-radius-md) !important;
}

.ead-auth__form .ead-form-control:focus {
    border-color: var(--ead-primary) !important;
    box-shadow: 0 0 0 3px rgba(30, 58, 95, 0.15) !important;
}

/* Form Row for side-by-side fields */
.ead-form-row {
    display: flex !important;
    gap: var(--ead-spacing-md) !important;
    margin-bottom: 0 !important;
}

.ead-form-col-6 {
    flex: 1 !important;
}

/* Input Group */
.ead-input-group {
    position: relative !important;
    display: flex !important;
}

.ead-input-group .ead-form-control {
    padding-right: 45px !important;
}

.ead-input-group__btn {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 45px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: none !important;
    border: none !important;
    color: var(--ead-gray-500) !important;
    cursor: pointer !important;
    transition: color var(--ead-transition) !important;
}

.ead-input-group__btn:hover {
    color: var(--ead-primary) !important;
}

.ead-input-group__btn svg {
    width: 20px !important;
    height: 20px !important;
}

/* Inline form group (remember me + forgot password) */
.ead-form-group--inline {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

/* Auth link */
.ead-auth__link {
    color: var(--ead-primary) !important;
    text-decoration: none !important;
    font-size: 0.875rem !important;
    transition: color var(--ead-transition) !important;
}

.ead-auth__link:hover {
    color: var(--ead-primary-dark) !important;
    text-decoration: underline !important;
}

/* Required indicator */
.ead-required {
    color: var(--ead-danger) !important;
}

/* Checkbox */
.ead-checkbox {
    display: flex !important;
    align-items: flex-start !important;
    gap: var(--ead-spacing-xs) !important;
    cursor: pointer !important;
    user-select: none !important;
}

.ead-checkbox input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
    accent-color: var(--ead-primary) !important;
}

.ead-checkbox__label {
    font-size: 0.875rem !important;
    color: var(--ead-gray-700) !important;
    line-height: 1.4 !important;
}

.ead-checkbox__label a {
    color: var(--ead-primary) !important;
    text-decoration: none !important;
}

.ead-checkbox__label a:hover {
    text-decoration: underline !important;
}

/* Checkbox group */
.ead-checkbox-group {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--ead-spacing-sm) !important;
    max-height: 200px !important;
    overflow-y: auto !important;
    padding: var(--ead-spacing-sm) !important;
    background: var(--ead-gray-50) !important;
    border-radius: var(--ead-radius-md) !important;
    border: 1px solid var(--ead-gray-200) !important;
}

/* Info box */
.ead-auth__info {
    background: var(--ead-gray-50) !important;
    border: 1px solid var(--ead-gray-200) !important;
    border-radius: var(--ead-radius-md) !important;
    padding: var(--ead-spacing-md) !important;
    margin-top: var(--ead-spacing-lg) !important;
}

.ead-auth__info--top {
    margin-top: 0 !important;
    margin-bottom: var(--ead-spacing-lg) !important;
}

.ead-auth__info p {
    margin: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: var(--ead-spacing-sm) !important;
    font-size: 0.875rem !important;
    color: var(--ead-gray-600) !important;
    line-height: 1.5 !important;
}

.ead-auth__info-icon {
    flex-shrink: 0 !important;
    width: 18px !important;
    height: 18px !important;
    color: var(--ead-primary) !important;
    margin-top: 2px !important;
}

/* Footer */
.ead-auth__footer {
    text-align: center !important;
    padding-top: var(--ead-spacing-lg) !important;
    border-top: 1px solid var(--ead-gray-200) !important;
}

.ead-auth__footer p {
    margin: 0 !important;
    color: var(--ead-gray-600) !important;
    font-size: 0.9375rem !important;
}

.ead-auth__footer a {
    color: var(--ead-primary) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: var(--ead-spacing-xs) !important;
}

.ead-auth__footer a:hover {
    text-decoration: underline !important;
}

.ead-auth__footer a svg {
    width: 16px !important;
    height: 16px !important;
}

/* Responsive */
@media (max-width: 576px) {
    .ead-auth {
        padding: var(--ead-spacing-md) !important;
        align-items: flex-start !important;
        padding-top: 60px !important;
    }

    .ead-auth__container {
        padding: var(--ead-spacing-lg) !important;
    }

    .ead-form-row {
        flex-direction: column !important;
        gap: 0 !important;
    }

    .ead-form-group--inline {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: var(--ead-spacing-sm) !important;
    }
}

/* Admin Users Page Specific Styles */
.ead-admin-users {
    padding: var(--ead-spacing-lg) !important;
}

.ead-admin-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: var(--ead-spacing-lg) !important;
    gap: var(--ead-spacing-md) !important;
    flex-wrap: wrap !important;
}

.ead-admin-header__filters {
    display: flex !important;
    gap: var(--ead-spacing-sm) !important;
}

.ead-admin-header__search {
    width: 280px !important;
}

.ead-filter-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: var(--ead-spacing-xs) !important;
    padding: 0.625rem 1rem !important;
    background: var(--ead-white) !important;
    border: 1px solid var(--ead-gray-300) !important;
    border-radius: var(--ead-radius-md) !important;
    color: var(--ead-gray-700) !important;
    text-decoration: none !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    transition: all var(--ead-transition) !important;
}

.ead-filter-btn:hover {
    background: var(--ead-gray-50) !important;
    border-color: var(--ead-primary) !important;
    color: var(--ead-primary) !important;
}

.ead-filter-btn--active {
    background: var(--ead-primary) !important;
    border-color: var(--ead-primary) !important;
    color: var(--ead-white) !important;
}

.ead-filter-btn--active:hover {
    background: var(--ead-primary-dark) !important;
    color: var(--ead-white) !important;
}

.ead-filter-btn svg {
    width: 16px !important;
    height: 16px !important;
}

.ead-filter-btn .ead-badge {
    margin-left: var(--ead-spacing-xs) !important;
}

/* User cell in table */
.ead-user-cell {
    display: flex !important;
    align-items: center !important;
    gap: var(--ead-spacing-sm) !important;
}

.ead-user-cell__info {
    display: flex !important;
    flex-direction: column !important;
}

.ead-user-cell__name {
    font-weight: 600 !important;
    color: var(--ead-gray-900) !important;
}

.ead-user-cell__role {
    font-size: 0.75rem !important;
    color: var(--ead-gray-500) !important;
}

/* Modal Styles */
.ead-modal {
    display: none !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 1050 !important;
    align-items: center !important;
    justify-content: center !important;
}

.ead-modal--open {
    display: flex !important;
}

.ead-modal__backdrop {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.5) !important;
    backdrop-filter: blur(4px) !important;
}

.ead-modal__dialog {
    position: relative !important;
    width: 100% !important;
    max-width: 500px !important;
    max-height: 90vh !important;
    margin: var(--ead-spacing-lg) !important;
    z-index: 1 !important;
}

.ead-modal__content {
    background: var(--ead-white) !important;
    border-radius: var(--ead-radius-lg) !important;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25) !important;
    overflow: hidden !important;
}

.ead-modal__header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: var(--ead-spacing-lg) !important;
    border-bottom: 1px solid var(--ead-gray-200) !important;
}

.ead-modal__title {
    margin: 0 !important;
    font-size: 1.25rem !important;
    color: var(--ead-gray-900) !important;
}

.ead-modal__close {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    border-radius: var(--ead-radius-md) !important;
    color: var(--ead-gray-500) !important;
    cursor: pointer !important;
    transition: all var(--ead-transition) !important;
}

.ead-modal__close:hover {
    background: var(--ead-gray-100) !important;
    color: var(--ead-gray-700) !important;
}

.ead-modal__close svg {
    width: 20px !important;
    height: 20px !important;
}

.ead-modal__body {
    padding: var(--ead-spacing-lg) !important;
    max-height: 60vh !important;
    overflow-y: auto !important;
}

.ead-modal__text {
    margin: 0 0 var(--ead-spacing-lg) !important;
    color: var(--ead-gray-600) !important;
    line-height: 1.6 !important;
}

.ead-modal__text strong {
    color: var(--ead-gray-900) !important;
}

.ead-modal__footer {
    display: flex !important;
    justify-content: flex-end !important;
    gap: var(--ead-spacing-sm) !important;
    padding: var(--ead-spacing-lg) !important;
    border-top: 1px solid var(--ead-gray-200) !important;
    background: var(--ead-gray-50) !important;
}

/* Table styles */
.ead-table__actions-col {
    width: 180px !important;
    text-align: right !important;
}

.ead-table__actions {
    display: flex !important;
    justify-content: flex-end !important;
    gap: var(--ead-spacing-xs) !important;
}

.ead-table__empty {
    text-align: center !important;
    padding: var(--ead-spacing-xl) !important;
    color: var(--ead-gray-500) !important;
}

.ead-table__empty-icon {
    width: 48px !important;
    height: 48px !important;
    margin-bottom: var(--ead-spacing-sm) !important;
    opacity: 0.5 !important;
}

.ead-table__empty p {
    margin: 0 !important;
}

/* Responsive admin */
@media (max-width: 768px) {
    .ead-admin-header {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .ead-admin-header__filters {
        overflow-x: auto !important;
        padding-bottom: var(--ead-spacing-xs) !important;
    }

    .ead-admin-header__search {
        width: 100% !important;
    }

    .ead-filter-btn span:not(.ead-badge) {
        display: none !important;
    }

    .ead-table__actions {
        flex-direction: column !important;
    }

    .ead-table__actions .ead-btn span {
        display: none !important;
    }
}
