


.p2-filtros{margin-bottom:-4px}
.p2-lbl{font-size:12.5px;font-weight:500;color:var(--ink-2)}
.p2-seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface)}
.p2-seg button{font:inherit;font-size:13px;color:var(--ink-2);background:none;border:0;border-left:1px solid var(--line);padding:7px 12px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}
.p2-seg button:first-child{border-left:0}
.p2-seg button:hover{background:var(--surface-2);color:var(--ink)}
.p2-seg button[aria-pressed="true"]{background:var(--btn-bg);color:var(--btn-ink);font-weight:600}
.p2-seg button:focus-visible{outline:2px solid var(--brand-yellow-2);outline-offset:-2px}
.p2-seg svg.lucide{width:15px;height:15px}
.p2-nav button[data-p2sem="0"]{min-width:150px;justify-content:center}


.p2-ej{display:inline-block;font-size:10.5px;font-weight:500;line-height:1.4;padding:0 6px;border-radius:999px;background:var(--warn-bg);color:var(--warn-ink);vertical-align:middle;white-space:nowrap}


.p2-grid-wrap{overflow-x:auto;margin-inline:-18px;padding-inline:18px}
.p2-grid{width:100%;border-collapse:collapse;font-size:13px;min-width:820px}
.p2-grid th,.p2-grid td{border-bottom:1px solid var(--line);padding:6px 4px;vertical-align:middle}
.p2-grid thead th{font-size:12px;font-weight:500;color:var(--muted);text-align:center;white-space:nowrap}
.p2-grid thead th:first-child{text-align:left}
.p2-grid thead th.hoy{color:var(--ink);box-shadow:inset 0 -3px 0 var(--brand-yellow-2)}
.p2-grid tbody th{text-align:left;font-weight:400;min-width:160px}
.p2-grid tbody th b{font-weight:600}
.p2-grid .sub{display:block;font-size:11.5px;color:var(--muted)}
.p2-grid .r{text-align:right;white-space:nowrap}
.p2-cell{font:inherit;font-size:12.5px;font-variant-numeric:tabular-nums;width:100%;min-width:74px;display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 4px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer;line-height:1.2}
.p2-cell span{color:var(--muted);font-size:11.5px}
.p2-cell:hover{border-color:var(--ink-2)}
.p2-cell:focus-visible{outline:2px solid var(--brand-yellow-2);outline-offset:1px}
.p2-cell.p2-libre{background:var(--surface-2);color:var(--muted)}
.p2-cell .p2-perm{font-size:10.5px;font-weight:600;color:var(--s1);text-transform:uppercase;letter-spacing:.03em}
.p2-grid tr.p2-exceso th,.p2-grid tr.p2-exceso td{background:var(--crit-bg)}
.p2-grid tr.p2-exceso .p2-cell{border-color:var(--crit)}
.p2-grid tr.p2-ext .p2-cell{cursor:default;border-style:dashed}
.p2-grid tr.p2-ext .p2-cell:hover{border-color:var(--line)}
.p2-grid tr.p2-ext th{background:var(--surface-2)}
.p2-rojo{background:var(--crit-bg);color:var(--crit-ink);font-weight:600}


.p2-pre{font-family:var(--mono);font-size:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:10px;overflow-x:auto;margin:0;white-space:pre}
.drawer textarea#p2-csv-t{font-family:var(--mono);font-size:12.5px}
.p2-err{background:var(--crit-bg);color:var(--crit-ink);border-radius:var(--r);padding:10px 14px;font-size:13px}
.p2-err ul{margin:6px 0 0;padding-left:18px}


.p2-h3{font-size:14px;font-weight:600;margin:6px 0 0}
.p2-mods{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.p2-mods li{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:13.5px}
.p2-mods li:first-child{border-top:0}
.p2-mods li > span{flex:1;min-width:0}
.p2-mods li small{display:block;font-size:12px;color:var(--muted)}
.p2-mods li svg.lucide{width:18px;height:18px;color:var(--muted);flex:none}
.p2-mods li.ok svg.lucide{color:var(--good-ink)}
.p2-curso{border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 14px;background:var(--surface);display:flex;flex-direction:column;gap:6px}
.p2-curso header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.p2-curso header .sub{display:block;font-size:12px;color:var(--muted)}
.p2-curso .u-note{margin:0}
.p2-listo{display:flex;gap:12px;align-items:center;border-radius:var(--r-lg);padding:12px 14px}
.p2-listo svg.lucide{width:26px;height:26px;flex:none}
.p2-listo b{display:block;font-size:15px}
.p2-listo span{font-size:13px}
.p2-listo.si{background:var(--good-bg);color:var(--good-ink)}
.p2-listo.no{background:var(--warn-bg);color:var(--warn-ink)}


.p2-plantillas{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.p2-pl{border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 14px;display:flex;flex-direction:column;gap:8px;background:var(--surface)}
.p2-pl .sub{display:block;font-size:12px;color:var(--muted)}
.p2-pl ul{list-style:none;margin:0;padding:0;font-size:13px}
.p2-pl li{display:flex;justify-content:space-between;gap:10px;padding:4px 0;border-top:1px dashed var(--line)}
.p2-pl li:first-child{border-top:0}
.p2-pl li b{font-variant-numeric:tabular-nums}
.p2-crit{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px}
.p2-crit li > div{display:inline-flex;flex-direction:column;max-width:calc(100% - 60px)}
.p2-crit li span{font-size:12.5px;color:var(--muted)}
.p2-crit li{position:relative}
.p2-crit .p2-peso{position:absolute;right:0;top:0;font-variant-numeric:tabular-nums}

@media (max-width:520px){
  .p2-seg button{padding:7px 9px;font-size:12.5px}
  .p2-nav button[data-p2sem="0"]{min-width:0}
  .p2-grid tbody th{min-width:130px}
}

.p2-apr{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px}
.p2-apr li{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}
.p2-apr li.ok{color:var(--ink)}
.p2-apr li svg{width:16px;height:16px}
.p2-apr li.ok svg{color:var(--good, #1a7f4b)}
.p2-bandeja{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:12px 14px;margin:0 0 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.p2-bandeja>b{display:flex;align-items:center;gap:6px;width:100%;font-weight:600}
.p2-bandeja>b svg{width:18px;height:18px}
.p2-bandeja-i{display:flex;flex-direction:column;gap:1px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;color:var(--ink);text-decoration:none;font-size:13px}
.p2-bandeja-i small{color:var(--muted);font-size:11.5px}
.p2-bandeja-i:hover,.p2-bandeja-i.is-on{border-color:var(--ink-2)}
