*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}html{-webkit-text-size-adjust:100%}a,button,input,textarea,select{touch-action:manipulation}.container{background:#fff;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:500px;width:100%;padding:40px}h1{color:#333;font-size:32px;margin-bottom:10px;text-align:center}.brand-header{display:flex;flex-direction:column;align-items:center;margin-bottom:10px}.brand-header img{width:144px;height:144px;margin-bottom:12px;display:block}.subtitle{color:#666;text-align:center;margin-bottom:30px;font-size:14px}.actions{display:flex;gap:12px;margin-bottom:26px}.action-link{flex:1;text-align:center;padding:12px 16px;border-radius:10px;text-decoration:none;font-weight:600;font-size:14px;transition:transform .2s,box-shadow .2s}.action-link.primary{background:#eef2ff;color:#4f46e5;border:1px solid #c7d2fe}.action-link.secondary{background:#f8f9fa;color:#495057;border:1px solid #dee2e6}.action-link:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.08)}.form-group{margin-bottom:20px}label{display:block;color:#333;font-weight:600;margin-bottom:8px;font-size:14px}input{width:100%;padding:12px 16px;border:2px solid #e1e8ed;border-radius:10px;font-size:15px;transition:border-color .3s}input:focus{outline:none;border-color:#667eea}input.error{border-color:#e74c3c}button{width:100%;padding:14px;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:10px}button:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(102,126,234,.4)}button:active{transform:translateY(0)}button:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-group .error-message{color:#e74c3c;font-size:13px;margin-top:6px;display:none}.form-group .error-message.show{display:block}.container>.error-message{background:#f8d7da;color:#721c24;padding:16px;border-radius:10px;margin-bottom:20px;display:none;white-space:pre-line}.container>.error-message.show{display:block}.success-message{background:#d4edda;color:#155724;padding:16px;border-radius:10px;margin-bottom:20px;display:none}.success-message.show{display:block}.hint{color:#999;font-size:12px;margin-top:4px}.info-box{background:#f8f9fa;color:#495057;border-radius:10px;padding:14px 16px;margin-bottom:20px;font-size:13px;line-height:1.5}.cert-info{background:#f8f9fa;padding:20px;border-radius:10px;margin-top:30px}.cert-info h3{color:#333;font-size:16px;margin-bottom:12px}.cert-thumbprint{font-family:"Courier New",monospace;background:#fff;padding:12px;border-radius:6px;word-break:break-all;font-size:12px;color:#555;border:1px solid #dee2e6;margin-bottom:10px}.copy-btn{background:#6c757d;font-size:14px;padding:8px 16px;margin-top:0}.copy-btn:hover{background:#5a6268}.links{margin-top:22px;text-align:center;font-size:14px}.links a{color:#4f46e5;text-decoration:none;font-weight:600}.links a:hover{text-decoration:underline}.loading{display:inline-block;width:16px;height:16px;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.container>.subtitle{margin-bottom:24px}.brand-header img.small,body.forgot-password .brand-header img,body.reset-password .brand-header img{width:96px;height:96px}@media(max-width: 480px){.container{padding:24px 20px;border-radius:14px}h1{font-size:24px}.brand-header img{width:96px;height:96px}}
