/* dmarcboard app — Settings: company single sign-on card (app-sso.js) and passkey rows (app-pages.js). */
.sso .adm-prov-head + p { margin-top: 4px; }
.sso > .notice { margin-top: 14px; }
.sso-steps { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 0; counter-reset: none; }
.sso-steps > li { border-top: 1px solid var(--border); padding: 18px 0; }
.sso-steps > li:first-child { border-top: 0; padding-top: 4px; }
.sso-step { display: grid; gap: 12px; min-width: 0; }
.sso-step-h { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 16px; }
.sso-step-n { flex: none; display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 999px; background: var(--brand-50); color: var(--brand); font-size: 13px; font-weight: 700; }
.sso-step-done { background: var(--pass-bg, #e7f6ee); color: var(--pass, #15803d); }
.sso-sp { gap: 10px; }
.sso-kv { margin-top: 0; }
.sso-expiring { color: var(--warn, #b45309); font-weight: 600; }
.sso-form { padding: 16px; border: 1px solid var(--border); border-radius: var(--r-md, 12px); background: #fbfcfe; }
.sso-xml { min-height: 120px; font-size: 12.5px; line-height: 1.45; resize: vertical; }
.sso-choose { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.sso-choice { display: grid; gap: 4px; justify-items: start; text-align: left; height: auto; min-height: 76px; padding: 14px 16px; white-space: normal; }
.sso-domains { display: grid; gap: 10px; }
.sso-domain { border: 1px solid var(--border); border-radius: var(--r-md, 12px); padding: 12px 14px; display: grid; gap: 8px; min-width: 0; }
.sso-domain-head { display: flex; align-items: center; gap: 8px 12px; flex-wrap: wrap; }
.sso-domain-head .btn-row { margin-left: auto; }
.sso-dns { gap: 8px; }
.sso-add-row { display: flex; gap: 8px; flex-wrap: wrap; }
.sso-add-row .input { flex: 1 1 220px; min-width: 0; }
.sso-role { max-width: 360px; }
.sso-foot { border-top: 1px solid var(--border); padding-top: 14px; display: flex; justify-content: flex-end; }
.sec-row-sub { padding: 10px 0 10px 28px; border-top-style: dashed; }
@media (max-width: 560px) { .sec-row-sub { padding-left: 12px; } .sso-domain-head .btn-row { margin-left: 0; }
  /* IdP summary: long labels (max-content column) left the values a few characters wide on phones — stack label over value */
  .sso-kv { grid-template-columns: minmax(0, 1fr); gap: 2px 0; } .sso-kv dd + dt { margin-top: 8px; } }
