:root {
    --primary: #e91e63;
    --white: #ffffff;
    --gray-bg: #f5f7fa;
}

* { box-sizing: border-box; margin: 0; padding: 0; font-family: 'Segoe UI', sans-serif; }

body {
    background-color: var(--gray-bg);
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
}

/* Main Card Wrapper */
.auth-wrapper {
    background: var(--white);
    width: 100%;
    max-width: 900px;
    height: 500px;
    border-radius: 20px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
    overflow: hidden;
    display: flex;
    margin: 20px;
}

/* LEFT SIDE (Updated) */
.auth-left {
    flex: 1;
    background: linear-gradient(135deg, #e91e63, #ff6090);
    padding: 40px;
    display: flex;
    flex-direction: column;
    
    /* Center Alignment Implemented */
    justify-content: center; /* Upar se niche center */
    align-items: center;     /* Left se right center */
    text-align: center;      /* Text center */
    
    color: var(--white);
    position: relative;
}

.auth-left::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background: url('https://images.unsplash.com/photo-1515934751635-c81c6bc9a2d8?q=80&w=1000&auto=format&fit=crop');
    background-size: cover; background-position: center; opacity: 0.2;
}

.brand-content { position: relative; z-index: 2; }
.brand-content h1 { font-size: 2.5rem; font-weight: bold; margin-bottom: 10px; }
.brand-content p { font-size: 1.1rem; opacity: 0.9; }

/* RIGHT SIDE */
.auth-right {
    flex: 1;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center; /* Upar-Niche Center */
    align-items: center;     /* Left-Right Center */
    text-align: center;      /* Text Center */
    width: 100%;             
}

/* Google Button Wrapper */
.google-btn-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 20px 0;
}

.auth-header { margin-bottom: 20px; text-align: center; }
.auth-header h2 { color: #333; font-size: 1.8rem; margin-bottom: 5px; }
.auth-header p { color: #666; font-size: 0.95rem; }

/* Alert Box */
.alert {
    padding: 10px; border-radius: 5px; margin-bottom: 15px; font-size: 0.9rem; text-align: center; width: 100%;
}
.error { background: #ffebee; color: #c62828; border: 1px solid #ffcdd2; }

/* Mobile Responsive */
@media (max-width: 768px) {
    .auth-left { display: none; }
    .auth-wrapper { height: auto; min-height: 400px; margin: 20px; }
    .auth-right { padding: 30px; }
}