:root{--royal:#1a284c;--gold:#c8a238;--ivory:#f7f6f0;--ink:#1c2425;--muted:#667170;--line:#dedbd1;--danger:#a93838;--success:#176d58}*{box-sizing:border-box}body{margin:0;background:var(--ivory);color:var(--ink);font:15px Inter,Arial,sans-serif}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(340px,46%) 1fr}.auth-brand{position:relative;overflow:hidden;background:var(--royal);color:#fff;padding:48px clamp(32px,6vw,92px);display:flex;flex-direction:column;justify-content:space-between}.auth-brand:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(200,162,56,.36);border-radius:50%;right:-290px;top:15%;box-shadow:0 0 0 85px rgba(200,162,56,.06)}.brand{position:relative;z-index:1;color:#fff;text-decoration:none;display:flex;align-items:center;gap:12px}.brand>img{display:block;width:48px;height:48px;object-fit:contain}.brand strong{font-size:20px}.brand small{display:block;margin-top:3px;color:#ddd8ca;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.auth-brand>div,.auth-brand footer{position:relative;z-index:1}.eyebrow{color:var(--gold);font-size:11px;font-weight:900;letter-spacing:.22em}.auth-brand h1{font:600 clamp(38px,5vw,68px)/1.05 Georgia,serif;margin:16px 0 22px}.auth-brand h1 em{color:#e3c66e;font-weight:400}.auth-brand p:not(.eyebrow){max-width:570px;color:#dedbd1;font-size:17px;line-height:1.7}.auth-brand footer{font-size:12px;letter-spacing:.12em;color:#c9c7be}.auth-panel{display:grid;place-items:center;padding:36px}.card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(28px,5vw,52px);box-shadow:0 20px 60px rgba(26,40,76,.1)}h2{margin:8px 0 8px;font:600 34px Georgia,serif;color:var(--royal)}.intro{color:var(--muted);margin:0 0 28px;line-height:1.55}form{display:grid;gap:18px}label{display:grid;gap:7px;font-size:13px;font-weight:800;color:var(--royal)}input{width:100%;height:50px;border:1px solid #cbd2ce;border-radius:10px;padding:0 14px;background:#fff;font:inherit;color:var(--ink);outline:none}input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,162,56,.16)}.password-wrap{position:relative;display:block}.password-wrap input{padding-right:82px}.show-password{position:absolute;right:6px;top:6px;height:38px;border:0;background:#f1efe6;color:var(--royal);font-weight:800;border-radius:7px;cursor:pointer}.primary{height:50px;border:0;border-radius:10px;background:var(--royal);color:#fff;font-weight:900;font-size:15px;cursor:pointer}.primary:disabled{opacity:.65;cursor:wait}.forgot{display:block;text-align:center;margin-top:20px;color:var(--royal);font-weight:800;text-decoration:none}.legal{font-size:12px;color:var(--muted);text-align:center;margin:28px 0 0}.legal a{color:var(--royal)}.message{padding:12px 14px;border-radius:9px;background:#fff1f1;color:var(--danger);font-size:13px;line-height:1.5}.message.success{background:#edf8f3;color:var(--success)}@media(max-width:760px){.auth-shell{display:block}.auth-brand{min-height:255px;padding:26px 24px}.auth-brand h1{font-size:36px;margin:12px 0}.auth-brand p:not(.eyebrow){font-size:14px;margin-bottom:20px}.auth-brand footer{display:none}.auth-panel{padding:20px 14px 36px;margin-top:-24px;position:relative;z-index:2}.card{padding:28px 22px;border-radius:16px}h2{font-size:29px}}
.social-login{display:grid;gap:.8rem;margin:1.35rem 0}.social-divider{display:flex;align-items:center;gap:12px;color:#7a8798;font-size:.82rem}.social-divider:before,.social-divider:after{content:"";height:1px;flex:1;background:#d8e0e9}.google-login{width:100%;min-height:54px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #cbd5e1;border-radius:14px;background:#fff;color:#183153;font:800 1rem/1 system-ui;box-shadow:0 8px 22px rgba(26,52,82,.08);cursor:pointer;transition:.18s ease}.google-login:hover{transform:translateY(-1px);border-color:#9eb2c8;box-shadow:0 12px 28px rgba(26,52,82,.13)}.google-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(from -35deg,#4285f4 0 25%,#34a853 0 45%,#fbbc05 0 70%,#ea4335 0 83%,#4285f4 0);color:#fff;font:900 17px/1 Arial;text-shadow:0 1px 2px rgba(0,0,0,.15)}.certificate-login button{width:100%}.certificate-login{margin:1rem 0;padding:1rem;border:1px solid #d8dee8;border-radius:14px}.certificate-login summary{cursor:pointer;font-weight:800;color:#12335d}.certificate-login form{display:grid;gap:.75rem;margin-top:1rem}.certificate-login small{display:block;margin-top:.7rem;color:#66758c}
.oauth-callback-card{width:min(520px,calc(100% - 36px));margin:10vh auto;padding:42px;border:1px solid rgba(190,145,29,.42);border-radius:28px;background:linear-gradient(145deg,#fffdf7,#edf5fb);box-shadow:0 24px 70px rgba(6,34,69,.18);text-align:center}.oauth-callback-card>img{width:62px;height:62px}.oauth-callback-card h1{margin:10px 0 8px;color:#10284d;font-size:clamp(28px,5vw,42px)}.oauth-callback-card p{color:#5f7188}.oauth-callback-loader{width:46px;height:46px;margin:28px auto 8px;border:5px solid #dce8f1;border-top-color:#e1aa19;border-radius:50%;animation:oauth-spin .8s linear infinite}.oauth-callback-card a{display:inline-block;margin-top:18px;color:#123d70;font-weight:800}@keyframes oauth-spin{to{transform:rotate(360deg)}}
