/* OrbitACS sign-in */
:root{--ol-bg:#0f2a5f;--ol-ink:#eef2ff;--ol-muted:#a5b4fc;--ol-card:#ffffff;--ol-card-ink:#1e1b4b;--ol-line:#e0e7ff;--ol-brand:#1d4ed8;--ol-brand-2:#3b82f6;--ol-err:#b42318}
*{box-sizing:border-box}
body.oacs-login{margin:0;min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(90% 70% at 85% 10%,rgba(147,197,253,.16),transparent 60%),radial-gradient(80% 80% at 10% 90%,rgba(59,130,246,.35),transparent 60%),var(--ol-bg);color:var(--ol-ink);font-family:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;overflow-x:hidden}
.ol-bg{position:fixed;inset:0;pointer-events:none;overflow:hidden}
.ol-orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(165,180,252,.16);border-radius:50%;transform:translate(-50%,-50%) rotate(-24deg)}
.ol-o1{width:620px;height:260px}.ol-o2{width:980px;height:420px;border-color:rgba(165,180,252,.1)}.ol-o3{width:1400px;height:600px;border-color:rgba(165,180,252,.06)}
.ol-o1::after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#93c5fd;box-shadow:0 0 18px #93c5fd;top:-5px;left:50%;animation:olSpin 14s linear infinite;transform-origin:0 135px}
@keyframes olSpin{to{transform:rotate(360deg)}}
.ol-main{position:relative;flex:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,420px);gap:56px;align-items:center;max-width:1120px;width:100%;margin:0 auto;padding:48px 24px}
.ol-logo{display:flex;align-items:center;gap:12px;font-weight:800;font-size:22px;letter-spacing:.01em}
.ol-logo svg{width:44px;height:44px;padding:8px;border-radius:14px;background:linear-gradient(135deg,var(--ol-brand),var(--ol-brand-2));color:#fff;box-shadow:0 10px 30px rgba(29,78,216,.45)}
.ol-eyebrow{display:inline-block;margin-top:28px;font-size:12px;font-weight:700;letter-spacing:.16em;color:#bfdbfe}
.ol-intro h1{font-size:clamp(32px,4.4vw,52px);line-height:1.08;margin:12px 0 16px;font-weight:800}
.ol-intro h1 span{background:linear-gradient(90deg,#a5b4fc,#bfdbfe);-webkit-background-clip:text;background-clip:text;color:transparent}
.ol-intro p{color:var(--ol-muted);font-size:16px;line-height:1.6;max-width:520px}
.ol-points{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px;color:#c7d2fe}
.ol-points li{padding-left:26px;position:relative}.ol-points li::before{content:"";position:absolute;left:0;top:7px;width:10px;height:10px;border-radius:50%;border:2px solid #93c5fd}
.ol-card{background:var(--ol-card);color:var(--ol-card-ink);border-radius:20px;padding:32px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.ol-card h2{margin:0 0 4px;font-size:24px}.ol-card>p{margin:0 0 20px;color:#1d4ed8}
.ol-card label{display:block;font-size:13px;font-weight:700;margin:14px 0 6px}
.ol-card input{width:100%;height:46px;border:1px solid var(--ol-line);border-radius:12px;padding:0 14px;font-size:15px;color:var(--ol-card-ink);background:#f8f9ff}
.ol-card input:focus{outline:none;border-color:var(--ol-brand);box-shadow:0 0 0 4px rgba(29,78,216,.15);background:#fff}
.ol-pw{position:relative}.ol-pw input{padding-right:72px}.ol-pw button{position:absolute;right:6px;top:6px;height:34px;border:0;border-radius:9px;background:#eef2ff;color:#1e3a8a;font-weight:700;padding:0 12px;cursor:pointer}
.ol-caps{display:none;margin:8px 0 0;font-size:12px;color:#b45309}.ol-caps.is-on{display:block}
.ol-btn{margin-top:22px;width:100%;height:48px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--ol-brand),#1e3a8a);color:#fff;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 10px 24px rgba(29,78,216,.35)}
.ol-btn:hover{filter:brightness(1.07)}.ol-btn.is-loading{opacity:.7;cursor:progress}
.ol-err{background:#fef3f2;border:1px solid #fecdca;color:var(--ol-err);border-radius:10px;padding:10px 12px;font-size:14px;margin-bottom:6px}
.ol-foot{position:relative;display:flex;justify-content:space-between;gap:12px;padding:16px 24px;color:#818cf8;font-size:12px}
@media(max-width:860px){.ol-main{grid-template-columns:1fr;gap:28px;padding:28px 16px}.ol-intro p,.ol-points{display:none}.ol-eyebrow{margin-top:18px}.ol-card{padding:24px}}
@media(prefers-reduced-motion:reduce){.ol-o1::after{animation:none}}
