/* =============================================================
   STYLE.CSS — Sistema de Diseño Completo
   ============================================================= */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

/* --- Variables CSS --- */
:root {
    --bg-primary: #0f1923;
    --bg-secondary: #1a2634;
    --bg-card: #1e2d3d;
    --bg-surface: #243447;
    --bg-hover: #2a3f55;
    
    --text-primary: #e8edf2;
    --text-secondary: #8899a6;
    --text-muted: #5b7083;
    
    --accent-blue: #3498DB;
    --accent-blue-hover: #2980B9;
    --accent-green: #27AE60;
    --accent-green-hover: #2ECC71;
    --accent-red: #E74C3C;
    --accent-red-hover: #C0392B;
    --accent-yellow: #F39C12;
    --accent-yellow-hover: #E67E22;
    --accent-purple: #8E44AD;
    
    --color-en-curso: #D4E6F1;
    --color-en-curso-dark: #1B4F72;
    --color-intensif: #FEF9E7;
    --color-intensif-dark: #9A7D0A;
    --color-recursando: #EBF5FB;
    --color-recursando-dark: #2E86C1;
    --color-previas: #FDEDEC;
    --color-previas-dark: #943126;
    --color-acreditada: #D4EDDA;
    --color-acreditada-dark: #155724;
    
    --border-color: #2c3e50;
    --border-light: #34495e;
    
    --shadow-sm: 0 2px 4px rgba(0,0,0,0.3);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.4);
    --shadow-lg: 0 8px 32px rgba(0,0,0,0.5);
    --shadow-glow: 0 0 20px rgba(52, 152, 219, 0.15);
    
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 16px;
    --radius-xl: 20px;
    
    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* --- Reset & Base --- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { font-size: 14px; }

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    background: var(--bg-primary);
    color: var(--text-primary);
    min-height: 100vh;
    overflow: hidden;
}

::selection { background: var(--accent-blue); color: white; }

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--border-color); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--accent-blue); }

/* --- Layout Principal --- */
.app-container {
    display: flex;
    height: 100vh;
    overflow: hidden;
}

/* --- Panel Lateral --- */
.sidebar {
    width: 230px;
    min-width: 230px;
    background: var(--bg-secondary);
    border-right: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    padding: 20px 14px;
    gap: 8px;
    overflow-y: auto;
}

.sidebar-title {
    font-size: 1.1rem;
    font-weight: 700;
    text-align: center;
    color: var(--text-primary);
    margin-bottom: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.sidebar-divider {
    border: none;
    height: 1px;
    background: var(--border-color);
    margin: 6px 0;
}

.sidebar .btn {
    width: 100%;
    justify-content: flex-start;
    font-size: 0.85rem;
    padding: 11px 14px;
    gap: 8px;
}

.sidebar-spacer { flex: 1; }

/* --- Botones --- */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 18px;
    border: none;
    border-radius: var(--radius-sm);
    font-family: inherit;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
    white-space: nowrap;
    outline: none;
    position: relative;
    overflow: hidden;
}
.btn:active { transform: scale(0.97); }

.btn-alta { background: var(--accent-green); color: white; }
.btn-alta:hover { background: var(--accent-green-hover); box-shadow: 0 0 12px rgba(39,174,96,0.35); }

