.oauth-page { background:#f1f4f4; color:#1d2a30; padding:65px 0 75px; line-height:1.7; }
.oauth-container { width:min(1100px,calc(100% - 48px)); margin-inline:auto; }
.oauth-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); gap:60px; align-items:start; }
.oauth-page h1 { font-size:clamp(2.2rem,4.5vw,3.8rem); line-height:1.05; font-weight:800; letter-spacing:-.045em; margin:20px 0 25px; }
.oauth-page h2 { font-size:1.55rem; line-height:1.25; font-weight:750; letter-spacing:-.025em; overflow-wrap:anywhere; margin:17px 0; }
.oauth-page p { color:#5f6b70; margin-bottom:18px; }
.oauth-page a:not(.oauth-button) { color:#073a47; text-decoration:underline; text-underline-offset:4px; }
.oauth-page :focus-visible { outline:3px solid #073a47; outline-offset:4px; }
.oauth-back { display:inline-block; font-size:.84rem; margin-bottom:30px; }
.oauth-page .oauth-eyebrow { color:#073a47; font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; font-weight:800; margin:0 0 15px; }
.oauth-intro > p:not(.oauth-eyebrow) { font-size:1.05rem; max-width:440px; }
.oauth-reassurance { border-left:3px solid #073a47; padding:0 0 0 18px; margin-top:35px; font-size:.92rem; }
.oauth-reassurance p { margin:6px 0 0; }
.oauth-card { background:white; border:1px solid #dbe3e3; border-radius:8px; padding:32px; box-shadow:0 15px 45px #073a470a; }
.oauth-badge { display:inline-block; color:#073a47; background:#f1f4f4; border-radius:4px; font-size:.73rem; line-height:1.7; font-weight:750; padding:5px 11px; }
.oauth-permissions { list-style:disc; padding-left:20px; color:#526368; font-size:.94rem; margin:24px 0; }
.oauth-permissions li + li { margin-top:9px; }
.oauth-notice { background:#f1f4f4; border-left:3px solid #073a47; padding:17px 18px; font-size:.88rem; margin:22px 0; }
.oauth-page .oauth-scope { font-size:.8rem; color:#526368; }
.oauth-scope code { font-family:ui-monospace,monospace; color:#073a47; font-weight:650; }
.oauth-actions { display:flex; flex-wrap:wrap; gap:12px; margin:25px 0; }
.oauth-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:11px 21px; border:1px solid transparent; border-radius:999px; font-size:.88rem; font-weight:700; line-height:1.5; text-align:center; cursor:pointer; }
.oauth-button-primary { color:white; background:#073a47; }
.oauth-button-primary:hover { background:#052b34; }
.oauth-button-deny { color:#9f4c48; border-color:#bc8a86; background:white; }
.oauth-button-deny:hover { color:#fff; background:#9f4c48; }
.oauth-page .oauth-fine-print { font-size:.8rem; line-height:1.8; margin-top:20px; }
.oauth-fine-print:last-child { margin-bottom:0; }
.oauth-alert { border:1px solid #bacbd0; border-left:3px solid #073a47; border-radius:5px; padding:17px 20px; color:#073a47; background:#fff; margin:22px 0; }
.oauth-alert-error { border-color:#d5b3b0; border-left-color:#9f4c48; color:#873f3b; background:#fdf3f2; }
.oauth-alert p { color:inherit; margin:0; }
.oauth-alert p + p { margin-top:10px; }
.oauth-connections { max-width:950px; }
.oauth-lead { max-width:700px; font-size:1.08rem; }
.oauth-connection-list { display:grid; gap:18px; margin:32px 0; }
.oauth-connection { display:flex; align-items:center; justify-content:space-between; gap:25px; }
.oauth-connection > div { min-width:0; }
.oauth-connection h2 { margin:0 0 12px; font-size:1.15rem; }
.oauth-connection .oauth-fine-print { margin:12px 0 0; }
.oauth-connection form { flex-shrink:0; }
.oauth-empty { margin:32px 0; }
.oauth-empty h2 { margin-top:0; }
@media(max-width:760px) {
  .oauth-page { padding:32px 0 45px; }
  .oauth-container { width:calc(100% - 36px); }
  .oauth-layout { grid-template-columns:1fr; gap:30px; }
  .oauth-intro > p:not(.oauth-eyebrow) { max-width:none; }
  .oauth-reassurance { margin-top:22px; }
  .oauth-card { padding:25px; }
  .oauth-back { margin-bottom:22px; }
  .oauth-connection { align-items:flex-start; flex-direction:column; gap:18px; }
  .oauth-connection form,.oauth-connection .oauth-button { width:100%; }
  .oauth-actions { flex-direction:column; }
}
