:root{color-scheme:light;--ink:#172033;--muted:#667085;--line:#e6eaf0;--brand:#f59e0b;--brand-deep:#d97706;--blue:#1d4ed8}
html,body{height:auto;min-height:100%}
body{background:#f8fafc;color:var(--ink)}
.bg-fx{background:linear-gradient(135deg,#fff 0%,#f8fafc 48%,#fff9ed 100%)}
.bg-grid{background-image:linear-gradient(rgba(15,23,42,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.028) 1px,transparent 1px);animation:none;opacity:.7}
.bg-aurora{background:radial-gradient(640px 440px at 12% 18%,rgba(245,158,11,.11),transparent 65%),radial-gradient(700px 520px at 88% 82%,rgba(37,99,235,.07),transparent 65%);filter:blur(45px);animation:none}
.bg-hex,.bg-particles,.bg-vignette{display:none}
.gate{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,460px);align-items:center;gap:clamp(48px,7vw,92px);padding:56px 32px 34px}
.brand{text-align:left;margin:0;max-width:610px}
.portal-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #fde2a7;border-radius:999px;background:#fffbeb;color:#9a6700;font-size:12px;font-weight:800;letter-spacing:.02em}
.portal-kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 4px #fef3c7}
.brand-name{margin-top:24px;font-size:clamp(30px,4vw,44px);justify-content:flex-start;letter-spacing:-.035em}
.brand-name .w-aim,.brand-name .w-mon{background:none;color:#111827;text-shadow:none}
.brand-name .w-erp{background:none;color:#f59e0b;text-shadow:none}
.portal-title{margin-top:25px;font-size:clamp(34px,4.4vw,58px);line-height:1.16;letter-spacing:-.035em;color:#101828;font-weight:900}
.portal-title span{color:#d97706}
.portal-copy{margin-top:20px;max-width:560px;color:#5d6678;font-size:clamp(16px,1.5vw,19px);line-height:1.85}
.portal-steps{list-style:none;margin-top:28px;display:grid;gap:13px}
.portal-steps li{display:flex;align-items:flex-start;gap:12px;color:#344054;font-size:14px}
.portal-steps .step-icon{flex:0 0 26px;width:26px;height:26px;border-radius:8px;background:#fff5da;color:#a15c00;display:grid;place-items:center;font-weight:900;box-shadow:inset 0 0 0 1px #fde2a7}
.brand-tag{display:none}
.card{max-width:none;background:#fff;border:1px solid var(--line);border-radius:22px;padding:36px;backdrop-filter:none;box-shadow:0 24px 70px rgba(16,24,40,.10),0 2px 8px rgba(16,24,40,.04);animation:fadeUp .7s .08s ease-out both}
.card::before{content:"";display:block;width:42px;height:5px;border-radius:999px;background:linear-gradient(90deg,#f59e0b,#fbbf24);margin-bottom:22px}
.card h2{font-size:25px;color:#172033}.card h2 .lock{font-size:17px}.card .ttl-sub{color:#667085;margin-bottom:24px}
.tenant-badge{background:#ecfdf3;border-color:#abefc6;color:#067647}.tenant-badge .pulse{background:#17b26a;box-shadow:0 0 0 3px #d1fadf}
.label{color:#344054;text-transform:none;font-size:13px;letter-spacing:0}
.input{padding:13px 14px;background:#fff;border-color:#d0d5dd;color:#172033;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.input:hover{border-color:#98a2b3}.input:focus{border-color:#f59e0b;background:#fff;box-shadow:0 0 0 4px rgba(245,158,11,.13)}
.input::placeholder{color:#98a2b3}.toggle-pwd{color:#667085}.toggle-pwd:hover{color:#b26b00}
.remember{color:#475467}.remember input{accent-color:#f59e0b}.forgot{color:#a15c00}.btn{background:#172033;color:#fff;box-shadow:0 9px 24px rgba(23,32,51,.18)}
.btn:hover:not(:disabled){background:#0d1424;box-shadow:0 12px 28px rgba(23,32,51,.24)}.btn .spin{border-color:rgba(255,255,255,.35);border-top-color:#fff}
.security-row{margin-top:14px;color:#667085}.sec-badge{background:#f8fafc;border-color:#eaecf0}.sec-badge .ic{color:#079455}
.alert.err{background:#fef3f2;border-color:#fecdca;color:#b42318}.alert.warn{background:#fffaeb;border-color:#fedf89;color:#b54708}.alert.info{background:#eff8ff;border-color:#b2ddff;color:#175cd3}.alert.ok{background:#ecfdf3;border-color:#abefc6;color:#067647}
.foot{grid-column:1/-1;margin-top:8px;color:#667085;font-size:12px}.foot strong{color:#344054}.foot a{color:#475467}
.portal-footer-main{font-weight:700;color:#344054}.portal-footer-sub{display:block;margin-top:3px;color:#98a2b3}
@media(max-width:900px){.gate{grid-template-columns:1fr;gap:38px;max-width:660px;padding-top:38px}.brand{text-align:center;margin:auto}.brand-name{justify-content:center}.portal-steps{max-width:520px;margin-left:auto;margin-right:auto;text-align:left}.card{width:100%}}
@media(max-width:520px){.gate{padding:24px 16px}.portal-kicker{font-size:11px}.brand-name{margin-top:18px}.portal-title{font-size:34px;margin-top:20px}.portal-copy{font-size:15px;line-height:1.75}.portal-steps{margin-top:22px}.card{padding:28px 22px;border-radius:18px}.row{align-items:flex-start;gap:12px}.security-row{gap:6px}.sec-badge{padding:4px 6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.portal-title,.portal-copy,.portal-steps li span,.brand-name{max-width:100%;overflow-wrap:anywhere;word-break:break-word}.portal-title span{display:block}
@media(max-width:520px){.brand{padding:0 8px}.brand-name{font-size:28px;gap:.12em}.portal-title{font-size:31px;line-height:1.25}.portal-copy{font-size:14px}.portal-steps li{font-size:13px}.portal-kicker{max-width:100%;white-space:normal}}

@media(max-width:520px){.brand{width:100%;max-width:330px;margin-inline:auto;padding:0 10px}.brand-name{font-size:25px}.portal-title{font-size:29px}.portal-copy{max-width:310px;margin-inline:auto}.portal-steps{max-width:310px}.portal-kicker{font-size:10px}}

.brand-name{margin-top:0}.portal-title{margin-top:28px}.brand{align-self:center}
@media(max-width:900px){.portal-title{margin-top:22px}.brand{padding-block:8px}}

.tenant-badge[hidden]{display:none!important}