.btn-modificar { background: var(--accent-yellow); color: #212529; }
.btn-modificar:hover { background: var(--accent-yellow-hover); color: white; }

.btn-baja { background: var(--accent-red); color: white; }
.btn-baja:hover { background: var(--accent-red-hover); }

.btn-acta { background: #34495E; color: white; }
.btn-acta:hover { background: #2c3e50; }

.btn-exportar { background: var(--accent-green); color: white; }
.btn-exportar:hover { background: #1e8449; }

.btn-config { background: var(--accent-purple); color: white; }
.btn-config:hover { background: #7D3C98; }

.btn-autor { background: var(--accent-blue); color: white; }
.btn-autor:hover { background: var(--accent-blue-hover); }

.btn-cerrar-sistema { background: #6C757D; color: white; }
.btn-cerrar-sistema:hover { background: #5a6268; }

.btn-primary { background: var(--accent-blue); color: white; }
.btn-primary:hover { background: var(--accent-blue-hover); }

.btn-secondary { background: var(--bg-surface); color: var(--text-primary); border: 1px solid var(--border-color); }
.btn-secondary:hover { background: var(--bg-hover); }

.btn-success { background: var(--accent-green); color: white; }
.btn-success:hover { background: var(--accent-green-hover); }

.btn-danger { background: var(--accent-red); color: white; }
.btn-danger:hover { background: var(--accent-red-hover); }

.btn-sm { padding: 6px 12px; font-size: 0.78rem; }

.btn-guardar-grande {
    width: 100%;
    padding: 14px;
    font-size: 1rem;
    font-weight: 700;
    background: linear-gradient(135deg, #27AE60, #2ECC71);
    color: white;
    border-radius: var(--radius-md);
    text-transform: uppercase;
    letter-spacing: 1px;
}
.btn-guardar-grande:hover {
    background: linear-gradient(135deg, #2ECC71, #27AE60);
    box-shadow: 0 0 20px rgba(46, 204, 113, 0.3);
}

/* --- Contenido Principal --- */
.main-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 20px;
    gap: 14px;
    overflow: hidden;
}

/* --- Barra Superior (Búsqueda + Filtros) --- */
.top-bar {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.search-box {
    position: relative;
    flex: 0 0 280px;
}
.search-box input {
    width: 100%;
    padding: 10px 14px 10px 38px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    color: var(--text-primary);
    font-family: inherit;
    font-size: 0.85rem;
    transition: var(--transition);
    outline: none;
}
.search-box input:focus {
    border-color: var(--accent-blue);
    box-shadow: 0 0 0 3px rgba(52,152,219,0.15);
}
.search-box input::placeholder { color: var(--text-muted); }
.search-box::before {
    content: '🔍';
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.85rem;
}

.filter-group {
    display: flex;
    gap: 8px;
    margin-left: auto;
}

.btn-filter {
    padding: 10px 18px;
    border-radius: var(--radius-lg);
    font-weight: 600;
    font-size: 0.82rem;
    border: 2px solid;
    cursor: pointer;
    transition: var(--transition);
    font-family: inherit;
    background: var(--bg-card);
}

.btn-filter-todos { border-color: #AED6F1; color: #2E86C1; }
.btn-filter-todos:hover { background: #1a3a5c; }
.btn-filter-todos.active { background: #2980B9; color: white; border-color: #1B4F72; }

.btn-filter-seguimiento { border-color: #F1948A; color: #E74C3C; }
.btn-filter-seguimiento:hover { background: #3a1a1a; }
.btn-filter-seguimiento.active { background: #E74C3C; color: white; border-color: #943126; }

.btn-filter-aldia { border-color: #82E0AA; color: #27AE60; }
.btn-filter-aldia:hover { background: #1a3a2a; }
.btn-filter-aldia.active { background: #27AE60; color: white; border-color: #196F3D; }

/* --- Tabla de Alumnos --- */
.table-container {
    flex: 1;
    overflow: auto;
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
    background: var(--bg-card);
}

table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

thead {
    position: sticky;
    top: 0;
    z-index: 5;
}

th {
    background: var(--bg-secondary);
    color: var(--text-secondary);
    font-weight: 600;
    padding: 12px 14px;
    text-align: left;
    border-bottom: 2px solid var(--border-color);
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.5px;
}

td {
    padding: 10px 14px;
    border-bottom: 1px solid var(--border-color);
    transition: background 0.15s;
}

tr:hover td { background: var(--bg-hover); }

tr { cursor: pointer; }

.td-center { text-align: center; }

.estado-ok { color: #27AE60; font-weight: 700; }
.estado-warn { color: #E67E22; font-weight: 700; }
.estado-danger { color: #E74C3C; font-weight: 700; }
.cond-recursante { color: #E67E22; font-weight: 600; }

.tabla-vacia {
    text-align: center;
    padding: 60px 20px;
    color: var(--text-muted);
    font-size: 1rem;
}

/* --- Modales --- */
.modal-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.6);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    opacity: 0;
    transition: opacity 0.3s ease;
    padding: 20px;
}
.modal-overlay.active { opacity: 1; }

.modal {
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    width: 100%;
    max-width: 460px;
    max-height: 90vh;
    overflow-y: auto;
    transform: translateY(20px) scale(0.97);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.modal-overlay.active .modal { transform: translateY(0) scale(1); }

.modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 22px;
    border-bottom: 1px solid var(--border-color);
}
.modal-header h2 {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--text-primary);
}
.modal-close {
    background: none;
    border: none;
    color: var(--text-secondary);
    font-size: 1.4rem;
    cursor: pointer;
    padding: 4px;
    border-radius: 4px;
    transition: var(--transition);
    line-height: 1;
}
.modal-close:hover { color: var(--accent-red); background: rgba(231,76,60,0.1); }

.modal-body { padding: 22px; }

.modal-footer {
    padding: 14px 22px;
    border-top: 1px solid var(--border-color);
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

/* --- Modal de confirmación --- */
.modal-confirm {
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    padding: 28px;
    max-width: 420px;
    width: 100%;
    text-align: center;
    transform: translateY(20px) scale(0.97);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.modal-confirm-overlay.active .modal-confirm { transform: translateY(0) scale(1); }
.modal-confirm h3 { margin-bottom: 12px; font-size: 1.1rem; }
.modal-confirm p { color: var(--text-secondary); margin-bottom: 20px; line-height: 1.5; white-space: pre-line; }
.modal-confirm-buttons { display: flex; gap: 10px; justify-content: center; }

/* --- Formularios --- */
.form-group {
    margin-bottom: 16px;
}
.form-group label {
    display: block;
    font-weight: 600;
    font-size: 0.82rem;
    color: var(--text-secondary);
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.form-group input,
.form-group select {
    width: 100%;
    padding: 10px 14px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-family: inherit;
    font-size: 0.9rem;
    transition: var(--transition);
    outline: none;
}
.form-group input:focus,
.form-group select:focus {
    border-color: var(--accent-blue);
    box-shadow: 0 0 0 3px rgba(52,152,219,0.15);
}
.form-group input::placeholder { color: var(--text-muted); }

.form-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    cursor: pointer;
}
.form-checkbox input[type="checkbox"] {
    width: 18px; height: 18px;
    accent-color: var(--accent-blue);
    cursor: pointer;
}

/* =================================
   FICHA DE TRAYECTORIA (Modal Full)
   ================================= */
.modal-tray-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: var(--bg-primary);
    z-index: 2000;
    display: flex;
    flex-direction: column;
    opacity: 0;
    transition: opacity 0.35s ease;
}
.modal-tray-overlay.active { opacity: 1; }

.tray-header {
    display: flex;
    align-items: center;
    padding: 14px 22px;
    background: var(--bg-secondary);
    border-bottom: 1px solid var(--border-color);
    gap: 16px;
    flex-shrink: 0;
}
.tray-header-info h2 {
    font-size: 1.15rem;
    color: var(--text-primary);
}
.tray-header-info span {
    font-size: 0.82rem;
    color: var(--text-secondary);
}
.tray-header-actions {
    margin-left: auto;
    display: flex;
    gap: 10px;
}

.btn-acreditadas {
    background: var(--color-acreditada);
    color: var(--color-acreditada-dark);
    font-weight: 700;
    border-radius: var(--radius-md);
    padding: 8px 16px;
}
.btn-acreditadas:hover { box-shadow: 0 0 12px rgba(39,174,96,0.3); }

.btn-cerrar-tray {
    background: var(--accent-red);
    color: white;
    padding: 8px 16px;
}

/* --- Contenido de la Trayectoria --- */
.tray-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 14px 22px;
    gap: 14px;
}

/* --- Zona de Listas (4 columnas) --- */
.listas-container {
    display: flex;
    gap: 10px;
    flex: 1;
    min-height: 0;
    overflow: hidden;
    justify-content: center;
}

.lista-columna {
    flex: 1;
    display: flex;
    flex-direction: column;
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
    overflow: hidden;
    min-width: 0;
    max-width: 320px;
    transition: var(--transition);
}

.lista-columna.active-editing {
    max-width: 380px;
}

.lista-columna-header {
    padding: 10px;
    text-align: center;
    font-weight: 700;
    font-size: 0.82rem;
    letter-spacing: 0.5px;
    flex-shrink: 0;
}

.col-encurso .lista-columna-header { background: var(--color-en-curso); color: var(--color-en-curso-dark); }
.col-intensif .lista-columna-header { background: var(--color-intensif); color: var(--color-intensif-dark); }
.col-recursando .lista-columna-header { background: var(--color-recursando); color: var(--color-recursando-dark); }
.col-previas .lista-columna-header { background: var(--color-previas); color: var(--color-previas-dark); }

.lista-items {
    flex: 1;
    overflow-y: auto;
    padding: 6px;
    background: var(--bg-card);
}

.lista-item {
    padding: 8px 10px;
    border-radius: var(--radius-sm);
    font-size: 0.82rem;
    cursor: pointer;
    transition: var(--transition);
    display: flex;
    align-items: center;
    gap: 6px;
    user-select: none;
    margin-bottom: 3px;
}
.lista-item:hover { background: var(--bg-hover); }
.lista-item.selected { background: var(--accent-blue); color: white; }

/* --- Panel Detalle (aparece al seleccionar materia) --- */
.detail-panel {
    width: 0;
    max-width: 0;
    overflow: hidden;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
}
.detail-panel.open {
    flex: 2;
    max-width: 800px;
    min-width: 400px;
    margin-left: 10px;
}
.detail-panel-inner {
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    overflow-y: auto;
    flex: 1;
}

.detail-categoria {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--color-en-curso-dark);
    background: rgba(52,152,219,0.15);
    padding: 5px 10px;
    border-radius: var(--radius-sm);
    display: inline-block;
}
.detail-materia {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--text-primary);
}
.detail-anio {
    font-size: 0.9rem;
    color: var(--text-secondary);
}

/* --- Notas / Promedio --- */
.notas-form { display: flex; flex-direction: column; gap: 10px; }
.notas-form .form-group { margin-bottom: 0; }
.promedio-label {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--accent-green);
    padding: 8px 0;
}

/* --- Instancias de Intensificación --- */
.instancias-grid {
    display: grid;
    grid-template-columns: auto 1fr 1fr;
    gap: 6px 10px;
    align-items: center;
    font-size: 0.82rem;
}
.instancias-grid .inst-header {
    font-weight: 700;
    color: var(--text-secondary);
    padding-bottom: 4px;
    border-bottom: 1px solid var(--border-color);
    font-size: 0.75rem;
    text-transform: uppercase;
}
.instancias-grid select {
    padding: 6px 8px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-family: inherit;
    font-size: 0.82rem;
    outline: none;
}
.instancias-grid select:focus { border-color: var(--accent-blue); }
.instancias-grid select:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.detail-actions {
    display: flex;
    gap: 8px;
    margin-top: auto;
    padding-top: 10px;
}
.detail-actions .btn { flex: 1; }

/* --- Panel de Despacho --- */
.despacho-panel {
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    padding: 14px;
    flex-shrink: 0;
}
.despacho-title {
    font-weight: 700;
    font-size: 0.9rem;
    margin-bottom: 10px;
    color: var(--text-primary);
}

.despacho-filtros {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}
.despacho-filtros label {
    font-size: 0.82rem;
    color: var(--text-secondary);
    font-weight: 600;
}

.btn-anio {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-color);
    background: var(--bg-card);
    color: var(--text-primary);
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
    transition: var(--transition);
    font-family: inherit;
}
.btn-anio:hover { background: var(--bg-hover); }
.btn-anio.active { background: var(--accent-blue); color: white; border-color: var(--accent-blue); }

.selector-materias {
    max-height: 130px;
    overflow-y: auto;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    background: var(--bg-card);
    margin-bottom: 10px;
}

.selector-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    font-size: 0.82rem;
    cursor: pointer;
    transition: background 0.15s;
}
.selector-item:hover { background: var(--bg-hover); }
.selector-item input[type="checkbox"] {
    accent-color: var(--accent-blue);
    cursor: pointer;
}

.despacho-botones {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.btn-despacho {
    flex: 1;
    min-width: 120px;
    padding: 9px 12px;
    font-weight: 700;
    font-size: 0.78rem;
    border-radius: var(--radius-sm);
    border: 2px solid;
    cursor: pointer;
    transition: var(--transition);
    font-family: inherit;
    background: var(--bg-card);
}
.btn-despacho:hover { color: white !important; }

.btn-despacho-curso { border-color: var(--color-en-curso-dark); color: var(--color-en-curso-dark); }
.btn-despacho-curso:hover { background: var(--color-en-curso-dark); }

.btn-despacho-intensif { border-color: var(--color-intensif-dark); color: var(--color-intensif-dark); }
.btn-despacho-intensif:hover { background: var(--color-intensif-dark); }

.btn-despacho-recursando { border-color: var(--color-recursando-dark); color: var(--color-recursando-dark); }
.btn-despacho-recursando:hover { background: var(--color-recursando-dark); }

.btn-despacho-previas { border-color: var(--color-previas-dark); color: var(--color-previas-dark); }
.btn-despacho-previas:hover { background: var(--color-previas-dark); }

/* --- Contador Total --- */
.contador-total {
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--accent-blue);
    padding: 8px 0;
    text-align: center;
    flex-shrink: 0;
}
.contador-total.alerta { color: var(--accent-red); }

/* --- Menú Contextual --- */
.context-menu {
    position: fixed;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-lg);
    z-index: 5000;
    min-width: 180px;
    padding: 4px 0;
    animation: fadeIn 0.15s ease;
}
.context-menu-item {
    padding: 9px 16px;
    font-size: 0.82rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background 0.15s;
}
.context-menu-item:hover { background: var(--bg-hover); }
.context-menu-sep {
    height: 1px;
    background: var(--border-color);
    margin: 4px 0;
}

/* --- Modal Acreditadas --- */
.acreditadas-list {
    max-height: 260px;
    overflow-y: auto;
}
.acreditada-item {
    padding: 10px 12px;
    border-bottom: 1px solid var(--border-color);
    font-size: 0.82rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background 0.15s;
}
.acreditada-item:hover { background: var(--bg-hover); }
.acreditada-item .btn-anular {
    background: none;
    border: none;
    color: var(--accent-red);
    cursor: pointer;
    font-size: 0.82rem;
    padding: 4px 8px;
    border-radius: var(--radius-sm);
    transition: var(--transition);
}
.acreditada-item .btn-anular:hover { background: rgba(231,76,60,0.15); }

/* --- Animaciones --- */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes slideUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

/* --- Aviso Vacío --- */
.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px;
    color: var(--text-muted);
    text-align: center;
    gap: 10px;
}
.empty-state-icon { font-size: 2.5rem; }
.empty-state-text { font-size: 0.9rem; }

/* --- Acerca de --- */
.about-content { text-align: center; line-height: 1.8; }
.about-content h3 { color: var(--accent-blue); margin-bottom: 10px; }
.about-content hr { border: none; height: 1px; background: var(--border-color); margin: 12px 0; }
 
 / *   - - -   L o g i n   O v e r l a y   - - -   * /  
 . l o g i n - o v e r l a y   {   p o s i t i o n :   f i x e d ;   t o p :   0 ;   l e f t :   0 ;   w i d t h :   1 0 0 v w ;   h e i g h t :   1 0 0 v h ;   b a c k g r o u n d :   r g b a ( 1 5 ,   2 5 ,   3 5 ,   0 . 9 5 ) ;   d i s p l a y :   f l e x ;   a l i g n - i t e m s :   c e n t e r ;   j u s t i f y - c o n t e n t :   c e n t e r ;   z - i n d e x :   9 9 9 9 ;   b a c k d r o p - f i l t e r :   b l u r ( 1 0 p x ) ;   }  
 . l o g i n - b o x   {   b a c k g r o u n d :   v a r ( - - b g - c a r d ) ;   p a d d i n g :   4 0 p x ;   b o r d e r - r a d i u s :   v a r ( - - r a d i u s - l g ) ;   b o x - s h a d o w :   v a r ( - - s h a d o w - l g ) ;   w i d t h :   1 0 0 % ;   m a x - w i d t h :   4 0 0 p x ;   t e x t - a l i g n :   c e n t e r ;   b o r d e r :   1 p x   s o l i d   v a r ( - - b o r d e r - c o l o r ) ;   }  
 . l o g i n - b o x   h 2   {   m a r g i n - b o t t o m :   5 p x ;   c o l o r :   v a r ( - - t e x t - p r i m a r y ) ;   }  
 . l o g i n - b o x   p   {   c o l o r :   v a r ( - - t e x t - s e c o n d a r y ) ;   m a r g i n - b o t t o m :   2 5 p x ;   }  
 . b t n - l o g i n   {   w i d t h :   1 0 0 % ;   p a d d i n g :   1 2 p x ;   m a r g i n - t o p :   2 0 p x ;   b a c k g r o u n d :   v a r ( - - a c c e n t - b l u e ) ;   c o l o r :   w h i t e ;   b o r d e r :   n o n e ;   b o r d e r - r a d i u s :   v a r ( - - r a d i u s - m d ) ;   f o n t - w e i g h t :   6 0 0 ;   c u r s o r :   p o i n t e r ;   t r a n s i t i o n :   b a c k g r o u n d   0 . 2 s ;   }  
 . b t n - l o g i n : h o v e r   {   b a c k g r o u n d :   v a r ( - - a c c e n t - b l u e - h o v e r ) ;   }  
 . l o g i n - e r r o r   {   c o l o r :   v a r ( - - a c c e n t - r e d ) ;   b a c k g r o u n d :   r g b a ( 2 3 1 ,   7 6 ,   6 0 ,   0 . 1 ) ;   p a d d i n g :   1 0 p x ;   b o r d e r - r a d i u s :   v a r ( - - r a d i u s - s m ) ;   m a r g i n - t o p :   1 5 p x ;   f o n t - s i z e :   0 . 9 r e m ;   b o r d e r :   1 p x   s o l i d   r g b a ( 2 3 1 ,   7 6 ,   6 0 ,   0 . 2 ) ;   }  
 