/* ============================================
   16. FORMS & AUTHENTICATION
   ============================================ */

.form-group {
    margin-bottom:16px;
}

.form-group label {
    display:block;
    font-family:'IBM Plex Mono',monospace;
    font-size:0.875rem;
    margin-bottom:4px;
}

.form-group input {
    width:100%;
    padding:12px;
    border:none;
    background:var(--white);
    font-family:'IBM Plex Mono',monospace;
    font-size:1rem;
}

.form-group input:focus {
    outline:none;
    box-shadow:none;
}

.auth-error {
    color:var(--dark-red);
    font-family:'IBM Plex Mono',monospace;
    font-size:0.875rem;
    margin-bottom:16px;
    display:none;
}

.auth-error.show {
    display:block;
}

.auth-success {
    color:var(--dark-green);
    font-family:'IBM Plex Mono',monospace;
    font-size:0.875rem;
    margin-bottom:16px;
    display:none;
}

.auth-success.show {
    display:block;
}

/* Auth Modal */
.auth-modal {
    display:none;
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background:rgba(0,0,0,0.8);
    z-index:2000;
    align-items:center;
    justify-content:center;
}

.auth-modal.active {
    display:flex;
}

.auth-box {
    background:var(--white);
    border:none;
    padding:32px;
    max-width:400px;
    width:90%;
    position:relative;
    box-shadow:none;
}

.close-auth {
    position:absolute;
    top:8px;
    right:12px;
    background:none;
    border:none;
    font-size:2rem;
    cursor:pointer;
    font-family:'IBM Plex Mono',monospace;
    color:var(--black);
}

.close-auth:hover {
}

.auth-tabs {
    display:flex;
    gap:16px;
    margin-bottom:24px;
}

.auth-tab {
    background:var(--white);
    border:none;
    padding:8px 24px;
    font-family:'IBM Plex Mono',monospace;
    font-size:0.875rem;
    cursor:pointer;
    color:var(--black);
}

.auth-tab.active {
    background:var(--black);
    color:var(--white);
}

.auth-form {
    display:none;
}

.auth-form.active {
    display:block;
}

/* User Avatar */
.user-avatar {
    background:var(--black);
    color:var(--white);
    width:32px;
    height:32px;
    border-radius:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:'IBM Plex Mono',monospace;
    font-size:0.875rem;
    font-weight:600;
}

.logout-btn {
    background:none;
    border:none;
    color:var(--white);
    font-family:'IBM Plex Mono',monospace;
    font-size:0.875rem;
    cursor:pointer;
    text-decoration:none;
}

.logout-btn:hover {
}

.nav-links .logout-btn {
    display:block;
    width:100%;
    padding:16px 0;
    border-bottom:none;
    text-align:left;
    pointer-events:auto;
}

.nav-links .logout-btn:hover {
}

.logout-btn:hover {
}