/* MedicalCentre_v1 Identity (mc-idp-v1): the hosted sign-in, sign-up, consent and account pages. Builds on /common/mc.css. */
body.idp { background: var(--mc-bg); }
.idp-band { display: flex; align-items: center; gap: 10px; padding: 8px 16px; background: #0f766e; color: #fff; font-weight: 700; font-size: .92rem; }
.idp-band .idp-mark { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 7px; background: rgba(255,255,255,.18); font-weight: 900; }
.idp-band .idp-sub { font-weight: 500; opacity: .85; font-size: .82rem; }
.idp-band .mc-obs-pill { margin-left: auto; }
.idp-band .mc-obs-pill a { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.55); color: #fff; }
.idp-band .mc-obs-pill .go { color: #fff; }
.idp-band .mc-obs-pill .dot { background: #bbf7d0; }
.idp-band .mc-obs-pill .dot.bad { background: #fecaca; }
.idp-main { flex: 1; width: 100%; max-width: 980px; margin: 0 auto; padding: 18px 16px 48px; }
.idp-card { max-width: 460px; margin: 6vh auto 0; }
.idp-card.wide { max-width: 760px; }
.idp-card h1 { font-size: 1.35rem; margin-bottom: .25rem; }
.idp-rp { display: flex; align-items: center; gap: 10px; padding: 10px 12px; background: var(--mc-primary-soft); color: var(--mc-primary-text); border-radius: var(--mc-radius-sm); margin: 8px 0 14px; font-size: .92rem; }
.idp-rp .idp-rp-mark { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: var(--mc-primary); color: #fff; font-weight: 900; flex: none; }
.idp-or { display: flex; align-items: center; gap: 10px; color: var(--mc-faint); font-size: .8rem; margin: 12px 0; }
.idp-or::before, .idp-or::after { content: ""; flex: 1; border-top: 1px solid var(--mc-border); }
.idp-scopes { list-style: none; margin: 6px 0 14px; padding: 0; display: grid; gap: 6px; }
.idp-scopes li { display: flex; gap: 10px; align-items: flex-start; padding: 8px 10px; border: 1px solid var(--mc-border); border-radius: var(--mc-radius-sm); background: var(--mc-surface-2); font-size: .92rem; }
.idp-scopes code { color: var(--mc-muted); flex: none; }
.idp-links { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; margin-top: 14px; font-size: .9rem; }
.idp-passkey-row { display: flex; gap: 10px; align-items: center; justify-content: space-between; padding: 10px 12px; border: 1px solid var(--mc-border); border-radius: var(--mc-radius-sm); background: var(--mc-surface); }
.idp-passkey-row .idp-pk-name { font-weight: 600; }
.idp-passkey-row .idp-pk-meta { font-size: .8rem; color: var(--mc-muted); display: flex; gap: 8px; flex-wrap: wrap; }
.idp-list { display: grid; gap: 8px; }
.idp-footer { padding: 14px 16px; text-align: center; font-size: .78rem; color: var(--mc-faint); border-top: 1px solid var(--mc-border); }
.idp-footer a { color: var(--mc-muted); }
.idp-trace-log { font-size: .78rem; color: var(--mc-muted); max-width: 980px; margin: 12px auto 0; }
.idp-trace-log summary { cursor: pointer; }
.idp-trace-log table { width: 100%; border-collapse: collapse; margin-top: 6px; }
.idp-trace-log td { padding: 3px 6px; border-top: 1px solid var(--mc-border); font-family: var(--mc-mono); font-size: .76rem; white-space: nowrap; }
.idp-trace-log td.what { font-family: var(--mc-font); white-space: normal; }
.idp-claims { font-family: var(--mc-mono); font-size: .8rem; white-space: pre-wrap; background: var(--mc-surface-2); border: 1px solid var(--mc-border); border-radius: var(--mc-radius-sm); padding: 10px; max-height: 260px; overflow: auto; }
.idp-amr { display: inline-flex; gap: 4px; flex-wrap: wrap; }
.mc-login.idp-card .mc-form-actions { justify-content: stretch; }
.mc-login.idp-card .mc-form-actions .mc-btn { flex: 1; }
.card.error { max-width: 560px; margin: 8vh auto; background: var(--mc-surface); border: 1px solid var(--mc-border); border-radius: var(--mc-radius); padding: 18px; }
.card.error h1 { font-size: 1.2rem; }
.card.error .muted { color: var(--mc-muted); font-size: .85rem; }
