/* AMI LPM KAMPUS v1.2.4 — standalone login UI; preserves login backend */
.ami-login-page{margin:0;min-height:100vh;background:#eaf6f1;color:#0b3a2d;font-family:Inter,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.ami-login-page *{box-sizing:border-box}
.ami-login-page button,.ami-login-page input{font:inherit}
.ami-login-svgdefs{position:absolute;width:0;height:0;overflow:hidden}
.ami-login-page svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;fill:none}
.ami-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,53%) minmax(0,47%);background:#e9f7f0}
.ami-login-promo{position:relative;overflow:hidden;isolation:isolate;display:flex;min-height:100vh;background:radial-gradient(circle at 81% 56%,#138a62 0%,transparent 42%),linear-gradient(148deg,#004b3b 0%,#006949 53%,#024732 100%);color:#fff}
.ami-login-promo:before{content:"";position:absolute;z-index:0;left:-18%;bottom:-90px;width:145%;height:150px;background:linear-gradient(105deg,#f3b922,#ffe9a0 40%,#b9800a);transform:rotate(1deg);border-radius:50% 50% 0 0;box-shadow:0 -7px 20px #073d2a28}
.ami-login-promo:after{content:"";position:absolute;z-index:1;left:-7%;bottom:-96px;width:125%;height:145px;background:#064f3b;transform:rotate(3deg);border-radius:50% 50% 0 0}
.ami-login-arc{position:absolute;z-index:0;border:1px solid #ffffff1c;border-radius:50%;pointer-events:none}
.ami-login-arc-one{width:570px;height:570px;top:12%;right:-330px;box-shadow:0 0 0 78px #d3ffe608,0 0 0 155px #ffffff08}
.ami-login-arc-two{width:410px;height:410px;top:21%;right:-235px;box-shadow:inset 0 0 0 26px #ffffff06}
.ami-login-gold-curve{position:absolute;z-index:0;top:-90px;right:-100px;width:255px;height:250px;border:36px solid #ffdf7e;border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(-27deg);filter:drop-shadow(0 4px 8px #0e3e3033)}
.ami-login-promo-content{position:relative;z-index:3;min-height:100vh;display:flex;flex-direction:column;width:100%;padding:clamp(30px,5.2vw,80px) clamp(32px,5.8vw,98px) 69px}
.ami-login-brand{display:flex;align-items:center;gap:18px;min-width:0}
.ami-login-brand .brand-mark{height:70px;width:70px;display:grid;place-items:center;flex:none;border:2px solid #ffcb50;border-radius:22px;background:linear-gradient(145deg,#0fa373,#055941);font-size:38px;color:#ffd45a;box-shadow:0 10px 30px #021c172e,inset 0 0 0 4px #ffffff12}
.ami-login-brand .brand-mark img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.ami-login-brand-name{display:flex;flex-direction:column;gap:8px;min-width:0}
.ami-login-brand-name strong{font-size:clamp(20px,2vw,28px);line-height:1.1;color:#fff;letter-spacing:-.5px;font-weight:800}
.ami-login-brand-name span{color:#d2ece1;font-size:13px;white-space:normal}
.ami-login-brand-name b{padding:0 4px;color:#f5c75c}
.ami-login-message{margin-top:auto;margin-bottom:auto;padding:52px 0 5px}
.ami-login-eyebrow{letter-spacing:3.7px;font-size:12px!important;font-weight:850;color:#ffdb75!important;margin:0 0 18px!important}
.ami-login-gold-dash{width:70px;height:4px;border-radius:3px;background:#f8c93f;display:block;margin-bottom:25px}
.ami-login-message h1{font-size:clamp(40px,4.5vw,70px);font-weight:850;line-height:1.12;letter-spacing:-2px;color:#fff;margin:0 0 20px;max-width:760px}
.ami-login-message h1 em{color:#ffda70;font-style:normal}
.ami-login-description{font-size:clamp(14px,1.2vw,17px);line-height:1.75;color:#e4f5ed;max-width:600px;margin:0}
.ami-login-benefits{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}
.ami-login-benefits span{display:inline-flex;align-items:center;gap:7px;border:1px solid #ffffff5a;background:#ffffff14;color:#f4fff9;padding:10px 13px;border-radius:999px;font-size:12px;font-weight:650;backdrop-filter:blur(9px)}
.ami-login-benefits svg{width:16px;height:16px;color:#c5ffdd;stroke-width:2.6}
.ami-login-promo-footer{display:flex;align-items:center;gap:12px;color:#d9efe3;font-size:12px;position:relative;z-index:2;padding-bottom:clamp(35px,4vw,70px)}
.ami-login-footer-icon{color:#f3c33b}.ami-login-footer-icon svg{width:24px;height:24px}
.ami-login-promo-footer i{color:#e3be5c;font-style:normal;margin:0 4px}
.ami-login-campus{position:absolute;z-index:1;bottom:8px;right:-6%;width:82%;height:35%;background:url(../img/hero-campus.svg) center bottom/contain no-repeat;filter:drop-shadow(0 5px 16px #00251b5a);opacity:.52;pointer-events:none}
.ami-login-form-panel{position:relative;min-width:0;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:38px clamp(25px,4vw,75px);overflow:hidden;background:radial-gradient(ellipse 260px 240px at 95% 4%,#d8efe4,transparent),radial-gradient(ellipse 400px 270px at 4% 94%,#d5f0e4,transparent),linear-gradient(150deg,#f4fcf8,#e8f7f0)}
.ami-login-form-panel:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;border:1px solid #c4e7d638;right:-370px;top:-320px;box-shadow:0 0 0 70px #d4f4e72c}
.ami-login-card{width:min(100%,590px);position:relative;z-index:1;background:linear-gradient(150deg,#ffffffef,#ffffffeb);padding:clamp(30px,3.6vw,58px);border:1px solid #fffffffa;border-radius:34px;box-shadow:0 24px 65px #06473018,0 4px 13px #06473008;backdrop-filter:blur(12px)}
.ami-login-card-icon{height:72px;width:72px;display:grid;place-items:center;background:linear-gradient(160deg,#e5f6ed,#d4f1e3);color:#0a7a50;border-radius:21px;margin-bottom:31px}
.ami-login-card-icon svg{width:39px;height:39px;stroke-width:1.65}
.ami-login-overline{color:#04875f;font-size:12px;font-weight:900;letter-spacing:2.2px;display:flex;gap:16px;align-items:center;margin-bottom:17px}
.ami-login-overline span{background:#f2b92c;width:48px;height:2px;display:block;border-radius:10px}
.ami-login-card h2{font-size:clamp(30px,3vw,44px);font-weight:850;letter-spacing:-1.4px;line-height:1.12;color:#063f30;margin:0 0 13px}
.ami-login-helper{font-size:15px;line-height:1.75;color:#657f75;margin:0 0 32px}
.ami-login-form{display:flex;flex-direction:column;gap:23px}
.ami-login-field>label{color:#154437;font-weight:800;font-size:14px;display:flex;align-items:center;gap:10px;margin:0 0 11px}
.ami-login-field>label svg{color:#0c8060;width:19px;height:19px}
.ami-login-control{display:flex;align-items:center;gap:12px;height:56px;border:1px solid #c5e5d5;border-radius:13px;background:#fffdf0;box-shadow:0 2px 4px #14573d05;transition:border-color .18s,box-shadow .18s,background .18s;padding:0 14px}
.ami-login-control:focus-within{background:#fff;border-color:#0c9870;box-shadow:0 0 0 4px #12a97519,0 5px 12px #0a65430b}
.ami-login-control>svg{color:#76968a;flex:none;width:23px;height:23px}
.ami-login-control input{width:100%;height:100%;min-width:0;border:0!important;outline:0!important;padding:0!important;margin:0!important;box-shadow:none!important;background:transparent!important;color:#0e4034;font-weight:550;font-size:15px;border-radius:0!important}
.ami-login-control input::placeholder{color:#93a49c;opacity:1;font-weight:400}
.ami-login-password-toggle{width:40px;height:40px;display:grid;place-items:center;color:#708b80;background:transparent;border:none;border-radius:9px;cursor:pointer;flex:none;transition:background .2s}
.ami-login-password-toggle:hover{color:#006e4e;background:#e9f8ef}
.ami-login-password-toggle:focus-visible,.ami-login-submit:focus-visible{outline:3px solid #e9b82c;outline-offset:3px}
.ami-login-submit{display:flex;align-items:center;justify-content:center;gap:13px;height:62px;width:100%;margin:12px 0 0;border:1px solid #008a5c;border-radius:14px;color:white;background:linear-gradient(110deg,#047a55,#006b4b 63%,#109c69);box-shadow:0 12px 26px #05734c24,inset 0 1px 0 #ffffff2c;cursor:pointer;font-size:18px;font-weight:800;transition:transform .2s,box-shadow .2s,filter .2s}
.ami-login-submit:hover{transform:translateY(-2px);filter:brightness(1.04);box-shadow:0 15px 30px #05734c35}
.ami-login-submit:active{transform:translateY(0)}
.ami-login-submit:disabled{opacity:.75;cursor:wait;transform:none}
.ami-login-submit svg{width:24px;height:24px;stroke-width:2}
.ami-login-help{border-top:1px solid #e2ece7;margin-top:38px;padding-top:22px;text-align:center;color:#68847a;font-size:13px;line-height:1.6}
.ami-login-campus-label{font-size:13px;line-height:1.6;text-align:center;color:#829a8d;margin-top:24px}
.ami-login-campus-label span{margin:0 3px;color:#c6a142}
.ami-login-mobile-footer{display:none}
.ami-login-alert{background:#fff7e9;color:#86540f;border:1px solid #f0d4a0;padding:12px 14px;border-radius:12px;font-size:13px;margin:0 0 24px;line-height:1.6}
.ami-login-alert.danger{color:#9a2832;background:#fff3f2;border-color:#ffc8ca}
.ami-login-alert.success{color:#006a46;background:#effaf4;border-color:#b7e4cb}
@media(min-width:1700px){.ami-login-card{width:min(100%,650px)}.ami-login-message h1{font-size:76px}}
@media(max-width:1200px){.ami-login-promo-content{padding:36px 35px 46px}.ami-login-message h1{font-size:clamp(39px,4.2vw,55px)}.ami-login-benefits{gap:7px}.ami-login-benefits span{font-size:11px;padding:8px 10px}.ami-login-card{padding:35px}.ami-login-form-panel{padding:26px 23px}.ami-login-brand-name strong{font-size:22px}}
@media(max-width:920px){.ami-login-shell{grid-template-columns:1fr}.ami-login-promo,.ami-login-promo-content{min-height:auto}.ami-login-promo-content{padding:22px 25px 26px}.ami-login-promo{overflow:hidden}.ami-login-brand .brand-mark{height:53px;width:53px;border-radius:16px;font-size:28px}.ami-login-brand-name strong{font-size:19px}.ami-login-brand-name span{font-size:11px}.ami-login-message{padding:24px 0 0;margin:0}.ami-login-message h1{font-size:32px;letter-spacing:-1px;margin-bottom:10px}.ami-login-message h1 br{display:none}.ami-login-message h1 br:after{content:" "}.ami-login-description,.ami-login-benefits,.ami-login-promo-footer,.ami-login-gold-dash{display:none}.ami-login-eyebrow{font-size:10px!important;margin-bottom:9px!important}.ami-login-campus{opacity:.22;width:60%;height:95%;right:-10%;bottom:-30%}.ami-login-form-panel{min-height:auto;padding:32px 18px 45px}.ami-login-card{max-width:600px}.ami-login-mobile-footer{display:block;padding:16px;font-size:11px;color:#709283}}
@media(max-width:480px){.ami-login-promo-content{padding:20px 18px}.ami-login-message h1{font-size:27px}.ami-login-card{padding:28px 22px;border-radius:22px}.ami-login-card-icon{height:55px;width:55px;margin-bottom:22px;border-radius:15px}.ami-login-card-icon svg{width:29px;height:29px}.ami-login-card h2{font-size:29px}.ami-login-helper{font-size:13px;margin-bottom:23px}.ami-login-overline{font-size:10px;letter-spacing:1.7px}.ami-login-field>label{font-size:13px}.ami-login-control{height:52px}.ami-login-submit{height:56px;font-size:16px}.ami-login-help{font-size:12px;margin-top:24px}.ami-login-campus-label{font-size:11px}}
@media(prefers-reduced-motion:reduce){.ami-login-page *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
