@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--login-green:#004c38;--login-green-2:#078756;--login-gold:#efbd3f;--login-ink:#08251d}
body.login-body{min-height:100svh;margin:0;padding:0;background:#f4f7ef;color:var(--login-ink);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(420px,.75fr);font-family:'DM Sans',Arial,sans-serif;overflow-x:hidden;place-items:stretch}
.login-brand{position:relative;min-height:100svh;padding:48px clamp(38px,6vw,92px);display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:radial-gradient(circle at 82% 30%,#159561 0,transparent 36%),linear-gradient(135deg,#003f31 0%,#006747 56%,#0a8a59 100%);overflow:hidden;isolation:isolate}
.login-brand:before{content:"";position:absolute;inset:0;z-index:-2;background-image:radial-gradient(#ffffff1d 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(to right,#0008,#000)}
.login-brand:after{content:"";position:absolute;width:520px;height:520px;border:1px solid #ffffff27;border-radius:50%;right:-170px;top:18%;box-shadow:0 0 0 70px #ffffff0a,0 0 0 145px #ffffff08;z-index:-1}
.login-identity{display:flex;align-items:center;gap:14px;letter-spacing:.13em;text-transform:uppercase}.login-identity img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 7px 18px #001d1640)}.login-identity strong{display:block;font-size:13px}.login-identity span{display:block;margin-top:6px;color:#d5eee3;font-size:11px;letter-spacing:.22em}
.login-copy{max-width:690px;margin:auto 0}.login-kicker{display:flex;align-items:center;gap:12px;color:#d8eee5;font-weight:700;font-size:11px;letter-spacing:.22em;text-transform:uppercase}.login-kicker:before{content:"";width:36px;height:2px;background:var(--login-gold)}.login-copy h2{font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:clamp(52px,6.7vw,104px);line-height:.92;letter-spacing:-.05em;margin:28px 0;color:#fff}.login-copy h2 em{display:block;color:var(--login-gold);font-weight:600}.login-copy>p{max-width:620px;font-family:Georgia,serif;font-size:18px;line-height:1.65;color:#d7eee5}.login-trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.login-trust span{padding:9px 13px;border:1px solid #ffffff2e;border-radius:999px;background:#ffffff0b;color:#e6f5ef;font-size:11px}.login-brand-footer{display:flex;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid #ffffff20;color:#b9d8cd;font-size:10px}.login-brand-footer nav{display:flex;gap:17px}.login-brand-footer a{color:#d8eee6;text-decoration:none}
body.login-body>.login-card{align-self:center;justify-self:center;width:min(430px,calc(100% - 56px));min-height:auto;margin:0;padding:44px 42px;border:1px solid #d9e4dc;border-radius:24px;background:#ffffffeb;box-shadow:0 28px 80px #063a2518;text-align:left;backdrop-filter:blur(18px)}
body.login-body>.login-card>img{display:none}body.login-body>.login-card>span{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;background:#edf8f1;color:#08764e;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}body.login-body>.login-card>span:before{content:"";width:7px;height:7px;border-radius:50%;background:#efbd3f;box-shadow:0 0 0 4px #efbd3f26}
body.login-body>.login-card h1{margin:22px 0 8px;font-family:'Playfair Display',Georgia,serif;font-size:40px;line-height:1;color:#073d2d;letter-spacing:-.025em}body.login-body>.login-card>p{margin:0 0 28px;color:#6e7d75;font-size:13px}
body.login-body>.login-card label{position:relative;display:block;margin:0 0 17px;color:#173a2f;font-size:11px;font-weight:700}body.login-body>.login-card input{width:100%;height:52px;margin-top:8px;padding:0 46px 0 15px;border:1px solid #ceddd3;border-radius:12px;background:#fbfdfb;color:#102d24;font-family:inherit;font-size:14px;outline:none;transition:.2s}body.login-body>.login-card input:focus{border-color:#078756;box-shadow:0 0 0 4px #07875618;background:#fff}
.password-toggle{position:absolute;right:10px;bottom:9px;width:34px;height:34px;border:0!important;border-radius:8px!important;padding:0!important;background:transparent!important;color:#527166!important;font-size:16px!important;box-shadow:none!important}
body.login-body>.login-card form>button{width:100%;min-height:52px;margin-top:4px;border:0;border-radius:12px;background:linear-gradient(110deg,#006e48,#0a925b);color:#fff;font-family:inherit;font-size:13px;font-weight:700;box-shadow:0 12px 28px #08764e32;transition:transform .2s,box-shadow .2s}body.login-body>.login-card form>button:hover{transform:translateY(-2px);box-shadow:0 16px 34px #08764e42}
.login-secure{display:flex;align-items:center;justify-content:center;gap:7px;margin:20px 0 0;color:#839087;font-size:10px}.login-secure:before{content:"✓";display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#e9f6ed;color:#078756;font-weight:900}
body.login-body>.login-card .alert{margin-bottom:18px}
@media(max-width:900px){body.login-body{display:block;min-height:100svh;background:linear-gradient(165deg,#004531 0,#078555 44%,#f3f7f0 44.2%);padding:0 18px 30px}.login-brand{min-height:auto;margin:0 -18px;padding:26px 22px 84px;background:transparent}.login-brand:after{width:260px;height:260px;right:-145px;top:28px;box-shadow:0 0 0 42px #ffffff09}.login-identity img{width:48px;height:48px}.login-identity strong{font-size:10px}.login-identity span{font-size:8px}.login-copy{margin:54px 0 0}.login-kicker{font-size:8px}.login-copy h2{font-size:42px;line-height:.96;margin:18px 0 12px;letter-spacing:-.035em}.login-copy>p{font-family:'DM Sans',Arial,sans-serif;font-size:12px;line-height:1.55;max-width:320px}.login-trust,.login-brand-footer{display:none}body.login-body>.login-card{position:relative;width:100%;margin:-58px auto 0;padding:30px 22px 27px;border-radius:21px;box-sizing:border-box}body.login-body>.login-card h1{font-size:32px}.login-secure{margin-top:16px}}
@media(min-width:901px) and (max-height:720px){.login-brand{padding-top:30px;padding-bottom:28px}.login-copy h2{font-size:64px}.login-copy>p{font-size:15px}.login-trust{margin-top:18px}body.login-body>.login-card{padding-top:30px;padding-bottom:30px}}
@media(prefers-reduced-motion:no-preference){.login-brand:after{animation:loginOrbit 18s linear infinite}.login-copy,.login-card{animation:loginReveal .65s ease both}.login-card{animation-delay:.1s}@keyframes loginOrbit{to{transform:rotate(360deg)}}@keyframes loginReveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}}
