/* Generated Compass OPS password-login surface. */
:root { --sand-drift:#f4efe5; --aqua:#4A8CA2; --aqua-deep:#18313a; --coral:#FF9683; --ink:#18313a; --muted:#60717a; --line:#d9e0df; --white:#fff; }
* { box-sizing:border-box; }
body.ops-login-page { margin:0; min-height:100vh; color:var(--ink); background:var(--sand-drift); font-family:Arial, Helvetica, sans-serif; }
.ops-login { min-height:100vh; display:grid; grid-template-columns:minmax(45%, 1.18fr) minmax(420px, .82fr); }
.ops-login__photo { position:relative; min-height:100vh; background:linear-gradient(90deg,rgba(8,36,43,.28),rgba(8,36,43,.06)),url('../images/login-coastal.jpg') center/cover no-repeat; color:var(--white); }
.ops-login__photo-content { position:absolute; inset:auto 10% 10%; max-width:540px; text-shadow:0 2px 16px rgba(0,0,0,.34); }
.ops-login__eyebrow, .ops-login__kicker { display:block; margin:0 0 16px; font-size:12px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.ops-login__eyebrow { color:#d7f3ef; }
.ops-login__photo h1 { margin:0; max-width:11ch; font-size:clamp(38px,5vw,72px); line-height:1.02; letter-spacing:-.045em; }
.ops-login__photo p { margin:22px 0 0; max-width:38ch; font-size:17px; line-height:1.55; }
.ops-login__panel { display:flex; align-items:center; justify-content:center; padding:48px clamp(28px,6vw,88px); background:var(--white); }
.ops-login__form-wrap { width:min(100%, 410px); }
.ops-login__wordmark { margin:0 0 56px; color:var(--aqua-deep); font-size:16px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.ops-login__wordmark span { color:var(--coral); }
.ops-login__kicker { margin-bottom:10px; color:var(--aqua); }
.ops-login__form-wrap h2 { margin:0 0 10px; font-size:34px; line-height:1.14; letter-spacing:-.035em; }
.ops-login__intro { margin:0 0 32px; color:var(--muted); font-size:15px; line-height:1.5; }
.ops-login__error { margin:0 0 20px; padding:13px 15px; border-left:4px solid var(--coral); background:#fff4f1; color:var(--ink); font-size:14px; line-height:1.4; }
.ops-login__form label { display:block; margin:0 0 20px; color:var(--ink); font-size:14px; font-weight:700; }
.ops-login__form input { display:block; width:100%; min-height:48px; margin-top:8px; padding:11px 12px; border:1px solid var(--line); border-radius:3px; background:#fff; color:var(--ink); font:inherit; font-weight:400; outline:none; }
.ops-login__form input:focus { border-color:var(--aqua); box-shadow:0 0 0 3px rgba(74,140,162,.2); }
.ops-login__submit { width:100%; min-height:48px; margin-top:6px; border:0; border-radius:3px; background:var(--coral); color:var(--ink); cursor:pointer; font:700 15px/1 Arial, Helvetica, sans-serif; }
.ops-login__submit:hover, .ops-login__submit:focus { background:#ffad9e; color:var(--ink); }
@media (max-width:820px) { .ops-login { grid-template-columns:1fr; } .ops-login__photo { min-height:260px; } .ops-login__photo-content { inset:auto 28px 28px; } .ops-login__photo h1 { max-width:16ch; font-size:38px; } .ops-login__photo p { display:none; } .ops-login__panel { min-height:calc(100vh - 260px); align-items:flex-start; padding:38px 28px 48px; } .ops-login__wordmark { margin-bottom:38px; } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto; transition:none !important; } }
