.ami-is-portal{background:linear-gradient(180deg,#f4f7fa 0%,#eef3f7 100%);color:var(--ink)}
.ami-is-portal .ami-site-header{position:relative}.ami-is-portal .ami-site-footer{margin-top:0}
.ami-is-portal .ami-content{padding:88px 0 110px}.ami-is-portal .ami-page-shell{width:min(1080px,calc(100% - 48px))}
.ami-is-portal .ami-page-header{margin-bottom:44px}.ami-is-portal .ami-page-header .ami-eyebrow{margin-bottom:16px;color:var(--orange)}
.ami-is-portal .ami-page-header h1{max-width:900px;font-size:clamp(52px,6.5vw,82px);line-height:.95;letter-spacing:-.055em}
.ami-is-portal .ami-prose{font-size:16px;line-height:1.65}

.ami-auth-card{position:relative;max-width:720px;margin:0 auto;padding:clamp(34px,5vw,58px);overflow:hidden;border:1px solid #dce4eb;border-radius:30px;background:#fff;box-shadow:0 28px 80px rgba(16,47,96,.10)}
.ami-auth-card:before{position:absolute;top:0;left:0;width:100%;height:6px;background:linear-gradient(90deg,var(--orange) 0 34%,var(--blue) 34% 100%);content:""}
.ami-auth-card h2{margin:0 0 12px;color:var(--blue-deep);font-size:clamp(36px,4.5vw,48px);line-height:1;letter-spacing:-.045em}
.ami-auth-card>p{max-width:570px;margin:0 0 34px;color:#47586a;font-size:16px;line-height:1.65}
#loginform{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;margin:0}
#loginform .login-username,#loginform .login-password{margin:0}
#loginform .login-username{grid-column:1/-1}#loginform .login-password{grid-column:1/-1}
#loginform label{display:block;color:var(--ink);font-size:14px;font-weight:650;line-height:1.45}
#loginform input[type="text"],#loginform input[type="password"]{display:block;width:100%;min-height:56px;margin-top:9px;padding:0 16px;border:1px solid #cfd9e3;border-radius:14px;background:#fbfcfd;color:var(--ink);font-family:inherit;font-size:16px;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
#loginform input[type="text"]:focus,#loginform input[type="password"]:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(28,70,135,.11)}
#loginform .login-remember{display:flex;align-items:center;margin:0;min-height:48px}
#loginform .login-remember label{display:flex;align-items:center;gap:10px;font-weight:500;cursor:pointer}
#loginform .login-remember input{width:18px;height:18px;margin:0;accent-color:var(--blue)}
#loginform .login-submit{display:flex;justify-content:flex-end;align-items:center;margin:0}
#loginform .login-submit input{min-width:160px;min-height:54px;padding:0 24px;border:0;border-radius:999px;background:var(--orange);color:#fff;font-family:inherit;font-size:14px;font-weight:750;cursor:pointer;box-shadow:0 12px 28px rgba(255,77,0,.20);transition:transform .2s ease,box-shadow .2s ease}
#loginform .login-submit input:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(255,77,0,.28)}
#loginform .login-submit input:focus-visible{outline:3px solid rgba(255,77,0,.3);outline-offset:4px}
.ami-login-recovery{grid-column:1/-1;margin:-4px 0 0;text-align:right}.ami-login-recovery a{color:var(--blue);font-size:14px;font-weight:700;text-decoration:none}.ami-login-recovery a:hover{text-decoration:underline}

/* Logged-in portal keeps its existing core markup, with safer responsive bounds. */
.ami-portal-page{padding-top:40px}.ami-portal-page>.ami-shell{width:min(1240px,calc(100% - 48px));min-width:0}
.ami-portal-shell,.ami-portal-main,.ami-portal-section,.ami-dashboard-grid{min-width:0}.ami-portal-page input,.ami-portal-page select,.ami-portal-page textarea{max-width:100%}

@media(max-width:780px){.ami-portal-page>.ami-shell{width:min(100% - 28px,1240px)}.ami-is-portal .ami-page-shell{width:min(100% - 28px,1080px)}}
@media(max-width:430px){
  .ami-is-portal .ami-content{padding:62px 0 82px}.ami-is-portal .ami-page-shell{width:min(100% - 24px,1080px)}
  .ami-is-portal .ami-page-header{margin-bottom:28px}.ami-is-portal .ami-page-header h1{font-size:clamp(44px,13vw,58px);overflow-wrap:anywhere}
  .ami-auth-card{width:100%;padding:30px 22px;border-radius:24px}.ami-auth-card h2{font-size:36px}.ami-auth-card>p{font-size:15px;margin-bottom:28px}
  #loginform{grid-template-columns:1fr;gap:18px}#loginform .login-username,#loginform .login-password,#loginform .login-remember,#loginform .login-submit,.ami-login-recovery{grid-column:1}
  #loginform .login-submit{justify-content:stretch}#loginform .login-submit input{width:100%}.ami-login-recovery{text-align:left;margin-top:-2px}
}
@media(max-width:390px){.ami-is-portal .ami-page-shell{width:min(100% - 20px,1080px)}.ami-auth-card{padding:28px 20px}.ami-auth-card h2{font-size:34px}}
@media(max-width:360px){.ami-is-portal .ami-page-shell{width:min(100% - 16px,1080px)}.ami-auth-card{padding:26px 18px;border-radius:22px}.ami-auth-card h2{font-size:32px}#loginform input[type="text"],#loginform input[type="password"]{width:100%;min-width:0}}

.ami-is-portal:not(.logged-in) .ami-page-header{display:none}.ami-is-portal:not(.logged-in) .ami-content{padding-top:72px}
