*{padding:0;margin:0}.react-calendar-heatmap text{font-size:10px;fill:#aaa}.react-calendar-heatmap .react-calendar-heatmap-small-text{font-size:5px}.react-calendar-heatmap rect:hover{stroke:#555;stroke-width:1px}.react-calendar-heatmap .color-empty{fill:#eee}.react-calendar-heatmap .color-filled{fill:#8cc665}.react-calendar-heatmap .color-github-0{fill:#eee}.react-calendar-heatmap .color-github-1{fill:#d6e685}.react-calendar-heatmap .color-github-2{fill:#8cc665}.react-calendar-heatmap .color-github-3{fill:#44a340}.react-calendar-heatmap .color-github-4{fill:#1e6823}.react-calendar-heatmap .color-gitlab-0{fill:#ededed}.react-calendar-heatmap .color-gitlab-1{fill:#acd5f2}.react-calendar-heatmap .color-gitlab-2{fill:#7fa8d1}.react-calendar-heatmap .color-gitlab-3{fill:#49729b}.react-calendar-heatmap .color-gitlab-4{fill:#254e77}.auth-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;transition:all .3s ease}.auth-box{background:#fffffff2;border-radius:1rem;box-shadow:0 10px 25px #0000001a;padding:2rem;width:100%;max-width:450px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:translateY(0);transition:all .3s ease}.auth-box:hover{transform:translateY(-5px);box-shadow:0 15px 30px #00000026}.auth-title{color:#1a202c;font-size:2rem;font-weight:800;text-align:center;margin-bottom:1.5rem;position:relative}.auth-title:after{content:"";position:absolute;bottom:-.5rem;left:50%;transform:translate(-50%);width:50px;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px}.form-group{margin-bottom:1.25rem}.form-input{width:90%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:1rem;transition:all .3s ease;background:#ffffffe6;margin-bottom:.5rem}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none;transform:translateY(-1px)}.form-input:hover{border-color:#667eea;transform:translateY(-1px)}.form-input::placeholder{color:#a0aec0}.error-message{color:#e53e3e;font-size:.875rem;margin-top:.5rem;animation:shake .5s ease-in-out}.auth-button{width:100%;padding:.75rem 1rem;background:linear-gradient(90deg,#667eea,#764ba2);color:#fff;border:none;border-radius:.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;margin-top:1rem}.auth-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.auth-button:active{transform:translateY(0)}.auth-button:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:translate(-100%)}.auth-button:hover:after{animation:shimmer 1.5s infinite}.remember-forgot{display:flex;justify-content:space-between;align-items:center;margin:1.25rem 0;flex-wrap:wrap;gap:1rem}.checkbox-group{display:flex;align-items:center;gap:.5rem}.checkbox-input{width:1rem;height:1rem;border-radius:.25rem;border:2px solid #e2e8f0;cursor:pointer}.forgot-link,.login-link a,.signup-link a{color:#667eea;text-decoration:none;font-weight:500;transition:color .3s ease}.forgot-link:hover,.login-link a:hover,.signup-link a:hover{color:#764ba2}.login-link,.signup-link{text-align:center;margin-top:1.25rem;font-size:.95rem}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes shimmer{to{transform:translate(100%)}}@media (max-width: 480px){.auth-container{padding:.5rem}.auth-box{padding:1.5rem;border-radius:.75rem}.auth-title{font-size:1.75rem;margin-bottom:1.25rem}.form-input,.auth-button{padding:.625rem .875rem;font-size:.95rem}.remember-forgot{flex-direction:column;align-items:flex-start;gap:.75rem}}@media (min-width: 481px) and (max-width: 768px){.auth-box{padding:1.75rem;max-width:400px}.auth-title{font-size:1.875rem}}@media (min-width: 769px) and (max-width: 1024px){.auth-box{max-width:420px}}@media (min-width: 1025px){.auth-container{padding:2rem}.auth-box{padding:2.5rem}.auth-title{font-size:2.25rem}.form-input{padding:.875rem 1.125rem}}@media (min-resolution: 192dpi){.auth-box{box-shadow:0 12px 30px #0000001f}}@media (prefers-color-scheme: dark){.auth-box{background:#fffffffa}.form-input{background:#fffffff2}}@media (prefers-reduced-motion: reduce){.auth-box,.auth-button,.form-input{transition:none}.auth-button:after{animation:none}.error-message{animation:none}}
