:root{--login-primary: #0f4c81;--login-primary-dark: #0a355d;--login-accent: #36cfc9;--login-gradient-start: #0f4c81;--login-gradient-end: #1a6ba3;--login-accent-gradient-start: #36cfc9;--login-accent-gradient-end: #2db5b0;--login-text-primary: #1e293b;--login-text-secondary: #64748b;--login-bg-light: #f8fafc;--login-border: rgba(15, 76, 129, .1);--login-shadow: rgba(15, 76, 129, .15)}body.login-page{min-height:100vh;background:linear-gradient(135deg,var(--login-gradient-start) 0%,var(--login-gradient-end) 50%,var(--login-accent-gradient-start) 100%);background-size:400% 400%;animation:gradientShift 15s ease infinite;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:20px}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}body.login-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(54,207,201,.1) 0%,transparent 70%);animation:rotate 20s linear infinite;pointer-events:none}body.login-page:after{content:"";position:absolute;bottom:-30%;right:-30%;width:60%;height:60%;background:radial-gradient(circle,rgba(15,76,129,.15) 0%,transparent 70%);animation:rotate 25s linear infinite reverse;pointer-events:none}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-box{width:100%;max-width:420px;position:relative;z-index:1;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-logo{text-align:center;margin-bottom:30px}.login-logo a{font-size:2.5rem;font-weight:700;color:#fff;text-decoration:none;display:inline-block;text-shadow:0 2px 10px rgba(0,0,0,.2);transition:transform .3s ease}.login-logo a:hover{transform:scale(1.05);color:#fff}.login-logo a b{background:linear-gradient(135deg,#ffffff 0%,var(--login-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-box .card{border:none;border-radius:20px;box-shadow:0 20px 60px #0000004d,0 0 0 1px #ffffff1a;overflow:hidden;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.login-card-body{padding:40px}.login-box-msg{font-size:1.5rem;font-weight:600;color:var(--login-text-primary);text-align:center;margin-bottom:30px;position:relative}.login-box-msg:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,var(--login-accent-gradient-start),var(--login-accent-gradient-end));border-radius:2px}.input-group{margin-bottom:20px;position:relative}.input-group-text{background:linear-gradient(135deg,var(--login-primary) 0%,var(--login-primary-dark) 100%);border:none;border-radius:12px 0 0 12px;color:#fff;padding:12px 16px;font-size:1.1rem;box-shadow:0 2px 8px #0f4c8133}.form-control{border:2px solid var(--login-border);border-left:none;border-radius:0 12px 12px 0;padding:12px 16px;font-size:1rem;transition:all .3s ease;background:#fff}.form-control:focus{border-color:var(--login-accent);box-shadow:0 0 0 3px #36cfc91a;outline:none}.form-control::placeholder{color:var(--login-text-secondary);opacity:.6}.form-control.is-invalid{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.invalid-feedback{display:block;margin-top:8px;font-size:.875rem;color:#dc3545}.alert-danger{background:linear-gradient(135deg,#fee2e2,#fecaca);border:none;border-radius:12px;color:#991b1b;padding:16px;margin-bottom:24px;box-shadow:0 4px 12px #dc354526}.alert-danger ul{margin:0;padding-left:20px}.alert-danger li{margin-bottom:4px}.form-check{display:flex;align-items:center}.form-check-input{width:18px;height:18px;margin-right:8px;border:2px solid var(--login-border);border-radius:4px;cursor:pointer;transition:all .3s ease}.form-check-input:checked{background-color:var(--login-primary);border-color:var(--login-primary);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-label{color:var(--login-text-secondary);font-size:.95rem;cursor:pointer;-webkit-user-select:none;user-select:none}.btn-primary{background:linear-gradient(135deg,var(--login-primary) 0%,var(--login-primary-dark) 100%);border:none;border-radius:12px;padding:12px 24px;font-size:1rem;font-weight:600;color:#fff;transition:all .3s ease;box-shadow:0 4px 15px #0f4c814d;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn-primary:hover:before{left:100%}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0f4c8166;background:linear-gradient(135deg,var(--login-primary-dark) 0%,var(--login-primary) 100%)}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 10px #0f4c814d}.btn-primary:focus{box-shadow:0 0 0 3px #0f4c814d}@media(max-width:576px){.login-box{max-width:100%}.login-card-body{padding:30px 20px}.login-logo a{font-size:2rem}.login-box-msg{font-size:1.25rem}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.login-box.loading .btn-primary{animation:pulse 1.5s ease-in-out infinite}.login-box:before{content:"👔";position:absolute;top:-20px;right:-20px;font-size:120px;opacity:.05;z-index:-1;animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}.input-group:focus-within .input-group-text{transform:scale(1.05);box-shadow:0 4px 12px #0f4c814d}.input-group:focus-within{transform:translate(2px)}*{transition:color .2s ease,background-color .2s ease,border-color .2s ease}.login-footer{position:fixed;bottom:0;left:0;right:0;z-index:1;padding:20px;text-align:center;pointer-events:none}.footer-content{color:#ffffffd9;font-size:.875rem;line-height:1.6;text-shadow:0 2px 8px rgba(0,0,0,.2)}.footer-content .copyright{margin:0 0 8px;font-weight:400}.footer-content .icp{margin:0}.footer-content .icp a{color:#ffffffd9;text-decoration:none;transition:all .3s ease;pointer-events:auto}.footer-content .icp a:hover{color:#fff;text-shadow:0 0 8px rgba(255,255,255,.5);text-decoration:underline}@media(max-width:576px){.login-footer{padding:15px 10px}.footer-content{font-size:.75rem}.footer-content .copyright{margin-bottom:6px}}
