@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');



:root {

    --primary-blue: #1d4ed8;

    --primary-hover: #1e3a8a;

    --text-main: #0f172a;

    --text-muted: #64748b;

    --bg-light: #f8fafc;

    --border-light: #e2e8f0;

}



body {

    font-family: 'Inter', system-ui, -apple-system, sans-serif;

    background-color: var(--bg-light);

    color: var(--text-main);

    min-height: 100vh;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    position: relative;

    overflow-x: hidden;

}



/* Beautiful Abstract Background */

body::before, body::after {

    content: '';

    position: absolute;

    border-radius: 50%;

    z-index: -1;

    filter: blur(100px);

}

body::before {

    width: 600px;

    height: 600px;

    background: rgba(29, 78, 216, 0.08);

    top: -200px;

    left: -200px;

}

body::after {

    width: 500px;

    height: 500px;

    background: rgba(29, 78, 216, 0.08);

    bottom: -150px;

    right: -100px;

}



/* Layout Elements */

.auth-logo {

    display: flex;

    align-items: center;

    gap: 8px;

    font-weight: 800;

    font-size: 1.5rem;

    color: var(--text-main);

    text-decoration: none;

    margin-bottom: 2rem;

}



.auth-card {

    background: #ffffff;

    border-radius: 16px;

    padding: 3rem;

    width: 100%;

    max-width: 460px;

    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.01);

    border: 1px solid rgba(0, 0, 0, 0.04);

}



.auth-card h2 {

    font-weight: 700;

    font-size: 1.75rem;

    margin-bottom: 0.5rem;

}

.auth-card p.subtitle {

    color: var(--text-muted);

    font-size: 0.95rem;

    margin-bottom: 2rem;

}



/* Form Styles */

.form-group {

    margin-bottom: 1.25rem;

}

.form-label {

    display: block;

    font-weight: 600;

    font-size: 0.85rem;

    margin-bottom: 0.5rem;

}



.input-icon-wrapper {

    position: relative;

    display: flex;

    align-items: center;

}

.input-icon-wrapper .side-icon {

    position: absolute;

    left: 1rem;

    color: #94a3b8;

    width: 20px;

    height: 20px;

}

.input-icon-wrapper .action-icon {

    position: absolute;

    right: 1rem;

    color: #94a3b8;

    width: 20px;

    height: 20px;

    cursor: pointer;

    transition: color 0.2s;

}

.input-icon-wrapper .action-icon:hover {

    color: var(--text-main);

}

.form-control {

    width: 100%;

    padding: 0.75rem 1rem 0.75rem 2.8rem;

    border: 1px solid var(--border-light);

    border-radius: 8px;

    font-size: 0.95rem;

    color: var(--text-main);

    transition: all 0.2s;

}

.form-control:focus {

    outline: none;

    border-color: var(--primary-blue);

    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.1);

}



.auth-options {

    display: flex;

    justify-content: space-between;

    align-items: center;

    font-size: 0.85rem;

    margin-bottom: 1.5rem;

}

.custom-checkbox {

    display: flex;

    align-items: center;

    gap: 0.5rem;

    color: var(--text-main);

    cursor: pointer;

}

.custom-checkbox input[type="checkbox"] {

    width: 16px;

    height: 16px;

    cursor: pointer;

    border-radius: 4px;

}

.auth-link {

    color: var(--primary-blue);

    font-weight: 600;

    text-decoration: none;

}

.auth-link:hover {

    text-decoration: underline;

}



.btn-primary {

    width: 100%;

    background-color: var(--primary-blue);

    color: #ffffff;

    font-weight: 600;

    font-size: 1rem;

    padding: 0.85rem;

    border: none;

    border-radius: 8px;

    cursor: pointer;

    transition: background-color 0.2s;

}

.btn-primary:hover {

    background-color: var(--primary-hover);

}



/* Divider */

.divider {

    display: flex;

    align-items: center;

    text-align: center;

    margin: 1.5rem 0;

}

.divider::before, .divider::after {

    content: '';

    flex: 1;

    border-bottom: 1px solid var(--border-light);

}

.divider span {

    padding: 0 1rem;

    color: var(--text-muted);

    font-size: 0.85rem;

}



/* Social Buttons */

.btn-social {

    width: 100%;

    background-color: #ffffff;

    border: 1px solid var(--border-light);

    color: var(--text-main);

    font-weight: 600;

    font-size: 0.95rem;

    padding: 0.75rem;

    border-radius: 8px;

    cursor: pointer;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 0.75rem;

    margin-bottom: 0.75rem;

    transition: background-color 0.2s;

}

.btn-social:hover {

    background-color: var(--bg-light);

}



.footer-text {

    margin-top: 3rem;

    color: var(--text-muted);

    font-size: 0.8rem;

}


