*{box-sizing:border-box}body{font-family:Raleway,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f9f9f9;color:#333;margin:0;padding:0;min-height:100vh;display:flex;flex-direction:column;transition:background-color .3s ease,color .3s ease}body.dark-theme{background-color:#1e1e1e;color:#f0f0f0}.auth-container{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1;padding:20px;margin-top:80px}.form-switch-indicator{display:flex;justify-content:center;margin-bottom:30px;background:#fff;border-radius:12px;padding:4px;border:1px solid #e1e8ed;box-shadow:0 2px 10px #0000001a;width:100%;max-width:450px;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}body.dark-theme .form-switch-indicator{background:#333;border-color:#555;box-shadow:0 2px 10px #0000004d}.switch-tab{flex:1;padding:12px 20px;text-align:center;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:600;font-size:14px;color:#666;border:none;background:transparent}body.dark-theme .switch-tab{color:#ccc}.switch-tab.active{background:#4caf50;color:#fff;box-shadow:0 2px 8px #4caf504d}.switch-tab:hover:not(.active){background:#f5f5f5;color:#333}body.dark-theme .switch-tab:hover:not(.active){background:#444;color:#f0f0f0}.auth-card{background:#fff;border-radius:12px;box-shadow:0 0 10px #0000001a;padding:40px;width:100%;max-width:450px;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease,border-color .3s ease;border:1px solid #e1e8ed}body.dark-theme .auth-card{background:#333;border-color:#555;box-shadow:0 0 10px #0000004d}.auth-card:hover{transform:translateY(-2px);box-shadow:0 5px 20px #00000026}body.dark-theme .auth-card:hover{box-shadow:0 5px 20px #00000080}.auth-header{text-align:center;margin-bottom:30px}.auth-header h2{color:#333;font-size:28px;font-weight:700;margin:0 0 8px;transition:color .3s ease}body.dark-theme .auth-header h2{color:#f0f0f0}.auth-header p{color:#666;font-size:16px;margin:0;transition:color .3s ease}body.dark-theme .auth-header p{color:#ccc}.auth-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.input-group{position:relative}.input-group label{display:block;color:#333;font-weight:600;font-size:14px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px;transition:color .3s ease}body.dark-theme .input-group label{color:#f0f0f0}.input-group input{width:100%;padding:15px 20px;border:1px solid #ccc;border-radius:8px;background:#fafafa;color:#333;font-size:16px;transition:all .3s ease;outline:none}body.dark-theme .input-group input{background:#444;color:#f0f0f0;border-color:#555}.input-group input:focus{border-color:#4caf50;background:#fff;box-shadow:0 0 0 3px #4caf501a}body.dark-theme .input-group input:focus{background:#555;box-shadow:0 0 0 3px #4caf5033}.input-group input::placeholder{color:#999}body.dark-theme .input-group input::placeholder{color:#888}.password-strength{font-size:12px;margin-top:5px;font-weight:500;transition:color .3s ease}.password-strength.very-weak{color:#e74c3c}.password-strength.weak{color:#f39c12}.password-strength.fair{color:#f1c40f}.password-strength.good{color:#4caf50}.password-strength.strong{color:#27ae60}.password-match{font-size:12px;margin-top:5px;font-weight:500;transition:color .3s ease}.password-match.match{color:#4caf50}.password-match.no-match{color:#e74c3c}.auth-btn{position:relative;width:100%;padding:16px 24px;background:#4caf50;border:none;border-radius:8px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:10px}.auth-btn:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.auth-btn:active{transform:translateY(0)}.auth-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-loader{display:none;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.auth-btn.loading .btn-text{opacity:0}.auth-btn.loading .btn-loader{display:block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-footer{text-align:center;margin-top:25px;padding-top:20px;border-top:1px solid #e1e8ed;transition:border-color .3s ease}body.dark-theme .auth-footer{border-color:#555}.auth-footer p{color:#666;font-size:14px;margin:0 0 10px;transition:color .3s ease}body.dark-theme .auth-footer p{color:#ccc}.auth-footer a{color:#4caf50;text-decoration:none;font-weight:600;transition:color .3s ease;padding:8px 16px;border:1px solid #4caf50;border-radius:6px;display:inline-block;margin-top:5px;background:#4caf500d}body.dark-theme .auth-footer a{background:#4caf501a}.auth-footer a:hover{color:#45a049;border-color:#45a049;background:#4caf501a}body.dark-theme .auth-footer a:hover{background:#4caf5033}footer{background:#fff;color:#333;padding:15px;text-align:center;margin-top:auto;border-top:1px solid #e1e8ed;transition:background-color .3s ease,color .3s ease,border-color .3s ease}body.dark-theme footer{background:#333;color:#f0f0f0;border-color:#555}@media (max-width: 768px){.auth-container{padding:15px;margin-top:60px}.auth-card{padding:30px 25px;border-radius:10px}.form-row{grid-template-columns:1fr;gap:20px}.auth-header h2{font-size:24px}.input-group input{padding:12px 16px;font-size:16px}.switch-tab{padding:10px 16px;font-size:13px}}@media (max-width: 480px){.auth-card{padding:25px 20px}.auth-header h2{font-size:22px}.auth-header p{font-size:14px}.switch-tab{padding:8px 12px;font-size:12px}}.auth-card{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.input-group.error input{border-color:#e74c3c;background:#fdf2f2}body.dark-theme .input-group.error input{background:#422}.input-group.error label{color:#e74c3c}.input-group.success input{border-color:#4caf50;background:#f0f9f0}body.dark-theme .input-group.success input{background:#232}.auth-btn.loading{pointer-events:none}
