:root{--paper:#f9fafb;--panel:#fff;--ink:#0a1b33;--ink-deep:#0a152d;--ink-deep-h:#132146;--muted:#64748b;--faint:#94a3b8;--ghost:#cbd5e1;--line:#e2e8f0b3;--line-solid:#e2e8f0;--line-strong:#cbd5e1;--green:#1d9e75;--green-soft:#e7f5ef;--green-deep:#157355;--mint:#5dcaa5;--amber:#b4780b;--amber-soft:#fbf0dd;--red:#e24b4b;--red-soft:#fdecec;--r-lg:30px;--r-md:22px;--r-sm:14px;--pill:9999px;--shadow-xs:0 1px 2px #0a152d0d;--shadow:0 20px 60px -30px #0a152d24;--shadow-lg:0 40px 100px -30px #0a152d29;--font-body:"Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"Outfit", "Inter", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0;font-weight:500;line-height:1.15}a{color:var(--ink);text-decoration:none;transition:color .15s}a:hover{color:var(--green)}input,select,textarea,button{font-family:var(--font-body);font-size:14px}::selection{background:#5dcaa547}.page{max-width:1240px;margin:0 auto;padding:22px 24px 96px}.topbar{z-index:60;-webkit-backdrop-filter:blur(24px);border:1px solid var(--line);border-radius:var(--pill);background:#ffffffd9;justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px;padding:9px 10px 9px 20px;display:flex;position:sticky;top:14px;box-shadow:0 12px 40px #0a152d12}.topbar a{text-decoration:none}.topbar-acciones{align-items:center;gap:8px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:26px;display:flex}.page-head h1{font-size:clamp(24px,3vw,32px)}.titulo-con-edicion{align-items:flex-start;gap:12px;display:flex}.edicion-titulo{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.edicion-titulo input{padding:9px 14px}.muted{color:var(--muted);font-size:13px;line-height:1.7}.btn{font-family:var(--font-body);white-space:nowrap;border:1px solid var(--line-solid);background:var(--panel);color:var(--ink);border-radius:var(--pill);cursor:pointer;box-shadow:var(--shadow-xs);padding:12px 22px;font-size:13px;font-weight:600;line-height:1;transition:transform .18s,background .18s,border-color .18s,color .18s}.btn:hover{border-color:var(--line-strong);transform:translateY(-1px)}.btn.primary{background:var(--ink-deep);color:#fff;border-color:var(--ink-deep)}.btn.primary:hover{background:var(--ink-deep-h);border-color:var(--ink-deep-h);transform:scale(1.03)}.btn.outline{border-color:var(--line-strong);color:var(--ink);background:0 0}.btn.outline:hover{border-color:var(--ink-deep);color:var(--ink)}.btn.ghost{box-shadow:none;color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover{color:var(--ink);border-color:var(--line-solid);background:var(--panel);transform:none}.btn.small{padding:8px 15px;font-size:12px}.btn:disabled{opacity:.5;cursor:default;transform:none}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);margin-bottom:18px;padding:26px 28px}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}label{color:var(--muted);flex-direction:column;gap:7px;margin-bottom:14px;font-size:13px;font-weight:500;display:flex}label span{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-size:10px;font-weight:600}input,select,textarea{border:1px solid var(--line-solid);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);outline:none;padding:11px 16px;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--faint)}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #1d9e751f}textarea{resize:vertical;line-height:1.6}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:38px}.acciones{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.form-crear{max-width:780px}.pesos-en-creacion{border-top:1px solid var(--line);margin:20px 0;padding-top:18px}.pesos-en-creacion h3{margin-bottom:6px;font-size:16px}.form-inline{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.form-inline input{flex:1;min-width:150px}.form-inline-col{margin-bottom:22px}.aviso-repetido{color:var(--red);margin:12px 0 0;font-size:12.5px;font-weight:600}.aviso-repetido-fila{color:var(--red);margin-top:3px;font-size:11.5px;font-weight:600}tr.fila-repetida{background:var(--red-soft)}tr.fila-repetida:hover{background:#fbe0e0}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.busqueda-card{flex-direction:column;gap:10px;transition:transform .18s,box-shadow .18s;display:flex}.busqueda-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.busqueda-card-link{color:inherit;text-decoration:none;display:block}.busqueda-card h3{margin-top:10px;font-size:19px}.busqueda-card-acciones{gap:8px;margin-top:auto;padding-top:6px;display:flex}.pill{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.09em;border-radius:var(--pill);background:var(--green-soft);color:var(--green-deep);padding:4px 11px;font-size:10px;font-weight:700;display:inline-block}.pill-abierta{background:var(--green-soft);color:var(--green-deep)}.pill-en_proceso{background:var(--amber-soft);color:var(--amber)}.pill-cerrada{color:var(--muted);background:#eef1f5}.pill-banco{color:var(--green-deep);background:#5dcaa52e;margin-left:8px}.desde-banco{flex-wrap:wrap;align-items:center;gap:12px;font-size:13.5px;font-weight:500;display:flex}.desde-banco select{flex:1;min-width:220px}.checkbox-inline{text-transform:none;flex-direction:row;align-items:center;gap:8px;margin-bottom:0;font-size:12.5px}.checkbox-inline span{text-transform:none;letter-spacing:0;color:var(--muted);font-size:12.5px;font-weight:500}.checkbox-inline input{width:auto;box-shadow:none;accent-color:var(--green)}.buscador{border-radius:var(--pill);width:100%;max-width:380px;margin-bottom:16px}.csv-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.csv-tools strong{font-family:var(--font-display);letter-spacing:-.01em;font-size:16px;font-weight:600}.csv-tools p{margin:4px 0 0}.csv-botones{flex-wrap:wrap;gap:8px;display:flex}.csv-resultado{width:100%;color:var(--green-deep);margin:12px 0 0;font-size:13px;font-weight:600}.input-nota{width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;padding:3px 0}.input-nota:focus{border-bottom:1px solid var(--green);box-shadow:none}.estado-select{border:1px solid var(--line-solid);border-radius:var(--pill);background-color:var(--panel);padding:7px 32px 7px 14px;font-size:12px;font-weight:600}.estado-select.estado-postulado{color:var(--muted)}.estado-select.estado-entrevistado{color:#2563eb;background-color:#eff5ff;border-color:#bfdbfe}.estado-select.estado-evaluado{color:var(--amber);background-color:var(--amber-soft);border-color:#f2dcb4}.estado-select.estado-descartado{color:var(--red);background-color:var(--red-soft);border-color:#f4c9c9}.estado-select.estado-contratado{color:var(--green-deep);background-color:var(--green-soft);border-color:#b7e2d1}.tabs{background:var(--panel);border:1px solid var(--line);border-radius:var(--pill);box-shadow:var(--shadow-xs);gap:4px;width:max-content;max-width:100%;margin-bottom:24px;padding:5px;display:flex;overflow-x:auto}.tab{color:var(--muted);border-radius:var(--pill);white-space:nowrap;padding:9px 18px;font-size:13px;font-weight:600;text-decoration:none;transition:background .18s,color .18s}.tab:hover{color:var(--ink)}.tab.active{color:#fff;background:var(--ink-deep)}.tab.active:hover{color:#fff}.tabla-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-xs);overflow-x:auto}.card .tabla-wrap{box-shadow:none;border:none;border-radius:0}.tabla{border-collapse:collapse;width:100%;font-size:13.5px}.tabla th{text-align:left;font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--line-solid);white-space:nowrap;background:#fcfdfe;padding:14px 16px;font-size:10px;font-weight:600}.tabla td{border-bottom:1px solid var(--line);vertical-align:middle;padding:13px 16px}.tabla tbody tr:last-child td{border-bottom:none}.tabla tbody tr{transition:background .12s}.tabla tbody tr:hover{background:#fbfcfd}.categoria-card{margin-bottom:20px}.categoria-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.input-titulo{font-family:var(--font-display);letter-spacing:-.02em;box-shadow:none;background:0 0;border:none;border-radius:0;flex:1;padding:3px 0;font-size:19px;font-weight:600}.input-titulo:focus{border-bottom:2px solid var(--green);box-shadow:none}.items-lista{flex-direction:column;gap:14px;margin-bottom:14px;display:flex}.item-editable{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);padding:16px 18px}.total-chip{font-family:var(--font-body);border-radius:var(--pill);margin-bottom:18px;padding:7px 16px;font-size:12px;font-weight:600;display:inline-block}.total-chip.ok{background:var(--green-soft);color:var(--green-deep)}.total-chip.bad{background:var(--amber-soft);color:var(--amber)}.blockstrip{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:18px;display:grid}.bw-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow);padding:18px}.bw-card h3{margin-bottom:10px;font-size:15px}.bw-input{align-items:baseline;gap:4px;display:flex}.bw-input input{font-family:var(--font-display);letter-spacing:-.03em;text-align:right;border:none;border-bottom:2px solid var(--line-strong);width:66px;box-shadow:none;background:0 0;border-radius:0;padding:2px 0;font-size:26px;font-weight:500}.bw-input input:focus{border-color:var(--green);box-shadow:none}.bw-input span{color:var(--faint);font-size:15px}.input-nombre-bloque{font-family:var(--font-display);letter-spacing:-.01em;width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;margin-bottom:10px;padding:2px 0;font-size:15px;font-weight:600}.input-nombre-bloque:focus{border-bottom:2px solid var(--green);box-shadow:none}.input-nombre-item{width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;padding:2px 0;font-size:13.5px}.input-nombre-item:focus{border-bottom:1px solid var(--green);box-shadow:none}.bw-agregar{align-self:stretch;min-height:74px}.block-head-pesos{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.block-head-pesos h2{font-size:17px}.weightpill{font-family:var(--font-body);color:var(--muted);background:var(--paper);border:1px solid var(--line-solid);border-radius:var(--pill);padding:4px 11px;font-size:11px;font-weight:500}.sumchip{font-family:var(--font-body);border-radius:var(--pill);margin-left:auto;padding:4px 11px;font-size:11px;font-weight:600}.sumchip.ok{background:var(--green-soft);color:var(--green-deep)}.sumchip.bad{background:var(--amber-soft);color:var(--amber)}.input-peso{text-align:right;width:60px;font-family:var(--font-body);border-radius:var(--r-sm);padding:7px 10px;font-weight:600}.bar-track{background:var(--paper);border:1px solid var(--line-solid);border-radius:var(--pill);vertical-align:middle;width:108px;height:8px;margin-right:9px;display:inline-block;overflow:hidden}.bar-fill{background:var(--green);border-radius:var(--pill);height:100%}.bar-eff{font-family:var(--font-body);color:var(--ink);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.input-puntaje{text-align:center;width:54px;font-family:var(--font-display);border-radius:var(--r-sm);padding:7px 8px;font-size:16px;font-weight:500}.piso-cell{font-family:var(--font-display);color:var(--green-deep);text-align:center;font-weight:500}.item-contexto{margin-top:3px;font-size:12px}.selector-candidato{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow);margin-bottom:18px;padding:20px 22px}.selector-candidato label{margin-bottom:8px}.selector-candidato select{font-family:var(--font-display);max-width:340px;font-size:16px;font-weight:500}.selector-candidato p{margin:10px 0 0}.tabla-evaluacion-individual td:first-child{min-width:240px}.mensaje-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.mensaje-head h2{font-size:17px}.mensaje-head p{margin-top:3px}.mensaje-texto{border:1px solid var(--line-solid);border-radius:var(--r-sm);background:var(--paper);width:100%;color:var(--ink);resize:vertical;padding:16px;font-family:Inter,ui-monospace,sans-serif;font-size:13px;line-height:1.7}.tabla-ranking .fila-primero{background:var(--green-soft)}.tabla-ranking .fila-primero:hover{background:#ddf0e8}.ponderado{font-family:var(--font-display);color:var(--green-deep);font-size:15px;font-weight:600}.login-shell{background:linear-gradient(160deg,#14213f 0%,#0a152d 45%,#060c1d 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.login-shell:before{content:"";border-radius:var(--pill);pointer-events:none;background:radial-gradient(circle,#5dcaa533 0%,#8b5cf61f 42%,#060c1d00 70%);width:820px;height:820px;position:absolute}.login-card{background:var(--panel);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);border:1px solid #e2e8f080;width:100%;max-width:380px;padding:40px 38px;position:relative}.login-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--green);margin:0 0 18px;font-size:10px;font-weight:600}.login-sub{color:var(--muted);margin:14px 0 24px;font-size:13px;line-height:1.7}.login-form{flex-direction:column;display:flex}.login-form .btn{margin-top:6px}.login-error{color:var(--red);margin:-4px 0 12px;font-size:13px;font-weight:500}@media (width<=760px){.grid-2{grid-template-columns:1fr}.page{padding:16px 16px 80px}.card{border-radius:var(--r-md);padding:22px 20px}.topbar{padding:8px 8px 8px 16px}.page-head h1{font-size:24px}}
