/* CertCore Phase 4.1 Participants Modal UI Hotfix v4
   Route HTML is untouched. This stylesheet only styles the adapter-created modal. */

.cc-live-modal,
.cc-live-modal *{
  box-sizing:border-box;
}

.cc-live-modal{
  position:fixed!important;
  inset:0!important;
  z-index:100000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  background:rgba(15,23,42,.38)!important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.cc-live-modal[hidden]{
  display:none!important;
}

.cc-live-modal-card{
  position:relative!important;
  width:min(520px,calc(100vw - 32px))!important;
  max-height:calc(100vh - 48px)!important;
  overflow:auto!important;
  margin:0!important;
  background:#fff!important;
  border:1px solid #dbe7f5!important;
  border-radius:24px!important;
  box-shadow:0 24px 70px rgba(15,23,42,.24)!important;
}

.cc-live-modal-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:20px 22px!important;
  border-bottom:1px solid #e7eff9!important;
  background:linear-gradient(135deg,#f8fbff,#eef6ff)!important;
}

.cc-live-modal-head > div{
  min-width:0!important;
}

.cc-live-modal-head b{
  display:block!important;
  margin:0!important;
  color:#0b2442!important;
  font-size:18px!important;
  line-height:1.25!important;
  font-weight:800!important;
}

.cc-live-modal-head small{
  display:block!important;
  margin-top:5px!important;
  color:#64748b!important;
  font-size:12px!important;
  line-height:1.45!important;
  font-weight:700!important;
}

.cc-live-icon-btn{
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #dbe7f5!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#0b2442!important;
  cursor:pointer!important;
}

.cc-live-form{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
  width:100%!important;
  padding:20px 22px 22px!important;
  margin:0!important;
}

.cc-live-form label{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  width:100%!important;
  margin:0!important;
  color:#334155!important;
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:800!important;
}

.cc-live-form input,
.cc-live-form select{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:44px!important;
  margin:0!important;
  padding:0 13px!important;
  border:1px solid #dbe7f5!important;
  border-radius:14px!important;
  outline:none!important;
  background:#fff!important;
  color:#0b2442!important;
  font:inherit!important;
  font-weight:700!important;
  box-shadow:none!important;
}

.cc-live-form input:focus,
.cc-live-form select:focus{
  border-color:#60a5fa!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.10)!important;
}

.cc-live-modal-actions{
  display:grid!important;
  grid-template-columns:auto 1fr auto auto!important;
  gap:10px!important;
  align-items:center!important;
  width:100%!important;
  padding-top:6px!important;
}

.cc-live-modal-actions .btn{
  min-height:42px!important;
  margin:0!important;
  white-space:nowrap!important;
}

.cc-live-modal-actions .btn.danger{
  background:#fff1f2!important;
  color:#e11d48!important;
  border-color:#fecdd3!important;
}

@media (max-width:600px){
  .cc-live-modal{
    align-items:flex-end!important;
    padding:12px!important;
  }
  .cc-live-modal-card{
    width:100%!important;
    max-height:calc(100vh - 24px)!important;
    border-radius:22px!important;
  }
  .cc-live-modal-head,
  .cc-live-form{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .cc-live-modal-actions{
    grid-template-columns:1fr 1fr!important;
  }
  .cc-live-modal-actions > span{
    display:none!important;
  }
}

/* CERTCORE DETAIL TUNING ROUND3 - PARTICIPANTS + LOCAL EXCEL IMPORT */
.cc-live-form-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}
.cc-live-privacy-note{display:flex!important;gap:10px!important;align-items:flex-start!important;padding:12px 14px!important;border:1px solid #dbeafe!important;border-radius:14px!important;background:#f0f7ff!important;color:#334155!important;font-size:12px!important;font-weight:700!important;line-height:1.45!important}
.cc-live-privacy-note i{color:#2563eb!important;margin-top:2px!important}
.cc-import-card{width:min(1080px,calc(100vw - 32px))!important;max-height:calc(100vh - 34px)!important}
.cc-import-body{display:grid;gap:14px;padding:18px 20px 10px}
.cc-import-top{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:14px}
.cc-import-drop{min-height:150px;border:2px dashed #bfdbfe;border-radius:18px;background:#f8fbff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;padding:20px;cursor:pointer;transition:.18s ease;color:#0b2442}
.cc-import-drop:hover,.cc-import-drop.drag{border-color:#2563eb;background:#eff6ff;transform:translateY(-1px)}
.cc-import-drop i{font-size:28px;color:#2563eb}.cc-import-drop b{font-size:15px}.cc-import-drop small{font-size:12px;color:#64748b}
.cc-import-guide{border:1px solid #e2e8f0;border-radius:18px;padding:14px 16px;background:#fff;display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px}
.cc-import-guide>b{width:100%;font-size:13px;color:#0f172a}.cc-import-guide>span{font-size:11px;font-weight:800;padding:6px 9px;border-radius:999px;background:#f1f5f9;color:#475569}.cc-import-guide em{font-style:normal;color:#dc2626}.cc-import-guide .btn{width:100%;margin-top:4px;justify-content:center}
.cc-import-options{display:grid;grid-template-columns:minmax(180px,1fr) minmax(200px,1fr) minmax(240px,1.4fr);gap:12px;align-items:end}
.cc-import-options label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#334155}.cc-import-options select{height:42px;border:1px solid #dbe7f5;border-radius:12px;padding:0 11px;background:#fff;color:#0f172a;font-weight:700}
.cc-import-file-meta{min-height:42px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;display:flex;align-items:center;padding:10px 12px;color:#64748b;font-size:12px;font-weight:700}
.cc-import-privacy{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff;color:#1e3a8a}.cc-import-privacy i{margin-top:2px}.cc-import-privacy b,.cc-import-privacy span{display:block}.cc-import-privacy b{font-size:12px}.cc-import-privacy span{font-size:11px;margin-top:3px;line-height:1.45}
.cc-import-summary{display:flex;flex-wrap:wrap;gap:8px}.cc-import-summary span{display:flex;gap:5px;align-items:center;padding:7px 10px;border-radius:12px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:800}.cc-import-summary .ok{background:#ecfdf5;color:#047857}.cc-import-summary .upd{background:#eff6ff;color:#1d4ed8}.cc-import-summary .bad{background:#fff1f2;color:#be123c}
.cc-import-preview{overflow:auto;max-height:340px;border:1px solid #e2e8f0;border-radius:14px}.cc-import-preview table{width:100%;border-collapse:collapse;font-size:12px}.cc-import-preview th{position:sticky;top:0;z-index:2;text-align:left;background:#f8fafc;color:#475569;padding:10px;border-bottom:1px solid #e2e8f0}.cc-import-preview td{padding:9px 10px;border-bottom:1px solid #f1f5f9;vertical-align:top;color:#334155}.cc-import-preview td>small{display:block;color:#94a3b8;margin-top:3px}.cc-import-preview td b{color:#0f172a}
.cc-import-chip{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:900;margin-right:5px}.cc-import-chip.new{background:#ecfdf5;color:#047857}.cc-import-chip.update{background:#eff6ff;color:#1d4ed8}.cc-import-chip.skip{background:#f1f5f9;color:#64748b}.cc-import-chip.error{background:#fff1f2;color:#be123c}.cc-import-preview td:last-child small{display:block;margin-top:5px;color:#64748b;max-width:180px}
.cc-import-result{border:1px solid #dbeafe;border-radius:14px;padding:12px 14px;background:#f8fbff;color:#334155;font-size:12px;line-height:1.5}.cc-import-result>b,.cc-import-result>span{display:block}.cc-import-result details{margin-top:8px}.cc-import-result details div{padding:3px 0;color:#b91c1c}
.cc-import-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px 18px;border-top:1px solid #eef2f7;background:#fff;position:sticky;bottom:0}
.participants-page .page-actions{flex-wrap:wrap}.participants-page .row-action:empty{display:none}.participants-page .pager button:disabled{opacity:.35;cursor:not-allowed}.participants-page .page-actions button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:820px){.cc-import-top,.cc-import-options{grid-template-columns:1fr}.cc-import-preview{max-height:280px}.cc-live-form-grid{grid-template-columns:1fr!important}}


/* CertCore v28.11 canonical participants tablet/mobile finishing */
@media(max-width:760px){
  .participants-page .participants-actionbar{align-items:stretch!important}
  .participants-page .participants-toolbar{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
  .participants-page .participants-toolbar>*{min-width:0!important;width:100%!important}
  .participants-page .page-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
  .participants-page .page-actions .btn{width:100%!important;justify-content:center!important}
  .participants-page .cc-table-wrap{overflow:auto!important;-webkit-overflow-scrolling:touch}
  .participants-page table{min-width:760px!important}
}

/* CERTCORE DATA INTEGRITY + PARTICIPANT MANAGEMENT FINAL v1 */
.participants-page .cc-select-col{width:42px!important;min-width:42px!important;padding-left:12px!important;padding-right:6px!important;text-align:center!important}
.cc-select-check{display:inline-grid!important;place-items:center!important;width:22px!important;height:22px!important;margin:0!important;cursor:pointer!important}
.cc-select-check input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.cc-select-check span{width:17px!important;height:17px!important;border:1.5px solid #cbd5e1!important;border-radius:5px!important;background:#fff!important;display:grid!important;place-items:center!important;transition:.15s ease!important}
.cc-select-check input:checked+span{border-color:#2563eb!important;background:#2563eb!important;box-shadow:0 0 0 3px rgba(37,99,235,.10)!important}
.cc-select-check input:checked+span:after{content:"";width:7px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translateY(-1px)}
.cc-select-check input:indeterminate+span{border-color:#2563eb!important;background:#2563eb!important}
.cc-select-check input:indeterminate+span:after{content:"";width:8px;height:2px;border-radius:2px;background:#fff}
.cc-select-check input:disabled+span{opacity:.42;cursor:not-allowed!important}
.participants-page .cc-table tbody tr.is-selected>td{background:#f5f9ff!important}
/* Compact selection controls live inside the existing table header. */
.participants-page .cc-participant-name-head{white-space:nowrap}
.participants-page .cc-participant-selection-count{display:inline-flex;align-items:center;gap:3px;margin-left:8px;color:#2563eb;font-size:10px;font-weight:650;letter-spacing:0;text-transform:none;white-space:nowrap}
.participants-page .cc-participant-selection-count b{font-weight:800}
.participants-page .cc-participant-actions-head{text-align:right;white-space:nowrap;min-width:146px}
.participants-page .cc-participant-selection-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;vertical-align:middle}
.participants-page .cc-participant-selection-count[hidden],.participants-page .cc-participant-selection-actions[hidden]{display:none!important}
.participants-page .cc-selection-clear,.participants-page .cc-selection-delete{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:4px;height:22px;min-height:0;margin:-2px 0;padding:0 4px;border:0;border-radius:5px;background:transparent;font-family:inherit;font-size:10px;font-weight:650;line-height:1;letter-spacing:0;text-transform:none;white-space:nowrap;cursor:pointer}
.participants-page .cc-selection-clear{color:#2563eb}
.participants-page .cc-selection-delete{width:22px;padding:0;color:#e11d48}
.participants-page .cc-selection-clear:hover{background:#eaf1ff}
.participants-page .cc-selection-delete:hover{background:#ffe4e6}
.participants-page .cc-selection-clear:focus-visible,.participants-page .cc-selection-delete:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.participants-page .cc-selection-clear:disabled,.participants-page .cc-selection-delete:disabled{opacity:.45;cursor:not-allowed}
.participants-page .cc-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;white-space:nowrap}
.participants-page .row-action.danger{color:#e11d48!important;background:#fff1f2!important;border-color:#fecdd3!important}
@media(max-width:760px){.participants-page table{min-width:820px!important}}


/* CERTCORE_COMPANY_SCOPED_PARTICIPANT_POOL_FINAL_V1 */
[data-cc-participant-company-filter]:disabled,[data-cc-cert-company-filter]:disabled{opacity:1;cursor:not-allowed;background:#f8fafc;color:#0f172a;font-weight:700}

/* Personnel synchronization and historical-training dialogs. */
.cc-workforce-modal{z-index:2147482500;padding:20px!important}
.cc-workforce-modal .cc-workforce-card{box-sizing:border-box;width:min(960px,100%)!important;max-width:100%!important;min-width:0!important;max-height:calc(100dvh - 40px)!important;display:flex;flex-direction:column;overflow:hidden!important;border:1px solid #e2e8f0;border-radius:22px!important;background:#fff;box-shadow:0 24px 80px rgba(15,23,42,.22)}
.cc-workforce-modal .cc-workforce-card *{box-sizing:border-box;min-width:0}
.cc-workforce-card .cc-live-modal-head{flex:0 0 auto;align-items:flex-start!important;gap:20px;padding:22px 24px!important;background:linear-gradient(125deg,#f8fbff,#eff5ff);border-bottom:1px solid #e5edf8}
.cc-workforce-card .cc-live-modal-head>div{flex:1;min-width:0!important}
.cc-workforce-card .cc-live-modal-head b{font-size:20px!important;line-height:1.3!important;font-weight:800;color:#102a48}
.cc-workforce-card .cc-live-modal-head small{font-size:12px!important;line-height:1.55!important;font-weight:500!important;max-width:680px;color:#64748b}
.cc-workforce-card .cc-live-icon-btn{flex:0 0 34px!important;width:34px!important;height:34px!important;border-radius:10px!important}
.cc-workforce-body{min-height:0;min-width:0;width:100%;padding:20px 24px 22px;overflow-y:auto;overflow-x:hidden;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:16px;scrollbar-gutter:stable}
.cc-workforce-body>*{min-width:0;max-width:100%}
.cc-workforce-callout{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid #d8e7ff;background:#f1f6ff;border-radius:12px;color:#254b83}
.cc-workforce-callout.history{background:#f7f9fc;border-color:#e2e8f0;color:#475569}
.cc-workforce-callout>i{flex:0 0 20px;font-size:20px;margin-top:2px;color:#2563eb}
.cc-workforce-callout.history>i{color:#64748b}
.cc-workforce-callout>div{display:grid;gap:4px;min-width:0}
.cc-workforce-callout b{font-size:13px;font-weight:750;line-height:1.4}
.cc-workforce-callout span{font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.cc-workforce-upload{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px;border:1px dashed #bdd0ec;background:#fbfdff;border-radius:12px;min-width:0}
.cc-workforce-upload input[type="file"]{display:block;width:100%;max-width:100%;min-width:0;margin:0;padding:0;border:0;background:transparent;color:#64748b;font:inherit;font-size:12px;line-height:34px;text-overflow:ellipsis;overflow:hidden}
.cc-workforce-upload input[type="file"]::file-selector-button{height:34px;margin:0 10px 0 0;padding:0 13px;border:1px solid #d6e2f1;border-radius:8px;background:#fff;color:#1e40af;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer}
.cc-workforce-upload input[type="file"]::file-selector-button:hover{background:#edf4ff;border-color:#9ebff3}
.cc-workforce-upload input[type="file"]:focus-visible{outline:2px solid #2563eb;outline-offset:4px;border-radius:6px}
.cc-workforce-upload>div{display:grid;gap:4px;min-width:0;border-left:1px solid #e2e8f0;padding-left:18px}
.cc-workforce-upload>div>b{font-size:13px;font-weight:750;line-height:1.4;color:#183552;overflow-wrap:anywhere}
.cc-workforce-upload small{font-size:11.5px;color:#64748b;line-height:1.5;overflow-wrap:anywhere}
.cc-workforce-card .cc-workforce-upload>.btn{height:34px!important;min-height:34px!important;padding:0 12px!important;display:inline-flex!important;align-items:center;justify-content:center;gap:6px;border-radius:8px!important;font-size:11.5px!important;line-height:1!important;white-space:nowrap;flex-shrink:0}
.cc-workforce-check{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;font-size:12px;line-height:1.6;color:#475569}
.cc-workforce-check input{flex:0 0 15px;width:15px;height:15px;margin:3px 0 0;accent-color:#2563eb}
.cc-workforce-check span{min-width:0;overflow-wrap:anywhere}
.cc-workforce-privacy{padding:10px 12px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.cc-workforce-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.cc-workforce-stats:empty,.cc-workforce-privacy:empty,.cc-history-list:empty{display:none}
.cc-workforce-stats>div{padding:11px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;display:grid;gap:4px}
.cc-workforce-stats b{font-size:20px;line-height:1.2;color:#0f172a}.cc-workforce-stats span{font-size:10.5px;line-height:1.4;color:#64748b;overflow-wrap:anywhere}
.cc-workforce-stats .new{border-color:#bbf7d0;background:#f0fdf4}.cc-workforce-stats .update,.cc-workforce-stats .reactivate{border-color:#bfdbfe;background:#eff6ff}.cc-workforce-stats .missing{border-color:#fde68a;background:#fffbeb}.cc-workforce-stats .bad{border-color:#fecaca;background:#fef2f2}
.cc-workforce-table-wrap{min-width:0;width:100%;border:1px solid #e2e8f0;border-radius:12px;overflow:auto;max-height:300px}
.cc-workforce-card .cc-workforce-table{width:100%!important;min-width:0!important;table-layout:fixed;border-collapse:collapse;font-size:11.5px}
.cc-workforce-table th{position:sticky;top:0;background:#f5f8fc;color:#53657c;text-align:left;padding:11px 12px;border-bottom:1px solid #e2e8f0;z-index:1;font-size:11px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
.cc-workforce-table td{padding:12px;border-bottom:1px solid #eef2f7;vertical-align:top;line-height:1.55;color:#475569;overflow-wrap:anywhere;white-space:normal}
.cc-workforce-table tbody tr:last-child td{border-bottom:0}
.cc-workforce-table td small{display:block;color:#64748b;margin-top:3px;line-height:1.4}
.cc-sync-chip{display:inline-flex;padding:4px 7px;border-radius:6px;background:#f1f5f9;color:#475569;font-weight:700;font-size:10px;max-width:100%;overflow-wrap:anywhere}
.cc-sync-chip.new,.cc-sync-chip.ready{background:#dcfce7;color:#166534}.cc-sync-chip.update,.cc-sync-chip.reactivate{background:#dbeafe;color:#1d4ed8}.cc-sync-chip.missing,.cc-sync-chip.unmatched{background:#fef3c7;color:#92400e}.cc-sync-chip.unresolved,.cc-sync-chip.ambiguous{background:#fee2e2;color:#991b1b}
.cc-workforce-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;align-items:center;padding-top:2px}
.cc-workforce-card .cc-workforce-footer .btn{min-height:36px!important;padding:9px 14px!important;display:inline-flex!important;align-items:center;justify-content:center;gap:6px;border-radius:9px!important;font-size:11.5px!important;line-height:1.3!important;white-space:normal;text-align:center}
.cc-history-existing{display:grid;gap:12px;border-top:1px solid #e2e8f0;padding-top:16px}
.cc-history-title{display:flex;gap:10px;justify-content:space-between;align-items:center}.cc-history-title b{font-size:13px;color:#334155}.cc-history-title span{font-size:11px;color:#64748b;white-space:nowrap}
.cc-history-list{display:grid;gap:8px;max-height:300px;overflow-y:auto;overflow-x:hidden}
.cc-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}
.cc-history-row>div:first-child{display:grid;gap:3px;overflow-wrap:anywhere}.cc-history-row span,.cc-history-row small{font-size:11px;color:#64748b;line-height:1.5}.cc-history-badges{display:flex;gap:6px;flex-wrap:wrap}.cc-history-badges span{padding:4px 7px;border-radius:6px;background:#f1f5f9;color:#475569;font-weight:700}.cc-history-badges .ok{background:#dcfce7;color:#166534}.cc-history-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
@media(max-width:760px){.cc-workforce-modal{padding:12px!important}.cc-workforce-modal .cc-workforce-card{max-height:calc(100dvh - 24px)!important;border-radius:16px!important}.cc-workforce-card .cc-live-modal-head{padding:18px!important;gap:14px}.cc-workforce-card .cc-live-modal-head b{font-size:18px!important}.cc-workforce-body{padding:16px;gap:12px}.cc-workforce-upload{grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:14px}.cc-workforce-upload input[type="file"]{grid-column:1/-1}.cc-workforce-upload>div{border:0;padding:0}.cc-workforce-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.cc-history-row{grid-template-columns:minmax(0,1fr)}.cc-workforce-table th,.cc-workforce-table td{padding:9px 8px;font-size:10.5px}}
@media(max-width:420px){.cc-workforce-card .cc-workforce-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cc-workforce-card .cc-workforce-footer .btn{width:100%;padding:9px 7px!important;font-size:10.5px!important}.cc-workforce-callout{padding:11px;gap:9px}.cc-workforce-callout>i{font-size:17px;flex-basis:17px}.cc-workforce-callout b{font-size:12px}.cc-workforce-callout span{font-size:11px}}
