.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-weight:500;transition:all .2s ease;border:1px solid transparent;text-decoration:none}.btn-primary{background:var(--primary);color:white}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--surface);color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover{background:var(--surface-hover)}.btn-small{padding:8px 16px;font-size:14px}.btn-medium{padding:12px 24px;font-size:16px}.btn-large{padding:16px 32px;font-size:18px}.btn-disabled{opacity:.6;cursor:not-allowed}.btn-disabled:hover{background:var(--primary)}.input-group{display:flex;flex-direction:column;gap:6px}.input-label{font-size:14px;font-weight:500;color:var(--text-primary)}.required{color:var(--error)}.input{padding:12px 16px;border:1px solid var(--border);border-radius:8px;font-size:16px;background:var(--background);color:var(--text-primary);transition:border-color .2s ease}.input:focus{outline:none;border-color:var(--primary)}.input-error{border-color:var(--error)}.input:disabled{background:var(--surface);cursor:not-allowed}.error-text{font-size:12px;color:var(--error)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary) 0,var(--primary-hover) 100%);padding:20px}.login-card{background:var(--background);border-radius:16px;box-shadow:0 20px 40px var(--shadow-lg);padding:40px;width:100%;max-width:420px}.login-header{text-align:center;margin-bottom:32px}.login-header h1{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.login-header p{font-size:16px;color:var(--text-muted)}.login-form{display:flex;flex-direction:column;gap:20px}.password-field{position:relative}.password-toggle{position:absolute;right:12px;top:38px;color:var(--text-muted);background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px}.password-toggle:hover{color:var(--text-primary)}.form-options{justify-content:space-between}.checkbox-label,.form-options{display:flex;align-items:center}.checkbox-label{gap:8px;cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary)}.checkbox-text{font-size:14px;color:var(--text-secondary)}.error-message{background:#fef2f2;border:1px solid #fecaca;color:var(--error);padding:12px 16px;border-radius:8px;font-size:14px;text-align:center}.login-form .btn{width:100%}