.auth-page{min-height:100dvh;overflow:auto;padding:36px 20px;display:flex;justify-content:center;align-items:flex-start;background:#f4f8f9;color:#234353}
.auth-card{width:100%;max-width:540px;padding:32px;background:#fff;border:1px solid #d8e5e9;border-radius:18px;box-shadow:0 8px 32px #23435308}
.auth-card h1{font-size:28px;line-height:1.4;margin:8px 0 12px}.auth-card h2{font-size:19px;margin:0 0 12px}.auth-eyebrow,.auth-note,.auth-test p{font-size:16px;line-height:1.65;color:#587381;margin:0 0 18px}
.auth-eyebrow{font-size:14px;margin:0}.auth-test{background:#f0f8f6;border:1px solid #c9e2dc;border-radius:12px;padding:18px;margin:24px 0}.auth-test p{margin-bottom:12px}
.auth-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-role-grid button{min-height:46px;border:1px solid #14847b;background:white;color:#126e66;border-radius:8px;font-size:16px;padding:10px}
#campus-login{display:grid;grid-template-columns:1fr;gap:9px;margin:0}#campus-login label{font-size:16px;font-weight:600;margin:5px 0 0}
#campus-login input{width:100%;min-width:0;height:48px;font-size:16px;border:1px solid #bdcfd8;border-radius:8px;padding:10px 12px;box-sizing:border-box}
.auth-password{display:flex;position:relative}.auth-password input{padding-right:68px!important}.auth-password button{position:absolute;right:5px;top:5px;bottom:5px;border:0;background:transparent;color:#126e66;padding:0 12px;font-size:15px}
.auth-submit{width:100%;min-height:48px;margin-top:10px;font-size:17px}.auth-footer{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px}.auth-footer button{border:0;background:none;padding:0;color:#126e66;font-size:16px}.auth-footer a{font-size:16px;color:#126e66}
.auth-error{font-size:16px;color:#b33939;line-height:1.6;margin:0}.auth-success{font-size:16px;color:#126e66;line-height:1.6;margin:0}.auth-safety{margin:22px 0 0;font-size:14px}
.auth-card button:focus-visible,.auth-card input:focus-visible{outline:3px solid #16867c;outline-offset:3px}.test-role-switch{max-width:240px;font-size:15px;min-height:40px}
.test-mode-label{display:inline-block;font-size:14px;font-weight:600;color:#126e66;background:#e6f3ef;border:1px solid #a7cdc2;border-radius:5px;padding:3px 6px;vertical-align:middle}
@media(max-width:600px){.auth-page{padding:20px 12px}.auth-card{padding:24px 20px;border-radius:14px}.auth-card h1{font-size:25px}.auth-test{padding:14px}.auth-role-grid{gap:8px}.auth-role-grid button{padding:10px 5px}.test-role-switch{max-width:180px}}

/* Login-only candidate: existing business layouts and controls stay unchanged. */
.auth-page{height:100dvh;min-height:0;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:stretch;gap:0;padding:32px max(24px,calc((100vw - 1180px)/2));background:#eaf0f1;overflow:auto}
.auth-campus{position:relative;min-height:700px;border-radius:24px 0 0 24px;background:#214c58 url('/campus-login.svg') center bottom/cover no-repeat;color:white;padding:36px 40px;overflow:hidden}
.auth-campus-copy p{text-shadow:0 1px 3px #173e53,0 0 5px #173e53}
.auth-campus{background-image:linear-gradient(180deg,#173e53b3 0%,#173e5399 65%,#173e5300 100%),url('/campus-login.svg')}
.auth-brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:650}.auth-brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:#d0ece0;border:1px solid #bbd7ca66;background:#ffffff12;font-size:22px}
.auth-campus-copy{position:relative;margin-top:72px}.auth-campus-kicker{font-size:12px;letter-spacing:3px;color:#b9d7cc}.auth-campus-copy h2{font-size:clamp(30px,3vw,42px);font-weight:600;letter-spacing:1px;line-height:1.45;margin:16px 0}.auth-campus-copy p{font-size:16px;line-height:1.7;color:#d0e3dc;margin:0}.auth-campus-caption{position:absolute;bottom:24px;left:40px;font-size:12px;color:#c5dcd1}
.auth-card{box-sizing:border-box;width:100%;max-width:none;align-self:stretch;padding:38px 36px;border:0;border-radius:0 24px 24px 0;box-shadow:8px 10px 40px #1e465b0c;background:#fff}
.auth-card h1{font-size:28px;margin:12px 0 8px;color:#173c50}.auth-card>.auth-eyebrow{font-size:13px;color:#56806f}.auth-card>.auth-note{font-size:15px;line-height:1.65;margin-bottom:24px}.auth-card>h2{font-size:18px;color:#294b5a;margin-bottom:10px}
.auth-test{padding:16px;margin:24px 0 0;border:1px solid #dce9e4;background:#f5faf7}.auth-test h2{font-size:16px;margin:0 0 8px}.auth-test p{font-size:13px;line-height:1.6;margin:0 0 12px}.auth-role-grid button{font-size:14px;min-height:42px;padding:8px;color:#1f6c60;border-color:#c2d9d0}.auth-card .auth-safety{font-size:12px;margin-top:18px;color:#627b86}.auth-footer{margin-top:18px}.auth-footer button,.auth-footer a{font-size:14px}
.personal-name>small{grid-column:1/-1;font-size:14px;color:#607987;line-height:1.6}
@media(max-width:800px){.auth-page{grid-template-columns:1fr;padding:16px;gap:0}.auth-campus{min-height:0;height:190px;box-sizing:border-box;border-radius:18px 18px 0 0;padding:22px 24px;background-position:center 70%;background-size:cover}.auth-brand{font-size:17px}.auth-brand-mark{width:34px;height:34px;font-size:18px}.auth-campus-copy{margin-top:20px}.auth-campus-kicker,.auth-campus-caption{display:none}.auth-campus-copy h2{font-size:23px;line-height:1.25;margin:0 0 8px}.auth-campus-copy h2 br{display:none}.auth-campus-copy p{font-size:13px}.auth-card{border-radius:0 0 18px 18px;padding:26px 24px}.auth-card h1{font-size:25px}.auth-card>.auth-note{font-size:14px;margin-bottom:20px}}
@media(max-width:390px){.auth-page{padding:12px}.auth-card{padding:24px 20px}.auth-campus{padding:22px 20px}.auth-campus-copy h2{font-size:21px}}
@media(max-width:800px){.auth-campus{background-image:linear-gradient(180deg,#173e53d9,#173e5380),url('/campus-login.svg')}}
