/* Tokens (cores, spacing, tipografia, radius) definidos em tokens.css */

html,
body {
    height: 100%;
    margin: 0;
    padding: 0;
    font-family: var(--font-family);
    background-color: var(--eyou-bg);
    overflow-x: hidden;
}

/* Auth Container */
.auth-container {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-8);
}

.auth-card {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: var(--radius-2xl);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
    padding: var(--space-12);
    width: 100%;
    max-width: 480px;
    position: relative;
    overflow: hidden;
}

/* Decorative background elements for Auth Card */
.auth-card::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 150px;
    height: 150px;
    background: linear-gradient(135deg, var(--eyou-purple), var(--eyou-teal));
    filter: blur(60px);
    opacity: 0.15;
    z-index: 0;
    border-radius: 50%;
}

.auth-card::after {
    content: '';
    position: absolute;
    bottom: -50px;
    left: -50px;
    width: 120px;
    height: 120px;
    background: var(--eyou-orange);
    filter: blur(50px);
    opacity: 0.1;
    z-index: 0;
    border-radius: 50%;
}

.auth-content {
    position: relative;
    z-index: 1;
}

/* Logo */
.auth-logo {
    max-width: 160px;
    margin-bottom: var(--space-8);
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* Form Elements */
.form-label {
    font-weight: var(--font-medium);
    color: var(--eyou-text-primary);
    margin-bottom: var(--space-2);
    font-size: var(--text-base);
}

.form-control,
.form-select {
    border-radius: var(--radius-lg);
    padding: var(--space-3) var(--space-4);
    border: 1px solid var(--eyou-border);
    font-size: var(--text-md);
    transition: all var(--transition-base);
    background-color: var(--eyou-input-bg);
    min-height: 48px;
    background-image: none;
}

/* Re-add bootstrap arrow for select but verify position */
.form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right var(--space-4) center;
    background-size: 16px 12px;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--eyou-purple);
    box-shadow: 0 0 0 4px rgba(var(--bs-primary-rgb), 0.1);
    background-color: #fff;
}

.input-group-text {
    border-radius: var(--radius-lg);
    border: 1px solid var(--eyou-border);
    background-color: var(--eyou-input-bg);
    cursor: pointer;
    color: var(--eyou-text-muted);
    min-height: 48px;
    display: flex;
    align-items: center;
}

.input-group .btn {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Buttons */
.auth-container .btn-primary,
.login-split .btn-primary {
    padding: 0.85rem;
    width: 100%;
}

.btn-primary {
    background: linear-gradient(135deg, var(--eyou-purple, #3f3cbb) 0%, var(--eyou-purple-dark, #312e81) 100%);
    border: none;
    color: #fff;
    font-weight: var(--font-semibold);
    letter-spacing: 0.3px;
    box-shadow: 0 4px 12px rgba(var(--bs-primary-rgb, 63, 60, 187), 0.2);
    transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    color: #fff;
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(var(--bs-primary-rgb), 0.3);
}

.btn-link {
    color: var(--eyou-purple);
    text-decoration: none;
    font-weight: var(--font-medium);
    font-size: var(--text-base);
}

.btn-link:hover {
    color: var(--eyou-purple-dark);
    text-decoration: underline;
}

/* Password Strength Meter */
.password-strength {
    height: 4px;
    border-radius: 2px;
    background: var(--eyou-border);
    margin-top: var(--space-2);
    overflow: hidden;
    transition: all var(--transition-slow);
}

.strength-bar {
    height: 100%;
    width: 0;
    transition: width var(--transition-slow), background-color var(--transition-slow);
}

.strength-text {
    font-size: var(--text-xs);
    margin-top: var(--space-1);
    color: var(--eyou-text-muted);
    text-align: right;
}

/* Alerts */
.alert {
    border: none;
    border-radius: var(--radius-lg);
    font-size: var(--text-base);
    padding: var(--space-4);
    display: flex;
    align-items: center;
    margin-bottom: var(--space-6);
}

.alert-danger {
    background-color: #fef2f2;
    color: #991b1b;
}

/* Split Screen for Login (Desktop) */
@media (min-width: 992px) {
    .login-split {
        display: flex;
        height: 100vh;
        width: 100%;
    }

    .login-left {
        width: 50%;
        background: linear-gradient(135deg, #0f0c29, #302b63, #24243e);
        position: relative;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 4rem;
        color: white;
    }

    .login-left::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url('../img/login-bg.png');
        background-size: cover;
        background-position: center;
        opacity: 0.4;
        mix-blend-mode: overlay;
    }

    .login-right {
        width: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        background: white;
        padding: var(--space-8);
    }

    .login-card-clean {
        width: 100%;
        max-width: 420px;
    }
}

/* Sidebar Chevron Transition */
.transition-icon {
    transition: transform var(--transition-slow);
}

[aria-expanded="true"] .transition-icon {
    transform: rotate(180deg);
}

/* ── intl-tel-input integration with Bootstrap ─────────────────────────── */
.iti { width: 100%; }
.iti__tel-input { padding-left: 52px !important; }
.iti--separate-dial-code .iti__tel-input { padding-left: 90px !important; }

/* Sidebar: regras consolidadas em dashboard.css — overrides removidos */