:root{--unap-red:#c00;--ceu-blue-light:#3498db;--ceu-blue-dark:#2980b9;--bg-slate-50:#f8fafc;--text-slate-900:#0f172a;--white:#fff;--border-color:#e2e8f0;--max-w-content:35rem}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-slate-50);color:var(--text-slate-900);flex-direction:column;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;display:flex}.navbar{background-color:var(--white);border-bottom:1px solid var(--border-color);padding:1rem 0;box-shadow:0 1px 3px #0000000d}.navbar-container{justify-content:space-between;align-items:center;max-width:75rem;margin:0 auto;padding:0 1.5rem;display:flex}.logos-container{align-items:center;gap:1rem;display:flex}.logo{width:auto;height:2.5rem}.navbar-text{text-align:right;flex-direction:column;font-size:.875rem;display:flex}.unap-text{color:var(--ceu-blue-light);letter-spacing:.05em;font-weight:600}.elecciones-text{color:var(--text-slate-900);font-weight:700}.elecciones-text strong{color:var(--unap-red)}.main-content{flex:1;justify-content:center;align-items:flex-start;padding:2.5rem 1rem;display:flex}.card{background:var(--white);border:1px solid var(--border-color);width:100%;max-width:var(--max-w-content);border-radius:.75rem;padding:2.5rem 2rem;transition:opacity .3s,transform .3s;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.hidden{display:none!important}.card-header{text-align:center;margin-bottom:2rem}.subtitle{color:var(--unap-red);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem;font-size:.75rem;font-weight:700}.title{color:var(--text-slate-900);letter-spacing:-.025em;margin-bottom:.5rem;font-size:1.875rem;font-weight:800}.description{color:#64748b;font-size:.875rem}.input-group{margin-bottom:1.5rem}.input-group label{color:var(--ceu-blue-dark);letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem;font-weight:700;display:block}.input-wrapper{align-items:center;display:flex;position:relative}.input-wrapper:focus-within .icon-user{color:#0f172a}.icon-user{color:#94a3b8;width:1.25rem;height:1.25rem;transition:color .2s;position:absolute;left:1rem}input[type=text]{width:100%;color:var(--text-slate-900);letter-spacing:.2em;background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:.5rem;padding:.875rem 1rem .875rem 3rem;font-family:JetBrains Mono,monospace;font-size:1.125rem;transition:all .2s}input[type=text]:focus{background-color:var(--white);border-color:#1e293b;outline:none;box-shadow:0 0 0 4px #2980b91a}input[type=text]::placeholder{color:#cbd5e1;letter-spacing:.1em}.error-message{color:var(--unap-red);min-height:1rem;margin-top:.5rem;font-size:.75rem}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:.5rem;width:100%;padding:1rem;font-size:1rem;font-weight:700;transition:all .3s;position:relative;overflow:hidden}.btn-primary{color:var(--white);background-color:#94a3b8}.btn-primary:not(:disabled){background-color:#216d9e;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn-primary:not(:disabled):hover{background-color:#216d9ee6;transform:translateY(-1px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.btn-primary:focus-visible{outline:none;box-shadow:0 0 0 4px #94a3b8}.btn-primary:disabled{cursor:not-allowed;opacity:.8}.btn-text{z-index:10;position:relative}.loading-bar{z-index:5;background-color:#fff3;width:0%;transition:width .1s linear;position:absolute;top:0;bottom:0;left:0}.btn-secondary{background-color:var(--white);color:#334155;box-shadow:none;border:1px solid #cbd5e1;margin-top:1.5rem}.btn-secondary:hover{background-color:#f1f5f9;transform:translateY(-1px)}.btn-secondary:focus-visible{outline:none;box-shadow:0 0 0 4px #94a3b8}.footer-note{text-align:center;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-top:1.5rem;font-size:.625rem}.results-header{text-align:center;margin-bottom:2rem}.detail-group{margin-bottom:1rem}.detail-group label{color:var(--ceu-blue-dark);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.65rem;font-weight:700;display:block}.value{color:var(--text-slate-900);font-size:.875rem}.value-number{color:var(--text-slate-900);font-family:JetBrains Mono,monospace;font-size:.95rem;font-weight:700}.value-highlight{color:var(--text-slate-900);font-size:1rem;font-weight:700}.value-filiacion{color:#64748b;margin-top:.125rem;font-size:.75rem}.divider{border:0;border-top:1px solid var(--border-color);margin:1.5rem 0}.location-header{color:var(--ceu-blue-light);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem;font-weight:700;display:flex}.icon-location{width:1.25rem;height:1.25rem}.location-box{border:1px solid var(--border-color);border-radius:.5rem;margin-bottom:1.5rem;padding:1.25rem}.row-group{border-top:1px solid var(--border-color);gap:1.5rem;margin-top:1rem;padding-top:1rem;display:flex}.col-group{flex:1}.col-group label{color:var(--ceu-blue-dark);margin-bottom:.25rem;font-size:.65rem;font-weight:700;display:block}.value-large{color:var(--text-slate-900);font-family:JetBrains Mono,monospace;font-size:1.25rem;font-weight:800}.orden-box{border:1px solid var(--border-color);border-radius:.5rem;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.orden-box label{color:var(--ceu-blue-dark);letter-spacing:.05em;font-size:.75rem;font-weight:700}.badge-red{background-color:var(--unap-red);color:var(--white);border-radius:.25rem;padding:.375rem .75rem;font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:800}.footer{color:var(--white);text-align:center;background-color:#0f172a;margin-top:auto;padding:2.5rem 1rem}.footer-title{letter-spacing:.05em;margin-bottom:.25rem;font-size:.875rem;font-weight:700}.footer-subtitle{color:#94a3b8;margin-bottom:1rem;font-size:.75rem}.footer-links{justify-content:center;gap:1.5rem;display:flex}.footer-links a{color:var(--ceu-blue-light);letter-spacing:.05em;font-size:.75rem;font-weight:600;text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--white)}@media (width>=768px){.card-header,.results-header{text-align:left}}@media (width<=640px){.navbar-container{flex-direction:column;gap:1rem}.navbar-text{text-align:center}.card{padding:1.5rem 1rem}.row-group{flex-direction:column;gap:1rem}}
