/* 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}
}
