.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2c3e50 0%,#34495e 100%);padding:24px;}.login-card{background:var(--color-card);border-radius:12px;padding:40px 36px;width:100%;max-width:400px;box-shadow:0 8px 40px rgba(0,0,0,0.2);}.login-logo{text-align:center;margin-bottom:8px;}.login-logo img{width:64px;height:64px;border-radius:16px;object-fit:cover;}.login-app-name{text-align:center;font-size:22px;font-weight:700;color:var(--color-primary);margin-bottom:28px;}.login-tabs{display:flex;gap:0;margin-bottom:24px;border-bottom:2px solid var(--color-border);}.login-tab{flex:1;padding:10px 0;border:none;background:none;font-size:14px;font-weight:600;color:var(--color-text-light);cursor:pointer;transition:color 0.2s,border-color 0.2s;border-bottom:2px solid transparent;margin-bottom:-2px;}.login-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent);}.login-tab:hover{color:var(--color-accent-hover);}.login-form{display:flex;flex-direction:column;gap:16px;}.form-group{display:flex;flex-direction:column;gap:6px;}.form-group label{font-size:13px;font-weight:600;color:var(--color-text);}.form-group input{padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:14px;transition:border-color 0.2s;outline:none;}.form-group input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(52,152,219,0.1);}.password-wrapper{position:relative;}.password-wrapper input{width:100%;padding-right:44px;}.toggle-password{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-text-light);padding:4px;display:flex;align-items:center;}.toggle-password:hover{color:var(--color-text);}.form-error{color:var(--color-danger);font-size:13px;min-height:18px;}.btn-block{width:100%;padding:12px;font-size:15px;}.login-form .btn-cancel{background:transparent;color:var(--color-text-light);border:1px solid var(--color-border);}.login-form .btn-cancel:hover{background:var(--color-bg);color:var(--color-text);border-color:var(--color-text-light);}.form-link{text-align:center;font-size:13px;color:var(--color-text-light);margin-top:4px;}.form-link a{color:var(--color-accent);font-weight:600;}.form-link a:hover{color:var(--color-accent-hover);}.form-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 0;color:var(--color-text-light);font-size:14px;}.spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin 0.8s linear infinite;}@keyframes spin{to{transform:rotate(360deg);}}.login-page-dark{background:#080e14 !important;position:relative;overflow:hidden;}.login-page-dark::before{content:'';position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(16,185,129,0.08) 0%,transparent 70%);top:-200px;right:-200px;pointer-events:none;}.login-page-dark::after{content:'';position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,0.06) 0%,transparent 70%);bottom:-150px;left:-150px;pointer-events:none;}.login-card-dark{background:rgba(15,23,42,0.92) !important;border:1px solid rgba(255,255,255,0.08) !important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);position:relative;z-index:1;}.login-app-name-dark{background:linear-gradient(135deg,#10b981,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}.login-subtitle{text-align:center;font-size:13px;color:#64748b;margin-top:-20px;margin-bottom:24px;}.login-card-dark .form-group label{color:#cbd5e1 !important;}.login-card-dark .form-group input{background:rgba(255,255,255,0.05) !important;border-color:rgba(255,255,255,0.1) !important;color:#e2e8f0 !important;}.login-card-dark .form-group input:focus{border-color:#10b981 !important;box-shadow:0 0 0 3px rgba(16,185,129,0.1) !important;}.login-card-dark .form-group input::placeholder{color:#475569;}.login-card-dark .toggle-password{color:#64748b;}.login-card-dark .toggle-password:hover{color:#94a3b8;}.login-card-dark .btn-block.btn-primary{background:linear-gradient(135deg,#10b981,#059669) !important;color:#fff !important;border-radius:10px !important;padding:12px !important;font-weight:600 !important;transition:transform 0.2s,box-shadow 0.2s !important;}.login-card-dark .btn-block.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 20px rgba(16,185,129,0.3);}.login-card-dark .btn-cancel{background:rgba(255,255,255,0.05) !important;color:#94a3b8 !important;border-color:rgba(255,255,255,0.1) !important;border-radius:10px !important;}.login-card-dark .btn-cancel:hover{background:rgba(255,255,255,0.1) !important;color:#e2e8f0 !important;}.login-card-dark .login-hint p{color:#64748b;}.login-card-dark .form-loading{color:#64748b;}.login-card-dark .form-loading .spinner{border-color:rgba(255,255,255,0.1);border-top-color:#10b981;}.login-footer{position:relative;z-index:1;text-align:center;margin-top:24px;font-size:13px;color:#475569;}.login-footer a{transition:color 0.2s;}.login-footer a:hover{color:#c4b5fd !important;}