/* css/mandarina.css */
:root {
    --android-bg: #0f172a;
    --android-surface: #1e293b;
    --android-primary: #ff9800; /* Naranja Mandarina */
    --android-secondary: #F39C12;
    --android-error: #ef4444;
    --text-primary: #f8fafc;
    --text-secondary: #cbd5e1;
    --text-hint: #64748b;
    --border-radius: 12px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body.form-page, body.loader-page {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background: var(--android-bg) !important;
    font-family: 'Roboto', 'Comfortaa', sans-serif;
    color: var(--text-primary);
    padding: 20px;
    overflow: hidden;
}

/* --- ESTILOS DEL LOGIN --- */
.login-container { width: 100%; max-width: 400px; margin: 0 auto; }
.login-header { text-align: center; margin-bottom: 40px; }

.app-logo { font-family: 'Comfortaa', cursive; font-size: 3rem; font-weight: 900; margin-bottom: 16px; letter-spacing: -1px; }
.app-logo span:nth-child(1) { color: var(--android-primary); }
.app-logo span:nth-child(2) { color: #ffffff; }

.app-subtitle { color: var(--text-secondary); font-size: 1.1rem; font-family: 'Roboto', sans-serif; }

.login-card {
    background: var(--android-surface); border-radius: var(--border-radius);
    padding: 32px 24px; box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    border: 1px solid rgba(255,255,255,0.1); width: 100%; text-align: center;
}

.input-group { margin-bottom: 30px; position: relative; width: 100%; }
.input-label { display: block; margin-bottom: 8px; color: var(--text-secondary); font-size: 0.9rem; font-weight: 500; }

.input-field {
    width: 100%; padding: 16px; background: rgba(255,255,255,0.05);
    border: 2px solid rgba(255,255,255,0.1); border-radius: var(--border-radius);
    color: var(--android-primary); font-size: 1.5rem; text-align: center;
    transition: all 0.3s ease; outline: none; letter-spacing: 2px; font-weight: bold;
}
.input-field:focus { border-color: var(--android-primary); background: rgba(255,255,255,0.08); box-shadow: 0 0 0 4px rgba(255, 152, 0, 0.1); }

.login-button {
    width: 100%; padding: 16px; background: linear-gradient(135deg, #ff9800, #F39C12);
    color: white; border: none; border-radius: var(--border-radius);
    font-size: 1rem; font-weight: 600; cursor: pointer; transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 152, 0, 0.3); margin-bottom: 20px; text-transform: uppercase;
}
.login-button:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(255, 152, 0, 0.4); }

.error-message { color: var(--android-error); font-size: 0.85rem; margin-top: 4px; display: none; }
.input-field.error { border-color: var(--android-error); }

/* --- ESTILOS DEL LOADER --- */
.loader-container { text-align: center; padding: 40px; }
.spinner { width: 80px; height: 80px; border: 6px solid #1e2c3b; border-top: 6px solid var(--android-primary); border-radius: 50%; animation: spin 1.5s linear infinite; margin: 0 auto 30px; }
.message { font-size: 1.2rem; color: #cbd5e1; margin-bottom: 20px; }
.progress-bar { width: 300px; height: 6px; background: #1e2c3b; border-radius: 3px; margin: 0 auto; overflow: hidden; }
.progress { width: 0%; height: 100%; background: linear-gradient(90deg, #ff9800, #F39C12); border-radius: 3px; animation: progress 1.5s ease-in-out forwards; }

@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes progress { 0% { width: 0%; } 100% { width: 100%; } }