.login-page{min-height:100dvh;height:100dvh;overflow-y:auto;background:#f8fafc}.login-page .container{display:flex;min-height:100vh;width:100%}.login-page .brand-section{flex:1;position:relative;display:flex;align-items:center;justify-content:center;padding:40px;overflow:hidden;background:radial-gradient(circle at 18% 22%,rgba(0,180,216,.18),transparent 26%),radial-gradient(circle at 82% 78%,rgba(20,211,154,.14),transparent 30%),linear-gradient(135deg,#0f172a,#1a365d 58%,#24476f);color:#fff}.login-page .brand-content{position:relative;z-index:2;width:100%;max-width:500px}.login-page .brand-header{position:sticky;top:36px;z-index:4;padding-bottom:18px}.login-page .logo-area{display:flex;align-items:center;margin-bottom:0}.login-page .logo-icon{width:40px;height:40px;margin-right:12px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0ea5e9,#22c55e);color:#fff;font-size:1.1rem;font-weight:700;box-shadow:0 8px 20px #0f172a38}.login-page .logo-area h1{margin:0;font-size:28px;font-weight:300;letter-spacing:.08em;color:#fff}.login-page .tagline{position:relative;z-index:2;margin:24px 0 20px;font-size:32px;font-weight:700;line-height:1.3;color:#fff;text-shadow:0 2px 10px rgba(15,23,42,.22)}.login-page .description{position:relative;z-index:2;font-size:16px;line-height:1.7;font-weight:300;opacity:.92;color:#ffffffe0}.login-page .description p{margin:0}.login-page .visual-nodes{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.42}.login-page .node{position:absolute;border-radius:999px;will-change:transform,opacity;filter:blur(1px)}.login-page .n1{width:140px;height:140px;top:-20px;right:-20px;background:#00b4d833;animation:floatNode1 8.5s ease-in-out infinite}.login-page .n2{width:80px;height:80px;top:42%;left:10%;background:#ffffff24;animation:floatNode2 10.5s ease-in-out infinite}.login-page .n3{width:200px;height:200px;bottom:-50px;left:20%;background:#14d39a29;animation:floatNode3 11.5s ease-in-out infinite}.login-page .form-section{flex:1;position:relative;z-index:5;display:flex;align-items:center;justify-content:center;background:#fff;padding:20px}.login-page .form-section.register-mode{align-items:flex-start;overflow-y:auto;padding-top:44px;padding-bottom:44px}.login-page .form-wrapper{width:100%;max-width:380px}.login-page .form-header{margin-bottom:32px}.login-page .form-header h2{margin:0 0 8px;font-size:26px;font-weight:700;color:#0f172a}.login-page .sub-text{margin:0;font-size:14px;line-height:1.6;color:#64748b}.login-page .register-fields{display:block}.login-page .input-group{margin-bottom:20px}.login-page .input-group label{display:block;margin-bottom:8px;font-size:13px;font-weight:600;color:#0f172a}.login-page .required{color:#ff4d4d}.login-page .input-group input{width:100%;padding:14px;border:1px solid #e2e8f0;border-radius:8px;font-size:16px;background:#f8fafc;color:#333;transition:border-color .2s,box-shadow .2s,background .2s}.login-page .input-group input:focus{outline:none;background:#fff;border-color:#14d39a;box-shadow:0 0 0 3px #14d39a29}.login-page .input-help{margin-top:4px;font-size:11px;line-height:1.5;color:#64748b}.login-page .form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;font-size:13px}.login-page .checkbox{display:flex;align-items:center;cursor:pointer;color:#64748b;-webkit-user-select:none;user-select:none}.login-page .checkbox input{width:auto;margin-right:8px;accent-color:#14d39a}.login-page .forgot-link{background:none;border:none;padding:0;color:#00b4d8;font-size:13px;font-weight:600;cursor:pointer}.login-page .forgot-link:hover{text-decoration:underline;color:#1a365d}.login-page .agreement-box{margin:16px 0 12px;padding:14px 16px;border-radius:12px;font-size:12px;line-height:1.7;text-align:center;color:#64748b;background:#e6fffa;border:1px solid rgba(20,211,154,.14)}.login-page .agreement-box a{color:#00b4d8;text-decoration:underline;font-weight:600}.login-page .agreement-box a:hover{color:#1a365d}.login-page .submit-btn{width:100%;padding:16px;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:linear-gradient(135deg,#1a365d,#00b4d8);color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:transform .1s,box-shadow .2s,opacity .2s;box-shadow:0 10px 24px #00b4d838}.login-page .submit-btn:hover{box-shadow:0 12px 28px #00b4d847}.login-page .submit-btn:active{transform:scale(.98)}.login-page .submit-btn:disabled{opacity:.7;cursor:not-allowed;box-shadow:none}.login-page .divider{position:relative;margin:22px 0 18px;text-align:center}.login-page .divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e2e8f0}.login-page .divider span{position:relative;padding:0 12px;background:#fff;font-size:12px;color:#94a3b8}.login-page .line-btn{width:100%;padding:14px;display:flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#0f172a;font-size:15px;font-weight:600;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s}.login-page .line-btn:hover{border-color:#00b4d84d;background:#f8fafc;box-shadow:0 6px 16px #0f172a0d}.login-page .line-btn:disabled{opacity:.7;cursor:not-allowed}.login-page .switch-mode-box{margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;font-size:14px;color:#64748b}.login-page .switch-btn{background:none;border:none;padding:0;color:#00b4d8;font-size:14px;font-weight:700;text-decoration:underline;cursor:pointer;transition:color .2s}.login-page .switch-btn:hover{color:#1a365d}.login-page .footer-note{margin-top:24px;font-size:11px;line-height:1.6;text-align:center;color:#94a3b8}.login-page .modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.login-page .modal-content{width:min(90%,400px);padding:32px;border-radius:16px;background:#fff;box-shadow:0 20px 40px #0f172a38}.login-page .modal-content h3{margin:0 0 12px;font-size:20px;color:#0f172a}.login-page .modal-desc{margin:0 0 24px;font-size:14px;line-height:1.6;color:#64748b}.login-page .modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.login-page .btn-cancel,.login-page .btn-submit{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.login-page .btn-cancel{border:1px solid #e2e8f0;background:transparent;color:#64748b}.login-page .btn-cancel:hover{background:#f8fafc}.login-page .btn-submit{border:none;background:linear-gradient(135deg,#1a365d,#00b4d8);color:#fff;box-shadow:0 8px 20px #00b4d82e}.login-page .btn-submit:hover{box-shadow:0 10px 24px #00b4d83d}.login-page .btn-submit:disabled{opacity:.7;cursor:not-allowed}.login-page .loader{width:20px;height:20px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:999px;animation:spin .8s ease-in-out infinite}.login-page .loader.small{width:16px;height:16px;border-width:2px}.login-page .line-btn .loader{border-color:#1a365d29;border-top-color:#1a365d}@keyframes spin{to{transform:rotate(360deg)}}@keyframes floatNode1{0%,to{transform:translateZ(0);opacity:.85}50%{transform:translate3d(-10px,14px,0);opacity:1}}@keyframes floatNode2{0%,to{transform:translateZ(0);opacity:.72}50%{transform:translate3d(12px,-12px,0);opacity:.95}}@keyframes floatNode3{0%,to{transform:translateZ(0);opacity:.78}50%{transform:translate3d(-14px,-10px,0);opacity:.92}}@media (max-width: 768px){.login-page .container{flex-direction:column;min-height:100dvh}.login-page .brand-section{flex:0 0 auto;min-height:260px;padding:30px 24px 60px;align-items:flex-start}.login-page .brand-content{max-width:100%}.login-page .brand-header{position:static;padding-bottom:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}.login-page .logo-area h1{font-size:24px;letter-spacing:.04em}.login-page .tagline{margin-top:18px;margin-bottom:0;font-size:24px}.login-page .desktop-only{display:none}.login-page .form-section{flex:1;align-items:flex-start;padding:32px 24px;margin-top:-30px;border-top-left-radius:24px;border-top-right-radius:24px;box-shadow:0 -4px 20px #0f172a0f}.login-page .form-section.register-mode{padding-top:32px}.login-page .form-header{text-align:center;margin-bottom:24px}.login-page .switch-mode-box{flex-direction:column;gap:4px}.login-page .n1{width:110px;height:110px;top:-12px;right:-14px}.login-page .n2{width:64px;height:64px;left:8%;top:52%}.login-page .n3{width:150px;height:150px;left:34%;bottom:-34px}}@media (max-width: 480px){.login-page .brand-section{min-height:190px;padding:24px 20px 54px}.login-page .logo-icon{width:36px;height:36px;font-size:18px}.login-page .logo-area h1{font-size:20px}.login-page .tagline{font-size:21px;line-height:1.35}.login-page .form-section{padding:28px 20px}.login-page .form-wrapper{max-width:100%}.login-page .input-group input,.login-page .submit-btn,.login-page .line-btn{font-size:16px}}@media (prefers-reduced-motion: reduce){.login-page .node,.login-page .loader{animation:none!important}}
