@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--downriver: #0B1E4F;--azure: #0082E6;--science: #006EDB;--minsk: #413E96;--turquoise: #00D4EB;--primary: #0082E6;--primary-dark: #006EDB;--primary-light: #3da2f0;--primary-bg: #e8f4fd;--accent: #00D4EB;--bg-gradient: linear-gradient(135deg, #0B1E4F 0%, #0d2a5e 30%, #0F3672 60%, #0082E6 100%);--text: #1e293b;--text-light: #64748b;--text-muted: #94a3b8;--border: #e2e8f0;--border-focus: #0082E6;--card-bg: #ffffff;--success: #10b981;--success-bg: #ecfdf5;--error: #ef4444;--error-bg: #fef2f2;--warn: #f59e0b;--warn-bg: #fffbeb;--radius: 12px;--radius-sm: 9px;--radius-xs: 6px;--radius-pill: 100px;--shadow: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1);--shadow-xl: 0 25px 50px -12px rgba(0,0,0,.25);--shadow-card: 0 25px 60px -15px rgba(0,0,0,.35);--shadow-hover: 0 4px 15px rgba(0, 130, 230, .15);--transition: all .3s cubic-bezier(.4, 0, .2, 1)}body{font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--downriver);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased}#root{min-height:100vh}.hidden{display:none!important}.app-bg{min-height:100vh;background:var(--bg-gradient);display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden;padding:20px}.bg-shapes{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.bg-shape{position:absolute;border-radius:50%;filter:blur(60px)}.bg-shape-1{width:500px;height:500px;top:-150px;right:-100px;background:#0082e61a}.bg-shape-2{width:400px;height:400px;bottom:-100px;left:-80px;background:#413e961f}.bg-shape-3{width:250px;height:250px;top:40%;left:50%;background:#00d4eb14}.app-center{position:relative;z-index:2;width:100%;max-width:480px;display:flex;flex-direction:column;align-items:center}.app-logo{margin-top:8px;margin-bottom:24px;text-align:center;animation:fadeDown .6s ease-out}.app-logo-link{display:inline-block;text-decoration:none;line-height:0}.app-logo img{height:44px;filter:brightness(1.1)}.app-logo img path{fill:inherit!important}.app-logo-fallback{font-family:Montserrat,sans-serif;font-size:1.6rem;font-weight:800;color:#fff;letter-spacing:.02em}@keyframes fadeDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.app-card{width:100%;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-card);padding:40px 36px;animation:cardIn .5s ease-out .1s both;color:var(--text)}@keyframes cardIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.app-footer{margin-top:20px;text-align:center;animation:fadeDown .6s ease-out .3s both}.app-footer p{font-size:.75rem;color:#ffffff73;font-weight:500}.colegio-dropdown{position:relative;margin-bottom:24px}.dropdown-trigger{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:transparent;transition:var(--transition);font-size:.95rem;color:var(--text)}.dropdown-trigger:hover{border-color:var(--primary-light);background:var(--primary-bg)}.dropdown-trigger.open{border-color:var(--border);background:#fff;border-radius:var(--radius-sm) var(--radius-sm) 0 0;box-shadow:0 4px 20px #00000014}.dropdown-placeholder{color:var(--text-muted);font-weight:500;display:flex;align-items:center;gap:10px}.dropdown-arrow{display:flex;align-items:center;color:var(--text-muted);transition:transform .3s ease}.dropdown-arrow.open{transform:rotate(180deg);color:var(--primary)}.dropdown-menu{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border);border-top:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);box-shadow:0 8px 30px #0000001f;z-index:100;max-height:min(280px,50vh);display:flex;flex-direction:column;animation:dropdownSlide .2s ease-out}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dropdown-search-inline{display:flex;align-items:center;gap:10px;flex:1;color:var(--text-muted)}.dropdown-search-inline input{border:none;outline:none;font-size:.95rem;font-family:inherit;background:transparent;color:var(--text);width:100%;padding:0}.dropdown-search-inline input::placeholder{color:var(--text-muted);font-weight:500}.dropdown-list{overflow-y:scroll;flex:1;scrollbar-gutter:stable}.dropdown-list::-webkit-scrollbar{width:6px}.dropdown-list::-webkit-scrollbar-track{background:transparent}.dropdown-list::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.dropdown-list::-webkit-scrollbar-thumb:hover{background:#00000040}.dropdown-item{display:flex;align-items:center;gap:12px;padding:10px 14px;cursor:pointer;transition:var(--transition);border-bottom:1px solid #f1f5f9}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:var(--primary-bg)}.dropdown-item.active-keyboard{background:var(--primary-bg);outline:1px solid rgba(0,130,230,.35);outline-offset:-1px}.dropdown-item img{width:32px;height:32px;object-fit:contain;flex-shrink:0;border-radius:var(--radius-xs);background:#f1f3f5;padding:4px}.dropdown-item span{font-size:.88rem;font-weight:500;color:var(--text);text-wrap:pretty}.dropdown-empty{padding:28px;text-align:center;color:var(--text-muted);font-size:.88rem}.perfil-dropdown{position:relative;margin-bottom:18px}.perfil-dropdown .dropdown-trigger{padding:12px 16px;font-size:.88rem}.perfil-dropdown .dropdown-selected{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text)}.perfil-icon-dd{display:flex;align-items:center;color:var(--primary);flex-shrink:0}.perfil-icon-dd svg{width:18px;height:18px}.perfil-dropdown .dropdown-menu{max-height:220px}.perfil-dropdown .dropdown-item{gap:10px;padding:11px 16px;font-size:.88rem;font-weight:500}.perfil-dropdown .dropdown-item.selected{background:var(--primary-bg);color:var(--primary);font-weight:600}.perfil-dropdown .dropdown-item.selected .perfil-icon-dd{color:var(--primary)}.perfil-dropdown .dropdown-item:hover:not(.selected){background:#f8fafc}.perfil-dropdown .dropdown-trigger.disabled{cursor:default;opacity:.7;pointer-events:none}.perfil-dropdown.buscando .dropdown-trigger.disabled{opacity:.85}.perfil-dropdown .dropdown-selected.placeholder-perfil{color:var(--text-light);font-weight:400;font-style:italic}.perfil-dropdown .dropdown-selected.sin-perfiles{color:#dc2626;font-weight:500}.nivel-dropdown .dropdown-trigger{padding:12px 16px;font-size:.88rem}.step-title{font-family:Montserrat,sans-serif;font-size:1.5rem;font-weight:800;color:var(--downriver);margin-bottom:20px;letter-spacing:.01em;text-align:center;text-wrap:balance}.step-subtitle{font-size:.9rem;color:var(--text-light);margin-bottom:28px;text-align:center;text-wrap:balance}.login-top-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.login-top-bar .back-btn{margin-bottom:0}.login-top-bar .sistema-badge{font-size:.78rem;font-weight:600;color:var(--text-light);display:flex;align-items:center;gap:5px;border:none;border-radius:0;padding:0}.back-btn{background:none;border:none;color:var(--text-light);cursor:pointer;font-size:.88rem;font-weight:600;font-family:inherit;padding:4px 0;margin-bottom:20px;display:inline-flex;align-items:center;gap:6px;transition:var(--transition)}.back-btn:hover{color:var(--primary);transform:translate(-3px)}.selected-header{text-align:center;margin-bottom:24px}.selected-header img{width:80px;height:80px;object-fit:contain;border:3px solid var(--border);border-radius:50%;padding:14px;margin-bottom:10px;background:#fff}.selected-header h2{font-size:clamp(.95rem,4.5vw,1.25rem);color:var(--downriver);margin-bottom:4px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-header p{color:var(--text-light);font-size:clamp(.72rem,3vw,.85rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sistemas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.sistema-btn{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:8px;background:#fff;font-size:.78rem;font-weight:600;font-family:inherit;color:var(--text);overflow:hidden;min-width:0}.sistema-btn span:not(.icon){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sistema-btn:hover{transform:translateY(-2px);background:var(--primary-bg);border-color:var(--primary);box-shadow:var(--shadow-hover)}.sistema-btn .icon{display:flex;align-items:center;flex-shrink:0;color:var(--primary)}.sistema-btn.admin,.sistema-btn.docente,.sistema-btn.alumno,.sistema-btn.aranceles,.sistema-btn.cdigital,.sistema-btn.personal{border-color:var(--border);background:#fff;color:var(--text)}.sistema-btn.general{border-color:var(--minsk);background:linear-gradient(135deg,var(--science) 0%,var(--minsk) 100%);color:#fff}.sistema-btn.general .icon{color:#fff}.sistema-btn.admin:hover,.sistema-btn.docente:hover,.sistema-btn.alumno:hover,.sistema-btn.aranceles:hover,.sistema-btn.cdigital:hover,.sistema-btn.personal:hover{background:var(--primary-bg);border-color:var(--primary)}.sistema-btn.general:hover{background:linear-gradient(135deg,var(--minsk) 0%,#2d2b6e 100%);border-color:var(--minsk);transform:translateY(-2px);box-shadow:0 4px 15px #413e964d}.sistema-badge.admin,.sistema-badge.docente,.sistema-badge.alumno,.sistema-badge.aranceles,.sistema-badge.cdigital,.sistema-badge.personal,.sistema-badge.general{background:none;color:var(--text-light)}.login-form-container{max-width:100%}.login-form-container.has-app-download .login-form-header{margin-bottom:14px}.login-form-container.has-app-download .perfil-selector,.login-form-container.has-app-download .form-group{margin-bottom:12px}.login-form-container.has-app-download .form-check-row{margin-bottom:10px}.login-form-container.has-app-download .login-btn{margin-top:4px;padding:13px}.login-form-container.has-app-download .cambiar-acceso-btn{margin-top:6px;padding:8px}.login-form-header{text-align:center;margin-bottom:24px}.login-form-header img{width:80px;height:80px;object-fit:contain;border-radius:50%;margin-bottom:12px;border:3px solid var(--border);padding:12px;background:#fff}.login-form-header h2{font-size:clamp(.9rem,4vw,1.1rem);color:var(--downriver);margin-bottom:6px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.login-form-header .sistema-badge{display:inline-flex;align-items:center;gap:4px;padding:0;font-size:.8rem;font-weight:500;margin-top:2px;color:var(--text-light);background:none}.perfil-selector{display:flex;gap:0;margin-bottom:18px;background:#f0f4f8;border-radius:var(--radius-sm);padding:4px;border-bottom:none}.perfil-option{flex:1;padding:10px 12px;border:none;border-radius:var(--radius-xs);cursor:pointer;text-align:center;font-size:.78rem;font-weight:600;font-family:inherit;background:transparent;transition:var(--transition);color:var(--text-muted);display:flex;align-items:center;justify-content:center;gap:5px;position:relative;margin-bottom:0;border-bottom:none}.perfil-option .perfil-icon{display:flex;align-items:center;color:var(--text-muted);transition:color .2s}.perfil-option.active{background:#fff;color:var(--primary);box-shadow:0 1px 3px #0000001a;border-bottom:2px solid var(--primary)}.perfil-option.active .perfil-icon{color:var(--primary)}.perfil-option:hover:not(.active){background:#ffffff80;color:var(--text);border-bottom-color:var(--text-muted)}.form-group label{display:block;font-size:.75rem;font-weight:700;color:var(--text-light);margin-bottom:6px;letter-spacing:.05em}.form-group label.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-group input[type=text],.form-group input[type=password]{width:100%;padding:14px 16px 14px 44px;border:none;border-bottom:1px solid var(--border);border-radius:0;font-size:.95rem;font-family:inherit;outline:none;transition:var(--transition);background:transparent;color:var(--text)}.form-group input[type=password],.form-group input#clave{padding-right:44px}.form-group input:focus{border-bottom-color:var(--primary);box-shadow:none;background:transparent}.form-group input::placeholder{color:var(--text-muted)}.form-group{margin-bottom:16px}.input-wrapper{position:relative}.input-wrapper .input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;color:var(--primary);pointer-events:none}.toggle-password{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;display:flex;align-items:center;padding:4px;line-height:1;color:var(--text-muted);opacity:.7;transition:opacity .2s,color .2s}.toggle-password:hover{opacity:1;color:var(--primary)}.form-check-row{display:flex;justify-content:flex-end;align-items:center;margin-bottom:20px;gap:10px}.form-check{display:flex;align-items:center;gap:10px}.form-check input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.form-check label{margin:0;cursor:pointer;font-size:.85rem;color:var(--text-light);font-weight:500}.login-btn{width:100%;padding:15px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-pill);font-size:.95rem;font-weight:700;font-family:inherit;cursor:pointer;transition:var(--transition);letter-spacing:.05em;box-shadow:0 4px 15px #0082e64d;margin-top:8px}.login-btn:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 6px 20px #0082e666}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{background:#0082e666;cursor:not-allowed;box-shadow:none}.cambiar-acceso-btn{display:block;width:100%;margin-top:10px;padding:10px;background:none;border:none;color:var(--text-muted);font-size:.78rem;font-family:inherit;cursor:pointer;text-decoration:none;opacity:.7;transition:opacity .2s,color .2s}.cambiar-acceso-btn:hover{color:var(--primary);opacity:1}.app-download-block{margin-top:10px;padding-top:2px}.app-download-title{text-align:center;color:var(--text-light);font-size:.72rem;font-weight:600;margin-bottom:8px}.app-download-buttons{display:flex;justify-content:center;align-items:center;gap:4px}.store-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;line-height:0;border-radius:6px;transition:transform .15s ease,opacity .15s ease}.store-btn:hover{transform:translateY(-1px)}.store-badge-img{display:block;height:28px;width:auto;max-width:100%}.store-btn-ios .store-badge-img{height:22px}.olvido-clave-btn{background:none;border:none;color:var(--text-muted);font-size:.78rem;font-family:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .2s;white-space:nowrap}.olvido-clave-btn:hover:not(:disabled){color:var(--primary)}.olvido-clave-btn:hover{text-decoration:underline;color:var(--minsk)}.olvido-clave-btn:disabled{color:var(--text-muted);opacity:.7;cursor:wait}.info-msg{background:none;border:none;color:var(--primary-dark);padding:8px 0;font-size:.82rem;margin-bottom:12px;text-align:center;font-weight:500;animation:fadeSlideUp .3s ease-out}.error-msg{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-xs);color:#dc2626;padding:10px 14px;font-size:.82rem;margin-bottom:12px;text-align:center;font-weight:500;animation:fadeSlideUp .3s ease-out}.field-error{color:#dc2626;font-size:.75rem;font-weight:500;margin-top:4px;padding-left:2px}.warn-msg{background:none;border:none;color:#b45309;padding:8px 0;font-size:.82rem;margin-bottom:12px;text-align:center;font-weight:500;animation:fadeSlideUp .3s ease-out}.success-msg{background:none;border:none;color:var(--text-light);padding:8px 0;font-size:.85rem;margin-bottom:12px;text-align:center;font-weight:500;animation:fadeSlideUp .3s ease-out}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.spinner{display:flex;justify-content:center;align-items:center;padding:60px}.spinner:after{content:"";width:40px;height:40px;border:4px solid rgba(0,130,230,.2);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.reglas-clave{display:flex;flex-direction:column;gap:.3rem;margin-top:.5rem;padding:.75rem;background:var(--primary-bg);border-radius:var(--radius-sm)}.regla{display:flex;align-items:center;gap:.4rem;font-size:.8rem}.regla-ok{color:#16a34a}.regla-fail{color:#dc2626}.renovar-exito{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 1rem;text-align:center}.renovar-exito h2{color:var(--text);margin:0}.renovar-exito p{color:var(--text-light);margin:0}.renovar-invalido{min-height:180px;display:flex;flex-direction:column;justify-content:center}.renovar-invalido .error-msg{margin-bottom:16px}.renovar-invalido-link{display:block;text-align:center}@media(max-width:520px){.app-bg{padding:30px 12px 12px;align-items:flex-start}.app-card{padding:28px 20px;border-radius:var(--radius)}.app-logo{margin-top:4px;margin-bottom:16px}.app-logo img{height:36px}.step-title{font-size:1.25rem}.step-subtitle{font-size:.85rem;margin-bottom:20px}.sistemas-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.sistema-btn{padding:8px;font-size:.73rem;gap:6px}.app-download-buttons{gap:2px}.store-badge-img{height:26px}.store-btn-ios .store-badge-img{height:20px}}@media(max-height:900px){.app-bg{align-items:center;padding-top:12px;padding-bottom:12px}.app-logo{margin-top:2px;margin-bottom:10px}.app-card{padding:28px}.app-footer{margin-top:10px}}
