.signin-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background-color:#f5f5f5;padding:20px;box-sizing:border-box;font-family:Inter,sans-serif;color:#1a1a1a}.signin-title{font-size:2.8em;color:#7f9040;margin-bottom:40px;text-align:center;font-weight:700;letter-spacing:-.5px;transition:color .3s ease}.signin-form{background-color:#ffffff;padding:40px;border:1px solid #e0e0e0;box-shadow:0 4px 15px rgba(0,0,0,.08);width:100%;max-width:450px;box-sizing:border-box;display:flex;flex-direction:column;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.signin-form:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(0,0,0,.12)}.error-message{color:#d9534f;background-color:#fdd;border:1px solid #fbc;padding:12px 15px;margin-bottom:25px;text-align:center;font-size:.95em;font-weight:500;box-sizing:border-box}.form-group{margin-bottom:25px;width:100%}.form-group label{display:block;margin-bottom:10px;font-weight:600;color:#1a1a1a;font-size:.95em}.form-group input[type=password],.form-group input[type=text]{width:100%;padding:14px 15px;border:1px solid #cccccc;font-size:1.05em;color:#1a1a1a;background-color:#fcfcfc;box-sizing:border-box;transition:border-color .3s ease,box-shadow .3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-group input[type=password]:focus,.form-group input[type=text]:focus{border-color:#5390c9;outline:none;box-shadow:0 0 0 4px rgba(83,144,201,.25);background-color:#ffffff}.signin-button{display:block;width:100%;padding:15px 25px;font-size:1.1em;font-weight:600;cursor:pointer;background-color:#5390c9;color:#ffffff;border:1px solid #5390c9;text-align:center;transition:all .3s ease;box-sizing:border-box}.signin-button:hover:not(:disabled){background-color:#4077a2;box-shadow:0 5px 15px rgba(83,144,201,.4);transform:translateY(-2px)}.signin-button:active:not(:disabled){background-color:#315e82;transform:translateY(0);box-shadow:0 2px 8px rgba(83,144,201,.3)}.signin-button:disabled{background-color:#cccccc;border-color:#cccccc;cursor:not-allowed;opacity:.8;box-shadow:none;transform:none}.loading-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background-color:#f5f5f5;font-family:Inter,sans-serif;color:#1a1a1a}.spinner{border-left:4px solid rgba(83,144,201,.2);border-right:4px solid rgba(83,144,201,.2);border-top:4px solid rgba(83,144,201,.2);border-color:#5390c9 rgba(83,144,201,.2) rgba(83,144,201,.2) #5390c9;border-style:solid;border-width:4px;width:50px;height:50px;animation:spin 1s linear infinite;margin-bottom:20px;display:inline-block}.loading-text{font-size:1.1em;color:#1a1a1a}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.signin-container{padding:15px}.signin-title{font-size:2.2em;margin-bottom:30px}.signin-form{padding:30px;max-width:400px}.form-group{margin-bottom:20px}.form-group label{font-size:.9em;margin-bottom:8px}.form-group input[type=password],.form-group input[type=text]{padding:12px 14px;font-size:1em}.signin-button{padding:14px 20px;font-size:1em}.error-message{padding:10px 12px;margin-bottom:20px;font-size:.9em}.spinner{width:40px;height:40px;border-width:3px}.loading-text{font-size:1em}}@media (max-width:480px){.signin-container{padding:10px}.signin-title{font-size:1.8em;margin-bottom:25px}.signin-form{padding:25px;box-shadow:0 2px 10px rgba(0,0,0,.06);max-width:350px}.form-group{margin-bottom:18px}.form-group label{font-size:.85em;margin-bottom:6px}.form-group input[type=password],.form-group input[type=text]{padding:10px 12px;font-size:.95em}.signin-button{padding:12px 18px;font-size:.95em}.error-message{padding:8px 10px;margin-bottom:18px;font-size:.85em}.spinner{width:35px;height:35px;border-width:3px}}@media (max-width:320px){.signin-container{padding:8px}.signin-title{font-size:1.5em;margin-bottom:20px}.signin-form{padding:20px;max-width:280px}.form-group{margin-bottom:15px}.form-group label{font-size:.8em;margin-bottom:5px}.form-group input[type=password],.form-group input[type=text]{padding:9px 10px;font-size:.9em}.signin-button{padding:10px 15px;font-size:.9em}.error-message{padding:7px 8px;margin-bottom:15px;font-size:.8em}.spinner{width:30px;height:30px;border-width:2px}}