:root{color-scheme:light}*{box-sizing:border-box}body{margin:0;background:#f7f5f0;color:#20242a;font:16px/1.55 system-ui}a{color:inherit}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.brand{background:#132934;color:#f7f5f0;padding:6vw;display:flex;flex-direction:column;justify-content:space-between}.brand>a{text-decoration:none;font:28px Georgia,serif}.brand i{color:#e4c98a}h1{font:clamp(44px,6vw,78px)/1.06 Georgia,serif;font-weight:400}.brand p{max-width:440px}.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#e4c98a}.form{max-width:520px;width:100%;margin:auto;padding:50px}h2{font:36px Georgia,serif;margin-bottom:12px}label{display:block;margin-top:20px;font-size:14px}input{display:block;width:100%;padding:14px;border:1px solid #b9bcb6;font:16px system-ui;margin-top:6px}button{padding:14px 24px;background:#132934;color:white;border:0;font:600 16px system-ui;cursor:pointer}form button{width:100%;margin-top:24px}button:disabled{opacity:.6}.small{font-size:13px;color:#5e666b}#error{color:#a33c31;min-height:24px}.admin{max-width:1100px;margin:40px auto;padding:24px}table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;border-bottom:1px solid #d1d4cc;padding:10px}@media(max-width:700px){.login{grid-template-columns:1fr}.brand{padding:28px}.brand h1{font-size:42px;margin:25px 0}.form{padding:28px}}

/* Agent login: welcome copy beside a hairline-bordered sign-in panel, over one continuous photograph, using site fonts. */
.agent-login{--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--sans:'Source Sans 3',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;--cream:#fcf9f2;--gold:#f0e2c4;color:var(--cream);font:400 16px/1.55 var(--sans);background:#101922}
.agent-login .login{min-height:100vh;min-height:100svh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:max-content 1fr;column-gap:clamp(32px,5vw,80px);row-gap:40px;padding:clamp(32px,4.5vw,64px) clamp(28px,6vw,96px) clamp(64px,9vw,112px);background-image:linear-gradient(90deg,rgba(6,22,24,.32) 0%,rgba(6,22,24,.06) 48%,rgba(6,22,24,.26) 100%),linear-gradient(0deg,rgba(5,14,16,.07),transparent 65%),url('/assets/agent-welcome-beach.jpg');background-size:cover;background-position:center}
.agent-login .brand{display:contents;background:none}
.agent-login .brand>a{grid-column:1/-1;grid-row:1;justify-self:start;font:400 26px/1 var(--serif);text-shadow:0 2px 16px rgba(0,0,0,.55)}
.agent-login .brand>div{grid-column:1;grid-row:2;align-self:center;min-width:0;text-shadow:0 1px 6px rgba(0,0,0,.45)}
.agent-login .brand i,.agent-login .eyebrow{color:var(--gold)}
.agent-login .eyebrow{margin:0 0 24px;font-size:12px;line-height:1.4}
.agent-login h1{font:500 clamp(44px,5.4vw,76px)/1.06 var(--serif);letter-spacing:.005em;margin:0 0 24px}
.agent-login .brand div>p:last-child{margin:0;max-width:440px;font-size:18px;color:var(--cream)}
.agent-login .form{grid-column:2;grid-row:2;align-self:center;justify-self:center;width:100%;max-width:460px;min-width:0;margin:0;padding:44px 44px 32px;border:1px solid rgba(252,249,242,.34);background:rgba(16,25,34,.32);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.agent-login h2{font:500 34px/1.1 var(--serif);letter-spacing:.005em;margin:0 0 8px}
.agent-login .form>p{margin:0;font-size:14px;color:rgba(252,249,242,.82)}
.agent-login form{margin-top:28px}
.agent-login label{margin-top:18px;font-size:14px;line-height:1.4}
.agent-login label:first-child{margin-top:0}
.agent-login input{margin-top:8px;padding:13px 14px;border:1px solid rgba(252,249,242,.42);border-radius:0;background:rgba(9,14,20,.5);color:#fff;font:400 16px/1.4 var(--sans)}
.agent-login input:focus,.agent-login button:focus-visible,.agent-login a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.agent-login button{margin-top:28px;padding:14px 24px;background:var(--gold);color:#131e28;font:600 16px/1.4 var(--sans)}
.agent-login button:hover{background:#fff6e2}
.agent-login #error{margin:14px 0 0;min-height:0;font-size:14px;color:#ffd5c1}
.agent-login #error:empty{display:none}
.agent-login .form>.small{margin-top:28px;padding-top:20px;border-top:1px solid rgba(252,249,242,.2);font-size:14px;color:rgba(252,249,242,.82)}
@media(max-width:760px){.agent-login .login{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(3,max-content);row-gap:36px;padding:28px 20px 40px;background-position:60% center}.agent-login .brand>div,.agent-login .form{grid-column:1;align-self:start}.agent-login .form{grid-row:3;max-width:none;padding:28px 24px 24px}.agent-login .eyebrow{margin-bottom:16px}.agent-login h1{font-size:42px;margin:0 0 16px}.agent-login .brand div>p:last-child{font-size:16px}}

.admin h1{font-size:54px}.admin h2{margin-top:42px}.agent-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.agent-admin-card{background:#fff;border:1px solid #d1d4cc;padding:20px}.agent-admin-card h3{font:26px Georgia,serif;margin:0 0 8px}.agent-admin-card p{overflow-wrap:anywhere}.agent-admin-card button{width:100%}@media(max-width:700px){.admin{margin:12px auto;padding:18px}.admin h1{font-size:42px}}

.admin h1{font-size:54px}.admin h2{margin-top:42px}.agent-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.agent-admin-card{background:#fff;border:1px solid #d1d4cc;padding:20px}.agent-admin-card h3{font:26px Georgia,serif;margin:0 0 8px}.agent-admin-card p{overflow-wrap:anywhere}.agent-admin-card button{width:100%}@media(max-width:700px){.admin{margin:12px auto;padding:18px}.admin h1{font-size:42px}}
