:root{--ink:#14323c;--ink-soft:#5b7079;--ink-faint:#8b9aa1;--line:#d8e0e4;--line-soft:#eaeff1;--paper:#fbfcfc;--petrol:#245b6b;--petrol-wash:#eaf2f4;--gold:#8a6b1f;--gold-wash:#f6f1e4}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.55}a{color:inherit;text-decoration:none}.app{display:grid;grid-template-columns:212px 1fr;min-height:100vh}.rail{border-right:1px solid var(--line);padding:22px 0;background:#fff}.rail h1{font-family:Georgia,serif;font-weight:400;font-size:17px;margin:0 20px 20px}.rail-group{margin-bottom:22px}.rail-group p{margin:0 20px 6px;font-size:11px;color:var(--ink-faint);letter-spacing:.04em}.rail a{display:block;padding:6px 20px;border-left:2px solid transparent}.rail a:hover{background:var(--line-soft)}.rail a.on{border-left-color:var(--petrol);background:var(--petrol-wash);font-weight:500}.main{padding:26px 30px 60px;min-width:0}.head{display:flex;align-items:baseline;gap:14px;margin-bottom:4px}.head h2{font-family:Georgia,serif;font-weight:400;font-size:24px;margin:0}.head span{font-size:13px}.head span,.lead{color:var(--ink-soft)}.lead{margin:0 0 22px;max-width:70ch}.cols{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid var(--line);border-radius:3px;background:#fff;min-height:430px;overflow:hidden}.col{border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0}.col:last-child{border-right:none}.col-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line)}.col-head b{font-weight:600;font-size:13px}.col-head em{font-style:normal;color:var(--ink-faint);font-size:12px}.rows{flex:1 1;overflow:auto}.row{display:flex;align-items:center;gap:10px;padding:9px 14px;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--line-soft);cursor:pointer;font:inherit;color:inherit}.row:hover{background:var(--line-soft)}.row.sel{background:var(--petrol-wash)}.row .body{min-width:0;flex:1 1}.row .name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .meta{display:block;font-size:12px;color:var(--ink-soft)}.tag{flex:none;width:21px;height:21px;border-radius:3px;display:grid;place-items:center;font-size:11px;font-weight:600;background:var(--petrol);color:#fff}.off{opacity:.45}.add{padding:9px 14px;color:var(--petrol);background:#fff;font-size:13px;text-align:left;width:100%;cursor:pointer;border:none;border-top:1px solid var(--line);font-family:inherit}.empty{padding:18px 14px;color:var(--ink-faint)}.btn{padding:8px 16px;border-radius:3px;border:1px solid var(--petrol);background:var(--petrol);color:#fff;cursor:pointer;font:inherit}.btn.ghost{background:#fff;color:var(--petrol)}.login{max-width:340px;margin:12vh auto;padding:28px;background:#fff;border:1px solid var(--line);border-radius:3px}.login h1{font-family:Georgia,serif;font-weight:400;font-size:22px;margin:0 0 4px}.login p{color:var(--ink-soft);margin:0 0 20px;font-size:13px}.login label{display:block;font-size:12px;color:var(--ink-soft);margin:0 0 4px}.login input{width:100%;border:1px solid var(--line);border-radius:3px;padding:8px 10px;margin-bottom:14px;font:inherit}.err{margin-bottom:12px}.panel{margin-top:22px;border:1px solid var(--line);border-radius:3px;background:#fff;padding:20px 22px}.panel h3{margin:0 0 18px;font-size:15px;font-weight:600}.campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px 22px;gap:16px 22px}.campo label{display:block;font-size:12px;color:var(--ink-soft);margin-bottom:4px}.campo input{width:100%;border:1px solid var(--line);border-radius:3px;padding:7px 10px;font:inherit;background:#fff}.campo input:focus{outline:none;border-color:var(--petrol)}.campo input.mono{font-family:SFMono-Regular,Menlo,Consolas,monospace}.campo .nota{font-size:12px;color:var(--ink-faint);margin:4px 0 0}.activo{display:flex;align-items:center;gap:8px;margin-top:18px;font-size:13px}.acciones{display:flex;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line-soft)}.err{color:#8a2b1f;font-size:13px;margin:14px 0 0}.ent{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.ent h4{margin:0 0 2px;font-size:13px;font-weight:600}.ent p.sub{margin:0 0 14px;color:var(--ink-soft);font-size:13px}.ent-rows{border:1px solid var(--line);border-radius:3px;overflow:hidden}.ent-row{display:grid;grid-template-columns:1fr auto auto;grid-gap:18px;gap:18px;align-items:center;padding:9px 14px;width:100%;background:none;border:none;border-bottom:1px solid var(--line-soft);text-align:left;font:inherit;color:inherit;cursor:pointer}.ent-row:last-child{border-bottom:none}.ent-row:hover{background:var(--line-soft)}.ent-row .rnc{font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:var(--ink-soft)}.ent-row .st{font-size:12px;color:var(--ink-faint)}.enlace{padding:10px 0 0;font-family:inherit}.detalle{margin-top:22px;border:1px solid var(--line);border-radius:3px;background:#fff;padding:20px 22px}.detalle h3{margin:0 0 2px;font-size:15px;font-weight:600}.detalle .sub{margin:0 0 16px}.dato,.detalle .sub{color:var(--ink-soft);font-size:13px}.dato{margin:0}.dato b{font-family:SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink)}.bar{flex-wrap:wrap;gap:10px;padding:12px 14px;margin-bottom:20px}.bar,.bar .sel{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:3px}.bar .sel{gap:8px;padding:5px 10px}.bar .sel b{font-weight:500;font-size:13px;color:var(--ink-soft)}.bar .sel select{border:none;background:none;font:inherit;color:var(--ink);max-width:260px;cursor:pointer}.bar .sel select:focus{outline:none}.bar .resumen{margin-left:auto;color:var(--ink-soft);font-size:13px}.grid-wrap{border:1px solid var(--line);border-radius:3px;background:#fff;overflow-x:auto}table.rejilla{width:100%;border-collapse:collapse;min-width:1000px}table.rejilla thead th{font-size:12px;font-weight:600;color:var(--ink-soft);padding:10px 6px;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}table.rejilla th.lft{text-align:left;padding-left:14px;width:30%}table.rejilla td.num,table.rejilla th.num{text-align:right;padding-right:14px;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}table.rejilla tbody td{padding:8px 6px;border-bottom:1px solid var(--line-soft);text-align:center}table.rejilla td.lft{text-align:left;padding-left:14px}table.rejilla tbody tr:hover{background:var(--line-soft)}table.rejilla .sincob{color:#8a2b1f}.cell{display:inline-grid;place-items:center;width:30px;height:26px;border:1px solid var(--line);border-radius:3px;background:#fff}.cell.v{border-color:var(--petrol);background:var(--petrol-wash);font-weight:600;color:var(--petrol)}.cell.z{border-style:dashed;border-color:var(--line-soft);color:transparent}table.rejilla tr.grp td{padding:6px 14px;font-size:12px;font-weight:600;color:var(--ink-soft);text-align:left;background:var(--line-soft);border-bottom:1px solid var(--line)}table.rejilla tfoot td{padding:9px 6px;text-align:center;font-size:12px;color:var(--ink-soft);border-top:1px solid var(--line)}table.rejilla tfoot td.lft{text-align:left;padding-left:14px;font-weight:600;color:var(--ink)}.vacio{padding:26px 0;color:var(--ink-faint)}.aviso{margin-top:18px;border:1px solid #c9b98e;border-left-width:3px;background:var(--gold-wash);border-radius:3px;padding:13px 16px}.aviso b{display:block;margin-bottom:3px;font-size:13px}.aviso p{margin:0;font-size:13px;color:var(--ink-soft)}.tabla{border:1px solid var(--line);border-radius:3px;background:#fff;overflow-x:auto}.tabla table{width:100%;border-collapse:collapse}.tabla thead th{text-align:left;font-size:12px;font-weight:600;color:var(--ink-soft);padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.tabla td.num,.tabla th.num{text-align:right}.tabla tbody td{padding:9px 14px;border-bottom:1px solid var(--line-soft)}.tabla tbody tr:last-child td{border-bottom:none}.tabla tbody tr:hover{background:var(--line-soft)}.tabla tr.off td{opacity:.45}.tabla .mono,.tabla td.num{font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}.tabla .cups,.tabla .sincob{color:var(--ink-faint)}.tabla .cups{font-size:11px;margin-left:6px}.buscar{flex:1 1 260px;min-width:200px;border:1px solid var(--line);border-radius:3px;padding:7px 11px;font:inherit;background:#fff}.buscar:focus{outline:none;border-color:var(--petrol)}.pager{display:flex;align-items:center;gap:14px;padding:11px 14px;background:#fff;border:1px solid var(--line);border-top:none;border-radius:0 0 3px 3px;color:var(--ink-soft);font-size:13px}.pager .push{margin-left:auto;display:flex;gap:6px}.pg{border:1px solid var(--line);border-radius:3px;padding:4px 10px;background:#fff;color:var(--ink)}.pg:hover{border-color:var(--petrol);color:var(--petrol)}.ficha{border:1px solid var(--line);border-radius:3px;background:#fff;padding:16px 18px;margin-bottom:14px}.ficha h3{margin:0 0 2px;font-size:15px;font-weight:600}.ficha .sub{margin:0 0 12px;color:var(--ink-soft);font-size:13px}.items{margin:0;padding-left:18px;column-count:2;column-gap:32px}.items li{margin-bottom:4px}.usos{border:1px solid var(--line);border-radius:3px;overflow:hidden;margin-bottom:16px}.usos table{width:100%;border-collapse:collapse}.usos thead th{text-align:left;font-size:12px;font-weight:600;color:var(--ink-soft);padding:8px 13px;border-bottom:1px solid var(--line);background:var(--line-soft)}.usos td.num,.usos th.num{text-align:right;font-family:SFMono-Regular,Menlo,Consolas,monospace}.usos tbody td{padding:7px 13px;border-bottom:1px solid var(--line-soft);font-size:13.5px}.usos tbody tr:last-child td{border-bottom:none}.usos .tag{display:inline-grid;place-items:center;width:19px;height:19px;border-radius:3px;background:var(--petrol);color:#fff;font-size:10.5px;font-weight:600;vertical-align:-4px;margin-right:5px}.etiqueta{margin:0 0 6px;font-size:12px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em}.error{border:1px solid #c9a29a;border-left-width:3px;background:#f7edeb;border-radius:3px;padding:14px 16px;margin-top:20px}.error b{display:block;margin-bottom:6px;font-size:13px;color:#8a2b1f}.error ul{margin:0 0 8px;padding-left:18px;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}.error p,.error ul{color:var(--ink-soft)}.error p{margin:0;font-size:13px}.pie{margin-top:14px;color:var(--ink-faint);font-size:12.5px;max-width:78ch}.marca{margin-left:8px;font-size:11px;color:var(--gold);border:1px solid #c9b98e;border-radius:9px;padding:1px 7px;background:var(--gold-wash)}.celda{padding:0!important}.celda-btn{width:100%;border:none;background:none;font:inherit;color:inherit;padding:9px 14px;text-align:right;cursor:pointer;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}.celda-btn:hover,.celda.activa{background:var(--petrol-wash)}.celda.activa{box-shadow:inset 2px 0 0 var(--petrol)}.panel h4.etiqueta{margin:0 0 12px;font-size:12px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.panel .sub{margin:0 0 18px;color:var(--ink-soft);font-size:13px}.valor{border:1px solid var(--line-soft);border-radius:3px;padding:7px 10px;background:var(--line-soft)}.valor.mono{font-family:SFMono-Regular,Menlo,Consolas,monospace}.aviso-linea{margin-top:16px;max-width:86ch;line-height:1.55}.aviso-linea b{color:var(--ink)}.historia{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.historia table{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:3px;overflow:hidden}.historia thead th{text-align:left;font-size:12px;font-weight:600;color:var(--ink-soft);padding:8px 13px;border-bottom:1px solid var(--line);background:var(--line-soft)}.historia td.num,.historia th.num{text-align:right}.historia tbody td{padding:7px 13px;border-bottom:1px solid var(--line-soft);font-size:13.5px}.historia tbody tr:last-child td{border-bottom:none}.historia tr.vig td{font-weight:600}.historia .mono{font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}.migas{margin:0 0 10px;font-size:13px;color:var(--ink-soft)}.enlace-fila,.migas a{color:var(--petrol)}.enlace-fila{font-weight:500}.enlace-fila:hover{text-decoration:underline}.seccion{font-family:Georgia,serif;font-weight:400;font-size:18px;margin:34px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line)}.campo select{width:100%;border:1px solid var(--line);border-radius:3px;padding:7px 10px;font:inherit;background:#fff}.campo select:focus{outline:none;border-color:var(--petrol)}.nota-version{margin-top:18px;border-left:3px solid var(--petrol);background:var(--petrol-wash);border-radius:3px;padding:12px 15px;font-size:13.5px}.nota-version b{display:block;margin-bottom:2px;font-size:13px}.nota-version span{color:var(--ink-soft)}.nota-version.sin{border-left-color:var(--rojo);background:#f7edeb}.nota-version.sin b{color:var(--rojo)}.ok-aviso{margin-top:18px;border-left:3px solid var(--petrol);background:var(--petrol-wash);border-radius:3px;padding:12px 15px;font-size:14px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost:disabled{opacity:.45}.acciones-linea{display:flex;gap:10px;align-items:center}.migracion{margin-top:20px;padding:16px 18px;border:1px solid #c9b98e;border-left-width:3px;background:var(--gold-wash);border-radius:3px}.migracion .etiqueta{margin:0 0 4px}.migracion .dato{margin:0 0 14px;max-width:82ch}.ancla{display:flex;align-items:baseline;gap:10px;padding:10px 13px;background:#fff;border:1px solid var(--line);border-radius:3px}.ancla .rotulo{font-size:12px;color:var(--ink-soft)}.ancla b{font-size:15px}.ancla em{font-style:normal;font-size:12px;color:var(--ink-faint)}.baja{margin-top:16px;padding:16px 18px;border:1px solid var(--line);border-left:3px solid var(--ink-soft);background:var(--line-soft);border-radius:3px}.baja .etiqueta{margin:0 0 4px}.baja .dato{margin:0 0 14px}.baja-hecha{margin-top:12px;padding:9px 13px;background:var(--line-soft);border-radius:3px;color:var(--ink)}.ciclo{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-soft)}.ciclo-cab{display:flex;align-items:baseline;gap:12px;margin-bottom:2px}.ciclo-cab b{font-size:14px}.ciclo-cab span{color:var(--ink-soft);font-size:13.5px}.ciclo-cab em{font-style:normal;font-size:11px;color:var(--gold);border:1px solid #c9b98e;border-radius:9px;padding:1px 7px;background:var(--gold-wash)}.ciclo .sub{margin:0 0 12px;color:var(--ink-soft);font-size:13px}.afiliado{margin:0 0 14px;font-size:14px}.afiliado .mono{margin:0 6px}.enlace{background:none;border:none;padding:0;color:var(--petrol);font:inherit;font-size:13px;cursor:pointer;text-decoration:underline}.afiliado-edit{display:flex;align-items:center;gap:10px;margin:0 0 14px;flex-wrap:wrap}.afiliado-edit label{font-size:13px;color:var(--ink-soft)}.afiliado-edit input{border:1px solid var(--line);border-radius:3px;padding:6px 10px;font:inherit;min-width:200px}.empresa-activa{margin:0 20px 18px;padding:9px 11px;background:var(--petrol-wash);border-left:2px solid var(--petrol);border-radius:2px}.empresa-activa span{display:block;font-size:13px;font-weight:500;line-height:1.35}.empresa-activa button{background:none;border:none;padding:0;margin-top:3px;color:var(--petrol);font:inherit;font-size:12px;cursor:pointer;text-decoration:underline}.empresas{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:14px;gap:14px;margin-top:22px}.empresa{display:block;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:3px;padding:16px 18px;cursor:pointer;font:inherit}.empresa.on,.empresa:hover{border-color:var(--petrol)}.empresa.on{background:var(--petrol-wash)}.empresa b{display:block;font-size:15px;margin-bottom:3px}.empresa span{font-size:12.5px;color:var(--ink-soft)}.main.solo{max-width:760px;margin:0 auto;padding-top:56px}.especialidades{border:1px solid var(--line);border-radius:3px;padding:14px 16px;margin:18px 0 0}.especialidades legend{font-size:12px;font-weight:600;color:var(--ink-soft);padding:0 6px}.especialidades .nota{margin:0 0 10px}.casillas{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:8px 14px;gap:8px 14px}.casillas label{display:flex;align-items:center;gap:8px;font-size:14px}.pestanas{display:flex;gap:4px;margin:18px 0 4px;border-bottom:1px solid var(--line)}.pestana{background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font:inherit;color:var(--ink-soft);padding:7px 14px}.pestana.on,.pestana:hover{color:var(--ink)}.pestana.on{border-bottom-color:var(--petrol);font-weight:500}.tabla tr.grupo td{background:var(--petrol-wash);font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--petrol);text-transform:uppercase;padding:6px 14px}.tabla tr.ajustada td{background:var(--gold-wash)}.ok{margin:14px 0 0;padding:9px 12px;border:1px solid var(--line);border-left:3px solid var(--petrol);border-radius:3px;background:#fff;font-size:13px}.contrasena-unavez{display:flex;align-items:center;gap:12px;margin:10px 0}.contrasena-unavez code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;letter-spacing:.06em;border:1px solid var(--line);border-radius:3px;padding:6px 10px;background:#fff}.tag-estado{font-size:12px;color:var(--ink-soft);border:1px solid var(--line);border-radius:11px;padding:2px 10px;margin-right:10px}.tag-estado.on{color:var(--petrol);border-color:var(--petrol)}.bloque{margin-top:22px;border:1px solid var(--line);border-radius:3px;background:#fff;padding:16px 18px}.bloque h3{margin:0 0 6px;font-size:15px;font-weight:600}.bloque .dato{margin:0 0 12px;max-width:82ch}.enlace-fila{display:inline-flex;align-items:center;gap:8px}.tabla th{vertical-align:top}.tabla .celda select{min-width:120px}