html,body {margin: 0;padding: 0;width: 100%;height: 100%;}body.login-body {min-height: 100vh;overflow: hidden;font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;background: #07131b;}.login-page {position: relative;min-height: 100vh;display: flex;flex-direction: column;overflow: hidden;background:radial-gradient(circle at 15% 20%, rgba(0, 210, 255, 0.12), transparent 22%),radial-gradient(circle at 85% 75%, rgba(47, 124, 246, 0.16), transparent 26%),linear-gradient(135deg, #061019 0%, #0a1f2c 35%, #103246 68%, #1b4e63 100%);}.login-bg-grid {position: absolute;inset: 0;background-image:linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);background-size: 34px 34px;opacity: 0.5;pointer-events: none;}.login-bg-lines {position: absolute;inset: 0;pointer-events: none;}.login-bg-lines::before,.login-bg-lines::after {content: "";position: absolute;top: 0;bottom: 0;width: 220px;opacity: 0.65;background:linear-gradient(to bottom, rgba(0, 221, 255, 0.0), rgba(0, 221, 255, 0.18), rgba(0, 221, 255, 0.0)),linear-gradient(135deg, transparent 0 46%, rgba(0, 221, 255, 0.18) 46% 47%, transparent 47% 100%);}.login-bg-lines::before {left: 0;border-right: 1px solid rgba(0, 221, 255, 0.16);clip-path: polygon(0 0, 100% 0, 72% 34%, 72% 66%, 100% 100%, 0 100%);}.login-bg-lines::after {right: 0;border-left: 1px solid rgba(0, 221, 255, 0.16);clip-path: polygon(28% 0, 100% 0, 100% 100%, 28% 100%, 0 66%, 0 34%);}.login-bg-glow {position: absolute;border-radius: 50%;filter: blur(90px);pointer-events: none;animation: glowFloat 8s ease-in-out infinite alternate;}.login-bg-glow-1 {width: 260px;height: 260px;top: 10%;left: 10%;background: rgba(0, 230, 255, 0.15);}.login-bg-glow-2 {width: 340px;height: 340px;right: 8%;bottom: 10%;background: rgba(35, 110, 255, 0.18);animation-delay: 1.5s;}.login-shell {position: relative;z-index: 2;flex: 1;display: flex;align-items: center;justify-content: center;padding: 28px;box-sizing: border-box;}.login-panel {position: relative;width: 100%;max-width: 560px;padding: 34px 38px 32px;border-radius: 28px;background: rgba(7, 18, 28, 0.58);border: 1px solid rgba(255, 255, 255, 0.10);box-shadow:0 24px 70px rgba(0, 0, 0, 0.42),0 0 28px rgba(0, 210, 255, 0.08);backdrop-filter: blur(14px);-webkit-backdrop-filter: blur(14px);animation: loginCardEntry 0.7s ease;}.login-panel-outline {position: absolute;inset: 0;border-radius: 28px;padding: 1px;background: linear-gradient(135deg,rgba(0, 221, 255, 0.55),rgba(0, 221, 255, 0.10),rgba(47, 124, 246, 0.35),rgba(255,255,255,0.12));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite: xor;mask-composite: exclude;pointer-events: none;}.login-panel-corner {position: absolute;width: 34px;height: 34px;border-color: rgba(0, 221, 255, 0.70);pointer-events: none;box-shadow: 0 0 10px rgba(0, 221, 255, 0.22);}.login-panel-corner-tl {top: 14px;left: 14px;border-top: 2px solid;border-left: 2px solid;border-top-left-radius: 10px;}.login-panel-corner-tr {top: 14px;right: 14px;border-top: 2px solid;border-right: 2px solid;border-top-right-radius: 10px;}.login-panel-corner-bl {bottom: 14px;left: 14px;border-bottom: 2px solid;border-left: 2px solid;border-bottom-left-radius: 10px;}.login-panel-corner-br {bottom: 14px;right: 14px;border-bottom: 2px solid;border-right: 2px solid;border-bottom-right-radius: 10px;}.login-header {position: relative;z-index: 1;margin-bottom: 24px;}.login-logo {width: 100%;max-width: 250px;height: auto;display: block;margin: 0 auto 14px auto;object-fit: contain;filter: drop-shadow(0 0 10px rgba(255,255,255,0.06));}.login-status {display: inline-flex;align-items: center;gap: 8px;margin: 0 auto 16px auto;padding: 7px 14px;border-radius: 999px;background: rgba(0, 220, 255, 0.08);border: 1px solid rgba(0, 220, 255, 0.18);color: #d5fbff;font-size: 12px;font-weight: 600;letter-spacing: 0.2px;}.login-status-dot {width: 8px;height: 8px;border-radius: 50%;background: #00ffd0;box-shadow: 0 0 10px rgba(0, 255, 208, 0.85);}.login-title {margin: 0 0 10px;text-align: center;font-size: 1.75rem;font-weight: 700;color: #ffffff;letter-spacing: 0.3px;}.login-subtitle {margin: 0;padding-top: 14px;text-align: center;font-size: 1rem;color: rgba(225, 240, 255, 0.82);border-top: 1px solid rgba(255,255,255,0.10);}.login-alert {position: relative;z-index: 1;display: flex;align-items: center;gap: 10px;margin-bottom: 18px;padding: 12px 14px;border-radius: 14px;font-size: 0.92rem;border: 1px solid;}.login-alert-error {background: rgba(255, 77, 109, 0.10);border-color: rgba(255, 77, 109, 0.28);color: #ffd5dc;}.login-alert-success {background: rgba(0, 255, 170, 0.10);border-color: rgba(0, 255, 170, 0.22);color: #d3fff1;}.login-form {position: relative;z-index: 1;}.login-label {display: block;margin-bottom: 8px;color: #dbefff;font-weight: 600;letter-spacing: 0.2px;}.login-input-wrap {position: relative;}.login-input-icon {position: absolute;left: 15px;top: 50%;transform: translateY(-50%);color: rgba(207, 238, 255, 0.75);font-size: 15px;pointer-events: none;z-index: 2;}.login-input {width: 100%;height: 54px;padding: 10px 46px 10px 42px;border-radius: 14px;border: 1px solid rgba(255,255,255,0.12);background: rgba(255,255,255,0.06);color: #ffffff;font-size: 0.96rem;box-sizing: border-box;box-shadow: none;transition: all 0.25s ease;}.login-input::placeholder {color: rgba(225, 240, 255, 0.54);}.login-input:focus {border-color: rgba(0, 221, 255, 0.55);background: rgba(255,255,255,0.10);box-shadow:0 0 0 0.22rem rgba(0, 221, 255, 0.12),0 0 18px rgba(0, 221, 255, 0.10);color: #ffffff;outline: none;}.login-password-toggle {position: absolute;right: 12px;top: 50%;transform: translateY(-50%);width: 34px;height: 34px;border: none;background: transparent;color: rgba(220, 240, 255, 0.72);border-radius: 50%;cursor: pointer;transition: 0.2s ease;z-index: 3;}.login-password-toggle:hover {background: rgba(255,255,255,0.08);color: #ffffff;}.login-btn {width: 100%;height: 56px;border: none;border-radius: 14px;background: linear-gradient(90deg, #00d0ff 0%, #2f7cf6 55%, #1058d8 100%);color: #ffffff;font-size: 1rem;font-weight: 700;letter-spacing: 0.3px;transition: all 0.28s ease;box-shadow:0 12px 28px rgba(16, 88, 216, 0.30),0 0 18px rgba(0, 208, 255, 0.12);}.login-btn:hover,.login-btn:focus {color: #ffffff;transform: translateY(-2px);box-shadow:0 16px 36px rgba(16, 88, 216, 0.36),0 0 20px rgba(0, 208, 255, 0.20);}.login-btn.is-loading,.login-btn:disabled {cursor: not-allowed;opacity: 0.92;transform: none;}.login-btn-loading i {margin-right: 8px;}.login-copy {position: relative;z-index: 2;text-align: center;color: rgba(222, 239, 255, 0.72);font-size: 14px;letter-spacing: 0.2px;padding: 14px 18px 18px;}@keyframes loginCardEntry {from {opacity: 0;transform: translateY(18px) scale(0.985);}to {opacity: 1;transform: translateY(0) scale(1);}}@keyframes glowFloat {from {transform: translateY(0) translateX(0) scale(1);}to {transform: translateY(-12px) translateX(8px) scale(1.06);}}@media (max-width: 768px) {body.login-body {overflow: auto;}.login-shell {padding: 18px;}.login-panel {max-width: 100%;padding: 28px 22px 26px;border-radius: 22px;}.login-panel-outline {border-radius: 22px;}.login-logo {max-width: 210px;}.login-title {font-size: 1.8rem;}.login-subtitle {font-size: 0.92rem;}.login-copy {font-size: 11px;padding: 12px 14px 16px;}.login-bg-lines::before,.login-bg-lines::after {opacity: 0.28;width: 120px;}}