:root { --consultor-navy:#30486e; --consultor-muted:#73829a; --consultor-orange:#ee921f; --consultor-line:#eadfd4; }
* { box-sizing:border-box; }
body.consultor-login-page { display:flex; align-items:center; justify-content:center; min-height:100dvh; margin:0; padding:1rem; color:var(--consultor-navy); background:radial-gradient(circle at 10% 10%,rgba(248,173,65,.14),transparent 26rem),linear-gradient(145deg,#f8f9fb,#f2f3f6); font-family:"Open Sans",sans-serif; }
.consultor-login-page::before { content:""; position:fixed; inset:0; pointer-events:none; background-image:linear-gradient(rgba(48,72,110,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(48,72,110,.025) 1px,transparent 1px); background-size:34px 34px; mask-image:linear-gradient(to bottom,black,transparent 74%); }
.consultor-login-shell { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(25rem,.75fr); width:min(72rem,100%); min-height:min(44rem,calc(100dvh - 2rem)); margin:0 auto; overflow:hidden; border:1px solid rgba(233,216,195,.9); border-radius:30px; background:rgba(255,255,255,.9); box-shadow:0 32px 80px rgba(52,71,103,.16); }
.consultor-login-intro { position:relative; display:flex; flex-direction:column; min-width:0; padding:2rem 2.4rem; overflow:hidden; border-right:1px solid #efd6b3; background:radial-gradient(circle at 90% 12%,rgba(255,255,255,.68),transparent 18rem),linear-gradient(145deg,#fffaf2,#ffe4b8); }
.consultor-login-intro::after { content:""; position:absolute; right:-7rem; bottom:-8rem; width:24rem; height:24rem; border:1px solid rgba(203,121,21,.18); border-radius:50%; box-shadow:0 0 0 4rem rgba(255,255,255,.13); }
.consultor-login-brand { position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center; align-self:center; width:min(100%,18rem); min-height:7.5rem; padding:.4rem 0; border:0; background:transparent; box-shadow:none; }
.consultor-login-brand img { display:block; width:14rem; max-width:100%; height:auto; }
.consultor-login-intro__copy { position:relative; z-index:1; max-width:32rem; margin:auto 0 2rem; }
.consultor-login-eyebrow { display:block; color:#b3630b; font-size:.66rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.consultor-login-intro__copy h1 { max-width:28rem; margin:.55rem 0 .8rem; color:#293f64; font-size:clamp(2rem,4vw,3.25rem); font-weight:850; line-height:1.04; letter-spacing:-.045em; }
.consultor-login-intro__copy p { max-width:31rem; margin:0; color:#667790; font-size:.92rem; font-weight:650; line-height:1.65; }
.consultor-login-benefits { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:.65rem; }
.consultor-login-benefits > span { display:grid; grid-template-columns:auto 1fr; gap:.08rem .55rem; align-items:center; min-width:0; padding:.75rem; border:1px solid rgba(239,211,177,.9); border-radius:16px; background:rgba(255,255,255,.67); }
.consultor-login-benefits i { grid-row:1/3; display:grid; place-items:center; width:2.2rem; height:2.2rem; color:#bb6b0b; border-radius:11px; background:#fff0d6; }
.consultor-login-benefits strong { overflow:hidden; color:#344b70; font-size:.66rem; text-overflow:ellipsis; white-space:nowrap; }
.consultor-login-benefits small { color:#8995a7; font-size:.55rem; font-weight:700; }
.consultor-login-intro__note { position:relative; z-index:1; display:flex; align-items:center; gap:.4rem; margin-top:1rem; color:#8e754f; font-size:.6rem; font-weight:750; }
.consultor-login-intro__note i { color:#35a977; }
.consultor-login-card { align-self:center; width:min(100% - 3rem,29rem); margin:auto; padding:2rem; border:1px solid #eee4dc; border-radius:24px; background:#fff; box-shadow:0 18px 40px rgba(52,71,103,.08); }
.consultor-login-heading { display:grid; grid-template-columns:auto 1fr; gap:.8rem; align-items:center; padding-bottom:1.2rem; border-bottom:1px solid #eee6df; }
.consultor-login-heading__icon { display:grid; place-items:center; width:3.25rem; height:3.25rem; color:#b6660b; border:1px solid #f0cf9c; border-radius:17px; background:linear-gradient(145deg,#fff7e8,#ffe7bc); font-size:1.05rem; }
.consultor-login-heading h2 { margin:.18rem 0; color:#2e466c; font-size:1.25rem; font-weight:850; }
.consultor-login-heading p { margin:0; color:#8491a5; font-size:.69rem; font-weight:650; }
.consultor-login-alert { display:grid; grid-template-columns:auto 1fr; gap:.65rem; align-items:center; margin:1rem 0 0; padding:.72rem; color:#9d4051; border:1px solid #efcbd2; border-radius:14px; background:#fff3f5; }
.consultor-login-alert > span { display:grid; place-items:center; width:2.25rem; height:2.25rem; border-radius:11px; background:#ffe3e8; }
.consultor-login-alert strong,.consultor-login-alert small { display:block; }
.consultor-login-alert strong { font-size:.68rem; }.consultor-login-alert small { margin-top:.1rem; font-size:.61rem; font-weight:650; }
.consultor-login-form { display:grid; gap:1rem; margin-top:1.25rem; }
.consultor-login-field { display:grid; gap:.38rem; margin:0; color:#61738f; font-size:.64rem; font-weight:800; }
.consultor-login-input { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; min-height:3rem; padding:0 .8rem; color:#8a97aa; border:1px solid #dce3ec; border-radius:14px; background:#fff; transition:.2s ease; }
.consultor-login-input:focus-within { color:#b5660d; border-color:#efb968; box-shadow:0 0 0 .22rem rgba(239,169,58,.11); }
.consultor-login-input input { width:100%; height:2.8rem; padding:0 .65rem; color:#344b70; border:0; outline:0; background:transparent; font-size:.76rem; font-weight:650; }
.consultor-login-input input::placeholder { color:#a5afbd; }.consultor-login-input button { display:grid; place-items:center; width:2rem; height:2rem; padding:0; color:#8492a7; border:0; border-radius:10px; background:transparent; }
.consultor-login-remember { display:flex; align-items:flex-start; gap:.65rem; margin:.05rem 0 .15rem; color:#516581; cursor:pointer; }
.consultor-login-remember[hidden] { display:none; }
.consultor-login-remember input { width:1rem; height:1rem; margin:.12rem 0 0; accent-color:#eb921f; }
.consultor-login-remember span { display:grid; gap:.08rem; }
.consultor-login-remember strong { font-size:.66rem; font-weight:850; }
.consultor-login-remember small { color:#8b98aa; font-size:.55rem; font-weight:650; line-height:1.4; }
.consultor-login-submit { display:flex; align-items:center; justify-content:space-between; min-height:3rem; margin-top:.15rem; padding:.6rem .9rem; color:#fff; border:1px solid #e28a1d; border-radius:14px; background:linear-gradient(135deg,#f8b13f,#e98a1b); box-shadow:0 10px 22px rgba(232,138,27,.23); font-size:.72rem; font-weight:850; }
.consultor-login-submit span { display:flex; align-items:center; gap:.5rem; }.consultor-login-help { display:flex; align-items:center; justify-content:center; gap:.4rem; margin:1.1rem 0 0; color:#8995a7; font-size:.59rem; font-weight:700; text-align:center; }
@media(max-width:899.98px){body.consultor-login-page{display:block;padding:0}.consultor-login-shell{grid-template-columns:1fr;width:calc(100% - 2rem);max-width:35rem;margin:1rem auto}.consultor-login-intro{min-height:auto;padding:1.1rem 1.25rem;border-right:0;border-bottom:1px solid #efd6b3}.consultor-login-brand{width:min(100%,15rem);min-height:5.6rem;padding:.75rem 1rem}.consultor-login-brand img{width:12rem}.consultor-login-intro__copy{margin:1.2rem 0 0}.consultor-login-intro__copy h1{margin:.3rem 0;font-size:1.45rem}.consultor-login-intro__copy p{font-size:.72rem}.consultor-login-benefits,.consultor-login-intro__note{display:none}.consultor-login-card{width:calc(100% - 2rem);margin:1rem auto;padding:1.2rem}}
@media(max-width:479.98px){.consultor-login-shell{width:100%;min-height:100dvh;margin:0;border:0;border-radius:0}.consultor-login-intro{padding:1rem}.consultor-login-brand{width:min(100%,15rem);min-height:5.4rem;padding:.35rem 0;border:0;background:transparent;box-shadow:none}.consultor-login-brand img{width:13rem}.consultor-login-card{width:calc(100% - 1rem);margin:.5rem auto 1rem;padding:1rem;border-radius:20px}.consultor-login-heading{align-items:start}.consultor-login-heading h2{font-size:1.05rem}.consultor-login-heading__icon{width:2.8rem;height:2.8rem;border-radius:15px}}

/* Consistent consultant icon tiles and access flows. */
.consultor-login-benefits i,
.consultor-login-heading__icon {
    border: 1px solid color-mix(in srgb, currentColor 28%, #fff);
    border-radius: 13px;
    background: linear-gradient(145deg, color-mix(in srgb, currentColor 7%, #fff), color-mix(in srgb, currentColor 17%, #fff));
    box-shadow: 0 7px 15px rgba(52,71,103,.1), inset 0 1px 0 rgba(255,255,255,.85);
}
.consultor-login-benefits .is-live i { color:#bd6b05; }
.consultor-login-benefits .is-secure i { color:#16734d; }
.consultor-login-benefits .is-mobile i { color:#5164b4; }
.consultor-login-heading__icon.is-email { color:#3c71a6; }
.consultor-login-heading__icon.is-security { color:#5164b4; }
.consultor-login-field__heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.consultor-login-field__heading a { color:#b6660b; font-size:.62rem; font-weight:850; text-decoration:none; }
.consultor-login-field__heading a:hover { color:#8e4e06; text-decoration:underline; }
.consultor-login-alert.is-success { color:#16734d; border-color:#bcebcf; background:#effbf4; }
.consultor-login-alert.is-success > span { color:#16734d; border:1px solid #bcebcf; background:linear-gradient(145deg,#eafbf1,#cff4df); box-shadow:0 7px 15px rgba(52,71,103,.1); }
.consultor-field-error,.consultor-validation-summary { color:#b83f53; font-size:.62rem; font-weight:750; }
.consultor-validation-summary:empty,.consultor-field-error:empty { display:none; }
.consultor-validation-summary ul { margin:0; padding-left:1rem; }
.consultor-access-page { padding-block:1rem; }
.consultor-access-shell { position:relative; z-index:1; display:grid; align-content:center; justify-items:center; width:min(31rem,calc(100% - 2rem)); min-height:calc(100dvh - 2rem); margin:auto; }
.consultor-access-shell > .consultor-login-brand { margin-bottom:.75rem; }
.consultor-access-card { width:100%; margin:0; }
.consultor-access-card .consultor-login-heading h1 { margin:.18rem 0; color:#2e466c; font-size:1.25rem; font-weight:850; line-height:1.25; }
.consultor-access-back { display:flex; align-items:center; justify-content:center; gap:.45rem; margin-top:1.15rem; color:#647590; font-size:.68rem; font-weight:800; text-decoration:none; }
.consultor-access-back:hover { color:#b6660b; }
@media(max-width:479.98px){.consultor-access-page{padding:0}.consultor-access-shell{width:100%;min-height:100dvh;padding:1rem}.consultor-access-shell>.consultor-login-brand{min-height:5.8rem;margin:0 auto .4rem}.consultor-access-card{width:100%;margin:0;padding:1rem}.consultor-access-card .consultor-login-heading h1{font-size:1.05rem}}
.consultor-login-submit > span > i:first-child {
    display:inline-grid;
    place-items:center;
    width:1.82rem;
    height:1.82rem;
    flex:0 0 1.82rem;
    margin:-.18rem .08rem -.18rem -.28rem;
    color:#c26d08;
    border:1px solid rgba(255,255,255,.62);
    border-radius:9px;
    background:linear-gradient(145deg,#fff9ec,#ffe6b8);
    box-shadow:0 4px 9px rgba(130,72,8,.14),inset 0 1px 0 #fff;
    font-size:.72rem;
}
