/* CUTC Service Desk - two-step administrator sign-in. Light, responsive, no JS required. */
.auth-body{margin:0;min-height:100vh;background:#f5f7f3;color:#233d32;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(340px,44%) minmax(430px,56%);max-width:1600px;margin:auto}
.auth-intro{background:#e7eee7;padding:clamp(28px,5.4vw,88px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;isolation:isolate;overflow:hidden}
.auth-intro:before{content:"";position:absolute;width:420px;height:420px;border:1px solid #cfddd1;border-radius:50%;bottom:-210px;right:-180px;z-index:-1}
.auth-intro:after{content:"";position:absolute;width:580px;height:580px;border:1px solid #d2e0d6;border-radius:50%;bottom:-300px;right:-255px;z-index:-1}
.auth-overline{color:#5c826d;letter-spacing:.17em;font-size:11px;font-weight:800;margin-bottom:54px}
.auth-brand{display:flex;gap:14px;align-items:center;margin-bottom:72px}
.auth-mark{width:46px;height:46px;background:#225c48;color:white;border-radius:14px;display:grid;place-items:center;font-size:27px;font-weight:850;box-shadow:0 8px 20px #12482a1f}
.auth-brand strong,.auth-brand span{display:block}.auth-brand strong{font-size:14px;color:#233f34;letter-spacing:-.02em}.auth-brand div>span{font-size:12px;color:#6e8476;margin-top:4px}
.auth-intro h1{font-size:clamp(39px,4.6vw,70px);font-weight:750;letter-spacing:-.055em;line-height:1.05;margin:0 0 24px;color:#214333}
.auth-intro p{font-size:16px;line-height:1.8;max-width:430px;color:#607e6d;margin:0 0 56px}
.auth-mini{color:#657f70;font-size:12px;font-weight:650;display:flex;align-items:center;gap:10px}.auth-mini-separator{color:#a1b8a5}.auth-pulse{display:inline-block;width:9px;height:9px;border-radius:50%;background:#29a375;box-shadow:0 0 0 5px #29a3751a}
.auth-panel{background:#fff;display:flex;flex-direction:column;align-items:center;padding:clamp(25px,4vw,64px);justify-content:space-between}
.auth-step{width:100%;display:flex;align-items:center;gap:10px;color:#b1c4b6;font-size:11px;letter-spacing:.01em;font-weight:800}.auth-step>span:not(.auth-step-line){display:grid;place-items:center;width:27px;height:27px;border:1px solid #d8e5da;border-radius:50%}.auth-step .auth-step-on{background:#2a7859!important;color:#fff!important;border-color:#2a7859!important}.auth-step .auth-step-done{background:#edf5ef;border-color:#cedfce;color:#1c7b53}.auth-step-line{width:34px;border-top:1px solid #cdded2}.auth-step strong{margin-left:auto;color:#668375;font-size:11px}
.auth-panel-inner{width:min(100%,420px);margin:45px 0 55px}.auth-eyebrow{font-size:11px;letter-spacing:.14em;color:#417d5c;font-weight:800;margin:0 0 18px}.auth-panel-inner h2{font-size:clamp(28px,3vw,37px);letter-spacing:-.045em;line-height:1.2;font-weight:750;color:#1e392b;margin:0 0 13px}.auth-subtitle{color:#738479;font-size:14px;line-height:1.7;margin:0 0 31px}.auth-subtitle strong{color:#2e5540}.auth-label{display:block;color:#334d3b;font-size:12px;font-weight:780;margin:22px 0 9px}.auth-input{display:block;width:100%;box-sizing:border-box;min-height:48px;background:#fff;border:1px solid #d8e4db;border-radius:11px;padding:12px 14px;color:#213d30;font-size:14px;outline:0;box-shadow:none}.auth-input:focus{border-color:#36956c;box-shadow:0 0 0 4px #36956c15}.auth-input::placeholder{color:#b3c1b7}.auth-code{font-size:23px;letter-spacing:.22em;text-align:center;font-weight:700}.auth-field-help{font-size:12px;color:#849789;line-height:1.5;margin:8px 0 0}.auth-button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;background:#246d50;color:#fff;border:0;border-radius:12px;padding:16px 20px;margin-top:27px;font-size:14px;font-weight:800;cursor:pointer;transition:background .15s ease}.auth-button:hover{background:#17573f}.auth-button span{font-size:21px;line-height:1}.auth-hint{margin-top:28px;padding:16px 17px;background:#f4f8f4;border:1px solid #e7eee7;border-radius:11px;color:#617b6b;font-size:12px;line-height:1.7}.auth-hint em{font-weight:700;font-style:normal}.auth-hint>span{color:#207d5a;margin-right:7px}.auth-foot{width:100%;text-align:center;color:#a8b7a9;font-size:11px}.auth-error{background:#fff2ed;color:#963f2e;border:1px solid #f2d4c8;padding:13px 14px;border-radius:11px;font-size:12px;line-height:1.6;margin-bottom:19px}.auth-notice{background:#eaf6ef;color:#276443;border:1px solid #d5e9dc;padding:13px 14px;border-radius:11px;font-size:12px;line-height:1.6;margin-bottom:19px}.auth-trust{display:flex;align-items:flex-start;gap:11px;margin-top:24px;cursor:pointer}.auth-trust input{width:17px;height:17px;margin-top:3px;accent-color:#297955;flex:0 0 auto}.auth-trust strong,.auth-trust small{display:block}.auth-trust strong{font-size:12px;color:#385345}.auth-trust small{font-size:11px;line-height:1.65;color:#8a9c90;margin-top:3px}.auth-followup{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:22px}.auth-followup form{margin:0}.auth-text-button{border:0;background:none;padding:5px 0;color:#2c7858;font-weight:750;cursor:pointer;font-size:12px}.auth-text-button:hover{text-decoration:underline}
@media(max-width:920px){.auth-shell{grid-template-columns:minmax(0,1fr)}.auth-intro{padding:24px 28px;min-height:110px}.auth-intro h1,.auth-intro>p,.auth-mini,.auth-overline{display:none}.auth-brand{margin:0}.auth-panel{min-height:calc(100vh - 110px);padding:27px}.auth-panel-inner{margin:48px 0}.auth-brand div>span{margin-top:1px}}
@media(max-width:540px){.auth-panel{padding:22px 20px}.auth-panel-inner{margin:36px 0 46px}.auth-step strong{font-size:10px}.auth-intro{padding:20px}.auth-brand strong{font-size:12px}.auth-mark{width:39px;height:39px}}
