.portal-new.portal-login { box-sizing:border-box; min-height:100vh; min-height:100dvh; display:grid; place-items:center; padding:32px; }
.portal-login .login-shell { width:100%; max-width:1200px; background:#f7f6f6; border-radius:36px; overflow:hidden; box-shadow:0 16px 60px #201e1d08; }
.portal-login .login-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:30px 38px; }
.portal-login .portal-brand { text-decoration:none; color:var(--ink); }
.portal-login .login-header-label { font-size:10px; color:#827b79; letter-spacing:.12em; }
.portal-login .login-workspace { display:grid; grid-template-columns:1.05fr 1fr; gap:26px; padding:0 22px; }
.portal-login .login-intro { padding:40px 36px 26px; border-radius:28px; background:var(--ink); color:white; overflow:hidden; min-width:0; display:flex; flex-direction:column; }
.portal-login .login-eyebrow { font-size:10px; font-weight:600; letter-spacing:.14em; color:#827b79; }
.portal-login .login-intro .login-eyebrow { color:var(--cyan); }
.portal-login .login-intro h2 { font-size:43px; line-height:1.12; font-weight:500; letter-spacing:-.045em; margin:23px 0 16px; }
.portal-login .login-intro h2 span,.portal-login .login-form-heading h1 span { color:var(--cyan); }
.portal-login .login-intro>p { color:#bdb7b5; font-size:13px; line-height:1.7; max-width:355px; margin:0; }
.portal-login .login-art { position:relative; height:235px; margin:25px 0 15px; }
.portal-login .login-orbit { width:235px; height:235px; position:absolute; top:0; right:-28px; display:grid; place-items:center; }
.portal-login .login-orbit>i { position:absolute; inset:0; border:1px solid #ffffff12; border-radius:50%; }
.portal-login .login-orbit>i:nth-child(2) { inset:30px; border-color:#2abeef30; }
.portal-login .login-orbit>i:nth-child(3) { inset:60px; border-color:#2abeef75; }
.portal-login .login-orbit>span { width:64px; height:64px; background:var(--cyan); color:var(--ink); display:grid; place-items:center; font-size:36px; font-weight:500; border-radius:50%; }
.portal-login .login-mini-card { position:absolute; border-radius:17px; padding:18px; display:flex; gap:12px; align-items:center; }
.portal-login .login-mini-inventory { top:25px; left:0; background:#3a3736; width:220px; border:1px solid #ffffff13; transform:rotate(-5deg); }
.portal-login .login-mini-insights { bottom:21px; left:35px; background:#f3f2f2; color:var(--ink); width:276px; transform:rotate(4deg); box-shadow:0 8px 22px #0003; }
.portal-login .login-mini-icon { width:34px; height:34px; flex:none; display:grid; place-items:center; border-radius:11px; font-size:23px; color:var(--cyan); background:#ffffff09; }
.portal-login .login-mini-insights .login-mini-icon { color:#0b657f; background:#d8f1fb; }
.portal-login .login-mini-card strong { font-size:13px; display:block; font-weight:500; }
.portal-login .login-mini-card small { font-size:10px; color:#bdb7b5; display:block; margin-top:5px; }
.portal-login .login-mini-insights small { color:#827b79; }
.portal-login .login-mini-bars { display:flex; align-items:flex-end; height:35px; gap:4px; margin-left:auto; }
.portal-login .login-mini-bars i { width:7px; height:15px; background:#a7d8e9; border-radius:3px; }
.portal-login .login-mini-bars i:nth-child(2) { height:24px; }.portal-login .login-mini-bars i:nth-child(3) { height:20px; }.portal-login .login-mini-bars i:nth-child(4) { height:33px; background:var(--cyan); }
.portal-login .login-intro-footer { margin-top:auto; padding-top:12px; display:flex; gap:8px; align-items:center; font-size:10px; color:#bdb7b5; }
.portal-login .login-dot { width:6px; height:6px; border-radius:50%; background:var(--cyan); flex:none; }
.portal-login .login-form-panel { padding:44px 36px 32px; align-self:center; min-width:0; }
.portal-login .login-form-heading h1 { font-size:38px; line-height:1.2; font-weight:500; letter-spacing:-.04em; margin:17px 0 12px; }
.portal-login .login-form-heading p { font-size:13px; line-height:1.6; color:#827b79; margin:0 0 32px; }
.portal-login .login-form { display:grid; gap:22px; }
.portal-login .login-field label { display:block; font-size:12px; font-weight:500; margin-bottom:10px; }
.portal-login .login-field input { width:100%; border:1px solid #dedbdb; background:white; border-radius:14px; padding:16px; font-size:13px; height:52px; color:var(--ink); }
.portal-login .login-field input::placeholder { color:#a29b98; }
.portal-login .login-password { position:relative; }
.portal-login .login-password input { padding-right:76px; }
.portal-login #login-reveal { position:absolute; right:6px; top:5px; min-width:60px; height:42px; border:0; background:transparent; border-radius:10px; color:#6c6767; font-size:11px; cursor:pointer; }
.portal-login #login-reveal:hover { color:var(--cyan-dark); background:#eef9fd; }
.portal-login .login-options { display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:11px; margin:1px 0 4px; }
.portal-login .login-remember { display:flex; gap:8px; align-items:center; cursor:pointer; color:#6c6767; min-height:32px; }
.portal-login .login-remember input { width:16px; height:16px; margin:0; accent-color:var(--cyan-dark); cursor:pointer; }
.portal-login .login-options a { color:var(--cyan-dark); text-decoration:none; font-weight:500; }
.portal-login .login-options a:hover { text-decoration:underline; }
.portal-login .login-submit { display:flex; align-items:center; justify-content:space-between; width:100%; padding:17px 22px; border-radius:28px; font-size:14px; height:56px; }
.portal-login .login-submit:hover { background:#4bc9f2; }
.portal-login .login-form-footer { display:flex; align-items:center; justify-content:center; gap:8px; font-size:10px; color:#827b79; margin-top:26px; }
.portal-login .login-form-footer svg { width:14px; height:14px; }
.portal-login .login-footer { display:flex; justify-content:space-between; gap:16px; padding:24px 38px; color:#918a87; font-size:10px; }
.portal-login .login-validation.validation-summary-valid,.portal-login .field-validation-valid { display:none; }
.portal-login .login-validation.validation-summary-errors { padding:14px 16px; border-radius:13px; background:#fae5e5; color:#a72c35; font-size:12px; line-height:1.6; }
.portal-login .login-validation ul { margin:0; padding-left:18px; }
.portal-login .login-field-error { font-size:11px; color:#a72c35; display:block; margin-top:7px; }
.portal-login .login-field .input-validation-error { border-color:#cf424b; }
.portal-login input:focus-visible,.portal-login button:focus-visible,.portal-login a:focus-visible { outline:2px solid var(--cyan-dark); outline-offset:3px; }
@media(max-width:1000px) { .portal-login .login-form-panel { padding:30px 18px; } .portal-login .login-intro { padding:34px 28px 24px; } .portal-login .login-intro h2 { font-size:36px; } .portal-login .login-mini-insights { left:10px; width:250px; } }
@media(max-width:760px) { .portal-new.portal-login { padding:20px; } .portal-login .login-shell { max-width:520px; border-radius:28px; } .portal-login .login-header { padding:26px; } .portal-login .login-header-label { display:none; } .portal-login .login-workspace { grid-template-columns:1fr; padding:0 10px; gap:0; } .portal-login .login-intro { display:none; } .portal-login .login-form-panel { padding:16px 24px 24px; } .portal-login .login-form-heading h1 { font-size:36px; } .portal-login .login-footer { padding:20px 26px 24px; } }
@media(max-width:380px) { .portal-new.portal-login { padding:12px; } .portal-login .login-form-panel { padding:12px 16px 20px; } .portal-login .login-footer { font-size:9px; padding:18px 20px; } }
