.login-page{--accent: #007aff;--accent-soft: rgba(0, 122, 255, .2);--success: #34c759;--error: #ff3b30;--error-soft: rgba(255, 59, 48, .2);--label: #1c1c1e;--label-secondary: #8e8e93;--label-tertiary: #c7c7cc;--system-fill: rgba(120, 120, 128, .08);--system-fill-focus: rgba(120, 120, 128, .12);display:flex;flex-direction:column;min-height:100vh;background:linear-gradient(180deg,#f2f2f7,#e5e5ea);color:var(--label);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Inter,Segoe UI,system-ui,sans-serif;-webkit-tap-highlight-color:transparent;scrollbar-width:none}.login-page *{box-sizing:border-box}.login-page::-webkit-scrollbar{width:0;height:0;display:none}.login-page ::selection{background:var(--accent-soft)}.login-page ::-webkit-scrollbar{width:0;height:0;display:none}.login-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:url(/et_preview_url.jpeg);background-size:cover;background-position:center;background-repeat:no-repeat;opacity:.5}.login-header{position:relative;z-index:1;flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;padding:20px 28px;-webkit-user-select:none;user-select:none;animation:login-spring-in .5s cubic-bezier(.175,.885,.32,1.275) .05s backwards;will-change:transform,opacity}.login-college-logo{height:40px;width:auto;object-fit:contain;opacity:.9}.login-main{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px 32px}.login-brand{display:flex;flex-direction:column;align-items:center;gap:14px;animation:login-spring-in .6s cubic-bezier(.175,.885,.32,1.275) .1s backwards;will-change:transform,opacity}.login-icon{font-size:64px;line-height:1}.login-title{margin:0;font-size:40px;font-weight:700;letter-spacing:-.03em;line-height:1.1;text-align:center}.login-subtitle{margin:10px 0 0;font-size:15px;line-height:1.4;color:#000;text-align:center;animation:login-spring-in .5s cubic-bezier(.175,.885,.32,1.275) .15s backwards;will-change:transform,opacity}.login-phrase{margin:18px 0 0;min-height:1.4em;max-width:360px;font-size:15px;line-height:1.4;color:#000;text-align:center}.login-phrase-caret{display:inline-block;width:2px;height:1em;margin-left:3px;vertical-align:-.12em;background:var(--accent);opacity:.85;animation:login-caret-blink 1s step-end infinite}.login-phrase.cursor-hidden .login-phrase-caret{opacity:0;animation:none;transition:opacity .4s ease}@keyframes login-caret-blink{0%,to{opacity:.85}50%{opacity:0}}.login-status{margin-top:10px;min-height:18px;font-size:13px;letter-spacing:.01em;line-height:1.4;color:#000;text-align:center;animation:login-fade-in .4s ease .5s backwards}.login-status-text{transition:opacity .2s ease}.login-status-text.hidden{opacity:0}.login-card-wrap{width:100%;max-width:400px;margin-top:28px;animation:login-spring-in .6s cubic-bezier(.175,.885,.32,1.275) .2s backwards;will-change:transform,opacity}.login-card{width:100%;padding:32px 24px;border-radius:20px;background:#ffffffb8;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:.5px solid rgba(255,255,255,.5);box-shadow:0 0 0 .5px #0000000a,0 8px 32px #00000014,0 2px 8px #0000000a}@supports not ((backdrop-filter: blur(20px)) or (-webkit-backdrop-filter: blur(20px))){.login-card{background:#fffffff2}}.login-card.shake{animation:login-shake .3s ease}.login-card-title{margin:0 0 20px;font-size:22px;font-weight:600;letter-spacing:-.01em;line-height:1.3}@keyframes login-shake{0%,to{transform:translate(0)}10%{transform:translate(-6px)}20%{transform:translate(5px)}30%{transform:translate(-5px)}40%{transform:translate(4px)}50%{transform:translate(-4px)}60%{transform:translate(3px)}70%{transform:translate(-3px)}80%{transform:translate(2px)}90%{transform:translate(-2px)}}.login-field{margin-bottom:12px}.login-label{display:block;margin-bottom:8px;font-size:13px;font-weight:500;color:var(--label-secondary)}.login-input{width:100%;height:50px;padding:0 16px;border:none;border-radius:12px;background:var(--system-fill);font-size:16px;color:var(--label);caret-color:var(--accent);outline:none;transition:background-color .2s ease,box-shadow .2s ease}.login-input::placeholder{color:var(--label-tertiary)}.login-input:focus{background:var(--system-fill-focus);box-shadow:0 0 0 3px var(--accent-soft)}.login-input.has-error{background:#ff3b300f;box-shadow:0 0 0 3px var(--error-soft)}.login-input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px rgba(120,120,128,.08) inset;-webkit-text-fill-color:var(--label);caret-color:var(--accent);transition:background-color 9999s ease-out}.login-field-error{margin-top:6px;font-size:13px;color:var(--error)}.login-field-hint{margin-top:6px;font-size:13px;color:var(--label-tertiary)}.login-password-wrap{position:relative}.login-input-password{padding-right:46px}.login-eye{position:absolute;top:50%;right:14px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;padding:0;border:none;background:none;color:var(--label-secondary);font-size:20px;line-height:0;cursor:pointer;outline:none;transition:opacity .2s ease}.login-eye:hover{opacity:.7}.login-error{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#ff3b3014;color:var(--error);font-size:13px;text-align:center;animation:login-fade-in .2s ease backwards}.login-button{display:flex;align-items:center;justify-content:center;width:100%;height:50px;margin-top:20px;border:none;border-radius:12px;background:var(--accent);color:#fff;font-size:17px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;transition:opacity .15s ease,transform .15s ease,background-color .2s ease}.login-button:hover:not(:disabled){opacity:.9}.login-button:active:not(:disabled){transform:scale(.98);opacity:.85}.login-button:disabled{opacity:.5;cursor:not-allowed}.login-button.success{background:var(--success)}.login-button-label{display:inline-flex;align-items:center;gap:8px}.login-footer{margin-top:20px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;letter-spacing:.02em;line-height:1.4;color:var(--label-tertiary);text-align:center}@keyframes login-spring-in{0%{opacity:0;transform:translateY(20px) scale(.96)}60%{opacity:1;transform:translateY(-2px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes login-fade-in{0%{opacity:0}to{opacity:1}}@media(max-width:400px){.login-card-wrap{width:calc(100% - 32px);max-width:none}.login-card{padding:24px 20px}.login-title{font-size:32px}.login-header{padding:16px 20px}}@media(max-height:700px){.login-icon,.login-subtitle{display:none}.login-main{justify-content:flex-start;padding-top:24px}.login-brand{margin-top:8px}.login-card-wrap{margin-top:16px}}@media(prefers-reduced-motion:reduce){.login-header,.login-brand,.login-subtitle,.login-card-wrap,.login-status,.login-phrase-caret{animation:none}}
