:root { color-scheme: light; }
html, body { margin: 0; min-height: 100%; }
.ebc-auth-body { background: #f4f7fb; color: #111827; font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; -webkit-font-smoothing: antialiased; }
.ebc-auth, .ebc-auth * { box-sizing: border-box; }
.ebc-auth { min-height: 100vh; display: grid; grid-template-columns: minmax(320px, .9fr) minmax(480px, 1.1fr); }
.ebc-auth__brand { position: relative; display: flex; align-items: center; overflow: hidden; padding: clamp(3rem,7vw,7rem); color: #fff; background:
  radial-gradient(circle at 86% 72%, transparent 0 105px, rgba(255,255,255,.08) 106px 107px, transparent 108px 155px, rgba(255,255,255,.06) 156px 157px, transparent 158px),
  radial-gradient(circle at 18% 18%, transparent 0 72px, rgba(255,255,255,.07) 73px 74px, transparent 75px 112px, rgba(255,255,255,.05) 113px 114px, transparent 115px),
  linear-gradient(145deg,#082f58 0%,#0e5598 48%,#1c70bb 100%); }
.ebc-auth__brand::before,.ebc-auth__brand::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.16); border-radius:50%; pointer-events:none; }
.ebc-auth__brand::before { width:38rem;height:38rem;right:-20rem;top:-18rem;box-shadow:0 0 0 4.5rem rgba(255,255,255,.025),0 0 0 9rem rgba(255,255,255,.018); }
.ebc-auth__brand::after { width:28rem;height:28rem;left:-17rem;bottom:-17rem;box-shadow:0 0 0 3.5rem rgba(255,255,255,.022); }
.ebc-auth__brand-content { position:relative;z-index:1;max-width:540px; }
.ebc-auth__logo { display:inline-flex;min-height:160px;margin-bottom:clamp(2.75rem,6vh,5rem); }
.ebc-auth__logo img { display:block;width:auto;height:clamp(155px,13vw,185px);max-width:320px;object-fit:contain; }
.ebc-auth__eyebrow,.ebc-auth__kicker { margin:0 0 .75rem;font-size:.72rem;font-weight:750;letter-spacing:.16em;text-transform:uppercase; }
.ebc-auth__eyebrow { color:#cce4fb; }
.ebc-auth__brand h1 { max-width:620px;margin:0;color:#fff;font-size:clamp(2.65rem,4.8vw,4.65rem);font-weight:300;line-height:1.06;letter-spacing:-.042em;text-wrap:balance;text-shadow:0 2px 18px rgba(0,24,51,.28); }
.ebc-auth__intro { max-width:500px;margin:1.5rem 0 0;color:#fff;font-size:clamp(1.05rem,1.45vw,1.25rem);font-weight:480;line-height:1.65;text-shadow:0 1px 10px rgba(0,30,64,.2); }
.ebc-auth__panel { display:flex;align-items:center;justify-content:center;padding:clamp(2rem,7vw,7rem);background:#f4f7fb; }
.ebc-auth__card { width:100%;max-width:460px; }
.ebc-auth__kicker { color:#1565b1; }
.ebc-auth__card h2 { margin:0;color:#111827;font-size:clamp(1.8rem,3vw,2.35rem);line-height:1.2;letter-spacing:-.03em; }
.ebc-auth__help { margin:.8rem 0 2rem;color:#6b7280;font-size:.95rem;line-height:1.65; }
.ebc-auth__form { display:grid;gap:.7rem; }
.ebc-auth__form label { color:#273244;font-size:.85rem;font-weight:650; }
.ebc-auth__form input[type="text"],.ebc-auth__form input[type="password"] { width:100%;height:50px;margin:0 0 .65rem;padding:0 1rem;border:1px solid #d9e0e8;border-radius:8px;background:#fff;color:#111827;font:inherit;box-shadow:0 1px 2px rgba(15,23,42,.03);transition:border-color .15s,box-shadow .15s; }
.ebc-auth__form input:focus { outline:0;border-color:#1565b1;box-shadow:0 0 0 4px rgba(21,101,177,.12); }
.ebc-auth__form button { height:50px;margin-top:.65rem;border:0;border-radius:8px;background:#1565b1;color:#fff;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(21,101,177,.2);transition:background .15s,transform .12s; }
.ebc-auth__form button:hover { background:#0d4c8c; }.ebc-auth__form button:active{transform:translateY(1px);}
.ebc-auth__label-row { display:flex;align-items:center;justify-content:space-between;gap:1rem; }.ebc-auth__label-row a,.ebc-auth__back { color:#1565b1;font-size:.83rem;font-weight:650;text-decoration:none; }
.ebc-auth__remember { display:flex;align-items:center;gap:.65rem;width:max-content;cursor:pointer; }.ebc-auth__remember input { width:17px;height:17px;margin:0;border:1px solid #bac5d1;border-radius:4px;appearance:none;background:#fff; }.ebc-auth__remember input:checked { border-color:#1565b1;background:#1565b1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-width='2' d='m3 8 3 3 7-7'/%3E%3C/svg%3E") center/14px no-repeat; }
.ebc-auth__notice { margin:0 0 1.5rem;padding:.85rem 1rem;border:1px solid;border-radius:8px;font-size:.88rem;line-height:1.5; }.ebc-auth__notice--error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.ebc-auth__notice--success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}
.ebc-auth__back { display:inline-block;margin-top:1.5rem; }
.ebc-auth__links { display:flex;align-items:center;justify-content:center;gap:.7rem;margin-top:2.2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0;color:#778296;font-size:.8rem; }.ebc-auth__links a{color:#596579;text-decoration:none}.ebc-auth__links a:hover{color:#1565b1}
@media (max-width:800px){.ebc-auth{grid-template-columns:1fr}.ebc-auth__brand{min-height:420px;padding:2.25rem}.ebc-auth__logo{min-height:105px;margin-bottom:2.25rem}.ebc-auth__logo img{height:112px}.ebc-auth__brand h1{font-size:2.65rem}.ebc-auth__panel{padding:3rem 1.5rem 4rem}}
@media (max-width:440px){.ebc-auth__links{align-items:flex-start;flex-direction:column}.ebc-auth__links span{display:none}}

.ebc-verification__icon { display:grid;place-items:center;width:54px;height:54px;margin:0 0 1.5rem;border-radius:50%;background:#eff6ff;color:#1565b1;font-size:1.35rem;font-weight:700;box-shadow:inset 0 0 0 1px #bfdbfe; }
.ebc-verification__icon--success { background:#ecfdf5;color:#047857;box-shadow:inset 0 0 0 1px #a7f3d0; }
.ebc-verification__button { display:inline-flex;align-items:center;justify-content:center;min-height:50px;width:100%;padding:.75rem 1.2rem;border:0;border-radius:8px;background:#1565b1;color:#fff;font:inherit;font-weight:700;text-align:center;text-decoration:none;cursor:pointer;box-shadow:0 6px 16px rgba(21,101,177,.2);transition:background .15s,transform .12s; }
.ebc-verification__button:hover,.ebc-verification__button:focus-visible { background:#0d4c8c;color:#fff; }
.ebc-verification__button:active { transform:translateY(1px); }
.ebc-verification__form { margin:0; }
