:root { --brand: #1565D8; --brand-dark: #0D4FB0; --ink: #0b1238; }
body { background: #f3f5f8; min-height: 100vh; }
.btn-primary { --bs-btn-bg: var(--brand); --bs-btn-border-color: var(--brand); --bs-btn-hover-bg: var(--brand-dark);
  --bs-btn-hover-border-color: var(--brand-dark); --bs-btn-active-bg: var(--brand-dark); --bs-btn-disabled-bg: var(--brand); --bs-btn-disabled-border-color: var(--brand); }
.portal-top { background: var(--ink); color: #fff; padding: .75rem 0; }
.portal-top .brand { font-weight: 700; font-size: 1.15rem; }
.portal-top .brand { display: flex; align-items: center; gap: .5rem; }
.portal-main { max-width: 860px; margin: 0 auto; padding: 1.25rem 1rem 3rem; }
.card { border: 0; border-radius: .75rem; box-shadow: 0 1px 3px rgba(15,23,36,.08); }
.account-card { border-top: 4px solid var(--pl, var(--brand)); }
.platform-dot { display: inline-block; width: .7rem; height: .7rem; border-radius: 50%; margin-right: .35rem; }
.secret { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.code-big { font-size: 2.2rem; font-weight: 700; letter-spacing: .3rem; font-family: ui-monospace, monospace; }
.mail-frame { width: 100%; height: 520px; border: 1px solid #e5e7eb; border-radius: .5rem; background: #fff; }
.guest-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 1rem;
  background: radial-gradient(circle at 20% 15%, #1b3f8f 0, var(--ink) 65%); }
.guest-card { width: 100%; max-width: 380px; }
.guest-card .brand { text-align: center; margin-bottom: 1rem; }
.guest-card .brand img { max-width: 100%; height: auto; filter: drop-shadow(0 6px 18px rgba(0,0,0,.35)); }
.pin-input { font-size: 1.6rem; letter-spacing: .5rem; text-align: center; font-family: ui-monospace, monospace; }
