.login-page{min-height:100vh;background:radial-gradient(circle at 10% 12%,#d5eff8 0,transparent 28%),radial-gradient(circle at 90% 82%,#ddf0ca 0,transparent 30%),#f3f8fa;display:grid;place-items:center;padding:32px;position:relative}.login-shell{width:min(100%,1040px);min-height:620px;display:grid;grid-template-columns:1.08fr .92fr;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 26px 70px #07527d26}.login-brand{position:relative;overflow:hidden;padding:64px 62px;background:linear-gradient(150deg,#073e60,#087cac 55%,#5e9d39);color:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.brand-orbit{position:absolute;width:540px;height:540px;border:1px solid #bde8f455;border-radius:50%;left:-270px;bottom:-260px;box-shadow:0 0 0 42px #bde8f40e,0 0 0 88px #bde8f409}.login-brand img{position:relative;width:200px;height:136px;object-fit:contain;object-position:center;background:#fff;border-radius:16px;padding:10px;margin-bottom:32px;box-shadow:0 9px 20px #00283b33}.login-brand p{position:relative;font-size:12px;letter-spacing:1.4px;font-weight:900;margin:0 0 8px}.login-brand h1{position:relative;font-size:35px;line-height:1.43;margin:0 0 13px;color:#fff}.login-brand>span{position:relative;max-width:390px;line-height:2;color:#e8f7fc;font-size:14px}.login-features{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:32px}.login-features b{font-size:12px;border:1px solid #d6f5ff3d;border-radius:9px;padding:9px 11px;background:#ffffff12}.login-card{padding:72px 58px;display:flex;flex-direction:column;justify-content:center}.login-card-head{display:flex;align-items:center;gap:12px}.login-lock{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:#e7f6fb;color:#087cac;font-size:22px;font-weight:900}.login-card h2{font-size:28px;margin:0}.login-help{margin:20px 0 30px;color:#64788a;line-height:1.8}.login-card form{display:grid;gap:18px}.login-card label{display:grid;gap:8px;font-weight:900;color:#28475e;font-size:13px}.login-card input{width:100%;height:52px;border:1px solid #c8d9e3;border-radius:10px;background:#fff;padding:0 15px;font:inherit;color:#142d43;outline:0;transition:.2s}.login-card input:focus{border-color:#087cac;box-shadow:0 0 0 4px #087cac1e}.login-submit{height:52px;border:0;border-radius:10px;background:linear-gradient(100deg,#087cac,#158dba);color:#fff;font:inherit;font-weight:900;font-size:15px;cursor:pointer;box-shadow:0 9px 17px #087cac30}.login-submit span{font-size:20px;margin-right:9px}.login-status{min-height:22px;margin:0;font-weight:700;color:#527083}.login-status.error{color:#b42318}.login-status.success{color:#17753a}.login-note{margin-top:27px;padding-top:18px;border-top:1px solid #e5edf1;display:flex;gap:8px;color:#778996;line-height:1.7}.login-note small{font-size:11px}.login-footer{position:absolute;bottom:12px;color:#718591;font-size:10px}@media(max-width:800px){.login-page{padding:16px}.login-shell{grid-template-columns:1fr}.login-brand{min-height:300px;padding:38px}.login-brand img{width:145px;height:100px;margin-bottom:16px}.login-brand h1{font-size:27px}.login-card{padding:39px 29px}.login-footer{position:static;margin-top:15px}}
.login-page{min-height:100vh;overflow:hidden;display:grid;place-items:center;padding:32px 20px;position:relative;background:radial-gradient(ellipse 54% 42% at 14% 8%,rgb(16 157 193 / 20%),transparent 74%),radial-gradient(ellipse 48% 40% at 89% 91%,rgb(94 157 57 / 22%),transparent 76%),linear-gradient(135deg,#fafdff 0%,#f5fbfd 47%,#fbfef8 100%)}.login-page:before,.login-page:after{content:'';position:fixed;z-index:0;pointer-events:none;border-radius:32px;transform:rotate(-24deg);filter:drop-shadow(0 16px 22px rgb(13 75 104 / 9%))}.login-page:before{width:min(54vw,720px);height:150px;top:8%;left:-13%;background:linear-gradient(105deg,rgb(8 124 172 / 20%),rgb(13 157 193 / 5%))}.login-page:after{width:min(48vw,620px);height:118px;bottom:9%;right:-10%;background:linear-gradient(105deg,rgb(94 157 57 / 8%),rgb(8 124 172 / 20%))}.login-shell{width:min(100%,490px);min-height:0;position:relative;z-index:1;overflow:hidden;display:block;border:1px solid rgb(186 220 231 / 92%);border-radius:28px;background:rgb(255 255 255 / 93%);box-shadow:0 26px 64px rgb(8 65 89 / 17%),inset 0 1px 0 #fff}.login-shell:before{content:'';position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(90deg,#087cac,#10a8bf 48%,#6da63c)}.login-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:46px 40px 8px;background:transparent;color:#17384e;text-align:center}.brand-orbit{position:absolute;top:-126px;left:auto;bottom:auto;width:265px;height:265px;border:1px solid rgb(8 124 172 / 15%);border-radius:50%;box-shadow:0 0 0 28px rgb(8 124 172 / 4%),0 0 0 64px rgb(94 157 57 / 3%)}.login-brand img{position:relative;z-index:1;width:184px;height:122px;object-fit:contain;padding:11px;margin:0;border:1px solid #dbeaf0;border-radius:19px;background:#fff;box-shadow:0 15px 28px rgb(6 70 97 / 13%)}.login-brand p{position:relative;z-index:1;margin:15px 0 0;color:#397086;font-size:11px;font-weight:900;letter-spacing:1.3px}.login-brand h1,.login-brand>span,.login-features{display:none}.login-card{padding:20px 46px 38px;display:block}.login-card-head{justify-content:center;text-align:right}.login-lock{background:linear-gradient(135deg,#e7f8fc,#eaf6e2)}.login-card-head .eyebrow{margin:0 0 2px;color:#5d7a8d;font-size:11px;font-weight:800}.login-card h2{color:#17384e;font-size:26px}.login-help{margin:17px 0 25px;text-align:center;font-size:13px}.login-card form{gap:15px}.login-card input{height:51px;border-color:#c7dce5;border-radius:11px;font:700 14px "Segoe UI",Tahoma,Arial,sans-serif}.login-card input:focus{border-color:#087cac;background:#fcfeff;box-shadow:0 0 0 4px rgb(8 124 172 / 14%)}.login-submit{height:52px;margin-top:4px;border-radius:11px;background:linear-gradient(100deg,#087cac,#12a7bd 56%,#5f9e3b);font:900 15px "Segoe UI",Tahoma,Arial,sans-serif;box-shadow:0 11px 21px rgb(8 124 172 / 25%);transition:transform .16s,box-shadow .16s,filter .16s}.login-submit:hover:not(:disabled){transform:translateY(-1px);filter:saturate(1.08);box-shadow:0 14px 26px rgb(8 124 172 / 30%)}.login-status{text-align:center}.login-note{margin-top:22px;padding-top:16px}.login-footer{z-index:1}@media(max-width:560px){.login-page{padding:18px 14px}.login-brand{padding:36px 25px 6px}.login-brand img{width:157px;height:106px}.login-card{padding:19px 24px 29px}.login-card h2{font-size:23px}.login-footer{position:static;margin-top:15px}}

/* R3 login art direction: a single, centered, layered EPICS entry point. */
.login-page{isolation:isolate;padding:34px 20px;background:radial-gradient(ellipse 54% 45% at 50% -6%,rgb(9 150 190 / 24%),transparent 70%),radial-gradient(ellipse 44% 42% at 2% 100%,rgb(105 169 57 / 19%),transparent 72%),radial-gradient(ellipse 40% 40% at 100% 92%,rgb(11 118 174 / 15%),transparent 74%),linear-gradient(145deg,#fff 0%,#f3fafc 48%,#f9fdf5 100%)}.login-page:before{width:min(58vw,820px);height:210px;top:3%;left:-20%;border-radius:46px;background:linear-gradient(112deg,rgb(2 74 124 / 2%),rgb(9 151 190 / 21%),rgb(86 161 57 / 8%));box-shadow:0 26px 44px rgb(7 91 122 / 9%);transform:rotate(-18deg) skewX(-12deg)}.login-page:after{width:min(52vw,740px);height:172px;bottom:3%;right:-18%;border-radius:46px;background:linear-gradient(110deg,rgb(94 161 57 / 3%),rgb(105 169 57 / 17%),rgb(10 126 177 / 17%));box-shadow:0 22px 42px rgb(34 111 88 / 8%);transform:rotate(-18deg) skewX(-12deg)}.login-shell{width:min(100%,510px);border:1px solid rgb(203 229 237 / 96%);border-radius:32px;background:linear-gradient(135deg,rgb(255 255 255 / 98%),rgb(251 254 255 / 92%));box-shadow:0 34px 82px rgb(4 58 82 / 16%),0 9px 26px rgb(8 124 172 / 8%),inset 0 1px 0 #fff}.login-shell:before{height:8px;background:linear-gradient(90deg,#075f8e 0%,#0ca7bf 47%,#82ab37 100%)}.login-shell:after{content:'';position:absolute;inset:8px 0 auto;height:104px;pointer-events:none;background:linear-gradient(180deg,rgb(225 247 252 / 75%),transparent);z-index:0}.login-brand{position:relative;z-index:1;padding:52px 42px 7px}.login-brand:before{content:'';position:absolute;top:16px;width:246px;height:194px;border-radius:50% 50% 42% 42%;background:radial-gradient(circle at 50% 30%,#fff 0 5%,rgb(255 255 255 / 0%) 33%),linear-gradient(146deg,rgb(11 139 183 / 17%),rgb(11 167 188 / 5%) 52%,rgb(115 168 55 / 13%));filter:blur(.1px);box-shadow:inset 0 1px 0 #fff,0 20px 34px rgb(16 129 155 / 9%)}.brand-orbit{z-index:0;top:-80px;width:310px;height:310px;border-color:rgb(8 124 172 / 16%);box-shadow:0 0 0 21px rgb(8 124 172 / 4%),0 0 0 52px rgb(94 157 57 / 3%),0 0 0 93px rgb(8 124 172 / 2%)}.brand-logo-stage{position:absolute;z-index:1;top:72px;width:214px;height:106px;perspective:450px;pointer-events:none}.brand-logo-stage span{position:absolute;inset:0;border-radius:50%;border:1px solid rgb(9 124 172 / 17%);transform:rotateX(67deg) rotateZ(-16deg);box-shadow:0 12px 18px rgb(8 95 126 / 7%)}.brand-logo-stage span:nth-child(2){inset:13px -7px;transform:rotateX(67deg) rotateZ(31deg);border-color:rgb(106 165 55 / 20%)}.brand-logo-stage span:nth-child(3){inset:27px 21px;transform:rotateX(67deg) rotateZ(-16deg);border-color:rgb(8 124 172 / 13%)}.brand-logo-frame{position:relative;z-index:2;display:grid;place-items:center;width:174px;height:126px;padding:9px;border-radius:25px;background:linear-gradient(145deg,#fff 0%,#f7fcfd 100%);box-shadow:14px 20px 27px rgb(4 63 90 / 14%),-7px -8px 18px #fff,inset 0 0 0 1px rgb(204 231 239 / 94%);transform:perspective(650px) rotateX(3deg) rotateY(-4deg)}.login-brand img{width:151px;height:99px;padding:0;border:0;border-radius:15px;background:transparent;box-shadow:none;transform:translateZ(18px)}.login-brand p{margin:19px 0 0;color:#1d637e;font-size:10px;font-weight:900;letter-spacing:2px}.login-card{position:relative;z-index:1;padding:22px 49px 41px}.login-card-head{gap:10px;justify-content:center}.login-lock{width:38px;height:38px;border:1px solid #d3e9ee;border-radius:13px;background:linear-gradient(145deg,#f6fdff,#e5f7f8);color:#087cac;box-shadow:0 7px 13px rgb(8 124 172 / 9%);font-size:18px}.login-card h2{font-size:25px;letter-spacing:-.5px}.login-card-head .eyebrow{letter-spacing:.4px}.login-help{margin:15px auto 26px;max-width:310px;color:#6c8291;font-size:12px;line-height:1.9}.login-card label{gap:7px;color:#294b5e;font-size:12px}.login-card input{height:53px;border-color:#cce1e8;border-radius:13px;background:linear-gradient(135deg,#fff,#fbfeff);box-shadow:inset 0 1px 2px rgb(8 62 82 / 2%);padding-inline:16px}.login-card input::placeholder{color:#9aadb7;font-weight:500}.login-card input:focus{border-color:#0b99b7;box-shadow:0 0 0 4px rgb(9 154 185 / 13%),inset 0 1px 2px rgb(8 62 82 / 2%)}.login-submit{height:54px;border:1px solid rgb(4 100 143 / 30%);border-radius:14px;background:linear-gradient(105deg,#076d9e 0%,#0aa4bd 51%,#6fa33d 100%);box-shadow:0 14px 23px rgb(7 119 157 / 25%),inset 0 1px 0 rgb(255 255 255 / 32%);letter-spacing:.1px}.login-submit:active:not(:disabled){transform:translateY(1px);box-shadow:0 7px 15px rgb(7 119 157 / 22%),inset 0 1px 0 rgb(255 255 255 / 28%)}.login-note{margin-top:23px;padding:15px 2px 0;border-color:#e4eff2}.login-footer{color:#5f7785;font-weight:700;letter-spacing:.1px}@media(max-width:560px){.login-page{padding:18px 14px}.login-shell{border-radius:25px}.login-brand{padding:42px 24px 4px}.login-brand:before{transform:scale(.88)}.brand-logo-stage{transform:scale(.88)}.brand-logo-frame{transform:perspective(650px) rotateX(3deg) rotateY(-4deg) scale(.92)}.login-card{padding:19px 25px 30px}.login-card h2{font-size:23px}}

/* Owner refinement: plain white logo field, color only as the foundation below it. */
.login-shell{width:min(100%,472px);border-radius:28px;border-color:rgb(218 235 240 / 96%);box-shadow:0 30px 74px rgb(4 58 82 / 14%),0 8px 20px rgb(8 124 172 / 6%),inset 0 1px 0 #fff}.login-shell:before{height:6px;opacity:.88}.login-brand{padding:38px 38px 4px}.login-brand:before{display:none}.brand-orbit{top:-107px;width:290px;height:290px;border-color:rgb(8 124 172 / 10%);box-shadow:0 0 0 20px rgb(8 124 172 / 3%),0 0 0 48px rgb(94 157 57 / 2%)}.brand-logo-stage{top:153px;width:262px;height:58px;opacity:1}.brand-logo-stage span{border:0;background:linear-gradient(90deg,rgb(7 105 153 / 70%),rgb(11 166 188 / 64%) 47%,rgb(112 163 57 / 63%));filter:blur(.1px);box-shadow:0 14px 21px rgb(5 95 127 / 18%)}.brand-logo-stage span:nth-child(1){inset:13px 5px 5px;opacity:.38}.brand-logo-stage span:nth-child(2){inset:19px 16px 0;opacity:.24}.brand-logo-stage span:nth-child(3){inset:26px 35px -5px;opacity:.15}.brand-logo-frame{width:205px;height:132px;padding:0;border:0;border-radius:18px;background:#fff;box-shadow:0 15px 27px rgb(3 56 77 / 13%),0 1px 0 #fff;transform:none}.login-brand img{width:181px;height:112px;border-radius:0;transform:none}.login-brand p{margin:22px 0 0}.login-card{margin:0 18px 20px;padding:21px 31px 29px;border:1px solid rgb(225 238 241 / 88%);border-radius:19px;background:rgb(255 255 255 / 76%);box-shadow:0 9px 22px rgb(8 83 110 / 5%)}.login-card h2{font-size:23px}.login-help{margin:12px auto 21px}.login-card form{gap:13px}.login-card input{height:50px;border-radius:11px}.login-submit{height:51px;border-radius:11px}.login-note{display:none}@media(max-width:560px){.login-brand{padding:33px 24px 3px}.brand-logo-frame{transform:scale(.9)}.brand-logo-stage{top:137px;transform:scale(.82)}.login-card{margin:0 10px 12px;padding:18px 21px 25px}}

/* Owner-approved composition: a spacious split login, with the logo above the credentials. */
.login-page{padding:42px 32px;background:radial-gradient(ellipse 48% 48% at 8% 8%,rgb(18 159 194 / 12%),transparent 72%),radial-gradient(ellipse 38% 43% at 95% 96%,rgb(111 166 60 / 15%),transparent 72%),linear-gradient(135deg,#fafdff 0%,#f4fafc 52%,#fbfef8 100%)}.login-shell{width:min(100%,1080px);min-height:636px;display:grid;grid-template-columns:.96fr 1.04fr;border:0;border-radius:31px;background:#fff;box-shadow:0 34px 88px rgb(4 57 81 / 16%),0 8px 24px rgb(8 124 172 / 7%);overflow:hidden}.login-shell:before{display:none}.login-shell:after{display:none}.login-brand{grid-column:1;grid-row:1;min-height:636px;padding:68px 61px;overflow:hidden;isolation:isolate;align-items:flex-start;justify-content:center;text-align:right;background:linear-gradient(145deg,#087ba9 0%,#12aabd 48%,#83ac42 100%);color:#fff}.login-brand:before{display:block;z-index:-1;top:-18%;right:-27%;width:540px;height:430px;border-radius:48% 52% 59% 41%;background:linear-gradient(145deg,rgb(255 255 255 / 30%),rgb(255 255 255 / 2%) 64%);box-shadow:0 0 0 44px rgb(255 255 255 / 6%),0 0 0 95px rgb(255 255 255 / 3%);transform:rotate(14deg)}.login-brand:after{content:'';position:absolute;z-index:-1;width:520px;height:230px;bottom:-95px;left:-125px;border:1px solid rgb(255 255 255 / 29%);border-radius:50%;box-shadow:0 0 0 32px rgb(255 255 255 / 6%),0 0 0 70px rgb(255 255 255 / 3%);transform:rotate(-16deg)}.brand-orbit{display:block;z-index:-1;top:auto;right:auto;bottom:-152px;left:-184px;width:410px;height:410px;border-color:rgb(255 255 255 / 25%);box-shadow:0 0 0 34px rgb(255 255 255 / 7%),0 0 0 78px rgb(255 255 255 / 3%)}.login-brand p{margin:0 0 13px;color:rgb(240 252 255 / 93%);font-size:12px;letter-spacing:2px}.login-brand h1{display:block;max-width:360px;margin:0 0 17px;color:#fff;font-size:39px;line-height:1.36;text-shadow:0 3px 16px rgb(2 66 91 / 13%)}.login-brand>span{display:block;max-width:382px;color:rgb(241 253 255 / 95%);font-size:14px;line-height:2}.login-features{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:34px}.login-features b{border:1px solid rgb(255 255 255 / 28%);border-radius:11px;background:rgb(255 255 255 / 12%);box-shadow:inset 0 1px 0 rgb(255 255 255 / 17%);font-size:12px;padding:10px 12px}.login-card{grid-column:2;grid-row:1;align-self:center;justify-self:center;width:min(100%,430px);margin:0;padding:30px 21px 30px;border:0;border-radius:0;background:transparent;box-shadow:none}.login-identity{display:grid;place-items:center;margin:0 0 19px}.brand-logo-frame{width:184px;height:120px;padding:0;border:0;border-radius:17px;background:#fff;box-shadow:0 15px 28px rgb(5 70 94 / 14%),0 1px 0 #fff;transform:none}.login-brand img{width:163px;height:102px;border:0;border-radius:0;background:transparent;box-shadow:none}.login-card-head{justify-content:center;text-align:center}.login-card h2{font-size:28px}.login-help{margin:13px auto 27px;font-size:13px}.login-card form{gap:16px}.login-card label{font-size:13px}.login-card input{height:53px;border-radius:12px}.login-submit{height:53px;border-radius:12px}.login-note{display:flex;margin-top:25px;justify-content:center}.login-footer{z-index:2}@media(max-width:850px){.login-page{padding:24px 17px}.login-shell{width:min(100%,560px);min-height:0;display:block}.login-brand{min-height:285px;padding:39px 38px}.login-brand h1{font-size:29px}.login-brand>span{font-size:13px}.login-features{margin-top:19px}.login-card{width:100%;padding:30px 30px 35px}.login-identity{margin-top:-79px}.brand-logo-frame{width:160px;height:106px}.login-brand img{width:141px;height:89px}}@media(max-width:560px){.login-page{padding:14px}.login-brand{min-height:260px;padding:35px 27px}.login-brand h1{font-size:26px}.login-brand>span{display:none}.login-features{display:none}.login-card{padding:25px 22px 29px}.login-card h2{font-size:24px}.login-identity{margin-top:-72px}.brand-logo-frame{width:150px;height:99px}.login-brand img{width:133px;height:83px}.login-note{display:none}}

/* Final login polish: constrain the moved logo and sharpen the English brand line. */
.login-card .brand-logo-frame{display:grid;place-items:center;overflow:hidden}.login-card .brand-logo-frame img{display:block;width:181px;height:112px;max-width:100%;max-height:100%;object-fit:contain;object-position:center}.login-brand p{direction:ltr;font-family:"Segoe UI",Arial,sans-serif;font-size:14px;letter-spacing:2.6px;font-weight:800;text-shadow:0 1px 3px rgb(0 69 93 / 23%)}@media(max-width:850px){.login-card .brand-logo-frame img{width:141px;height:89px}}@media(max-width:560px){.login-card .brand-logo-frame img{width:133px;height:83px}}
/* Login-only brand assembly: leaves, sun, gear, then the complete EPICS wordmark. */
.login-card .brand-logo-frame{position:relative;display:grid;place-items:center;width:142px;height:96px;overflow:visible;border-radius:0;background:#fff;box-shadow:none}.login-card .brand-logo-frame:before,.login-card .brand-logo-frame:after{display:none}.login-logo-static{display:block;width:136px!important;height:88px!important;max-width:100%;max-height:100%;object-fit:contain;object-position:center;animation:login-logo-settle .78s cubic-bezier(.2,.85,.22,1) both}@keyframes login-logo-settle{0%{opacity:0;transform:translateY(9px) scale(.88);filter:blur(3px)}62%{opacity:1;transform:translateY(-2px) scale(1.025);filter:blur(0)}100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@media(max-width:850px){.login-card .brand-logo-frame{width:132px;height:90px}.login-logo-static{width:126px!important;height:82px!important}}@media(max-width:560px){.login-card .brand-logo-frame{width:122px;height:84px}.login-logo-static{width:118px!important;height:78px!important}}
