/* --- 4.5 LOGIN --- */
.login-view { position: relative; width: 100%; height: 100%; background-color: var(--bg-app); }
.login-bg { position: absolute; inset: 0; z-index: 1; }
.login-bg img { width: 100%; height: 100%; object-fit: cover; opacity: 0.8; filter: blur(8px); }
.login-overlay {
    position: absolute; inset: 0;
    background:
        linear-gradient(to bottom, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0) 25%),
        linear-gradient(to bottom, rgba(0,0,0,0) 38%, rgba(0,0,0,0.5) 50%, #000 58%);
}

.login-close {
    position: absolute; top: 16px; right: 16px; z-index: 10;
    width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; color: var(--text);
}
.login-logo-container {
    position: absolute; top: 25%; left: 0; right: 0; z-index: 10; text-align: center;
    display: flex; flex-direction: column; align-items: center;
}
.login-logo {
    width: 64px; height: 64px; background: transparent;
    display: flex; align-items: center; justify-content: center; margin-bottom: 16px;
}
.login-logo i { color: var(--primary); width: 48px; height: 48px; }
.login-logo-container h1 { font-size: 28px; font-weight: 600; margin-bottom: 8px; color: var(--text); }
.login-logo-container p { font-size: 14px; color: var(--text-muted); }

.login-methods {
    position: absolute; bottom: 120px; left: 24px; right: 24px; z-index: 10;
    display: flex; flex-direction: column; gap: 12px;
}
.btn-phone {
    width: 100%; padding: 14px; border: none; background: var(--primary-gradient); color: #fff;
    font-size: 15px; font-weight: 500; display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: var(--radius-full);
}
.btn-google {
    width: 100%; padding: 14px; border: 1px solid #333; background: transparent;
    color: var(--text); font-size: 15px; font-weight: 500; display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: var(--radius-full);
}
.login-agreement { margin-top: 12px; text-align: center; }
.checkbox-container {
    display: inline-flex; align-items: center; position: relative; padding-left: 24px;
    font-size: 11px; color: #666;
}
.checkbox-container input { position: absolute; opacity: 0; }
.checkmark {
    position: absolute; left: 0; top: 50%; transform: translateY(-50%);
    height: 14px; width: 14px; border: 1px solid #666; background: transparent; border-radius: 4px;
}
.checkbox-container input:checked ~ .checkmark { background-color: var(--primary); border-color: var(--primary); }
.checkmark:after {
    content: ""; position: absolute; display: none; left: 4px; top: 1px;
    width: 3px; height: 7px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.checkbox-container input:checked ~ .checkmark:after { display: block; }
.checkbox-container a { color: var(--text-muted); text-decoration: underline; }
