:root{--sn-primary:#213a72;--sn-primary-deep:#172950;--sn-accent:#c76d3b;--sn-ink:#172338;--sn-muted:#687386;--sn-canvas:#f3f6f8;--sn-line:#dde4ea;--sn-danger:#a33f45;--sn-success:#1f6f60}
*{box-sizing:border-box}
body{margin:0;background:var(--sn-canvas);color:var(--sn-ink);font-family:"SN Cairo",Tahoma,Arial,sans-serif;line-height:1.8;text-rendering:optimizeLegibility}
h1,h2{font-family:"SN Alexandria","SN Cairo",sans-serif;letter-spacing:-.03em}
button,input{font:inherit}:focus-visible{outline:3px solid #e2a231;outline-offset:3px}
.sn-auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(400px,52%) minmax(380px,48%)}
.sn-auth-intro{position:relative;overflow:hidden;background:var(--sn-primary-deep);color:#fff;padding:clamp(36px,6vw,88px);display:flex;flex-direction:column;justify-content:space-between}.sn-auth-intro:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent,black)}.sn-auth-intro:after{content:"";position:absolute;inset-inline-start:0;top:0;width:8px;height:100%;background:var(--sn-accent)}
.sn-auth-brand{display:flex;align-items:center;gap:13px;position:relative;z-index:1;font-family:"SN Alexandria"}
.sn-auth-message{position:relative;z-index:1;max-width:690px}.sn-auth-intro h1{font-size:clamp(2.35rem,5vw,4.7rem);line-height:1.28;margin:.1em 0 .28em}.sn-auth-intro h1 span{color:#bac8e7;font-weight:450}.sn-auth-message>p:last-of-type{color:#d4dced;max-width:570px;font-size:1.02rem}.sn-eyebrow{display:flex;align-items:center;gap:9px;color:#e4a27e;font-size:.73rem;font-weight:850;letter-spacing:.08em;margin:0}.sn-eyebrow:before{content:"";width:24px;height:2px;background:currentColor}.sn-auth-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.sn-auth-points span{border:1px solid rgba(255,255,255,.18);padding:6px 12px;font-size:.68rem;color:#e0e6f2;background:rgba(255,255,255,.04)}.sn-auth-note{font-size:.7rem;color:#aebbd1;position:relative;z-index:1;max-width:490px}
.sn-auth-panel{display:grid;place-items:center;background:var(--sn-canvas);padding:36px}.sn-auth-card{width:min(450px,100%);background:#fff;border:1px solid var(--sn-line);border-top:5px solid var(--sn-primary);padding:clamp(30px,5vw,50px);box-shadow:0 22px 60px rgba(23,35,56,.09)}.sn-auth-card h2{font-size:1.75rem;margin:.1em 0}.sn-auth-card>p{color:var(--sn-muted);font-size:.86rem;margin-top:0}.sn-auth-card label{display:block;font-size:.76rem;font-weight:800;margin:17px 0 6px}.sn-auth-card input[type=text],.sn-auth-card input[type=password]{width:100%;height:49px;border:1px solid #cbd5de;border-radius:5px;background:#fbfcfd;padding:8px 13px;outline:0}.sn-auth-card input:focus{border-color:var(--sn-primary);box-shadow:0 0 0 3px rgba(33,58,114,.1);background:#fff}.sn-button{display:inline-flex;min-height:49px;align-items:center;justify-content:center;border:1px solid var(--sn-primary);border-radius:7px;background:var(--sn-primary);color:#fff;font-weight:800;padding:10px 20px;cursor:pointer;transition:.16s}.sn-button:hover{background:var(--sn-primary-deep);box-shadow:0 10px 24px rgba(33,58,114,.18);transform:translateY(-1px)}.sn-button-wide{width:100%;margin-top:23px}.sn-form-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;font-size:.73rem}.sn-form-row a,.sn-back-link,.sn-auth-footer a{color:var(--sn-primary);text-underline-offset:4px}.sn-check{display:flex!important;align-items:center;gap:7px;margin:0!important;font-weight:500!important}.sn-back-link{display:inline-block;margin-top:22px;font-size:.78rem}.sn-notice{display:grid;border-radius:6px;padding:11px 13px;margin-bottom:18px;font-size:.8rem}.sn-notice-error{background:#fff0f0;border:1px solid #ecc6c6;color:#842f36}.sn-notice-success{background:#edf7f3;border:1px solid #b8dbcf;color:#145f50}.sn-auth-footer{display:flex;gap:18px;border-top:1px solid var(--sn-line);margin-top:28px;padding-top:17px}.sn-auth-footer a{font-size:.7rem}
@media(max-width:820px){.sn-auth-shell{grid-template-columns:1fr}.sn-auth-intro{min-height:330px;padding:30px;gap:34px}.sn-auth-intro h1{font-size:2.35rem}.sn-auth-note{display:none}.sn-auth-points{display:none}.sn-auth-panel{padding:18px}.sn-auth-card{margin-top:-54px;position:relative;z-index:2}}
@media(max-width:430px){.sn-auth-intro{min-height:300px;padding:23px}.sn-auth-intro h1{font-size:2rem}.sn-auth-panel{padding:12px}.sn-auth-card{padding:30px 22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}

/* V3 — quiet institutional access, with one deliberate file-tab accent. */
:root{--sn-primary:#2d4a67;--sn-primary-deep:#243a51;--sn-accent:#b45f3f;--sn-ink:#202b35;--sn-muted:#6b747b;--sn-canvas:#eef2f1;--sn-line:#d4dcda}
.sn-auth-shell{grid-template-columns:minmax(390px,46%) minmax(430px,54%)}
.sn-auth-intro{background:var(--sn-primary-deep);padding:clamp(34px,5vw,72px)}
.sn-auth-intro:before{display:none}.sn-auth-intro:after{width:6px}
.sn-auth-message{max-width:570px}
.sn-auth-intro h1{font-size:clamp(2.2rem,4vw,3.45rem);line-height:1.38;margin:.12em 0 .35em}
.sn-auth-intro h1 span{color:#c4ced7}
.sn-auth-message>p:last-of-type{font-size:.92rem;max-width:520px}
.sn-auth-panel{background:var(--sn-canvas)}
.sn-auth-card{width:min(440px,100%);border-top-width:4px;padding:clamp(30px,4vw,45px);box-shadow:none}
.sn-auth-card h2{font-size:1.55rem}.sn-auth-card input[type=text],.sn-auth-card input[type=password]{border-radius:2px}
.sn-button{border-radius:3px;box-shadow:none}.sn-button:hover{box-shadow:none}
@media(max-width:820px){.sn-auth-shell{grid-template-columns:1fr}.sn-auth-intro{min-height:300px}.sn-auth-intro h1{font-size:2.25rem}.sn-auth-card{margin-top:-40px}}
@media(max-width:430px){.sn-auth-intro{min-height:270px}.sn-auth-intro h1{font-size:1.9rem}}
.sn-auth-card input[type=email]{width:100%;height:49px;border:1px solid #cbd5de;border-radius:2px;background:#fbfcfd;padding:8px 13px;outline:0}
.sn-field-help{display:block;color:var(--sn-muted);font-size:.68rem;margin-top:4px}
.sn-auth-switch{border-top:1px solid var(--sn-line);padding-top:16px;margin:22px 0 0!important;text-align:center}.sn-auth-switch a{font-weight:800;color:var(--sn-primary)}
.sn-auth-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
