/* Long Pause Media EmergeCE claim flow · 0.15.22 */
.emergece-dialog {
  position: fixed;
  inset: 0 0 0 auto;
  width: min(540px, 100vw);
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  color: #f4f9ff;
  background: #071321;
  box-shadow: -24px 0 80px rgba(0,0,0,.5);
}
.emergece-dialog::backdrop { background: rgba(0,0,0,.66); backdrop-filter: blur(7px); }
.emergece-sheet { display: grid; grid-template-rows: auto minmax(0,1fr); height: 100%; }
.emergece-head { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 22px; border-bottom:1px solid rgba(150,204,242,.13); }
.emergece-head > div { display:grid; gap:4px; min-width:0; }
.emergece-head span { color:#67dcff; font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.emergece-head strong { font-size:21px; }
.emergece-close { width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(151,205,243,.16); border-radius:13px; color:#fff; background:rgba(255,255,255,.04); }
.emergece-close svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; }
.emergece-body { min-height:0; overflow:auto; padding:24px 22px calc(28px + env(safe-area-inset-bottom)); }
.emergece-state { display:grid; gap:18px; }
.emergece-state h2 { margin:0; font-size:28px; letter-spacing:-.035em; }
.emergece-state p { margin:0; color:rgba(220,235,248,.68); line-height:1.6; }
.emergece-status-card { display:grid; gap:10px; padding:18px; border:1px solid rgba(102,220,255,.18); border-radius:18px; background:linear-gradient(145deg,rgba(28,105,148,.2),rgba(18,31,50,.65)); }
.emergece-spinner { width:34px; height:34px; border:3px solid rgba(104,220,255,.18); border-top-color:#6de2ff; border-radius:50%; animation:emergeSpin .8s linear infinite; }
@keyframes emergeSpin { to { transform:rotate(360deg); } }
.emergece-form { display:grid; gap:15px; }
.emergece-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.emergece-form .field { margin:0; }
.emergece-form label { color:#dcebf7; font-size:12px; }
.emergece-form input,.emergece-form select,.emergece-form textarea { width:100%; color:#fff; background:#040d18; border-color:rgba(143,196,235,.22); }
.emergece-form textarea { min-height:110px; resize:vertical; }
.emergece-actions { display:flex; flex-wrap:wrap; gap:10px; }
.emergece-actions .btn { flex:1 1 180px; }
.emergece-certificate { display:grid; gap:16px; padding:20px; border:1px solid rgba(63,213,152,.25); border-radius:18px; background:rgba(32,139,94,.12); }
.emergece-certificate-mark { width:54px; height:54px; display:grid; place-items:center; border-radius:50%; color:#071321; background:#74e6b5; font-size:26px; font-weight:900; }
.emergece-error { padding:14px 16px; border:1px solid rgba(244,102,125,.3); border-radius:14px; color:#ffbac4; background:rgba(143,37,56,.13); }
.account-ce-stack { display:grid; gap:22px; }
.account-ce-details { padding:14px 0 0; border-top:1px solid var(--line); }
.account-ce-details summary { cursor:pointer; font-weight:800; }
.account-ce-details[open] summary { margin-bottom:16px; }
.account-ce-claim-list { display:grid; gap:9px; }
.account-ce-claim-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:12px; align-items:center; padding:14px; border:1px solid var(--line); border-radius:14px; }
.account-ce-claim-row > div { display:grid; gap:3px; min-width:0; }
.account-ce-claim-row > div span { color:var(--ink-muted); font-size:12px; }
.emergece-test-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:end; }
.emergece-test-row .field { margin:0; }
.emergece-admin-claims { display:grid; gap:7px; margin-top:12px; }
.emergece-admin-claims > div { display:grid; grid-template-columns:minmax(120px,.7fr) minmax(0,1fr) auto; gap:10px; align-items:center; padding:10px 0; border-bottom:1px solid var(--line); }
.emergece-admin-claims > div span:not(.badge) { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink-muted); font-size:12px; }
@media (max-width:760px) {
  .emergece-dialog { inset:auto 0 0; width:100vw; height:min(92dvh,820px); border-radius:24px 24px 0 0; box-shadow:0 -20px 70px rgba(0,0,0,.55); }
  .emergece-head { padding:18px 18px 14px; }
  .emergece-body { padding:20px 18px calc(24px + env(safe-area-inset-bottom)); }
  .emergece-form-grid,.account-ce-name-grid { grid-template-columns:1fr !important; }
  .account-ce-claim-row { grid-template-columns:minmax(0,1fr) auto; }
  .account-ce-claim-row .btn { grid-column:1 / -1; width:100%; }
  .emergece-test-row { grid-template-columns:1fr; }
}

/* Long Pause Media EmergeCE student linking and certificate library · 0.15.22 */
.emergece-loading-state {
  min-height: 280px;
  align-content: center;
  justify-items: center;
  text-align: center;
}

.emergece-primary-cta {
  border-color: #f4cb43 !important;
  background: linear-gradient(180deg, #ffe56b, #f4c93f) !important;
  color: #111827 !important;
  box-shadow: 0 14px 36px rgba(244, 201, 63, .18);
  font-weight: 950 !important;
}

.emergece-primary-cta:hover {
  border-color: #ffeb8d !important;
  background: linear-gradient(180deg, #ffeb82, #f7d24c) !important;
  color: #08101c !important;
}

.emergece-disabled-cta {
  width: 100%;
  min-height: 56px;
  border: 1px solid rgba(210, 221, 232, .16);
  border-radius: 14px;
  background: rgba(160, 172, 184, .18);
  color: rgba(226, 233, 240, .46);
  font-weight: 950;
  letter-spacing: .05em;
  text-transform: uppercase;
  cursor: not-allowed;
}

.emergece-error-code {
  margin: -8px 0 0 !important;
  color: #ffb8c3 !important;
  font-size: .78rem;
  font-weight: 850;
  text-align: center;
}

.emergece-actions-stacked {
  display: grid;
  grid-template-columns: 1fr;
}

.emergece-actions-stacked .btn {
  width: 100%;
}

.emergece-identity-card {
  display: grid;
  gap: 6px;
  padding: 22px;
  border: 1px solid rgba(104, 235, 255, .27);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(29, 115, 158, .19), rgba(17, 29, 49, .72));
}

.emergece-identity-card strong {
  color: #f6fbff;
  font-size: 1.25rem;
}

.emergece-identity-card span {
  color: #81e9ff;
  overflow-wrap: anywhere;
}

.emergece-identity-card small {
  color: rgba(220, 235, 248, .64);
}

.account-ce-candidate {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid rgba(104, 235, 255, .25);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(29, 115, 158, .14), rgba(17, 29, 49, .55));
}

.account-ce-candidate-person {
  display: grid;
  gap: 3px;
}

.account-ce-candidate-person span,
.account-ce-candidate-person small {
  color: var(--ink-muted);
}

.account-ce-candidate-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.account-ce-connected-id {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: rgba(255, 255, 255, .025);
}

.account-ce-connected-id span {
  color: var(--ink-muted);
  font-size: 12px;
}

.account-ce-certificate-list {
  display: grid;
  gap: 12px;
}

.account-ce-certificate-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border: 1px solid rgba(74, 219, 164, .22);
  border-radius: 15px;
  background: rgba(32, 139, 94, .075);
}

.account-ce-certificate-row > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.account-ce-certificate-row strong {
  overflow-wrap: anywhere;
}

.account-ce-certificate-row span,
.account-ce-certificate-row small {
  color: var(--ink-muted);
}

.mobile-ce-account {
  display: grid;
  gap: 16px;
  padding: 4px 0 24px;
}

.mobile-ce-card {
  display: grid;
  gap: 14px;
  padding: 17px;
  border: 1px solid rgba(144, 199, 238, .13);
  border-radius: 18px;
  background: rgba(8, 23, 40, .74);
}

.mobile-ce-card h2,
.mobile-ce-card h3,
.mobile-ce-card p {
  margin: 0;
}

.mobile-ce-card p,
.mobile-ce-card small {
  color: rgba(220, 235, 248, .66);
}

.mobile-ce-profile-form {
  display: grid;
  gap: 13px;
}

.mobile-ce-profile-form .field {
  margin: 0;
}

.mobile-ce-profile-form input,
.mobile-ce-profile-form select {
  width: 100%;
}

@media (max-width: 760px) {
  .emergece-dialog {
    inset: max(12px, env(safe-area-inset-top)) 0 0;
    width: 100vw;
    height: auto;
    max-height: none;
    margin: 0;
    border-radius: 24px 24px 0 0;
    box-shadow: 0 -20px 70px rgba(0, 0, 0, .55);
  }

  .emergece-sheet {
    height: 100%;
  }

  .emergece-head {
    padding: 18px 18px 14px;
  }

  .emergece-body {
    padding: 20px 18px calc(24px + env(safe-area-inset-bottom));
  }

  .account-ce-candidate-actions,
  .account-ce-candidate-actions .btn,
  .account-ce-certificate-row .btn {
    width: 100%;
  }

  .account-ce-certificate-row {
    grid-template-columns: 1fr;
  }
}

/* Long Pause Media EmergeCE integration hardening · 0.15.22 */
.emergece-dialog [hidden],
.account-ce-stack [hidden] {
  display: none !important;
}

.emergece-head {
  padding-top: max(20px, env(safe-area-inset-top));
}

.emergece-status-card > span,
.account-ce-create-note > strong,
.account-ce-lookup-copy > strong,
.account-ce-form-divider > strong {
  display: block;
}

.emergece-status-card > span {
  color: #73e6ff;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.emergece-status-card > strong {
  color: #f5f9ff;
  font-size: 1.08rem;
  line-height: 1.35;
}

.emergece-survey-grid {
  grid-template-columns: 1fr;
}

.account-ce-profile-form {
  border-top: 1px solid var(--line);
}

.account-ce-create-note,
.account-ce-lookup-copy,
.account-ce-form-divider {
  display: grid;
  gap: 5px;
}

.account-ce-create-note,
.account-ce-lookup-copy {
  padding: 15px 16px;
  border: 1px solid rgba(104, 235, 255, .18);
  border-radius: 14px;
  background: rgba(37, 121, 158, .075);
}

.account-ce-create-note > span,
.account-ce-lookup-copy > span,
.account-ce-form-divider > span {
  color: var(--ink-muted);
  font-size: .84rem;
  line-height: 1.55;
}

.account-ce-form-divider {
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.account-ce-connected-summary {
  display: grid;
  grid-template-columns: minmax(180px, .45fr) minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

.account-ce-connected-summary .alert {
  grid-column: 1 / -1;
}

.account-ce-confirm-button,
.account-ce-save-button,
.account-ce-certificate-button {
  border-color: #f4cb43 !important;
  background: linear-gradient(180deg, #ffe56b, #f4c93f) !important;
  color: #111827 !important;
  box-shadow: 0 12px 30px rgba(244, 201, 63, .16);
  font-weight: 950 !important;
}

.account-ce-confirm-button:hover,
.account-ce-save-button:hover,
.account-ce-certificate-button:hover {
  border-color: #ffeb8d !important;
  background: linear-gradient(180deg, #ffeb82, #f7d24c) !important;
  color: #08101c !important;
}

.account-ce-candidate h3,
.account-ce-candidate p,
.account-ce-create-note p,
.account-ce-lookup-copy p {
  margin: 0;
}

.account-ce-candidate > div:first-child {
  display: grid;
  gap: 7px;
}

.account-ce-candidate > div:first-child p:last-child {
  color: var(--ink-muted);
  line-height: 1.55;
}

.account-ce-candidate-actions form {
  margin: 0;
}

.account-ce-claim-row .badge {
  text-align: center;
}

@media (max-width: 760px) {
  .emergece-dialog {
    --emergece-top-gap: max(76px, calc(env(safe-area-inset-top, 0px) + 20px));
    inset: var(--emergece-top-gap) 0 0;
    width: 100vw;
    height: calc(100dvh - var(--emergece-top-gap));
    max-height: none;
    margin: 0;
    border-radius: 24px 24px 0 0;
  }

  .emergece-head {
    padding: 18px;
  }

  .emergece-head strong {
    font-size: 1.08rem;
    line-height: 1.3;
  }

  .emergece-body {
    padding: 20px 18px calc(24px + env(safe-area-inset-bottom));
  }

  .emergece-form-grid,
  .account-ce-name-grid,
  .account-ce-connected-summary {
    grid-template-columns: 1fr !important;
  }

  .account-ce-stack {
    gap: 16px;
  }

  .mobile-ce-account .account-ce-stack {
    padding: 0;
  }

  .mobile-ce-account .listener-account-card {
    border-radius: 18px;
  }

  .mobile-ce-account .surface-header,
  .mobile-ce-account .surface-body,
  .mobile-ce-account .surface-footer {
    padding-left: 16px;
    padding-right: 16px;
  }

  .account-ce-candidate-actions,
  .account-ce-candidate-actions form,
  .account-ce-candidate-actions .btn,
  .account-ce-confirm-button,
  .account-ce-save-button,
  .account-ce-certificate-button {
    width: 100%;
  }

  .account-ce-claim-row {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .account-ce-claim-row .badge {
    justify-self: start;
  }
}

/* Listener CE certificate library + collapsed student profile · 0.15.30 */
.account-ce-profile-disclosure {
  border-top: 1px solid var(--line);
}

.account-ce-profile-disclosure > summary {
  list-style: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 18px 20px;
  cursor: pointer;
  user-select: none;
}

.account-ce-profile-disclosure > summary::-webkit-details-marker { display: none; }

.account-ce-profile-disclosure-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.account-ce-profile-disclosure-copy strong {
  color: var(--ink);
  font-size: 1rem;
}

.account-ce-profile-disclosure-copy small {
  overflow: hidden;
  color: var(--ink-muted);
  font-size: .78rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-ce-profile-disclosure-toggle {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid rgba(126,199,236,.22);
  border-radius: 999px;
  color: #fff;
  background: rgba(255,255,255,.045);
  font-size: .74rem;
  font-weight: 900;
}

.account-ce-profile-disclosure[open] .account-ce-profile-disclosure-toggle::after { content: ' −'; }
.account-ce-profile-disclosure:not([open]) .account-ce-profile-disclosure-toggle::after { content: ' +'; }

.account-ce-profile-disclosure .account-ce-profile-form {
  border-top: 1px solid var(--line);
}

.account-ce-profile-alert { padding-bottom: 0; }

.account-ce-certificates-card {
  border-color: rgba(72, 213, 148, .23);
  box-shadow: 0 18px 46px rgba(0,0,0,.18);
}

.account-ce-certificates-header {
  background: linear-gradient(135deg, rgba(30, 153, 102, .10), rgba(12, 48, 78, .08));
}

.account-ce-certificate-count {
  white-space: nowrap;
}

.account-ce-certificate-list {
  gap: 14px;
}

.account-ce-certificate-row {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 13px 16px;
  padding: 18px;
  border-color: rgba(72, 213, 148, .26);
  background: linear-gradient(145deg, rgba(34, 151, 99, .105), rgba(9, 29, 49, .32));
}

.account-ce-certificate-copy {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.account-ce-certificate-copy strong {
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.35;
}

.account-ce-issued-badge {
  align-self: start;
  justify-self: end;
}

.account-ce-certificate-row .account-ce-certificate-button {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 48px;
}

@media (max-width: 760px) {
  .account-ce-profile-disclosure > summary {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding: 16px;
  }

  .account-ce-profile-disclosure-toggle {
    justify-self: start;
  }

  .account-ce-certificates-header {
    gap: 12px;
  }

  .account-ce-certificate-count {
    justify-self: start;
  }

  .account-ce-certificate-row {
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 16px;
  }

  .account-ce-issued-badge {
    margin-top: 1px;
  }
}

